|
|
DescriptionDo not install document into hidden Window object, i.e. inner global Window.
Now we keep document in LocalDOMWindow, and do not have to keep it alive in hidden window object.
BUG=None
Committed: https://crrev.com/150b7e565c1821218cc3d29a1a9c9edb8dc0d08a
Cr-Commit-Position: refs/heads/master@{#383912}
Patch Set 1 #Patch Set 2 : Drop document from a hidden value list #
Messages
Total messages: 26 (12 generated)
The CQ bit was checked by peria@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1836193002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1836193002/1
Description was changed from ========== Do not install document as a hidden propertyy BUG= ========== to ========== Do not install document into hidden Window object, i.e. inner global Window. BUG= ==========
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
Description was changed from ========== Do not install document into hidden Window object, i.e. inner global Window. BUG= ========== to ========== Do not install document into hidden Window object, i.e. inner global Window. BUG=None ==========
Description was changed from ========== Do not install document into hidden Window object, i.e. inner global Window. BUG=None ========== to ========== Do not install document into hidden Window object, i.e. inner global Window. We do not need to do it. BUG=None ==========
peria@chromium.org changed reviewers: + haraken@chromium.org, yukishiino@chromium.org
PTL
I'm supportive to this change, but would you git-blame a CL that added the lines to see why they were added?
On 2016/03/29 09:49:37, haraken wrote: > I'm supportive to this change, but would you git-blame a CL that added the lines > to see why they were added? https://chromium.googlesource.com/chromium/src/+/ab103068b25fc507121f368e3aaa... The CL ensures that DOMWindows that we obtain from V8 always have non-null Document objects. (It say that V8 GC has been able to collect Documents before DOMWindows.) I'm not sure the issue still happens, although this CL passes the test.
On 2016/03/29 10:05:53, peria wrote: > On 2016/03/29 09:49:37, haraken wrote: > > I'm supportive to this change, but would you git-blame a CL that added the > lines > > to see why they were added? > > https://chromium.googlesource.com/chromium/src/+/ab103068b25fc507121f368e3aaa... > The CL ensures that DOMWindows that we obtain from V8 always have non-null > Document objects. > (It say that V8 GC has been able to collect Documents before DOMWindows.) > > I'm not sure the issue still happens, although this CL passes the test. As long as we're doing ForceSet(window, 'document'), the document shouldn't be collected before the window gets being collected, right? Plus, I don't understand why we need to keep the document *wrapper* alive. Is there any reason? By the way, you should update V8_HIDDEN_VALUES in bindings/core/v8/V8HiddenValue.h, too.
On 2016/03/29 10:05:53, peria wrote: > On 2016/03/29 09:49:37, haraken wrote: > > I'm supportive to this change, but would you git-blame a CL that added the > lines > > to see why they were added? > > https://chromium.googlesource.com/chromium/src/+/ab103068b25fc507121f368e3aaa... > The CL ensures that DOMWindows that we obtain from V8 always have non-null > Document objects. > (It say that V8 GC has been able to collect Documents before DOMWindows.) > > I'm not sure the issue still happens, although this CL passes the test. As long as we're doing ForceSet(window, 'document'), the document shouldn't be collected before the window gets being collected, right? Plus, I don't understand why we need to keep the document *wrapper* alive. Is there any reason? By the way, you should update V8_HIDDEN_VALUES in bindings/core/v8/V8HiddenValue.h, too.
On 2016/03/29 10:20:55, Yuki wrote: > On 2016/03/29 10:05:53, peria wrote: > > On 2016/03/29 09:49:37, haraken wrote: > > > I'm supportive to this change, but would you git-blame a CL that added the > > lines > > > to see why they were added? > > > > > https://chromium.googlesource.com/chromium/src/+/ab103068b25fc507121f368e3aaa... > > The CL ensures that DOMWindows that we obtain from V8 always have non-null > > Document objects. > > (It say that V8 GC has been able to collect Documents before DOMWindows.) > > > > I'm not sure the issue still happens, although this CL passes the test. > > As long as we're doing ForceSet(window, 'document'), the document shouldn't be > collected before the window gets being collected, right? > > Plus, I don't understand why we need to keep the document *wrapper* alive. Is > there any reason? Yeah, I don't see any reason we have to keep the wrapper alive. I think it's enough as long as the C++ Document object is kept alive. (This is already guaranteed by LocalDOMWindow::m_document.) > > By the way, you should update V8_HIDDEN_VALUES in > bindings/core/v8/V8HiddenValue.h, too. ^^^ Once this is fixed, LGTM.
haraken@chromium.org changed reviewers: + jochen@chromium.org
+jochen FYI
On 2016/03/29 10:50:45, haraken wrote: > On 2016/03/29 10:20:55, Yuki wrote: > > On 2016/03/29 10:05:53, peria wrote: > > > On 2016/03/29 09:49:37, haraken wrote: > > > > I'm supportive to this change, but would you git-blame a CL that added the > > > lines > > > > to see why they were added? > > > > > > > > > https://chromium.googlesource.com/chromium/src/+/ab103068b25fc507121f368e3aaa... > > > The CL ensures that DOMWindows that we obtain from V8 always have non-null > > > Document objects. > > > (It say that V8 GC has been able to collect Documents before DOMWindows.) > > > > > > I'm not sure the issue still happens, although this CL passes the test. > > > > As long as we're doing ForceSet(window, 'document'), the document shouldn't be > > collected before the window gets being collected, right? > > > > Plus, I don't understand why we need to keep the document *wrapper* alive. Is > > there any reason? > > Yeah, I don't see any reason we have to keep the wrapper alive. I think it's > enough as long as the C++ Document object is kept alive. (This is already > guaranteed by LocalDOMWindow::m_document.) > LocalDOMWindow::m_document was added in https://chromium.googlesource.com/chromium/src/+/f8ac2889f778268837b206b59440..., which was committed after the CL in #11. I agree that we don't have to keep the document alive in the inner global window. > > > > By the way, you should update V8_HIDDEN_VALUES in > > bindings/core/v8/V8HiddenValue.h, too. > > ^^^ Once this is fixed, LGTM. done.
Description was changed from ========== Do not install document into hidden Window object, i.e. inner global Window. We do not need to do it. BUG=None ========== to ========== Do not install document into hidden Window object, i.e. inner global Window. Now we keep document in LocalDOMWindow, and do not have to keep it alive in hidden window object. BUG=None ==========
Thanks for the investigation. LGTM.
The CQ bit was checked by peria@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from haraken@chromium.org Link to the patchset: https://codereview.chromium.org/1836193002/#ps20001 (title: "Drop document from a hidden value list")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1836193002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1836193002/20001
Message was sent while issue was closed.
Description was changed from ========== Do not install document into hidden Window object, i.e. inner global Window. Now we keep document in LocalDOMWindow, and do not have to keep it alive in hidden window object. BUG=None ========== to ========== Do not install document into hidden Window object, i.e. inner global Window. Now we keep document in LocalDOMWindow, and do not have to keep it alive in hidden window object. BUG=None ==========
Message was sent while issue was closed.
Committed patchset #2 (id:20001)
Message was sent while issue was closed.
Description was changed from ========== Do not install document into hidden Window object, i.e. inner global Window. Now we keep document in LocalDOMWindow, and do not have to keep it alive in hidden window object. BUG=None ========== to ========== Do not install document into hidden Window object, i.e. inner global Window. Now we keep document in LocalDOMWindow, and do not have to keep it alive in hidden window object. BUG=None Committed: https://crrev.com/150b7e565c1821218cc3d29a1a9c9edb8dc0d08a Cr-Commit-Position: refs/heads/master@{#383912} ==========
Message was sent while issue was closed.
Patchset 2 (id:??) landed as https://crrev.com/150b7e565c1821218cc3d29a1a9c9edb8dc0d08a Cr-Commit-Position: refs/heads/master@{#383912} |