|
|
DescriptionRevert "binding: Makes window/frames/self attributes return itself."
> Per HTML spec[1], window, frames, and self attributes must return
> the global proxy object. This CL simply follows it.
>
> Note that these attributes are expected to never return null.
> We're currently breaking this assumption on detached frames.
>
> [1] https://html.spec.whatwg.org/multipage/browsers.html#dom-window
The current fix for this depends on a ScriptState being associated
with the window object. However, this prevents RemoteWindowProxy
from using v8::Context::NewRemoteContext(), as a RemoteWindowProxy
would then have no associated ScriptState.
BUG=618672, 527190
R=haraken@chromium.org,yukishiino@chromium.org
Review-Url: https://codereview.chromium.org/2643613003
Cr-Commit-Position: refs/heads/master@{#444517}
Committed: https://chromium.googlesource.com/chromium/src/+/a3e6b34d4b686ee9bc9addda6885750964638c39
Patch Set 1 #Patch Set 2 : Revert reverted test changes, add failing expectations #Patch Set 3 : . #Patch Set 4 : whack-a-mole #
Dependent Patchsets: Messages
Total messages: 45 (23 generated)
The CQ bit was checked by dcheng@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
If we're actually OK with this, this is the simplest path forward. In the meantime, I'm going to continue debugging https://codereview.chromium.org/2642643002/: it looks like that it's possible for objects to not be collected sometimes now =(
LGTM, but if you can keep a layout test non-reverted (with an updated test expectation of failures), that's great (otherwise, I need to update the test again and I'm afraid of forgetting it).
LGTM
On 2017/01/18 08:11:24, Yuki wrote: > LGTM, but if you can keep a layout test non-reverted (with an updated test > expectation of failures), that's great (otherwise, I need to update the test > again and I'm afraid of forgetting it). Does it mean that we will regress the web-exposed behavior?
On 2017/01/18 08:12:43, haraken wrote: > On 2017/01/18 08:11:24, Yuki wrote: > > LGTM, but if you can keep a layout test non-reverted (with an updated test > > expectation of failures), that's great (otherwise, I need to update the test > > again and I'm afraid of forgetting it). > > Does it mean that we will regress the web-exposed behavior? This revert itself regress a web-exposed behavior a little bit, but it has been broken for a long time before the CL landed. So, it's a kind of acceptable, I think.
On 2017/01/18 08:14:42, Yuki wrote: > On 2017/01/18 08:12:43, haraken wrote: > > On 2017/01/18 08:11:24, Yuki wrote: > > > LGTM, but if you can keep a layout test non-reverted (with an updated test > > > expectation of failures), that's great (otherwise, I need to update the test > > > again and I'm afraid of forgetting it). > > > > Does it mean that we will regress the web-exposed behavior? > > This revert itself regress a web-exposed behavior a little bit, but it has been > broken for a long time before the CL landed. So, it's a kind of acceptable, I > think. s/it has been broken/it had been broken/ Anyway, we don't support detached frames gracefully, I don't think this revert causes a big problem.
On 2017/01/18 08:16:05, Yuki wrote: > On 2017/01/18 08:14:42, Yuki wrote: > > On 2017/01/18 08:12:43, haraken wrote: > > > On 2017/01/18 08:11:24, Yuki wrote: > > > > LGTM, but if you can keep a layout test non-reverted (with an updated test > > > > expectation of failures), that's great (otherwise, I need to update the > test > > > > again and I'm afraid of forgetting it). > > > > > > Does it mean that we will regress the web-exposed behavior? > > > > This revert itself regress a web-exposed behavior a little bit, but it has > been > > broken for a long time before the CL landed. So, it's a kind of acceptable, I > > think. > > s/it has been broken/it had been broken/ > > Anyway, we don't support detached frames gracefully, I don't think this revert > causes a big problem. ok. (But in general, it's not good to regress a web-exposed behavior because RemoteFrames are not well supported.)
On 2017/01/18 08:28:07, haraken wrote: > On 2017/01/18 08:16:05, Yuki wrote: > > On 2017/01/18 08:14:42, Yuki wrote: > > > On 2017/01/18 08:12:43, haraken wrote: > > > > On 2017/01/18 08:11:24, Yuki wrote: > > > > > LGTM, but if you can keep a layout test non-reverted (with an updated > test > > > > > expectation of failures), that's great (otherwise, I need to update the > > test > > > > > again and I'm afraid of forgetting it). > > > > > > > > Does it mean that we will regress the web-exposed behavior? > > > > > > This revert itself regress a web-exposed behavior a little bit, but it has > > been > > > broken for a long time before the CL landed. So, it's a kind of acceptable, > I > > > think. > > > > s/it has been broken/it had been broken/ > > > > Anyway, we don't support detached frames gracefully, I don't think this revert > > causes a big problem. > > ok. > > (But in general, it's not good to regress a web-exposed behavior because > RemoteFrames are not well supported.) I've updated the CL to avoid reverting the test changes (and check in a failing expectation to reflect that we're diverging from correct behavior). I do agree that it's not great to break web-exposed behavior, and I'm hoping to fix this ASAP in a followup.
The CQ bit was checked by dcheng@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
On 2017/01/18 08:36:02, dcheng wrote: > On 2017/01/18 08:28:07, haraken wrote: > > On 2017/01/18 08:16:05, Yuki wrote: > > > On 2017/01/18 08:14:42, Yuki wrote: > > > > On 2017/01/18 08:12:43, haraken wrote: > > > > > On 2017/01/18 08:11:24, Yuki wrote: > > > > > > LGTM, but if you can keep a layout test non-reverted (with an updated > > test > > > > > > expectation of failures), that's great (otherwise, I need to update > the > > > test > > > > > > again and I'm afraid of forgetting it). > > > > > > > > > > Does it mean that we will regress the web-exposed behavior? > > > > > > > > This revert itself regress a web-exposed behavior a little bit, but it has > > > been > > > > broken for a long time before the CL landed. So, it's a kind of > acceptable, > > I > > > > think. > > > > > > s/it has been broken/it had been broken/ > > > > > > Anyway, we don't support detached frames gracefully, I don't think this > revert > > > causes a big problem. > > > > ok. > > > > (But in general, it's not good to regress a web-exposed behavior because > > RemoteFrames are not well supported.) > > I've updated the CL to avoid reverting the test changes (and check in a failing > expectation to reflect that we're diverging from correct behavior). > > I do agree that it's not great to break web-exposed behavior, and I'm hoping to > fix this ASAP in a followup. I might be behind but if you can fix it in a follow-up, would it be hard to fix it before landing this CL?
On 2017/01/18 08:40:11, haraken wrote: > On 2017/01/18 08:36:02, dcheng wrote: > > On 2017/01/18 08:28:07, haraken wrote: > > > On 2017/01/18 08:16:05, Yuki wrote: > > > > On 2017/01/18 08:14:42, Yuki wrote: > > > > > On 2017/01/18 08:12:43, haraken wrote: > > > > > > On 2017/01/18 08:11:24, Yuki wrote: > > > > > > > LGTM, but if you can keep a layout test non-reverted (with an > updated > > > test > > > > > > > expectation of failures), that's great (otherwise, I need to update > > the > > > > test > > > > > > > again and I'm afraid of forgetting it). > > > > > > > > > > > > Does it mean that we will regress the web-exposed behavior? > > > > > > > > > > This revert itself regress a web-exposed behavior a little bit, but it > has > > > > been > > > > > broken for a long time before the CL landed. So, it's a kind of > > acceptable, > > > I > > > > > think. > > > > > > > > s/it has been broken/it had been broken/ > > > > > > > > Anyway, we don't support detached frames gracefully, I don't think this > > revert > > > > causes a big problem. > > > > > > ok. > > > > > > (But in general, it's not good to regress a web-exposed behavior because > > > RemoteFrames are not well supported.) > > > > I've updated the CL to avoid reverting the test changes (and check in a > failing > > expectation to reflect that we're diverging from correct behavior). > > > > I do agree that it's not great to break web-exposed behavior, and I'm hoping > to > > fix this ASAP in a followup. > > I might be behind but if you can fix it in a follow-up, would it be hard to fix > it before landing this CL? So the problem is I want to land the remote context changes in M57 (which will be cutin two days) so we can see how memory measurements are affected. I already have the entire patch prepared, and testing locally, the detached window bindings issue is the only blocker at this point. Note that the original CL actually didn't make the M56 branch cut, so we won't be changing web-visible behavior on the release branches (yet), just reverting it to the not-completely working prior state. The CL I eventually hope to land is https://codereview.chromium.org/2630693002/, but there are some subtle tests around GC that I'm still trying to fix. The problem is I'm not sure just much work is left to make all the edge cases work. Basically, it's a tradeoff to get some memory savings in M57 now (and keep our current incorrect behavior for an edge case that most sites shouldn't hit).
On 2017/01/18 08:55:50, dcheng wrote: > On 2017/01/18 08:40:11, haraken wrote: > > On 2017/01/18 08:36:02, dcheng wrote: > > > On 2017/01/18 08:28:07, haraken wrote: > > > > On 2017/01/18 08:16:05, Yuki wrote: > > > > > On 2017/01/18 08:14:42, Yuki wrote: > > > > > > On 2017/01/18 08:12:43, haraken wrote: > > > > > > > On 2017/01/18 08:11:24, Yuki wrote: > > > > > > > > LGTM, but if you can keep a layout test non-reverted (with an > > updated > > > > test > > > > > > > > expectation of failures), that's great (otherwise, I need to > update > > > the > > > > > test > > > > > > > > again and I'm afraid of forgetting it). > > > > > > > > > > > > > > Does it mean that we will regress the web-exposed behavior? > > > > > > > > > > > > This revert itself regress a web-exposed behavior a little bit, but it > > has > > > > > been > > > > > > broken for a long time before the CL landed. So, it's a kind of > > > acceptable, > > > > I > > > > > > think. > > > > > > > > > > s/it has been broken/it had been broken/ > > > > > > > > > > Anyway, we don't support detached frames gracefully, I don't think this > > > revert > > > > > causes a big problem. > > > > > > > > ok. > > > > > > > > (But in general, it's not good to regress a web-exposed behavior because > > > > RemoteFrames are not well supported.) > > > > > > I've updated the CL to avoid reverting the test changes (and check in a > > failing > > > expectation to reflect that we're diverging from correct behavior). > > > > > > I do agree that it's not great to break web-exposed behavior, and I'm hoping > > to > > > fix this ASAP in a followup. > > > > I might be behind but if you can fix it in a follow-up, would it be hard to > fix > > it before landing this CL? > > So the problem is I want to land the remote context changes in M57 (which will > be cutin two days) so we can see how memory measurements are affected. I already > have the entire patch prepared, and testing locally, the detached window > bindings issue is the only blocker at this point. Note that the original CL > actually didn't make the M56 branch cut, so we won't be changing web-visible > behavior on the release branches (yet), just reverting it to the not-completely > working prior state. > > The CL I eventually hope to land is https://codereview.chromium.org/2630693002/, > but there are some subtle tests around GC that I'm still trying to fix. The > problem is I'm not sure just much work is left to make all the edge cases work. > > Basically, it's a tradeoff to get some memory savings in M57 now (and keep our > current incorrect behavior for an edge case that most sites shouldn't hit). Thanks for the clarification! LGTM.
The CQ bit was unchecked by dcheng@chromium.org
The CQ bit was checked by dcheng@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from yukishiino@chromium.org Link to the patchset: https://codereview.chromium.org/2643613003/#ps20001 (title: "Revert reverted test changes, add failing expectations")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by dcheng@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by dcheng@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
PTAL. I've fixed the intersection observer test failure by adding a temporary workaround in testharnessreport.js.
On 2017/01/18 12:06:02, dcheng wrote: > PTAL. I've fixed the intersection observer test failure by adding a temporary > workaround in testharnessreport.js. I'm uneasy to add a hack into testharnessreport.js. Can we let intersection observer test fail instead? And anyway, I'd like to have TODO comments with this kind of hacks.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_...)
The CQ bit was checked by dcheng@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
dcheng@chromium.org changed reviewers: + jsbell@chromium.org
Note that testharnessreport.js is specifically provided to make it easy to integrate testharness.js into the testing system. In other words, some amount of custom code here is OK. +jsbell, as a past reviewer on some other testharness changes, how do you feel about this particular hack? We gained the dependency on this behavior in https://codereview.chromium.org/2547653005, which happened to land shortly after the patch that is now being reverted.
On 2017/01/18 18:24:57, dcheng wrote: > Note that testharnessreport.js is specifically provided to make it easy to > integrate testharness.js into the testing system. In other words, some amount of > custom code here is OK. > > +jsbell, as a past reviewer on some other testharness changes, how do you feel > about this particular hack? We gained the dependency on this behavior in > https://codereview.chromium.org/2547653005, which happened to land shortly after > the patch that is now being reverted. lgtm - this seems fine.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_...)
The CQ bit was checked by dcheng@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from haraken@chromium.org, yukishiino@chromium.org Link to the patchset: https://codereview.chromium.org/2643613003/#ps60001 (title: "whack-a-mole")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch. Bot data: {"patchset_id": 60001, "attempt_start_ts": 1484773536966810, "parent_rev": "22d68c2c24b7c8a4d65802d2b385d09d50e575c9", "commit_rev": "a3e6b34d4b686ee9bc9addda6885750964638c39"}
Message was sent while issue was closed.
Description was changed from ========== Revert "binding: Makes window/frames/self attributes return itself." > Per HTML spec[1], window, frames, and self attributes must return > the global proxy object. This CL simply follows it. > > Note that these attributes are expected to never return null. > We're currently breaking this assumption on detached frames. > > [1] https://html.spec.whatwg.org/multipage/browsers.html#dom-window The current fix for this depends on a ScriptState being associated with the window object. However, this prevents RemoteWindowProxy from using v8::Context::NewRemoteContext(), as a RemoteWindowProxy would then have no associated ScriptState. BUG=618672,527190 R=haraken@chromium.org,yukishiino@chromium.org ========== to ========== Revert "binding: Makes window/frames/self attributes return itself." > Per HTML spec[1], window, frames, and self attributes must return > the global proxy object. This CL simply follows it. > > Note that these attributes are expected to never return null. > We're currently breaking this assumption on detached frames. > > [1] https://html.spec.whatwg.org/multipage/browsers.html#dom-window The current fix for this depends on a ScriptState being associated with the window object. However, this prevents RemoteWindowProxy from using v8::Context::NewRemoteContext(), as a RemoteWindowProxy would then have no associated ScriptState. BUG=618672,527190 R=haraken@chromium.org,yukishiino@chromium.org Review-Url: https://codereview.chromium.org/2643613003 Cr-Commit-Position: refs/heads/master@{#444517} Committed: https://chromium.googlesource.com/chromium/src/+/a3e6b34d4b686ee9bc9addda6885... ==========
Message was sent while issue was closed.
Committed patchset #4 (id:60001) as https://chromium.googlesource.com/chromium/src/+/a3e6b34d4b686ee9bc9addda6885...
Message was sent while issue was closed.
LGTM. Sorry being too nervous. Given the expert says okay, I'm fine. And thanks for adding TODO comments. |