User activation: refactor to support WebKit infrastructure#36881
Merged
Conversation
youennf
approved these changes
Nov 9, 2022
81f0318 to
6aa1b7c
Compare
Collaborator
|
There are no reviewers for this pull request. Please reach out on the chat room to get help with this. Thank you! |
Uh oh! Looks like an error! DetailsClient ID static/taskcluster/github does not have sufficient scopes and is missing the following scopes: This request requires the client to satisfy the following scope expression:
|
6aa1b7c to
a16310e
Compare
a16310e to
b18c7ea
Compare
mustaqahmed
reviewed
Nov 14, 2022
mnutt
pushed a commit
to movableink/webkit
that referenced
this pull request
Dec 6, 2022
https://bugs.webkit.org/show_bug.cgi?id=245240 Reviewed by Youenn Fablet and Geoffrey Garen. Implementation of the UserActivation interface: https://html.spec.whatwg.org/#the-useractivation-interface Which was added to HTML via: whatwg/html#8254 The API provides web content a view into DOMWindow::hasTransientActivation() and DOMWindow::hasStickyActivation(). This change excludes anything related "MessageEvent", which has not yet been agreed to by the WHATWG. The tests have been modified to work on WebKit infrastructure without changing the intent of the original tests. In particular: * `domains[www1]` and so on, so those are changed to `hosts[alt][]` * Domains are differentiated by using different ports. * Some of the tests are missing `await`. * Some tests would run before the body was ready. A PR has been sent to WPT to address these issues: web-platform-tests/wpt#36881 The tests are update to 1b73dcd. Some test coming form WTP are non-standard. In particular, tests that rely on `window.open()` and `.requestFullscreen()` are not spec'ed to consume user activation. This is a known issue and will be addressed as a followup in the specs and potentially as changes in WebKit. * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/activation-trigger-keyboard-enter.html: * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/activation-trigger-keyboard-escape.html: * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/activation-trigger-mouse-left.html: * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/activation-trigger-mouse-right.html: * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/activation-trigger-pointerevent.html: * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/chained-setTimeout-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/chained-setTimeout.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/user-activation/chained-setTimeout.tentative.html. * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/chained-setTimeout.tentative-expected.txt: Removed. * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/consumption-crossorigin.sub-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/consumption-crossorigin.sub.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/user-activation/consumption-crossorigin.sub.tentative.html. * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/consumption-crossorigin.sub.tentative-expected.txt: Removed. * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/consumption-sameorigin-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/consumption-sameorigin.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/user-activation/consumption-sameorigin.tentative.html. * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/consumption-sameorigin.tentative-expected.txt: Removed. * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/detached-iframe-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/detached-iframe.html: Added. * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/message-event-activation-api-iframe-cross-origin.sub.tentative-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/message-event-activation-api-iframe-cross-origin.sub.tentative.html: * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/message-event-init.tentative-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/message-event-init.tentative.html: * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/navigation-state-reset-crossorigin.sub-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/navigation-state-reset-crossorigin.sub.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/user-activation/navigation-state-reset-crossorigin.sub.tentative.html. * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/navigation-state-reset-crossorigin.sub.tentative-expected.txt: Removed. * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/navigation-state-reset-sameorigin-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/navigation-state-reset-sameorigin.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/user-activation/navigation-state-reset-sameorigin.tentative.html. * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/navigation-state-reset-sameorigin.tentative-expected.txt: Removed. * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/no-activation-thru-escape-key-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/no-activation-thru-escape-key.html: * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/propagation-crossorigin.sub-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/propagation-crossorigin.sub.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/user-activation/propagation-crossorigin.sub.tentative.html. * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/propagation-crossorigin.sub.tentative-expected.txt: Removed. * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/propagation-sameorigin-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/propagation-sameorigin.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/user-activation/propagation-sameorigin.tentative.html. * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/propagation-sameorigin.tentative-expected.txt: Removed. * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/user-activation-interface-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/html/user-activation/user-activation-interface.html: Added. * LayoutTests/platform/gtk/fast/dom/navigator-detached-no-crash-expected.txt: * LayoutTests/platform/ios-wk2/TestExpectations: * LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/user-activation/chained-setTimeout.tentative-expected.txt: Removed. * LayoutTests/platform/mac-wk1/fast/dom/navigator-detached-no-crash-expected.txt: * LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/html/user-activation/no-activation-thru-escape-key-expected.txt: * LayoutTests/platform/mac-wk2/fast/dom/navigator-detached-no-crash-expected.txt: * Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml: * Source/WebCore/CMakeLists.txt: * Source/WebCore/DerivedSources-input.xcfilelist: * Source/WebCore/DerivedSources-output.xcfilelist: * Source/WebCore/DerivedSources.make: * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/bindings/js/WebCoreBuiltinNames.h: * Source/WebCore/html/NavigatorUserActivation.cpp: Added. (WebCore::NavigatorUserActivation::NavigatorUserActivation): (WebCore::NavigatorUserActivation::userActivation): (WebCore::NavigatorUserActivation::from): (WebCore::NavigatorUserActivation::supplementName): * Source/WebCore/html/NavigatorUserActivation.h: Added. * Source/WebCore/html/URLSearchParams.h: * Source/WebCore/html/UserActivation.cpp: Added. (WebCore::UserActivation::create): (WebCore::UserActivation::UserActivation): (WebCore::UserActivation::navigator): (WebCore::UserActivation::window const): (WebCore::UserActivation::hasBeenActive const): (WebCore::UserActivation::isActive const): * Source/WebCore/html/UserActivation.h: Added. * Source/WebCore/html/UserActivation.idl: Added. * Source/WebCore/page/DOMWindow.cpp: (WebCore::DOMWindow::hasStickyActivation const): * Source/WebCore/page/DOMWindow.h: * Source/WebCore/page/Navigator+UserActivation.idl: Added. Canonical link: https://commits.webkit.org/256572@main
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Test to better support WebKit's infrastructure.
In particular, WebKit doesn't know about:
domains[www1]and so on, so those are changed to{{hosts[alt][]}}and a different port.await.bodywas ready.Reviewed-on: WebKit/WebKit#4841
Reviewed-by: @youennf