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

Reply via email to