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

Reply via email to