WebKit-https.git
2 months agoWebKitTestRunner bundleID should not be cleared before every test
katherine_cheney@apple.com [Mon, 9 Mar 2020 23:59:40 +0000 (23:59 +0000)]
WebKitTestRunner bundleID should not be cleared before every test
https://bugs.webkit.org/show_bug.cgi?id=208823
<rdar://problem/60204539>

Reviewed by Per Arne Vollan.

This is causing test failures for layout tests which rely on the Info.plist
bundle identifier (not the one set via the override method).

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::ensureViewSupportsOptionsForTest):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258178 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoREGRESSION: (257072) [ Mac wk2 Release ] fast/harness/uiscriptcontroller/concurrent...
lawrence.j@apple.com [Mon, 9 Mar 2020 23:48:27 +0000 (23:48 +0000)]
REGRESSION: (257072) [ Mac wk2 Release ] fast/harness/uiscriptcontroller/concurrent-ui-side-scripts.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=208264

Unreviewed test gardening.

Removing expectations as the test is no longer failing.

* platform/mac-wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258175 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[macOS] Notification observer is not removed
pvollan@apple.com [Mon, 9 Mar 2020 23:48:02 +0000 (23:48 +0000)]
[macOS] Notification observer is not removed
https://bugs.webkit.org/show_bug.cgi?id=208834

Reviewed by Tim Horton.

Source/WebKit:

The Accessibility notification observer is not being removed on macOS.

API test: WebKit.EnableAccessibilityCrash

* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::unregisterNotificationObservers):

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/EnableAccessibility.mm: Added.
(TEST):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258174 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoREGRESSION (257846) Crash on maps.google.com under Element::isVisibleWithoutResolving...
zalan@apple.com [Mon, 9 Mar 2020 23:36:22 +0000 (23:36 +0000)]
REGRESSION (257846) Crash on maps.google.com under Element::isVisibleWithoutResolvingFullStyle
https://bugs.webkit.org/show_bug.cgi?id=208841
<rdar://problem/60238539>

Reviewed by Simon Fraser.

Resolve the computed style for the composed ancestors when not available.

* dom/Element.cpp:
(WebCore::Element::isVisibleWithoutResolvingFullStyle const):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258172 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoRemove required setting for libAccessibility.
andresg_22@apple.com [Mon, 9 Mar 2020 23:33:08 +0000 (23:33 +0000)]
Remove required setting for libAccessibility.
https://bugs.webkit.org/show_bug.cgi?id=208836
<rdar://problem/60227703>

Reviewed by Chris Fleizach.

Made libAccessibility an optional library for Webcore since
accessibility is soft linking it.

* WebCore.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258171 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago@putByValDirect does not perform [[DefineOwnProperty]] correctly
shvaikalesh@gmail.com [Mon, 9 Mar 2020 23:17:41 +0000 (23:17 +0000)]
@putByValDirect does not perform [[DefineOwnProperty]] correctly
https://bugs.webkit.org/show_bug.cgi?id=208708

Reviewed by Yusuke Suzuki.

JSTests:

* test262/expectations.yaml: Mark 46 test cases as passing.

Source/JavaScriptCore:

This change adds inSparseIndexingMode() check to canDoFastPutDirectIndex(), fixing slow path
of @putByValDirect() to perform [[DefineOwnProperty]] according to spec [1] and aligning JSC
with V8 and SpiderMonkey.

This patch preserves existing behavior for Arguments exotic objects (thus the checks order)
and aligns slow path checks in JSObject::putDirectIndexSlowOrBeyondVectorLength
with JSObject::defineOwnIndexedProperty.

JetStream2 benchmark is neutral.

[1]: https://tc39.es/ecma262/#sec-validateandapplypropertydescriptor

* runtime/JSObject.cpp:
(JSC::canDoFastPutDirectIndex):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258170 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[ iPadOS wk2 ] editing/selection/selection-change-in-mutation-event-by-remove-childre...
lawrence.j@apple.com [Mon, 9 Mar 2020 23:15:58 +0000 (23:15 +0000)]
[ iPadOS wk2 ] editing/selection/selection-change-in-mutation-event-by-remove-children.html is timing out.
Nhttps://bugs.webkit.org/show_bug.cgi?id=208840

Unreviewed test gardening.

* platform/ios-simulator-wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258169 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[iOS] Only map UTI from tags in Safari
pvollan@apple.com [Mon, 9 Mar 2020 22:35:04 +0000 (22:35 +0000)]
[iOS] Only map UTI from tags in Safari
https://bugs.webkit.org/show_bug.cgi?id=208829
<rdar://problem/60234672>

Reviewed by Tim Horton.

Since this mapping caused regressions in other apps, only enable it for Safari as a temporary workaround.

* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258168 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[ iPadOS wk2 Release ] fast/css-custom-paint/constructor.html is flaky timing out.
lawrence.j@apple.com [Mon, 9 Mar 2020 22:27:41 +0000 (22:27 +0000)]
[ iPadOS wk2 Release ] fast/css-custom-paint/constructor.html is flaky timing out.
https://bugs.webkit.org/show_bug.cgi?id=208837

Unreviewed test gardening.

* platform/ios-simulator-wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258167 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoUnreviewed, drop forward declaration that is no longer needed after r258159.
cdumez@apple.com [Mon, 9 Mar 2020 21:55:13 +0000 (21:55 +0000)]
Unreviewed, drop forward declaration that is no longer needed after r258159.

* xml/XMLHttpRequestProgressEventThrottle.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258165 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoupload.py gets confused by git-svn checkouts, unable to upload test results from...
bburg@apple.com [Mon, 9 Mar 2020 21:50:24 +0000 (21:50 +0000)]
upload.py gets confused by git-svn checkouts, unable to upload test results from my desk build
https://bugs.webkit.org/show_bug.cgi?id=208729
<rdar://problem/60105447>

Reviewed by Jonathan Bedard.

Improve upload.py to look for the svn branch and revision for the 'webkit'
project and prefer those to the git equivalents (eg, prefer trunk/rNNNNN to master/<hash>).

* Scripts/webkitpy/common/checkout/scm/git.py:
(Git):
(Git.git_svn_id_regexp):
(Git._field_from_git_svn_id):
(Git.svn_revision):
(Git.svn_branch):
(Git.svn_url):
(Git.native_branch):
Refactor svn revision, branch, url to use the same regexp and helper code.

* Scripts/webkitpy/common/checkout/scm/stub_repository.py:
(StubRepository.svn_branch):
Expose a stub since this is used unconditionally by Port.commits_for_upload.

* Scripts/webkitpy/common/checkout/scm/svn.py:
(SVN.svn_branch):
(SVN.native_revision):
(SVN):
(SVN.native_branch):
Refactor so the actual implementation is contained in svn_revision / svn_branch.
The native_* methods call out to the SVN equivalents since this is an SVN repository.

* Scripts/webkitpy/port/base.py:
(Port.commits_for_upload):
Add special git-svn handling for the WebKit repository so that SVN branch and revision
is preferred over the git equivalents.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258164 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[ Mac wk1 Debug ] inspector/script-profiler/event-type-Microtask.html is flaky failing.
lawrence.j@apple.com [Mon, 9 Mar 2020 21:48:51 +0000 (21:48 +0000)]
[ Mac wk1 Debug ] inspector/script-profiler/event-type-Microtask.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=208825

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258163 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoUnreviewed build fix.
pvollan@apple.com [Mon, 9 Mar 2020 21:46:33 +0000 (21:46 +0000)]
Unreviewed build fix.

* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::decode):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258162 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[GPUP] Implement Legacy EME API in the GPU Process
jer.noble@apple.com [Mon, 9 Mar 2020 20:23:45 +0000 (20:23 +0000)]
[GPUP] Implement Legacy EME API in the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=208402
<rdar://problem/60178488>

Reviewed by Eric Carlson.

Follow-up: adding the RemoteLegacyCDMFactory as a suppliment got dropped from the initial patch by
a merge/rebase mistake.

* WebProcess/WebProcess.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258160 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoAlign garbage collection for XMLHttpRequest objects with the specification
cdumez@apple.com [Mon, 9 Mar 2020 20:17:21 +0000 (20:17 +0000)]
Align garbage collection for XMLHttpRequest objects with the specification
https://bugs.webkit.org/show_bug.cgi?id=208481

Reviewed by Ryosuke Niwa.

Align garbage collection for XMLHttpRequest objects with the specification:
- https://xhr.spec.whatwg.org/#garbage-collection

We now override ActiveDOMObject::hasPendingActivity() to match exactly the text
in the specification:
"""
An XMLHttpRequest object must not be garbage collected if its state is either
opened with the send() flag set, headers received, or loading, and it has one or
more event listeners registered whose type is one of readystatechange, progress,
abort, error, load, timeout, and loadend.
"""

Previously, we were trying to implement this behavior with ActiveDOMObject's
setPendingActivity() / unsetPendingActivity() but this was error and leak prone.
It was also keeping the JS wrapper alive too long in the cases where the JS
does not have any event listeners. If the JS has not event listeners, then we
can collect the JS wrapper, we just need to keep the implementation
XMLHttpRequest object for the duration of the load.

No new tests, covered by existing test such as:
fast/xmlhttprequest/xmlhttprequest-gc.html

* dom/EventTarget.cpp:
(WebCore::EventTarget::addEventListener):
(WebCore::EventTarget::removeEventListener):
(WebCore::EventTarget::removeAllEventListeners):
* dom/EventTarget.h:
(WebCore::EventTarget::eventListenersDidChange):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::XMLHttpRequest):
(WebCore::XMLHttpRequest::changeState):
(WebCore::XMLHttpRequest::open):
(WebCore::XMLHttpRequest::prepareToSend):
(WebCore::XMLHttpRequest::createRequest):
(WebCore::XMLHttpRequest::abort):
(WebCore::XMLHttpRequest::internalAbort):
(WebCore::XMLHttpRequest::networkError):
(WebCore::XMLHttpRequest::didFail):
(WebCore::XMLHttpRequest::didFinishLoading):
(WebCore::XMLHttpRequest::didReachTimeout):
(WebCore::XMLHttpRequest::contextDestroyed):
(WebCore::XMLHttpRequest::eventListenersDidChange):
(WebCore::XMLHttpRequest::hasPendingActivity const):
* xml/XMLHttpRequest.h:
* xml/XMLHttpRequestProgressEventThrottle.cpp:
(WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle):
(WebCore::XMLHttpRequestProgressEventThrottle::dispatchEventWhenPossible):
(WebCore::XMLHttpRequestProgressEventThrottle::suspend):
(WebCore::XMLHttpRequestProgressEventThrottle::resume):
* xml/XMLHttpRequestProgressEventThrottle.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258159 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[GTK] Gardening, update TestExpectations
dpino@igalia.com [Mon, 9 Mar 2020 20:10:06 +0000 (20:10 +0000)]
[GTK] Gardening, update TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=208810

Unreviewed gardening.

* platform/gtk/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258158 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoCreating paths that are single-segment bezier or quad curves should not require a...
wenson_hsieh@apple.com [Mon, 9 Mar 2020 19:55:54 +0000 (19:55 +0000)]
Creating paths that are single-segment bezier or quad curves should not require a CGPath allocation
https://bugs.webkit.org/show_bug.cgi?id=208812

Reviewed by Tim Horton.

Extend the inline path data mechanism introduced in r258118 to encompass two more cases of simple path objects:
single-segment quad and bezier curves. In these scenarios, we can simply store the start point, end point, and
one or two control points (respectively). See below for more details; there should be no change in behavior.

* platform/graphics/InlinePathData.h:

Add the new inline path data types to the variant. Note that does not increase the size of the InlinePathData
variant, nor does it increase the size of Path, since the variant is already 32 bytes large due to ArcData.

(WebCore::QuadCurveData::encode const):
(WebCore::QuadCurveData::decode):
(WebCore::BezierCurveData::encode const):
(WebCore::BezierCurveData::decode):

Add encoders and decoders for QuadCurveData and BezierCurveData.

* platform/graphics/Path.cpp:
(WebCore::Path::apply const):

In the cases where we have quad and bezier curves, we can apply the path without having to fall back to
allocating a platform path object.

(WebCore::Path::currentPoint const):

Return endPoint in both of the new inline curve cases.

(WebCore::Path::elementCount const):

Return 2 in both of the new cases.

(WebCore::Path::addQuadCurveTo):
(WebCore::Path::addBezierCurveTo):

If the path is null (we haven't modified anything yet) or the path was only moved to some location, stuff
information about the quad or bezier curve into inline data on Path and avoid creating a CGPath on CoreGraphics
platforms (and other types of platform paths elsewhere).

* platform/graphics/Path.h:
* platform/graphics/cairo/PathCairo.cpp:
(WebCore::Path::addQuadCurveToSlowCase):
(WebCore::Path::addBezierCurveToSlowCase):
(WebCore::Path::addQuadCurveTo): Deleted.
(WebCore::Path::addBezierCurveTo): Deleted.
* platform/graphics/cg/PathCG.cpp:
(WebCore::Path::createCGPath const):
(WebCore::Path::addQuadCurveToSlowCase):
(WebCore::Path::addBezierCurveToSlowCase):

Add -SlowCase suffixes to these methods, and move the main implementation of addQuadCurve and addBezierCurve
into platform-agnostic code in Path.cpp where we update the inline path data and bail early if appropriate, and
otherwise fall back to addQuadCurveToSlowCase or addBezierCurveToSlowCase.

(WebCore::Path::addQuadCurveTo): Deleted.
(WebCore::Path::addBezierCurveTo): Deleted.
* platform/graphics/win/PathDirect2D.cpp:
(WebCore::Path::addQuadCurveToSlowCase):
(WebCore::Path::addBezierCurveToSlowCase):
(WebCore::Path::addQuadCurveTo): Deleted.
(WebCore::Path::addBezierCurveTo): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258151 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[Web Animations] Remove the legacy-animation-engine tests
graouts@webkit.org [Mon, 9 Mar 2020 19:53:50 +0000 (19:53 +0000)]
[Web Animations] Remove the legacy-animation-engine tests
https://bugs.webkit.org/show_bug.cgi?id=208815

Reviewed by Alexey Proskuryakov.

* TestExpectations:
* gpu-process/TestExpectations:
* legacy-animation-engine/accessibility/content-changed-notification-causes-crash-expected.txt: Removed.
* legacy-animation-engine/accessibility/content-changed-notification-causes-crash.html: Removed.
* legacy-animation-engine/accessibility/transformed-bounds-expected.txt: Removed.
* legacy-animation-engine/accessibility/transformed-bounds.html: Removed.
* legacy-animation-engine/animations/3d/change-transform-in-end-event.html: Removed.
* legacy-animation-engine/animations/3d/matrix-transform-type-animation.html: Removed.
* legacy-animation-engine/animations/3d/replace-filling-transform-expected.png: Removed.
* legacy-animation-engine/animations/3d/replace-filling-transform-expected.txt: Removed.
* legacy-animation-engine/animations/3d/replace-filling-transform.html: Removed.
* legacy-animation-engine/animations/3d/state-at-end-event-transform.html: Removed.
* legacy-animation-engine/animations/3d/transform-origin-vs-functions-expected.txt: Removed.
* legacy-animation-engine/animations/3d/transform-origin-vs-functions.html: Removed.
* legacy-animation-engine/animations/3d/transform-perspective-expected.txt: Removed.
* legacy-animation-engine/animations/3d/transform-perspective.html: Removed.
* legacy-animation-engine/animations/CSSKeyframesRule-name-null-expected.txt: Removed.
* legacy-animation-engine/animations/CSSKeyframesRule-name-null.html: Removed.
* legacy-animation-engine/animations/CSSKeyframesRule-parameters-expected.txt: Removed.
* legacy-animation-engine/animations/CSSKeyframesRule-parameters.html: Removed.
* legacy-animation-engine/animations/added-while-suspended-expected.txt: Removed.
* legacy-animation-engine/animations/added-while-suspended.html: Removed.
* legacy-animation-engine/animations/additive-transform-animations-expected.html: Removed.
* legacy-animation-engine/animations/additive-transform-animations.html: Removed.
* legacy-animation-engine/animations/animation-add-events-in-handler-expected.txt: Removed.
* legacy-animation-engine/animations/animation-add-events-in-handler.html: Removed.
* legacy-animation-engine/animations/animation-border-overflow-expected.txt: Removed.
* legacy-animation-engine/animations/animation-border-overflow.html: Removed.
* legacy-animation-engine/animations/animation-callback-timestamp-expected.txt: Removed.
* legacy-animation-engine/animations/animation-callback-timestamp.html: Removed.
* legacy-animation-engine/animations/animation-controller-drt-api-expected.txt: Removed.
* legacy-animation-engine/animations/animation-controller-drt-api.html: Removed.
* legacy-animation-engine/animations/animation-css-rule-types-expected.txt: Removed.
* legacy-animation-engine/animations/animation-css-rule-types.html: Removed.
* legacy-animation-engine/animations/animation-delay-changed-expected.txt: Removed.
* legacy-animation-engine/animations/animation-delay-changed.html: Removed.
* legacy-animation-engine/animations/animation-direction-alternate-reverse-expected.txt: Removed.
* legacy-animation-engine/animations/animation-direction-alternate-reverse.html: Removed.
* legacy-animation-engine/animations/animation-direction-expected.txt: Removed.
* legacy-animation-engine/animations/animation-direction-normal-expected.png: Removed.
* legacy-animation-engine/animations/animation-direction-normal-expected.txt: Removed.
* legacy-animation-engine/animations/animation-direction-normal.html: Removed.
* legacy-animation-engine/animations/animation-direction-reverse-expected.txt: Removed.
* legacy-animation-engine/animations/animation-direction-reverse-fill-mode-expected.txt: Removed.
* legacy-animation-engine/animations/animation-direction-reverse-fill-mode-hardware-expected.txt: Removed.
* legacy-animation-engine/animations/animation-direction-reverse-fill-mode-hardware.html: Removed.
* legacy-animation-engine/animations/animation-direction-reverse-fill-mode.html: Removed.
* legacy-animation-engine/animations/animation-direction-reverse-hardware-expected.txt: Removed.
* legacy-animation-engine/animations/animation-direction-reverse-hardware-opacity-expected.txt: Removed.
* legacy-animation-engine/animations/animation-direction-reverse-hardware-opacity.html: Removed.
* legacy-animation-engine/animations/animation-direction-reverse-hardware.html: Removed.
* legacy-animation-engine/animations/animation-direction-reverse-non-hardware-expected.txt: Removed.
* legacy-animation-engine/animations/animation-direction-reverse-non-hardware.html: Removed.
* legacy-animation-engine/animations/animation-direction-reverse-timing-functions-expected.txt: Removed.
* legacy-animation-engine/animations/animation-direction-reverse-timing-functions-hardware-expected.txt: Removed.
* legacy-animation-engine/animations/animation-direction-reverse-timing-functions-hardware.html: Removed.
* legacy-animation-engine/animations/animation-direction-reverse-timing-functions.html: Removed.
* legacy-animation-engine/animations/animation-direction-reverse.html: Removed.
* legacy-animation-engine/animations/animation-direction.html: Removed.
* legacy-animation-engine/animations/animation-end-event-destroy-renderer-expected.txt: Removed.
* legacy-animation-engine/animations/animation-end-event-destroy-renderer.html: Removed.
* legacy-animation-engine/animations/animation-end-event-short-iterations-expected.txt: Removed.
* legacy-animation-engine/animations/animation-end-event-short-iterations.html: Removed.
* legacy-animation-engine/animations/animation-events-create-expected.txt: Removed.
* legacy-animation-engine/animations/animation-events-create.html: Removed.
* legacy-animation-engine/animations/animation-events-not-cancelable-expected.txt: Removed.
* legacy-animation-engine/animations/animation-events-not-cancelable.html: Removed.
* legacy-animation-engine/animations/animation-followed-by-transition-expected.txt: Removed.
* legacy-animation-engine/animations/animation-followed-by-transition.html: Removed.
* legacy-animation-engine/animations/animation-hit-test-expected.txt: Removed.
* legacy-animation-engine/animations/animation-hit-test-transform-expected.txt: Removed.
* legacy-animation-engine/animations/animation-hit-test-transform.html: Removed.
* legacy-animation-engine/animations/animation-hit-test.html: Removed.
* legacy-animation-engine/animations/animation-initial-inheritance-expected.html: Removed.
* legacy-animation-engine/animations/animation-initial-inheritance.html: Removed.
* legacy-animation-engine/animations/animation-internals-api-expected.txt: Removed.
* legacy-animation-engine/animations/animation-internals-api-multiple-keyframes-expected.txt: Removed.
* legacy-animation-engine/animations/animation-internals-api-multiple-keyframes.html: Removed.
* legacy-animation-engine/animations/animation-internals-api.html: Removed.
* legacy-animation-engine/animations/animation-iteration-event-destroy-renderer-expected.txt: Removed.
* legacy-animation-engine/animations/animation-iteration-event-destroy-renderer.html: Removed.
* legacy-animation-engine/animations/animation-matrix-negative-scale-unmatrix-expected.txt: Removed.
* legacy-animation-engine/animations/animation-matrix-negative-scale-unmatrix.html: Removed.
* legacy-animation-engine/animations/animation-multiple-callbacks-timestamp-expected.txt: Removed.
* legacy-animation-engine/animations/animation-multiple-callbacks-timestamp.html: Removed.
* legacy-animation-engine/animations/animation-offscreen-to-onscreen-expected.png: Removed.
* legacy-animation-engine/animations/animation-offscreen-to-onscreen-expected.txt: Removed.
* legacy-animation-engine/animations/animation-offscreen-to-onscreen.html: Removed.
* legacy-animation-engine/animations/animation-on-inline-crash-expected.txt: Removed.
* legacy-animation-engine/animations/animation-on-inline-crash.html: Removed.
* legacy-animation-engine/animations/animation-shorthand-expected.txt: Removed.
* legacy-animation-engine/animations/animation-shorthand-name-order-expected.txt: Removed.
* legacy-animation-engine/animations/animation-shorthand-name-order.html: Removed.
* legacy-animation-engine/animations/animation-shorthand-overriding-expected.txt: Removed.
* legacy-animation-engine/animations/animation-shorthand-overriding.html: Removed.
* legacy-animation-engine/animations/animation-shorthand-removed-expected.txt: Removed.
* legacy-animation-engine/animations/animation-shorthand-removed.html: Removed.
* legacy-animation-engine/animations/animation-shorthand.html: Removed.
* legacy-animation-engine/animations/animation-start-event-destroy-renderer-expected.txt: Removed.
* legacy-animation-engine/animations/animation-start-event-destroy-renderer.html: Removed.
* legacy-animation-engine/animations/animation-welcome-safari-expected.txt: Removed.
* legacy-animation-engine/animations/animation-welcome-safari.html: Removed.
* legacy-animation-engine/animations/big-rotation-expected.txt: Removed.
* legacy-animation-engine/animations/big-rotation.html: Removed.
* legacy-animation-engine/animations/body-removal-crash-expected.txt: Removed.
* legacy-animation-engine/animations/body-removal-crash.html: Removed.
* legacy-animation-engine/animations/change-completed-animation-expected.txt: Removed.
* legacy-animation-engine/animations/change-completed-animation-transform-expected.html: Removed.
* legacy-animation-engine/animations/change-completed-animation-transform.html: Removed.
* legacy-animation-engine/animations/change-completed-animation.html: Removed.
* legacy-animation-engine/animations/change-keyframes-expected.txt: Removed.
* legacy-animation-engine/animations/change-keyframes-name-expected.txt: Removed.
* legacy-animation-engine/animations/change-keyframes-name.html: Removed.
* legacy-animation-engine/animations/change-keyframes.html: Removed.
* legacy-animation-engine/animations/change-one-anim-expected.txt: Removed.
* legacy-animation-engine/animations/change-one-anim.html: Removed.
* legacy-animation-engine/animations/change-transform-style-during-animation-expected.png: Removed.
* legacy-animation-engine/animations/change-transform-style-during-animation-expected.txt: Removed.
* legacy-animation-engine/animations/change-transform-style-during-animation.html: Removed.
* legacy-animation-engine/animations/combo-transform-rotate+scale-expected.txt: Removed.
* legacy-animation-engine/animations/combo-transform-rotate+scale.html: Removed.
* legacy-animation-engine/animations/combo-transform-translate+scale-expected.txt: Removed.
* legacy-animation-engine/animations/combo-transform-translate+scale.html: Removed.
* legacy-animation-engine/animations/computed-style-expected.txt: Removed.
* legacy-animation-engine/animations/computed-style.html: Removed.
* legacy-animation-engine/animations/crash-on-removing-animation-expected.txt: Removed.
* legacy-animation-engine/animations/crash-on-removing-animation.html: Removed.
* legacy-animation-engine/animations/cross-fade-background-image-expected.html: Removed.
* legacy-animation-engine/animations/cross-fade-background-image.html: Removed.
* legacy-animation-engine/animations/cross-fade-border-image-source.html: Removed.
* legacy-animation-engine/animations/cross-fade-list-style-image.html: Removed.
* legacy-animation-engine/animations/cross-fade-webkit-mask-box-image.html: Removed.
* legacy-animation-engine/animations/cross-fade-webkit-mask-image.html: Removed.
* legacy-animation-engine/animations/duplicate-keys-expected.html: Removed.
* legacy-animation-engine/animations/duplicate-keys.html: Removed.
* legacy-animation-engine/animations/duplicated-keyframes-name-expected.txt: Removed.
* legacy-animation-engine/animations/duplicated-keyframes-name.html: Removed.
* legacy-animation-engine/animations/dynamic-stylesheet-loading-expected.txt: Removed.
* legacy-animation-engine/animations/dynamic-stylesheet-loading.html: Removed.
* legacy-animation-engine/animations/empty-keyframes-expected.txt: Removed.
* legacy-animation-engine/animations/empty-keyframes.html: Removed.
* legacy-animation-engine/animations/fill-forwards-auto-height-expected.html: Removed.
* legacy-animation-engine/animations/fill-forwards-auto-height.html: Removed.
* legacy-animation-engine/animations/fill-forwards-end-state-expected.txt: Removed.
* legacy-animation-engine/animations/fill-forwards-end-state.html: Removed.
* legacy-animation-engine/animations/fill-mode-expected.txt: Removed.
* legacy-animation-engine/animations/fill-mode-forwards-expected.txt: Removed.
* legacy-animation-engine/animations/fill-mode-forwards-zero-duration-expected.txt: Removed.
* legacy-animation-engine/animations/fill-mode-forwards-zero-duration.html: Removed.
* legacy-animation-engine/animations/fill-mode-forwards.html: Removed.
* legacy-animation-engine/animations/fill-mode-forwards2-expected.txt: Removed.
* legacy-animation-engine/animations/fill-mode-forwards2.html: Removed.
* legacy-animation-engine/animations/fill-mode-iteration-count-non-integer-expected.txt: Removed.
* legacy-animation-engine/animations/fill-mode-iteration-count-non-integer.html: Removed.
* legacy-animation-engine/animations/fill-mode-missing-from-to-keyframes-expected.txt: Removed.
* legacy-animation-engine/animations/fill-mode-missing-from-to-keyframes.html: Removed.
* legacy-animation-engine/animations/fill-mode-multiple-keyframes-expected.txt: Removed.
* legacy-animation-engine/animations/fill-mode-multiple-keyframes.html: Removed.
* legacy-animation-engine/animations/fill-mode-removed-expected.txt: Removed.
* legacy-animation-engine/animations/fill-mode-removed.html: Removed.
* legacy-animation-engine/animations/fill-mode-reverse-expected.txt: Removed.
* legacy-animation-engine/animations/fill-mode-reverse.html: Removed.
* legacy-animation-engine/animations/fill-mode-transform-expected.txt: Removed.
* legacy-animation-engine/animations/fill-mode-transform.html: Removed.
* legacy-animation-engine/animations/fill-mode.html: Removed.
* legacy-animation-engine/animations/fill-unset-properties-expected.txt: Removed.
* legacy-animation-engine/animations/fill-unset-properties.html: Removed.
* legacy-animation-engine/animations/font-size-using-ems-expected.txt: Removed.
* legacy-animation-engine/animations/font-size-using-ems.html: Removed.
* legacy-animation-engine/animations/font-variations/font-stretch-expected.txt: Removed.
* legacy-animation-engine/animations/font-variations/font-stretch.html: Removed.
* legacy-animation-engine/animations/font-variations/font-style-expected.txt: Removed.
* legacy-animation-engine/animations/font-variations/font-style.html: Removed.
* legacy-animation-engine/animations/font-variations/font-variation-settings-expected.txt: Removed.
* legacy-animation-engine/animations/font-variations/font-variation-settings-order-expected.txt: Removed.
* legacy-animation-engine/animations/font-variations/font-variation-settings-order.html: Removed.
* legacy-animation-engine/animations/font-variations/font-variation-settings-unlike-expected.txt: Removed.
* legacy-animation-engine/animations/font-variations/font-variation-settings-unlike.html: Removed.
* legacy-animation-engine/animations/font-variations/font-variation-settings.html: Removed.
* legacy-animation-engine/animations/font-variations/font-weight-expected.txt: Removed.
* legacy-animation-engine/animations/font-variations/font-weight.html: Removed.
* legacy-animation-engine/animations/font-variations/resources/Boxis-VF.ttf: Removed.
* legacy-animation-engine/animations/generic-from-to-expected.txt: Removed.
* legacy-animation-engine/animations/generic-from-to.html: Removed.
* legacy-animation-engine/animations/import-crash-expected.txt: Removed.
* legacy-animation-engine/animations/import-crash.html: Removed.
* legacy-animation-engine/animations/import-expected.txt: Removed.
* legacy-animation-engine/animations/import.html: Removed.
* legacy-animation-engine/animations/keyframe-autoclose-brace-expected.txt: Removed.
* legacy-animation-engine/animations/keyframe-autoclose-brace.html: Removed.
* legacy-animation-engine/animations/keyframe-multiple-timing-functions-transform-expected.txt: Removed.
* legacy-animation-engine/animations/keyframe-multiple-timing-functions-transform.html: Removed.
* legacy-animation-engine/animations/keyframe-selector-negative-percentage-expected.txt: Removed.
* legacy-animation-engine/animations/keyframe-selector-negative-percentage.html: Removed.
* legacy-animation-engine/animations/keyframe-timing-functions-expected.txt: Removed.
* legacy-animation-engine/animations/keyframe-timing-functions-transform-expected.txt: Removed.
* legacy-animation-engine/animations/keyframe-timing-functions-transform.html: Removed.
* legacy-animation-engine/animations/keyframe-timing-functions.html: Removed.
* legacy-animation-engine/animations/keyframe-timing-functions2-expected.txt: Removed.
* legacy-animation-engine/animations/keyframe-timing-functions2.html: Removed.
* legacy-animation-engine/animations/keyframes-comma-separated-expected.txt: Removed.
* legacy-animation-engine/animations/keyframes-comma-separated.html: Removed.
* legacy-animation-engine/animations/keyframes-dynamic-expected.txt: Removed.
* legacy-animation-engine/animations/keyframes-dynamic.html: Removed.
* legacy-animation-engine/animations/keyframes-expected.txt: Removed.
* legacy-animation-engine/animations/keyframes-infinite-iterations-expected.txt: Removed.
* legacy-animation-engine/animations/keyframes-infinite-iterations.html: Removed.
* legacy-animation-engine/animations/keyframes-invalid-keys-expected.txt: Removed.
* legacy-animation-engine/animations/keyframes-invalid-keys.html: Removed.
* legacy-animation-engine/animations/keyframes-iteration-count-non-integer-expected.txt: Removed.
* legacy-animation-engine/animations/keyframes-iteration-count-non-integer.html: Removed.
* legacy-animation-engine/animations/keyframes-out-of-order-expected.txt: Removed.
* legacy-animation-engine/animations/keyframes-out-of-order.html: Removed.
* legacy-animation-engine/animations/keyframes-rule-expected.txt: Removed.
* legacy-animation-engine/animations/keyframes-rule.html: Removed.
* legacy-animation-engine/animations/keyframes.html: Removed.
* legacy-animation-engine/animations/large-negative-delay-expected.txt: Removed.
* legacy-animation-engine/animations/large-negative-delay.html: Removed.
* legacy-animation-engine/animations/lineheight-animation-expected.txt: Removed.
* legacy-animation-engine/animations/lineheight-animation.html: Removed.
* legacy-animation-engine/animations/longhand-timing-function-expected.txt: Removed.
* legacy-animation-engine/animations/longhand-timing-function.html: Removed.
* legacy-animation-engine/animations/matrix-anim-expected.txt: Removed.
* legacy-animation-engine/animations/matrix-anim.html: Removed.
* legacy-animation-engine/animations/missing-from-to-expected.txt: Removed.
* legacy-animation-engine/animations/missing-from-to-transforms-expected.txt: Removed.
* legacy-animation-engine/animations/missing-from-to-transforms.html: Removed.
* legacy-animation-engine/animations/missing-from-to.html: Removed.
* legacy-animation-engine/animations/missing-keyframe-properties-expected.txt: Removed.
* legacy-animation-engine/animations/missing-keyframe-properties-repeating-expected.txt: Removed.
* legacy-animation-engine/animations/missing-keyframe-properties-repeating.html: Removed.
* legacy-animation-engine/animations/missing-keyframe-properties-timing-function-expected.txt: Removed.
* legacy-animation-engine/animations/missing-keyframe-properties-timing-function.html: Removed.
* legacy-animation-engine/animations/missing-keyframe-properties.html: Removed.
* legacy-animation-engine/animations/missing-values-first-keyframe-expected.png: Removed.
* legacy-animation-engine/animations/missing-values-first-keyframe.html: Removed.
* legacy-animation-engine/animations/missing-values-last-keyframe-expected.png: Removed.
* legacy-animation-engine/animations/missing-values-last-keyframe.html: Removed.
* legacy-animation-engine/animations/multiple-animations-expected.txt: Removed.
* legacy-animation-engine/animations/multiple-animations-timing-function-expected.txt: Removed.
* legacy-animation-engine/animations/multiple-animations-timing-function.html: Removed.
* legacy-animation-engine/animations/multiple-animations.html: Removed.
* legacy-animation-engine/animations/multiple-backgrounds-expected.html: Removed.
* legacy-animation-engine/animations/multiple-backgrounds.html: Removed.
* legacy-animation-engine/animations/multiple-keyframes-expected.txt: Removed.
* legacy-animation-engine/animations/multiple-keyframes.html: Removed.
* legacy-animation-engine/animations/needs-layout-expected.html: Removed.
* legacy-animation-engine/animations/needs-layout.html: Removed.
* legacy-animation-engine/animations/negative-delay-expected.txt: Removed.
* legacy-animation-engine/animations/negative-delay.html: Removed.
* legacy-animation-engine/animations/opacity-transform-animation-expected.png: Removed.
* legacy-animation-engine/animations/opacity-transform-animation-expected.txt: Removed.
* legacy-animation-engine/animations/opacity-transform-animation.html: Removed.
* legacy-animation-engine/animations/pause-crash-expected.txt: Removed.
* legacy-animation-engine/animations/pause-crash.html: Removed.
* legacy-animation-engine/animations/play-state-expected.txt: Removed.
* legacy-animation-engine/animations/play-state-in-shorthand-expected.txt: Removed.
* legacy-animation-engine/animations/play-state-in-shorthand.html: Removed.
* legacy-animation-engine/animations/play-state-paused-expected.png: Removed.
* legacy-animation-engine/animations/play-state-paused-expected.txt: Removed.
* legacy-animation-engine/animations/play-state-paused.html: Removed.
* legacy-animation-engine/animations/play-state-start-paused-expected.html: Removed.
* legacy-animation-engine/animations/play-state-start-paused.html: Removed.
* legacy-animation-engine/animations/play-state-suspend-expected.txt: Removed.
* legacy-animation-engine/animations/play-state-suspend.html: Removed.
* legacy-animation-engine/animations/play-state.html: Removed.
* legacy-animation-engine/animations/remove-syncing-animation-expected.txt: Removed.
* legacy-animation-engine/animations/remove-syncing-animation.html: Removed.
* legacy-animation-engine/animations/resources/anim.html: Removed.
* legacy-animation-engine/animations/resources/animation-test-helpers.js: Removed.
* legacy-animation-engine/animations/resources/blue-100.png: Removed.
* legacy-animation-engine/animations/resources/crash-on-removing-animation-window.html: Removed.
* legacy-animation-engine/animations/resources/dynamic-stylesheet-insertion-inserted.css: Removed.
* legacy-animation-engine/animations/resources/dynamic-stylesheet-insertion-main.css: Removed.
* legacy-animation-engine/animations/resources/green-100.png: Removed.
* legacy-animation-engine/animations/resources/keyframes.css: Removed.
* legacy-animation-engine/animations/resources/page-cache-helper.html: Removed.
* legacy-animation-engine/animations/resources/stop-animation-on-suspend-subframe.html: Removed.
* legacy-animation-engine/animations/resources/stripes-100.png: Removed.
* legacy-animation-engine/animations/restart-after-scroll-expected.txt: Removed.
* legacy-animation-engine/animations/restart-after-scroll-nested-expected.txt: Removed.
* legacy-animation-engine/animations/restart-after-scroll-nested.html: Removed.
* legacy-animation-engine/animations/restart-after-scroll.html: Removed.
* legacy-animation-engine/animations/resume-after-page-cache-expected.txt: Removed.
* legacy-animation-engine/animations/resume-after-page-cache.html: Removed.
* legacy-animation-engine/animations/simultaneous-start-left-expected.txt: Removed.
* legacy-animation-engine/animations/simultaneous-start-left.html: Removed.
* legacy-animation-engine/animations/simultaneous-start-transform-expected.txt: Removed.
* legacy-animation-engine/animations/simultaneous-start-transform.html: Removed.
* legacy-animation-engine/animations/spring-computed-style-expected.txt: Removed.
* legacy-animation-engine/animations/spring-computed-style.html: Removed.
* legacy-animation-engine/animations/spring-function-expected.txt: Removed.
* legacy-animation-engine/animations/spring-function.html: Removed.
* legacy-animation-engine/animations/spring-parsing-expected.txt: Removed.
* legacy-animation-engine/animations/spring-parsing.html: Removed.
* legacy-animation-engine/animations/stacking-context-fill-forwards-expected.html: Removed.
* legacy-animation-engine/animations/stacking-context-fill-forwards.html: Removed.
* legacy-animation-engine/animations/stacking-context-not-fill-forwards-expected.html: Removed.
* legacy-animation-engine/animations/stacking-context-not-fill-forwards.html: Removed.
* legacy-animation-engine/animations/stacking-context-unchanged-while-running-expected.html: Removed.
* legacy-animation-engine/animations/stacking-context-unchanged-while-running.html: Removed.
* legacy-animation-engine/animations/stacking-during-opacity-animation-expected.txt: Removed.
* legacy-animation-engine/animations/stacking-during-opacity-animation.html: Removed.
* legacy-animation-engine/animations/state-at-end-event.html: Removed.
* legacy-animation-engine/animations/stop-animation-on-suspend-expected.txt: Removed.
* legacy-animation-engine/animations/stop-animation-on-suspend.html: Removed.
* legacy-animation-engine/animations/suspend-resume-animation-events-expected.txt: Removed.
* legacy-animation-engine/animations/suspend-resume-animation-events.html: Removed.
* legacy-animation-engine/animations/suspend-resume-animation-expected.txt: Removed.
* legacy-animation-engine/animations/suspend-resume-animation.html: Removed.
* legacy-animation-engine/animations/suspend-transform-animation-expected.png: Removed.
* legacy-animation-engine/animations/suspend-transform-animation-expected.txt: Removed.
* legacy-animation-engine/animations/suspend-transform-animation.html: Removed.
* legacy-animation-engine/animations/timing-functions-expected.txt: Removed.
* legacy-animation-engine/animations/timing-functions.html: Removed.
* legacy-animation-engine/animations/transform-non-accelerated-expected.txt: Removed.
* legacy-animation-engine/animations/transform-non-accelerated.html: Removed.
* legacy-animation-engine/animations/transition-and-animation-1-expected.txt: Removed.
* legacy-animation-engine/animations/transition-and-animation-1.html: Removed.
* legacy-animation-engine/animations/transition-and-animation-2-expected.txt: Removed.
* legacy-animation-engine/animations/transition-and-animation-2.html: Removed.
* legacy-animation-engine/animations/transition-and-animation-3-expected.txt: Removed.
* legacy-animation-engine/animations/transition-and-animation-3.html: Removed.
* legacy-animation-engine/animations/unanimated-style-expected.txt: Removed.
* legacy-animation-engine/animations/unanimated-style.html: Removed.
* legacy-animation-engine/animations/unprefixed-events-expected.txt: Removed.
* legacy-animation-engine/animations/unprefixed-events-mixed-with-prefixed-expected.txt: Removed.
* legacy-animation-engine/animations/unprefixed-events-mixed-with-prefixed.html: Removed.
* legacy-animation-engine/animations/unprefixed-events.html: Removed.
* legacy-animation-engine/animations/unprefixed-keyframes-expected.txt: Removed.
* legacy-animation-engine/animations/unprefixed-keyframes-rule-expected.txt: Removed.
* legacy-animation-engine/animations/unprefixed-keyframes-rule.html: Removed.
* legacy-animation-engine/animations/unprefixed-keyframes.html: Removed.
* legacy-animation-engine/animations/unprefixed-properties-expected.txt: Removed.
* legacy-animation-engine/animations/unprefixed-properties.html: Removed.
* legacy-animation-engine/animations/unprefixed-shorthand-expected.txt: Removed.
* legacy-animation-engine/animations/unprefixed-shorthand.html: Removed.
* legacy-animation-engine/animations/width-using-ems-expected.txt: Removed.
* legacy-animation-engine/animations/width-using-ems.html: Removed.
* legacy-animation-engine/compositing/animation/animated-composited-inside-hidden-expected.txt: Removed.
* legacy-animation-engine/compositing/animation/animated-composited-inside-hidden.html: Removed.
* legacy-animation-engine/compositing/animation/animation-backing-expected.txt: Removed.
* legacy-animation-engine/compositing/animation/animation-backing.html: Removed.
* legacy-animation-engine/compositing/animation/animation-compositing-expected.txt: Removed.
* legacy-animation-engine/compositing/animation/animation-compositing.html: Removed.
* legacy-animation-engine/compositing/animation/busy-indicator-expected.txt: Removed.
* legacy-animation-engine/compositing/animation/busy-indicator-no.png: Removed.
* legacy-animation-engine/compositing/animation/busy-indicator.html: Removed.
* legacy-animation-engine/compositing/animation/busy-indicator.png: Removed.
* legacy-animation-engine/compositing/animation/computed-style-during-delay-expected.txt: Removed.
* legacy-animation-engine/compositing/animation/computed-style-during-delay.html: Removed.
* legacy-animation-engine/compositing/animation/keyframe-order-expected.html: Removed.
* legacy-animation-engine/compositing/animation/keyframe-order.html: Removed.
* legacy-animation-engine/compositing/animation/layer-for-filling-animation-expected.txt: Removed.
* legacy-animation-engine/compositing/animation/layer-for-filling-animation.html: Removed.
* legacy-animation-engine/compositing/animation/matrix-animation-expected.html: Removed.
* legacy-animation-engine/compositing/animation/matrix-animation.html: Removed.
* legacy-animation-engine/compositing/animation/state-at-end-event-transform-layer.html: Removed.
* legacy-animation-engine/compositing/backing/backface-visibility-flip-expected.txt: Removed.
* legacy-animation-engine/compositing/backing/backface-visibility-flip.html: Removed.
* legacy-animation-engine/compositing/backing/backing-store-attachment-animating-outside-viewport-expected.txt: Removed.
* legacy-animation-engine/compositing/backing/backing-store-attachment-animating-outside-viewport.html: Removed.
* legacy-animation-engine/compositing/backing/backing-store-attachment-empty-keyframe-expected.txt: Removed.
* legacy-animation-engine/compositing/backing/backing-store-attachment-empty-keyframe.html: Removed.
* legacy-animation-engine/compositing/backing/transform-transition-from-outside-view-expected.txt: Removed.
* legacy-animation-engine/compositing/backing/transform-transition-from-outside-view.html: Removed.
* legacy-animation-engine/compositing/contents-scale/animating-expected.txt: Removed.
* legacy-animation-engine/compositing/contents-scale/animating.html: Removed.
* legacy-animation-engine/compositing/geometry/limit-layer-bounds-opacity-transition-expected.txt: Removed.
* legacy-animation-engine/compositing/geometry/limit-layer-bounds-opacity-transition.html: Removed.
* legacy-animation-engine/compositing/geometry/partial-layout-update.html: Removed.
* legacy-animation-engine/compositing/layer-creation/animation-overlap-with-children-expected.txt: Removed.
* legacy-animation-engine/compositing/layer-creation/animation-overlap-with-children.html: Removed.
* legacy-animation-engine/compositing/layer-creation/mismatched-rotated-transform-animation-overlap-expected.txt: Removed.
* legacy-animation-engine/compositing/layer-creation/mismatched-rotated-transform-animation-overlap.html: Removed.
* legacy-animation-engine/compositing/layer-creation/mismatched-rotated-transform-transition-overlap-expected.txt: Removed.
* legacy-animation-engine/compositing/layer-creation/mismatched-rotated-transform-transition-overlap.html: Removed.
* legacy-animation-engine/compositing/layer-creation/mismatched-transform-transition-overlap-expected.txt: Removed.
* legacy-animation-engine/compositing/layer-creation/mismatched-transform-transition-overlap.html: Removed.
* legacy-animation-engine/compositing/layer-creation/multiple-keyframes-animation-overlap-expected.txt: Removed.
* legacy-animation-engine/compositing/layer-creation/multiple-keyframes-animation-overlap.html: Removed.
* legacy-animation-engine/compositing/layer-creation/overlap-animation-clipping-expected.txt: Removed.
* legacy-animation-engine/compositing/layer-creation/overlap-animation-clipping.html: Removed.
* legacy-animation-engine/compositing/layer-creation/overlap-animation-container-expected.txt: Removed.
* legacy-animation-engine/compositing/layer-creation/overlap-animation-container.html: Removed.
* legacy-animation-engine/compositing/layer-creation/overlap-animation-expected.txt: Removed.
* legacy-animation-engine/compositing/layer-creation/overlap-animation.html: Removed.
* legacy-animation-engine/compositing/layer-creation/scale-rotation-animation-overlap-expected.txt: Removed.
* legacy-animation-engine/compositing/layer-creation/scale-rotation-animation-overlap.html: Removed.
* legacy-animation-engine/compositing/layer-creation/scale-rotation-transition-overlap-expected.txt: Removed.
* legacy-animation-engine/compositing/layer-creation/scale-rotation-transition-overlap.html: Removed.
* legacy-animation-engine/compositing/layer-creation/translate-animation-overlap-expected.txt: Removed.
* legacy-animation-engine/compositing/layer-creation/translate-animation-overlap.html: Removed.
* legacy-animation-engine/compositing/layer-creation/translate-scale-animation-overlap-expected.txt: Removed.
* legacy-animation-engine/compositing/layer-creation/translate-scale-animation-overlap.html: Removed.
* legacy-animation-engine/compositing/layer-creation/translate-scale-transition-overlap-expected.txt: Removed.
* legacy-animation-engine/compositing/layer-creation/translate-scale-transition-overlap.html: Removed.
* legacy-animation-engine/compositing/layer-creation/translate-transition-overlap-expected.txt: Removed.
* legacy-animation-engine/compositing/layer-creation/translate-transition-overlap.html: Removed.
* legacy-animation-engine/compositing/overflow/overflow-positioning.html: Removed.
* legacy-animation-engine/compositing/reflections/animation-inside-reflection.html: Removed.
* legacy-animation-engine/compositing/reflections/load-video-in-reflection.html: Removed.
* legacy-animation-engine/compositing/reflections/nested-reflection-animated.html: Removed.
* legacy-animation-engine/compositing/reflections/nested-reflection-transition.html: Removed.
* legacy-animation-engine/compositing/repaint-container-assertion-when-toggling-compositing-expected.txt: Removed.
* legacy-animation-engine/compositing/repaint-container-assertion-when-toggling-compositing.html: Removed.
* legacy-animation-engine/compositing/repaint/become-overlay-composited-layer.html: Removed.
* legacy-animation-engine/compositing/repaint/layer-repaint-rects.html: Removed.
* legacy-animation-engine/compositing/repaint/opacity-between-absolute.html: Removed.
* legacy-animation-engine/compositing/repaint/opacity-between-absolute2.html: Removed.
* legacy-animation-engine/compositing/transitions/add-remove-transition-expected.html: Removed.
* legacy-animation-engine/compositing/transitions/add-remove-transition.html: Removed.
* legacy-animation-engine/compositing/transitions/opacity-on-inline-expected.txt: Removed.
* legacy-animation-engine/compositing/transitions/opacity-on-inline.html: Removed.
* legacy-animation-engine/compositing/transitions/scale-transition-no-start.html: Removed.
* legacy-animation-engine/compositing/transitions/singular-scale-transition.html: Removed.
* legacy-animation-engine/compositing/transitions/transform-on-large-layer-expected.html: Removed.
* legacy-animation-engine/compositing/transitions/transform-on-large-layer.html: Removed.
* legacy-animation-engine/compositing/updates/animation-non-composited-expected.txt: Removed.
* legacy-animation-engine/compositing/updates/animation-non-composited.html: Removed.
* legacy-animation-engine/compositing/visibility/visibility-composited-animation-expected.png: Removed.
* legacy-animation-engine/compositing/visibility/visibility-composited-animation-expected.txt: Removed.
* legacy-animation-engine/compositing/visibility/visibility-composited-animation.html: Removed.
* legacy-animation-engine/compositing/visible-rect/animated-expected.txt: Removed.
* legacy-animation-engine/compositing/visible-rect/animated-from-none-expected.txt: Removed.
* legacy-animation-engine/compositing/visible-rect/animated-from-none.html: Removed.
* legacy-animation-engine/compositing/visible-rect/animated.html: Removed.
* legacy-animation-engine/css1/units/zero-duration-without-units-expected.txt: Removed.
* legacy-animation-engine/css1/units/zero-duration-without-units.html: Removed.
* legacy-animation-engine/css3/calc/cubic-bezier-with-multiple-calcs-crash.html-expected.txt: Removed.
* legacy-animation-engine/css3/calc/cubic-bezier-with-multiple-calcs-crash.html.html: Removed.
* legacy-animation-engine/css3/calc/transition-crash-expected.txt: Removed.
* legacy-animation-engine/css3/calc/transition-crash.html: Removed.
* legacy-animation-engine/css3/calc/transition-crash2-expected.txt: Removed.
* legacy-animation-engine/css3/calc/transition-crash2.html: Removed.
* legacy-animation-engine/css3/calc/transition-crash3-expected.txt: Removed.
* legacy-animation-engine/css3/calc/transition-crash3.html: Removed.
* legacy-animation-engine/css3/calc/transition-crash4-expected.txt: Removed.
* legacy-animation-engine/css3/calc/transition-crash4.html: Removed.
* legacy-animation-engine/css3/calc/transitions-dependent-expected.txt: Removed.
* legacy-animation-engine/css3/calc/transitions-dependent.html: Removed.
* legacy-animation-engine/css3/calc/transitions-expected.txt: Removed.
* legacy-animation-engine/css3/calc/transitions.html: Removed.
* legacy-animation-engine/css3/calculated-word-spacing-expected.txt: Removed.
* legacy-animation-engine/css3/calculated-word-spacing.html: Removed.
* legacy-animation-engine/css3/filters/animation-from-initial-values-with-color-matrix-expected.html: Removed.
* legacy-animation-engine/css3/filters/animation-from-initial-values-with-color-matrix.html: Removed.
* legacy-animation-engine/css3/filters/backdrop/animation-expected.txt: Removed.
* legacy-animation-engine/css3/filters/backdrop/animation.html: Removed.
* legacy-animation-engine/css3/filters/composited-during-animation-expected.txt: Removed.
* legacy-animation-engine/css3/filters/composited-during-animation-layertree-expected.txt: Removed.
* legacy-animation-engine/css3/filters/composited-during-animation-layertree.html: Removed.
* legacy-animation-engine/css3/filters/composited-during-animation.html: Removed.
* legacy-animation-engine/css3/filters/composited-during-transition-layertree.html: Removed.
* legacy-animation-engine/css3/filters/crash-filter-animation-invalid-url-expected.txt: Removed.
* legacy-animation-engine/css3/filters/crash-filter-animation-invalid-url.html: Removed.
* legacy-animation-engine/css3/filters/filter-animation-expected.txt: Removed.
* legacy-animation-engine/css3/filters/filter-animation-from-none-expected.txt: Removed.
* legacy-animation-engine/css3/filters/filter-animation-from-none-hw-expected.txt: Removed.
* legacy-animation-engine/css3/filters/filter-animation-from-none-hw.html: Removed.
* legacy-animation-engine/css3/filters/filter-animation-from-none-multi-expected.txt: Removed.
* legacy-animation-engine/css3/filters/filter-animation-from-none-multi-hw-expected.txt: Removed.
* legacy-animation-engine/css3/filters/filter-animation-from-none-multi-hw.html: Removed.
* legacy-animation-engine/css3/filters/filter-animation-from-none-multi.html: Removed.
* legacy-animation-engine/css3/filters/filter-animation-from-none.html: Removed.
* legacy-animation-engine/css3/filters/filter-animation-hw-expected.txt: Removed.
* legacy-animation-engine/css3/filters/filter-animation-hw.html: Removed.
* legacy-animation-engine/css3/filters/filter-animation-multi-expected.txt: Removed.
* legacy-animation-engine/css3/filters/filter-animation-multi-hw-expected.txt: Removed.
* legacy-animation-engine/css3/filters/filter-animation-multi-hw.html: Removed.
* legacy-animation-engine/css3/filters/filter-animation-multi.html: Removed.
* legacy-animation-engine/css3/filters/filter-animation.html: Removed.
* legacy-animation-engine/css3/flexbox/csswg/css-flexbox-height-animation-stretch-expected.html: Removed.
* legacy-animation-engine/css3/flexbox/csswg/css-flexbox-height-animation-stretch.html: Removed.
* legacy-animation-engine/css3/infinite-word-spacing-expected.txt: Removed.
* legacy-animation-engine/css3/infinite-word-spacing.html: Removed.
* legacy-animation-engine/css3/masking/clip-path-animation-expected.txt: Removed.
* legacy-animation-engine/css3/masking/clip-path-animation.html: Removed.
* legacy-animation-engine/css3/supports-crash-expected.txt: Removed.
* legacy-animation-engine/css3/supports-crash.html: Removed.
* legacy-animation-engine/css3/supports-cssom-expected.txt: Removed.
* legacy-animation-engine/css3/supports-cssom.html: Removed.
* legacy-animation-engine/css3/supports-dom-api-expected.txt: Removed.
* legacy-animation-engine/css3/supports-dom-api.html: Removed.
* legacy-animation-engine/css3/supports-expected.txt: Removed.
* legacy-animation-engine/css3/supports-not-selector-cssom-expected.txt: Removed.
* legacy-animation-engine/css3/supports-not-selector-cssom.html: Removed.
* legacy-animation-engine/css3/supports-not-selector-expected.html: Removed.
* legacy-animation-engine/css3/supports-not-selector.html: Removed.
* legacy-animation-engine/css3/supports.html: Removed.
* legacy-animation-engine/cssom/cssvalue-comparison-expected.txt: Removed.
* legacy-animation-engine/cssom/cssvalue-comparison.html: Removed.
* legacy-animation-engine/editing/selection/layout-during-move-selection-crash-expected.txt: Removed.
* legacy-animation-engine/editing/selection/layout-during-move-selection-crash.html: Removed.
* legacy-animation-engine/fast/animation/animation-element-removal-expected.txt: Removed.
* legacy-animation-engine/fast/animation/animation-element-removal.html: Removed.
* legacy-animation-engine/fast/animation/animation-mixed-transform-crash-expected.html: Removed.
* legacy-animation-engine/fast/animation/animation-mixed-transform-crash.html: Removed.
* legacy-animation-engine/fast/animation/animation-style-update-size-expected.txt: Removed.
* legacy-animation-engine/fast/animation/animation-style-update-size.html: Removed.
* legacy-animation-engine/fast/animation/css-animation-resuming-when-visible-expected.txt: Removed.
* legacy-animation-engine/fast/animation/css-animation-resuming-when-visible-with-style-change-expected.txt: Removed.
* legacy-animation-engine/fast/animation/css-animation-resuming-when-visible-with-style-change.html: Removed.
* legacy-animation-engine/fast/animation/css-animation-resuming-when-visible-with-style-change2-expected.txt: Removed.
* legacy-animation-engine/fast/animation/css-animation-resuming-when-visible-with-style-change2.html: Removed.
* legacy-animation-engine/fast/animation/css-animation-resuming-when-visible.html: Removed.
* legacy-animation-engine/fast/animation/css-animation-throttling-lowPowerMode-expected.txt: Removed.
* legacy-animation-engine/fast/animation/css-animation-throttling-lowPowerMode.html: Removed.
* legacy-animation-engine/fast/animation/height-auto-transition-computed-value-expected.html: Removed.
* legacy-animation-engine/fast/animation/height-auto-transition-computed-value.html: Removed.
* legacy-animation-engine/fast/animation/keyframe-with-font-size-in-em-units-expected.txt: Removed.
* legacy-animation-engine/fast/animation/keyframe-with-font-size-in-em-units.html: Removed.
* legacy-animation-engine/fast/animation/request-animation-frame-iframe-expected.txt: Removed.
* legacy-animation-engine/fast/animation/request-animation-frame-iframe.html: Removed.
* legacy-animation-engine/fast/animation/request-animation-frame-iframe2-expected.txt: Removed.
* legacy-animation-engine/fast/animation/request-animation-frame-iframe2.html: Removed.
* legacy-animation-engine/fast/css-generated-content/noscript-pseudo-anim-crash-expected.txt: Removed.
* legacy-animation-engine/fast/css-generated-content/noscript-pseudo-anim-crash.html: Removed.
* legacy-animation-engine/fast/css-generated-content/pseudo-animation-expected.txt: Removed.
* legacy-animation-engine/fast/css-generated-content/pseudo-animation.html: Removed.
* legacy-animation-engine/fast/css-generated-content/pseudo-element-events-expected.txt: Removed.
* legacy-animation-engine/fast/css-generated-content/pseudo-element-events.html: Removed.
* legacy-animation-engine/fast/css-generated-content/pseudo-transition-event-expected.txt: Removed.
* legacy-animation-engine/fast/css-generated-content/pseudo-transition-event.html: Removed.
* legacy-animation-engine/fast/css-generated-content/pseudo-transition-expected.txt: Removed.
* legacy-animation-engine/fast/css-generated-content/pseudo-transition.html: Removed.
* legacy-animation-engine/fast/css/animation-pseudo-style-change-expected.html: Removed.
* legacy-animation-engine/fast/css/animation-pseudo-style-change.html: Removed.
* legacy-animation-engine/fast/css/animation-steps-calculated-value-expected.txt: Removed.
* legacy-animation-engine/fast/css/animation-steps-calculated-value.html: Removed.
* legacy-animation-engine/fast/css/animation-transition-duration-quirksmode-expected.txt: Removed.
* legacy-animation-engine/fast/css/animation-transition-duration-quirksmode.html: Removed.
* legacy-animation-engine/fast/css/calc-mixed-blend-crash-expected.txt: Removed.
* legacy-animation-engine/fast/css/calc-mixed-blend-crash.html: Removed.
* legacy-animation-engine/fast/css/calc-with-angle-time-frequency-expected.txt: Removed.
* legacy-animation-engine/fast/css/calc-with-angle-time-frequency.html: Removed.
* legacy-animation-engine/fast/css/getComputedStyle/getComputedStyle-with-pseudo-element-expected.txt: Removed.
* legacy-animation-engine/fast/css/getComputedStyle/getComputedStyle-with-pseudo-element.html: Removed.
* legacy-animation-engine/fast/css/getComputedStyle/resources/property-names.js: Removed.
* legacy-animation-engine/fast/css/getFloatValueForUnit-expected.txt: Removed.
* legacy-animation-engine/fast/css/getFloatValueForUnit.html: Removed.
* legacy-animation-engine/fast/css/image-set-value-not-removed-crash-expected.txt: Removed.
* legacy-animation-engine/fast/css/image-set-value-not-removed-crash.html: Removed.
* legacy-animation-engine/fast/css/longhand-overrides-shorthand-prefixing-expected.txt: Removed.
* legacy-animation-engine/fast/css/longhand-overrides-shorthand-prefixing.html: Removed.
* legacy-animation-engine/fast/css/number-parsing-crash-2-expected.txt: Removed.
* legacy-animation-engine/fast/css/number-parsing-crash-2.html: Removed.
* legacy-animation-engine/fast/css/onanimation-eventhandlers-expected.txt: Removed.
* legacy-animation-engine/fast/css/onanimation-eventhandlers.html: Removed.
* legacy-animation-engine/fast/css/ontransitionend-eventhandler-expected.txt: Removed.
* legacy-animation-engine/fast/css/ontransitionend-eventhandler.html: Removed.
* legacy-animation-engine/fast/css/parse-timing-function-crash-expected.txt: Removed.
* legacy-animation-engine/fast/css/parse-timing-function-crash.html: Removed.
* legacy-animation-engine/fast/css/prefixed-unprefixed-variant-style-declaration-expected.txt: Removed.
* legacy-animation-engine/fast/css/prefixed-unprefixed-variant-style-declaration.html: Removed.
* legacy-animation-engine/fast/css/shorthand-omitted-initial-value-overrides-shorthand-expected.txt: Removed.
* legacy-animation-engine/fast/css/shorthand-omitted-initial-value-overrides-shorthand.html: Removed.
* legacy-animation-engine/fast/css/transform-inline-style-expected.txt: Removed.
* legacy-animation-engine/fast/css/transform-inline-style-remove-expected.txt: Removed.
* legacy-animation-engine/fast/css/transform-inline-style-remove.html: Removed.
* legacy-animation-engine/fast/css/transform-inline-style.html: Removed.
* legacy-animation-engine/fast/css/transition-color-unspecified-expected.txt: Removed.
* legacy-animation-engine/fast/css/transition-color-unspecified.html: Removed.
* legacy-animation-engine/fast/css/transition-delay-calculated-value-expected.txt: Removed.
* legacy-animation-engine/fast/css/transition-delay-calculated-value.html: Removed.
* legacy-animation-engine/fast/css/transition-timing-function-expected.txt: Removed.
* legacy-animation-engine/fast/css/transition-timing-function.html: Removed.
* legacy-animation-engine/fast/css/transition_shorthand_parsing-expected.txt: Removed.
* legacy-animation-engine/fast/css/transition_shorthand_parsing.html: Removed.
* legacy-animation-engine/fast/dom/event-handler-attributes-expected.txt: Removed.
* legacy-animation-engine/fast/dom/event-handler-attributes.html: Removed.
* legacy-animation-engine/fast/events/constructors/webkit-animation-event-constructor-expected.txt: Removed.
* legacy-animation-engine/fast/events/constructors/webkit-animation-event-constructor.html: Removed.
* legacy-animation-engine/fast/filter-image/filter-image-animation-expected.txt: Removed.
* legacy-animation-engine/fast/filter-image/filter-image-animation.html: Removed.
* legacy-animation-engine/fast/harness/results-expected.txt: Removed.
* legacy-animation-engine/fast/harness/results.html: Removed.
* legacy-animation-engine/fast/images/animate-list-item-image-assertion-expected.txt: Removed.
* legacy-animation-engine/fast/images/animate-list-item-image-assertion.html: Removed.
* legacy-animation-engine/fast/images/crossfade-client-not-removed-crash-expected.txt: Removed.
* legacy-animation-engine/fast/images/crossfade-client-not-removed-crash.html: Removed.
* legacy-animation-engine/fast/images/image-copy-memory-usage-expected.txt: Removed.
* legacy-animation-engine/fast/images/image-copy-memory-usage.html: Removed.
* legacy-animation-engine/fast/inline/quotation-text-changes-dynamically-expected.txt: Removed.
* legacy-animation-engine/fast/inline/quotation-text-changes-dynamically.html: Removed.
* legacy-animation-engine/fast/layers/no-clipping-overflow-hidden-added-after-transform-expected.html: Removed.
* legacy-animation-engine/fast/layers/no-clipping-overflow-hidden-added-after-transform.html: Removed.
* legacy-animation-engine/fast/layers/no-clipping-overflow-hidden-added-after-transition-expected.html: Removed.
* legacy-animation-engine/fast/layers/no-clipping-overflow-hidden-added-after-transition.html: Removed.
* legacy-animation-engine/fast/layers/no-clipping-overflow-hidden-hardware-acceleration-expected.html: Removed.
* legacy-animation-engine/fast/layers/no-clipping-overflow-hidden-hardware-acceleration.html: Removed.
* legacy-animation-engine/fast/media/matchmedium-query-api-expected.txt: Removed.
* legacy-animation-engine/fast/media/matchmedium-query-api.html: Removed.
* legacy-animation-engine/fast/media/media-query-list-01-expected.txt: Removed.
* legacy-animation-engine/fast/media/media-query-list-01.html: Removed.
* legacy-animation-engine/fast/media/mq-animation-expected.html: Removed.
* legacy-animation-engine/fast/media/mq-animation.html: Removed.
* legacy-animation-engine/fast/media/mq-transition-expected.html: Removed.
* legacy-animation-engine/fast/media/mq-transition.html: Removed.
* legacy-animation-engine/fast/multicol/crash-when-spanner-gets-moved-around-expected.txt: Removed.
* legacy-animation-engine/fast/multicol/crash-when-spanner-gets-moved-around.html: Removed.
* legacy-animation-engine/fast/multicol/multicol-fieldset-span-changes-expected.txt: Removed.
* legacy-animation-engine/fast/multicol/multicol-fieldset-span-changes.html: Removed.
* legacy-animation-engine/fast/multicol/newmulticol/crash-when-switching-to-floating-expected.txt: Removed.
* legacy-animation-engine/fast/multicol/newmulticol/crash-when-switching-to-floating.html: Removed.
* legacy-animation-engine/fast/multicol/newmulticol/first-letter-create-expected.html: Removed.
* legacy-animation-engine/fast/multicol/newmulticol/first-letter-create.html: Removed.
* legacy-animation-engine/fast/multicol/newmulticol/spanner-crash-expected.txt: Removed.
* legacy-animation-engine/fast/multicol/newmulticol/spanner-crash-with-embedded-columns-expected.txt: Removed.
* legacy-animation-engine/fast/multicol/newmulticol/spanner-crash-with-embedded-columns.html: Removed.
* legacy-animation-engine/fast/multicol/newmulticol/spanner-crash.html: Removed.
* legacy-animation-engine/fast/multicol/newmulticol/table-section-crash-expected.txt: Removed.
* legacy-animation-engine/fast/multicol/newmulticol/table-section-crash.html: Removed.
* legacy-animation-engine/fast/multicol/svg-inside-multicolumn-expected.txt: Removed.
* legacy-animation-engine/fast/multicol/svg-inside-multicolumn.html: Removed.
* legacy-animation-engine/fast/repaint/list-item-equal-style-change-no-repaint-expected.txt: Removed.
* legacy-animation-engine/fast/repaint/list-item-equal-style-change-no-repaint.html: Removed.
* legacy-animation-engine/fast/shadow-dom/shadow-host-animation-expected.html: Removed.
* legacy-animation-engine/fast/shadow-dom/shadow-host-animation.html: Removed.
* legacy-animation-engine/fast/shadow-dom/shadow-host-transition-expected.html: Removed.
* legacy-animation-engine/fast/shadow-dom/shadow-host-transition.html: Removed.
* legacy-animation-engine/fast/shadow-dom/slot-renderer-teardown-expected.txt: Removed.
* legacy-animation-engine/fast/shadow-dom/slot-renderer-teardown.html: Removed.
* legacy-animation-engine/fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt: Removed.
* legacy-animation-engine/fast/shapes/shape-outside-floats/shape-outside-animation.html: Removed.
* legacy-animation-engine/fast/shapes/shape-outside-floats/shape-outside-shape-image-threshold-animation-expected.txt: Removed.
* legacy-animation-engine/fast/shapes/shape-outside-floats/shape-outside-shape-image-threshold-animation.html: Removed.
* legacy-animation-engine/fast/shapes/shape-outside-floats/shape-outside-shape-margin-animation-expected.txt: Removed.
* legacy-animation-engine/fast/shapes/shape-outside-floats/shape-outside-shape-margin-animation.html: Removed.
* legacy-animation-engine/fast/text/crash-complex-text-surrogate.html: Removed.
* legacy-animation-engine/fast/text/text-combine-crash-expected.txt: Removed.
* legacy-animation-engine/fast/text/text-combine-crash.html: Removed.
* legacy-animation-engine/imported/blink/animations/animation-events-prefixed-01-expected.txt: Removed.
* legacy-animation-engine/imported/blink/animations/animation-events-prefixed-01.html: Removed.
* legacy-animation-engine/imported/blink/animations/animation-events-prefixed-02-expected.txt: Removed.
* legacy-animation-engine/imported/blink/animations/animation-events-prefixed-02.html: Removed.
* legacy-animation-engine/imported/blink/animations/animation-events-prefixed-03-expected.txt: Removed.
* legacy-animation-engine/imported/blink/animations/animation-events-prefixed-03.html: Removed.
* legacy-animation-engine/imported/blink/animations/animation-events-prefixed-04-expected.txt: Removed.
* legacy-animation-engine/imported/blink/animations/animation-events-prefixed-04.html: Removed.
* legacy-animation-engine/imported/blink/animations/animation-events-unprefixed-01-expected.txt: Removed.
* legacy-animation-engine/imported/blink/animations/animation-events-unprefixed-01.html: Removed.
* legacy-animation-engine/imported/blink/animations/animation-events-unprefixed-02-expected.txt: Removed.
* legacy-animation-engine/imported/blink/animations/animation-events-unprefixed-02.html: Removed.
* legacy-animation-engine/imported/blink/animations/animation-events-unprefixed-03-expected.txt: Removed.
* legacy-animation-engine/imported/blink/animations/animation-events-unprefixed-03.html: Removed.
* legacy-animation-engine/imported/blink/animations/animation-events-unprefixed-04-expected.txt: Removed.
* legacy-animation-engine/imported/blink/animations/animation-events-unprefixed-04.html: Removed.
* legacy-animation-engine/imported/blink/animations/animation-immediate-start-event-after-ondemand-update-expected.txt: Removed.
* legacy-animation-engine/imported/blink/animations/animation-immediate-start-event-after-ondemand-update.html: Removed.
* legacy-animation-engine/imported/blink/animations/animation-iteration-event-short-iterations-expected.txt: Removed.
* legacy-animation-engine/imported/blink/animations/animation-iteration-event-short-iterations.html: Removed.
* legacy-animation-engine/imported/blink/animations/animation-name-none-expected.txt: Removed.
* legacy-animation-engine/imported/blink/animations/animation-name-none.html: Removed.
* legacy-animation-engine/imported/blink/animations/animation-shorthand-unprefixed-expected.txt: Removed.
* legacy-animation-engine/imported/blink/animations/animation-shorthand-unprefixed.html: Removed.
* legacy-animation-engine/imported/blink/animations/background-shorthand-crash-expected.txt: Removed.
* legacy-animation-engine/imported/blink/animations/background-shorthand-crash.html: Removed.
* legacy-animation-engine/imported/blink/animations/base-render-style-body-crash-expected.txt: Removed.
* legacy-animation-engine/imported/blink/animations/base-render-style-body-crash.html: Removed.
* legacy-animation-engine/imported/blink/animations/base-render-style-font-selector-version-assert-expected.html: Removed.
* legacy-animation-engine/imported/blink/animations/base-render-style-font-selector-version-assert.html: Removed.
* legacy-animation-engine/imported/blink/animations/deleted-image-set-transition-crash-expected.txt: Removed.
* legacy-animation-engine/imported/blink/animations/deleted-image-set-transition-crash.html: Removed.
* legacy-animation-engine/imported/blink/animations/display-none-cancels-nested-animations-expected.txt: Removed.
* legacy-animation-engine/imported/blink/animations/display-none-cancels-nested-animations.html: Removed.
* legacy-animation-engine/imported/blink/animations/display-none-terminates-animation-expected.txt: Removed.
* legacy-animation-engine/imported/blink/animations/display-none-terminates-animation.html: Removed.
* legacy-animation-engine/imported/blink/animations/empty-keyframe-animation-composited-expected.txt: Removed.
* legacy-animation-engine/imported/blink/animations/empty-keyframe-animation-composited.html: Removed.
* legacy-animation-engine/imported/blink/animations/empty-keyframes-composited-expected.txt: Removed.
* legacy-animation-engine/imported/blink/animations/empty-keyframes-composited.html: Removed.
* legacy-animation-engine/imported/blink/animations/events-with-short-duration-and-delay-expected.txt: Removed.
* legacy-animation-engine/imported/blink/animations/events-with-short-duration-and-delay.html: Removed.
* legacy-animation-engine/imported/blink/animations/inherit-crash-expected.txt: Removed.
* legacy-animation-engine/imported/blink/animations/inherit-crash.html: Removed.
* legacy-animation-engine/imported/blink/animations/keyframe-timing-function-unset-crash-expected.txt: Removed.
* legacy-animation-engine/imported/blink/animations/keyframe-timing-function-unset-crash.html: Removed.
* legacy-animation-engine/imported/blink/animations/pseudo-element-animation-with-color-crash-expected.txt: Removed.
* legacy-animation-engine/imported/blink/animations/pseudo-element-animation-with-color-crash.html: Removed.
* legacy-animation-engine/imported/blink/animations/pseudo-element-animation-with-marker-crash-expected.txt: Removed.
* legacy-animation-engine/imported/blink/animations/pseudo-element-animation-with-marker-crash.html: Removed.
* legacy-animation-engine/imported/blink/animations/pseudo-element-animation-with-rems-expected.txt: Removed.
* legacy-animation-engine/imported/blink/animations/pseudo-element-animation-with-rems.html: Removed.
* legacy-animation-engine/imported/blink/animations/wrong-keyframe-name-expected.txt: Removed.
* legacy-animation-engine/imported/blink/animations/wrong-keyframe-name.html: Removed.
* legacy-animation-engine/imported/blink/animations/zero-duration-infinite-iterations-expected.txt: Removed.
* legacy-animation-engine/imported/blink/animations/zero-duration-infinite-iterations.html: Removed.
* legacy-animation-engine/imported/blink/animations/zero-duration-large-start-delay-expected.txt: Removed.
* legacy-animation-engine/imported/blink/animations/zero-duration-large-start-delay.html: Removed.
* legacy-animation-engine/imported/blink/compositing/animation/hidden-animated-layer-should-not-have-scrollbars-expected.html: Removed.
* legacy-animation-engine/imported/blink/compositing/animation/hidden-animated-layer-should-not-have-scrollbars.html: Removed.
* legacy-animation-engine/imported/blink/compositing/layer-creation/incremental-destruction-expected.html: Removed.
* legacy-animation-engine/imported/blink/compositing/layer-creation/incremental-destruction.html: Removed.
* legacy-animation-engine/imported/blink/compositing/repaint/end-of-opacity-transition-expected.html: Removed.
* legacy-animation-engine/imported/blink/compositing/repaint/end-of-opacity-transition.html: Removed.
* legacy-animation-engine/imported/blink/compositing/squashing/animation-repaint-crash-expected.txt: Removed.
* legacy-animation-engine/imported/blink/compositing/squashing/animation-repaint-crash.html: Removed.
* legacy-animation-engine/imported/blink/compositing/squashing/remove-from-grouped-mapping-on-reassignment-expected.txt: Removed.
* legacy-animation-engine/imported/blink/compositing/squashing/remove-from-grouped-mapping-on-reassignment.html: Removed.
* legacy-animation-engine/imported/blink/css3/calc/transition-asan-crash-expected.txt: Removed.
* legacy-animation-engine/imported/blink/css3/calc/transition-asan-crash.html: Removed.
* legacy-animation-engine/imported/blink/fast/animation/animation-without-parent-crash-expected.txt: Removed.
* legacy-animation-engine/imported/blink/fast/animation/animation-without-parent-crash.html: Removed.
* legacy-animation-engine/imported/blink/fast/animation/last-child-assert-expected.txt: Removed.
* legacy-animation-engine/imported/blink/fast/animation/last-child-assert.html: Removed.
* legacy-animation-engine/imported/blink/fast/css-generated-content/pseudo-animation-display-expected.txt: Removed.
* legacy-animation-engine/imported/blink/fast/css-generated-content/pseudo-animation-display.html: Removed.
* legacy-animation-engine/imported/blink/fast/text/output-isolate-at-end-of-line-crash-expected.txt: Removed.
* legacy-animation-engine/imported/blink/fast/text/output-isolate-at-end-of-line-crash.html: Removed.
* legacy-animation-engine/imported/blink/http/tests/webfont/animation-assert-expected.html: Removed.
* legacy-animation-engine/imported/blink/http/tests/webfont/animation-assert.html: Removed.
* legacy-animation-engine/imported/blink/transitions/background-webkit-mask-crash-expected.txt: Removed.
* legacy-animation-engine/imported/blink/transitions/background-webkit-mask-crash.html: Removed.
* legacy-animation-engine/imported/blink/transitions/no-transition-on-implicit-margins-expected.txt: Removed.
* legacy-animation-engine/imported/blink/transitions/no-transition-on-implicit-margins.html: Removed.
* legacy-animation-engine/imported/blink/transitions/remove-accelerated-transition-expected.txt: Removed.
* legacy-animation-engine/imported/blink/transitions/remove-accelerated-transition.html: Removed.
* legacy-animation-engine/imported/blink/transitions/resources/opacity-transform-transitions-inside-iframe-inner.html: Removed.
* legacy-animation-engine/imported/blink/transitions/transition-not-interpolable-expected.txt: Removed.
* legacy-animation-engine/imported/blink/transitions/transition-not-interpolable.html: Removed.
* legacy-animation-engine/imported/blink/transitions/transition-property-explicit-initial-expected.txt: Removed.
* legacy-animation-engine/imported/blink/transitions/transition-property-explicit-initial.html: Removed.
* legacy-animation-engine/imported/blink/transitions/transition-shape-outside-crash-expected.txt: Removed.
* legacy-animation-engine/imported/blink/transitions/transition-shape-outside-crash.html: Removed.
* legacy-animation-engine/imported/blink/transitions/unprefixed-perspective-expected.txt: Removed.
* legacy-animation-engine/imported/blink/transitions/unprefixed-perspective.html: Removed.
* legacy-animation-engine/imported/blink/transitions/unprefixed-transform-expected.txt: Removed.
* legacy-animation-engine/imported/blink/transitions/unprefixed-transform.html: Removed.
* legacy-animation-engine/imported/blink/transitions/zero-duration-should-not-cancel-expected.txt: Removed.
* legacy-animation-engine/imported/blink/transitions/zero-duration-should-not-cancel.html: Removed.
* legacy-animation-engine/imported/blink/virtual/stable/animations-unprefixed/animation-events-prefixed-04-expected.txt: Removed.
* legacy-animation-engine/imported/blink/virtual/stable/animations-unprefixed/animation-events-prefixed-04.html: Removed.
* legacy-animation-engine/imported/blink/virtual/stable/animations-unprefixed/animation-events-unprefixed-04-expected.txt: Removed.
* legacy-animation-engine/imported/blink/virtual/stable/animations-unprefixed/animation-events-unprefixed-04.html: Removed.
* legacy-animation-engine/js/dom/transition-cache-dictionary-crash-expected.txt: Removed.
* legacy-animation-engine/js/dom/transition-cache-dictionary-crash.html: Removed.
* legacy-animation-engine/media/track/opera/track/webvtt/rendering/adhoc/cue_font_size_transition.html: Removed.
* legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_animation_with_timestamp-ref.html: Removed.
* legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_animation_with_timestamp.html: Removed.
* legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_transition_with_timestamp-ref.html: Removed.
* legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_transition_with_timestamp.html: Removed.
* legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_animation_with_timestamp-ref.html: Removed.
* legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_animation_with_timestamp.html: Removed.
* legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_transition_with_timestamp-ref.html: Removed.
* legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_transition_with_timestamp.html: Removed.
* legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_animation_with_timestamp-ref.html: Removed.
* legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_animation_with_timestamp.html: Removed.
* legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_transition_with_timestamp-ref.html: Removed.
* legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_transition_with_timestamp.html: Removed.
* legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_animation_with_timestamp-ref.html: Removed.
* legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_animation_with_timestamp.html: Removed.
* legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_transition_with_timestamp-ref.html: Removed.
* legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_transition_with_timestamp.html: Removed.
* legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_animation_with_timestamp-ref.html: Removed.
* legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_animation_with_timestamp.html: Removed.
* legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_transition_with_timestamp-ref.html: Removed.
* legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_transition_with_timestamp.html: Removed.
* legacy-animation-engine/scrollbars/scrollbar-scrollbarparts-repaint-crash-expected.txt: Removed.
* legacy-animation-engine/scrollbars/scrollbar-scrollbarparts-repaint-crash.html: Removed.
* legacy-animation-engine/tables/mozilla/bugs/bug113235-1.html: Removed.
* legacy-animation-engine/tables/table-section-overflow-clip-crash-expected.txt: Removed.
* legacy-animation-engine/tables/table-section-overflow-clip-crash.html: Removed.
* legacy-animation-engine/transitions/3d/interrupted-transition-expected.txt: Removed.
* legacy-animation-engine/transitions/3d/interrupted-transition.html: Removed.
* legacy-animation-engine/transitions/background-position-transitions-expected.txt: Removed.
* legacy-animation-engine/transitions/background-position-transitions.html: Removed.
* legacy-animation-engine/transitions/background-transitions-expected.txt: Removed.
* legacy-animation-engine/transitions/background-transitions.html: Removed.
* legacy-animation-engine/transitions/bad-transition-shorthand-crash-expected.txt: Removed.
* legacy-animation-engine/transitions/bad-transition-shorthand-crash.html: Removed.
* legacy-animation-engine/transitions/blendmode-transitions-expected.txt: Removed.
* legacy-animation-engine/transitions/blendmode-transitions.html: Removed.
* legacy-animation-engine/transitions/border-radius-transition-expected.txt: Removed.
* legacy-animation-engine/transitions/border-radius-transition.html: Removed.
* legacy-animation-engine/transitions/cancel-transition-expected.txt: Removed.
* legacy-animation-engine/transitions/cancel-transition.html: Removed.
* legacy-animation-engine/transitions/change-values-during-transition-expected.txt: Removed.
* legacy-animation-engine/transitions/change-values-during-transition.html: Removed.
* legacy-animation-engine/transitions/clip-path-path-transitions-expected.txt: Removed.
* legacy-animation-engine/transitions/clip-path-path-transitions.html: Removed.
* legacy-animation-engine/transitions/clip-path-transitions-expected.txt: Removed.
* legacy-animation-engine/transitions/clip-path-transitions.html: Removed.
* legacy-animation-engine/transitions/clip-transition-expected.txt: Removed.
* legacy-animation-engine/transitions/clip-transition.html: Removed.
* legacy-animation-engine/transitions/color-transition-all-expected.txt: Removed.
* legacy-animation-engine/transitions/color-transition-all.html: Removed.
* legacy-animation-engine/transitions/color-transition-premultiplied-expected.txt: Removed.
* legacy-animation-engine/transitions/color-transition-premultiplied.html: Removed.
* legacy-animation-engine/transitions/color-transition-rounding-expected.txt: Removed.
* legacy-animation-engine/transitions/color-transition-rounding.html: Removed.
* legacy-animation-engine/transitions/created-while-suspended-expected.txt: Removed.
* legacy-animation-engine/transitions/created-while-suspended.html: Removed.
* legacy-animation-engine/transitions/cross-fade-background-image-expected.txt: Removed.
* legacy-animation-engine/transitions/cross-fade-background-image.html: Removed.
* legacy-animation-engine/transitions/cross-fade-border-image.html: Removed.
* legacy-animation-engine/transitions/crossfade-transition-expected.txt: Removed.
* legacy-animation-engine/transitions/crossfade-transition.html: Removed.
* legacy-animation-engine/transitions/cubic-bezier-overflow-color-expected.txt: Removed.
* legacy-animation-engine/transitions/cubic-bezier-overflow-color.html: Removed.
* legacy-animation-engine/transitions/cubic-bezier-overflow-length-expected.txt: Removed.
* legacy-animation-engine/transitions/cubic-bezier-overflow-length.html: Removed.
* legacy-animation-engine/transitions/cubic-bezier-overflow-shadow-expected.txt: Removed.
* legacy-animation-engine/transitions/cubic-bezier-overflow-shadow.html: Removed.
* legacy-animation-engine/transitions/cubic-bezier-overflow-svg-length-expected.txt: Removed.
* legacy-animation-engine/transitions/cubic-bezier-overflow-svg-length.html: Removed.
* legacy-animation-engine/transitions/cubic-bezier-overflow-transform-expected.txt: Removed.
* legacy-animation-engine/transitions/cubic-bezier-overflow-transform.html: Removed.
* legacy-animation-engine/transitions/default-timing-function.html: Removed.
* legacy-animation-engine/transitions/delay-expected.txt: Removed.
* legacy-animation-engine/transitions/delay.html: Removed.
* legacy-animation-engine/transitions/equivalent-background-image-no-transition-expected.txt: Removed.
* legacy-animation-engine/transitions/equivalent-background-image-no-transition.html: Removed.
* legacy-animation-engine/transitions/extra-transition-expected.txt: Removed.
* legacy-animation-engine/transitions/extra-transition.html: Removed.
* legacy-animation-engine/transitions/flex-transitions-expected.txt: Removed.
* legacy-animation-engine/transitions/flex-transitions.html: Removed.
* legacy-animation-engine/transitions/font-family-during-transition-expected.txt: Removed.
* legacy-animation-engine/transitions/font-family-during-transition.html: Removed.
* legacy-animation-engine/transitions/frames-timing-function-expected.txt: Removed.
* legacy-animation-engine/transitions/frames-timing-function.html: Removed.
* legacy-animation-engine/transitions/hang-with-bad-transition-list-expected.txt: Removed.
* legacy-animation-engine/transitions/hang-with-bad-transition-list.html: Removed.
* legacy-animation-engine/transitions/inherit-expected.txt: Removed.
* legacy-animation-engine/transitions/inherit-other-props-expected.txt: Removed.
* legacy-animation-engine/transitions/inherit-other-props.html: Removed.
* legacy-animation-engine/transitions/inherit.html: Removed.
* legacy-animation-engine/transitions/interrupt-transform-transition-expected.txt: Removed.
* legacy-animation-engine/transitions/interrupt-transform-transition.html: Removed.
* legacy-animation-engine/transitions/interrupt-zero-duration-expected.txt: Removed.
* legacy-animation-engine/transitions/interrupt-zero-duration.html: Removed.
* legacy-animation-engine/transitions/interrupted-accelerated-transition-expected.txt: Removed.
* legacy-animation-engine/transitions/interrupted-accelerated-transition.html: Removed.
* legacy-animation-engine/transitions/interrupted-all-transition-expected.txt: Removed.
* legacy-animation-engine/transitions/interrupted-all-transition.html: Removed.
* legacy-animation-engine/transitions/lengthsize-transition-to-from-auto-expected.txt: Removed.
* legacy-animation-engine/transitions/lengthsize-transition-to-from-auto.html: Removed.
* legacy-animation-engine/transitions/longhand-vs-shorthand-initial-expected.txt: Removed.
* legacy-animation-engine/transitions/longhand-vs-shorthand-initial.html: Removed.
* legacy-animation-engine/transitions/mask-transitions-expected.txt: Removed.
* legacy-animation-engine/transitions/mask-transitions.html: Removed.
* legacy-animation-engine/transitions/matched-transform-functions-expected.txt: Removed.
* legacy-animation-engine/transitions/matched-transform-functions.html: Removed.
* legacy-animation-engine/transitions/min-max-width-height-transitions-expected.txt: Removed.
* legacy-animation-engine/transitions/min-max-width-height-transitions.html: Removed.
* legacy-animation-engine/transitions/mismatched-shadow-styles-expected.txt: Removed.
* legacy-animation-engine/transitions/mismatched-shadow-styles.html: Removed.
* legacy-animation-engine/transitions/mismatched-shadow-transitions-expected.txt: Removed.
* legacy-animation-engine/transitions/mismatched-shadow-transitions.html: Removed.
* legacy-animation-engine/transitions/mixed-type-expected.txt: Removed.
* legacy-animation-engine/transitions/mixed-type.html: Removed.
* legacy-animation-engine/transitions/move-after-transition.html: Removed.
* legacy-animation-engine/transitions/multiple-background-size-transitions-expected.txt: Removed.
* legacy-animation-engine/transitions/multiple-background-size-transitions.html: Removed.
* legacy-animation-engine/transitions/multiple-background-transitions-expected.txt: Removed.
* legacy-animation-engine/transitions/multiple-background-transitions.html: Removed.
* legacy-animation-engine/transitions/multiple-mask-transitions-expected.txt: Removed.
* legacy-animation-engine/transitions/multiple-mask-transitions.html: Removed.
* legacy-animation-engine/transitions/multiple-shadow-transitions-expected.txt: Removed.
* legacy-animation-engine/transitions/multiple-shadow-transitions.html: Removed.
* legacy-animation-engine/transitions/multiple-text-shadow-transition-expected.txt: Removed.
* legacy-animation-engine/transitions/multiple-text-shadow-transition.html: Removed.
* legacy-animation-engine/transitions/negative-delay-expected.txt: Removed.
* legacy-animation-engine/transitions/negative-delay.html: Removed.
* legacy-animation-engine/transitions/opacity-transition-zindex-expected.txt: Removed.
* legacy-animation-engine/transitions/opacity-transition-zindex.html: Removed.
* legacy-animation-engine/transitions/override-transition-crash-expected.txt: Removed.
* legacy-animation-engine/transitions/override-transition-crash.html: Removed.
* legacy-animation-engine/transitions/remove-transition-style-expected.txt: Removed.
* legacy-animation-engine/transitions/remove-transition-style.html: Removed.
* legacy-animation-engine/transitions/repeated-firing-background-color-expected.txt: Removed.
* legacy-animation-engine/transitions/repeated-firing-background-color.html: Removed.
* legacy-animation-engine/transitions/resources/Aurora.jpg: Removed.
* legacy-animation-engine/transitions/resources/interrupted-accelerated-transition-final.html: Removed.
* legacy-animation-engine/transitions/resources/transition-end-event-destroy-iframe-inner.html: Removed.
* legacy-animation-engine/transitions/resources/transition-test-helpers.js: Removed.
* legacy-animation-engine/transitions/retargetted-transition-expected.txt: Removed.
* legacy-animation-engine/transitions/retargetted-transition.html: Removed.
* legacy-animation-engine/transitions/rounded-rect-becomes-non-renderable-while-transitioning-expected.txt: Removed.
* legacy-animation-engine/transitions/rounded-rect-becomes-non-renderable-while-transitioning.html: Removed.
* legacy-animation-engine/transitions/shadow-expected.txt: Removed.
* legacy-animation-engine/transitions/shadow.html: Removed.
* legacy-animation-engine/transitions/shape-outside-transitions-expected.txt: Removed.
* legacy-animation-engine/transitions/shape-outside-transitions.html: Removed.
* legacy-animation-engine/transitions/shorthand-border-transitions-expected.txt: Removed.
* legacy-animation-engine/transitions/shorthand-border-transitions.html: Removed.
* legacy-animation-engine/transitions/shorthand-transitions-expected.txt: Removed.
* legacy-animation-engine/transitions/shorthand-transitions.html: Removed.
* legacy-animation-engine/transitions/start-transform-transition-expected.txt: Removed.
* legacy-animation-engine/transitions/start-transform-transition.html: Removed.
* legacy-animation-engine/transitions/started-while-suspended-expected.txt: Removed.
* legacy-animation-engine/transitions/started-while-suspended.html: Removed.
* legacy-animation-engine/transitions/steps-timing-function-expected.txt: Removed.
* legacy-animation-engine/transitions/steps-timing-function.html: Removed.
* legacy-animation-engine/transitions/suspend-transform-transition-expected.png: Removed.
* legacy-animation-engine/transitions/suspend-transform-transition-expected.txt: Removed.
* legacy-animation-engine/transitions/suspend-transform-transition.html: Removed.
* legacy-animation-engine/transitions/svg-bad-scale-crash-expected.txt: Removed.
* legacy-animation-engine/transitions/svg-bad-scale-crash.html: Removed.
* legacy-animation-engine/transitions/svg-layout-transition-expected.txt: Removed.
* legacy-animation-engine/transitions/svg-layout-transition.html: Removed.
* legacy-animation-engine/transitions/svg-text-shadow-transition.html: Removed.
* legacy-animation-engine/transitions/svg-transitions-expected.txt: Removed.
* legacy-animation-engine/transitions/svg-transitions.html: Removed.
* legacy-animation-engine/transitions/text-indent-transition-expected.txt: Removed.
* legacy-animation-engine/transitions/text-indent-transition.html: Removed.
* legacy-animation-engine/transitions/transform-op-list-match-expected.txt: Removed.
* legacy-animation-engine/transitions/transform-op-list-match.html: Removed.
* legacy-animation-engine/transitions/transform-op-list-no-match-expected.txt: Removed.
* legacy-animation-engine/transitions/transform-op-list-no-match.html: Removed.
* legacy-animation-engine/transitions/transition-display-property-2-expected.html: Removed.
* legacy-animation-engine/transitions/transition-display-property-2.html: Removed.
* legacy-animation-engine/transitions/transition-display-property-expected.html: Removed.
* legacy-animation-engine/transitions/transition-display-property.html: Removed.
* legacy-animation-engine/transitions/transition-drt-api-delay-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-drt-api-delay.html: Removed.
* legacy-animation-engine/transitions/transition-drt-api-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-drt-api.html: Removed.
* legacy-animation-engine/transitions/transition-duration-cleared-in-transitionend-crash-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-duration-cleared-in-transitionend-crash.html: Removed.
* legacy-animation-engine/transitions/transition-end-event-all-properties-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-end-event-all-properties.html: Removed.
* legacy-animation-engine/transitions/transition-end-event-attributes-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-end-event-attributes.html: Removed.
* legacy-animation-engine/transitions/transition-end-event-container-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-end-event-container.html: Removed.
* legacy-animation-engine/transitions/transition-end-event-create-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-end-event-create.html: Removed.
* legacy-animation-engine/transitions/transition-end-event-destroy-iframe-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-end-event-destroy-iframe.html: Removed.
* legacy-animation-engine/transitions/transition-end-event-destroy-renderer-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-end-event-destroy-renderer.html: Removed.
* legacy-animation-engine/transitions/transition-end-event-helpers.js: Removed.
* legacy-animation-engine/transitions/transition-end-event-left-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-end-event-left.html: Removed.
* legacy-animation-engine/transitions/transition-end-event-multiple-01-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-end-event-multiple-01.html: Removed.
* legacy-animation-engine/transitions/transition-end-event-multiple-02-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-end-event-multiple-02.html: Removed.
* legacy-animation-engine/transitions/transition-end-event-multiple-03-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-end-event-multiple-03.html: Removed.
* legacy-animation-engine/transitions/transition-end-event-multiple-04-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-end-event-multiple-04.html: Removed.
* legacy-animation-engine/transitions/transition-end-event-nested-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-end-event-nested.html: Removed.
* legacy-animation-engine/transitions/transition-end-event-prefixed-01-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-end-event-prefixed-01.html: Removed.
* legacy-animation-engine/transitions/transition-end-event-prefixed-02-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-end-event-prefixed-02.html: Removed.
* legacy-animation-engine/transitions/transition-end-event-prefixed-03-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-end-event-prefixed-03.html: Removed.
* legacy-animation-engine/transitions/transition-end-event-rendering-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-end-event-rendering.html: Removed.
* legacy-animation-engine/transitions/transition-end-event-set-none-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-end-event-set-none.html: Removed.
* legacy-animation-engine/transitions/transition-end-event-transform-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-end-event-transform.html: Removed.
* legacy-animation-engine/transitions/transition-end-event-unprefixed-01-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-end-event-unprefixed-01.html: Removed.
* legacy-animation-engine/transitions/transition-end-event-unprefixed-02-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-end-event-unprefixed-02.html: Removed.
* legacy-animation-engine/transitions/transition-end-event-unprefixed-03-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-end-event-unprefixed-03.html: Removed.
* legacy-animation-engine/transitions/transition-end-event-unprefixed-04-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-end-event-unprefixed-04.html: Removed.
* legacy-animation-engine/transitions/transition-end-event-window-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-end-event-window.html: Removed.
* legacy-animation-engine/transitions/transition-hit-test-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-hit-test-transform-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-hit-test-transform.html: Removed.
* legacy-animation-engine/transitions/transition-hit-test.html: Removed.
* legacy-animation-engine/transitions/transition-in-delay-phase-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-in-delay-phase.html: Removed.
* legacy-animation-engine/transitions/transition-on-element-with-content-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-on-element-with-content.html: Removed.
* legacy-animation-engine/transitions/transition-shorthand-delay-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-shorthand-delay.html: Removed.
* legacy-animation-engine/transitions/transition-timing-function-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-timing-function.html: Removed.
* legacy-animation-engine/transitions/transition-to-from-auto-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-to-from-auto.html: Removed.
* legacy-animation-engine/transitions/transition-to-from-undefined-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-to-from-undefined.html: Removed.
* legacy-animation-engine/transitions/transition-transform-translate-calculated-length-crash-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-transform-translate-calculated-length-crash.html: Removed.
* legacy-animation-engine/transitions/transition-unknown-property-ignore-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-unknown-property-ignore.html: Removed.
* legacy-animation-engine/transitions/transition-with-calc-spin-expected.txt: Removed.
* legacy-animation-engine/transitions/transition-with-calc-spin.html: Removed.
* legacy-animation-engine/transitions/transitions-parsing-expected.txt: Removed.
* legacy-animation-engine/transitions/transitions-parsing.html: Removed.
* legacy-animation-engine/transitions/visited-link-color-expected.txt: Removed.
* legacy-animation-engine/transitions/visited-link-color.html: Removed.
* legacy-animation-engine/transitions/zero-duration-in-list-expected.txt: Removed.
* legacy-animation-engine/transitions/zero-duration-in-list.html: Removed.
* legacy-animation-engine/transitions/zero-duration-with-non-zero-delay-end-expected.txt: Removed.
* legacy-animation-engine/transitions/zero-duration-with-non-zero-delay-end.html: Removed.
* legacy-animation-engine/transitions/zero-duration-with-non-zero-delay-start-expected.txt: Removed.
* legacy-animation-engine/transitions/zero-duration-with-non-zero-delay-start.html: Removed.
* legacy-animation-engine/transitions/zero-duration-without-units-expected.txt: Removed.
* legacy-animation-engine/transitions/zero-duration-without-units.html: Removed.
* platform/gtk/TestExpectations:
* platform/gtk/legacy-animation-engine/animations/3d/change-transform-in-end-event-expected.png: Removed.
* platform/gtk/legacy-animation-engine/animations/3d/change-transform-in-end-event-expected.txt: Removed.
* platform/gtk/legacy-animation-engine/animations/3d/matrix-transform-type-animation-expected.png: Removed.
* platform/gtk/legacy-animation-engine/animations/3d/matrix-transform-type-animation-expected.txt: Removed.
* platform/gtk/legacy-animation-engine/animations/3d/replace-filling-transform-expected.png: Removed.
* platform/gtk/legacy-animation-engine/animations/3d/state-at-end-event-transform-expected.png: Removed.
* platform/gtk/legacy-animation-engine/animations/3d/state-at-end-event-transform-expected.txt: Removed.
* platform/gtk/legacy-animation-engine/animations/animation-offscreen-to-onscreen-expected.png: Removed.
* platform/gtk/legacy-animation-engine/animations/cross-fade-border-image-source-expected.png: Removed.
* platform/gtk/legacy-animation-engine/animations/cross-fade-border-image-source-expected.txt: Removed.
* platform/gtk/legacy-animation-engine/animations/cross-fade-list-style-image-expected.png: Removed.
* platform/gtk/legacy-animation-engine/animations/cross-fade-list-style-image-expected.txt: Removed.
* platform/gtk/legacy-animation-engine/animations/cross-fade-webkit-mask-box-image-expected.png: Removed.
* platform/gtk/legacy-animation-engine/animations/cross-fade-webkit-mask-box-image-expected.txt: Removed.
* platform/gtk/legacy-animation-engine/animations/cross-fade-webkit-mask-image-expected.png: Removed.
* platform/gtk/legacy-animation-engine/animations/cross-fade-webkit-mask-image-expected.txt: Removed.
* platform/gtk/legacy-animation-engine/animations/lineheight-animation-expected.txt: Removed.
* platform/gtk/legacy-animation-engine/animations/missing-values-first-keyframe-expected.png: Removed.
* platform/gtk/legacy-animation-engine/animations/missing-values-first-keyframe-expected.txt: Removed.
* platform/gtk/legacy-animation-engine/animations/missing-values-last-keyframe-expected.png: Removed.
* platform/gtk/legacy-animation-engine/animations/missing-values-last-keyframe-expected.txt: Removed.
* platform/gtk/legacy-animation-engine/animations/opacity-transform-animation-expected.png: Removed.
* platform/gtk/legacy-animation-engine/animations/simultaneous-start-transform-expected.txt: Removed.
* platform/gtk/legacy-animation-engine/animations/state-at-end-event-expected.png: Removed.
* platform/gtk/legacy-animation-engine/animations/state-at-end-event-expected.txt: Removed.
* platform/gtk/legacy-animation-engine/animations/suspend-transform-animation-expected.png: Removed.
* platform/gtk/legacy-animation-engine/animations/width-using-ems-expected.txt: Removed.
* platform/gtk/legacy-animation-engine/compositing/animation/state-at-end-event-transform-layer-expected.png: Removed.
* platform/gtk/legacy-animation-engine/compositing/animation/state-at-end-event-transform-layer-expected.txt: Removed.
* platform/gtk/legacy-animation-engine/compositing/geometry/partial-layout-update-expected.png: Removed.
* platform/gtk/legacy-animation-engine/compositing/geometry/partial-layout-update-expected.txt: Removed.
* platform/gtk/legacy-animation-engine/compositing/layer-creation/overlap-animation-container-expected.txt: Removed.
* platform/gtk/legacy-animation-engine/compositing/layer-creation/overlap-animation-expected.txt: Removed.
* platform/gtk/legacy-animation-engine/compositing/overflow/overflow-positioning-expected.png: Removed.
* platform/gtk/legacy-animation-engine/compositing/overflow/overflow-positioning-expected.txt: Removed.
* platform/gtk/legacy-animation-engine/compositing/repaint/become-overlay-composited-layer-expected.png: Removed.
* platform/gtk/legacy-animation-engine/compositing/repaint/become-overlay-composited-layer-expected.txt: Removed.
* platform/gtk/legacy-animation-engine/compositing/repaint/layer-repaint-rects-expected.png: Removed.
* platform/gtk/legacy-animation-engine/compositing/repaint/layer-repaint-rects-expected.txt: Removed.
* platform/gtk/legacy-animation-engine/compositing/repaint/opacity-between-absolute-expected.png: Removed.
* platform/gtk/legacy-animation-engine/compositing/repaint/opacity-between-absolute-expected.txt: Removed.
* platform/gtk/legacy-animation-engine/compositing/repaint/opacity-between-absolute2-expected.png: Removed.
* platform/gtk/legacy-animation-engine/compositing/repaint/opacity-between-absolute2-expected.txt: Removed.
* platform/gtk/legacy-animation-engine/css3/filters/composited-during-transition-layertree-expected.txt: Removed.
* platform/gtk/legacy-animation-engine/fast/css/transition-color-unspecified-expected.png: Removed.
* platform/gtk/legacy-animation-engine/fast/text/crash-complex-text-surrogate-expected.txt: Removed.
* platform/gtk/legacy-animation-engine/tables/mozilla/bugs/bug113235-1-expected.png: Removed.
* platform/gtk/legacy-animation-engine/tables/mozilla/bugs/bug113235-1-expected.txt: Removed.
* platform/gtk/legacy-animation-engine/transitions/cross-fade-background-image-expected.png: Removed.
* platform/gtk/legacy-animation-engine/transitions/cross-fade-background-image-expected.txt: Removed.
* platform/gtk/legacy-animation-engine/transitions/cross-fade-border-image-expected.png: Removed.
* platform/gtk/legacy-animation-engine/transitions/cross-fade-border-image-expected.txt: Removed.
* platform/gtk/legacy-animation-engine/transitions/default-timing-function-expected.png: Removed.
* platform/gtk/legacy-animation-engine/transitions/default-timing-function-expected.txt: Removed.
* platform/gtk/legacy-animation-engine/transitions/move-after-transition-expected.png: Removed.
* platform/gtk/legacy-animation-engine/transitions/move-after-transition-expected.txt: Removed.
* platform/gtk/legacy-animation-engine/transitions/opacity-transition-zindex-expected.png: Removed.
* platform/gtk/legacy-animation-engine/transitions/suspend-transform-transition-expected.png: Removed.
* platform/gtk/legacy-animation-engine/transitions/svg-text-shadow-transition-expected.png: Removed.
* platform/gtk/legacy-animation-engine/transitions/svg-text-shadow-transition-expected.txt: Removed.
* platform/gtk/legacy-animation-engine/transitions/transition-end-event-rendering-expected.png: Removed.
* platform/ios-simulator-wk2/TestExpectations:
* platform/ios-wk1/TestExpectations:
* platform/ios-wk1/legacy-animation-engine/animations/trigger-container-scroll-simple-expected.txt: Removed.
* platform/ios-wk1/legacy-animation-engine/compositing/backing/backface-visibility-flip-expected.txt: Removed.
* platform/ios-wk1/legacy-animation-engine/transitions/default-timing-function-expected.txt: Removed.
* platform/ios-wk2/TestExpectations:
* platform/ios-wk2/legacy-animation-engine/compositing/backing/backing-store-attachment-animating-outside-viewport-expected.txt: Removed.
* platform/ios-wk2/legacy-animation-engine/transitions/default-timing-function-expected.png: Removed.
* platform/ios/TestExpectations:
* platform/ios/legacy-animation-engine/animations/3d/change-transform-in-end-event-expected.txt: Removed.
* platform/ios/legacy-animation-engine/animations/3d/matrix-transform-type-animation-expected.txt: Removed.
* platform/ios/legacy-animation-engine/animations/3d/replace-filling-transform-expected.txt: Removed.
* platform/ios/legacy-animation-engine/animations/3d/state-at-end-event-transform-expected.txt: Removed.
* platform/ios/legacy-animation-engine/animations/animation-offscreen-to-onscreen-expected.txt: Removed.
* platform/ios/legacy-animation-engine/animations/cross-fade-border-image-source-expected.txt: Removed.
* platform/ios/legacy-animation-engine/animations/cross-fade-list-style-image-expected.txt: Removed.
* platform/ios/legacy-animation-engine/animations/cross-fade-webkit-mask-box-image-expected.txt: Removed.
* platform/ios/legacy-animation-engine/animations/cross-fade-webkit-mask-image-expected.txt: Removed.
* platform/ios/legacy-animation-engine/animations/missing-values-first-keyframe-expected.txt: Removed.
* platform/ios/legacy-animation-engine/animations/missing-values-last-keyframe-expected.txt: Removed.
* platform/ios/legacy-animation-engine/animations/opacity-transform-animation-expected.txt: Removed.
* platform/ios/legacy-animation-engine/animations/state-at-end-event-expected.txt: Removed.
* platform/ios/legacy-animation-engine/animations/suspend-transform-animation-expected.txt: Removed.
* platform/ios/legacy-animation-engine/compositing/animation/state-at-end-event-transform-layer-expected.png: Removed.
* platform/ios/legacy-animation-engine/compositing/animation/state-at-end-event-transform-layer-expected.txt: Removed.
* platform/ios/legacy-animation-engine/compositing/contents-scale/animating-expected.txt: Removed.
* platform/ios/legacy-animation-engine/compositing/geometry/partial-layout-update-expected.png: Removed.
* platform/ios/legacy-animation-engine/compositing/geometry/partial-layout-update-expected.txt: Removed.
* platform/ios/legacy-animation-engine/compositing/layer-creation/overlap-animation-clipping-expected.txt: Removed.
* platform/ios/legacy-animation-engine/compositing/layer-creation/overlap-animation-container-expected.txt: Removed.
* platform/ios/legacy-animation-engine/compositing/layer-creation/scale-rotation-animation-overlap-expected.txt: Removed.
* platform/ios/legacy-animation-engine/compositing/overflow/overflow-positioning-expected.png: Removed.
* platform/ios/legacy-animation-engine/compositing/overflow/overflow-positioning-expected.txt: Removed.
* platform/ios/legacy-animation-engine/compositing/reflections/animation-inside-reflection-expected.png: Removed.
* platform/ios/legacy-animation-engine/compositing/reflections/animation-inside-reflection-expected.txt: Removed.
* platform/ios/legacy-animation-engine/compositing/reflections/load-video-in-reflection-expected.txt: Removed.
* platform/ios/legacy-animation-engine/compositing/reflections/nested-reflection-animated-expected.png: Removed.
* platform/ios/legacy-animation-engine/compositing/reflections/nested-reflection-animated-expected.txt: Removed.
* platform/ios/legacy-animation-engine/compositing/reflections/nested-reflection-transition-expected.png: Removed.
* platform/ios/legacy-animation-engine/compositing/reflections/nested-reflection-transition-expected.txt: Removed.
* platform/ios/legacy-animation-engine/compositing/repaint/become-overlay-composited-layer-expected.png: Removed.
* platform/ios/legacy-animation-engine/compositing/repaint/become-overlay-composited-layer-expected.txt: Removed.
* platform/ios/legacy-animation-engine/compositing/repaint/layer-repaint-rects-expected.png: Removed.
* platform/ios/legacy-animation-engine/compositing/repaint/layer-repaint-rects-expected.txt: Removed.
* platform/ios/legacy-animation-engine/compositing/repaint/opacity-between-absolute-expected.png: Removed.
* platform/ios/legacy-animation-engine/compositing/repaint/opacity-between-absolute-expected.txt: Removed.
* platform/ios/legacy-animation-engine/compositing/repaint/opacity-between-absolute2-expected.png: Removed.
* platform/ios/legacy-animation-engine/compositing/repaint/opacity-between-absolute2-expected.txt: Removed.
* platform/ios/legacy-animation-engine/compositing/transitions/scale-transition-no-start-expected.png: Removed.
* platform/ios/legacy-animation-engine/compositing/transitions/scale-transition-no-start-expected.txt: Removed.
* platform/ios/legacy-animation-engine/compositing/transitions/singular-scale-transition-expected.png: Removed.
* platform/ios/legacy-animation-engine/compositing/transitions/singular-scale-transition-expected.txt: Removed.
* platform/ios/legacy-animation-engine/compositing/visible-rect/animated-expected.txt: Removed.
* platform/ios/legacy-animation-engine/compositing/visible-rect/animated-from-none-expected.txt: Removed.
* platform/ios/legacy-animation-engine/css3/filters/composited-during-transition-layertree-expected.txt: Removed.
* platform/ios/legacy-animation-engine/fast/text/crash-complex-text-surrogate-expected.txt: Removed.
* platform/ios/legacy-animation-engine/tables/mozilla/bugs/bug113235-1-expected.txt: Removed.
* platform/ios/legacy-animation-engine/transitions/cross-fade-border-image-expected.txt: Removed.
* platform/ios/legacy-animation-engine/transitions/default-timing-function-expected.txt: Removed.
* platform/ios/legacy-animation-engine/transitions/move-after-transition-expected.txt: Removed.
* platform/ios/legacy-animation-engine/transitions/svg-text-shadow-transition-expected.txt: Removed.
* platform/mac-wk1/TestExpectations:
* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:
* platform/mac/legacy-animation-engine/animations/3d/change-transform-in-end-event-expected.png: Removed.
* platform/mac/legacy-animation-engine/animations/3d/change-transform-in-end-event-expected.txt: Removed.
* platform/mac/legacy-animation-engine/animations/3d/matrix-transform-type-animation-expected.png: Removed.
* platform/mac/legacy-animation-engine/animations/3d/matrix-transform-type-animation-expected.txt: Removed.
* platform/mac/legacy-animation-engine/animations/3d/state-at-end-event-transform-expected.png: Removed.
* platform/mac/legacy-animation-engine/animations/3d/state-at-end-event-transform-expected.txt: Removed.
* platform/mac/legacy-animation-engine/animations/cross-fade-border-image-source-expected.png: Removed.
* platform/mac/legacy-animation-engine/animations/cross-fade-border-image-source-expected.txt: Removed.
* platform/mac/legacy-animation-engine/animations/cross-fade-list-style-image-expected.png: Removed.
* platform/mac/legacy-animation-engine/animations/cross-fade-list-style-image-expected.txt: Removed.
* platform/mac/legacy-animation-engine/animations/cross-fade-webkit-mask-box-image-expected.png: Removed.
* platform/mac/legacy-animation-engine/animations/cross-fade-webkit-mask-box-image-expected.txt: Removed.
* platform/mac/legacy-animation-engine/animations/cross-fade-webkit-mask-image-expected.png: Removed.
* platform/mac/legacy-animation-engine/animations/cross-fade-webkit-mask-image-expected.txt: Removed.
* platform/mac/legacy-animation-engine/animations/missing-values-first-keyframe-expected.txt: Removed.
* platform/mac/legacy-animation-engine/animations/missing-values-last-keyframe-expected.png: Removed.
* platform/mac/legacy-animation-engine/animations/missing-values-last-keyframe-expected.txt: Removed.
* platform/mac/legacy-animation-engine/animations/state-at-end-event-expected.png: Removed.
* platform/mac/legacy-animation-engine/animations/state-at-end-event-expected.txt: Removed.
* platform/mac/legacy-animation-engine/compositing/animation/busy-indicator-expected.png: Removed.
* platform/mac/legacy-animation-engine/compositing/animation/state-at-end-event-transform-layer-expected.png: Removed.
* platform/mac/legacy-animation-engine/compositing/animation/state-at-end-event-transform-layer-expected.txt: Removed.
* platform/mac/legacy-animation-engine/compositing/geometry/partial-layout-update-expected.png: Removed.
* platform/mac/legacy-animation-engine/compositing/geometry/partial-layout-update-expected.txt: Removed.
* platform/mac/legacy-animation-engine/compositing/layer-creation/overlap-animation-container-expected.txt: Removed.
* platform/mac/legacy-animation-engine/compositing/overflow/overflow-positioning-expected.png: Removed.
* platform/mac/legacy-animation-engine/compositing/overflow/overflow-positioning-expected.txt: Removed.
* platform/mac/legacy-animation-engine/compositing/reflections/animation-inside-reflection-expected.png: Removed.
* platform/mac/legacy-animation-engine/compositing/reflections/animation-inside-reflection-expected.txt: Removed.
* platform/mac/legacy-animation-engine/compositing/reflections/load-video-in-reflection-expected.png: Removed.
* platform/mac/legacy-animation-engine/compositing/reflections/load-video-in-reflection-expected.txt: Removed.
* platform/mac/legacy-animation-engine/compositing/reflections/nested-reflection-animated-expected.png: Removed.
* platform/mac/legacy-animation-engine/compositing/reflections/nested-reflection-animated-expected.txt: Removed.
* platform/mac/legacy-animation-engine/compositing/reflections/nested-reflection-transition-expected.png: Removed.
* platform/mac/legacy-animation-engine/compositing/reflections/nested-reflection-transition-expected.txt: Removed.
* platform/mac/legacy-animation-engine/compositing/repaint/become-overlay-composited-layer-expected.png: Removed.
* platform/mac/legacy-animation-engine/compositing/repaint/become-overlay-composited-layer-expected.txt: Removed.
* platform/mac/legacy-animation-engine/compositing/repaint/layer-repaint-rects-expected.png: Removed.
* platform/mac/legacy-animation-engine/compositing/repaint/layer-repaint-rects-expected.txt: Removed.
* platform/mac/legacy-animation-engine/compositing/repaint/opacity-between-absolute-expected.png: Removed.
* platform/mac/legacy-animation-engine/compositing/repaint/opacity-between-absolute-expected.txt: Removed.
* platform/mac/legacy-animation-engine/compositing/repaint/opacity-between-absolute2-expected.png: Removed.
* platform/mac/legacy-animation-engine/compositing/repaint/opacity-between-absolute2-expected.txt: Removed.
* platform/mac/legacy-animation-engine/compositing/transitions/scale-transition-no-start-expected.png: Removed.
* platform/mac/legacy-animation-engine/compositing/transitions/scale-transition-no-start-expected.txt: Removed.
* platform/mac/legacy-animation-engine/compositing/transitions/singular-scale-transition-expected.png: Removed.
* platform/mac/legacy-animation-engine/compositing/transitions/singular-scale-transition-expected.txt: Removed.
* platform/mac/legacy-animation-engine/compositing/visible-rect/animated-expected.txt: Removed.
* platform/mac/legacy-animation-engine/compositing/visible-rect/animated-from-none-expected.txt: Removed.
* platform/mac/legacy-animation-engine/css3/filters/composited-during-animation-layertree-expected.txt: Removed.
* platform/mac/legacy-animation-engine/css3/filters/composited-during-transition-layertree-expected.txt: Removed.
* platform/mac/legacy-animation-engine/fast/css/transition-color-unspecified-expected.png: Removed.
* platform/mac/legacy-animation-engine/fast/text/crash-complex-text-surrogate-expected.txt: Removed.
* platform/mac/legacy-animation-engine/tables/mozilla/bugs/bug113235-1-expected.png: Removed.
* platform/mac/legacy-animation-engine/tables/mozilla/bugs/bug113235-1-expected.txt: Removed.
* platform/mac/legacy-animation-engine/transitions/cross-fade-background-image-expected.png: Removed.
* platform/mac/legacy-animation-engine/transitions/cross-fade-background-image-expected.txt: Removed.
* platform/mac/legacy-animation-engine/transitions/cross-fade-border-image-expected.png: Removed.
* platform/mac/legacy-animation-engine/transitions/cross-fade-border-image-expected.txt: Removed.
* platform/mac/legacy-animation-engine/transitions/default-timing-function-expected.png: Removed.
* platform/mac/legacy-animation-engine/transitions/default-timing-function-expected.txt: Removed.
* platform/mac/legacy-animation-engine/transitions/move-after-transition-expected.png: Removed.
* platform/mac/legacy-animation-engine/transitions/move-after-transition-expected.txt: Removed.
* platform/mac/legacy-animation-engine/transitions/opacity-transition-zindex-expected.png: Removed.
* platform/mac/legacy-animation-engine/transitions/svg-text-shadow-transition-expected.png: Removed.
* platform/mac/legacy-animation-engine/transitions/svg-text-shadow-transition-expected.txt: Removed.
* platform/mac/legacy-animation-engine/transitions/transition-end-event-rendering-expected.png: Removed.
* platform/win/TestExpectations:
* platform/win/legacy-animation-engine/animations/3d/change-transform-in-end-event-expected.txt: Removed.
* platform/win/legacy-animation-engine/animations/3d/matrix-transform-type-animation-expected.txt: Removed.
* platform/win/legacy-animation-engine/animations/3d/state-at-end-event-transform-expected.txt: Removed.
* platform/win/legacy-animation-engine/animations/cross-fade-border-image-source-expected.txt: Removed.
* platform/win/legacy-animation-engine/animations/cross-fade-list-style-image-expected.txt: Removed.
* platform/win/legacy-animation-engine/animations/cross-fade-webkit-mask-box-image-expected.txt: Removed.
* platform/win/legacy-animation-engine/animations/missing-values-first-keyframe-expected.txt: Removed.
* platform/win/legacy-animation-engine/animations/missing-values-last-keyframe-expected.txt: Removed.
* platform/win/legacy-animation-engine/animations/state-at-end-event-expected.txt: Removed.
* platform/win/legacy-animation-engine/compositing/animation/state-at-end-event-transform-layer-expected.txt: Removed.
* platform/win/legacy-animation-engine/compositing/geometry/partial-layout-update-expected.txt: Removed.
* platform/win/legacy-animation-engine/compositing/overflow/overflow-positioning-expected.txt: Removed.
* platform/win/legacy-animation-engine/compositing/reflections/animation-inside-reflection-expected.txt: Removed.
* platform/win/legacy-animation-engine/compositing/reflections/nested-reflection-animated-expected.txt: Removed.
* platform/win/legacy-animation-engine/compositing/reflections/nested-reflection-transition-expected.txt: Removed.
* platform/win/legacy-animation-engine/compositing/repaint/become-overlay-composited-layer-expected.txt: Removed.
* platform/win/legacy-animation-engine/compositing/repaint/layer-repaint-rects-expected.txt: Removed.
* platform/win/legacy-animation-engine/compositing/repaint/opacity-between-absolute-expected.txt: Removed.
* platform/win/legacy-animation-engine/compositing/repaint/opacity-between-absolute2-expected.txt: Removed.
* platform/win/legacy-animation-engine/compositing/transitions/scale-transition-no-start-expected.txt: Removed.
* platform/win/legacy-animation-engine/compositing/transitions/singular-scale-transition-expected.txt: Removed.
* platform/win/legacy-animation-engine/fast/css/image-set-value-not-removed-crash-expected.txt: Removed.
* platform/win/legacy-animation-engine/fast/harness/results-expected.txt: Removed.
* platform/win/legacy-animation-engine/fast/text/crash-complex-text-surrogate-expected.txt: Removed.
* platform/win/legacy-animation-engine/tables/mozilla/bugs/bug113235-1-expected.txt: Removed.
* platform/win/legacy-animation-engine/transitions/default-timing-function-expected.txt: Removed.
* platform/wincairo-wk1/TestExpectations:
* platform/wincairo/TestExpectations:
* platform/wincairo/legacy-animation-engine/animations/3d/change-transform-in-end-event-expected.txt: Removed.
* platform/wincairo/legacy-animation-engine/animations/3d/matrix-transform-type-animation-expected.txt: Removed.
* platform/wincairo/legacy-animation-engine/animations/3d/state-at-end-event-transform-expected.txt: Removed.
* platform/wincairo/legacy-animation-engine/animations/cross-fade-border-image-source-expected.txt: Removed.
* platform/wincairo/legacy-animation-engine/animations/cross-fade-list-style-image-expected.txt: Removed.
* platform/wincairo/legacy-animation-engine/animations/cross-fade-webkit-mask-box-image-expected.txt: Removed.
* platform/wincairo/legacy-animation-engine/animations/cross-fade-webkit-mask-image-expected.txt: Removed.
* platform/wincairo/legacy-animation-engine/animations/missing-values-first-keyframe-expected.txt: Removed.
* platform/wincairo/legacy-animation-engine/animations/missing-values-last-keyframe-expected.txt: Removed.
* platform/wincairo/legacy-animation-engine/animations/state-at-end-event-expected.txt: Removed.
* platform/wincairo/legacy-animation-engine/compositing/animation/state-at-end-event-transform-layer-expected.txt: Removed.
* platform/wincairo/legacy-animation-engine/compositing/geometry/partial-layout-update-expected.txt: Removed.
* platform/wincairo/legacy-animation-engine/compositing/overflow/overflow-positioning-expected.txt: Removed.
* platform/wincairo/legacy-animation-engine/compositing/reflections/animation-inside-reflection-expected.txt: Removed.
* platform/wincairo/legacy-animation-engine/compositing/reflections/nested-reflection-animated-expected.txt: Removed.
* platform/wincairo/legacy-animation-engine/compositing/reflections/nested-reflection-transition-expected.txt: Removed.
* platform/wincairo/legacy-animation-engine/compositing/repaint/become-overlay-composited-layer-expected.txt: Removed.
* platform/wincairo/legacy-animation-engine/compositing/repaint/layer-repaint-rects-expected.txt: Removed.
* platform/wincairo/legacy-animation-engine/compositing/repaint/opacity-between-absolute-expected.txt: Removed.
* platform/wincairo/legacy-animation-engine/compositing/repaint/opacity-between-absolute2-expected.txt: Removed.
* platform/wincairo/legacy-animation-engine/compositing/transitions/scale-transition-no-start-expected.txt: Removed.
* platform/wincairo/legacy-animation-engine/compositing/transitions/singular-scale-transition-expected.txt: Removed.
* platform/wincairo/legacy-animation-engine/css3/filters/composited-during-transition-layertree-expected.txt: Removed.
* platform/wincairo/legacy-animation-engine/fast/text/crash-complex-text-surrogate-expected.txt: Removed.
* platform/wincairo/legacy-animation-engine/tables/mozilla/bugs/bug113235-1-expected.txt: Removed.
* platform/wincairo/legacy-animation-engine/transitions/cross-fade-border-image-expected.txt: Removed.
* platform/wincairo/legacy-animation-engine/transitions/default-timing-function-expected.txt: Removed.
* platform/wincairo/legacy-animation-engine/transitions/move-after-transition-expected.txt: Removed.
* platform/wincairo/legacy-animation-engine/transitions/svg-text-shadow-transition-expected.txt: Removed.
* platform/wk2/TestExpectations:
* platform/wpe/TestExpectations:
* platform/wpe/legacy-animation-engine/animations/3d/change-transform-in-end-event-expected.txt: Removed.
* platform/wpe/legacy-animation-engine/animations/3d/matrix-transform-type-animation-expected.txt: Removed.
* platform/wpe/legacy-animation-engine/animations/3d/state-at-end-event-transform-expected.txt: Removed.
* platform/wpe/legacy-animation-engine/animations/cross-fade-border-image-source-expected.txt: Removed.
* platform/wpe/legacy-animation-engine/animations/cross-fade-list-style-image-expected.txt: Removed.
* platform/wpe/legacy-animation-engine/animations/cross-fade-webkit-mask-box-image-expected.txt: Removed.
* platform/wpe/legacy-animation-engine/animations/cross-fade-webkit-mask-image-expected.txt: Removed.
* platform/wpe/legacy-animation-engine/animations/missing-values-first-keyframe-expected.txt: Removed.
* platform/wpe/legacy-animation-engine/animations/missing-values-last-keyframe-expected.txt: Removed.
* platform/wpe/legacy-animation-engine/animations/state-at-end-event-expected.txt: Removed.
* platform/wpe/legacy-animation-engine/css3/filters/composited-during-animation-layertree-expected.txt: Removed.
* platform/wpe/legacy-animation-engine/css3/filters/composited-during-transition-layertree-expected.txt: Removed.
* platform/wpe/legacy-animation-engine/fast/text/crash-complex-text-surrogate-expected.txt: Removed.
* platform/wpe/legacy-animation-engine/media/track/opera/track/webvtt/rendering/adhoc/cue_font_size_transition-expected.txt: Removed.
* platform/wpe/legacy-animation-engine/tables/mozilla/bugs/bug113235-1-expected.txt: Removed.
* platform/wpe/legacy-animation-engine/transitions/cross-fade-border-image-expected.txt: Removed.
* platform/wpe/legacy-animation-engine/transitions/default-timing-function-expected.txt: Removed.
* platform/wpe/legacy-animation-engine/transitions/move-after-transition-expected.txt: Removed.
* platform/wpe/legacy-animation-engine/transitions/svg-text-shadow-transition-expected.txt: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258150 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[IPC] WebPageProxy::dataSelectionForPasteboard should check the result of SharedMemor...
ddkilzer@apple.com [Mon, 9 Mar 2020 19:50:32 +0000 (19:50 +0000)]
[IPC] WebPageProxy::dataSelectionForPasteboard should check the result of SharedMemory::map
<https://webkit.org/b/208735>
<rdar://problem/58701732>

Reviewed by Darin Adler.

* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::dataSelectionForPasteboard): Add null
check.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258149 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoRemove the compile-time flag for Pointer Events
graouts@webkit.org [Mon, 9 Mar 2020 19:35:03 +0000 (19:35 +0000)]
Remove the compile-time flag for Pointer Events
https://bugs.webkit.org/show_bug.cgi?id=208821
<rdar://problem/60223471>

Reviewed by Dean Jackson.

.:

* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/OptionsWPE.cmake:
* Source/cmake/WebKitFeatures.cmake:

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::touchActionFlagsToCSSValue):
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::operator OptionSet<TouchAction> const):
* css/CSSProperties.json:
* css/CSSValueKeywords.in:
* css/parser/CSSPropertyParser.cpp:
(WebCore::consumeTouchAction):
(WebCore::CSSPropertyParser::parseSingleValue):
* dom/Document.cpp:
(WebCore::Document::prepareMouseEvent):
(WebCore::Document::invalidateRenderingDependentRegions):
* dom/Document.h:
* dom/Element.cpp:
(WebCore::dispatchPointerEventIfNeeded):
(WebCore::Element::allowsDoubleTapGesture const):
(WebCore::Element::removedFromAncestor):
* dom/Element.h:
* dom/Element.idl:
* dom/EventNames.in:
* dom/NavigatorMaxTouchPoints.idl:
* dom/PointerEvent.cpp:
* dom/PointerEvent.h:
* dom/PointerEvent.idl:
* dom/ios/PointerEventIOS.cpp:
* page/EventHandler.cpp:
(WebCore::EventHandler::pointerCaptureElementDidChange):
(WebCore::EventHandler::prepareMouseEvent):
* page/EventHandler.h:
* page/Navigator.h:
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::didChangeMainDocument):
* page/Page.h:
(WebCore::Page::inspectorController const):
(WebCore::Page::pointerCaptureController const):
* page/PointerCaptureController.cpp:
* page/PointerCaptureController.h:
* page/PointerLockController.cpp:
(WebCore::PointerLockController::requestPointerLock):
* platform/TouchAction.h:
* rendering/EventRegion.cpp:
(WebCore::EventRegion::operator== const):
(WebCore::EventRegion::unite):
(WebCore::EventRegion::translate):
(WebCore::operator<<):
* rendering/EventRegion.h:
(WebCore::EventRegion::encode const):
(WebCore::EventRegion::decode):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintObject):
* rendering/RenderElement.cpp:
(WebCore::RenderElement::styleWillChange):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects const):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateEventRegion):
(WebCore::patternForTouchAction):
(WebCore::RenderLayerBacking::paintDebugOverlays):
* rendering/style/RenderStyle.h:
(WebCore::RenderStyle::effectiveTouchActions const):
(WebCore::RenderStyle::setEffectiveTouchActions):
(WebCore::RenderStyle::initialTouchActions):
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator== const):
* rendering/style/StyleRareInheritedData.h:
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator== const):
* rendering/style/StyleRareNonInheritedData.h:
* style/StyleAdjuster.cpp:
(WebCore::Style::isScrollableOverflow):
(WebCore::Style::computeEffectiveTouchActions):
(WebCore::Style::Adjuster::adjust const):
* style/StyleBuilderConverter.h:
(WebCore::Style::BuilderConverter::convertTouchAction):
* style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::resolveElement):

Source/WebCore/PAL:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit:

* Configurations/FeatureDefines.xcconfig:
* Shared/WebCoreArgumentCoders.h:
* Shared/WebPreferencesDefaultValues.h:
* UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView scrollViewWillBeginZooming:withView:]):
(-[WKWebView scrollViewWillEndDragging:withVelocity:targetContentOffset:]):
(-[WKWebView _scrollView:adjustedOffsetForOffset:translation:startPoint:locationInView:horizontalVelocity:verticalVelocity:]):
* UIProcess/PageClient.h:
* UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
* UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h:
* UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.h:
* UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm:
(WebKit::touchActionsForPoint):
* UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.h:
* UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm:
(-[WKScrollingNodeScrollViewDelegate scrollViewWillEndDragging:withVelocity:targetContentOffset:]):
(-[WKScrollingNodeScrollViewDelegate cancelPointersForGestureRecognizer:]):
(WebKit::ScrollingTreeScrollingNodeDelegateIOS::cancelPointersForGestureRecognizer):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::touchWithIdentifierWasRemoved):
* UIProcess/WebPageProxy.h:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::activeTouchIdentifierForGestureRecognizer):
* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView preventsPanningInYAxis]):
(-[WKContentView setupInteraction]):
(-[WKContentView cleanupInteraction]):
(-[WKContentView _removeDefaultGestureRecognizers]):
(-[WKContentView _addDefaultGestureRecognizers]):
(-[WKContentView activeTouchIdentifierForGestureRecognizer:]):
(-[WKContentView _webTouchEventsRecognized:]):
(-[WKContentView _resetPanningPreventionFlags]):
(-[WKContentView _singleTapDidReset:]):
(-[WKContentView _commitPotentialTapFailed]):
(-[WKContentView _didCompleteSyntheticClick]):
(-[WKContentView _singleTapRecognized:]):
(-[WKContentView _didEndScrollingOrZooming]):
* UIProcess/ios/WKSyntheticTapGestureRecognizer.h:
* UIProcess/ios/WKSyntheticTapGestureRecognizer.mm:
(-[WKSyntheticTapGestureRecognizer reset]):
(-[WKSyntheticTapGestureRecognizer touchesEnded:withEvent:]):
* UIProcess/ios/WKTouchActionGestureRecognizer.h:
* UIProcess/ios/WKTouchActionGestureRecognizer.mm:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::touchWithIdentifierWasRemoved):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

Source/WebKitLegacy/mac:

* Configurations/FeatureDefines.xcconfig:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258148 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoTestWebKitAPI fails to build on watchOS
graouts@webkit.org [Mon, 9 Mar 2020 17:30:36 +0000 (17:30 +0000)]
TestWebKitAPI fails to build on watchOS
https://bugs.webkit.org/show_bug.cgi?id=208820

Reviewed by Tim Horton.

* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258146 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[ iOS and Mac Debug ] fast/canvas/webgl/simulated-vertexAttrib0-invalid-indicies...
lawrence.j@apple.com [Mon, 9 Mar 2020 16:22:45 +0000 (16:22 +0000)]
[ iOS and Mac Debug ] fast/canvas/webgl/simulated-vertexAttrib0-invalid-indicies.html is flaky timing out and crashing.
https://bugs.webkit.org/show_bug.cgi?id=208817

Unreviewed test gardening.

* platform/ios-wk2/TestExpectations:
* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258145 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoFix WPT test redirect-mode.any.html
commit-queue@webkit.org [Mon, 9 Mar 2020 15:45:59 +0000 (15:45 +0000)]
Fix WPT test redirect-mode.any.html
https://bugs.webkit.org/show_bug.cgi?id=208801

Patch by Rob Buis <rbuis@igalia.com> on 2020-03-09
Reviewed by Youenn Fablet.

Fix WPT test redirect-mode.any.html by also specifying the server port, this
is needed for WebKit local test runs.

* web-platform-tests/fetch/api/redirect/redirect-mode.any-expected.txt:
* web-platform-tests/fetch/api/redirect/redirect-mode.any.js:
(testRedirect):
* web-platform-tests/fetch/api/redirect/redirect-mode.any.worker-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258144 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoTail calls are broken on ARM_THUMB2 and MIPS
ticaiolima@gmail.com [Mon, 9 Mar 2020 15:32:53 +0000 (15:32 +0000)]
Tail calls are broken on ARM_THUMB2 and MIPS
https://bugs.webkit.org/show_bug.cgi?id=197797

Reviewed by Yusuke Suzuki.

JSTests:

* stress/tail-call-with-spilled-registers.js: Added.

Source/JavaScriptCore:

`prepareForTailCall` operation expects that header size + parameters
size is aligned with stack (alignment is 16-bytes for every architecture).
This means that headerSizeInBytes + argumentsIncludingThisInBytes needs
to be multiple of 16. This was not being preserved during getter IC code
for 32-bits. The code generated was taking in account only
headerSizeInRegisters (it is 4 on 32-bits) and argumentsIncludingThis
(that is always 1 for getters) and allocating 32-bytes when applying
operation `(headerSize + argumentsIncludingThis) * 8 - sizeof(CallerFrameAndPC)`.
This results in a stack frame with size of 40 bytes (after we push
`lr` and `sp`). Since `prepareForTailCall` expects frames to be
16-bytes aligned, it will then calculate the top of such frame
considering it is 48 bytes, cloberring values of previous frame and
causing unexpected behavior. This patch is fixing how this IC code
calculates the stack frame using `roundArgumentCountToAlignFrame(numberOfParameters)`
aligning with what we do on code without IC installed.
This was not a problem for getter and setter IC on 64-bits because
`roundArgumentCountToAlignFrame(1) == 1` and `roundArgumentCountToAlignFrame(2) == 3`
while it is `roundArgumentCountToAlignFrame(1) == 2` and
`roundArgumentCountToAlignFrame(2) == 2` for MIPS and ARMv7.

* bytecode/AccessCase.cpp:
(JSC::AccessCase::generateImpl):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258143 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoBuild failure on ppc64le if __unix is undefined
commit-queue@webkit.org [Mon, 9 Mar 2020 15:25:18 +0000 (15:25 +0000)]
Build failure on ppc64le if __unix is undefined
https://bugs.webkit.org/show_bug.cgi?id=207906

Patch by Mike Gorse <mgorse@suse.com> on 2020-03-09
Reviewed by Yusuke Suzuki.

* bmalloc/BPlatform.h: Check for __unix__ along with __unix.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258142 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoresultsdbpy: Add tool to manage resultsdbpy container
jbedard@apple.com [Mon, 9 Mar 2020 15:11:58 +0000 (15:11 +0000)]
resultsdbpy: Add tool to manage resultsdbpy container
https://bugs.webkit.org/show_bug.cgi?id=208743

Rubber-stamped by Aakash Jain.

Add tool to start, stop and restart the resultsdbpy Docker container.

* resultsdbpy/resultsdbpy/container: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258141 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoRename urlSelected to changeLocation
commit-queue@webkit.org [Mon, 9 Mar 2020 15:10:01 +0000 (15:10 +0000)]
Rename urlSelected to changeLocation
https://bugs.webkit.org/show_bug.cgi?id=208529

Patch by Rob Buis <rbuis@igalia.com> on 2020-03-09
Reviewed by Darin Adler.

Source/WebCore:

Rename urlSelected to changeLocation and remove the existing
changeLocation. The name changeLocation is more intuitive
than urlSelected.

No new tests -- no new or changed functionality.

* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::handleClick):
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::handleClick):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::changeLocation):
(WebCore::FrameLoader::urlSelected): Deleted.
* loader/FrameLoader.h:
* loader/NavigationScheduler.cpp:
* mathml/MathMLElement.cpp:
(WebCore::MathMLElement::defaultEventHandler):
* svg/SVGAElement.cpp:
(WebCore::SVGAElement::defaultEventHandler):

Source/WebKit:

Adapt to API change.

* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::clickedLink):
* WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
(WebKit::WebContextMenuClient::searchWithGoogle):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::navigateToPDFLinkWithSimulatedClick):

Source/WebKitLegacy/win:

Adapt to API change.

* WebCoreSupport/WebContextMenuClient.cpp:
(WebContextMenuClient::searchWithGoogle):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258140 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoLog error in clearNowPlayingInfo/setNowPlayingInfo
youenn@apple.com [Mon, 9 Mar 2020 14:52:27 +0000 (14:52 +0000)]
Log error in clearNowPlayingInfo/setNowPlayingInfo
https://bugs.webkit.org/show_bug.cgi?id=208805

Reviewed by Eric Carlson.

No change of behavior.

* platform/audio/cocoa/MediaSessionManagerCocoa.mm:
(MediaSessionManagerCocoa::clearNowPlayingInfo):
(MediaSessionManagerCocoa::setNowPlayingInfo):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258139 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[LFC][IFC] Do not floor the computed intrinsic width values
zalan@apple.com [Mon, 9 Mar 2020 14:51:29 +0000 (14:51 +0000)]
[LFC][IFC] Do not floor the computed intrinsic width values
https://bugs.webkit.org/show_bug.cgi?id=208796
<rdar://problem/60209522>

Reviewed by Antti Koivisto.

Source/WebCore:

Floored intrinsic values could lead to unexpected line breaks.
(This happens because IFC uses float currently, while other layout systems use LayoutUnit.)

Test: fast/layoutformattingcontext/absolute-positioned-simple-table3.html

* layout/LayoutUnits.h:
(WebCore::Layout::ceiledLayoutUnit):
* layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthConstraints):
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthForConstraint const):
* layout/inlineformatting/InlineFormattingContext.h:

LayoutTests:

* fast/layoutformattingcontext/absolute-positioned-simple-table3-expected.html: Added.
* fast/layoutformattingcontext/absolute-positioned-simple-table3.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258138 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[LFC][TFC] Do no try to distribute extra space in case of shrink to fit (max preferre...
zalan@apple.com [Mon, 9 Mar 2020 14:36:28 +0000 (14:36 +0000)]
[LFC][TFC] Do no try to distribute extra space in case of shrink to fit (max preferred width).
https://bugs.webkit.org/show_bug.cgi?id=208795
<rdar://problem/60208329>

Reviewed by Antti Koivisto.

When we shrink-to-fit the table and it isn't constrained by the containing block's width, we
should use the maximum width instead of trying to distribute the space.

* layout/tableformatting/TableFormattingContext.cpp:
(WebCore::Layout::TableFormattingContext::layoutInFlowContent):
(WebCore::Layout::TableFormattingContext::layoutTableCellBox):
(WebCore::Layout::TableFormattingContext::computeAndDistributeExtraHorizontalSpace):
* layout/tableformatting/TableFormattingContext.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258137 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoUnreviewed build fix after r258129: include WebCore/SimpleRange.h where VisibleSelect...
jer.noble@apple.com [Mon, 9 Mar 2020 14:04:35 +0000 (14:04 +0000)]
Unreviewed build fix after r258129: include WebCore/SimpleRange.h where VisibleSelection is used.

* WebProcess/WebPage/Cocoa/WebPageCocoa.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258136 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[WPE] AsyncScrolling: scrolling with the mouse wheel over sub-scrollable areas scroll...
zandobersek@gmail.com [Mon, 9 Mar 2020 13:08:05 +0000 (13:08 +0000)]
[WPE] AsyncScrolling: scrolling with the mouse wheel over sub-scrollable areas scrolls the main frame
https://bugs.webkit.org/show_bug.cgi?id=208635

Reviewed by Carlos Garcia Campos.

Rework the default values for the async frame and overflow scrolling
so that the latter stays disabled for Nicosia-using ports as it
undergoes bigger changes.

* Shared/WebPreferencesDefaultValues.cpp:
(WebKit::defaultAsyncFrameAndOverflowScrollingEnabled):
(WebKit::defaultAsyncFrameScrollingEnabled):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258134 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[GTK][WPE] Surrounding text for input methods should not be limited to the current...
carlosgc@webkit.org [Mon, 9 Mar 2020 08:39:44 +0000 (08:39 +0000)]
[GTK][WPE] Surrounding text for input methods should not be limited to the current paragraph
https://bugs.webkit.org/show_bug.cgi?id=208706

Reviewed by Žan Doberšek.

Source/WebKit:

It should include all the text around the cursor position.

* Shared/EditorState.cpp:
(WebKit::EditorState::PostLayoutData::encode const): Rename paragraphContext* as surroundingContext*.
(WebKit::EditorState::PostLayoutData::decode): Ditto.
* Shared/EditorState.h:
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseUpdateTextInputState): Ditto.
* UIProcess/API/wpe/WPEView.cpp:
(WKWPE::View::selectionDidChange): Ditto.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::deleteSurrounding): Use content editable text as context instead of just paragraph.
* WebProcess/WebPage/glib/WebPageGLib.cpp:
(WebKit::WebPage::platformEditorState const): Ditto.

Tools:

Add test case to check surrounding text in multiline context.

* TestWebKitAPI/Tests/WebKitGLib/TestInputMethodContext.cpp:
(testWebKitInputMethodContextSurrounding):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258131 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[WPE] Mark some tests as crashing
lmoura@igalia.com [Mon, 9 Mar 2020 06:44:10 +0000 (06:44 +0000)]
[WPE] Mark some tests as crashing

Unreviewed test gardening.

* platform/wpe/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258130 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoBegin moving off of live ranges for WebKit internals
darin@apple.com [Mon, 9 Mar 2020 04:00:31 +0000 (04:00 +0000)]
Begin moving off of live ranges for WebKit internals
https://bugs.webkit.org/show_bug.cgi?id=208432

Reviewed by Daniel Bates.

Source/WebCore:

The DOM Range class is a live range. The live updating feature of these ranges mean
they are expensive to create and destroy and also make all DOM mutation more expensive
while they are alive. We will be able to speed up, likely measurable on Speedometer,
if we can cut down uses of live ranges.

- Refactored the StaticRange class to create two new structs.
- The BoundaryPoint struct implements what the DOM standard calls a boundary point:
  a node and offset. Similar to the RangeBoundaryPoint class, which supports
  being the boundary point of a live range, but simpler and not live.
- The SimpleRange struct implements what the DOM standard calls a range (not a live
  range). Like StaticRange but without reference counting and DOM binding.
- Since StaticRange is derived publicly from SimpleRange you can pass either to any
  function that takes a SimpleRange. And since there is a constructor to create a
  SimpleRange from a Range you can pass a Range to those functions too.
- Renamed StaticRange::createFromRange to StaticRange::create.

* Headers.cmake: Added BoundaryPoint.h, SimpleRange.h, and StaticRange.h.
* Sources.txt: Added BoundaryPoint.cpp and SimpleRange.cpp.
* WebCore.xcodeproj/project.pbxproj: Added BoundaryPoint.cpp/h and SimpleRange.cpp/h.

* dom/BoundaryPoint.cpp: Added.
* dom/BoundaryPoint.h: Added.
* dom/SimpleRange.cpp: Added.
* dom/SimpleRange.h: Added.

* dom/StaticRange.cpp:
(WebCore::StaticRange::StaticRange): Take an rvalue reference to a SimpleRange.
(WebCore::StaticRange::create): Ditto. Changed the other overloads to create
a SimpleRange first then call through to the main one.
(WebCore::isDocumentTypeOrAttr): Wrote a much more efficient version of this.
The old version called the virtual function nodeType twice. This calls it at
most once, and mostly doesn't call it at all.
* dom/StaticRange.h: Simplified this class, putting most of the actual range
logic into the base class. Note that this change eliminated the peculiar code
that in the == operator that compared nodes using isEqualNode instead of using
node identity. There was no one who needed that other behavior. Also fixed
mistaken use of unsigned long in StaticRange::Init. It's unsigned long in
the IDL file, but confusingly that's just unsigned in .cpp files.

* dom/StaticRange.idl: Tweaked formatting.

* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::targetRanges const): Updated for rename
of StaticRange::create.
* editing/ReplaceRangeWithTextCommand.cpp:
(WebCore::ReplaceRangeWithTextCommand::doApply): Updated since VisibleSelection
takes SimpleRange now.
(WebCore::ReplaceRangeWithTextCommand::targetRanges const): Updated for
rename of StaticRange::create.
* editing/SpellingCorrectionCommand.cpp:
(WebCore::SpellingCorrectionCommand::SpellingCorrectionCommand): Updated
since a selection now takes a SimpleRange&, not a StaticRange.
(WebCore::SpellingCorrectionCommand::targetRanges const): Updated for
rename of StaticRange::create.
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::willAddTypingToOpenCommand): Ditto.

* editing/VisibleSelection.cpp:
(WebCore::VisibleSelection::VisibleSelection): Use SimpleRange
instead of StaticRange and Range.
* editing/VisibleSelection.h: Updated for the above.

* editing/mac/EditorMac.mm: Added include.
* page/DragController.cpp: Ditto.
* page/TextIndicator.cpp: Ditto.
(WebCore::TextIndicator::createWithRange): Updated since VisibleSelection
takes SimpleRange now.

* page/mac/EventHandlerMac.mm:
(WebCore::InlineTextBox::collectMarkedTextsForHighlights): Tweaked coding
style a bit.

Source/WebKit:

* Shared/EditingRange.cpp:
(WebKit::EditingRange::fromRange): Initialize out arguments.

* WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp: Added include.
* WebProcess/WebPage/FindController.cpp: Ditto.
* WebProcess/WebPage/WebPage.cpp: Ditto.
* WebProcess/WebPage/mac/WebPageMac.mm: Ditto.

Source/WebKitLegacy/ios:

* WebCoreSupport/WebFrameIOS.mm: Added include.

Source/WebKitLegacy/mac:

* WebCoreSupport/WebContextMenuClient.mm: Added include.
* WebView/WebFrame.mm: Ditto.
(-[WebFrame _convertToNSRange:]): Initialized out arguments.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258129 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoCAN_SECURELY_ARCHIVE_FILE_WRAPPER incorrectly excludes watchOS and tvOS
wenson_hsieh@apple.com [Mon, 9 Mar 2020 03:35:19 +0000 (03:35 +0000)]
CAN_SECURELY_ARCHIVE_FILE_WRAPPER incorrectly excludes watchOS and tvOS
https://bugs.webkit.org/show_bug.cgi?id=208791

Reviewed by Tim Horton.

This is one of several places where a __IPHONE_OS_VERSION_MIN_REQUIRED check unintentionally caused a compiler
flag to not be defined on watchOS, when it really should apply to all iOS family targets. Now that we don't
care about building for any iOS family targets aligned with iOS 11 or prior, and also don't build for 10.13 and
prior, we can simply remove the !CAN_SECURELY_ARCHIVE_FILE_WRAPPER codepath.

* UIProcess/API/Cocoa/APIAttachmentCocoa.mm:
(API::Attachment::createSerializedRepresentation const):
(API::Attachment::updateFromSerializedRepresentation):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258128 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoUnreviewed, speculative link fix.
pvollan@apple.com [Mon, 9 Mar 2020 01:32:25 +0000 (01:32 +0000)]
Unreviewed, speculative link fix.

* platform/cocoa/UTTypeRecordSwizzler.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258127 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoUnreviewed, speculative link fix.
pvollan@apple.com [Mon, 9 Mar 2020 01:25:06 +0000 (01:25 +0000)]
Unreviewed, speculative link fix.

* platform/cocoa/UTTypeRecordSwizzler.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258126 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[CMake] Unreviewed build fix for Mac port
annulen@yandex.ru [Mon, 9 Mar 2020 01:03:34 +0000 (01:03 +0000)]
[CMake] Unreviewed build fix for Mac port

* PlatformMac.cmake:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258125 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoRevise In-App Browser Privacy checks to better reflect the meaning of the flag
bfulgham@apple.com [Mon, 9 Mar 2020 00:55:16 +0000 (00:55 +0000)]
Revise In-App Browser Privacy checks to better reflect the meaning of the flag
https://bugs.webkit.org/show_bug.cgi?id=208793
<rdar://problem/60206256>

Reviewed by John Wilander.

The 'isInAppBrowserPrivacyEnabled' seems like a feature, but it's really an internal debugging flag.

Revise the use of these calls to make it clearer.

Tested by existing test cases.

* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::sessionWrapperForTask):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setIsNavigatingToAppBoundDomain):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258124 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoRemember completed subranges during incremental PDF loading.
beidson@apple.com [Mon, 9 Mar 2020 00:43:28 +0000 (00:43 +0000)]
Remember completed subranges during incremental PDF loading.
https://bugs.webkit.org/show_bug.cgi?id=208785

Reviewed by Tim Horton.

Source/JavaScriptCore:

Move 'using WTF::Range' from the WTF/Range.h header to these JSC users.

The alternative to making these 3 changes was to make over 20 changes up in the WebCore/WebKits
to resolve the conflict with WebCore::Range.

* b3/B3HeapRange.h:
* b3/air/AirAllocateRegistersAndStackByLinearScan.cpp:
* heap/JITStubRoutineSet.h:

Source/WebKit:

When a range request from a stream loader completes, we will now extend the main resource buffer
to be large enough to hold that range, then we memcpy the data into the main buffer.

We then keep a RangeSet to remember which ranges we've loaded.
Any future range request that comes in we first check against that RangeSet to see if we can handle it from memory.

This is a necessary optimization because PDFKit tends to ask for the same (or overlapping) ranges quite often.

* WebProcess/Plugins/PDF/PDFPlugin.h:
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::ByteRangeRequest::completeWithAccumulatedData):
(WebKit::PDFPlugin::ByteRangeRequest::maybeComplete):
(WebKit::PDFPlugin::pdfDocumentDidLoad):
(WebKit::PDFPlugin::manualStreamDidReceiveData):

Source/WTF:

* wtf/Range.h: Don't include the typical 'using WTF::Range' as that makes it almost impossible
  to use in the stack at WebCore or higher (Because of WebCore::Range)

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258123 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[GPUP] Implement Legacy EME API in the GPU Process
jer.noble@apple.com [Mon, 9 Mar 2020 00:34:40 +0000 (00:34 +0000)]
[GPUP] Implement Legacy EME API in the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=208402

Reviewed by Eric Carlson.

Add support for RemoteLegacyCDMFactory, RemateLegacyCDM,RemoteLegacyCDMSession, and all
of their associated Proxy objects.

* DerivedSources-input.xcfilelist:
* DerivedSources-output.xcfilelist:
* DerivedSources.make:
* GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::legacyCdmFactoryProxy):
(WebKit::GPUConnectionToWebProcess::dispatchMessage):
(WebKit::GPUConnectionToWebProcess::dispatchSyncMessage):
* GPUProcess/GPUConnectionToWebProcess.h:
* GPUProcess/media/RemoteLegacyCDMFactoryProxy.cpp: Added.
(WebKit::RemoteLegacyCDMFactoryProxy::RemoteLegacyCDMFactoryProxy):
(WebKit::RemoteLegacyCDMFactoryProxy::createCDM):
(WebKit::RemoteLegacyCDMFactoryProxy::supportsKeySystem):
(WebKit::RemoteLegacyCDMFactoryProxy::didReceiveCDMMessage):
(WebKit::RemoteLegacyCDMFactoryProxy::didReceiveCDMSessionMessage):
(WebKit::RemoteLegacyCDMFactoryProxy::didReceiveSyncCDMMessage):
(WebKit::RemoteLegacyCDMFactoryProxy::didReceiveSyncCDMSessionMessage):
(WebKit::RemoteLegacyCDMFactoryProxy::addProxy):
(WebKit::RemoteLegacyCDMFactoryProxy::removeProxy):
(WebKit::RemoteLegacyCDMFactoryProxy::addSession):
(WebKit::RemoteLegacyCDMFactoryProxy::removeSession):
(WebKit::RemoteLegacyCDMFactoryProxy::getSession const):
* GPUProcess/media/RemoteLegacyCDMFactoryProxy.h: Added.
* GPUProcess/media/RemoteLegacyCDMFactoryProxy.messages.in: Added.
* GPUProcess/media/RemoteLegacyCDMProxy.cpp: Added.
(WebKit::RemoteLegacyCDMProxy::create):
(WebKit::RemoteLegacyCDMProxy::RemoteLegacyCDMProxy):
(WebKit::RemoteLegacyCDMProxy::supportsMIMEType):
(WebKit::RemoteLegacyCDMProxy::createSession):
(WebKit::RemoteLegacyCDMProxy::setPlayerId):
(WebKit::RemoteLegacyCDMProxy::cdmMediaPlayer const):
* GPUProcess/media/RemoteLegacyCDMProxy.h: Added.
(WebKit::RemoteLegacyCDMProxy::factory const):
* GPUProcess/media/RemoteLegacyCDMProxy.messages.in: Added.
* GPUProcess/media/RemoteLegacyCDMSessionProxy.cpp: Added.
(WebKit::RemoteLegacyCDMSessionProxy::create):
(WebKit::RemoteLegacyCDMSessionProxy::RemoteLegacyCDMSessionProxy):
(WebKit::convertToUint8Array):
(WebKit::convertToOptionalDataReference):
(WebKit::RemoteLegacyCDMSessionProxy::generateKeyRequest):
(WebKit::RemoteLegacyCDMSessionProxy::releaseKeys):
(WebKit::RemoteLegacyCDMSessionProxy::update):
(WebKit::RemoteLegacyCDMSessionProxy::getCachedKeyForKeyId):
(WebKit::RemoteLegacyCDMSessionProxy::cachedKeyForKeyID):
(WebKit::RemoteLegacyCDMSessionProxy::sendMessage):
(WebKit::RemoteLegacyCDMSessionProxy::sendError):
(WebKit::RemoteLegacyCDMSessionProxy::mediaKeysStorageDirectory const):
* GPUProcess/media/RemoteLegacyCDMSessionProxy.h: Added.
(WebKit::RemoteLegacyCDMSessionProxy::factory const):
(WebKit::RemoteLegacyCDMSessionProxy::session const):
(WebKit::RemoteLegacyCDMSessionProxy::setPlayer):
* GPUProcess/media/RemoteLegacyCDMSessionProxy.messages.in: Added.
* GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:
(WebKit::RemoteMediaPlayerManagerProxy::getProxy):
* GPUProcess/media/RemoteMediaPlayerManagerProxy.h:
* GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::mediaPlayerCachedKeyForKeyId const):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerKeyNeeded):
(WebKit::RemoteMediaPlayerProxy::setLegacyCDMSession):
* GPUProcess/media/RemoteMediaPlayerProxy.h:
* GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
* GPUProcess/media/RemoteTextTrackProxy.cpp:
* GPUProcess/media/RemoteTextTrackProxy.h:
* Scripts/webkit/messages.py:
* Sources.txt:
* WebKit.xcodeproj/project.pbxproj:
* WebProcess/GPU/GPUProcessConnection.cpp:
(WebKit::GPUProcessConnection::mediaPlayerManager):
(WebKit::GPUProcessConnection::legacyCDMFactory):
* WebProcess/GPU/GPUProcessConnection.h:
* WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::setCDM):
(WebKit::MediaPlayerPrivateRemote::setCDMSession):
(WebKit::MediaPlayerPrivateRemote::mediaPlayerKeyNeeded):
* WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
* WebProcess/GPU/media/MediaPlayerPrivateRemote.messages.in:
* WebProcess/GPU/media/RemoteLegacyCDM.cpp: Added.
(WebKit::RemoteLegacyCDM::create):
(WebKit::RemoteLegacyCDM::RemoteLegacyCDM):
(WebKit::RemoteLegacyCDM::supportsMIMEType):
(WebKit::RemoteLegacyCDM::createSession):
(WebKit::RemoteLegacyCDM::setPlayerId):
* WebProcess/GPU/media/RemoteLegacyCDM.h: Added.
* WebProcess/GPU/media/RemoteLegacyCDMFactory.cpp: Added.
(WebKit::RemoteLegacyCDMFactory::RemoteLegacyCDMFactory):
(WebKit::RemoteLegacyCDMFactory::registerFactory):
(WebKit::RemoteLegacyCDMFactory::supplementName):
(WebKit::RemoteLegacyCDMFactory::gpuProcessConnection):
(WebKit::RemoteLegacyCDMFactory::supportsKeySystem):
(WebKit::RemoteLegacyCDMFactory::supportsKeySystemAndMimeType):
(WebKit::RemoteLegacyCDMFactory::createCDM):
(WebKit::RemoteLegacyCDMFactory::addSession):
(WebKit::RemoteLegacyCDMFactory::removeSession):
(WebKit::RemoteLegacyCDMFactory::findCDM const):
(WebKit::RemoteLegacyCDMFactory::didReceiveSessionMessage):
* WebProcess/GPU/media/RemoteLegacyCDMFactory.h: Added.
* WebProcess/GPU/media/RemoteLegacyCDMIdentifier.h: Added.
* WebProcess/GPU/media/RemoteLegacyCDMSession.cpp: Added.
(WebKit::convertToArrayBuffer):
(WebKit::convertToUint8Array):
(WebKit::convertToOptionalDataReference):
(WebKit::convertToDataReference):
(WebKit::RemoteLegacyCDMSession::create):
(WebKit::RemoteLegacyCDMSession::RemoteLegacyCDMSession):
(WebKit::RemoteLegacyCDMSession::generateKeyRequest):
(WebKit::RemoteLegacyCDMSession::releaseKeys):
(WebKit::RemoteLegacyCDMSession::update):
(WebKit::RemoteLegacyCDMSession::cachedKeyForKeyID const):
(WebKit::RemoteLegacyCDMSession::sendMessage):
(WebKit::RemoteLegacyCDMSession::sendError):
* WebProcess/GPU/media/RemoteLegacyCDMSession.h: Added.
* WebProcess/GPU/media/RemoteLegacyCDMSession.messages.in: Added.
* WebProcess/GPU/media/RemoteLegacyCDMSessionIdentifier.h: Added.
* WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:
(WebKit::RemoteMediaPlayerManager::findRemotePlayerId):
* WebProcess/GPU/media/RemoteMediaPlayerManager.h:
* WebProcess/GPU/media/WebMediaStrategy.cpp:
(WebKit::WebMediaStrategy::registerLegacyCDMFactories):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
* WebProcess/WebProcess.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258122 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoUnreviewed build fix.
pvollan@apple.com [Mon, 9 Mar 2020 00:27:34 +0000 (00:27 +0000)]
Unreviewed build fix.

* wtf/PlatformUse.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258121 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[iOS] Mapping to UTI from tag and tag class should be performed in the UI process
pvollan@apple.com [Sun, 8 Mar 2020 23:52:40 +0000 (23:52 +0000)]
[iOS] Mapping to UTI from tag and tag class should be performed in the UI process
https://bugs.webkit.org/show_bug.cgi?id=208783

Reviewed by Brent Fulgham.

Source/WebCore:

This mapping should be done in the UI process, since it is using a system service that will no longer be available
in the WebContent process. To achieve this, the method +[UTTypeRecord typeRecordWithTagOverride] is swizzled in
the WebContent process, and is using the cached mapping sent from the UI process.

API test: WebKit.UTIFromTag

* WebCore.xcodeproj/project.pbxproj:
* platform/cocoa/UTTypeRecordSwizzler.h: Added.
(WebCore::UTTypeItem::encode const):
(WebCore::UTTypeItem::decode):
* platform/cocoa/UTTypeRecordSwizzler.mm: Added.
(-[WebUTTypeRecord setIdentifier:]):
(WebCore::vectorOfUTTypeRecords):
(WebCore::typeRecordWithTagOverride):
(WebCore::createVectorOfUTTypeItem):
(WebCore::setVectorOfUTTypeItem):
(WebCore::swizzleUTTypeRecord):
* platform/network/mac/UTIUtilities.h:
* platform/network/mac/UTIUtilities.mm:
(WebCore::UTIFromTag):
* testing/Internals.cpp:
(WebCore::Internals::getUTIFromTag):
* testing/Internals.h:
* testing/Internals.idl:
* testing/Internals.mm:
(WebCore::Internals::getUTIFromTag):

Source/WebCore/PAL:

* PAL.xcodeproj/project.pbxproj:
* pal/spi/cocoa/NSUTTypeRecordSPI.h: Added.

Source/WebKit:

Send mapping from tag/tag class to UTI from the UI process to the WebContent process as part of the WebProcess
creation parameters. Also, issue some mach-lookup extensions to the WebContent process if Accessibility is
enabled.

* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):

Source/WTF:

* wtf/PlatformUse.h:

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258120 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoREGRESSION (r258064): API tests intermittently crashing under WebKit::registerDefault...
pvollan@apple.com [Sun, 8 Mar 2020 23:23:03 +0000 (23:23 +0000)]
REGRESSION (r258064): API tests intermittently crashing under WebKit::registerDefaultsOverride
https://bugs.webkit.org/show_bug.cgi?id=208784
<rdar://problem/60201631>

Reviewed by Darin Adler.

Speculative crash fix; swizzle [NSUserDefaults registerDefaults:] on the main thread, instead of on a worker thread.

No new tests, since I have not been able to reproduce this issue.

* UIProcess/Cocoa/PreferenceObserver.h:
* UIProcess/Cocoa/PreferenceObserver.mm:
(registerDefaultsOverride):
(+[WKPreferenceObserver swizzleRegisterDefaults]):
(-[WKPreferenceObserver init]):
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitialize):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258119 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoLazily generate CGPaths for some simple types of paths, such as arcs and lines
wenson_hsieh@apple.com [Sun, 8 Mar 2020 23:13:45 +0000 (23:13 +0000)]
Lazily generate CGPaths for some simple types of paths, such as arcs and lines
https://bugs.webkit.org/show_bug.cgi?id=208464
<rdar://problem/59963226>

Reviewed by Daniel Bates, Darin Adler and Tim Horton.

Source/WebCore:

When the GPU process is enabled and used to render the canvas element, some canvas-related subtests in
MotionMark see significant performance regressions. One of the reasons for this is that in the process of
decoding display list items that contain `WebCore::Path`s in the GPU process, we end up allocating a new CGPath
for each WebCore::Path. This dramatically increases page demand and memory usage in the GPU process in contrast
to shipping WebKit, due to the fact that all of these CGPaths allocated up-front, and must all exist somewhere
in the heap upon decoding the display list.

In contrast, in shipping WebKit, each call to stroke the current canvas path (i.e. invoking
GraphicsContext::strokePath) is succeeded by clearing the path, which deallocates the CGPath backing the WebCore
Path. The next time a CGPath needs to be created, CoreGraphics is free to then allocate the new CGPath at the
address of the previous CGPath which was just destroyed, which prevents us from dirtying more pages than
necessary. This phenomenon affects most of the canvas-related MotionMark subtests to some degree, though the
impact is most noticeable with Canvas Lines.

On top of all this, a significant portion of time is also spent calling CGPathApply and converting the resulting
CGPathElements into serializable data when encoding each WebCore Path.

To mitigate these two issues and restore the wins we get from memory locality when drawing paths in large
quantities, we can:

1.  In the case of simple paths, stuff some information about how each path was created as inline data on
    WebCore::Path itself, as a new data member. For now, this only encompasses lines, arcs, and moves (Paths
    where only `Path::moveTo` was invoked), but may be expanded in the future to include ellipses and rects.
    This allows us to achieve two things: (a) make encoding cheaper by not requiring a walk through all of
    CGPath's elements, and (b) make decoding cheaper by just initializing the Path using inline data, rather
    than having to create a new CGPath.

2.  When painting the StrokePath display list item, just discard `m_path` after we're done painting with it.
    This, in conjunction with (1), means that the CGPath backing the WebCore::Path in the GPU process is only
    created when we're just about to paint (i.e. when calling into strokePath()), and destroyed right after
    we're done painting with it.

See below for details. There should be no change in behavior.

* Headers.cmake:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/InlinePathData.h: Added.
(WebCore::MoveData::encode const):
(WebCore::MoveData::decode):
(WebCore::LineData::encode const):
(WebCore::LineData::decode):
(WebCore::ArcData::encode const):
(WebCore::ArcData::decode):

Introduce InlinePathData, a Variant of several different inline data types, each of which represents one simple
path type that is stored using only inline data. This includes line segments (a start point and an end point),
as well as arcs (which, in addition to a center and start and end angles) also includes an optional offset,
which represents the current position of the path at the time "addArc" was called.

For instance, in the following scenario, the path would have an arc that is offset by (100, 0); if filled, it
would result in a composite shape resembling a semicircle on top of a triangle:

path.moveTo(100, 0);
path.addArc(100, 100, 50, 0, PI, false);
context.fill(path);

When a Path is initialized (or after it is cleared), it starts off with neither a CGPath nor inline data. Moving
the path causes it to store inline MoveData; calling calling `addLineTo` or `addArc` then replaces the inline
data with either LineData or ArcData.

If, at any point, the path changes in a different way (i.e. neither line, arc, nor move), we clear out the
inline data and fall back to just representing the path data using the CGPath (m_path).

* platform/graphics/Path.cpp:

Refactor the following 10 methods: moveTo, addLineTo, addArc, isEmpty, currentPoint, apply, elementCount,
hasCurrentPoint, fastBoundingRect, and boundingRect such that their implementations are now in platform-agnostic
code in Path.cpp. Logic in this platform-agnostic code will generally attempt to use inline path data to compute
an answer (or apply the requested mutations) without having to initialize the platform path representation.
Failing this, we fall back to calling -SlowCase versions of these methods, which will exercise the appropriate
APIs on each platform.

(WebCore::Path::elementCountSlowCase const):
(WebCore::Path::apply const):
(WebCore::Path::isEmpty const):
(WebCore::Path::hasCurrentPoint const):
(WebCore::Path::currentPoint const):
(WebCore::Path::elementCount const):
(WebCore::Path::addArc):
(WebCore::Path::addLineTo):
(WebCore::Path::moveTo):

In the case of these three methods for mutating a path, if we've either only moved the path or haven't touched
it at all, we can get away with only updating our inline path data, and avoid creating a CGPath.

(WebCore::Path::boundingRect const):
(WebCore::Path::fastBoundingRect const):
(WebCore::Path::boundingRectFromInlineData const):
(WebCore::Path::polygonPathFromPoints):
* platform/graphics/Path.h:
(WebCore::Path::encode const):
(WebCore::Path::decode):

Teach Path::encode and Path::decode to respectively serialize and deserialize WebCore::Path by consulting only
the inline data, if it is present. For simple types of paths, this decreases the cost of both IPC encoding and
decoding, but adds a negligible amount of overhead in the case where the path is non-inline.

(WebCore::Path::hasInlineData const):
(WebCore::Path::hasAnyInlineData const):
(WebCore::Path::isNull const): Deleted.
* platform/graphics/cairo/PathCairo.cpp:
(WebCore::Path::isEmptySlowCase const):
(WebCore::Path::currentPointSlowCase const):
(WebCore::Path::moveToSlowCase):
(WebCore::Path::addLineToSlowCase):
(WebCore::Path::addArcSlowCase):
(WebCore::Path::boundingRectSlowCase const):
(WebCore::Path::applySlowCase const):
(WebCore::Path::fastBoundingRectSlowCase const):
(WebCore::Path::isNull const):
(WebCore::Path::isEmpty const): Deleted.
(WebCore::Path::hasCurrentPoint const): Deleted.
(WebCore::Path::currentPoint const): Deleted.
(WebCore::Path::moveTo): Deleted.
(WebCore::Path::addLineTo): Deleted.
(WebCore::Path::addArc): Deleted.
(WebCore::Path::boundingRect const): Deleted.
(WebCore::Path::apply const): Deleted.
* platform/graphics/cg/PathCG.cpp:
(WebCore::Path::createCGPath const):

Add a helper method that is invoked when the Path is asked for a CGPath. In this case, if there is inline data,
we need to lazily create the path and apply any inline path data we've accumulated. Once we're done applying the
inline data, set a flag (m_needsToApplyInlineData) to false to avoid re-applying inline data to the path.

(WebCore::Path::platformPath const):
(WebCore::Path::ensurePlatformPath):

When ensurePlatformPath is invoked, we are about to mutate our CGPath in such a way that it can't be expressed
in terms of inline data (at least, not with the changes in this patch). Clear out the inline path data in this
case, and apply the CGPath mutations that were previously stashed away in inline path data.

(WebCore::Path::isNull const):

A path is now considered null if it is not only missing a CGPath, but also does not have any inline path data.
This maintains the invariant that `isNull()` is true iff the `platformPath()` returns 0x0.

(WebCore::Path::Path):
(WebCore::Path::swap):

Update the constructors and `swap` helper method (used by assignment operators) to account for the new members.

(WebCore::Path::contains const):
(WebCore::Path::transform):
(WebCore::zeroRectIfNull):
(WebCore::Path::boundingRectSlowCase const):
(WebCore::Path::fastBoundingRectSlowCase const):
(WebCore::Path::moveToSlowCase):
(WebCore::Path::addLineToSlowCase):
(WebCore::Path::addArcSlowCase):
(WebCore::Path::clear):

When clearing Path, instead of setting `m_path` to a newly allocated CGPath, simply reset it to null. This
ensures that if we then apply some changes that can be expressed using only inline path data, we avoid having to
update the CGPath, and instead just update the inline path data.

(WebCore::Path::isEmptySlowCase const):
(WebCore::Path::currentPointSlowCase const):
(WebCore::Path::applySlowCase const):
(WebCore::Path::elementCountSlowCase const):
(WebCore::Path::boundingRect const): Deleted.
(WebCore::Path::fastBoundingRect const): Deleted.
(WebCore::Path::moveTo): Deleted.
(WebCore::Path::addLineTo): Deleted.
(WebCore::Path::addArc): Deleted.
(WebCore::Path::isEmpty const): Deleted.
(WebCore::Path::hasCurrentPoint const): Deleted.
(WebCore::Path::currentPoint const): Deleted.
(WebCore::Path::apply const): Deleted.
(WebCore::Path::elementCount const): Deleted.
* platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::StrokePath::apply const):

Throw out the current WebCore::Path after we're done painting with it (see (2) in the above ChangeLog entry).

* platform/graphics/displaylists/DisplayListItems.h:
* platform/graphics/win/PathDirect2D.cpp:
(WebCore::Path::boundingRectSlowCase const):
(WebCore::Path::fastBoundingRectSlowCase const):
(WebCore::Path::moveToSlowCase):
(WebCore::Path::addLineToSlowCase):
(WebCore::Path::addArcSlowCase):
(WebCore::Path::isEmptySlowCase const):
(WebCore::Path::currentPointSlowCase const):
(WebCore::Path::applySlowCase const):
(WebCore::Path::isNull const):
(WebCore::Path::boundingRect const): Deleted.
(WebCore::Path::fastBoundingRect const): Deleted.
(WebCore::Path::moveTo): Deleted.
(WebCore::Path::addLineTo): Deleted.
(WebCore::Path::addArc): Deleted.
(WebCore::Path::isEmpty const): Deleted.
(WebCore::Path::hasCurrentPoint const): Deleted.
(WebCore::Path::currentPoint const): Deleted.
(WebCore::Path::apply const): Deleted.

Source/WebKit:

Add argument coders for `WTF::Monostate`, so that Variants of the form: `Variant<Monostate, Foo, Bar>` can be
encoded and decoded over IPC.

* Platform/IPC/ArgumentCoders.cpp:
(IPC::ArgumentCoder<Monostate>::encode):
(IPC::ArgumentCoder<Monostate>::decode):
* Platform/IPC/ArgumentCoders.h:

Source/WTF:

Add a feature flag for INLINE_PATH_DATA. This feature flag exists to ensure that we can avoid having
m_inlineData on Path in ports that don't implement the necessary facilities for inline path data yet, since it
would just end up being wasted memory.

* wtf/PlatformEnable.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258118 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoBetter stream loader management with incremental PDF loading.
beidson@apple.com [Sun, 8 Mar 2020 23:04:51 +0000 (23:04 +0000)]
Better stream loader management with incremental PDF loading.
https://bugs.webkit.org/show_bug.cgi?id=208790

Reviewed by Tim Horton.

When a stream loader was completing normally, we were leaking it forever.
This adds much better management of outstanding stream loaders
(and logging to help verify the count is as expected)

* WebProcess/Plugins/PDF/PDFPlugin.h:
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::getResourceBytesAtPosition):
(WebKit::PDFPlugin::ByteRangeRequest::completeWithBytes):
(WebKit::PDFPlugin::ByteRangeRequest::completeWithAccumulatedData):
(WebKit::PDFPlugin::ByteRangeRequest::maybeComplete):
(WebKit::PDFPlugin::ByteRangeRequest::completeUnconditionally):
(WebKit::PDFPlugin::didReceiveResponse):
(WebKit::PDFPlugin::didFinishLoading):
(WebKit::PDFPlugin::forgetLoader):
(WebKit::PDFPlugin::cancelAndForgetLoader):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258117 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[CMake] Some fixes for building Mac port
annulen@yandex.ru [Sun, 8 Mar 2020 22:33:30 +0000 (22:33 +0000)]
[CMake] Some fixes for building Mac port
https://bugs.webkit.org/show_bug.cgi?id=208770

Reviewed by Don Olmstead.

Source/WebCore:

* PlatformMac.cmake:

Source/WebCore/PAL:

* pal/PlatformMac.cmake:

Source/WebKit:

* PlatformMac.cmake:

Source/WebKitLegacy:

* PlatformMac.cmake:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258116 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoImplementation of AccessibilitySupport AXSIsolatedTreeMode.
andresg_22@apple.com [Sun, 8 Mar 2020 21:49:45 +0000 (21:49 +0000)]
Implementation of AccessibilitySupport AXSIsolatedTreeMode.
https://bugs.webkit.org/show_bug.cgi?id=208691
<rdar://problem/60178602>

Reviewed by Chris Fleizach.

Source/WebCore:

Honors the system AccessibilitySupport IsolatedTreeMode setting. The
system has three modes for IsolatedTree functionality: off, on on main
thread, and on on secondary thread.

* WebCore.xcodeproj/project.pbxproj:
* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::isolatedTreeFocusedObject):
(WebCore::AXObjectCache::focusedUIElementForPage):
(WebCore::AXObjectCache::isIsolatedTreeEnabled):
(WebCore::AXObjectCache::isolatedTreeRootObject):
(WebCore::AXObjectCache::canUseSecondaryAXThread):
* accessibility/AXObjectCache.h:
* accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(-[WebAccessibilityObjectWrapperBase detach]):
(-[WebAccessibilityObjectWrapperBase axBackingObject]):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):

Source/WebCore/PAL:

Added softlinking for the AccessibilitySupport library (libAccessibility.tbd).

* PAL.xcodeproj/project.pbxproj:
* pal/PlatformMac.cmake:
* pal/spi/cocoa/AccessibilitySupportSPI.h: Added.
* pal/spi/cocoa/AccessibilitySupportSoftLink.cpp: Added.
* pal/spi/cocoa/AccessibilitySupportSoftLink.h: Added.

Source/WebKit:

Honors system AccessibilitySupport IsolatedTreeMode setting.

* WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:
(-[WKAccessibilityWebPageObject accessibilityHitTest:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258115 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoBuild Fix Watch
megan_gardner@apple.com [Sun, 8 Mar 2020 21:40:38 +0000 (21:40 +0000)]
Build Fix Watch
https://bugs.webkit.org/show_bug.cgi?id=208789

Reviewed by Tim Horton.

* UIProcess/ios/WKActionSheetAssistant.mm:
* UIProcess/ios/forms/WKFileUploadPanel.mm:
(-[WKFileUploadPanel dealloc]):
(-[WKFileUploadPanel showDocumentPickerMenu]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258114 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoUnreviewed watchOS build fix: add platform guards.
jer.noble@apple.com [Sun, 8 Mar 2020 21:10:52 +0000 (21:10 +0000)]
Unreviewed watchOS build fix: add platform guards.

* platform/audio/ios/MediaSessionHelperIOS.mm:
(MediaSessionHelperiOS::startMonitoringWirelessRoutes):
(MediaSessionHelperiOS::stopMonitoringWirelessRoutes):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258113 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agogenerate-bindings-all.pl: "my" variable $fh masks earlier declaration in same scope
Hironori.Fujii@sony.com [Sun, 8 Mar 2020 20:32:49 +0000 (20:32 +0000)]
generate-bindings-all.pl: "my" variable $fh masks earlier declaration in same scope
https://bugs.webkit.org/show_bug.cgi?id=208757

Reviewed by Yusuke Suzuki.

* bindings/scripts/generate-bindings-all.pl: Reuse $fh variable instead of defining new one.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258112 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoFix the watchOS build
timothy_horton@apple.com [Sun, 8 Mar 2020 20:31:31 +0000 (20:31 +0000)]
Fix the watchOS build

* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:didFinishCollectingMetrics:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258111 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoBuild Fix
megan_gardner@apple.com [Sun, 8 Mar 2020 20:03:25 +0000 (20:03 +0000)]
Build Fix
https://bugs.webkit.org/show_bug.cgi?id=208787
<rdar://problem/60203011>

Reviewed by Tim Horton.

* Platform/spi/ios/UIKitSPI.h:
* UIProcess/ios/WKActionSheetAssistant.mm:
* UIProcess/ios/forms/WKFileUploadPanel.mm:
(-[WKFileUploadPanel showDocumentPickerMenu]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258110 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[GPUP] Move AVSystemController code into the GPU process
jer.noble@apple.com [Sun, 8 Mar 2020 19:22:33 +0000 (19:22 +0000)]
[GPUP] Move AVSystemController code into the GPU process
https://bugs.webkit.org/show_bug.cgi?id=208727

Reviewed by Eric Carlson.

Source/WebCore:

Move AVSystemController code out of MediaSessionManageriOS and into a new
class MediaSessionHelper, which is currently iOS only. The abstract base class
will be overriden by WebKit in the WebContent process.

Drive-by fix: Don't call a virtual method (resetRestrictions()) from the constructor of a
virtual base class; the virtual function table hasn't been created yet, and the subclasses'
overridden methods won't be called. Move the call to post-creation.

* platform/audio/PlatformMediaSessionManager.cpp:
(WebCore::PlatformMediaSessionManager::sharedManager):
(WebCore::PlatformMediaSessionManager::PlatformMediaSessionManager):
* platform/audio/ios/MediaSessionHelperIOS.h: Added.
* platform/audio/ios/MediaSessionHelperIOS.mm: Copied from Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm.
(sharedHelperInstance):
(MediaSessionHelper::sharedHelper):
(MediaSessionHelper::resetSharedHelper):
(MediaSessionHelper::setSharedHelper):
(MediaSessionHelper::addClient):
(MediaSessionHelper::removeClient):
(MediaSessionHelperiOS::MediaSessionHelperiOS):
(MediaSessionHelperiOS::~MediaSessionHelperiOS):
(MediaSessionHelperiOS::providePresentingApplicationPID):
(MediaSessionHelperiOS::startMonitoringWirelessRoutes):
(MediaSessionHelperiOS::stopMonitoringWirelessRoutes):
(MediaSessionHelperiOS::carPlayServerDied):
(MediaSessionHelperiOS::updateCarPlayIsConnected):
(MediaSessionHelperiOS::setIsPlayingToAutomotiveHeadUnit):
(MediaSessionHelperiOS::activeAudioRouteDidChange):
(MediaSessionHelperiOS::activeVideoRouteDidChange):
(MediaSessionHelperiOS::receivedInterruption):
(MediaSessionHelperiOS::applicationDidBecomeActive):
(MediaSessionHelperiOS::applicationDidEnterBackground):
(MediaSessionHelperiOS::applicationWillBecomeInactive):
(MediaSessionHelperiOS::applicationWillEnterForeground):
(MediaSessionHelperiOS::externalOutputDeviceAvailableDidChange):
(-[WebMediaSessionHelper initWithCallback:]):
(-[WebMediaSessionHelper dealloc]):
(-[WebMediaSessionHelper clearCallback]):
(-[WebMediaSessionHelper hasWirelessTargetsAvailable]):
(-[WebMediaSessionHelper startMonitoringAirPlayRoutes]):
(-[WebMediaSessionHelper stopMonitoringAirPlayRoutes]):
(-[WebMediaSessionHelper interruption:]):
(-[WebMediaSessionHelper applicationWillEnterForeground:]):
(-[WebMediaSessionHelper applicationDidBecomeActive:]):
(-[WebMediaSessionHelper applicationWillResignActive:]):
(-[WebMediaSessionHelper wirelessRoutesAvailableDidChange:]):
(-[WebMediaSessionHelper applicationDidEnterBackground:]):
(-[WebMediaSessionHelper carPlayServerDied:]):
(-[WebMediaSessionHelper carPlayIsConnectedDidChange:]):
(-[WebMediaSessionHelper activeAudioRouteDidChange:]):
* platform/audio/ios/MediaSessionManagerIOS.h:
* platform/audio/ios/MediaSessionManagerIOS.mm:
(WebCore::MediaSessionManageriOS::MediaSessionManageriOS):
(WebCore::MediaSessionManageriOS::~MediaSessionManageriOS):
(WebCore::MediaSessionManageriOS::hasWirelessTargetsAvailable):
(WebCore::MediaSessionManageriOS::configureWireLessTargetMonitoring):
(WebCore::MediaSessionManageriOS::providePresentingApplicationPIDIfNecessary):
(WebCore::MediaSessionManageriOS::providePresentingApplicationPID):
(WebCore::MediaSessionManageriOS::externalOutputDeviceAvailableDidChange):
(WebCore::MediaSessionManageriOS::isPlayingToAutomotiveHeadUnitDidChange):
(WebCore::MediaSessionManageriOS::activeAudioRouteDidChange):
(WebCore::MediaSessionManageriOS::activeVideoRouteDidChange):
(WebCore::MediaSessionManageriOS::receivedInterruption):
(WebCore::MediaSessionManageriOS::applicationWillEnterForeground):
(WebCore::MediaSessionManageriOS::applicationDidBecomeActive):
(WebCore::MediaSessionManageriOS::applicationDidEnterBackground):
(WebCore::MediaSessionManageriOS::applicationWillBecomeInactive):
(WebCore::MediaSessionManageriOS::carPlayServerDied): Deleted.
(WebCore::MediaSessionManageriOS::updateCarPlayIsConnected): Deleted.
(-[WebMediaSessionHelper initWithCallback:]): Deleted.
(-[WebMediaSessionHelper dealloc]): Deleted.
(-[WebMediaSessionHelper clearCallback]): Deleted.
(-[WebMediaSessionHelper hasWirelessTargetsAvailable]): Deleted.
(-[WebMediaSessionHelper startMonitoringAirPlayRoutes]): Deleted.
(-[WebMediaSessionHelper stopMonitoringAirPlayRoutes]): Deleted.
(-[WebMediaSessionHelper interruption:]): Deleted.
(-[WebMediaSessionHelper applicationWillEnterForeground:]): Deleted.
(-[WebMediaSessionHelper applicationDidBecomeActive:]): Deleted.
(-[WebMediaSessionHelper applicationWillResignActive:]): Deleted.
(-[WebMediaSessionHelper wirelessRoutesAvailableDidChange:]): Deleted.
(-[WebMediaSessionHelper applicationDidEnterBackground:]): Deleted.
(-[WebMediaSessionHelper carPlayServerDied:]): Deleted.
(-[WebMediaSessionHelper carPlayIsConnectedDidChange:]): Deleted.
(-[WebMediaSessionHelper activeAudioRouteDidChange:]): Deleted.

Source/WebKit:

Add a new class pair RemoteMediaSessionHelper/Proxy.

* DerivedSources-input.xcfilelist:
* DerivedSources-output.xcfilelist:
* DerivedSources.make:
* GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::mediaSessionHelperProxy):
(WebKit::GPUConnectionToWebProcess::ensureMediaSessionHelper):
* GPUProcess/GPUConnectionToWebProcess.h:
* GPUProcess/GPUConnectionToWebProcess.messages.in:
* GPUProcess/media/ios/RemoteMediaSessionHelperProxy.cpp: Added.
(WebKit::RemoteMediaSessionHelperProxy::RemoteMediaSessionHelperProxy):
(WebKit::RemoteMediaSessionHelperProxy::~RemoteMediaSessionHelperProxy):
(WebKit::RemoteMediaSessionHelperProxy::startMonitoringWirelessRoutes):
(WebKit::RemoteMediaSessionHelperProxy::stopMonitoringWirelessRoutes):
(WebKit::RemoteMediaSessionHelperProxy::providePresentingApplicationPID):
(WebKit::RemoteMediaSessionHelperProxy::receivedInterruption):
(WebKit::RemoteMediaSessionHelperProxy::applicationWillEnterForeground):
(WebKit::RemoteMediaSessionHelperProxy::applicationDidEnterBackground):
(WebKit::RemoteMediaSessionHelperProxy::applicationWillBecomeInactive):
(WebKit::RemoteMediaSessionHelperProxy::applicationDidBecomeActive):
(WebKit::RemoteMediaSessionHelperProxy::externalOutputDeviceAvailableDidChange):
(WebKit::RemoteMediaSessionHelperProxy::isPlayingToAutomotiveHeadUnitDidChange):
(WebKit::RemoteMediaSessionHelperProxy::activeAudioRouteDidChange):
(WebKit::RemoteMediaSessionHelperProxy::activeVideoRouteDidChange):
* GPUProcess/media/ios/RemoteMediaSessionHelperProxy.h: Added.
* GPUProcess/media/ios/RemoteMediaSessionHelperProxy.messages.in: Added.
* Sources.txt:
* SourcesCocoa.txt:
* WebKit.xcodeproj/project.pbxproj:
* WebProcess/GPU/media/ios/RemoteMediaSessionHelper.cpp: Added.
(WebKit::RemoteMediaSessionHelper::RemoteMediaSessionHelper):
(WebKit::RemoteMediaSessionHelper::connection):
(WebKit::RemoteMediaSessionHelper::startMonitoringWirelessRoutes):
(WebKit::RemoteMediaSessionHelper::stopMonitoringWirelessRoutes):
(WebKit::RemoteMediaSessionHelper::providePresentingApplicationPID):
(WebKit::RemoteMediaSessionHelper::receivedInterruption):
(WebKit::RemoteMediaSessionHelper::applicationWillEnterForeground):
(WebKit::RemoteMediaSessionHelper::applicationDidEnterBackground):
(WebKit::RemoteMediaSessionHelper::applicationWillBecomeInactive):
(WebKit::RemoteMediaSessionHelper::applicationDidBecomeActive):
(WebKit::RemoteMediaSessionHelper::externalOutputDeviceAvailableDidChange):
(WebKit::RemoteMediaSessionHelper::isPlayingToAutomotiveHeadUnitDidChange):
(WebKit::RemoteMediaSessionHelper::activeAudioRouteDidChange):
(WebKit::RemoteMediaSessionHelper::activeVideoRouteDidChange):
* WebProcess/GPU/media/ios/RemoteMediaSessionHelper.h: Added.
* WebProcess/GPU/media/ios/RemoteMediaSessionHelper.messages.in: Added.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::setUseGPUProcessForMedia):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258109 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoFix for LayoutTests/accessibility/mac/value-change/value-change-user-info-contentedit...
andresg_22@apple.com [Sun, 8 Mar 2020 19:08:12 +0000 (19:08 +0000)]
Fix for LayoutTests/accessibility/mac/value-change/value-change-user-info-contenteditable.html in IsolatedTree mode.
https://bugs.webkit.org/show_bug.cgi?id=208462
<rdar://problem/59980673>

Reviewed by Chris Fleizach.

Covered by LayoutTests/accessibility/mac/value-change/value-change-user-info-contenteditable.html.

- Updates the IsolatedTree on the TextStateChange notification.
- Renamed isAccessibilityScrollView to isAccessibilityScrollViewInstance
and used isScrollView instead everywhere it's appropriate. This makes
code like AXObjectCache::rootWebArea work for both AXObjects and IsolatedObjects.
- Moved several utility functions from WebAccessibilityObjectWrapperMac.mm
to AXObjectCacheMac.mm where they belong, so that they can be used by
AXObjectCache implementation in addition to by the wrapper.

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::postTextStateChangeNotification):
(WebCore::AXObjectCache::rootWebArea):
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isOnScreen const):
(WebCore::AccessibilityObject::scrollToGlobalPoint const):
* accessibility/AccessibilityObject.h:
* accessibility/AccessibilityObjectInterface.h:
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::getScrollableAreaIfScrollable const):
* accessibility/AccessibilityScrollView.h:
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityContainer]):
* accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::isAccessibilityScrollViewInstance const):
(WebCore::AXIsolatedObject::isAccessibilityScrollView const): Renamed.
* accessibility/isolatedtree/AXIsolatedObject.h:
* accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::postTextStateChangePlatformNotification): Uses
TextMarker utilities instead of calling into the wrapper. This fixes
the crash caused by the wrapper updating the backingObject that in turn
may change the wrapper.
(WebCore::AXTextMarkerRange): Moved from WebAccessibilityObjectWrapperMac.mm.
(WebCore::textMarkerRangeFromMarkers): Moved from WebAccessibilityObjectWrapperMac.mm.
(WebCore::textMarkerForVisiblePosition): Moved from WebAccessibilityObjectWrapperMac.mm.
(WebCore::textMarkerRangeFromVisiblePositions): Moved from WebAccessibilityObjectWrapperMac.mm.
* accessibility/mac/WebAccessibilityObjectWrapperMac.h:
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(AXTextMarkerRange): Moved.
(textMarkerForVisiblePosition): Moved.
(textMarkerRangeFromMarkers): Moved.
(textMarkerRangeFromVisiblePositions): Moved.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258108 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[GPUP] Null-dereference crash in GPUProcessProxy::openGPUProcessConnection()
jer.noble@apple.com [Sun, 8 Mar 2020 17:41:47 +0000 (17:41 +0000)]
[GPUP] Null-dereference crash in GPUProcessProxy::openGPUProcessConnection()
https://bugs.webkit.org/show_bug.cgi?id=208772

Reviewed by Maciej Stachowiak.

AuxiliaryProcessProxy::connection() will return a null-pointer if called before the remote
process has launched and a connection established. Rather than send a message directly to
the proxy's IPC::Connection object (which can be null), just call sendWithAsyncReply()
directly on the proxy inself, which will correctly enqueue the message for sending when the
connection is fully established.

Because this crash occurs whenever the "useGPUProcessForMedia" setting is enabled, this is
covered by existing WP2 tests when those tests are run with that setting enabled.

* UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::GPUProcessProxy::openGPUProcessConnection):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258107 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoCanvas drawing commands have to be flushed to the GPUProcess in batches
commit-queue@webkit.org [Sun, 8 Mar 2020 12:17:36 +0000 (12:17 +0000)]
Canvas drawing commands have to be flushed to the GPUProcess in batches
https://bugs.webkit.org/show_bug.cgi?id=208597

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-03-08
Reviewed by Myles C. Maxfield.

Source/WebCore:

Make DisplayList::ImageBuffer an observer of DisplayList::Recorder.
It can track adding an item to the recoded DisplayList.

* platform/graphics/displaylists/DisplayListDrawingContext.cpp:
(WebCore::DisplayList::DrawingContext::DrawingContext):
* platform/graphics/displaylists/DisplayListDrawingContext.h:
* platform/graphics/displaylists/DisplayListImageBuffer.h:
(WebCore::DisplayList::ImageBuffer::ImageBuffer):
* platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::Recorder):
(WebCore::DisplayList::Recorder::willAppendItem):
* platform/graphics/displaylists/DisplayListRecorder.h:
(WebCore::DisplayList::Recorder::Observer::~Observer):
(WebCore::DisplayList::Recorder::Observer::willAppendItem):

Source/WebKit:

RemoteImageBuffer, which is a superclass of DisplayList::ImageBuffer, will
prevent growing its DisplayList more than some limit (512 for now).
When this limit is reached, the recoded DisplayListItems will be flushed to
the GPUProcess in a batch. Flushing this batch would not require GPUProcess
to reply back. RemoteImageBuffer will have to run a full flush anyway
when the pixels are needed because the batch flushing does not include the
current DisplayList::Item.

* GPUProcess/graphics/RemoteImageBufferMessageHandlerProxy.h:
* GPUProcess/graphics/RemoteImageBufferProxy.h:
* GPUProcess/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::flushImageBufferDrawingContext):
(WebKit::RemoteRenderingBackendProxy::flushImageBufferDrawingContextAndCommit):
* GPUProcess/graphics/RemoteRenderingBackendProxy.h:
* GPUProcess/graphics/RemoteRenderingBackendProxy.messages.in:
* WebProcess/GPU/graphics/RemoteImageBuffer.h:
* WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.cpp:
(WebKit::RemoteImageBufferMessageHandler::flushDrawingContext):
(WebKit::RemoteImageBufferMessageHandler::flushDrawingContextAndWaitCommit):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258104 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[GTK] Fix compilation with disabled OpenGL
annulen@yandex.ru [Sun, 8 Mar 2020 10:58:53 +0000 (10:58 +0000)]
[GTK] Fix compilation with disabled OpenGL
https://bugs.webkit.org/show_bug.cgi?id=208773

Reviewed by Yusuke Suzuki.

Source/WebCore:

* html/OffscreenCanvas.h:

Source/WebKit:

* UIProcess/API/glib/WebKitProtocolHandler.cpp:
(WebKit::WebKitProtocolHandler::handleGPU):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258103 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoAdopt Context Menus for Data Detectors
megan_gardner@apple.com [Sun, 8 Mar 2020 09:00:49 +0000 (09:00 +0000)]
Adopt Context Menus for Data Detectors
https://bugs.webkit.org/show_bug.cgi?id=208779

Switch to context menus for data detector action sheets.

Reviewed by Tim Horton.

* UIProcess/ios/WKActionSheetAssistant.h:
* UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant removeContextMenuInteraction]):
(-[WKActionSheetAssistant ensureContextMenuInteraction]):
(-[WKActionSheetAssistant showDataDetectorsSheet]):
(-[WKActionSheetAssistant contextMenuInteraction:configurationForMenuAtLocation:]):
(-[WKActionSheetAssistant contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]):
(-[WKActionSheetAssistant _contextMenuInteraction:styleForMenuWithConfiguration:]):
(-[WKActionSheetAssistant contextMenuInteraction:willEndForConfiguration:animator:]):
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView contextMenuDisplayLocationForActionSheetAssistant:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258102 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoCreate a flag to disable in-app browser quirks
bfulgham@apple.com [Sun, 8 Mar 2020 05:39:07 +0000 (05:39 +0000)]
Create a flag to disable in-app browser quirks
https://bugs.webkit.org/show_bug.cgi?id=208777
<rdar://problem/60062197>

Reviewed by Simon Fraser.

This patch makes the following changes:

1. Adds a new flag 'NeedsInAppBrowserPrivacyQuirks' to allow quirks to be toggled
   during testing.
2. Reclassify this new flag, and the existing 'InAppBrowserPrivacyEnabled' flag from
   'settings' to Internal Debug settings

The renamed flags are covered by existing tests.

Source/WebCore:

* page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setNeedsInAppBrowserPrivacyQuirks):
(WebCore::RuntimeEnabledFeatures::needsInAppBrowserPrivacyQuirks const):
* page/Settings.yaml:

Source/WebKit:

* FeatureFlags/WebKit.plist:
* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
* Shared/WebPreferences.yaml:
* Shared/WebPreferencesDefaultValues.cpp:
(WebKit::defaultInAppBrowserPrivacy):
(WebKit::defaultNeedsInAppBrowserPrivacyQuirks):
* Shared/WebPreferencesDefaultValues.h:
* UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _needsInAppBrowserPrivacyQuirks]):
(-[WKPreferences _setNeedsInAppBrowserPrivacyQuirks:]):
* UIProcess/API/Cocoa/WKPreferencesPrivate.h:
* UIProcess/WebPageProxy.cpp:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::runJavaScript):
* WebProcess/WebPage/WebPage.h:

Source/WebKitLegacy/mac:

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]): Add new flag.
(-[WebPreferences needsInAppBrowserPrivacyQuirks]): Ditto.
(-[WebPreferences setNeedsInAppBrowserPrivacyQuirks:]): Ditto.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258101 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[GPUP] Implement Legacy EME API in the GPU Process
jer.noble@apple.com [Sun, 8 Mar 2020 05:13:09 +0000 (05:13 +0000)]
[GPUP] Implement Legacy EME API in the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=208402

Reviewed by Eric Carlson.

Prepare for running the LegacyCDM et. al. in the GPU process.

Slightly modernize LegacyCDM to allow all methods representaing a LegacyCDMFactory to be WTF::Functions.

Allow the list of registered factories to be cleared and reset at runtime.

Modify WebKitMediaKeys to notify the MediaPlayer when the keys object is added to a HTMLMediaElement.

Expose the pointer to the internal CDMPrivateInterface for use in WebKit.

* Modules/encryptedmedia/legacy/LegacyCDM.cpp:
(WebCore::LegacyCDM::platformRegisterFactories):
(WebCore::installedCDMFactories):
(WebCore::LegacyCDM::registerCDMFactory):
(WebCore::LegacyCDMFactoryForKeySystem):
(WebCore::LegacyCDM::supportsKeySystem):
(WebCore::LegacyCDM::keySystemSupportsMimeType):
(WebCore::LegacyCDM::LegacyCDM):
(WebCore::LegacyCDM::createSession):
* Modules/encryptedmedia/legacy/LegacyCDM.h:
* Modules/encryptedmedia/legacy/WebKitMediaKeys.cpp:
(WebCore::WebKitMediaKeys::setMediaElement):
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaEngineWasUpdated):
* platform/graphics/LegacyCDMSession.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::setCDM):
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::setCDM):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258100 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[GPUP] LayoutTest debug assertion crashes: InitDataRegistry::registerInitDataType...
jer.noble@apple.com [Sun, 8 Mar 2020 04:38:22 +0000 (04:38 +0000)]
[GPUP] LayoutTest debug assertion crashes: InitDataRegistry::registerInitDataType() called mulitple times with same type
https://bugs.webkit.org/show_bug.cgi?id=208765

Reviewed by Simon Fraser.

Wrap calls to registerInitDataType() in a std::call_once, to ensure it's not called muliple times when
platformRegisterFactories() is called multiple times.

* platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:
(WebCore::CDMFactory::platformRegisterFactories):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258099 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoGeneralize setSynchronousScrollingReasons() to take a ScrollingNodeID
simon.fraser@apple.com [Sun, 8 Mar 2020 04:35:42 +0000 (04:35 +0000)]
Generalize setSynchronousScrollingReasons() to take a ScrollingNodeID
https://bugs.webkit.org/show_bug.cgi?id=208774

Reviewed by Zalan Bujtas.

Source/WebCore:

We'll be calling setSynchronousScrollingReasons() for overflow nodes at some point,
so change the argument from FrameView to ScrollingNodeID.

* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::setSynchronousScrollingReasons):
* page/scrolling/AsyncScrollingCoordinator.h:
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::updateSynchronousScrollingReasons):
* page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::setSynchronousScrollingReasons):

Source/WebKit:

Whitespace.

* WebProcess/WebPage/EventDispatcher.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258098 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoReplace the use of term "rollout" to "revert" in various tools
ross.kirsling@sony.com [Sun, 8 Mar 2020 04:20:23 +0000 (04:20 +0000)]
Replace the use of term "rollout" to "revert" in various tools
https://bugs.webkit.org/show_bug.cgi?id=208775

Reviewed by Ryosuke Niwa.

See this webkit-dev thread for the originating discussion:
https://lists.webkit.org/pipermail/webkit-dev/2020-March/031132.html

'rollout' is a confusing term to anyone unacquainted with WebKit;
consensus seems to be that 'revert' would be the best replacement (as opposed to 'rollback').

Given the long legacy of this term within WebKit, it's important to deprecate and not remove 'rollout' commands.
As such, this patch aims to make 'revert' the preferred term everywhere without making 'rollout' fail.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/Trac.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/model_unittests.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/trac_unittests.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/actions.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/actions_unittests.js:
* BuildSlaveSupport/ews-build/steps.py:
* BuildSlaveSupport/ews-build/steps_unittest.py:
* Scripts/webkit-tools-completion.sh:
* Scripts/webkitpy/common/checkout/changelog_unittest.py:
* Scripts/webkitpy/common/checkout/checkout_unittest.py:
* Scripts/webkitpy/common/checkout/scm/svn.py:
* Scripts/webkitpy/common/net/bugzilla/attachment.py:
* Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
* Scripts/webkitpy/tool/bot/commitqueuetask.py:
* Scripts/webkitpy/tool/bot/feeders.py:
* Scripts/webkitpy/tool/bot/feeders_unittest.py:
* Scripts/webkitpy/tool/bot/irc_command.py:
* Scripts/webkitpy/tool/bot/irc_command_unittest.py:
* Scripts/webkitpy/tool/bot/ircbot_unittest.py:
* Scripts/webkitpy/tool/bot/sheriff.py:
* Scripts/webkitpy/tool/commands/download.py:
* Scripts/webkitpy/tool/commands/download_unittest.py:
* Scripts/webkitpy/tool/commands/newcommitbot.py:
* Scripts/webkitpy/tool/commands/newcommitbot_unittest.py:
* Scripts/webkitpy/tool/commands/queues_unittest.py:
* Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:
* Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
* Scripts/webkitpy/tool/steps/__init__.py:
* Scripts/webkitpy/tool/steps/postdiffforrevert.py:
* Scripts/webkitpy/tool/steps/preparechangelogforrevert.py:
* Scripts/webkitpy/tool/steps/preparechangelogforrevert_unittest.py:
* Scripts/webkitpy/tool/steps/reopenbugafterrevert.py: Renamed from Tools/Scripts/webkitpy/tool/steps/reopenbugafterrollout.py.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258097 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoMake PDF range requests to the network.
beidson@apple.com [Sun, 8 Mar 2020 04:19:37 +0000 (04:19 +0000)]
Make PDF range requests to the network.
https://bugs.webkit.org/show_bug.cgi?id=208776

Reviewed by Alex Christensen.

We already handle a set of range requests from our data provider callbacks.
The current strategy is "wait until we've streamed enough of the entire resource,
perform that request's callback"

For linearized PDFs the second request ever made is for the very end of the PDF document,
so we have to wait for the entire document to load (which is what we already do in non-incremental mode)

Now, we'll actually make the requests for missing data chunks from the network by using the document's request
and adding range headers.

While it is now entirely misnamed, NetscapePlugInStreamLoader is a perfect fit for this.

Once the range request completes from the network we can unblock the PDF thread and go to the next request.

* WebProcess/Plugins/PDF/PDFPlugin.h:
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::unconditionalCompleteOutstandingRangeRequests):
(WebKit::PDFPlugin::getResourceBytesAtPosition):
(WebKit::PDFPlugin::ByteRangeRequest::clearStreamLoader):
(WebKit::PDFPlugin::ByteRangeRequest::completeWithBytes):
(WebKit::PDFPlugin::ByteRangeRequest::completeWithAccumulatedData):
(WebKit::PDFPlugin::ByteRangeRequest::maybeComplete):
(WebKit::PDFPlugin::ByteRangeRequest::completeUnconditionally):
(WebKit::PDFPlugin::willSendRequest):
(WebKit::PDFPlugin::didReceiveResponse):
(WebKit::PDFPlugin::didReceiveData):
(WebKit::PDFPlugin::didFail):
(WebKit::PDFPlugin::didFinishLoading):
(WebKit::PDFPlugin::byteRangeRequestForLoader):
(WebKit::PDFPlugin::cancelAndForgetLoader):
(WebKit::PDFPlugin::manualStreamDidReceiveData):
(WebKit::PDFPlugin::unconditionalCompleteRangeRequest): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258096 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoCrash in -[_WKRemoteObjectRegistry _invokeMethod:] block when calling a reply block...
david_quesada@apple.com [Sun, 8 Mar 2020 04:01:00 +0000 (04:01 +0000)]
Crash in -[_WKRemoteObjectRegistry _invokeMethod:] block when calling a reply block after the web view has deallocated
https://bugs.webkit.org/show_bug.cgi?id=208781
rdar://problem/60061016

Reviewed by Alex Christensen.

Source/WebKit:

Covered by API tests.

* Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
(-[_WKRemoteObjectRegistry _invokeMethod:]):
    When the app calls a reply block for a message from the injected bundle, add a nil
    check for the underlying WebKit::RemoteObjectRegistry before attempting to send the
    reply details back to the web process. It's possible that before this block is
    called, the associated web view could have been deallocated, which would invalidate
    this _WKRemoteObjectRegistry.

Tools:

Add a test that recreates the conditions of this crash:
- Send a message from the injected bundle to the UI process that contains a reply block.
- Hold a reference to the reply block.
- Let the web view deallocate.
- Call the block, and expect not to crash.

* TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.h:
(localObjectInterface):
* TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.mm:
(-[LocalObject doSomethingWithCompletionHandler:]):
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistryPlugIn.mm:
(-[RemoteObjectRegistryPlugIn callUIProcessMethodWithReplyBlock]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258095 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoREGRESSION: (r257760?) [ Mac wk2 Debug ] ASSERTION FAILED: child->parentObject()...
andresg_22@apple.com [Sun, 8 Mar 2020 03:58:56 +0000 (03:58 +0000)]
REGRESSION: (r257760?) [ Mac wk2 Debug ] ASSERTION FAILED: child->parentObject() == this in WebCore::AccessibilityObject::insertChild
https://bugs.webkit.org/show_bug.cgi?id=208648

Reviewed by Chris Fleizach.

[WebAccessibilityObjectWrapper textMarkerRangeFromVisiblePositions] must
not update the backing store but instead just get the backing object.

* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper textMarkerRangeFromVisiblePositions:endPosition:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258094 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoTextManipulationController should work with ARIA labels
rniwa@webkit.org [Sun, 8 Mar 2020 03:52:06 +0000 (03:52 +0000)]
TextManipulationController should work with ARIA labels
https://bugs.webkit.org/show_bug.cgi?id=208759

Reviewed by Wenson Hsieh.

Source/WebCore:

This patch makes TextManipulationController work with a few ARIA content attributes.

It also makes observeParagraphs observe content across the entire document since canonicalizing
the starting position can end up skipping some content with ARIA.

Tests: TextManipulation.StartTextManipulationFindAttributeContent
       TextManipulation.CompleteTextManipulationShouldReplaceAttributeContent

* editing/TextManipulationController.cpp:
(WebCore::TextManipulationController::startObservingParagraphs): Now takes two Positions instead
of two VisiblePositions.
(WebCore::isAttributeForTextManipulation): Added.
(WebCore::TextManipulationController::observeParagraphs): Added the code to find elements with
ARIA attributes and a few other elements that don't generate RenderObject's.
(WebCore::TextManipulationController::scheduleObservartionUpdate):
(WebCore::TextManipulationController::addItem): Now takes ManipulationItemData instead of indivisual
fields in it.
(WebCore::TextManipulationController::replace): Added the logic to handle ManipulationItemData
that specify element and attributeName.
* editing/TextManipulationController.h:
(WebCore::TextManipulationController::ManipulationItemData): Added element and attributeName.

Tools:

* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TextManipulation.StartTextManipulationFindAttributeContent): Added.
(TextManipulation.CompleteTextManipulationShouldPreserveOrderOfBlockImage): Updated
the expected number of tokens for the first item as the very first image is correctly
detected per the code change.
(TextManipulation.CompleteTextManipulationShouldReplaceAttributeContent): Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258093 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoAdopt UIContextMenu for WKFileUploadPanel
megan_gardner@apple.com [Sun, 8 Mar 2020 03:41:24 +0000 (03:41 +0000)]
Adopt UIContextMenu for WKFileUploadPanel
https://bugs.webkit.org/show_bug.cgi?id=208687

Reviewed by Tim Horton.

Source/WebCore:

New string, no tests needed.

* en.lproj/Localizable.strings:

Source/WebKit:

Move from the depricated UIDocumentMenuViewController to UIContextMenu.
UI change, not currently testable.

* Platform/spi/ios/UIKitSPI.h:
* UIProcess/ios/forms/WKFileUploadPanel.mm:
(-[WKFileUploadPanel dealloc]):
(-[WKFileUploadPanel presentWithParameters:resultListener:]):
(-[WKFileUploadPanel dismiss]):
(-[WKFileUploadPanel _browseFilesButtonLabel]):
(-[WKFileUploadPanel contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]):
(-[WKFileUploadPanel _contextMenuInteraction:styleForMenuWithConfiguration:]):
(-[WKFileUploadPanel contextMenuInteraction:configurationForMenuAtLocation:]):
(-[WKFileUploadPanel contextMenuInteraction:willEndForConfiguration:animator:]):
(-[WKFileUploadPanel _removeInteraction]):
(-[WKFileUploadPanel _initInteraction]):
(-[WKFileUploadPanel _showFilePickerMenu]):
(-[WKFileUploadPanel _showDocumentPickerMenu]):
(-[WKFileUploadPanel _presentPopoverWithContentViewController:animated:]):
(-[WKFileUploadPanel _presentFullscreenViewController:animated:]):
(photoLibraryIcon): Deleted.
(cameraIcon): Deleted.
(-[WKFileUploadPanel documentMenu:didPickDocumentPicker:]): Deleted.
(-[WKFileUploadPanel documentMenuWasCancelled:]): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258092 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoRegression r258042: Failing API test TestWebKitAPI.URLSchemeHandler.Frames
achristensen@apple.com [Sun, 8 Mar 2020 01:56:57 +0000 (01:56 +0000)]
Regression r258042: Failing API test TestWebKitAPI.URLSchemeHandler.Frames
https://bugs.webkit.org/show_bug.cgi?id=208767

* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
The frameID of the main frame before loading is only 0 on Mac right now.
The test is still good because it validates that execution works in the main frame before loading.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258091 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoUse the feature flags mechanism to give default feature preference values
peng.liu6@apple.com [Sun, 8 Mar 2020 01:20:53 +0000 (01:20 +0000)]
Use the feature flags mechanism to give default feature preference values
https://bugs.webkit.org/show_bug.cgi?id=208607

Reviewed by Simon Fraser.

Fix a Catalyst build failure (We should not copy the WebKit.plist for the Catalyst build).

* WebKit.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258090 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[iOS] Implement support for dictation alternatives
dbates@webkit.org [Sun, 8 Mar 2020 00:38:07 +0000 (00:38 +0000)]
[iOS] Implement support for dictation alternatives
https://bugs.webkit.org/show_bug.cgi?id=208720
<rdar://problem/58540114>

Reviewed by Wenson Hsieh.

Part 5

Enable USE_DICTATION_ALTERNATIVES on iOS.

* wtf/PlatformUse.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258089 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[iOS] Implement support for dictation alternatives
dbates@webkit.org [Sun, 8 Mar 2020 00:33:56 +0000 (00:33 +0000)]
[iOS] Implement support for dictation alternatives
https://bugs.webkit.org/show_bug.cgi?id=208720
<rdar://problem/58540114>

Reviewed by Brady Eidson.

Part 4

This patch was originally written by Morgan Winer. I just simplified it a bit and fixed some
formatting issues to conform to the code style guidelines.

Note that I haven't enable USE_DICTATION_ALTERNATIVES on iOS. So, this code isn't being
compiled for iOS. I will do that in a subsequent change once after all the code is in place
to do so.

* Platform/spi/ios/UIKitSPI.h: Expose more SPI.
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView insertText:alternatives:style:]): Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258088 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[iOS] Implement support for dictation alternatives
dbates@webkit.org [Sun, 8 Mar 2020 00:30:28 +0000 (00:30 +0000)]
[iOS] Implement support for dictation alternatives
https://bugs.webkit.org/show_bug.cgi?id=208720
<rdar://problem/58540114>

Reviewed by Brent Fulgham.

Part 3

Source/WebCore:

Separate code that is actually USE(AUTOCORRECTION_PANEL)-specific from code that can also
be used when building with USE(DICTATION_ALTERNATIVES) enabled.

Note that I haven't enable USE_DICTATION_ALTERNATIVES on iOS. So, this code isn't being
compiled for iOS. I will do that in a subsequent change once after all the code is in place
to do so.

* SourcesCocoa.txt: Mark TextAlternativeWithRange.mm as @no-unify to fix build breakage when
a unified source file includes both TextAlternativeWithRange.mm and a file that ultimately
includes LengthBox.h (e.g. WebArchiveResourceFromNSAttributedString.mm). TextAlternativeWithRange.mm
ultimately includes SFNTLayoutTypes.h, which defines a Fixed type that conflicts with enumerator
Fixed (part of the LengthType enumeration) defined in Length.h. Ideally the LengthType enumeration
would be an enum class or scoped to Length to avoid this ambiguity. This would be a big change to do
and so for now I am fixing the build breakage using @no-unify.
* WebCore.xcodeproj/project.pbxproj: Add TextAlternativeWithRange.mm to the project now that
it is excluded from the unified build.
* editing/AlternativeTextController.cpp:
(WebCore::markerTypesForAppliedDictationAlternative):
(WebCore::AlternativeTextController::alternativeTextClient):
(WebCore::AlternativeTextController::markerDescriptionForAppliedAlternativeText):
(WebCore::AlternativeTextController::applyAlternativeTextToRange):
* editing/AlternativeTextController.h:

Source/WebKit:

Move code that was guarded under PLATFORM(MAC) outside of that guard so that we compile it
so long as USE(DICTATION_ALTERNATIVES) is enabled.

Note that I haven't enable USE_DICTATION_ALTERNATIVES on iOS. So, this code isn't being
compiled for iOS. I will do that in a subsequent change once after all the code is in place
to do so.

* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
* UIProcess/WebPageProxy.h:

Source/WebKitLegacy/mac:

Guard code that requires USE(AUTOCORRECTION_PANEL) to be enabled. Specifically, -_showDictationAlternativeUI
calls -handleAcceptedAlternativeText, but the latter is only compiled in when USE(AUTOCORRECTION_PANEL)
is enabled.

Note that I haven't enable USE_DICTATION_ALTERNATIVES on iOS. So, this code isn't being
compiled for iOS. I will do that in a subsequent change once after all the code is in place
to do so.

* WebView/WebView.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258087 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[iOS] Implement support for dictation alternatives
dbates@webkit.org [Sun, 8 Mar 2020 00:27:55 +0000 (00:27 +0000)]
[iOS] Implement support for dictation alternatives
https://bugs.webkit.org/show_bug.cgi?id=208720
<rdar://problem/58540114>

Reviewed by Wenson Hsieh.

Part 2

Source/WebCore:

Include UIKitSPI.h in TextAlternativeWithRange.mm to get the definition of NSTextAlternatives
when building for iOS. Also while I am here, fix up some code style issues and use uniform
initializer syntax.

Note that I haven't enable USE_DICTATION_ALTERNATIVES on iOS. So, this code isn't being
compiled for iOS. I will do that in a subsequent change once after all the code is in place
to do so.

* editing/mac/TextAlternativeWithRange.mm:
(WebCore::TextAlternativeWithRange::TextAlternativeWithRange):

Source/WebKit:

Move insertDictatedTextAsync() from the Mac-specific implementation files to Cocoa-specific
implementation files as it can be shared by both Mac and iOS. I did very minor C++ modernization:
just more uses of auto and uniform initializer syntax.

Note that I haven't enable USE_DICTATION_ALTERNATIVES on iOS. So, this code isn't being
compiled for iOS. I will do that in a subsequent change once after all the code is in place
to do so.

* UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::insertDictatedTextAsync):
* UIProcess/WebPageProxy.cpp:
* UIProcess/WebPageProxy.h:
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::insertDictatedTextAsync): Deleted.
* WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::insertDictatedTextAsync):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::insertDictatedTextAsync): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258086 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[iOS] Implement support for dictation alternatives
dbates@webkit.org [Sun, 8 Mar 2020 00:26:17 +0000 (00:26 +0000)]
[iOS] Implement support for dictation alternatives
https://bugs.webkit.org/show_bug.cgi?id=208720
<rdar://problem/58540114>

Reviewed by Wenson Hsieh.

Part 1

Source/WebCore:

Rename editing/mac/AlternativeTextUIController.{h, mm} to editing/cocoa/AlternativeTextUIController.{h, mm}
as it can be shared by both Mac and iOS. I also took this opportunity to do some very minor modernization
and cleanup to these files: use =default constructors and put the * on the right side for Objective-C types.

Note that I haven't enable USE_DICTATION_ALTERNATIVES on iOS. So, this code isn't being
compiled for iOS. I will do that in a subsequent change once after all the code is in place
to do so.

* SourcesCocoa.txt:
* WebCore.xcodeproj/project.pbxproj:
* editing/cocoa/AlternativeTextContextController.h:
* editing/cocoa/AlternativeTextContextController.mm: Added.
(WebCore::AlternativeTextContextController::addAlternatives):
(WebCore::AlternativeTextContextController::alternativesForContext):
(WebCore::AlternativeTextContextController::removeAlternativesForContext):
(WebCore::AlternativeTextContextController::clear):
* editing/cocoa/AlternativeTextUIController.h: Renamed from Source/WebCore/editing/mac/AlternativeTextUIController.h.
* editing/cocoa/AlternativeTextUIController.mm: Renamed from Source/WebCore/editing/mac/AlternativeTextUIController.mm.
(WebCore::AlternativeTextUIController::addAlternatives):
(WebCore::AlternativeTextUIController::alternativesForContext):
(WebCore::AlternativeTextUIController::clear):
(WebCore::AlternativeTextUIController::showAlternatives):
(WebCore::AlternativeTextUIController::handleAcceptedAlternative):
(WebCore::AlternativeTextUIController::dismissAlternatives):
(WebCore::AlternativeTextUIController::removeAlternatives):

Source/WebCore/PAL:

Expose some more SPI.

* pal/spi/ios/UIKitSPI.h:

Source/WebKit:

Move some of the PageClientMac dictation alternatives code to PageClientImplCocoa so that it
can be shared with iOS.

Note that I haven't enable USE_DICTATION_ALTERNATIVES on iOS. So, this code isn't being
compiled for iOS. I will do that in a subsequent change once after all the code is in place
to do so.

* UIProcess/Cocoa/PageClientImplCocoa.h:
(WebKit::PageClientImplCocoa::PageClientImplCocoa): Deleted; moved to be out-of-line to avoid
needing to #include AlternativeTextUIController.h from this file. Declare out-of-line destructor
for the same reason.
* UIProcess/Cocoa/PageClientImplCocoa.mm:
(WebKit::PageClientImplCocoa::PageClientImplCocoa): Moved from PageClientImplCocoa.h.
(WebKit::PageClientImplCocoa::pageClosed):
(WebKit::PageClientImplCocoa::addDictationAlternatives): Moved from PageClientImplMac.mm.
(WebKit::PageClientImplCocoa::removeDictationAlternatives): Ditto.
(WebKit::PageClientImplCocoa::dictationAlternatives): Ditto.
* UIProcess/PageClient.h:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::showDictationAlternativeUI): Added; stub function.
(WebKit::PageClientImpl::pageClosed): Deleted; now we will use the base class implementation.
* UIProcess/mac/PageClientImplMac.h:
* UIProcess/mac/PageClientImplMac.mm:
(WebKit::PageClientImpl::PageClientImpl): Moved AlternativeTextUIController logic from here to PageClientImplCocoa::PageClientImplCocoa().
(WebKit::PageClientImpl::pageClosed): Moved AlternativeTextUIController logic from here to PageClientImplCocoa::pageClosed()
so it can be shared and modified this function to call the base class implementation.
(WebKit::PageClientImpl::~PageClientImpl): Deleted; moved to PageClientImplCocoa.mm.
(WebKit::PageClientImpl::addDictationAlternatives): Deleted; moved to PageClientImplCocoa.mm.
(WebKit::PageClientImpl::removeDictationAlternatives): Deleted; moved to PageClientImplCocoa.mm.
(WebKit::PageClientImpl::dictationAlternatives): Deleted; moved to PageClientImplCocoa.mm.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258085 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[ews] commit queue is not skipping layout tests for rollout patches
aakash_jain@apple.com [Sun, 8 Mar 2020 00:14:50 +0000 (00:14 +0000)]
[ews] commit queue is not skipping layout tests for rollout patches
https://bugs.webkit.org/show_bug.cgi?id=208716

Unreviewed minor fix.

* BuildSlaveSupport/ews-build/steps.py:
(RunWebKitTests.doStepIf):
(RunWebKit1Tests.doStepIf): Moved to base class RunWebKitTests.
* BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-test.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258084 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[CMake][Win] GenerateSettings.rb are invoked twice in WebCoreBindings.vcxproj and...
Hironori.Fujii@sony.com [Sat, 7 Mar 2020 23:20:51 +0000 (23:20 +0000)]
[CMake][Win] GenerateSettings.rb are invoked twice in WebCoreBindings.vcxproj and WebCoreTestSupportBindings.vcxproj
https://bugs.webkit.org/show_bug.cgi?id=208771

Reviewed by Konstantin Tokarev.

CMake Visual Studio generator put a custom command of
GenerateSettings.rb into both WebCoreBindings.vcxproj and
WebCoreTestSupportBindings.vcxproj because both projects are
using the generated files as source files. This causes
unnecessary recompilation.

The fundamental issue of this bug was fixed in CMake 3.12.
<https://gitlab.kitware.com/cmake/cmake/issues/16767>
All Windows ports are using newer CMake for Visual Studio 2019
support.

However, WebCoreTestSupportBindings needs to have a direct or
indirect dependency to WebCoreBindings for CMake Visual Studio
generator to eliminate duplicated custom commands. Otherwise,
GenerateSettings.rb will be triggered in both projects.

* CMakeLists.txt: Added a explicit dependency to WebCoreBindings
for WebCoreTestSupportBindings.
* WebCoreMacros.cmake: Removed stale comment.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258083 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoImplement setWirelessPlaybackTarget, performTaskAtMediaTime, and wouldTaintOrigin...
eric.carlson@apple.com [Sat, 7 Mar 2020 23:19:55 +0000 (23:19 +0000)]
Implement setWirelessPlaybackTarget, performTaskAtMediaTime, and wouldTaintOrigin in GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=208651
<rdar://problem/60088298>

Reviewed by Youenn Fablet.

Source/WebCore:

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::updateActiveTextTrackCues): Remove unused lambda parameter.

* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::performTaskAtMediaTime): Make MediaTime parameter const ref
so it isn't copied.
* platform/graphics/MediaPlayer.h:

* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::performTaskAtMediaTime): Ditto.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::performTaskAtMediaTime): Ditto.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::performTaskAtMediaTime): Ditto.

* platform/graphics/avfoundation/objc/VideoLayerManagerObjC.mm:
(WebCore::VideoLayerManagerObjC::setVideoFullscreenLayer): Don't set inline image
contents if image is NULL.

Source/WebKit:

* GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::dispatchSyncMessage): Dispatch player manager messages.

* GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:
(WebKit::RemoteMediaPlayerManagerProxy::didReceiveSyncPlayerMessage): Dispatch player messages.
* GPUProcess/media/RemoteMediaPlayerManagerProxy.h:

* GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::~RemoteMediaPlayerProxy): Clear the completion handler
do its destructor doesn't assert.
(WebKit::RemoteMediaPlayerProxy::setWirelessPlaybackTarget): Implement.
(WebKit::RemoteMediaPlayerProxy::performTaskAtMediaTime): Ditto.
(WebKit::RemoteMediaPlayerProxy::wouldTaintOrigin): Ditto.
* GPUProcess/media/RemoteMediaPlayerProxy.h:
* GPUProcess/media/RemoteMediaPlayerProxy.messages.in:

* WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::updateCachedState): Update wireless playback target name.
(WebKit::MediaPlayerPrivateRemote::load): Don't log as unimplemented.
(WebKit::MediaPlayerPrivateRemote::wirelessPlaybackTargetName const): Return cached name.
(WebKit::MediaPlayerPrivateRemote::setWirelessPlaybackTarget): Implement.
(WebKit::MediaPlayerPrivateRemote::wouldTaintOrigin const): Ditto.
(WebKit::MediaPlayerPrivateRemote::performTaskAtMediaTime): Ditto.
(WebKit::MediaPlayerPrivateRemote::setClosedCaptionsVisible): Deleted, not needed.
(WebKit::MediaPlayerPrivateRemote::simulateAudioInterruption): Ditto.
* WebProcess/GPU/media/MediaPlayerPrivateRemote.h:

* WebProcess/GPU/media/RemoteMediaPlayerConfiguration.h:
(WebKit::RemoteMediaPlayerConfiguration::decode): Decode supportsFullscreen too.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258082 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoREGRESSION (r258049): Unchecked JS exception in jsc::Stringifier::toJSON
shvaikalesh@gmail.com [Sat, 7 Mar 2020 22:53:38 +0000 (22:53 +0000)]
REGRESSION (r258049): Unchecked JS exception in jsc::Stringifier::toJSON
https://bugs.webkit.org/show_bug.cgi?id=208766

Reviewed by Yusuke Suzuki.

* runtime/JSONObject.cpp:
(JSC::Stringifier::toJSON): Add missing RELEASE_AND_RETURN.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258081 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoAdd runtime flag for incremental PDF loading.
beidson@apple.com [Sat, 7 Mar 2020 22:13:14 +0000 (22:13 +0000)]
Add runtime flag for incremental PDF loading.
https://bugs.webkit.org/show_bug.cgi?id=208763

Reviewed by Tim Horton.

Source/WebCore:

* page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setIncrementalPDFLoadingEnabled):
(WebCore::RuntimeEnabledFeatures::incrementalPDFLoadingEnabled const):

Source/WebKit:

* Shared/WebPreferences.yaml:
* Shared/WebPreferencesDefaultValues.cpp:
(WebKit::defaultIncrementalPDFEnabled):
* Shared/WebPreferencesDefaultValues.h:

* WebProcess/Plugins/PDF/PDFPlugin.h:
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::PDFPlugin):
(WebKit::PDFPlugin::pdfDocumentDidLoad):
(WebKit::PDFPlugin::manualStreamDidReceiveData):
(WebKit::PDFPlugin::manualStreamDidFail):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258080 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[LFC][Verification] Use the table wrapper box's offset when matching out-of-flow...
zalan@apple.com [Sat, 7 Mar 2020 22:05:45 +0000 (22:05 +0000)]
[LFC][Verification] Use the table wrapper box's offset when matching out-of-flow tables
https://bugs.webkit.org/show_bug.cgi?id=208769
<rdar://problem/60191322>

Reviewed by Antti Koivisto.

Source/WebCore:

In LFC, an out-of-flow table initiates a wrapper table box (out-of-flow) and a child table box (in-flow).
Apply the wrapper table box's offset, when matching the display and the render tree.

Test: fast/layoutformattingcontext/absolute-positioned-simple-table2.html

* layout/Verification.cpp:
(WebCore::Layout::outputMismatchingBlockBoxInformationIfNeeded):

LayoutTests:

* fast/layoutformattingcontext/absolute-positioned-simple-table2-expected.html: Added.
* fast/layoutformattingcontext/absolute-positioned-simple-table2.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258079 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoRemove bad assertion in FTLLowerDFGToB3's compileDelBy().
mark.lam@apple.com [Sat, 7 Mar 2020 21:56:44 +0000 (21:56 +0000)]
Remove bad assertion in FTLLowerDFGToB3's compileDelBy().
https://bugs.webkit.org/show_bug.cgi?id=208764
<rdar://problem/59940095>

Reviewed by Keith Miller.

JSTests:

* stress/delete-by-val-with-base-and-subscript-using-same-cell.js: Added.
* stress/delete-by-val-with-base-and-subscript-using-same-non-cell.js: Added.

Source/JavaScriptCore:

The assertion ASSERT(base.gpr() != params[2].gpr()) is wrong because it is legal
JS to pass in the same value as the base and subscript.  The runtime will handle
it properly.

* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileDelBy):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258078 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoMake Editor::applyEditingStyleToBodyElement do things in a straightforward manner
darin@apple.com [Sat, 7 Mar 2020 21:46:23 +0000 (21:46 +0000)]
Make Editor::applyEditingStyleToBodyElement do things in a straightforward manner
https://bugs.webkit.org/show_bug.cgi?id=208177

Reviewed by Wenson Hsieh.

* editing/Editor.cpp:
(WebCore::Editor::applyEditingStyleToBodyElement const): Use Document::body and
StyledElement::setInlineStyleProperty to apply styles to the body. The older code
was looping over all body elements in the document, for no good reason, and using
the CSS object model wrapper object for the styles, also for no good reason.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258077 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoMove JavaScriptCore related feature defines from FeatureDefines.xcconfig to PlatformE...
weinig@apple.com [Sat, 7 Mar 2020 19:35:44 +0000 (19:35 +0000)]
Move JavaScriptCore related feature defines from FeatureDefines.xcconfig to PlatformEnableCocoa.h
https://bugs.webkit.org/show_bug.cgi?id=207436
<rdar://problem/59296762>

Reviewed by Darin Adler.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:
Remove JSC related defines.

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:
Remove JSC related defines.

Source/WebCore/PAL:

* Configurations/FeatureDefines.xcconfig:
Remove JSC related defines.

Source/WebKit:

* Configurations/FeatureDefines.xcconfig:
Remove JSC related defines.

Source/WebKitLegacy/mac:

* Configurations/FeatureDefines.xcconfig:
Remove JSC related defines.

Source/WTF:

* wtf/PlatformEnable.h:
Add default values for ENABLE_FAST_JIT_PERMISSIONS and ENABLE_SEPARATED_WX_HEAP.

* wtf/PlatformEnableCocoa.h:
Added ENABLE_FAST_JIT_PERMISSIONS and ENABLE_INTL (from FeatureDefines.xcconfig), ENABLE_SEPARATED_WX_HEAP
(from PlatformEnable.h) and ENABLE_FTL_JIT (from both FeatureDefines.xcconfig and PlatformEnable.h).

Tools:

* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
Remove JSC related defines.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258076 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoAX: Provide a way to run tests in isolated tree mode
cfleizach@apple.com [Sat, 7 Mar 2020 18:34:55 +0000 (18:34 +0000)]
AX: Provide a way to run tests in isolated tree mode
https://bugs.webkit.org/show_bug.cgi?id=208629
<rdar://problem/60075583>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Now that we have a way to run this with tests, we don't need to allow usage for an unknown client.

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::clientSupportsIsolatedTree):

Tools:

Provide the ability to run tests for accessibility in the isolated tree mode.
This sends a flag over to the injected bundle which calls the right HIServices override so that
the system thinks it is in isolated mode.

* Scripts/compare-webkit-configurations:
(flag_for_comparison):
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(parse_args):
* Scripts/webkitpy/port/driver.py:
(Driver.cmd_line):
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AccessibilityController::AccessibilityController):
(WTR::AccessibilityController::setAccessibilityIsolatedTreeMode):
(WTR::AccessibilityController::updateIsolatedTreeMode):
(WTR::AccessibilityController::executeOnAXThreadIfPossible):
* WebKitTestRunner/InjectedBundle/AccessibilityController.h:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/InjectedBundle.h:
* WebKitTestRunner/Options.cpp:
(WTR::handleOptionAccessibilityIsolatedTreeMode):
(WTR::OptionsHandler::OptionsHandler):
* WebKitTestRunner/Options.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::TestController::resetStateToConsistentValues):
* WebKitTestRunner/TestController.h:
(WTR::TestController::accessibilityIsolatedTreeMode const):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258075 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoUnreviewed test gardening.
simon.fraser@apple.com [Sat, 7 Mar 2020 18:26:37 +0000 (18:26 +0000)]
Unreviewed test gardening.

Land results with new console log line numbers.

* http/tests/adClickAttribution/anchor-tag-attributes-validation-expected.txt:
* http/tests/security/anchor-download-block-crossorigin-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258074 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[LFC][IFC] Use start-aligned horizontal adjustment when justify is not eligible.
zalan@apple.com [Sat, 7 Mar 2020 17:52:14 +0000 (17:52 +0000)]
[LFC][IFC] Use start-aligned horizontal adjustment when justify is not eligible.
https://bugs.webkit.org/show_bug.cgi?id=208762
<rdar://problem/60188433>

Reviewed by Antti Koivisto.

Make sure we apply "text-align: start" when "text-align: justify" is not eligible.
Currently "text-align: start" is a no-op, so no chnange in functionality (this might change in the future).

* layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::alignHorizontally):
(WebCore::Layout::LineBuilder::removeTrailingTrimmableContent):
* layout/inlineformatting/InlineLineBuilder.h:
(WebCore::Layout::LineBuilder::isTextAlignJustify const): Deleted.
(WebCore::Layout::LineBuilder::isTextAlignRight const): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258073 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoUnreviewed unified build fix; forward declare referenced types. In this case, WebCore...
jer.noble@apple.com [Sat, 7 Mar 2020 17:26:21 +0000 (17:26 +0000)]
Unreviewed unified build fix; forward declare referenced types. In this case, WebCore::ImageData.

* WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258072 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[JSC] Enable public class fields
ysuzuki@apple.com [Sat, 7 Mar 2020 16:09:58 +0000 (16:09 +0000)]
[JSC] Enable public class fields
https://bugs.webkit.org/show_bug.cgi?id=208756

Reviewed by Mark Lam.

JSTests:

Rename useClassFields to usePublicClassFields to keep separate from usePrivateClassFields once
it is implemented.

* stress/big-int-as-property-name.js:
* stress/class-fields-bytecode-cache.js:
* stress/class-fields-computed-to-property-key.js:
* stress/class-fields-function-name.js:
* stress/class-fields-harmony.js:
* stress/class-fields-proxy-define-property.js:
* stress/class-fields-stress-instance.js:
* stress/class-fields-to-property-key-const-string-ftl.js:
* stress/class-fields-to-property-key-const-symbol-ftl.js:
* stress/class-fields-to-property-key-slow-object-tostring-ftl.js:
* stress/class-fields-to-property-key-slow-object-valueof-ftl.js:
* stress/class-fields-to-property-key-string-object-ftl.js:
* stress/class-fields-to-property-key-string-or-string-object-ftl.js:
* stress/generator-syntax.js:
* stress/method-name.js:
* test262/config.yaml:

Source/JavaScriptCore:

This patch turns public-class-fields feature on, implemented in r254653.
To separate from private-class-fields, this patch renames the flag from useClassFields to usePublicClassFields,
and first enable public-class-fields feature.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
* bytecompiler/NodesCodegen.cpp:
(JSC::FunctionCallValueNode::emitBytecode):
* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseClass):
* runtime/OptionsList.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258071 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[LFC][IFC] Do not text-align: justify the runs on the current line if they are follow...
zalan@apple.com [Sat, 7 Mar 2020 16:06:35 +0000 (16:06 +0000)]
[LFC][IFC] Do not text-align: justify the runs on the current line if they are followed by a forced break
https://bugs.webkit.org/show_bug.cgi?id=208761
<rdar://problem/59825136>

Reviewed by Antti Koivisto.

Source/WebCore:

https://www.w3.org/TR/css-text-3/#text-align-property
"Text is justified according to the method specified by the text-justify property,
in order to exactly fill the line box. Unless otherwise specified by text-align-last,
the last line before a forced break or the end of the block is start-aligned."

Test: fast/text/text-align-justify-and-forced-line-break.html

* layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::alignHorizontally):

LayoutTests:

* fast/text/text-align-justify-and-forced-line-break-expected.html: Added.
* fast/text/text-align-justify-and-forced-line-break.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258070 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[GPU Process] Implement CanvasRenderingContext2D.getImageData()
mmaxfield@apple.com [Sat, 7 Mar 2020 09:28:06 +0000 (09:28 +0000)]
[GPU Process] Implement CanvasRenderingContext2D.getImageData()
https://bugs.webkit.org/show_bug.cgi?id=208560
<rdar://problem/60060618>

Reviewed by Said Abou-Hallawa.

Adds a new synchronous message between the Web Process and the GPU Process.
Unfortunately, getImageData() synchronously returns results, and we don't
have the infrastructure to make JavaScript interruptible, so this means that
the message has to be synchronous, at least until we add that infrastructure.

When the RemoteImageBuffer receives the getImageData() call, it first
asynchronously flushes the pending display list, doesn't wait for a response,
and then sends the synchronous getImageData() message. Because the GPU Process
receives messages in-order, the Web Process doesn't have to wait for the
response from the flush message.

After this patch, there are a few optimization opportunities we can exploit
where we use SharedBuffer directly instead of copying into and out of the
ImageData.

No new tests because there is no behavior change. We're just using the GPU
process now, instead of implementing the command locally in the Web Process.

* GPUProcess/graphics/RemoteImageBufferMessageHandlerProxy.h:
* GPUProcess/graphics/RemoteImageBufferProxy.h:
* GPUProcess/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::getImageData):
* GPUProcess/graphics/RemoteRenderingBackendProxy.h:
* GPUProcess/graphics/RemoteRenderingBackendProxy.messages.in:
* Platform/IPC/ImageDataReference.h: Added.
(IPC::ImageDataReference::ImageDataReference):
(IPC::ImageDataReference::buffer):
(IPC::ImageDataReference::buffer const):
(IPC::ImageDataReference::encode const):
(IPC::ImageDataReference::decode):
* Platform/IPC/MessageSender.h:
(IPC::MessageSender::sendSync):
* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<RefPtr<WebCore::ImageData>>::encode):
(IPC::ArgumentCoder<RefPtr<WebCore::ImageData>>::decode):
* Shared/WebCoreArgumentCoders.h:
* WebKit.xcodeproj/project.pbxproj:
* WebProcess/GPU/graphics/RemoteImageBuffer.h:
* WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.cpp:
(WebKit::RemoteImageBufferMessageHandler::getImageData const):
(WebKit::RemoteImageBufferMessageHandler::flushDrawingContext):
(WebKit::RemoteImageBufferMessageHandler::flushDrawingContextAndWaitCommit):
* WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258069 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoREGRESSION(r257975): [GTK][WPE] Build failure after a clean build
annulen@yandex.ru [Sat, 7 Mar 2020 09:17:01 +0000 (09:17 +0000)]
REGRESSION(r257975): [GTK][WPE] Build failure after a clean build
https://bugs.webkit.org/show_bug.cgi?id=208711

Reviewed by Yusuke Suzuki.

Make sure that InternalSettingsGenerated,idl is generated before bindings
generation starts.

Also, make IDL preprocessor die if specified IDL file is missing, instead
of going on silently.

* CMakeLists.txt:
* WebCoreMacros.cmake:
* bindings/scripts/preprocess-idls.pl:
(getFileContents):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258068 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoAXIsolatedObject support for documentLinks.
andresg_22@apple.com [Sat, 7 Mar 2020 09:13:29 +0000 (09:13 +0000)]
AXIsolatedObject support for documentLinks.
https://bugs.webkit.org/show_bug.cgi?id=208734

Reviewed by Chris Fleizach.

- Expose documentLinks through the AXCoreObject interface, so that
wrapper code works for both AXObject and AXIsolatedObjects.
- Struct NodeChange now retains wrapper which was causing crash as the
wrapper was destroyed before it was attached to the IsolatedObject.

* accessibility/AccessibilityObject.h:
* accessibility/AccessibilityObjectInterface.h:
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::documentLinks):
(WebCore::AccessibilityRenderObject::getDocumentLinks): Deleted.
* accessibility/AccessibilityRenderObject.h:
* accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeAttributeData):
* accessibility/isolatedtree/AXIsolatedObject.h:
* accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::setFocusedNode):
(WebCore::AXIsolatedTree::applyPendingChanges):
* accessibility/isolatedtree/AXIsolatedTree.h:
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258067 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoUnreviewed, rolling out r258047.
cfleizach@apple.com [Sat, 7 Mar 2020 08:17:21 +0000 (08:17 +0000)]
Unreviewed, rolling out r258047.

Referenced SPI not yet available for Safari builders.

Reverted changeset:

"Implementation of AccessibilitySupport AXSIsolatedTreeMode."
https://bugs.webkit.org/show_bug.cgi?id=208691
https://trac.webkit.org/changeset/258047

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258066 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoFix original-crossorigin-applied.sub.html WPT test
commit-queue@webkit.org [Sat, 7 Mar 2020 07:39:17 +0000 (07:39 +0000)]
Fix original-crossorigin-applied.sub.html WPT test
https://bugs.webkit.org/show_bug.cgi?id=208119

Patch by Rob Buis <rbuis@igalia.com> on 2020-03-06
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rename original-crossorigin-applied.sub.html to
image-loading-lazy-crossorigin-change.sub.html and change the
test to expect the latest rather than the original crossorigin
attribute value since crossorigin is a relevant mutation.

* web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-crossorigin-change.sub-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-crossorigin-change.sub.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/original-crossorigin-applied.sub-expected.txt: Removed.
* web-platform-tests/html/semantics/embedded-content/the-img-element/original-crossorigin-applied.sub.html: Removed.

LayoutTests:

Skip test on mac-wk1 and win.

* platform/mac-wk1/TestExpectations:
* platform/win/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258065 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months ago[Cocoa] Re-enable CFPrefs direct mode
pvollan@apple.com [Sat, 7 Mar 2020 06:58:10 +0000 (06:58 +0000)]
[Cocoa] Re-enable CFPrefs direct mode
https://bugs.webkit.org/show_bug.cgi?id=208690

Reviewed by Brent Fulgham.

Source/WebKit:

This patch re-enabled CF prefs direct mode on iOS and macOS, and addresses performance issues and Accessibility issues
with the original patch. Performance issues are addressed by creating the NSUserDefaults objects in the UI process on
a non-main thread, while the Accessibility issues are fixed by issuing an extension to the preferences service when
Accessibility is enabled.

API test: WebKit.GrantAccessPreferencesService

* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _grantAccessToPreferenceService]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
* UIProcess/Cocoa/PreferenceObserver.mm:
(registerDefaultsOverride):
(-[WKUserDefaults _notifyObserversOfChangeFromValuesForKeys:toValuesForKeys:]):
(-[WKPreferenceObserver init]):
* UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::grantAccessToPreferenceService):
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitialize):
(WebKit::WebProcessPool::platformResolvePathsForSandboxExtensions):
(WebKit::WebProcessPool::platformInitializeWebProcess):
(WebKit::WebProcessPool::registerNotificationObservers):
* UIProcess/Cocoa/WebProcessProxyCocoa.mm:
(WebKit::WebProcessProxy::unblockAccessibilityServerIfNeeded):
(WebKit::WebProcessProxy::unblockPreferenceServiceIfNeeded):
* UIProcess/WebPageProxy.h:
* UIProcess/WebProcessPool.h:
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didFinishLaunching):
* UIProcess/WebProcessProxy.h:
* UIProcess/ios/WebProcessProxyIOS.mm:
(WebKit::WebProcessProxy::unblockAccessibilityServerIfNeeded): Deleted.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::unblockAccessibilityServer): Deleted.
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::WebProcess::platformInitializeProcess):
(WebKit::WebProcess::unblockPreferenceService):
(WebKit::WebProcess::unblockAccessibilityServer):
* WebProcess/com.apple.WebProcess.sb.in:

Source/WTF:

* wtf/PlatformEnable.h:

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/GrantAccessToPreferencesService.mm: Added.
(TEST):
* TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:
(TestWebKitAPI::TEST):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258064 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoAdd "AndOrdered" to the names of ordered DoubleConditions.
mark.lam@apple.com [Sat, 7 Mar 2020 06:28:57 +0000 (06:28 +0000)]
Add "AndOrdered" to the names of ordered DoubleConditions.
https://bugs.webkit.org/show_bug.cgi?id=208736

Reviewed by Keith Miller.

Renamed the following:
    DoubleEqual ==> DoubleEqualAndOrdered
    DoubleNotEqual ==> DoubleNotEqualAndOrdered
    DoubleGreaterThan ==> DoubleGreaterThanAndOrdered
    DoubleGreaterThanOrEqual ==> DoubleGreaterThanOrEqualAndOrdered
    DoubleLessThan ==> DoubleLessThanAndOrdered
    DoubleLessThanOrEqual ==> DoubleLessThanOrEqualAndOrdered

The comment for these enums in MacroAssemblerARM64.h says:
    // These conditions will only evaluate to true if the comparison is ordered - i.e. neither operand is NaN.

Adding "AndOrdered" to their names makes this property explicit.

From reading the original names, one might intuitively think that these conditions
map directly to the C++ double comparisons.  This intuition is incorrect.
Consider the DoubleNotEqual case: let's compare 2 doubles, a and b:

    result = (a != b);

For C++, if either a or b are NaNs, then a != b will actually return true.
This is contrary to the behavior documented in the MacroAssemblerARM64.h comment
above about how DoubleNotEqual should behave.  In our code, DoubleNotEqual actually
means DoubleNotEqualAndOrdered.  The C++ != behavior actually matches our
DoubleNotEqualOrUnordered condition instead.

The tendency to want to associate DoubleNotEqual with the behavior of the C++
!= operator is precisely why we should give these conditions better names.
Adding the "AndOperand" name make the expected behavior explicit in the name, and
leave no room for confusion with C++ double comparison semantics.

* assembler/MacroAssembler.cpp:
(WTF::printInternal):
* assembler/MacroAssembler.h:
(JSC::MacroAssembler::invert):
* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::moveConditionallyAfterFloatingPointCompare):
(JSC::MacroAssemblerARM64::moveDoubleConditionallyAfterFloatingPointCompare):
(JSC::MacroAssemblerARM64::jumpAfterFloatingPointCompare):
(JSC::MacroAssemblerARM64::floatingPointCompare):
* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::branchDouble):
* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::branchDouble):
(JSC::MacroAssemblerMIPS::branchDoubleNonZero):
* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::branchDoubleNonZero):
(JSC::MacroAssemblerX86Common::moveConditionallyDouble):
(JSC::MacroAssemblerX86Common::invert):
(JSC::MacroAssemblerX86Common::floatingPointCompare):
(JSC::MacroAssemblerX86Common::jumpAfterFloatingPointCompare):
(JSC::MacroAssemblerX86Common::moveConditionallyAfterFloatingPointCompare):
* assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::truncateDoubleToUint64):
(JSC::MacroAssemblerX86_64::truncateFloatToUint64):
* assembler/testmasm.cpp:
(JSC::testCompareDouble):
(JSC::testCompareDoubleSameArg):
(JSC::testMoveConditionallyFloatingPoint):
(JSC::testMoveDoubleConditionallyDouble):
(JSC::testMoveDoubleConditionallyDoubleDestSameAsThenCase):
(JSC::testMoveDoubleConditionallyDoubleDestSameAsElseCase):
(JSC::testMoveDoubleConditionallyFloat):
(JSC::testMoveDoubleConditionallyFloatDestSameAsThenCase):
(JSC::testMoveDoubleConditionallyFloatDestSameAsElseCase):
(JSC::testMoveConditionallyFloatingPointSameArg):
(JSC::run):
* b3/B3LowerToAir.cpp:
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::compileClampDoubleToByte):
(JSC::DFG::SpeculativeJIT::compileArithRounding):
(JSC::DFG::SpeculativeJIT::compileArithMinMax):
(JSC::DFG::SpeculativeJIT::compileArithPow):
(JSC::DFG::SpeculativeJIT::compileStrictEq):
(JSC::DFG::SpeculativeJIT::compileArrayIndexOf):
(JSC::DFG::SpeculativeJIT::compileNormalizeMapKey):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNumberIsInteger):
* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::branchIfNotNaN):
* jit/JITArithmetic.cpp:
(JSC::JIT::emitSlow_op_jless):
(JSC::JIT::emitSlow_op_jlesseq):
(JSC::JIT::emitSlow_op_jgreater):
(JSC::JIT::emitSlow_op_jgreatereq):
* jit/JITArithmetic32_64.cpp:
(JSC::JIT::emitBinaryDoubleOp):
* jit/ThunkGenerators.cpp:
(JSC::floorThunkGenerator):
(JSC::roundThunkGenerator):
* wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::addOp<OpType::F64Le>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F64Lt>):
(JSC::Wasm::AirIRGenerator::addFloatingPointMinOrMax):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F64Gt>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F64Ge>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F32Lt>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F64Eq>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F32Le>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F32Ge>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F32Eq>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F32Gt>):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258063 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 months agoREGRESSION (r258038): Build failure on Windows 10 bots
ddkilzer@apple.com [Sat, 7 Mar 2020 05:53:34 +0000 (05:53 +0000)]
REGRESSION (r258038): Build failure on Windows 10 bots
<https://bugs.webkit.org/show_bug.cgi?id=208731>
<rdar://problem/59222568>

* assembler/testmasm.cpp:
(JSC::testCompareDouble):
(JSC::testCompareDoubleSameArg):
(JSC::testMoveConditionallyFloatingPoint):
(JSC::testMoveConditionallyFloatingPointSameArg):
- Add RELEASE_ASSERT_NOT_REACHED() statements to try to fix the
  bots.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258062 268f45cc-cd09-0410-ab3c-d52691b4dbfc