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 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 -~----------~----~----~----~------~----~------~--~---