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.
-Ben On Sun, Nov 16, 2008 at 12:10 AM, Marshall Greenblatt <[EMAIL PROTECTED]> wrote: > On Sat, Nov 15, 2008 at 1:37 AM, Marshall Greenblatt > <[EMAIL PROTECTED]> wrote: >> >> To test the feasibility of turning Chrome into a multi-process ActiveX >> control I'm going to implement a simple experiment sans COM. The goal of >> this experiment is to have a client application launch chrome.exe >> programatically as a separate process, and have the chrome process then >> create its frame as a child window of the client application, at a position >> that the client application specifies. The client application will (a) >> spawn the chrome.exe process passing it an HWND and target window rectangle >> via command-line arguments, and (b) terminate the chrome.exe process when it >> exits. Other than that, the chrome process will be completely independent >> of the client application (for now). > > The working implementation of this experiment is available here: > http://codereview.chromium.org/10973 > > Implementation highlights: > > 1. Add a new EMBEDDED BrowserType value in browser\browser_type.h > 2. Add new members and setters/getters to the Browser and BrowserView > classes to support storage and retrieval of a parent HWND value in > browser\browser.h and browser\views\frame\browser_view.h > 3. Add two new command-line switches that are checked by > BrowserInit::LaunchBrowserImpl() in browser\browser_init.cc to create a > Browser object of type EMBEDDED. > 4. Add new EmbeddedFrame and EmbeddedNonClientView classes in > browser\views\frame that are used for EMBEDDED Browsers by > BrowserFrame::CreateForBrowserView() in > browser\views\frame\browser_window_factory.cc. > 5. Add a new IsEmbedded() method to the TabContentsDelegate class in > tab_contents_delegate.h and update dependant classes. > 6. Add a simple client application in browser\client that loads chrome using > the embedded flags. > 7. Various crash and assert fixes. > > Any comments or suggestions are welcome :-). > > The next step will be defining the COM interface. Chrome currently uses ATL > in a number of places (do a search for <atlbase.h>), so using ATL to program > the COM interfaces should be an acceptable choice. > > 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 [email protected] 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 -~----------~----~----~----~------~----~------~--~---
