Hi,

So the simple answer to your simple question :-)

Each iframe does _not_ have its own process, but it does, as you
write, have its own context.
If it had chrome could easily spawn several hundred processes for just
a few iframe heavy pages, plus it would need to do a lot of
inter-process communication. Actually, every tab does not necessarily
end up in its own process (you can see the processes chrome is
currently running in about:memory)

Cheers,
Rico



On Fri, Sep 2, 2011 at 4:55 PM, mykes <[email protected]> wrote:
> Forgive me for what is likely a simple question.
>
> In the browser, you can have a WWW page with an IFrame.  If the main
> page has a JavaScript function:
>
> function foo(obj) {
>   console.dir(obj);
> }
>
> And the IFrame has JavaScript that calls top.foo(some_object), it
> works as expected.
>
> But it seems to me that the main page and IFrame each have their own
> context - separate processes, right?  And some_object was created in
> the IFrame context, yet it can be examined in the page context.
>
> How is this achieved?
>
> To add to my questioning...
>
> If these are two different contexts, isn't it possible that there's
> code running in the main page's context  at the exact moment the
> IFrame calls top.foo() ?
>
> I would like to understand how in two separate processes running
> nothing but V8, I can pass one context's variable to the other, and if
> it's possible to have both contexts literally share the same object.
>
> For example, what if foo() in the main context looks like this:
>
> function foo(obj) {
>  setInterval(function() { console.log(obj.bar); }, 1);
> }
>
> And the code in the IFrame looks like this:
>
> top.foo(obj);
> setInterval(function() { obj.bar++; }, 1);
>
> In fact, how is "top" itself implemented?  (A reference to one context
> within another)
>
> Thanks in advance
>
> --
> v8-users mailing list
> [email protected]
> http://groups.google.com/group/v8-users
>

-- 
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users

Reply via email to