Summary: | Perform a microtask checkpoint before creating a custom element | ||
---|---|---|---|
Product: | WebKit | Reporter: | Frédéric Wang (:fredw) <fred.wang> |
Component: | DOM | Assignee: | Ryosuke Niwa <rniwa> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | bicknellr, cdumez, commit-queue, dbates, d, dkadu, esprehn+autocc, ews-watchlist, fred.wang, ggaren, gyuyoung.kim, kangil.han, koivisto, rniwa, webkit-bug-importer, ysuzuki |
Priority: | P2 | Keywords: | InRadar |
Version: | WebKit Nightly Build | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
URL: | http://w3c-test.org/custom-elements/microtasks-and-constructors.html | ||
See Also: | https://github.com/whatwg/html/issues/2381 | ||
Bug Depends on: | |||
Bug Blocks: | 154907 | ||
Attachments: |
Description
Frédéric Wang (:fredw)
2018-07-31 00:31:45 PDT
Are there any WPT tests for this? (In reply to Ryosuke Niwa from comment #1) > Are there any WPT tests for this? I think it is microtasks-and-constructors.html which we currently fails. In addition to comment 0, the test and https://github.com/whatwg/html/issues/2381 also refer to microtask during element upgrade, but I can't find where it in the current version of the spec. The upgrade case is subtle. https://html.spec.whatwg.org/multipage/custom-elements.html#concept-upgrade-an-element step 8.1 -> https://heycam.github.io/webidl/#construct-a-callback-function -> https://html.spec.whatwg.org/multipage/webappapis.html#clean-up-after-running-script -> https://html.spec.whatwg.org/multipage/webappapis.html#perform-a-microtask-checkpoint (if the stack is empty at that time, i.e. if the UA is calling it) *** Bug 188284 has been marked as a duplicate of this bug. *** Created attachment 347118 [details]
Fixes the bug
Comment on attachment 347118 [details] Fixes the bug Attachment 347118 [details] did not pass mac-ews (mac): Output: https://webkit-queues.webkit.org/results/8860603 New failing tests: fast/dom/MutationObserver/parser-mutations.html Created attachment 347127 [details]
Archive of layout-test-results from ews101 for mac-sierra
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews101 Port: mac-sierra Platform: Mac OS X 10.12.6
Comment on attachment 347118 [details] Fixes the bug Attachment 347118 [details] did not pass mac-wk2-ews (mac-wk2): Output: https://webkit-queues.webkit.org/results/8860946 New failing tests: fast/dom/MutationObserver/parser-mutations.html Created attachment 347133 [details]
Archive of layout-test-results from ews104 for mac-sierra-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews104 Port: mac-sierra-wk2 Platform: Mac OS X 10.12.6
Comment on attachment 347118 [details] Fixes the bug Attachment 347118 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: https://webkit-queues.webkit.org/results/8860804 New failing tests: fast/dom/MutationObserver/parser-mutations.html Created attachment 347135 [details]
Archive of layout-test-results from ews123 for ios-simulator-wk2
The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews123 Port: ios-simulator-wk2 Platform: Mac OS X 10.13.4
Comment on attachment 347118 [details] Fixes the bug Attachment 347118 [details] did not pass mac-debug-ews (mac): Output: https://webkit-queues.webkit.org/results/8861012 New failing tests: fast/dom/MutationObserver/parser-mutations.html Created attachment 347138 [details]
Archive of layout-test-results from ews115 for mac-sierra
The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews115 Port: mac-sierra Platform: Mac OS X 10.12.6
Created attachment 347143 [details]
Fixed the test
Comment on attachment 347143 [details]
Fixed the test
r=me
Comment on attachment 347143 [details]
Fixed the test
Thanks!
Comment on attachment 347143 [details] Fixed the test Clearing flags on attachment: 347143 Committed r234944: <https://trac.webkit.org/changeset/234944> All reviewed patches have been landed. Closing bug. Comment on attachment 347143 [details] Fixed the test View in context: https://bugs.webkit.org/attachment.cgi?id=347143&action=review > Source/WebCore/dom/Document.cpp:5430 > + // FIXME: Schdule a task to fire DOMContentLoaded event instead. See webkit.org/b/82931 nit: Schedule > LayoutTests/ChangeLog:13 > + * fast/custom-elements/perform-microtask-checkpoint-before-construction.html: Added. Does it make sense to export this to the upstream WPT repo? Comment on attachment 347143 [details] Fixed the test View in context: https://bugs.webkit.org/attachment.cgi?id=347143&action=review >> LayoutTests/ChangeLog:13 >> + * fast/custom-elements/perform-microtask-checkpoint-before-construction.html: Added. > > Does it make sense to export this to the upstream WPT repo? Yes. Created pull request https://github.com/web-platform-tests/wpt/pull/14221, Second test is failing as of now. (In reply to darshan from comment #22) > Created pull request https://github.com/web-platform-tests/wpt/pull/14221, > > Second test is failing as of now. Against which STP or trunk revision did you test this? (In reply to Ryosuke Niwa from comment #23) > (In reply to darshan from comment #22) > > Created pull request https://github.com/web-platform-tests/wpt/pull/14221, > > > > Second test is failing as of now. > > Against which STP or trunk revision did you test this? I did ./wpt serve in repo and open the test in chromium, I am using Chromium 70.0.3538.77 (In reply to darshan from comment #24) > (In reply to Ryosuke Niwa from comment #23) > > (In reply to darshan from comment #22) > > > Created pull request https://github.com/web-platform-tests/wpt/pull/14221, > > > > > > Second test is failing as of now. > > > > Against which STP or trunk revision did you test this? > I did ./wpt serve in repo and open the test in chromium, I am using Chromium > 70.0.3538.77 Okay, that's not too surprising because you're testing against Blink. Note that Chromium no longer uses WebKit. It uses an alternative engine called Blink, which was forked in 2013. (In reply to Ryosuke Niwa from comment #25) > (In reply to darshan from comment #24) > > (In reply to Ryosuke Niwa from comment #23) > > > (In reply to darshan from comment #22) > > > > Created pull request https://github.com/web-platform-tests/wpt/pull/14221, > > > > > > > > Second test is failing as of now. > > > > > > Against which STP or trunk revision did you test this? > > I did ./wpt serve in repo and open the test in chromium, I am using Chromium > > 70.0.3538.77 > > Okay, that's not too surprising because you're testing against Blink. Note > that Chromium no longer uses WebKit. It uses an alternative engine called > Blink, which was forked in 2013. Okay, so it means we can merge this PR in master? (In reply to darshan from comment #26) > (In reply to Ryosuke Niwa from comment #25) > > (In reply to darshan from comment #24) > > > (In reply to Ryosuke Niwa from comment #23) > > > > (In reply to darshan from comment #22) > > > > > Created pull request https://github.com/web-platform-tests/wpt/pull/14221, > > > > > > > > > > Second test is failing as of now. > > > > > > > > Against which STP or trunk revision did you test this? > > > I did ./wpt serve in repo and open the test in chromium, I am using Chromium > > > 70.0.3538.77 > > > > Okay, that's not too surprising because you're testing against Blink. Note > > that Chromium no longer uses WebKit. It uses an alternative engine called > > Blink, which was forked in 2013. > > Okay, so it means we can merge this PR in master? @Darshan: Thanks for the PR. This bug is fixed in WebKit. If you are using a trunk build of WebKit then all the tests should pass. As Ryosuke said, Chromium does not use WebKit anymore so behavior might be different. Let's continue the discussion on github WPT. Created new PR https://github.com/web-platform-tests/wpt/pull/14314, Closed old PR(https://github.com/web-platform-tests/wpt/pull/14221), as I messed git history |