Hi Ben, I appreciate you taking the time to discuss these issues. Hopefully we can come to an arrangement that will work for all of us.
On Sun, Nov 16, 2008 at 10:05 PM, Ben Goodger (Google) <[EMAIL PROTECTED]>wrote: > > I don't think we want to support Chrome UI disembodied from the Chrome > browser. Much of it is designed with a certain amount of cohesion in > mind which wouldn't work in an embedding situation, and represent > functionality which we do not now nor probably ever want to make a > long term commitment to support. I agree with you on this point. I believe the best solution is to add "theme" support to chrome similar to the visual styles support provided by Windows XP. Client applications would then have an interface for the custom drawing of UI elements. It can be reasonably assumed, for instance, that all modern browsers will have window frames, tabs, location bars and status bars. Embedded clients may also choose to take advantage of these capabilities. An interface that supported custom drawing of these controls while maintaining the underlying functionality should be a good thing for everybody. It would allow embedded clients to use the operating system theme by default while allowing chrome to use its own custom theme. I don't see adding support for custom themes in the browser base as being a huge implementation issue. All chrome window frame drawing, for instance, is already handled by a single base class (BrowserFrame) that we then extend for the drawing of XP- and Vista- styled frames. It should be relatively painless to re-factor the chrome browser base to make objects like BrowserFrame more easily extensible by the outside world. The more difficult project might be theming WebKit, but that's an issue independent of the chrome browser core. > At any rate, it's typical of web > frame embedding APIs to defer this functionality to the client. I think most people would agree that IWebBrowser2 represents the de facto standard in embedded browser components. Here is a brief summary of features that IWebBrowser2 supports with little to no custom coding required by the client: - Printing support with print preview - Fully functional context-sensitive right-click menus - Security (zone) access model for loading web content - Client interception and loading of resource streams - DOM access/manipulation - File download management - JS bi-directional communication These are all features that, in chrome, are mostly provided by the browser code base, if at all. In order to support these features in a chromium-based ActiveX control we need to either access the browser implementation or re-implement them from scratch. I think re-implementing them would be the harder option to justify from a support standpoint. As an added bonus, if we provide features in the chrome ActiveX control that go beyond what Microsoft provides -- like support for theming, tabs and a multi-process architecture -- then so much the better for us and our users. > > This concern is solely related to UI. Hopefully the above responses have provided a possible solution for alleviating your UI concerns :-). > This is why I am referring you > to RenderViewHost, which is the lower level object that provides just > the page rendering/event receiving element built on top of the > multi-process architecture, as well as a rich array of delegate > methods that can be implemented by the embedding app to customize > functionality as required. > > What functionality do you require? What kind of app are you building? Please refer to this thread for additional background on what we're trying to achieve: http://groups.google.com/group/chromium-dev/browse_thread/thread/9d6f282f68c77528# > > > -Ben Regards, Marshall > > > On Sun, Nov 16, 2008 at 4:35 PM, Marshall Greenblatt > <[EMAIL PROTECTED]> wrote: > > Hi Ben, > > > > On Sun, Nov 16, 2008 at 6:21 PM, Ben Goodger (Google) <[EMAIL PROTECTED]> > > wrote: > >> > >> Any embedding should _not_ touch the browser code (and changes to this > >> code to support it won't be accepted). WebContents/etc is probably the > >> highest level you want to get. I would probably suggest re-using > >> RenderViewHost. It has the fewest constraints and offers the user most > >> customization. > > > > Thank you for your feedback. It's good to know Google's opinion on this > > important issue. If you review previous emails you'll see that our > intent > > with the ActiveX control is to use existing browser functionality without > > re-implementing it. Perhaps we can agree on a > > re-organization/modularization of the browser code that will allow all of > us > > to satisfy our needs. > > > >> > >> -Ben > > > > Regards, > > Marshall > > > > > > > > > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Chromium-dev" group. To post to this group, send email to chromium-dev@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/chromium-dev?hl=en -~----------~----~----~----~------~----~------~--~---