New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 606900 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Oct 9
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 651762



Sign in to add a comment

Dispatching errors across iframes don't match webplatform tests

Project Member Reported by dtapu...@chromium.org, Apr 26 2016

Issue description

Importing the W3C web platform tests yields recent failures that have been added to the W3C Import expectations.

imported/web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-1.html [ Skip ]
imported/web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-2.html [ Skip ]

 
Project Member

Comment 1 by bugdroid1@chromium.org, Apr 26 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/582a64d06dcc04eb756a068cb7c31ddbd68f35a1

commit 582a64d06dcc04eb756a068cb7c31ddbd68f35a1
Author: dtapuska <dtapuska@chromium.org>
Date: Tue Apr 26 21:34:16 2016

Import web-platform-tests@028d354aba4c8ee6700def957a45f3927241d8b0

Using update-w3c-deps in Blink 3f9ef16903199e305ae2ffb3fe74fcdd48e2ded0.

In anticipation of trying to activate some more tests
rebasing against the latest web platform tests is
needed.

BUG= 606875 , 606900 , 606934 

Review URL: https://codereview.chromium.org/1923043002

Cr-Commit-Position: refs/heads/master@{#389898}

[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/W3CImportExpectations
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/fast/encoding/api/ascii-supersets-expected.txt
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/FileAPI/blob/Blob-constructor-expected.txt
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/FileAPI/blob/Blob-constructor.html
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/FileAPI/blob/Blob-slice-expected.txt
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/FileAPI/blob/Blob-slice.html
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/FileAPI/idlharness-expected.txt
[add] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/events/Event-defaultPrevented-after-dispatch.html
[delete] https://crrev.com/8cb12cd108bae4b563464a20624d7c6d3c3aa4b6/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/events/ProgressEvent-expected.txt
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/events/ProgressEvent.html
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/interfaces-expected.txt
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/nodes/DOMImplementation-createDocument-expected.txt
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/nodes/DOMImplementation-createDocument.html
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/nodes/Document-createElement-expected.txt
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/nodes/Document-createEvent-expected.txt
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/nodes/Document-createEvent.html
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/nodes/Document-createEvent.js
[add] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/nodes/Element-hasAttributes.html
[add] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/nodes/Node-isSameNode.html
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/encoding/iso-2022-jp-decoder-expected.txt
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/encoding/textdecoder-utf16-surrogates-expected.txt
[add] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/rendering/replaced-elements/embedded-content-rendering-rules/canvas_scale-expected.html
[add] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/rendering/replaced-elements/embedded-content-rendering-rules/canvas_scale.html
[add] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/semantics/document-metadata/the-link-element/resources/stylesheet.css
[add] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/semantics/document-metadata/the-link-element/stylesheet-with-base-expected.html
[add] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/semantics/document-metadata/the-link-element/stylesheet-with-base.html
[add] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/semantics/document-metadata/the-link-element/stylesheet.css
[add] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-ignored-in-media-element.html
[add] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-with-base-expected.html
[add] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-with-base.html
[add] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/semantics/embedded-content/the-img-element/document-base-url-expected.html
[add] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/semantics/embedded-content/the-img-element/document-base-url.html
[add] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/semantics/embedded-content/the-img-element/resources/cat.jpg
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/semantics/forms/the-input-element/checkbox.html
[add] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/semantics/forms/the-input-element/email.html
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly.html
[add] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/semantics/tabular-data/the-table-element/insertRow-method-03.html
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/webappapis/animation-frames/callback-invoked.html
[add] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-3.html
[add] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-4.html
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/resources/idlharness.js
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/resources/readme.md
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/resources/testharness.js
[add] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/shadow-dom/leaktests/html-collection.html
[add] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/animation-model/keyframes/effect-value-context.html
[add] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/animation/id.html
[add] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/animation/pause.html
[add] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/animation/ready.html
[add] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/animation/reverse.html
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/keyframe-effect/constructor-expected.txt
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/keyframe-effect/constructor.html
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/keyframe-effect/effect-easing-expected.txt
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/keyframe-effect/effect-easing.html
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/keyframe-effect/keyframe-handling-expected.txt
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/keyframe-effect/keyframe-handling.html
[add] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/resources/effect-easing-tests.js
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/platform/linux/imported/web-platform-tests/FileAPI/blob/Blob-constructor-expected.txt
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/platform/win/imported/web-platform-tests/FileAPI/blob/Blob-constructor-expected.txt
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/resources/idlharness.js
[modify] https://crrev.com/582a64d06dcc04eb756a068cb7c31ddbd68f35a1/third_party/WebKit/LayoutTests/resources/testharness.js

Comment 2 by tkent@chromium.org, Apr 26 2016

Components: -Blink>DOM Blink>HTML>IFrame
Labels: Hotlist-Interop
Project Member

Comment 3 by bugdroid1@chromium.org, Apr 28 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/34757324c45fe5f1d61338c9458f0fa556a2f3a9

commit 34757324c45fe5f1d61338c9458f0fa556a2f3a9
Author: dtapuska <dtapuska@chromium.org>
Date: Thu Apr 28 20:03:06 2016

Import web-platform-tests@12528872c91a3996dce9053e5f8bcf2dddc54ec5

Using update-w3c-deps in Blink 1d491ec4d5956c60fbf72e8cb5d3b27c842f9e6b.

Add expected tests for the tests that with reproducible failures instead
of skipping them.

BUG= 606875 ,  606900 ,  606934 ,  607540 

Review-Url: https://codereview.chromium.org/1924663004
Cr-Commit-Position: refs/heads/master@{#390453}

[modify] https://crrev.com/34757324c45fe5f1d61338c9458f0fa556a2f3a9/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/34757324c45fe5f1d61338c9458f0fa556a2f3a9/third_party/WebKit/LayoutTests/W3CImportExpectations
[modify] https://crrev.com/34757324c45fe5f1d61338c9458f0fa556a2f3a9/third_party/WebKit/LayoutTests/imported/web-platform-tests/README.md
[add] https://crrev.com/34757324c45fe5f1d61338c9458f0fa556a2f3a9/third_party/WebKit/LayoutTests/imported/web-platform-tests/encoding/textdecoder-fatal-single-byte-expected.txt
[add] https://crrev.com/34757324c45fe5f1d61338c9458f0fa556a2f3a9/third_party/WebKit/LayoutTests/imported/web-platform-tests/encoding/textdecoder-fatal-single-byte.html
[add] https://crrev.com/34757324c45fe5f1d61338c9458f0fa556a2f3a9/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-1-expected.txt
[add] https://crrev.com/34757324c45fe5f1d61338c9458f0fa556a2f3a9/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-1.html
[add] https://crrev.com/34757324c45fe5f1d61338c9458f0fa556a2f3a9/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-2-expected.txt
[add] https://crrev.com/34757324c45fe5f1d61338c9458f0fa556a2f3a9/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-2.html
[add] https://crrev.com/34757324c45fe5f1d61338c9458f0fa556a2f3a9/third_party/WebKit/LayoutTests/imported/web-platform-tests/shadow-dom/Document-prototype-adoptNode.html
[add] https://crrev.com/34757324c45fe5f1d61338c9458f0fa556a2f3a9/third_party/WebKit/LayoutTests/imported/web-platform-tests/shadow-dom/Document-prototype-importNode.html
[add] https://crrev.com/34757324c45fe5f1d61338c9458f0fa556a2f3a9/third_party/WebKit/LayoutTests/imported/web-platform-tests/shadow-dom/Node-prototype-cloneNode.html
[add] https://crrev.com/34757324c45fe5f1d61338c9458f0fa556a2f3a9/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/animation-effect-timing/easing-expected.txt
[add] https://crrev.com/34757324c45fe5f1d61338c9458f0fa556a2f3a9/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/animation-effect-timing/easing.html
[add] https://crrev.com/34757324c45fe5f1d61338c9458f0fa556a2f3a9/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/animation-effect-timing/fill-expected.txt
[add] https://crrev.com/34757324c45fe5f1d61338c9458f0fa556a2f3a9/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/animation-effect-timing/fill.html
[add] https://crrev.com/34757324c45fe5f1d61338c9458f0fa556a2f3a9/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/animation-model/animation-types/discrete-animation-expected.txt
[add] https://crrev.com/34757324c45fe5f1d61338c9458f0fa556a2f3a9/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/animation-model/animation-types/discrete-animation.html
[add] https://crrev.com/34757324c45fe5f1d61338c9458f0fa556a2f3a9/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/animation-model/animation-types/not-animatable-expected.txt
[add] https://crrev.com/34757324c45fe5f1d61338c9458f0fa556a2f3a9/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/animation-model/animation-types/not-animatable.html
[add] https://crrev.com/34757324c45fe5f1d61338c9458f0fa556a2f3a9/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/animation/finished-expected.txt
[add] https://crrev.com/34757324c45fe5f1d61338c9458f0fa556a2f3a9/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/animation/finished.html
[add] https://crrev.com/34757324c45fe5f1d61338c9458f0fa556a2f3a9/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/animation/oncancel.html
[add] https://crrev.com/34757324c45fe5f1d61338c9458f0fa556a2f3a9/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/animation/onfinish.html

Comment 4 by rbyers@chromium.org, Apr 29 2016

Components: Blink>DOM
"When a listener from window A is added to an event target in window B via the addEventListener function from window B, errors in that listener should be reported to window A."

Error is: "The error event from an event listener should fire on that listener's global".

Sounds like a potentially valuable property from an error monitoring perspective.



tkent: is this DOM team?
I think this makes sense to be DOM team.

Comment 6 by tkent@chromium.org, May 20 2016

Status: Available (was: Untriaged)
Hi guys, I can have a look.
Status: Started (was: Available)
Cc: domenic@chromium.org
Hi Domenic.

I noticed you created recently 
https://bugs.chromium.org/p/chromium/issues/detail?id=664676 about creating Event in the relevant realm of the target. Could you also comment the situation about error reporting and which realm should be used?
I've created a change some time ago to follow W3C web platform tests but the spec seems to be unclear.

Thanks, Anton
Cc: bzbar...@mozilla.com
Hi Anton, sorry for the delay in responding. The spec is indeed unclear on this; we have an action item to re-do it all at https://github.com/whatwg/html/issues/958.

I believe the tests represent the current tentative consensus there, which is to report to the entry global at the time---the global of the function being executed. See https://github.com/whatwg/html/issues/958#issuecomment-226309871 . I'm a bit skeptical of that direction since we're otherwise trying to eliminate the entry concept from specifications; I have some unfinished discussions with bzbarsky, the test author, about that. (I've cc'ed him here.) I don't necessarily object to it, but I haven't had time to become comfortable with it yet. There might be a simpler solution, like always using the realm of the function being executed.

One big question of course is what the cross-browser behavior is here. If there is a majority and it is simple to spec and implement maybe we should just go with that instead of blindly following the web platform tests.

Comment 12 by bzbar...@mit.edu, Nov 21 2016

Please don't use my mozilla.com email for this bug system.  ;)

Past that, if there is in fact a majority behavior across all callback invocations that's simple to spec and implement, we should in fact consider that behavior.  I do think it would be really weird if some callback invocations work one way (e.g. the entry global) and others work another way (some other weird way to get the global).
Components: -Blink>DOM

Comment 14 by tkent@chromium.org, Aug 28 2017

Blocking: 651762
Components: Blink>Bindings
Cc: -bzbar...@mozilla.com yukishiino@chromium.org yukiy@google.com bzbar...@mit.edu
Status: Available (was: Started)
Project Member

Comment 16 by bugdroid1@chromium.org, Aug 23

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/261e251b583cfc622c25ab1fff7b00464261c719

commit 261e251b583cfc622c25ab1fff7b00464261c719
Author: Yuki Yamada <yukiy@google.com>
Date: Thu Aug 23 09:53:02 2018

Do not call undefined internals.gc()

Undefined internals.gc() is called in onEventInFrame() and a TypeError
is thrown in current test, but the error is not visible because the
error is dispatched in another frame as mentioned in
 https://crbug.com/606900  .
The test will call gc() instead of internals.gc() after and work as
intended after this patch.

Bug:  872138 ,  606900 
Change-Id: I5d059e5ff7bea56b382f0e973282788427f5a306
Reviewed-on: https://chromium-review.googlesource.com/1186287
Commit-Queue: Yuki Yamada <yukiy@google.com>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Yuki Shiino <yukishiino@chromium.org>
Reviewed-by: Hitoshi Yoshida <peria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#585441}
[modify] https://crrev.com/261e251b583cfc622c25ab1fff7b00464261c719/third_party/WebKit/LayoutTests/fast/events/touch/gesture/gesture-tap-frame-removed.html

Project Member

Comment 17 by bugdroid1@chromium.org, Sep 5

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c

commit da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c
Author: Yuki Yamada <yukiy@google.com>
Date: Wed Sep 05 03:00:10 2018

Split implementation of EventListener and EventHandler

This CL add new class blink::V8EventListenerImpl which implements
ONLY EventListener (not EventHandler). It has a blink::V8EventListener
which inherits blink::CallbackInterfaceBase. As a result, EventListener
will start to handle incumbent realm. EventHandler will still be
offered by blink::V8AbstractEventListener (this class is renamed to
blink::V8AbstractEventHandler in this CL) after this CL submitted.
Also, entry realm was set to wrong one (event target's one) with
blink::V8AbstractEventLisntener so this CL set it to listener's one as
defined in standard.

Regarding  crbug.com/872138  :
Current blink::V8AbstractEventListener implements both of EventListener
and EventHandler, so I am trying to implement new class for
EventListener first to separate these. EventHandler will be modified in following CLs.

Regarding  crbug.com/878658  :
This CL modifies expectation file for layout test:
fast/events/touch/gesture/gesture-tap-frame-removed.html
This is because event listener starts to remember incumbent realm after
this CL and it results in incorrect behavior as explained in the BUG.
This is not a regression, but have to be resolved in following CLs.

Bug:  872138 ,  878658 ,  606900 ,  849236 
Change-Id: I4bf7fe2f4fd51287f873c2377edfd57e4bb2a54a
Reviewed-on: https://chromium-review.googlesource.com/1172234
Commit-Queue: Yuki Yamada <yukiy@google.com>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Yuki Shiino <yukishiino@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Reviewed-by: Hitoshi Yoshida <peria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#588748}
[modify] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/WebKit/LayoutTests/external/wpt/dom/events/event-global-extra.window-expected.txt
[modify] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/execution-timing/083-expected.txt
[delete] https://crrev.com/683690300a6f2b0f8d2acff300f856065c826cd7/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/execution-timing/084-expected.txt
[delete] https://crrev.com/683690300a6f2b0f8d2acff300f856065c826cd7/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-1-expected.txt
[delete] https://crrev.com/683690300a6f2b0f8d2acff300f856065c826cd7/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-2-expected.txt
[modify] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/WebKit/LayoutTests/fast/dom/margin-height-guarded-crash-expected.txt
[modify] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/WebKit/LayoutTests/fast/dom/margin-height-guarded-crash.html
[modify] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/WebKit/LayoutTests/fast/dom/ready-state-change-crash-expected.txt
[modify] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/WebKit/LayoutTests/fast/events/touch/gesture/gesture-tap-frame-removed-expected.txt
[modify] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/WebKit/LayoutTests/inspector-protocol/heap-profiler/heap-snapshot-merged-nodes-expected.txt
[modify] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/WebKit/LayoutTests/inspector-protocol/heap-profiler/heap-snapshot-with-event-listener-expected.txt
[modify] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/WebKit/LayoutTests/inspector-protocol/heap-profiler/heap-snapshot-with-multiple-retainers-expected.txt
[modify] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/WebKit/LayoutTests/inspector-protocol/heap-profiler/heap-snapshot-with-multiple-retainers.js
[modify] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/blink/renderer/bindings/bindings.gni
[modify] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/blink/renderer/bindings/core/v8/script_event_listener.cc
[rename] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/blink/renderer/bindings/core/v8/v8_abstract_event_handler.cc
[rename] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/blink/renderer/bindings/core/v8/v8_abstract_event_handler.h
[modify] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/blink/renderer/bindings/core/v8/v8_binding_for_core.cc
[modify] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/blink/renderer/bindings/core/v8/v8_event_listener_helper.cc
[add] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/blink/renderer/bindings/core/v8/v8_event_listener_impl.cc
[add] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/blink/renderer/bindings/core/v8/v8_event_listener_impl.h
[modify] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/blink/renderer/bindings/core/v8/v8_event_listener_or_event_handler.cc
[modify] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/blink/renderer/bindings/core/v8/v8_event_listener_or_event_handler.h
[modify] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/blink/renderer/bindings/core/v8/v8_gc_controller.cc
[modify] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/blink/renderer/bindings/core/v8/v8_lazy_event_listener.cc
[modify] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/blink/renderer/bindings/core/v8/v8_lazy_event_listener.h
[modify] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/blink/renderer/bindings/scripts/v8_types.py
[modify] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/blink/renderer/bindings/tests/results/core/v8_test_interface.cc
[modify] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/blink/renderer/bindings/tests/results/core/v8_test_interface_node.cc
[modify] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/blink/renderer/bindings/tests/results/core/v8_test_object.cc
[modify] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/blink/renderer/core/core_idl_files.gni
[modify] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/blink/renderer/core/dom/events/event_listener.h
[modify] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/blink/renderer/core/dom/events/event_target.cc
[modify] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/blink/renderer/core/inspector/inspector_dom_debugger_agent.cc
[modify] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/blink/renderer/core/workers/worker_or_worklet_global_scope.cc
[modify] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/blink/renderer/platform/bindings/callback_interface_base.h
[modify] https://crrev.com/da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c/third_party/blink/renderer/platform/bindings/trace_wrapper_v8_reference.h

Project Member

Comment 18 by bugdroid1@chromium.org, Sep 7

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9f87a1ee823c8bf185dfdde265e457c2cc668191

commit 9f87a1ee823c8bf185dfdde265e457c2cc668191
Author: Hitoshi Yoshida <peria@chromium.org>
Date: Fri Sep 07 03:10:35 2018

Revert "Split implementation of EventListener and EventHandler"

This reverts commit da27378f03ea3dc4bdba82e3cb1d13ad2fef7a7c.

Reason for revert: This CL caused many crashes in the wild. (crbug.com/881348)

Original change's description:
> Split implementation of EventListener and EventHandler
>
> This CL add new class blink::V8EventListenerImpl which implements
> ONLY EventListener (not EventHandler). It has a blink::V8EventListener
> which inherits blink::CallbackInterfaceBase. As a result, EventListener
> will start to handle incumbent realm. EventHandler will still be
> offered by blink::V8AbstractEventListener (this class is renamed to
> blink::V8AbstractEventHandler in this CL) after this CL submitted.
> Also, entry realm was set to wrong one (event target's one) with
> blink::V8AbstractEventLisntener so this CL set it to listener's one as
> defined in standard.
>
> Regarding  crbug.com/872138  :
> Current blink::V8AbstractEventListener implements both of EventListener
> and EventHandler, so I am trying to implement new class for
> EventListener first to separate these. EventHandler will be modified in following CLs.
>
> Regarding  crbug.com/878658  :
> This CL modifies expectation file for layout test:
> fast/events/touch/gesture/gesture-tap-frame-removed.html
> This is because event listener starts to remember incumbent realm after
> this CL and it results in incorrect behavior as explained in the BUG.
> This is not a regression, but have to be resolved in following CLs.
>
> Bug:  872138 ,  878658 ,  606900 ,  849236 
> Change-Id: I4bf7fe2f4fd51287f873c2377edfd57e4bb2a54a
> Reviewed-on: https://chromium-review.googlesource.com/1172234
> Commit-Queue: Yuki Yamada <yukiy@google.com>
> Reviewed-by: Kentaro Hara <haraken@chromium.org>
> Reviewed-by: Yuki Shiino <yukishiino@chromium.org>
> Reviewed-by: Hayato Ito <hayato@chromium.org>
> Reviewed-by: Hitoshi Yoshida <peria@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#588748}

TBR=peria@chromium.org,yukishiino@chromium.org,hayato@chromium.org,haraken@chromium.org,yukiy@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  872138 ,  878658 ,  606900 ,  849236 , 881348
Change-Id: Ie981df66657c8868c769cb8d18bf799605cfd004
Reviewed-on: https://chromium-review.googlesource.com/1212202
Commit-Queue: Hitoshi Yoshida <peria@chromium.org>
Reviewed-by: Yuki Shiino <yukishiino@chromium.org>
Reviewed-by: Hitoshi Yoshida <peria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#589421}
[modify] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/WebKit/LayoutTests/external/wpt/dom/events/event-global-extra.window-expected.txt
[modify] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/execution-timing/083-expected.txt
[add] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/execution-timing/084-expected.txt
[add] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-1-expected.txt
[add] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-2-expected.txt
[modify] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/WebKit/LayoutTests/fast/dom/margin-height-guarded-crash-expected.txt
[modify] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/WebKit/LayoutTests/fast/dom/margin-height-guarded-crash.html
[modify] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/WebKit/LayoutTests/fast/dom/ready-state-change-crash-expected.txt
[modify] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/WebKit/LayoutTests/fast/events/touch/gesture/gesture-tap-frame-removed-expected.txt
[modify] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/WebKit/LayoutTests/inspector-protocol/heap-profiler/heap-snapshot-merged-nodes-expected.txt
[modify] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/WebKit/LayoutTests/inspector-protocol/heap-profiler/heap-snapshot-with-event-listener-expected.txt
[modify] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/WebKit/LayoutTests/inspector-protocol/heap-profiler/heap-snapshot-with-multiple-retainers-expected.txt
[modify] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/WebKit/LayoutTests/inspector-protocol/heap-profiler/heap-snapshot-with-multiple-retainers.js
[modify] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/blink/renderer/bindings/bindings.gni
[modify] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/blink/renderer/bindings/core/v8/script_event_listener.cc
[rename] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/blink/renderer/bindings/core/v8/v8_abstract_event_listener.cc
[rename] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/blink/renderer/bindings/core/v8/v8_abstract_event_listener.h
[modify] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/blink/renderer/bindings/core/v8/v8_event_listener_helper.cc
[delete] https://crrev.com/231560efc85bde5d2fe9930bc36ce440745f671d/third_party/blink/renderer/bindings/core/v8/v8_event_listener_impl.cc
[delete] https://crrev.com/231560efc85bde5d2fe9930bc36ce440745f671d/third_party/blink/renderer/bindings/core/v8/v8_event_listener_impl.h
[modify] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/blink/renderer/bindings/core/v8/v8_event_listener_or_event_handler.cc
[modify] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/blink/renderer/bindings/core/v8/v8_event_listener_or_event_handler.h
[modify] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/blink/renderer/bindings/core/v8/v8_lazy_event_listener.cc
[modify] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/blink/renderer/bindings/core/v8/v8_lazy_event_listener.h
[modify] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/blink/renderer/bindings/scripts/v8_types.py
[modify] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/blink/renderer/bindings/tests/results/core/v8_test_interface.cc
[modify] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/blink/renderer/bindings/tests/results/core/v8_test_interface_node.cc
[modify] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/blink/renderer/bindings/tests/results/core/v8_test_object.cc
[modify] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/blink/renderer/core/core_idl_files.gni
[modify] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/blink/renderer/core/dom/events/event_listener.h
[modify] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/blink/renderer/core/dom/events/event_target.cc
[modify] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/blink/renderer/core/inspector/inspector_dom_debugger_agent.cc
[modify] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/blink/renderer/platform/bindings/callback_interface_base.h
[modify] https://crrev.com/9f87a1ee823c8bf185dfdde265e457c2cc668191/third_party/blink/renderer/platform/bindings/trace_wrapper_v8_reference.h

Project Member

Comment 19 by bugdroid1@chromium.org, Sep 10

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/20a443ce6dd653ce3259782667598f9b87211e5d

commit 20a443ce6dd653ce3259782667598f9b87211e5d
Author: Yuki Yamada <yukiy@google.com>
Date: Mon Sep 10 02:27:07 2018

Reland: Split implementation of EventListener and EventHandler

This reverts commit 9f87a1ee823c8bf185dfdde265e457c2cc668191.
https://chromium-review.googlesource.com/c/chromium/src/+/1212202

Regarding to crbug.com/881688 :
This CL adds the check for if listener is empty or not before calling
it, but it should not be empty at that time. This is because listener
object could be collected prematurally by garbage collection.
This will be fixed after unified GC is launched, or wrapper-tracing is
applied appropriately to all the EventTarget (some of EventTargets need
to be ActiveScriptWrappable).

Bug:  872138 , 881688,  878658 ,  606900 ,  849236 
Change-Id: I9b224e0d261e1567c4c4f7778bd0d6044b7f6202
Reviewed-on: https://chromium-review.googlesource.com/1212376
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Reviewed-by: Hitoshi Yoshida <peria@chromium.org>
Reviewed-by: Yuki Shiino <yukishiino@chromium.org>
Commit-Queue: Yuki Yamada <yukiy@google.com>
Cr-Commit-Position: refs/heads/master@{#589820}
[modify] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/WebKit/LayoutTests/external/wpt/dom/events/event-global-extra.window-expected.txt
[modify] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/execution-timing/083-expected.txt
[delete] https://crrev.com/8a2c335368664b66cbb29fc739bb864dfd37b4a6/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/execution-timing/084-expected.txt
[delete] https://crrev.com/8a2c335368664b66cbb29fc739bb864dfd37b4a6/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-1-expected.txt
[delete] https://crrev.com/8a2c335368664b66cbb29fc739bb864dfd37b4a6/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-2-expected.txt
[modify] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/WebKit/LayoutTests/fast/dom/margin-height-guarded-crash-expected.txt
[modify] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/WebKit/LayoutTests/fast/dom/margin-height-guarded-crash.html
[modify] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/WebKit/LayoutTests/fast/dom/ready-state-change-crash-expected.txt
[modify] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/WebKit/LayoutTests/fast/events/touch/gesture/gesture-tap-frame-removed-expected.txt
[modify] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/WebKit/LayoutTests/inspector-protocol/heap-profiler/heap-snapshot-merged-nodes-expected.txt
[modify] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/WebKit/LayoutTests/inspector-protocol/heap-profiler/heap-snapshot-with-event-listener-expected.txt
[modify] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/WebKit/LayoutTests/inspector-protocol/heap-profiler/heap-snapshot-with-multiple-retainers-expected.txt
[modify] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/WebKit/LayoutTests/inspector-protocol/heap-profiler/heap-snapshot-with-multiple-retainers.js
[modify] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/blink/renderer/bindings/bindings.gni
[modify] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/blink/renderer/bindings/core/v8/script_event_listener.cc
[rename] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/blink/renderer/bindings/core/v8/v8_abstract_event_handler.cc
[rename] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/blink/renderer/bindings/core/v8/v8_abstract_event_handler.h
[modify] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/blink/renderer/bindings/core/v8/v8_event_listener_helper.cc
[add] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/blink/renderer/bindings/core/v8/v8_event_listener_impl.cc
[add] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/blink/renderer/bindings/core/v8/v8_event_listener_impl.h
[modify] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/blink/renderer/bindings/core/v8/v8_event_listener_or_event_handler.cc
[modify] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/blink/renderer/bindings/core/v8/v8_event_listener_or_event_handler.h
[modify] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/blink/renderer/bindings/core/v8/v8_lazy_event_listener.cc
[modify] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/blink/renderer/bindings/core/v8/v8_lazy_event_listener.h
[modify] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/blink/renderer/bindings/scripts/v8_types.py
[modify] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/blink/renderer/bindings/tests/results/core/v8_test_interface.cc
[modify] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/blink/renderer/bindings/tests/results/core/v8_test_interface_node.cc
[modify] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/blink/renderer/bindings/tests/results/core/v8_test_object.cc
[modify] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/blink/renderer/core/core_idl_files.gni
[modify] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/blink/renderer/core/dom/events/event_listener.h
[modify] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/blink/renderer/core/dom/events/event_target.cc
[modify] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/blink/renderer/core/inspector/inspector_dom_debugger_agent.cc
[modify] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/blink/renderer/platform/bindings/callback_interface_base.h
[modify] https://crrev.com/20a443ce6dd653ce3259782667598f9b87211e5d/third_party/blink/renderer/platform/bindings/trace_wrapper_v8_reference.h

Owner: yukiy@google.com
Status: Started (was: Available)
Project Member

Comment 21 by bugdroid1@chromium.org, Oct 5

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1b2f95835607dbb9c6021df8893fb18f4c7aee9e

commit 1b2f95835607dbb9c6021df8893fb18f4c7aee9e
Author: Yuki Yamada <yukiy@google.com>
Date: Fri Oct 05 09:20:48 2018

Create new EventHandler and base class for EventListener/EventHandler

This CL implements these classes in Blink:
JSBasedEventListener                       (The base class for
 |                                          EventLisntener/EventHandler)
 +- JSEventListener                        (Implements EventListener)
 +- JSEventHandler                         (Implements EventHandler and
     |                                      other special types)
     +- JSEventHandlerForContentAttribute  (Supports lazy compilation
                                            for content attribute)
EventHandlers start to support incumbent realm using
blink::V8EventHandlerNonNull that inherits blink::CallbackFunctionBase.
(EventListener already supports incumbent realm.)

These four classes are no longer referenced from anywhere:
  blink::V8AbstractEventListener
  blink::V8EventListenerOrEventHandler
  blink::V8ErrorHandler
  blink::V8LazyEventListener
Although these are no longer necessary, this CL does not remove them
so that we can easily switch which classes to use in case new classes
contains some problems.

regarding  crbug.com/759461  :
OnErrorEventHandler for content attribute, which has different number
of arguments, gets supported by blink::JSEventHandler and
blink::JSEventHandlerForContentAttribute.

regarding  crbug.com/664676  :
|js_event| in the relevant realm of |event|'s target is created in
blink::JSBasedEventListener::handleEvent().

Bug:  872138 ,  849236 ,  759461 ,  664676 ,  606900 
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I356734fc16611277ad9f3f279a676e7dc8083408
Reviewed-on: https://chromium-review.googlesource.com/c/1215512
Commit-Queue: Yuki Yamada <yukiy@google.com>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Reviewed-by: Hitoshi Yoshida <peria@chromium.org>
Reviewed-by: Yuki Shiino <yukishiino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#597054}
[delete] https://crrev.com/2555486fd96872f6b98f9ad54c541d7ee2b6fcb1/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/events/onerroreventhandler-expected.txt
[delete] https://crrev.com/2555486fd96872f6b98f9ad54c541d7ee2b6fcb1/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/body-onerror-compile-error-data-url-expected.txt
[delete] https://crrev.com/2555486fd96872f6b98f9ad54c541d7ee2b6fcb1/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/body-onerror-compile-error-expected.txt
[delete] https://crrev.com/2555486fd96872f6b98f9ad54c541d7ee2b6fcb1/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/body-onerror-runtime-error-expected.txt
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/WebKit/LayoutTests/fast/events/before-unload-return-bad-value.html
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/WebKit/LayoutTests/fast/events/window-onerror-11-expected.txt
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/WebKit/LayoutTests/fast/performance/detached-event-timestamp.html
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/WebKit/LayoutTests/http/tests/security/contentSecurityPolicy/inline-event-handler-blocked-after-injecting-meta-expected.txt
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/bindings/bindings.gni
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/bindings/core/v8/BUILD.gn
[add] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/bindings/core/v8/js_based_event_listener.cc
[add] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/bindings/core/v8/js_based_event_listener.h
[add] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/bindings/core/v8/js_event_handler.cc
[add] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/bindings/core/v8/js_event_handler.h
[add] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/bindings/core/v8/js_event_handler_for_content_attribute.cc
[add] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/bindings/core/v8/js_event_handler_for_content_attribute.h
[add] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/bindings/core/v8/js_event_listener.cc
[add] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/bindings/core/v8/js_event_listener.h
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/bindings/core/v8/script_event_listener.cc
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/bindings/core/v8/script_event_listener.h
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/bindings/core/v8/v8_abstract_event_handler.h
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/bindings/core/v8/v8_event_listener_helper.cc
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/bindings/core/v8/v8_event_listener_helper.h
[delete] https://crrev.com/2555486fd96872f6b98f9ad54c541d7ee2b6fcb1/third_party/blink/renderer/bindings/core/v8/v8_event_listener_impl.cc
[delete] https://crrev.com/2555486fd96872f6b98f9ad54c541d7ee2b6fcb1/third_party/blink/renderer/bindings/core/v8/v8_event_listener_impl.h
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/bindings/core/v8/v8_event_listener_or_event_handler.cc
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/bindings/core/v8/v8_lazy_event_listener.h
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/bindings/scripts/v8_attributes.py
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/bindings/scripts/v8_types.py
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/bindings/templates/methods.cpp.tmpl
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/bindings/tests/results/core/v8_test_interface.cc
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/bindings/tests/results/core/v8_test_interface_node.cc
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/bindings/tests/results/core/v8_test_object.cc
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/core/core_idl_files.gni
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/core/dom/events/event_listener.h
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/core/dom/events/event_listener_map.cc
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/core/dom/events/event_target.cc
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/core/dom/events/event_target.h
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/core/frame/dom_window.cc
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/core/frame/dom_window.h
[add] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/core/html/event_handler.idl
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/core/html/html_body_element.cc
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/core/html/html_frame_element_base.cc
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/core/html/html_frame_set_element.cc
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/core/inspector/inspector_dom_debugger_agent.cc
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/core/inspector/thread_debugger.cc
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/core/svg/svg_script_element.cc
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/core/svg/svg_svg_element.cc
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/core/workers/worker_global_scope.h
[modify] https://crrev.com/1b2f95835607dbb9c6021df8893fb18f4c7aee9e/third_party/blink/renderer/platform/bindings/v8_private_property.h

Status: Fixed (was: Started)

Sign in to add a comment