We don't launch renderers using LaunchApp, we use broker_service-
>SpawnTarget(). I guess in other platforms that don't have a sandbox
you can replace that for whatever you want.

You can see BrowserRenderProcessHost::Init() for all the cruft that we
need to launch a renderer, I don't see a good way to move many of
these things down to \base.

I think your best bet is to create an abstract method in
RenderProcessHost or such.

Is anybody working on the Mac Sandbox?




On Feb 4, 12:47 pm, Darin Fisher <[email protected]> wrote:
> We talked about moving IPC out of chrome/common, but we should really only
> do that if we have a consumer.  Right now, it is only needed by Chrome, so
> it would seem to be a "premature optimization" to spend time moving it
> elsewhere.
> -Darin
>
> On Wed, Feb 4, 2009 at 12:35 PM, stoyan <[email protected]> wrote:
> > +1 for Renderer/PluginLauncher()
> > +1 for moving IPC out of /chrome/common, in very own library.
>
> > Stoyan
>
> > On Wed, Feb 4, 2009 at 11:30 AM, Scott Hess <[email protected]> wrote:
>
> > > On Wed, Feb 4, 2009 at 11:10 AM, Thomas Van Lenten
> > > <[email protected]> wrote:
> > >> On Wed, Feb 4, 2009 at 2:02 PM, Darin Fisher <[email protected]>
> > wrote:
> > >>> On Wed, Feb 4, 2009 at 10:54 AM, Scott Hess <[email protected]>
> > wrote:
> > >>>> [Reposting from wrong mailing list, sorry for dupe.]
>
> > >>>> On Mac/Linux, IPC::Channel uses socketpairs (or in some cases named
> > >>>> pipes), with one end passed through the spawn to the child process.
> > >>>> Right now the interfaces don't expose this dependency, so I'm thinking
> > >>>> of refactoring things a bit to do so.  Jeremy suggested that I talk to
> > >>>> Carlos, and I know tvl is looking at this - anyone else want in?
>
> > >>>> Basic notion would be to modify LaunchApp() (or whatever Tom is doing
> > >>>> to it) to accept an IPC::Channel (versus the current vector of fds).
>
> > >>> LaunchApp is in base/, but IPC::Channel is in chrome/common/.  You
> > can't
> > >>> have base/ depend on chrome/common/, so if this dependency is the right
> > >>> answer, then we'd need to move IPC::Channel down to base/.
> > >>> Why is passing an IPC::Channel to LaunchApp the answer?
>
> > >> Just for reference, I'm still sorting things out here, but on the Mac,
> > we
> > >> might want to actually bounce some of these launches through
> > LaunchServices
> > >> so the app think it was launched from the Dock/Finder/by the user and
> > avoid
> > >> it inherriting fds, mach info, etc.  (I realize the renderers might need
> > >> this, so we might end up w/ >1 launch api so we can get different
> > "style" of
> > >> launches, the current api seems to be mangled/extended w/ a collection
> > of
> > >> args to sorta cover different needs.)
>
> > > It seems reasonable to me to distinguish launching an app to process a
> > > download from launching a renderer or plug-in process.  We probably
> > > want to be pretty pedantic about the renderer process, and I'm very
> > > certain we don't want to rely on external services to deal with it
> > > (relying on Finder to launch renderer processes feels very
> > > uncomfortable to me).  Due to the differences in process model between
> > > Unix and Windows, there may be bits which would be
> > > easier/cleaner/safer to setup in the parent process and inherited into
> > > the child versus passing parameters to the child and having it set
> > > things up (the bootstrap fd for IPC is one such thing).
>
> > > -scott
--~--~---------~--~----~------------~-------~--~----~
Chromium Developers mailing list: [email protected] 
View archives, change email options, or unsubscribe: 
    http://groups.google.com/group/chromium-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to