WebKit-https.git
5 months agoChanged results due to ANGLE use
ryanhaddad@apple.com [Tue, 18 Feb 2020 01:52:36 +0000 (01:52 +0000)]
Changed results due to ANGLE use
https://bugs.webkit.org/show_bug.cgi?id=207858

Unreviewed test gardening.

Mark fast/canvas/webgl/program-test.html and webgl/1.0.3/conformance/programs/program-test.html as failing.

* platform/ios/TestExpectations:
* platform/mac/TestExpectations:

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

5 months agoWebSocketChannelInspector.cpp should include ProgressTracker.h
youenn@apple.com [Tue, 18 Feb 2020 01:35:59 +0000 (01:35 +0000)]
WebSocketChannelInspector.cpp should include ProgressTracker.h
https://bugs.webkit.org/show_bug.cgi?id=207862

Unreviewed, build fix.

* Modules/websockets/WebSocketChannelInspector.cpp:

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

5 months agoEphemeral session data leaks between processes
achristensen@apple.com [Tue, 18 Feb 2020 01:19:46 +0000 (01:19 +0000)]
Ephemeral session data leaks between processes
https://bugs.webkit.org/show_bug.cgi?id=207404

Patch by Alex Christensen  <achristensen@webkit.org> and Pavel Feldman <pavel.feldman@gmail.com> on 2020-02-17
Reviewed by Darin Adler.

Source/WebKit:

If two processes with the same bundle identifier create an ephemeral WKWebsiteDataStore, we were calling
_CFURLStorageSessionCreate with the same string, which caused our cookies to be shared.  To prevent this,
add a UUID to the identifier to make them truly unique.

We don't have test infrastructure for multiple UI processes at the same time, but I manually verified
that this fixes the bug.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::ensureSession):

Source/WebKitLegacy:

* WebCoreSupport/NetworkStorageSessionMap.cpp:
(NetworkStorageSessionMap::ensureSession):

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

5 months agogetVTablePointer() should return a const void*.
mark.lam@apple.com [Tue, 18 Feb 2020 01:07:00 +0000 (01:07 +0000)]
getVTablePointer() should return a const void*.
https://bugs.webkit.org/show_bug.cgi?id=207871
<rdar://problem/59525721>

Reviewed by Yusuke Suzuki.

Source/WebCore:

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
* bindings/scripts/test/JS/JSInterfaceName.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSMapLike.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSReadOnlyMapLike.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSReadOnlySetLike.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSSetLike.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestCEReactions.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestCallTracer.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestEnabledForContext.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestIterable.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestPluginInterface.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestSerialization.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestStringifier.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::toJSNewlyCreated):

Source/WTF:

* wtf/PointerPreparations.h:
(WTF::getVTablePointer):

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

5 months agoData detectors do not trigger on macCatalyst
megan_gardner@apple.com [Tue, 18 Feb 2020 00:50:41 +0000 (00:50 +0000)]
Data detectors do not trigger on macCatalyst
https://bugs.webkit.org/show_bug.cgi?id=207860
<rdar://problem/59038913>

Reviewed by Tim Horton.

The lookup gesture which run data detection needs touch information to function. Allow touches to be sent to the gesture.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView gestureRecognizer:shouldReceiveTouch:]):

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

5 months agomacCatalyst: I-beam is still too aggressive in non-editable content, shows up beyond...
timothy_horton@apple.com [Tue, 18 Feb 2020 00:43:50 +0000 (00:43 +0000)]
macCatalyst: I-beam is still too aggressive in non-editable content, shows up beyond the end of text
https://bugs.webkit.org/show_bug.cgi?id=207867
<rdar://problem/59528927>

Reviewed by Wenson Hsieh.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::populateCaretContext):
Only expand the I-beam region to the end of the line in editable text.
This better matches the macOS behavior.

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

5 months agoWeb Inspector: Add "outline focused element" debug setting
nvasilyev@apple.com [Tue, 18 Feb 2020 00:26:51 +0000 (00:26 +0000)]
Web Inspector: Add "outline focused element" debug setting
https://bugs.webkit.org/show_bug.cgi?id=207819
<rdar://problem/59489993>

Reviewed by Timothy Hatcher.

When debugging accessibility issues of Web Inspector, it's helpful
to know what element is focused. Many elements have `outline: none`
and no clear indication of what's focused.

Add a debug setting to display a bright purple outline for all focused
elements.

* UserInterface/Base/Main.js:
(WI.contentLoaded):
* UserInterface/Base/Setting.js:
* UserInterface/Views/Main.css:
(body.focus-debug *:focus):
* UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView.prototype._createDebugSettingsView):

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

5 months agoFix regression in NSURLSessionWebSocketTask WSS support
youenn@apple.com [Mon, 17 Feb 2020 23:45:16 +0000 (23:45 +0000)]
Fix regression in NSURLSessionWebSocketTask WSS support
https://bugs.webkit.org/show_bug.cgi?id=207855

Reviewed by Alex Christensen.

Covered by http/tests/websocket/tests/hybi/simple-wss.html passing with NSURLSessionWebSocketTask code path.
When having an authentication challenge, we need to get the session from the task.
This was not working for websocket tasks.
Fix this by retrieving the session from the web socket data task, which is retrieved from the task identifier.

* NetworkProcess/Downloads/DownloadID.h:
(WebKit::DownloadID::operator bool const):
Add operator bool for convenience.
* NetworkProcess/NetworkSocketChannel.cpp:
(WebKit::NetworkSocketChannel::session):
* NetworkProcess/NetworkSocketChannel.h:
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate sessionFromTask:]):
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
* NetworkProcess/cocoa/WebSocketTaskCocoa.h:
* NetworkProcess/cocoa/WebSocketTaskCocoa.mm:
(WebKit::WebSocketTask::networkSession):

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

5 months agoMain implementation for lazy image loading
commit-queue@webkit.org [Mon, 17 Feb 2020 23:21:35 +0000 (23:21 +0000)]
Main implementation for lazy image loading
https://bugs.webkit.org/show_bug.cgi?id=200764

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

LayoutTests/imported/w3c:

Set correct test option and import lazyload WPT tests into
semantics/embedded-content/the-img-element while removing
loading/lazyload directory.

* resources/import-expectations.json:
* web-platform-tests/html/semantics/embedded-content/the-img-element/below-viewport-image-loading-lazy-load-event-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/below-viewport-image-loading-lazy-load-event.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/common.js: Added.
(ElementLoadPromise):
(ElementLoadPromise.prototype.element):
(is_image_fully_loaded):
* web-platform-tests/html/semantics/embedded-content/the-img-element/disconnected-image-loading-lazy-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/disconnected-image-loading-lazy.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/iframe-loading-eager-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/loading/lazyload/iframe-loading-eager.tentative-expected.txt.
* web-platform-tests/html/semantics/embedded-content/the-img-element/iframe-loading-eager.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/loading/lazyload/iframe-loading-eager.tentative.html.
* web-platform-tests/html/semantics/embedded-content/the-img-element/iframe-loading-lazy-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/iframe-loading-lazy.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/loading/lazyload/iframe-loading-lazy.tentative.html.
* web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-eager-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/loading/lazyload/image-loading-eager.tentative-expected.txt.
* web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-eager.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/loading/lazyload/image-loading-eager.tentative.html.
* web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-below-viewport-dynamic-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-below-viewport-dynamic.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-in-cross-origin-ifame-001.sub-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-in-cross-origin-ifame-001.sub.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-in-cross-origin-ifame-002.sub-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-in-cross-origin-ifame-002.sub.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-in-script-disabled-iframe-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-in-script-disabled-iframe.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-in-viewport-dynamic-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-in-viewport-dynamic.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-load-event-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-load-event.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-move-document-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-move-document.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-move-into-script-disabled-iframe-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-move-into-script-disabled-iframe.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-multicol-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-multicol.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/loading/lazyload/image-loading-lazy.tentative.html.
* web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/invisible-image-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/invisible-image.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/move-element-and-scroll-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/move-element-and-scroll.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/not-rendered-below-viewport-image-loading-lazy-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/not-rendered-below-viewport-image-loading-lazy.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/not-rendered-image-loading-lazy-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/not-rendered-image-loading-lazy.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/original-base-url-applied-2-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/original-base-url-applied-2.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/original-base-url-applied-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/original-base-url-applied-iframe-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/original-base-url-applied-iframe.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/original-base-url-applied.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/original-crossorigin-applied.sub-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/original-crossorigin-applied.sub.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/original-referrer-policy-applied.sub-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/original-referrer-policy-applied.sub.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/picture-loading-lazy-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/picture-loading-lazy.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/remove-element-and-scroll-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/remove-element-and-scroll.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/resources/image-loading-lazy-below-viewport-iframe.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/resources/image-loading-lazy-in-viewport-iframe.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/resources/image.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/loading/lazyload/resources/image.png.
* web-platform-tests/html/semantics/embedded-content/the-img-element/resources/newwindow.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/resources/referrer-checker-img.py: Added.
(main):
* web-platform-tests/html/semantics/embedded-content/the-img-element/resources/subframe.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/loading/lazyload/resources/subframe.html.
* web-platform-tests/html/semantics/embedded-content/the-img-element/resources/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/the-img-element/w3c-import.log:
* web-platform-tests/loading/lazyload/resources/w3c-import.log: Removed.
* web-platform-tests/loading/lazyload/w3c-import.log: Removed.

Source/WebCore:

Implement lazy image loading as specified here [1]. Lazy image loading
is controlled by the loading attribute on <img>. When the loading attribute is
not specified, the behavior is like before this patch, i.e. loading is
eager.

Not all loading=lazy requests will turn into actual lazy image loads, when
scripting is turned off they will not be deferred [2].

This implementation relies on Intersection Observer and hence works on WK2 only.

Deferred images are painted using a simple outline until fully loaded.

[1] https://html.spec.whatwg.org/#attr-img-loading
[2] https://html.spec.whatwg.org/#will-lazy-load-image-steps

Tests: http/tests/lazyload/attribute.html
       http/tests/lazyload/js-image.html
       http/tests/lazyload/lazy-image-load-in-iframes-scripting-disabled.html
       http/tests/lazyload/lazy-image-load-in-iframes-scripting-enabled.html
       http/tests/lazyload/lazy.html
       imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/below-viewport-image-loading-lazy-load-event.html
       imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/disconnected-image-loading-lazy.html
       imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/iframe-loading-eager.html
       imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/iframe-loading-lazy.html
       imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-eager.html
       imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-below-viewport-dynamic.html
       imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-in-cross-origin-ifame-001.sub.html
       imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-in-cross-origin-ifame-002.sub.html
       imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-in-script-disabled-iframe.html
       imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-in-viewport-dynamic.html
       imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-load-event.html
       imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-move-document.html
       imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-move-into-script-disabled-iframe.html
       imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-multicol.html
       imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy.html
       imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/invisible-image.html
       imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/move-element-and-scroll.html
       imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/not-rendered-below-viewport-image-loading-lazy.html
       imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/not-rendered-image-loading-lazy.html
       imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/original-base-url-applied-2.html
       imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/original-base-url-applied-iframe.html
       imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/original-base-url-applied.html
       imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/original-crossorigin-applied.sub.html
       imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/original-referrer-policy-applied.sub.html
       imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/picture-loading-lazy.html
       imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/remove-element-and-scroll.html

* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* dom/Document.cpp:
(WebCore::Document::lazyLoadImageObserver):
* dom/Document.h:
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::HTMLImageElement):
(WebCore::HTMLImageElement::create):
(WebCore::HTMLImageElement::hasLazyLoadableAttributeValue):
(WebCore::HTMLImageElement::parseAttribute):
(WebCore::HTMLImageElement::loadDeferredImage):
(WebCore::HTMLImageElement::didMoveToNewDocument):
(WebCore::HTMLImageElement::loadingForBindings const):
(WebCore::HTMLImageElement::setLoadingForBindings):
(WebCore::HTMLImageElement::isDeferred const):
(WebCore::HTMLImageElement::isLazyLoadable const):
* html/HTMLImageElement.h:
(WebCore::HTMLImageElement::createdByParser const): Deleted.
* html/HTMLImageElement.idl:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::didMoveToNewDocument):
* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::didMoveToNewDocument):
* html/HTMLTagNames.in:
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::didMoveToNewDocument):
* html/LazyLoadImageObserver.cpp: Added.
(WebCore::LazyLoadImageObserver::observe):
(WebCore::LazyLoadImageObserver::unobserve):
(WebCore::LazyLoadImageObserver::intersectionObserver):
(WebCore::LazyLoadImageObserver::isObserved const):
* html/LazyLoadImageObserver.h: Added.
(WebCore::LazyLoadImageObserver::create):
* html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::updateFromElement):
(WebCore::ImageLoader::notifyFinished):
(WebCore::ImageLoader::elementDidMoveToNewDocument):
(WebCore::ImageLoader::loadDeferredImage):
* loader/ImageLoader.h:
(WebCore::ImageLoader::isDeferred const):
* loader/cache/CachedImage.h:
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestImage):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::determineRevalidationPolicy const):
(WebCore::CachedResourceLoader::clientDefersImage const):
(WebCore::CachedResourceLoader::shouldDeferImageLoad const):
(WebCore::CachedResourceLoader::reloadImagesIfNotDeferred):
* loader/cache/CachedResourceLoader.h:
* rendering/RenderImage.cpp:
(WebCore::isDeferredImage):
(WebCore::RenderImage::paintReplaced):
* svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::didMoveToNewDocument):

LayoutTests:

Import relevant tests into http/tests/lazyload.
Skip lazy image load tests for WK1 and windows, which
has IntersectionObserver turned off by default.

* TestExpectations:
* http/tests/lazyload/attribute-expected.txt: Added.
* http/tests/lazyload/attribute.html: Added.
* http/tests/lazyload/js-image-expected.txt: Added.
* http/tests/lazyload/js-image.html: Added.
* http/tests/lazyload/lazy-expected.txt: Added.
* http/tests/lazyload/lazy-image-load-in-iframes-scripting-disabled-expected.txt: Added.
* http/tests/lazyload/lazy-image-load-in-iframes-scripting-disabled.html: Added.
* http/tests/lazyload/lazy-image-load-in-iframes-scripting-enabled-expected.txt: Added.
* http/tests/lazyload/lazy-image-load-in-iframes-scripting-enabled.html: Added.
* http/tests/lazyload/lazy.html: Added.
* http/tests/lazyload/placeholder.js: Added.
(is_image_fully_loaded):
* http/tests/lazyload/resources/lazy-load-in-iframe.html: Added.
* platform/mac-wk1/TestExpectations:
* platform/win/TestExpectations:

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

5 months ago[ macOS wk2 ] webgpu/whlsl/do-while-loop-continue.html is a flaky failure
jacob_uphoff@apple.com [Mon, 17 Feb 2020 23:19:18 +0000 (23:19 +0000)]
[ macOS wk2 ] webgpu/whlsl/do-while-loop-continue.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=207864

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

5 months ago[WebGL] Enable ANGLE by default for Cocoa platforms
dino@apple.com [Mon, 17 Feb 2020 23:10:30 +0000 (23:10 +0000)]
[WebGL] Enable ANGLE by default for Cocoa platforms
https://bugs.webkit.org/show_bug.cgi?id=205483
rdar://56925821

Reviewed by Simon Fraser.

Source/WTF:

* wtf/Platform.h:

LayoutTests:

Rebaseline a bunch of tests and mark expectations.

* fast/canvas/webgl/copy-tex-image-and-sub-image-2d-bad-input-expected.txt:
* fast/canvas/webgl/draw-elements-out-of-bounds-uint-index-expected.txt:
* fast/canvas/webgl/drawElements-empty-vertex-data-expected.txt:
* fast/canvas/webgl/readPixels-float-expected.txt:
* fast/canvas/webgl/simulated-vertexAttrib0-invalid-indicies-expected.txt:
* fast/canvas/webgl/simulated-vertexAttrib0-invalid-indicies.html:
* fast/canvas/webgl/vertexAttribPointer-with-bad-offset-expected.txt:
* fast/canvas/webgl/webgl-drawarrays-crash-2-expected.txt:
* fast/canvas/webgl/webgl-drawarrays-crash-expected.txt:
* fast/canvas/webgl/webgl2-texture-upload-enums-expected.txt:
* platform/ios-device/TestExpectations:
* platform/ios/TestExpectations:
* platform/ios/webgl/1.0.3/conformance/extensions/oes-texture-float-expected.txt: Removed.
* platform/mac/TestExpectations:
* webgl/1.0.3/conformance/context/context-lost-restored-expected.txt:
* webgl/1.0.3/conformance/extensions/oes-texture-float-expected.txt:
* webgl/1.0.3/conformance/extensions/oes-texture-half-float-expected.txt:
* webgl/1.0.3/conformance/glsl/misc/shader-struct-scope-expected.txt:
* webgl/1.0.3/conformance/glsl/misc/shaders-with-invariance-expected.txt:
* webgl/1.0.3/conformance/glsl/misc/shaders-with-name-conflicts-expected.txt:
* webgl/1.0.3/conformance/misc/webgl-specific-expected.txt:
* webgl/1.0.3/conformance/rendering/point-no-attributes-expected.txt:
* webgl/1.0.3/conformance/textures/texture-copying-feedback-loops-expected.txt:

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

5 months agotiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-2d-overflow.html is flaky
jacob_uphoff@apple.com [Mon, 17 Feb 2020 23:02:47 +0000 (23:02 +0000)]
tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-2d-overflow.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=148405

RUnreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

5 months agoAllow suffixes on com.apple.WebKit.WebContent XPC service name
commit-queue@webkit.org [Mon, 17 Feb 2020 23:00:06 +0000 (23:00 +0000)]
Allow suffixes on com.apple.WebKit.WebContent XPC service name
https://bugs.webkit.org/show_bug.cgi?id=207856
<rdar://problem/59455881>

Patch by Alex Christensen <achristensen@webkit.org> on 2020-02-17
Reviewed by Chris Dumez.

* Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:
(WebKit::XPCServiceEventHandler):

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

5 months ago[JSC] JITThunk should be HashSet<Weak<NativeExecutable>> with appropriate GC weakness...
ysuzuki@apple.com [Mon, 17 Feb 2020 22:58:49 +0000 (22:58 +0000)]
[JSC] JITThunk should be HashSet<Weak<NativeExecutable>> with appropriate GC weakness handling
https://bugs.webkit.org/show_bug.cgi?id=207715

Reviewed by Darin Adler.

JSTests:

* stress/stress-jitthunks.js: Added.
(let.set newGlobal):
(set catch):

Source/JavaScriptCore:

This patch refines JITThunks GC-aware Weak hash map for NativeExecutable. Previously, we have
HashMap<std::tuple<TaggedNativeFunction, TaggedNativeFunction, String>, Weak<NativeExecutable>> table.
But this is not good because the first tuple's information is already in NativeExecutable.
But we were using this design since Weak<NativeExecutable> can be nullified because of Weak<>. If this
happens, we could have invalid Entry in HashMap which does not have corresponding values. This will
cause crash when rehasing requires hash code for this entry.

But this HashMap is very bad in terms of memory usage. Each entry has 32 bytes, and this table gets enough
large. We identified that this table is consuming much memory in Membuster. So it is worth designing
carefully crafted data structure which only holds Weak<NativeExecutable> by leveraging the deep interaction
with our GC implementation.

This patch implements new design of JITThunks, which uses HashSet<Weak<NativeExecutable>> and carefully crafted
HashTraits / KeyTraits to handle Weak<> well.

1. Each Weak should have finalizer, and this finalizer should remove dead Weak<NativeExecutable> from HashSet.

    This is ensuring that all the keys in HashSet is, even if Weak<> is saying it is Dead, it still has an way
    to access content of NativeExecutable if the content is not a JS objects. For example, we can get function
    pointer from dead Weak<NativeExecutable> if it is not yet finalized. Since we remove all finalized Weak<>
    from the table, this finalizer mechanism allows us to access function pointers etc. from Weak<NativeExecutable>
    so long as it is held in this table.

2. Getting NativeExecutable* from JITThunks should have special protocol.

    When getting NativeExecutable* from JITThunks, we do the following,

    1. First, we check we have an Entry in JITThunks. If it does not exist, we should insert it anyway.
        1.1. If it exists, we should check whether this Weak<NativeExecutable> is dead or not. It is possible that
             dead one is still in the table because "dead" does not mean that it is "finalized". Until finalizing happens (and
             it can be delayed by incremental-sweeper), Weak<NativeExecutable> can be dead but still accessible. So the table
             is still holding dead one. If we get dead one, we should insert a new one.
        1.2. If it is not dead, we return it.
    2. Second, we create a new NativeExecutable and insert it. In that case, it is possible that the table already has Weak<NativeExecutable>,
       but it is dead. In that case, we need to explicitly replace it with newly created one since old one is holding old content. If we
       replaced, finalizer of Weak<> will not be invoked since it immediately deallocates Weak<>. So, it does not happen that this newly
       inserted NativeExecutable* is removed by the finalizer registered by the old Weak<>.

This change makes memory usage of JITThunks table 1/4.

* heap/Weak.cpp:
(JSC::weakClearSlowCase):
* heap/Weak.h:
(JSC::Weak::Weak):
(JSC::Weak::isHashTableEmptyValue const):
(JSC::Weak::unsafeImpl const):
(WTF::HashTraits<JSC::Weak<T>>::isEmptyValue):
* heap/WeakInlines.h:
(JSC::Weak<T>::Weak):
* jit/JITThunks.cpp:
(JSC::JITThunks::JITThunks):
(JSC::JITThunks::WeakNativeExecutableHash::hash):
(JSC::JITThunks::WeakNativeExecutableHash::equal):
(JSC::JITThunks::HostKeySearcher::hash):
(JSC::JITThunks::HostKeySearcher::equal):
(JSC::JITThunks::NativeExecutableTranslator::hash):
(JSC::JITThunks::NativeExecutableTranslator::equal):
(JSC::JITThunks::NativeExecutableTranslator::translate):
(JSC::JITThunks::finalize):
(JSC::JITThunks::hostFunctionStub):
(JSC::JITThunks::clearHostFunctionStubs): Deleted.
* jit/JITThunks.h:
* runtime/NativeExecutable.h:
* tools/JSDollarVM.cpp:
(JSC::functionGCSweepAsynchronously):
(JSC::functionCreateEmptyFunctionWithName):
(JSC::JSDollarVM::finishCreation):

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

5 months agoUpdate WebKit Tools to issue mach extensions as needed
bfulgham@apple.com [Mon, 17 Feb 2020 22:54:22 +0000 (22:54 +0000)]
Update WebKit Tools to issue mach extensions as needed
https://bugs.webkit.org/show_bug.cgi?id=207850
<rdar://problem/59521019>

Reviewed by Per Arne Vollan.

Revise the codesign settings for our testing tools to allow the process to vend mach extensions
to its child processes (WebContent, GPU, Network, etc.) as needed.

* MiniBrowser/MiniBrowser.entitlements:
* TestWebKitAPI/Configurations/TestWebKitAPI-macOS.entitlements: Added.
* TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* WebKitTestRunner/Configurations/WebKitTestRunner.entitlements:

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

5 months ago[ macOS wk2 ] tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-rotated.html...
jacob_uphoff@apple.com [Mon, 17 Feb 2020 22:53:34 +0000 (22:53 +0000)]
[ macOS wk2 ] tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-rotated.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=207861

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

5 months agoUpdate resource, type, and instrument icons for light, dark, and override colors
jond@apple.com [Mon, 17 Feb 2020 22:40:11 +0000 (22:40 +0000)]
Update resource, type, and instrument icons for light, dark, and override colors
https://bugs.webkit.org/show_bug.cgi?id=207587

Reviewed by Timothy Hatcher.

* UserInterface/Images/ApplicationCacheManifest.svg: Added.
* UserInterface/Images/Beacon.svg:
* UserInterface/Images/ClippingIcons.svg: Added.
* UserInterface/Images/Cookie.svg: Added.
* UserInterface/Images/Database.svg: Added.
* UserInterface/Images/DocumentIcons.svg: Added.
* UserInterface/Images/FolderGeneric.svg: Added.
* UserInterface/Images/InstrumentIcons.svg: Added.
* UserInterface/Images/Origin.svg:
* UserInterface/Images/Stopwatch.svg:
* UserInterface/Images/TableIcons.svg: Added.
* UserInterface/Images/TypeIcons.svg: Added.
* UserInterface/Views/AuditTreeElement.css:
(.audit.test-case .icon):
(.audit.test-group .icon):
(.audit.test-case-result .icon):
(.audit.test-group-result .icon):
(@media (prefers-color-scheme: dark) .audit.test-case .icon):
(@media (prefers-color-scheme: dark) .audit.test-group .icon):
(@media (prefers-color-scheme: dark) .audit.test-case-result .icon):
(@media (prefers-color-scheme: dark) .audit.test-group-result .icon):
* UserInterface/Views/BreakpointTreeElement.css:
(.breakpoint-exception-icon .icon):
(.breakpoint-assertion-icon .icon):
(.breakpoint-microtask-icon .icon):
(.breakpoint-paused-icon .icon):
(@media (prefers-color-scheme: dark) .breakpoint-exception-icon .icon):
(@media (prefers-color-scheme: dark) .breakpoint-assertion-icon .icon):
(@media (prefers-color-scheme: dark) .breakpoint-microtask-icon .icon):
(@media (prefers-color-scheme: dark) .breakpoint-paused-icon .icon):
* UserInterface/Views/CallFrameIcons.css:
(.program-icon .icon):
(.function-icon .icon):
(.event-listener-icon .icon):
(.native-icon .icon):
(.tail-deleted .icon):
(@media (prefers-color-scheme: dark) .program-icon .icon):
(@media (prefers-color-scheme: dark) .function-icon .icon):
(@media (prefers-color-scheme: dark) .event-listener-icon .icon):
(@media (prefers-color-scheme: dark) .native-icon .icon):
(@media (prefers-color-scheme: dark) .tail-deleted .icon):
* UserInterface/Views/CanvasSidebarPanel.css:
(.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.folder-icon > .icon):
(@media (prefers-color-scheme: dark) .sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.folder-icon > .icon):
* UserInterface/Views/DOMBreakpointTreeElement.css:
(.breakpoint.dom.breakpoint-for-subtree-modified:not(.breakpoint-paused-icon) .icon):
(.breakpoint.dom.breakpoint-for-attribute-modified:not(.breakpoint-paused-icon) .icon):
(.breakpoint.dom.breakpoint-for-node-removed:not(.breakpoint-paused-icon) .icon):
(@media (prefers-color-scheme: dark) .breakpoint.dom.breakpoint-for-subtree-modified:not(.breakpoint-paused-icon) .icon):
(@media (prefers-color-scheme: dark) .breakpoint.dom.breakpoint-for-attribute-modified:not(.breakpoint-paused-icon) .icon):
(@media (prefers-color-scheme: dark) .breakpoint.dom.breakpoint-for-node-removed:not(.breakpoint-paused-icon) .icon):
* UserInterface/Views/DOMNodeTreeElement.css:
(.tree-outline .item.dom-node .icon):
(@media (prefers-color-scheme: dark) .tree-outline .item.dom-node .icon):
* UserInterface/Views/FolderIcon.css:
(.folder-icon .icon):
(.tree-outline:focus .folder-icon.selected .icon):
(.origin-icon .icon):
(.tree-outline:focus .origin-icon.selected .icon):
(@media (prefers-color-scheme: dark) .folder-icon .icon):
(@media (prefers-color-scheme: dark) .origin-icon .icon):
* UserInterface/Views/HeapAllocationsTimelineOverviewGraph.css:
(.timeline-overview-graph.heap-allocations > img.snapshot):
(@media (prefers-color-scheme: dark) .timeline-overview-graph.heap-allocations > img.snapshot):
* UserInterface/Views/HeapAllocationsTimelineView.css:
(.timeline-view.heap-allocations > .data-grid td .icon.heap-snapshot):
(@media (prefers-color-scheme: dark) .timeline-view.heap-allocations > .data-grid td .icon.heap-snapshot):
* UserInterface/Views/HeapSnapshotInstancesContentView.css:
(.heap-snapshot .icon):
(.heap-snapshot .icon.native):
(.heap-snapshot .icon.boolean):
(.heap-snapshot .icon.function):
(.heap-snapshot .icon.number):
(.heap-snapshot .icon.bigint):
(.heap-snapshot .icon.object):
(.heap-snapshot .icon.node):
(.heap-snapshot .icon.regex):
(.heap-snapshot .icon.string):
(.heap-snapshot .icon.symbol):
(@media (prefers-color-scheme: dark) .heap-snapshot .icon):
(@media (prefers-color-scheme: dark) .heap-snapshot .icon.native):
(@media (prefers-color-scheme: dark) .heap-snapshot .icon.boolean):
(@media (prefers-color-scheme: dark) .heap-snapshot .icon.function):
(@media (prefers-color-scheme: dark) .heap-snapshot .icon.number):
(@media (prefers-color-scheme: dark) .heap-snapshot .icon.bigint):
(@media (prefers-color-scheme: dark) .heap-snapshot .icon.object):
(@media (prefers-color-scheme: dark) .heap-snapshot .icon.node):
(@media (prefers-color-scheme: dark) .heap-snapshot .icon.regex):
(@media (prefers-color-scheme: dark) .heap-snapshot .icon.string):
(@media (prefers-color-scheme: dark) .heap-snapshot .icon.symbol):
* UserInterface/Views/IdleTreeElement.css:
(.details-section.call-stack .idle .icon):
(@media (prefers-color-scheme: dark) .details-section.call-stack .idle .icon):
* UserInterface/Views/LayerDetailsSidebarPanel.css:
(.panel.details.layer .name-column .icon):
(.panel.details.layer tr.reflection .name-column .icon):
(.panel.details.layer tr.pseudo-element .name-column .icon):
(@media (prefers-color-scheme: dark) .panel.details.layer .name-column .icon):
(@media (prefers-color-scheme: dark) .panel.details.layer tr.reflection .name-column .icon):
(@media (prefers-color-scheme: dark) .panel.details.layer tr.pseudo-element .name-column .icon):
* UserInterface/Views/LayerTreeDetailsSidebarPanel.css:
(.panel.details.layer-tree .name-column .icon):
(.panel.details.layer-tree tr.reflection .name-column .icon):
(.panel.details.layer-tree tr.pseudo-element .name-column .icon):
(@media (prefers-color-scheme: dark) .panel.details.layer-tree .name-column .icon):
(@media (prefers-color-scheme: dark) .panel.details.layer-tree tr.reflection .name-column .icon):
(@media (prefers-color-scheme: dark) .panel.details.layer-tree tr.pseudo-element .name-column .icon):
* UserInterface/Views/NetworkTableContentView.css:
(.network-table > .table li:not(.selected) .cell:not(.current-session)):
(.network-table > .table .cell.dom-node.name .icon):
(@media (prefers-color-scheme: dark) .breakpoint-assertion-icon .icon):
(@media (prefers-color-scheme: dark) .network-table > .table .cell.dom-node.name .icon):
(.network-table .cell.dom-node.name .icon): Deleted.
* UserInterface/Views/ObjectTreePropertyTreeElement.css:
(.object-tree-property.boolean > .icon):
(.object-tree-property.function > .icon):
(.object-tree-property.number > .icon):
(.object-tree-property.bigint > .icon):
(.object-tree-property.object > .icon):
(.object-tree-property.object.null > .icon):
(.object-tree-property.object.node > .icon):
(.object-tree-property.regex > .icon):
(.object-tree-property.string > .icon):
(.object-tree-property.symbol > .icon):
(.object-tree-property.accessor > .icon,):
(.object-tree-property.had-error > .icon):
(@media (prefers-color-scheme: dark) .object-tree-property.boolean > .icon):
(@media (prefers-color-scheme: dark) .object-tree-property.function > .icon):
(@media (prefers-color-scheme: dark) .object-tree-property.number > .icon):
(@media (prefers-color-scheme: dark) .object-tree-property.bigint > .icon):
(@media (prefers-color-scheme: dark) .object-tree-property.object > .icon):
(@media (prefers-color-scheme: dark) .object-tree-property.object.null > .icon):
(@media (prefers-color-scheme: dark) .object-tree-property.object.node > .icon):
(@media (prefers-color-scheme: dark) .object-tree-property.regex > .icon):
(@media (prefers-color-scheme: dark) .object-tree-property.string > .icon):
(@media (prefers-color-scheme: dark) .object-tree-property.symbol > .icon):
(@media (prefers-color-scheme: dark) .object-tree-property.accessor > .icon,):
(@media (prefers-color-scheme: dark) .object-tree-property.had-error > .icon):
* UserInterface/Views/PathComponentIcons.css:
(.request-icon .icon):
(.response-icon .icon):
(.heap-snapshot-summary-icon .icon):
(.heap-snapshot-instances-icon .icon):
(.heap-snapshot-object-graph-icon .icon):
(.dom-element-icon .icon):
(.dom-pseudo-element-icon .icon):
(.dom-text-node-icon .icon):
(.dom-comment-icon .icon):
(.dom-document-type-icon .icon):
(.dom-document-icon .icon):
(.dom-character-data-icon .icon):
(.dom-node-icon .icon):
(.object-icon .icon):
(.function-icon .icon):
(.native-icon .icon):
(.program-icon .icon):
(.events-icon .icon):
(.call-trees-icon .icon):
(.snapshot-list-icon .icon):
(.snapshot-diff-icon .icon):
(.image-icon .icon):
(.source-icon .icon):
(@media (prefers-color-scheme: dark) .request-icon .icon):
(@media (prefers-color-scheme: dark) .response-icon .icon):
(@media (prefers-color-scheme: dark) .heap-snapshot-summary-icon .icon):
(@media (prefers-color-scheme: dark) .heap-snapshot-instances-icon .icon):
(@media (prefers-color-scheme: dark) .heap-snapshot-object-graph-icon .icon):
(@media (prefers-color-scheme: dark) .dom-element-icon .icon):
(@media (prefers-color-scheme: dark) .dom-pseudo-element-icon .icon):
(@media (prefers-color-scheme: dark) .dom-text-node-icon .icon):
(@media (prefers-color-scheme: dark) .dom-comment-icon .icon):
(@media (prefers-color-scheme: dark) .dom-document-type-icon .icon):
(@media (prefers-color-scheme: dark) .dom-document-icon .icon):
(@media (prefers-color-scheme: dark) .dom-character-data-icon .icon):
(@media (prefers-color-scheme: dark) .dom-node-icon .icon):
(@media (prefers-color-scheme: dark) .object-icon .icon):
(@media (prefers-color-scheme: dark) .function-icon .icon):
(@media (prefers-color-scheme: dark) .native-icon .icon):
(@media (prefers-color-scheme: dark) .program-icon .icon):
(@media (prefers-color-scheme: dark) .events-icon .icon):
(@media (prefers-color-scheme: dark) .call-trees-icon .icon):
(@media (prefers-color-scheme: dark) .snapshot-list-icon .icon):
(@media (prefers-color-scheme: dark) .snapshot-diff-icon .icon):
(@media (prefers-color-scheme: dark) .source-icon .icon):
* UserInterface/Views/ProfileView.css:
(.profile > .data-grid td .icon.function-icon):
(.profile > .data-grid td .icon.native-icon):
(.profile > .data-grid td .icon.program-icon):
(@media (prefers-color-scheme: dark) .profile > .data-grid td .icon.function-icon):
(@media (prefers-color-scheme: dark) .profile > .data-grid td .icon.native-icon):
(@media (prefers-color-scheme: dark) .profile > .data-grid td .icon.program-icon):
* UserInterface/Views/ResourceIcons.css:
(.resource-icon .icon):
(.resource-icon.override .icon):
(.resource-icon.resource-type-document .icon):
(.resource-icon.resource-type-document.override .icon):
(.resource-icon.resource-type-image .icon):
(.resource-icon.resource-type-image.override .icon):
(.resource-icon.resource-type-font .icon):
(.resource-icon.resource-type-font.override .icon):
(:matches(.resource-icon.resource-type-style-sheet, .style-sheet-icon) .icon):
(:matches(.resource-icon.resource-type-style-sheet.override, .style-sheet-icon.override) .icon):
(.resource-icon.resource-type-script .icon):
(.resource-icon.resource-type-script.override .icon):
(.anonymous-script-icon .icon):
(.source-map-resource.resource-icon .icon):
(.source-map-resource.resource-icon.resource-type-style-sheet .icon):
(.source-map-resource.resource-icon.resource-type-script .icon):
(.script.worker-icon .icon):
(.script.worker-icon.override .icon):
(.resource-icon.resource-type-websocket .icon):
(.resource-icon.resource-type-ping .icon,):
(.resource-icon.resource-type-range .icon):
(@media (prefers-color-scheme: dark) .resource-icon .icon):
(@media (prefers-color-scheme: dark) .resource-icon.override .icon):
(@media (prefers-color-scheme: dark) .resource-icon.resource-type-document .icon):
(@media (prefers-color-scheme: dark) .resource-icon.resource-type-document.override .icon):
(@media (prefers-color-scheme: dark) .resource-icon.resource-type-image .icon):
(@media (prefers-color-scheme: dark) .resource-icon.resource-type-image.override .icon):
(@media (prefers-color-scheme: dark) .resource-icon.resource-type-font .icon):
(@media (prefers-color-scheme: dark) .resource-icon.resource-type-font.override .icon):
(@media (prefers-color-scheme: dark) :matches(.resource-icon.resource-type-style-sheet, .style-sheet-icon) .icon):
(@media (prefers-color-scheme: dark) :matches(.resource-icon.resource-type-style-sheet.override, .style-sheet-icon.override) .icon):
(@media (prefers-color-scheme: dark) .resource-icon.resource-type-script .icon):
(@media (prefers-color-scheme: dark) .resource-icon.resource-type-script.override .icon):
(@media (prefers-color-scheme: dark) .anonymous-script-icon .icon):
(@media (prefers-color-scheme: dark) .source-map-resource.resource-icon .icon):
(@media (prefers-color-scheme: dark) .source-map-resource.resource-icon.resource-type-style-sheet .icon):
(@media (prefers-color-scheme: dark) .source-map-resource.resource-icon.resource-type-script .icon):
(@media (prefers-color-scheme: dark) .script.worker-icon .icon):
(@media (prefers-color-scheme: dark) .script.worker-icon.override .icon):
(@media (prefers-color-scheme: dark) .resource-icon.resource-type-websocket .icon):
(@media (prefers-color-scheme: dark) .resource-icon.resource-type-ping .icon,):
(@media (prefers-color-scheme: dark) .resource-icon.resource-type-range .icon):
(.large .resource-icon .icon): Deleted.
(.large .resource-icon.resource-type-document .icon): Deleted.
(.large .resource-icon.resource-type-image .icon): Deleted.
(.large .resource-icon.resource-type-font .icon): Deleted.
(.large :matches(.resource-icon.resource-type-style-sheet, .style-sheet-icon) .icon): Deleted.
(.large .resource-icon.resource-type-script .icon): Deleted.
(.large .anonymous-script-icon .icon): Deleted.
(.large .source-map-resource.resource-icon .icon): Deleted.
(.large .source-map-resource.resource-icon.resource-type-style-sheet .icon): Deleted.
(.large .source-map-resource.resource-icon.resource-type-script .icon): Deleted.
(.large .script.worker-icon .icon): Deleted.
(.large .resource-icon.resource-type-websocket .icon): Deleted.
(.large .resource-icon.resource-type-range .icon): Deleted.
* UserInterface/Views/SearchIcons.css:
(.dom-match-element-icon .icon):
(.dom-match-text-node-icon .icon):
(.dom-match-comment-icon .icon):
(.dom-match-document-type-icon .icon):
(.dom-match-character-data-icon .icon):
(.dom-match-node-icon .icon):
(.source-code-match .icon):
(@media (prefers-color-scheme: dark) .dom-match-element-icon .icon):
(@media (prefers-color-scheme: dark) .dom-match-text-node-icon .icon):
(@media (prefers-color-scheme: dark) .dom-match-comment-icon .icon):
(@media (prefers-color-scheme: dark) .dom-match-document-type-icon .icon):
(@media (prefers-color-scheme: dark) .dom-match-character-data-icon .icon):
(@media (prefers-color-scheme: dark) .dom-match-node-icon .icon):
(@media (prefers-color-scheme: dark) .source-code-match .icon):
* UserInterface/Views/StorageIcons.css:
(.application-cache-manifest .icon):
(.application-cache-frame .icon):
(.cookie-icon .icon):
(.local-storage-icon .icon):
(.session-storage-icon .icon):
(.database-icon .icon):
(.database-table-icon .icon):
(@media (prefers-color-scheme: dark) .application-cache-manifest .icon):
(@media (prefers-color-scheme: dark) .application-cache-frame .icon):
(@media (prefers-color-scheme: dark) .local-storage-icon .icon):
(@media (prefers-color-scheme: dark) .session-storage-icon .icon):
(@media (prefers-color-scheme: dark) .database-icon .icon):
(@media (prefers-color-scheme: dark) .database-table-icon .icon):
* UserInterface/Views/StyleRuleIcons.css:
(.author-style-rule-icon .icon):
(.author-style-rule-icon.pseudo-selector .icon):
(.user-style-rule-icon .icon):
(.user-style-rule-icon.pseudo-selector .icon):
(.user-agent-style-rule-icon .icon):
(.user-agent-style-rule-icon.pseudo-selector .icon):
(.inspector-style-rule-icon .icon):
(.inspector-style-rule-icon.pseudo-selector .icon):
(.inherited-style-rule-icon .icon):
(.inherited-element-style-rule-icon .icon):
(@media (prefers-color-scheme: dark) .author-style-rule-icon .icon):
(@media (prefers-color-scheme: dark) .author-style-rule-icon.pseudo-selector .icon):
(@media (prefers-color-scheme: dark) .user-style-rule-icon .icon):
(@media (prefers-color-scheme: dark) .user-style-rule-icon.pseudo-selector .icon):
(@media (prefers-color-scheme: dark) .user-agent-style-rule-icon .icon):
(@media (prefers-color-scheme: dark) .user-agent-style-rule-icon.pseudo-selector .icon):
(@media (prefers-color-scheme: dark) .inspector-style-rule-icon .icon):
(@media (prefers-color-scheme: dark) .inspector-style-rule-icon.pseudo-selector .icon):
(@media (prefers-color-scheme: dark) .inherited-style-rule-icon .icon):
(@media (prefers-color-scheme: dark) .inherited-element-style-rule-icon .icon):
* UserInterface/Views/TimelineIcons.css:
(.network-icon .icon):
(.script-icon .icon):
(.cpu-icon .icon):
(.memory-icon .icon):
(.heap-allocations-icon .icon):
(.layout-icon .icon):
(.rendering-frame-icon .icon):
(.media-icon .icon):
(.stopwatch-icon .icon):
(.style-record .icon):
(.layout-record .icon):
(.paint-record .icon):
(.composite-record .icon):
(.rendering-frame-record .icon):
(.api-record .icon):
(.evaluated-record .icon):
(.event-record .icon):
(.probe-record .icon):
(.console-profile-record .icon):
(.garbage-collection-profile-record .icon):
(.timer-record .icon):
(.animation-frame-record .icon):
(.css-animation-record .icon):
(.css-transition-record .icon):
(.media-element-record .icon):
(.heap-snapshot-record .icon):
(@media (prefers-color-scheme: dark) .network-icon .icon):
(@media (prefers-color-scheme: dark) .script-icon .icon):
(@media (prefers-color-scheme: dark) .cpu-icon .icon):
(@media (prefers-color-scheme: dark) .memory-icon .icon):
(@media (prefers-color-scheme: dark) .heap-allocations-icon .icon):
(@media (prefers-color-scheme: dark) .layout-icon .icon):
(@media (prefers-color-scheme: dark) .rendering-frame-icon .icon):
(@media (prefers-color-scheme: dark) .media-icon .icon):
(@media (prefers-color-scheme: dark) .stopwatch-icon .icon):
(@media (prefers-color-scheme: dark) .style-record .icon):
(@media (prefers-color-scheme: dark) .layout-record .icon):
(@media (prefers-color-scheme: dark) .paint-record .icon):
(@media (prefers-color-scheme: dark) .composite-record .icon):
(@media (prefers-color-scheme: dark) .rendering-frame-record .icon):
(@media (prefers-color-scheme: dark) .api-record .icon):
(@media (prefers-color-scheme: dark) .evaluated-record .icon):
(@media (prefers-color-scheme: dark) .event-record .icon):
(@media (prefers-color-scheme: dark) .probe-record .icon):
(@media (prefers-color-scheme: dark) .console-profile-record .icon):
(@media (prefers-color-scheme: dark) .garbage-collection-profile-record .icon):
(@media (prefers-color-scheme: dark) .timer-record .icon):
(@media (prefers-color-scheme: dark) .animation-frame-record .icon):
(@media (prefers-color-scheme: dark) .css-animation-record .icon):
(@media (prefers-color-scheme: dark) .css-transition-record .icon):
(@media (prefers-color-scheme: dark) .media-element-record .icon):
(@media (prefers-color-scheme: dark) .heap-snapshot-record .icon):
* UserInterface/Views/URLBreakpointTreeElement.css:
(.breakpoint.url:not(.breakpoint-paused-icon) .icon):
(@media (prefers-color-scheme: dark) .breakpoint.url:not(.breakpoint-paused-icon) .icon):

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

5 months agoInline boxes for images that represent nothing should collapse to empty.
zalan@apple.com [Mon, 17 Feb 2020 22:23:03 +0000 (22:23 +0000)]
Inline boxes for images that represent nothing should collapse to empty.
https://bugs.webkit.org/show_bug.cgi?id=207740
<rdar://problem/57339992>

Reviewed by Darin Adler.

Source/WebCore:

Tests: fast/images/inline-image-box-with-no-alt-should-collapse-no-quirks.html
       fast/images/inline-image-box-with-no-alt-should-collapse-quirks.html

Let's collapse inline boxes when we would display a broken image only and
1. alt attribute is explicitly set to empty and
2. both height and width are auto or we are in standards mode.

https://html.spec.whatwg.org/multipage/rendering.html#images-3

* rendering/RenderImage.cpp:
(WebCore::RenderImage::shouldCollapseToEmpty const):
(WebCore::RenderImage::computeReplacedLogicalWidth const):
(WebCore::RenderImage::computeReplacedLogicalHeight const):
(WebCore::RenderImage::imageChanged):
(WebCore::RenderImage::layout):
* rendering/RenderImage.h:

LayoutTests:

* fast/images/inline-image-box-with-no-alt-should-collapse-no-quirks-expected.txt: Added.
* fast/images/inline-image-box-with-no-alt-should-collapse-no-quirks.html: Added.
* fast/images/inline-image-box-with-no-alt-should-collapse-quirks-expected.txt: Added.
* fast/images/inline-image-box-with-no-alt-should-collapse-quirks.html: Added.
* tables/mozilla/bugs/bug56201.html:

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

5 months ago[ Mac ] fast/images/webp-as-image.html is failing.
lawrence.j@apple.com [Mon, 17 Feb 2020 22:19:27 +0000 (22:19 +0000)]
[ Mac ] fast/images/webp-as-image.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=207718

Unreviewed test gardening.

* platform/mac/TestExpectations:

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

5 months ago[ macOS ] fast/images/slower-decoding-than-animation-image.html is flaky failing
jacob_uphoff@apple.com [Mon, 17 Feb 2020 22:00:57 +0000 (22:00 +0000)]
[ macOS ] fast/images/slower-decoding-than-animation-image.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=207859

Unreviewed test gardening

* platform/mac/TestExpectations:

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

5 months agoFix check-webkit-style errors related to AVFoundationSPI.h
peng.liu6@apple.com [Mon, 17 Feb 2020 21:55:51 +0000 (21:55 +0000)]
Fix check-webkit-style errors related to AVFoundationSPI.h
https://bugs.webkit.org/show_bug.cgi?id=207834

Reviewed by Eric Carlson.

Source/WebCore:

No new tests, no functional change.

This patch fixes check-webkit-style errors, especially the ones related to soft-link headers.
The soft-link headers should be included after other headers.

* platform/audio/ios/AudioSessionIOS.mm:
* platform/audio/ios/MediaSessionManagerIOS.mm:
* platform/graphics/avfoundation/MediaPlaybackTargetCocoa.mm:
* platform/graphics/avfoundation/objc/AVStreamDataParserMIMETypeCache.mm:
* platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
* platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:
* platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm:
* platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

Source/WebCore/PAL:

Move AVFoundationSPI.h from folder "mac" to "cocoa" because it is used by both iOS and Mac.

* PAL.xcodeproj/project.pbxproj:
* pal/spi/cocoa/AVFoundationSPI.h: Renamed from Source/WebCore/PAL/pal/spi/mac/AVFoundationSPI.h.

Source/WTF:

Add HAVE_VIDEO_PERFORMANCE_METRICS and USE_AV_SAMPLE_BUFFER_DISPLAY_LAYER to fix check-webkit-style errors.

* wtf/PlatformHave.h:
* wtf/PlatformUse.h:

Tools:

We need to use case-insensitive comparison to check whether the headers are alphabetically sorted in each header section.
Soft-link headers can be included as either "file.h" or <file.h>.

* Scripts/webkitpy/style/checkers/cpp.py:
(_classify_include):
(check_include_line):

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

5 months ago[ Mojave wk1 ] fast/canvas/webgl/texImage2D-mse-flipY-false.html is flaky timing out
jacob_uphoff@apple.com [Mon, 17 Feb 2020 21:44:15 +0000 (21:44 +0000)]
[ Mojave wk1 ] fast/canvas/webgl/texImage2D-mse-flipY-false.html is flaky timing out
https://bugs.webkit.org/show_bug.cgi?id=207857

Unreviewed test gardening

* platform/mac-wk1/TestExpectations:

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

5 months ago[Wasm] REGRESSION(r256665): Wasm->JS call IC needs to save memory size register
tzagallo@apple.com [Mon, 17 Feb 2020 21:24:13 +0000 (21:24 +0000)]
[Wasm] REGRESSION(r256665): Wasm->JS call IC needs to save memory size register
https://bugs.webkit.org/show_bug.cgi?id=207849

Reviewed by Mark Lam.

JSTests:

* wasm/regress/regress-256665.js: Added.
(f):

Source/JavaScriptCore:

When generating the call IC, we should select the callee saves using BoundsChecking mode in order
to obey to the calling conventions described in r256665. Currently, we won't restore the memory size
register when calling the Wasm LLInt through the call IC.

* wasm/js/WebAssemblyFunction.cpp:
(JSC::WebAssemblyFunction::calleeSaves const):

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

5 months agoUnreviewed build fix after r256715.
krollin@apple.com [Mon, 17 Feb 2020 21:22:23 +0000 (21:22 +0000)]
Unreviewed build fix after r256715.

Fix tvOS and watchOS builds.

* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm:

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

5 months agoNull Ptr Deref @ WebCore::Node::Treescope
commit-queue@webkit.org [Mon, 17 Feb 2020 21:13:03 +0000 (21:13 +0000)]
Null Ptr Deref @ WebCore::Node::Treescope
https://bugs.webkit.org/show_bug.cgi?id=207748

Patch by Pinki Gyanchandani <pgyanchandani@apple.com> on 2020-02-17
Reviewed by Darin Adler.

Source/WebCore:

Added a check for isTextField after updateLayoutIgnorePendingStylesheets as that could cause modification of input element type.

Test: editing/selection/ignore-selection-range-on-input-style-change.html

* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::setSelectionRange):

LayoutTests:

Added a regression test provided by Ryosuke Niwa to verify the fix.

* editing/selection/ignore-selection-range-on-input-style-change-expected.txt: Added.
* editing/selection/ignore-selection-range-on-input-style-change.html: Added.

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

5 months ago[LFC] Unreviewed test gardening.
zalan@apple.com [Mon, 17 Feb 2020 21:06:48 +0000 (21:06 +0000)]
[LFC] Unreviewed test gardening.
https://bugs.webkit.org/show_bug.cgi?id=207846

Move LFC regression tests under fast/layoutformattingcontext/ and skip them on iOS for now.

* fast/layoutformattingcontext/block-only/abs-pos-with-border-padding-and-float-child-expected.html: Renamed from LayoutTests/fast/block/block-only/abs-pos-with-border-padding-and-float-child-expected.html.
* fast/layoutformattingcontext/block-only/abs-pos-with-border-padding-and-float-child.html: Renamed from LayoutTests/fast/block/block-only/abs-pos-with-border-padding-and-float-child.html.
* fast/layoutformattingcontext/block-only/absolute-auto-with-sibling-margin-bottom-expected.txt: Renamed from LayoutTests/fast/block/block-only/absolute-auto-with-sibling-margin-bottom-expected.txt.
* fast/layoutformattingcontext/block-only/absolute-auto-with-sibling-margin-bottom.html: Renamed from LayoutTests/fast/block/block-only/absolute-auto-with-sibling-margin-bottom.html.
* fast/layoutformattingcontext/block-only/absolute-height-stretch-expected.txt: Renamed from LayoutTests/fast/block/block-only/absolute-height-stretch-expected.txt.
* fast/layoutformattingcontext/block-only/absolute-height-stretch.html: Renamed from LayoutTests/fast/block/block-only/absolute-height-stretch.html.
* fast/layoutformattingcontext/block-only/absolute-left-auto-expected.txt: Renamed from LayoutTests/fast/block/block-only/absolute-left-auto-expected.txt.
* fast/layoutformattingcontext/block-only/absolute-left-auto.html: Renamed from LayoutTests/fast/block/block-only/absolute-left-auto.html.
* fast/layoutformattingcontext/block-only/absolute-left-right-top-bottom-auto-expected.txt: Renamed from LayoutTests/fast/block/block-only/absolute-left-right-top-bottom-auto-expected.txt.
* fast/layoutformattingcontext/block-only/absolute-left-right-top-bottom-auto.html: Renamed from LayoutTests/fast/block/block-only/absolute-left-right-top-bottom-auto.html.
* fast/layoutformattingcontext/block-only/absolute-nested-expected.txt: Renamed from LayoutTests/fast/block/block-only/absolute-nested-expected.txt.
* fast/layoutformattingcontext/block-only/absolute-nested.html: Renamed from LayoutTests/fast/block/block-only/absolute-nested.html.
* fast/layoutformattingcontext/block-only/absolute-nested2-expected.txt: Renamed from LayoutTests/fast/block/block-only/absolute-nested2-expected.txt.
* fast/layoutformattingcontext/block-only/absolute-nested2.html: Renamed from LayoutTests/fast/block/block-only/absolute-nested2.html.
* fast/layoutformattingcontext/block-only/absolute-position-left-right-margin-expected.html: Renamed from LayoutTests/fast/block/block-only/absolute-position-left-right-margin-expected.html.
* fast/layoutformattingcontext/block-only/absolute-position-left-right-margin.html: Renamed from LayoutTests/fast/block/block-only/absolute-position-left-right-margin.html.
* fast/layoutformattingcontext/block-only/absolute-position-min-max-height-expected.txt: Renamed from LayoutTests/fast/block/block-only/absolute-position-min-max-height-expected.txt.
* fast/layoutformattingcontext/block-only/absolute-position-min-max-height.html: Renamed from LayoutTests/fast/block/block-only/absolute-position-min-max-height.html.
* fast/layoutformattingcontext/block-only/absolute-position-min-max-width-expected.txt: Renamed from LayoutTests/fast/block/block-only/absolute-position-min-max-width-expected.txt.
* fast/layoutformattingcontext/block-only/absolute-position-min-max-width.html: Renamed from LayoutTests/fast/block/block-only/absolute-position-min-max-width.html.
* fast/layoutformattingcontext/block-only/absolute-position-when-containing-block-is-not-in-the-formatting-context-expected.txt: Renamed from LayoutTests/fast/block/block-only/absolute-position-when-containing-block-is-not-in-the-formatting-context-expected.txt.
* fast/layoutformattingcontext/block-only/absolute-position-when-containing-block-is-not-in-the-formatting-context.html: Renamed from LayoutTests/fast/block/block-only/absolute-position-when-containing-block-is-not-in-the-formatting-context.html.
* fast/layoutformattingcontext/block-only/absolute-position-when-containing-block-is-not-in-the-formatting-context2-expected.txt: Renamed from LayoutTests/fast/block/block-only/absolute-position-when-containing-block-is-not-in-the-formatting-context2-expected.txt.
* fast/layoutformattingcontext/block-only/absolute-position-when-containing-block-is-not-in-the-formatting-context2.html: Renamed from LayoutTests/fast/block/block-only/absolute-position-when-containing-block-is-not-in-the-formatting-context2.html.
* fast/layoutformattingcontext/block-only/absolute-position-with-margin-auto-simple-expected.html: Renamed from LayoutTests/fast/block/block-only/absolute-position-with-margin-auto-simple-expected.html.
* fast/layoutformattingcontext/block-only/absolute-position-with-margin-auto-simple.html: Renamed from LayoutTests/fast/block/block-only/absolute-position-with-margin-auto-simple.html.
* fast/layoutformattingcontext/block-only/absolute-position-with-margin-auto-simple2-expected.html: Renamed from LayoutTests/fast/block/block-only/absolute-position-with-margin-auto-simple2-expected.html.
* fast/layoutformattingcontext/block-only/absolute-position-with-margin-auto-simple2.html: Renamed from LayoutTests/fast/block/block-only/absolute-position-with-margin-auto-simple2.html.
* fast/layoutformattingcontext/block-only/absolute-positioned-min-max-percentage-with-parent-padding-expected.html: Renamed from LayoutTests/fast/block/block-only/absolute-positioned-min-max-percentage-with-parent-padding-expected.html.
* fast/layoutformattingcontext/block-only/absolute-positioned-min-max-percentage-with-parent-padding.html: Renamed from LayoutTests/fast/block/block-only/absolute-positioned-min-max-percentage-with-parent-padding.html.
* fast/layoutformattingcontext/block-only/absolute-simple-expected.txt: Renamed from LayoutTests/fast/block/block-only/absolute-simple-expected.txt.
* fast/layoutformattingcontext/block-only/absolute-simple.html: Renamed from LayoutTests/fast/block/block-only/absolute-simple.html.
* fast/layoutformattingcontext/block-only/absolute-width-shrink-to-fit-expected.txt: Renamed from LayoutTests/fast/block/block-only/absolute-width-shrink-to-fit-expected.txt.
* fast/layoutformattingcontext/block-only/absolute-width-shrink-to-fit.html: Renamed from LayoutTests/fast/block/block-only/absolute-width-shrink-to-fit.html.
* fast/layoutformattingcontext/block-only/absolute-width-stretch-expected.txt: Renamed from LayoutTests/fast/block/block-only/absolute-width-stretch-expected.txt.
* fast/layoutformattingcontext/block-only/absolute-width-stretch.html: Renamed from LayoutTests/fast/block/block-only/absolute-width-stretch.html.
* fast/layoutformattingcontext/block-only/absolute-with-static-block-position-nested-expected.txt: Renamed from LayoutTests/fast/block/block-only/absolute-with-static-block-position-nested-expected.txt.
* fast/layoutformattingcontext/block-only/absolute-with-static-block-position-nested.html: Renamed from LayoutTests/fast/block/block-only/absolute-with-static-block-position-nested.html.
* fast/layoutformattingcontext/block-only/almost-intruding-left-float-simple-expected.txt: Renamed from LayoutTests/fast/block/block-only/almost-intruding-left-float-simple-expected.txt.
* fast/layoutformattingcontext/block-only/almost-intruding-left-float-simple.html: Renamed from LayoutTests/fast/block/block-only/almost-intruding-left-float-simple.html.
* fast/layoutformattingcontext/block-only/block-replaced-with-vertical-margins-expected.html: Renamed from LayoutTests/fast/block/block-only/block-replaced-with-vertical-margins-expected.html.
* fast/layoutformattingcontext/block-only/block-replaced-with-vertical-margins.html: Renamed from LayoutTests/fast/block/block-only/block-replaced-with-vertical-margins.html.
* fast/layoutformattingcontext/block-only/body-height-with-auto-html-height-quirk-expected.txt: Renamed from LayoutTests/fast/block/block-only/body-height-with-auto-html-height-quirk-expected.txt.
* fast/layoutformattingcontext/block-only/body-height-with-auto-html-height-quirk.html: Renamed from LayoutTests/fast/block/block-only/body-height-with-auto-html-height-quirk.html.
* fast/layoutformattingcontext/block-only/body-height-with-auto-html-height-quirk2-expected.txt: Renamed from LayoutTests/fast/block/block-only/body-height-with-auto-html-height-quirk2-expected.txt.
* fast/layoutformattingcontext/block-only/body-height-with-auto-html-height-quirk2.html: Renamed from LayoutTests/fast/block/block-only/body-height-with-auto-html-height-quirk2.html.
* fast/layoutformattingcontext/block-only/body-height-with-non-auto-html-height-quirk-expected.txt: Renamed from LayoutTests/fast/block/block-only/body-height-with-non-auto-html-height-quirk-expected.txt.
* fast/layoutformattingcontext/block-only/body-height-with-non-auto-html-height-quirk.html: Renamed from LayoutTests/fast/block/block-only/body-height-with-non-auto-html-height-quirk.html.
* fast/layoutformattingcontext/block-only/body-height-with-non-auto-html-height-quirk2-expected.txt: Renamed from LayoutTests/fast/block/block-only/body-height-with-non-auto-html-height-quirk2-expected.txt.
* fast/layoutformattingcontext/block-only/body-height-with-non-auto-html-height-quirk2.html: Renamed from LayoutTests/fast/block/block-only/body-height-with-non-auto-html-height-quirk2.html.
* fast/layoutformattingcontext/block-only/border-simple-expected.txt: Renamed from LayoutTests/fast/block/block-only/border-simple-expected.txt.
* fast/layoutformattingcontext/block-only/border-simple.html: Renamed from LayoutTests/fast/block/block-only/border-simple.html.
* fast/layoutformattingcontext/block-only/box-sizing-inflow-out-of-flow-simple-expected.txt: Renamed from LayoutTests/fast/block/block-only/box-sizing-inflow-out-of-flow-simple-expected.txt.
* fast/layoutformattingcontext/block-only/box-sizing-inflow-out-of-flow-simple.html: Renamed from LayoutTests/fast/block/block-only/box-sizing-inflow-out-of-flow-simple.html.
* fast/layoutformattingcontext/block-only/collapsed-margin-with-min-height-expected.txt: Renamed from LayoutTests/fast/block/block-only/collapsed-margin-with-min-height-expected.txt.
* fast/layoutformattingcontext/block-only/collapsed-margin-with-min-height.html: Renamed from LayoutTests/fast/block/block-only/collapsed-margin-with-min-height.html.
* fast/layoutformattingcontext/block-only/collapsed-through-siblings-expected.txt: Renamed from LayoutTests/fast/block/block-only/collapsed-through-siblings-expected.txt.
* fast/layoutformattingcontext/block-only/collapsed-through-siblings.html: Renamed from LayoutTests/fast/block/block-only/collapsed-through-siblings.html.
* fast/layoutformattingcontext/block-only/collapsed-through-with-parent-expected.txt: Renamed from LayoutTests/fast/block/block-only/collapsed-through-with-parent-expected.txt.
* fast/layoutformattingcontext/block-only/collapsed-through-with-parent.html: Renamed from LayoutTests/fast/block/block-only/collapsed-through-with-parent.html.
* fast/layoutformattingcontext/block-only/fixed-nested-expected.txt: Renamed from LayoutTests/fast/block/block-only/fixed-nested-expected.txt.
* fast/layoutformattingcontext/block-only/fixed-nested.html: Renamed from LayoutTests/fast/block/block-only/fixed-nested.html.
* fast/layoutformattingcontext/block-only/float-and-siblings-with-margins-expected.txt: Renamed from LayoutTests/fast/block/block-only/float-and-siblings-with-margins-expected.txt.
* fast/layoutformattingcontext/block-only/float-and-siblings-with-margins.html: Renamed from LayoutTests/fast/block/block-only/float-and-siblings-with-margins.html.
* fast/layoutformattingcontext/block-only/float-avoider-multiple-roots-expected.txt: Renamed from LayoutTests/fast/block/block-only/float-avoider-multiple-roots-expected.txt.
* fast/layoutformattingcontext/block-only/float-avoider-multiple-roots.html: Renamed from LayoutTests/fast/block/block-only/float-avoider-multiple-roots.html.
* fast/layoutformattingcontext/block-only/float-avoider-simple-left-expected.txt: Renamed from LayoutTests/fast/block/block-only/float-avoider-simple-left-expected.txt.
* fast/layoutformattingcontext/block-only/float-avoider-simple-left.html: Renamed from LayoutTests/fast/block/block-only/float-avoider-simple-left.html.
* fast/layoutformattingcontext/block-only/float-avoider-simple-right-expected.txt: Renamed from LayoutTests/fast/block/block-only/float-avoider-simple-right-expected.txt.
* fast/layoutformattingcontext/block-only/float-avoider-simple-right.html: Renamed from LayoutTests/fast/block/block-only/float-avoider-simple-right.html.
* fast/layoutformattingcontext/block-only/float-avoider-with-margins-expected.txt: Renamed from LayoutTests/fast/block/block-only/float-avoider-with-margins-expected.txt.
* fast/layoutformattingcontext/block-only/float-avoider-with-margins.html: Renamed from LayoutTests/fast/block/block-only/float-avoider-with-margins.html.
* fast/layoutformattingcontext/block-only/float-left-when-container-has-padding-margin-expected.txt: Renamed from LayoutTests/fast/block/block-only/float-left-when-container-has-padding-margin-expected.txt.
* fast/layoutformattingcontext/block-only/float-left-when-container-has-padding-margin.html: Renamed from LayoutTests/fast/block/block-only/float-left-when-container-has-padding-margin.html.
* fast/layoutformattingcontext/block-only/float-min-max-height-expected.txt: Renamed from LayoutTests/fast/block/block-only/float-min-max-height-expected.txt.
* fast/layoutformattingcontext/block-only/float-min-max-height.html: Renamed from LayoutTests/fast/block/block-only/float-min-max-height.html.
* fast/layoutformattingcontext/block-only/float-min-max-width-expected.txt: Renamed from LayoutTests/fast/block/block-only/float-min-max-width-expected.txt.
* fast/layoutformattingcontext/block-only/float-min-max-width.html: Renamed from LayoutTests/fast/block/block-only/float-min-max-width.html.
* fast/layoutformattingcontext/block-only/floating-and-next-previous-inflow-with-margin-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-and-next-previous-inflow-with-margin-expected.txt.
* fast/layoutformattingcontext/block-only/floating-and-next-previous-inflow-with-margin-with-no-border-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-and-next-previous-inflow-with-margin-with-no-border-expected.txt.
* fast/layoutformattingcontext/block-only/floating-and-next-previous-inflow-with-margin-with-no-border.html: Renamed from LayoutTests/fast/block/block-only/floating-and-next-previous-inflow-with-margin-with-no-border.html.
* fast/layoutformattingcontext/block-only/floating-and-next-previous-inflow-with-margin.html: Renamed from LayoutTests/fast/block/block-only/floating-and-next-previous-inflow-with-margin.html.
* fast/layoutformattingcontext/block-only/floating-box-clear-both-simple-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-box-clear-both-simple-expected.txt.
* fast/layoutformattingcontext/block-only/floating-box-clear-both-simple.html: Renamed from LayoutTests/fast/block/block-only/floating-box-clear-both-simple.html.
* fast/layoutformattingcontext/block-only/floating-box-clear-right-simple-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-box-clear-right-simple-expected.txt.
* fast/layoutformattingcontext/block-only/floating-box-clear-right-simple.html: Renamed from LayoutTests/fast/block/block-only/floating-box-clear-right-simple.html.
* fast/layoutformattingcontext/block-only/floating-box-left-and-right-multiple-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-box-left-and-right-multiple-expected.txt.
* fast/layoutformattingcontext/block-only/floating-box-left-and-right-multiple-with-top-offset-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-box-left-and-right-multiple-with-top-offset-expected.txt.
* fast/layoutformattingcontext/block-only/floating-box-left-and-right-multiple-with-top-offset.html: Renamed from LayoutTests/fast/block/block-only/floating-box-left-and-right-multiple-with-top-offset.html.
* fast/layoutformattingcontext/block-only/floating-box-left-and-right-multiple.html: Renamed from LayoutTests/fast/block/block-only/floating-box-left-and-right-multiple.html.
* fast/layoutformattingcontext/block-only/floating-box-right-simple-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-box-right-simple-expected.txt.
* fast/layoutformattingcontext/block-only/floating-box-right-simple.html: Renamed from LayoutTests/fast/block/block-only/floating-box-right-simple.html.
* fast/layoutformattingcontext/block-only/floating-box-with-clear-siblings-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-box-with-clear-siblings-expected.txt.
* fast/layoutformattingcontext/block-only/floating-box-with-clear-siblings.html: Renamed from LayoutTests/fast/block/block-only/floating-box-with-clear-siblings.html.
* fast/layoutformattingcontext/block-only/floating-box-with-clear-simple-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-box-with-clear-simple-expected.txt.
* fast/layoutformattingcontext/block-only/floating-box-with-clear-simple.html: Renamed from LayoutTests/fast/block/block-only/floating-box-with-clear-simple.html.
* fast/layoutformattingcontext/block-only/floating-box-with-new-formatting-context-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-box-with-new-formatting-context-expected.txt.
* fast/layoutformattingcontext/block-only/floating-box-with-new-formatting-context.html: Renamed from LayoutTests/fast/block/block-only/floating-box-with-new-formatting-context.html.
* fast/layoutformattingcontext/block-only/floating-box-with-relative-positioned-sibling-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-box-with-relative-positioned-sibling-expected.txt.
* fast/layoutformattingcontext/block-only/floating-box-with-relative-positioned-sibling.html: Renamed from LayoutTests/fast/block/block-only/floating-box-with-relative-positioned-sibling.html.
* fast/layoutformattingcontext/block-only/floating-left-and-right-with-clearance-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-left-and-right-with-clearance-expected.txt.
* fast/layoutformattingcontext/block-only/floating-left-and-right-with-clearance.html: Renamed from LayoutTests/fast/block/block-only/floating-left-and-right-with-clearance.html.
* fast/layoutformattingcontext/block-only/floating-left-right-simple-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-left-right-simple-expected.txt.
* fast/layoutformattingcontext/block-only/floating-left-right-simple.html: Renamed from LayoutTests/fast/block/block-only/floating-left-right-simple.html.
* fast/layoutformattingcontext/block-only/floating-left-right-with-all-margins-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-left-right-with-all-margins-expected.txt.
* fast/layoutformattingcontext/block-only/floating-left-right-with-all-margins.html: Renamed from LayoutTests/fast/block/block-only/floating-left-right-with-all-margins.html.
* fast/layoutformattingcontext/block-only/floating-lefts-and-rights-simple-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-lefts-and-rights-simple-expected.txt.
* fast/layoutformattingcontext/block-only/floating-lefts-and-rights-simple.html: Renamed from LayoutTests/fast/block/block-only/floating-lefts-and-rights-simple.html.
* fast/layoutformattingcontext/block-only/floating-multiple-lefts-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-multiple-lefts-expected.txt.
* fast/layoutformattingcontext/block-only/floating-multiple-lefts-in-body-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-multiple-lefts-in-body-expected.txt.
* fast/layoutformattingcontext/block-only/floating-multiple-lefts-in-body.html: Renamed from LayoutTests/fast/block/block-only/floating-multiple-lefts-in-body.html.
* fast/layoutformattingcontext/block-only/floating-multiple-lefts-multiple-lines-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-multiple-lefts-multiple-lines-expected.txt.
* fast/layoutformattingcontext/block-only/floating-multiple-lefts-multiple-lines.html: Renamed from LayoutTests/fast/block/block-only/floating-multiple-lefts-multiple-lines.html.
* fast/layoutformattingcontext/block-only/floating-multiple-lefts.html: Renamed from LayoutTests/fast/block/block-only/floating-multiple-lefts.html.
* fast/layoutformattingcontext/block-only/floating-with-new-block-formatting-context-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-with-new-block-formatting-context-expected.txt.
* fast/layoutformattingcontext/block-only/floating-with-new-block-formatting-context.html: Renamed from LayoutTests/fast/block/block-only/floating-with-new-block-formatting-context.html.
* fast/layoutformattingcontext/block-only/floats-and-block-formatting-roots-expected.html: Renamed from LayoutTests/fast/block/block-only/floats-and-block-formatting-roots-expected.html.
* fast/layoutformattingcontext/block-only/floats-and-block-formatting-roots.html: Renamed from LayoutTests/fast/block/block-only/floats-and-block-formatting-roots.html.
* fast/layoutformattingcontext/block-only/inflow-min-max-height-expected.txt: Renamed from LayoutTests/fast/block/block-only/inflow-min-max-height-expected.txt.
* fast/layoutformattingcontext/block-only/inflow-min-max-height.html: Renamed from LayoutTests/fast/block/block-only/inflow-min-max-height.html.
* fast/layoutformattingcontext/block-only/inflow-min-max-width-expected.txt: Renamed from LayoutTests/fast/block/block-only/inflow-min-max-width-expected.txt.
* fast/layoutformattingcontext/block-only/inflow-min-max-width.html: Renamed from LayoutTests/fast/block/block-only/inflow-min-max-width.html.
* fast/layoutformattingcontext/block-only/margin-collapse-bottom-bottom-expected.txt: Renamed from LayoutTests/fast/block/block-only/margin-collapse-bottom-bottom-expected.txt.
* fast/layoutformattingcontext/block-only/margin-collapse-bottom-bottom.html: Renamed from LayoutTests/fast/block/block-only/margin-collapse-bottom-bottom.html.
* fast/layoutformattingcontext/block-only/margin-collapse-bottom-nested-expected.txt: Renamed from LayoutTests/fast/block/block-only/margin-collapse-bottom-nested-expected.txt.
* fast/layoutformattingcontext/block-only/margin-collapse-bottom-nested.html: Renamed from LayoutTests/fast/block/block-only/margin-collapse-bottom-nested.html.
* fast/layoutformattingcontext/block-only/margin-collapse-first-last-are-floating-expected.txt: Renamed from LayoutTests/fast/block/block-only/margin-collapse-first-last-are-floating-expected.txt.
* fast/layoutformattingcontext/block-only/margin-collapse-first-last-are-floating.html: Renamed from LayoutTests/fast/block/block-only/margin-collapse-first-last-are-floating.html.
* fast/layoutformattingcontext/block-only/margin-collapse-simple-expected.txt: Renamed from LayoutTests/fast/block/block-only/margin-collapse-simple-expected.txt.
* fast/layoutformattingcontext/block-only/margin-collapse-simple.html: Renamed from LayoutTests/fast/block/block-only/margin-collapse-simple.html.
* fast/layoutformattingcontext/block-only/margin-collapse-top-nested-expected.txt: Renamed from LayoutTests/fast/block/block-only/margin-collapse-top-nested-expected.txt.
* fast/layoutformattingcontext/block-only/margin-collapse-top-nested.html: Renamed from LayoutTests/fast/block/block-only/margin-collapse-top-nested.html.
* fast/layoutformattingcontext/block-only/margin-collapse-when-child-has-padding-border-expected.txt: Renamed from LayoutTests/fast/block/block-only/margin-collapse-when-child-has-padding-border-expected.txt.
* fast/layoutformattingcontext/block-only/margin-collapse-when-child-has-padding-border.html: Renamed from LayoutTests/fast/block/block-only/margin-collapse-when-child-has-padding-border.html.
* fast/layoutformattingcontext/block-only/margin-collapse-with-block-formatting-context-expected.txt: Renamed from LayoutTests/fast/block/block-only/margin-collapse-with-block-formatting-context-expected.txt.
* fast/layoutformattingcontext/block-only/margin-collapse-with-block-formatting-context.html: Renamed from LayoutTests/fast/block/block-only/margin-collapse-with-block-formatting-context.html.
* fast/layoutformattingcontext/block-only/margin-collapse-with-block-formatting-context2-expected.txt: Renamed from LayoutTests/fast/block/block-only/margin-collapse-with-block-formatting-context2-expected.txt.
* fast/layoutformattingcontext/block-only/margin-collapse-with-block-formatting-context2.html: Renamed from LayoutTests/fast/block/block-only/margin-collapse-with-block-formatting-context2.html.
* fast/layoutformattingcontext/block-only/margin-collapse-with-clearance-expected.txt: Renamed from LayoutTests/fast/block/block-only/margin-collapse-with-clearance-expected.txt.
* fast/layoutformattingcontext/block-only/margin-collapse-with-clearance.html: Renamed from LayoutTests/fast/block/block-only/margin-collapse-with-clearance.html.
* fast/layoutformattingcontext/block-only/margin-left-right-sizing-expected.txt: Renamed from LayoutTests/fast/block/block-only/margin-left-right-sizing-expected.txt.
* fast/layoutformattingcontext/block-only/margin-left-right-sizing-out-of-flow-expected.txt: Renamed from LayoutTests/fast/block/block-only/margin-left-right-sizing-out-of-flow-expected.txt.
* fast/layoutformattingcontext/block-only/margin-left-right-sizing-out-of-flow.html: Renamed from LayoutTests/fast/block/block-only/margin-left-right-sizing-out-of-flow.html.
* fast/layoutformattingcontext/block-only/margin-left-right-sizing.html: Renamed from LayoutTests/fast/block/block-only/margin-left-right-sizing.html.
* fast/layoutformattingcontext/block-only/margin-propagation-simple-content-height-expected.txt: Renamed from LayoutTests/fast/block/block-only/margin-propagation-simple-content-height-expected.txt.
* fast/layoutformattingcontext/block-only/margin-propagation-simple-content-height.html: Renamed from LayoutTests/fast/block/block-only/margin-propagation-simple-content-height.html.
* fast/layoutformattingcontext/block-only/margin-sibling-collapse-propagated-expected.txt: Renamed from LayoutTests/fast/block/block-only/margin-sibling-collapse-propagated-expected.txt.
* fast/layoutformattingcontext/block-only/margin-sibling-collapse-propagated.html: Renamed from LayoutTests/fast/block/block-only/margin-sibling-collapse-propagated.html.
* fast/layoutformattingcontext/block-only/margin-simple-expected.txt: Renamed from LayoutTests/fast/block/block-only/margin-simple-expected.txt.
* fast/layoutformattingcontext/block-only/margin-simple.html: Renamed from LayoutTests/fast/block/block-only/margin-simple.html.
* fast/layoutformattingcontext/block-only/min-max-and-preferred-width-simple-expected.html: Renamed from LayoutTests/fast/block/block-only/min-max-and-preferred-width-simple-expected.html.
* fast/layoutformattingcontext/block-only/min-max-and-preferred-width-simple.html: Renamed from LayoutTests/fast/block/block-only/min-max-and-preferred-width-simple.html.
* fast/layoutformattingcontext/block-only/min-max-height-percentage-expected.txt: Renamed from LayoutTests/fast/block/block-only/min-max-height-percentage-expected.txt.
* fast/layoutformattingcontext/block-only/min-max-height-percentage.html: Renamed from LayoutTests/fast/block/block-only/min-max-height-percentage.html.
* fast/layoutformattingcontext/block-only/negative-margin-simple-expected.txt: Renamed from LayoutTests/fast/block/block-only/negative-margin-simple-expected.txt.
* fast/layoutformattingcontext/block-only/negative-margin-simple.html: Renamed from LayoutTests/fast/block/block-only/negative-margin-simple.html.
* fast/layoutformattingcontext/block-only/non-auto-top-bottom-height-with-auto-margins-expected.txt: Renamed from LayoutTests/fast/block/block-only/non-auto-top-bottom-height-with-auto-margins-expected.txt.
* fast/layoutformattingcontext/block-only/non-auto-top-bottom-height-with-auto-margins.html: Renamed from LayoutTests/fast/block/block-only/non-auto-top-bottom-height-with-auto-margins.html.
* fast/layoutformattingcontext/block-only/non-auto-top-bottom-height-with-margins-expected.txt: Renamed from LayoutTests/fast/block/block-only/non-auto-top-bottom-height-with-margins-expected.txt.
* fast/layoutformattingcontext/block-only/non-auto-top-bottom-height-with-margins.html: Renamed from LayoutTests/fast/block/block-only/non-auto-top-bottom-height-with-margins.html.
* fast/layoutformattingcontext/block-only/non-auto-top-bottom-left-right-widht-height-out-of-flow-expected.txt: Renamed from LayoutTests/fast/block/block-only/non-auto-top-bottom-left-right-widht-height-out-of-flow-expected.txt.
* fast/layoutformattingcontext/block-only/non-auto-top-bottom-left-right-widht-height-out-of-flow.html: Renamed from LayoutTests/fast/block/block-only/non-auto-top-bottom-left-right-widht-height-out-of-flow.html.
* fast/layoutformattingcontext/block-only/out-of-flow-is-never-float-box-expected.html: Renamed from LayoutTests/fast/block/block-only/out-of-flow-is-never-float-box-expected.html.
* fast/layoutformattingcontext/block-only/out-of-flow-is-never-float-box.html: Renamed from LayoutTests/fast/block/block-only/out-of-flow-is-never-float-box.html.
* fast/layoutformattingcontext/block-only/out-of-flow-with-containing-block-border-padding-expected.txt: Renamed from LayoutTests/fast/block/block-only/out-of-flow-with-containing-block-border-padding-expected.txt.
* fast/layoutformattingcontext/block-only/out-of-flow-with-containing-block-border-padding.html: Renamed from LayoutTests/fast/block/block-only/out-of-flow-with-containing-block-border-padding.html.
* fast/layoutformattingcontext/block-only/padding-nested-expected.txt: Renamed from LayoutTests/fast/block/block-only/padding-nested-expected.txt.
* fast/layoutformattingcontext/block-only/padding-nested.html: Renamed from LayoutTests/fast/block/block-only/padding-nested.html.
* fast/layoutformattingcontext/block-only/padding-simple-expected.txt: Renamed from LayoutTests/fast/block/block-only/padding-simple-expected.txt.
* fast/layoutformattingcontext/block-only/padding-simple.html: Renamed from LayoutTests/fast/block/block-only/padding-simple.html.
* fast/layoutformattingcontext/block-only/relative-auto-expected.txt: Renamed from LayoutTests/fast/block/block-only/relative-auto-expected.txt.
* fast/layoutformattingcontext/block-only/relative-auto-with-parent-offset-expected.txt: Renamed from LayoutTests/fast/block/block-only/relative-auto-with-parent-offset-expected.txt.
* fast/layoutformattingcontext/block-only/relative-auto-with-parent-offset.html: Renamed from LayoutTests/fast/block/block-only/relative-auto-with-parent-offset.html.
* fast/layoutformattingcontext/block-only/relative-auto.html: Renamed from LayoutTests/fast/block/block-only/relative-auto.html.
* fast/layoutformattingcontext/block-only/relative-bottom-expected.txt: Renamed from LayoutTests/fast/block/block-only/relative-bottom-expected.txt.
* fast/layoutformattingcontext/block-only/relative-bottom.html: Renamed from LayoutTests/fast/block/block-only/relative-bottom.html.
* fast/layoutformattingcontext/block-only/relative-position-when-containing-block-is-not-in-the-formatting-context-expected.txt: Renamed from LayoutTests/fast/block/block-only/relative-position-when-containing-block-is-not-in-the-formatting-context-expected.txt.
* fast/layoutformattingcontext/block-only/relative-position-when-containing-block-is-not-in-the-formatting-context.html: Renamed from LayoutTests/fast/block/block-only/relative-position-when-containing-block-is-not-in-the-formatting-context.html.
* fast/layoutformattingcontext/block-only/relative-right-expected.txt: Renamed from LayoutTests/fast/block/block-only/relative-right-expected.txt.
* fast/layoutformattingcontext/block-only/relative-right.html: Renamed from LayoutTests/fast/block/block-only/relative-right.html.
* fast/layoutformattingcontext/block-only/relative-siblings-expected.txt: Renamed from LayoutTests/fast/block/block-only/relative-siblings-expected.txt.
* fast/layoutformattingcontext/block-only/relative-siblings.html: Renamed from LayoutTests/fast/block/block-only/relative-siblings.html.
* fast/layoutformattingcontext/block-only/relative-simple-expected.txt: Renamed from LayoutTests/fast/block/block-only/relative-simple-expected.txt.
* fast/layoutformattingcontext/block-only/relative-simple.html: Renamed from LayoutTests/fast/block/block-only/relative-simple.html.
* fast/layoutformattingcontext/block-only/replaced-intrinsic-width-simple-expected.html: Renamed from LayoutTests/fast/block/block-only/replaced-intrinsic-width-simple-expected.html.
* fast/layoutformattingcontext/block-only/replaced-intrinsic-width-simple.html: Renamed from LayoutTests/fast/block/block-only/replaced-intrinsic-width-simple.html.
* platform/ios-wk2/TestExpectations:

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

5 months agoAdd WebInspector support to WebKit::WebSocketChannel
youenn@apple.com [Mon, 17 Feb 2020 20:46:43 +0000 (20:46 +0000)]
Add WebInspector support to WebKit::WebSocketChannel
https://bugs.webkit.org/show_bug.cgi?id=207794

Reviewed by Darin Adler.

Source/WebCore:

Add a wrapper around Inspector for using it in WebInspector.
This allows getting preliminary support of WebInspector for the new WebSocket path.

* Modules/websockets/WebSocketChannelInspector.cpp: Added.
(WebCore::WebSocketChannelInspector::WebSocketChannelInspector):
(WebCore::WebSocketChannelInspector::didCreateWebSocket):
(WebCore::WebSocketChannelInspector::willSendWebSocketHandshakeRequest):
(WebCore::WebSocketChannelInspector::didReceiveWebSocketHandshakeResponse):
(WebCore::WebSocketChannelInspector::didCloseWebSocket):
(WebCore::WebSocketChannelInspector::didReceiveWebSocketFrame):
(WebCore::WebSocketChannelInspector::didSendWebSocketFrame):
(WebCore::WebSocketChannelInspector::didReceiveWebSocketFrameError):
* Modules/websockets/WebSocketChannelInspector.h: Added.
* Modules/websockets/WebSocketFrame.h:
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:

Source/WebKit:

Call WebInspector hooks wherever needed.
We do not have access to frames so we make as if a message is part of one frame.
We do not have yet a response so provide an empty one as well.

* WebProcess/Network/WebSocketChannel.cpp:
(WebKit::WebSocketChannel::notifySendFrame):
(WebKit::WebSocketChannel::createMessageQueue):
(WebKit::WebSocketChannel::WebSocketChannel):
(WebKit::WebSocketChannel::connect):
(WebKit::WebSocketChannel::sendMessage):
(WebKit::WebSocketChannel::disconnect):
(WebKit::WebSocketChannel::didConnect):
(WebKit::createWebSocketFrameForWebInspector):
(WebKit::WebSocketChannel::didReceiveText):
(WebKit::WebSocketChannel::didReceiveBinaryData):
(WebKit::WebSocketChannel::didClose):
(WebKit::WebSocketChannel::didReceiveMessageError):
* WebProcess/Network/WebSocketChannel.h:

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

5 months agoValidate scopeURL is valid when reading it from the database
youenn@apple.com [Mon, 17 Feb 2020 20:42:21 +0000 (20:42 +0000)]
Validate scopeURL is valid when reading it from the database
https://bugs.webkit.org/show_bug.cgi?id=207721

Reviewed by Darin Adler.

* workers/service/server/RegistrationDatabase.cpp:
(WebCore::RegistrationDatabase::importRecords):
In case scopeURL is not good, skip the registration, as done for other registration parameters.

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

5 months ago[LFC][Out-of-flow] FormattingContext::computeOutOfFlowHorizontalGeometry needs vertic...
zalan@apple.com [Mon, 17 Feb 2020 20:29:09 +0000 (20:29 +0000)]
[LFC][Out-of-flow] FormattingContext::computeOutOfFlowHorizontalGeometry needs verticalConstraints
https://bugs.webkit.org/show_bug.cgi?id=207832
<rdar://problem/59499844>

Reviewed by Dean Jackson.

Source/WebCore:

Test: fast/layoutformattingcontext/simple-absolute-positioned-replaced-inline-element-with-percentage-height.html

Inline replaced width computation needs the value of the computed content height. In case of percentage value, in order to
resolve it we need the containing block's height. At this point the containing block's vertical values are usually not
computed yet, unless the current box happens to be an out-of-flow.

* layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry):
(WebCore::Layout::FormattingContext::layoutOutOfFlowContent):
* layout/FormattingContext.h:
* layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry const):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidthAndMargin const):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin const):
* layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowReplacedWidthAndMargin const):
* layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::computeWidthAndMargin):
* layout/inlineformatting/InlineFormattingContextGeometry.cpp:
(WebCore::Layout::InlineFormattingContext::Geometry::inlineBlockWidthAndMargin):

LayoutTests:

* fast/layoutformattingcontext/simple-absolute-positioned-replaced-inline-element-with-percentage-height-expected.html: Added.
* fast/layoutformattingcontext/simple-absolute-positioned-replaced-inline-element-with-percentage-height.html: Added.

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

5 months ago[LFC][IFC] LineLayoutContext::nextContentForLine should be able to handle regular...
zalan@apple.com [Mon, 17 Feb 2020 20:23:40 +0000 (20:23 +0000)]
[LFC][IFC] LineLayoutContext::nextContentForLine should be able to handle regular inline boxes
https://bugs.webkit.org/show_bug.cgi?id=207829
<rdar://problem/59498031>

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/layoutformattingcontext/simple-inline-block.html

Add missing inline box handling.

* layout/inlineformatting/LineLayoutContext.cpp:
(WebCore::Layout::LineLayoutContext::nextContentForLine):

LayoutTests:

* fast/layoutformattingcontext/simple-inline-block-expected.html: Added.
* fast/layoutformattingcontext/simple-inline-block.html: Added.

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

5 months agoANGLE: Fix object deletion behavior.
commit-queue@webkit.org [Mon, 17 Feb 2020 20:08:13 +0000 (20:08 +0000)]
ANGLE: Fix object deletion behavior.
https://bugs.webkit.org/show_bug.cgi?id=205610

Source/WebCore:

Fixes WebGL conformance tests object-deletion-behavior.html and vertex-array-object.html.

Patch by James Darpinian <jdarpinian@chromium.org> on 2020-02-17
Reviewed by Dean Jackson.

* html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::getFramebufferAttachmentParameter):
    No error when getting attachment name with a null attachment.
* html/canvas/WebGLObject.cpp:
(WebCore::WebGLObject::deleteObject):
    Don't delay deleting objects when using ANGLE, becuase ANGLE handles object
    deletion correctly with WebGL semantics. This fixes some conformance tests
    including vertex-array-object.html.
* html/canvas/WebGLObject.h:
* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::checkObjectToBeBound):
    Always generate INVALID_OPERATION when the object is deleted.
(WebCore::WebGLRenderingContextBase::validateAndCacheBufferBinding):
(WebCore::WebGLRenderingContextBase::bindFramebuffer):
(WebCore::WebGLRenderingContextBase::bindRenderbuffer):
(WebCore::WebGLRenderingContextBase::bindTexture):
(WebCore::WebGLRenderingContextBase::useProgram):
* html/canvas/WebGLRenderingContextBase.h:

LayoutTests:

Remove incorrect (out-of-date) test. This correct version of this test is still present in the WebGL
conformance tests.

Patch by James Darpinian <jdarpinian@chromium.org> on 2020-02-17
Reviewed by Dean Jackson.

* fast/canvas/webgl/object-deletion-behaviour-expected.txt: Removed.
* fast/canvas/webgl/object-deletion-behaviour.html: Removed.

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

5 months ago[ Mac wk2 Release ] fast/scrolling/latching/scroll-iframe-fragment.html is flaky...
lawrence.j@apple.com [Mon, 17 Feb 2020 19:59:54 +0000 (19:59 +0000)]
[ Mac wk2 Release ] fast/scrolling/latching/scroll-iframe-fragment.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=207848

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

5 months agoUse CF prefs direct mode in the WebContent process
pvollan@apple.com [Mon, 17 Feb 2020 19:50:16 +0000 (19:50 +0000)]
Use CF prefs direct mode in the WebContent process
https://bugs.webkit.org/show_bug.cgi?id=203420

Reviewed by Brent Fulgham.

Source/WebCore:

Add Internals functions to read preferences.

API tests: Tests added in PreferenceChanges.mm.

* testing/Internals.cpp:
(WebCore::Internals::readPreferenceInteger):
(WebCore::Internals::encodedPreferenceValue):
* testing/Internals.h:
* testing/Internals.idl:
* testing/Internals.mm:
(WebCore::Internals::encodedPreferenceValue):

Source/WebCore/PAL:

Add SPI to enable CF prefs direct mode and declare method called when preference are changed.

* PAL.xcodeproj/project.pbxproj:
* pal/spi/cf/CFUtilitiesSPI.h:
* pal/spi/cocoa/NSUserDefaultsSPI.h: Added.

Source/WebKit:

Enable CF prefs direct mode, in order to avoid connecting to the CF prefs daemon in the WebContent process.
In direct mode, the prefs files will be accessed directly, and not through the CF prefs daemon. A preference
observer is added in the UI process, which will notify the WebContent process about preferences changes to a
domain. After a preference change, the WebContent process will set the new preference value for the changed
key/domain.

API tests: Tests added in PreferenceChanges.mm.

* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
* Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:
(WebKit::XPCServiceMain):
* UIProcess/Cocoa/PreferenceObserver.h: Added.
(__attribute__):
* UIProcess/Cocoa/PreferenceObserver.mm: Added.
(-[WKUserDefaults _notifyObserversOfChangeFromValuesForKeys:toValuesForKeys:]):
(-[WKUserDefaults observeValueForKeyPath:ofObject:change:context:]):
(-[WKUserDefaults initWithSuiteName:]):
(+[WKPreferenceObserver sharedInstance]):
(-[WKPreferenceObserver init]):
(-[WKPreferenceObserver preferenceDidChange:key:encodedValue:]):
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
(WebKit::WebProcessPool::notifyPreferencesChanged):
* UIProcess/WebProcessPool.h:
* WebKit.xcodeproj/project.pbxproj:
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::notifyPreferencesChanged):
* WebProcess/com.apple.WebProcess.sb.in:

Tools:

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

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

5 months agoEWS should be able to file Bugzilla bugs
aakash_jain@apple.com [Mon, 17 Feb 2020 19:40:48 +0000 (19:40 +0000)]
EWS should be able to file Bugzilla bugs
https://bugs.webkit.org/show_bug.cgi?id=207845

Reviewed by Alexey Proskuryakov.

* BuildSlaveSupport/ews-build/steps.py:
(BugzillaMixin.create_bug): Method to file bugzilla bug using bugzilla REST API.

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

5 months agoRemoving expectations for tests that no longer exist + fixing a typo.
dino@apple.com [Mon, 17 Feb 2020 19:24:53 +0000 (19:24 +0000)]
Removing expectations for tests that no longer exist + fixing a typo.

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

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

5 months agoDo not send the client URL to network process
youenn@apple.com [Mon, 17 Feb 2020 19:23:56 +0000 (19:23 +0000)]
Do not send the client URL to network process
https://bugs.webkit.org/show_bug.cgi?id=207803

Reviewed by Darin Adler.

Source/WebCore:

Instead of sending the client URL through threads and IPC, we can retrieve it in NetworkProcess from the client identifier.
Implement this, as this is more efficient and safer.
No change of behavior.

* workers/service/SWClientConnection.h:
* workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::unregisterRegistration):
* workers/service/WorkerSWClientConnection.cpp:
(WebCore::WorkerSWClientConnection::scheduleUnregisterJobInServer):
* workers/service/WorkerSWClientConnection.h:
* workers/service/server/SWServer.cpp:
(WebCore::SWServer::scheduleUnregisterJob):
* workers/service/server/SWServer.h:

Source/WebKit:

* NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::scheduleUnregisterJobInServer):
* NetworkProcess/ServiceWorker/WebSWServerConnection.h:
* NetworkProcess/ServiceWorker/WebSWServerConnection.messages.in:
* WebProcess/Storage/WebSWClientConnection.cpp:
(WebKit::WebSWClientConnection::scheduleUnregisterJobInServer):
* WebProcess/Storage/WebSWClientConnection.h:

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

5 months agoa lot gcc warnings because of %{public}s format specifier
commit-queue@webkit.org [Mon, 17 Feb 2020 18:47:59 +0000 (18:47 +0000)]
a lot gcc warnings because of %{public}s format specifier
https://bugs.webkit.org/show_bug.cgi?id=207478

Patch by Víctor Manuel Jáquez Leal <vjaquez@igalia.com> on 2020-02-17
Reviewed by Darin Adler.

Add PUBLIC_LOG_STRING macro which is defined depending on if
os_log()[1] is used or rather old printf().

OS Logging processes format specifiers for privacy matters, for
example dynamic strings, which demands %{public}s. But these
specifiers are not valid for printf().

Calls to logging with this specifier, if they are not Mac/Darwing
exclusive, use this new macro to avoid gcc warnings.

1. https://developer.apple.com/documentation/os/logging?language=objc

Source/WebCore:

No new tests. Covered by existing tests.

* loader/AdClickAttribution.cpp:
(WebCore::AdClickAttribution::parseConversionRequest):
* platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
(WebCore::doReleaseLogging):
* workers/service/server/RegistrationDatabase.cpp:
(WebCore::RegistrationDatabase::openSQLiteDatabase):

Source/WebKit:

* NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
(WebKit::ResourceLoadStatisticsDatabaseStore::ResourceLoadStatisticsDatabaseStore):
(WebKit::ResourceLoadStatisticsDatabaseStore::openITPDatabase):
(WebKit::ResourceLoadStatisticsDatabaseStore::isCorrectTableSchema):
(WebKit::ResourceLoadStatisticsDatabaseStore::createUniqueIndices):
(WebKit::ResourceLoadStatisticsDatabaseStore::prepareStatements):
* NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp:
(WebKit::ResourceLoadStatisticsMemoryStore::requestStorageAccess):
(WebKit::ResourceLoadStatisticsMemoryStore::requestStorageAccessUnderOpener):
(WebKit::ResourceLoadStatisticsMemoryStore::ensurePrevalentResourcesForDebugMode):
* NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:
(WebKit::ResourceLoadStatisticsStore::removeDataRecords):
(WebKit::ResourceLoadStatisticsStore::debugLogDomainsInBatches):
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::start):
(WebKit::NetworkResourceLoader::startNetworkLoad):
(WebKit::NetworkResourceLoader::didReceiveResponse):
* NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:
(WebKit::ServiceWorkerFetchTask::didReceiveResponse):
(WebKit::ServiceWorkerFetchTask::didFail):
* UIProcess/AuxiliaryProcessProxy.cpp:
(WebKit::AuxiliaryProcessProxy::logInvalidMessage):
* UIProcess/ProcessThrottler.h:
(WebKit::ProcessThrottler::Activity::Activity):
(WebKit::ProcessThrottler::Activity::invalidate):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::receivedNavigationPolicyDecision):

Source/WTF:

* wtf/Assertions.h:
* wtf/MemoryPressureHandler.cpp:
(WTF::MemoryPressureHandler::ReliefLogger::logMemoryUsageChange):

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

5 months agoREGRESSION: (r256232?) [ Mac wk1 Release ] resize-observer/delete-observers-in-callba...
lawrence.j@apple.com [Mon, 17 Feb 2020 18:33:10 +0000 (18:33 +0000)]
REGRESSION: (r256232?) [ Mac wk1 Release ] resize-observer/delete-observers-in-callbacks.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=207847

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

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

5 months agoMach lookup to com.apple.webinspector should not be allowed in WebKit's WebContent...
pvollan@apple.com [Mon, 17 Feb 2020 18:29:33 +0000 (18:29 +0000)]
Mach lookup to com.apple.webinspector should not be allowed in WebKit's WebContent process
https://bugs.webkit.org/show_bug.cgi?id=203214

Reviewed by Brent Fulgham.

Source/JavaScriptCore:

Add static flag in RemoteInspector to indicate whether a sandbox extension is needed. The remote inspector will only be
started if the sandbox extension is not needed. Only the WebContent process will need a sandbox extension, since this
patch removes mach access to 'com.apple.webinspector' for this process. Also add name and domain for the
'Enable Remote Inspector' setting, since this will be used in the UI process.

* inspector/remote/RemoteInspector.cpp:
* inspector/remote/RemoteInspector.h:
* inspector/remote/RemoteInspectorConstants.h:
* inspector/remote/cocoa/RemoteInspectorCocoa.mm:
(Inspector::RemoteInspector::singleton):

Source/WebKit:

If the Web inspector is enabled when the WebContent process is started, a sandbox extension is created
for 'com.apple.webinspector' and a message is sent to the WebContent process, where the extension will
be consumed, and the remote Web inspector will be started. The same happens if Web inspector is enabled
by the user while Safari is running. When RemoteInspector::singleton() is called in the UI process there
is no need for an extension, since access to the Web inspector daemon is already allowed.

* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::backlightLevelDidChangeCallback):
(WebKit::WebProcessPool::remoteWebInspectorEnabledCallback):
(WebKit::WebProcessPool::registerNotificationObservers):
(WebKit::WebProcessPool::unregisterNotificationObservers):
* UIProcess/Cocoa/WebProcessProxyCocoa.mm:
(WebKit::WebProcessProxy::enableRemoteInspectorIfNeeded):
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::initializeNewWebProcess):
* UIProcess/WebProcessPool.h:
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::mayBecomeUnresponsive):
* UIProcess/WebProcessProxy.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::enableRemoteWebInspector):
* WebProcess/com.apple.WebProcess.sb.in:

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

5 months ago[iOS] Add telemetry with backtrace for specific rules
pvollan@apple.com [Mon, 17 Feb 2020 18:18:40 +0000 (18:18 +0000)]
[iOS] Add telemetry with backtrace for specific rules
https://bugs.webkit.org/show_bug.cgi?id=207494

Reviewed by Brent Fulgham.

For specific sandbox mach lookup rules in the WebContent process, add telemetry with backtrace.

No new tests, no behavior change.

* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:

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

5 months ago[ Mac wk2 ] storage/indexeddb/detached-iframe.html is flaky failing.
lawrence.j@apple.com [Mon, 17 Feb 2020 18:02:00 +0000 (18:02 +0000)]
[ Mac wk2 ] storage/indexeddb/detached-iframe.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=207844

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

5 months agoIndexedDB: index cursor iteration is slow when there are a lot of index records from...
sihui_liu@apple.com [Mon, 17 Feb 2020 17:44:54 +0000 (17:44 +0000)]
IndexedDB: index cursor iteration is slow when there are a lot of index records from different object stores
https://bugs.webkit.org/show_bug.cgi?id=207377
<rdar://problem/59288679>

Reviewed by Brady Eidson.

Make the Index of IndexRecords table include indexID since we always perform search with indexID.
This would let SQLite optimize the index statement in SQLiteCursor with Covering Index and fix the slowness.

* Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidIndexRecordsIndex):
(WebCore::IDBServer::v1IndexRecordsIndexSchema): Deleted.

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

5 months agoEWS should be able to comment on Bugzilla
aakash_jain@apple.com [Mon, 17 Feb 2020 16:48:00 +0000 (16:48 +0000)]
EWS should be able to comment on Bugzilla
https://bugs.webkit.org/show_bug.cgi?id=201927

Reviewed by Jonathan Bedard.

* BuildSlaveSupport/ews-build/steps.py:
(BugzillaMixin.comment_on_bug): Method to comment on bugzilla bug.
(BugzillaMixin.remove_flags_on_patch): Drive-by fix to correctly identify failure based on status code.
(BugzillaMixin.close_bug): Ditto.
(CommentOnBug): Build step to comment on bugzilla bug.

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

5 months ago[macOS] Add trace points for layer flush runloop observer
antti@apple.com [Mon, 17 Feb 2020 16:45:29 +0000 (16:45 +0000)]
[macOS] Add trace points for layer flush runloop observer
https://bugs.webkit.org/show_bug.cgi?id=207837

Reviewed by Sam Weinig.

Source/WebKit:

Add trace points to see how much scheduled layer flushes get delayed by timers and other runloop activities.

* WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::setLayerTreeStateIsFrozen):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::setLayerTreeStateIsFrozen):

Also add trace points for layer tree freezing (iOS too).

(WebKit::TiledCoreAnimationDrawingArea::layerFlushRunLoopCallback):
(WebKit::TiledCoreAnimationDrawingArea::invalidateLayerFlushRunLoopObserver):
(WebKit::TiledCoreAnimationDrawingArea::scheduleLayerFlushRunLoopObserver):

Source/WTF:

* wtf/SystemTracing.h:

Tools:

* Tracing/SystemTracePoints.plist:

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

5 months agoREGRESSION: (r256712?) [ iOS wk2 ] fast/block/block-only/floats-and-block-formatting...
lawrence.j@apple.com [Mon, 17 Feb 2020 16:40:18 +0000 (16:40 +0000)]
REGRESSION: (r256712?) [ iOS wk2 ] fast/block/block-only/floats-and-block-formatting-roots.html is crashing.
https://bugs.webkit.org/show_bug.cgi?id=207841

Unreviewed test gardening.

* platform/ios-wk2/TestExpectations:

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

5 months ago[ Mac wk2 ] webgpu/whlsl/loops-break.html is flaky failing.
lawrence.j@apple.com [Mon, 17 Feb 2020 16:16:44 +0000 (16:16 +0000)]
[ Mac wk2 ] webgpu/whlsl/loops-break.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=207839

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

5 months ago[LFC] Remove ReplacedBox::m_layoutBox
zalan@apple.com [Mon, 17 Feb 2020 16:03:44 +0000 (16:03 +0000)]
[LFC] Remove ReplacedBox::m_layoutBox
https://bugs.webkit.org/show_bug.cgi?id=207830
<rdar://problem/59498829>

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/layoutformattingcontext/simple-absolute-positioned-inline-element.html

This is not needed after r256380 ([LFC] Introduce Layout::ReplacedBox).

* layout/layouttree/LayoutReplacedBox.cpp:
(WebCore::Layout::ReplacedBox::hasIntrinsicWidth const):
(WebCore::Layout::ReplacedBox::hasIntrinsicHeight const):
(WebCore::Layout::ReplacedBox::intrinsicWidth const):
(WebCore::Layout::ReplacedBox::intrinsicHeight const):
(WebCore::Layout::ReplacedBox::hasAspectRatio const):
* layout/layouttree/LayoutReplacedBox.h:

LayoutTests:

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

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

5 months ago[LFC] The initial containing block does not necessarily have in-flow content.
zalan@apple.com [Mon, 17 Feb 2020 15:53:41 +0000 (15:53 +0000)]
[LFC] The initial containing block does not necessarily have in-flow content.
https://bugs.webkit.org/show_bug.cgi?id=207833
<rdar://problem/59500650>

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/layoutformattingcontext/html-is-absolute-positioned.html

When the <html> is out-of-flow positioned, the initial containing block has no in-flow direct children.

* layout/LayoutContext.cpp:
(WebCore::Layout::LayoutContext::layoutFormattingContextSubtree):

LayoutTests:

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

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

5 months ago[CMake] Use builtin targets
don.olmstead@sony.com [Mon, 17 Feb 2020 15:37:39 +0000 (15:37 +0000)]
[CMake] Use builtin targets
https://bugs.webkit.org/show_bug.cgi?id=205166

Reviewed by Darin Adler.

.:

Add WebKitFindPackage.cmake which wraps CMake's find_package to provide targets
for common libraries.

Rationale:
1. There are a number of libraries which are found using CMake's internal Find modules
   that contain targets but not all of them are available in the minimum version of
   CMake we support, 3.10.
2. Updating to CMake 3.12 or higher is not possible due to the WebKit GTK's support
   policy. It looks like the next time we can bump the version is spring 2021.
3. Apple builds, both Mac and Windows, have libraries that won't be found using the
   stock CMake modules. AppleWin also has internal builds where all libraries have
   a DEBUG_SUFFIX of _debug that would not be picked up.

In the implementation of find_package any Apple specific requirements are dealt with
and the expected CMake values are populated. For all other cases CMake's original
find_package is called so there's no behavior change. Afterwards if there is a library
that has a target but the target was not created it is created from the definitions
that are present from the find module at CMake 3.10.

This makes it so all ports consistently have targets across all versions of CMake
above the current minimum.

* Source/cmake/OptionsAppleWin.cmake:
* Source/cmake/OptionsPlayStation.cmake:
* Source/cmake/WebKitCommon.cmake:
* Source/cmake/WebKitFindPackage.cmake: Added.
* Source/cmake/target/icu.cmake: Removed.

PerformanceTests:

* MallocBench/MallocBench/CMakeLists.txt:

Source/WebCore:

* CMakeLists.txt:
* PlatformGTK.cmake:
* PlatformMac.cmake:
* platform/Curl.cmake:
* platform/FreeType.cmake:
* platform/ImageDecoders.cmake:

Source/WebCore/PAL:

* pal/PlatformPlayStation.cmake:

Source/WebKit:

* PlatformFTW.cmake:
* PlatformWPE.cmake:
* PlatformWin.cmake:

Source/WebKitLegacy:

* PlatformFTW.cmake:
* PlatformWin.cmake:

Source/WTF:

* wtf/PlatformGTK.cmake:
* wtf/PlatformJSCOnly.cmake:
* wtf/PlatformPlayStation.cmake:
* wtf/PlatformWPE.cmake:

Tools:

* TestWebKitAPI/PlatformWin.cmake:

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

5 months agoUpdate WPT tests for encoding
clopez@igalia.com [Mon, 17 Feb 2020 15:30:26 +0000 (15:30 +0000)]
Update WPT tests for encoding
https://bugs.webkit.org/show_bug.cgi?id=207644

Rubber-stamped by Youenn Fablet.

LayoutTests/imported/w3c:

Update from WPT ToT (c8671a2d15)

On top of the automatic import this:
 - removes imported/w3c/web-platform-tests/encoding/reftest.list and moves the -ref.html expectations to -expected.html (see bug 203783)
 - manually fixes the broken imported tests with byte truncated secuences (see bug 207731)
 - manually fixes the test resources of imported/w3c/web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-decode* (see bug 207736)

* web-platform-tests/encoding/META.yml: Added.
* web-platform-tests/encoding/OWNERS: Removed.
* web-platform-tests/encoding/api-basics.any-expected.txt: Added.
* web-platform-tests/encoding/api-basics.any.html: Added.
* web-platform-tests/encoding/api-basics.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/encoding/api-basics.html.
* web-platform-tests/encoding/api-basics.any.worker-expected.txt: Added.
* web-platform-tests/encoding/api-basics.any.worker.html: Added.
* web-platform-tests/encoding/api-invalid-label.any-expected.txt: Added.
* web-platform-tests/encoding/api-invalid-label.any.html: Added.
* web-platform-tests/encoding/api-invalid-label.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/encoding/api-invalid-label.html.
(tests.forEach):
* web-platform-tests/encoding/api-invalid-label.any.worker-expected.txt: Added.
* web-platform-tests/encoding/api-invalid-label.any.worker.html: Added.
* web-platform-tests/encoding/api-replacement-encodings.any-expected.txt: Added.
* web-platform-tests/encoding/api-replacement-encodings.any.html: Added.
* web-platform-tests/encoding/api-replacement-encodings.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/encoding/api-replacement-encodings.html.
(encodings_table.forEach):
* web-platform-tests/encoding/api-replacement-encodings.any.worker-expected.txt: Added.
* web-platform-tests/encoding/api-replacement-encodings.any.worker.html: Added.
* web-platform-tests/encoding/api-surrogates-utf8.any-expected.txt: Added.
* web-platform-tests/encoding/api-surrogates-utf8.any.html: Added.
* web-platform-tests/encoding/api-surrogates-utf8.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/encoding/api-surrogates-utf8.html.
(badStrings.forEach):
* web-platform-tests/encoding/api-surrogates-utf8.any.worker-expected.txt: Added.
* web-platform-tests/encoding/api-surrogates-utf8.any.worker.html: Added.
* web-platform-tests/encoding/big5-encoder-expected.txt:
* web-platform-tests/encoding/big5-encoder.html:
* web-platform-tests/encoding/encodeInto.any-expected.txt: Added.
* web-platform-tests/encoding/encodeInto.any.html: Added.
* web-platform-tests/encoding/encodeInto.any.js: Added.
(forEach.testData.forEach.destinationData.string_appeared_here.forEach.arrayBufferOrSharedArrayBuffer.test):
(Float64Array.forEach.view.string_appeared_here.forEach):
(string_appeared_here.forEach):
(test):
* web-platform-tests/encoding/encodeInto.any.worker-expected.txt: Added.
* web-platform-tests/encoding/encodeInto.any.worker.html: Added.
* web-platform-tests/encoding/eof-shift_jis-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/encoding/eof-shift_jis-ref.html.
* web-platform-tests/encoding/eof-utf-8-one-ref.html: Removed.
* web-platform-tests/encoding/eof-utf-8-three-ref.html: Removed.
* web-platform-tests/encoding/eof-utf-8-two-ref.html: Removed.
* web-platform-tests/encoding/gbk-encoder-expected.txt:
* web-platform-tests/encoding/gbk-encoder.html:
* web-platform-tests/encoding/idlharness.any-expected.txt: Added.
* web-platform-tests/encoding/idlharness.any.html: Added.
* web-platform-tests/encoding/idlharness.any.js: Added.
* web-platform-tests/encoding/idlharness.any.worker-expected.txt: Added.
* web-platform-tests/encoding/idlharness.any.worker.html: Added.
* web-platform-tests/encoding/idlharness.html: Removed.
* web-platform-tests/encoding/iso-2022-jp-decoder.any-expected.txt: Added.
* web-platform-tests/encoding/iso-2022-jp-decoder.any.html: Added.
* web-platform-tests/encoding/iso-2022-jp-decoder.any.js: Added.
(decode):
* web-platform-tests/encoding/iso-2022-jp-decoder.any.worker-expected.txt: Added.
* web-platform-tests/encoding/iso-2022-jp-decoder.any.worker.html: Added.
* web-platform-tests/encoding/iso-2022-jp-decoder.html: Removed.
* web-platform-tests/encoding/iso-2022-jp-encoder-expected.txt:
* web-platform-tests/encoding/iso-2022-jp-encoder.html:
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-decode-cseucpkdfmtjapanese-expected.txt: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-decode-cseucpkdfmtjapanese.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-decode-errors-expected.txt: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-decode-errors.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-decode-expected.txt: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-decode-x-euc-jp-expected.txt: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-decode-x-euc-jp.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-decode.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-decoder.js: Added.
(dec2char):
(eucjpDecoder):
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-cseucpkdfmtjapanese-expected.txt: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-cseucpkdfmtjapanese.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-cseucpkdfmtjapanese.html.headers: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-errors-han-expected.txt: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-errors-han.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-errors-han.html.headers: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-errors-hangul-expected.txt: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-errors-hangul.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-errors-hangul.html.headers: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-errors-misc-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-misc-expected.txt.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-errors-misc.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-errors-misc.html.headers: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-expected.txt: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-x-euc-jp-expected.txt: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-x-euc-jp.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-x-euc-jp.html.headers: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form.html.headers: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-href-errors-han-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-errors-han-expected.txt.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-href-errors-han.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-href-errors-han.html.headers: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-href-errors-hangul-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-errors-hangul-expected.txt.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-href-errors-hangul.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-href-errors-hangul.html.headers: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-href-errors-misc-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-errors-misc-expected.txt.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-href-errors-misc.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-href-errors-misc.html.headers: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-href-expected.txt: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-href.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-href.html.headers: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encoder.js: Added.
(chars2cps):
(eucjpEncoder):
(convertToHex):
(normalizeStr):
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp_chars-cseucpkdfmtjapanese.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp_chars-cseucpkdfmtjapanese.html.headers: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp_chars-x-euc-jp.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp_chars-x-euc-jp.html.headers: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp_chars.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp_chars.html.headers: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp_errors.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp_errors.html.headers: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/jis0208_index.js: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/jis0212_index.js: Added.
* web-platform-tests/encoding/legacy-mb-japanese/euc-jp/w3c-import.log: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-decode-csiso2022jp-expected.txt: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-decode-csiso2022jp.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-decode-errors-expected.txt: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-decode-errors.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-decode-expected.txt: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-decode.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-decoder.js: Added.
(dec2char):
(getIndexPtr):
(iso2022jpDecoder):
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-csiso2022jp-expected.txt: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-csiso2022jp.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-csiso2022jp.html.headers: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-errors-han-expected.txt: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-errors-han.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-errors-han.html.headers: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-errors-hangul-expected.txt: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-errors-hangul.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-errors-hangul.html.headers: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-errors-misc-expected.txt: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-errors-misc.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-errors-misc.html.headers: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-errors-stateful-expected.txt: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-errors-stateful.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-expected.txt: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form.html.headers: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-href-errors-han-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-errors-han-expected.txt.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-href-errors-han.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-href-errors-han.html.headers: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-href-errors-hangul-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-errors-hangul-expected.txt.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-href-errors-hangul.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-href-errors-hangul.html.headers: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-href-errors-misc-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-errors-misc-expected.txt.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-href-errors-misc.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-href-errors-misc.html.headers: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-href-expected.txt: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-href.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-href.html.headers: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encoder.js: Added.
(chars2cps):
(iso2022jpEncoder):
(convertToHex):
(normalizeStr):
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp_errors.html: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp_errors.html.headers: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/jis0208_index.js: Added.
* web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/w3c-import.log: Added.
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-csshiftjis.html:
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-errors.html:
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-ms932.html:
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-ms_kanji.html:
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-shift-jis.html:
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-sjis.html:
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-windows-31j.html:
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-x-sjis.html:
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode.html:
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decoder.js:
(sjisDecoder):
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-csshiftjis.html:
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-errors-han-expected.txt:
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-errors-han.html:
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-errors-hangul.html:
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-errors-misc-expected.txt:
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-errors-misc.html:
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-ms932.html:
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-ms_kanji.html:
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-shift-jis.html:
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-sjis.html:
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-windows-31j.html:
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-x-sjis.html:
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form.html:
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-errors-han-expected.txt:
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-errors-han.html:
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-errors-hangul-expected.txt:
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-errors-hangul.html:
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-errors-misc-expected.txt:
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-errors-misc.html:
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href.html:
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encoder.js:
(sjisEncoder):
* web-platform-tests/encoding/legacy-mb-japanese/shift_jis/w3c-import.log:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-cseuckr.html:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-csksc56011987.html:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-iso-ir-149.html:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-korean.html:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-ks_c_5601-1987.html:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-ks_c_5601-1989.html:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-ksc5601.html:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-ksc_5601.html:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-windows-949.html:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode.html:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decoder.js:
(euckrDecoder):
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-cseuckr.html:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-csksc56011987.html:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-errors-han-expected.txt:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-errors-han.html:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-errors-hangul-expected.txt: Removed.
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-errors-hangul.html: Removed.
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-errors-hangul.html.headers: Removed.
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-errors-misc-expected.txt:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-errors-misc.html:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-iso-ir-149.html:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-korean.html:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-ks_c_5601-1987.html:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-ks_c_5601-1989.html:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-ksc5601.html:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-ksc_5601.html:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-windows-949.html:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form.html:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-href-errors-han-expected.txt:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-href-errors-han.html:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-href-errors-misc-expected.txt:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-href-errors-misc.html:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-href-expected.txt:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-href.html:
* web-platform-tests/encoding/legacy-mb-korean/euc-kr/w3c-import.log:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-decode-big5-hkscs.html:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-decode-cn-big5.html:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-decode-csbig5.html:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-decode-extra.html:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-decode-x-x-big5.html:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-decode.html:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-decoder.js:
(big5Decoder):
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-enc-ascii-expected.txt:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-enc-ascii.html:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-big5-hkscs-expected.txt:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-big5-hkscs.html:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-cn-big5-expected.txt:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-cn-big5.html:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-csbig5-expected.txt:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-csbig5.html:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-extBa-expected.txt:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-extBa.html:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-extBb.html:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-han-expected.txt:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-han.html:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-hangul.html:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-misc-expected.txt:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-misc.html:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-pua.html:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-expected.txt:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-x-x-big5-expected.txt:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-x-x-big5.html:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form.html:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-href-errors-han.html:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-href-errors-hangul.html:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-href-errors-misc.html:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-href-expected.txt:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-href.html:
* web-platform-tests/encoding/legacy-mb-tchinese/big5/w3c-import.log:
* web-platform-tests/encoding/reftest.list: Removed.
* web-platform-tests/encoding/remove-only-one-bom-expected.txt: Added.
* web-platform-tests/encoding/remove-only-one-bom.html: Added.
* web-platform-tests/encoding/resources/decode-common.js: Added.
(showNodes):
* web-platform-tests/encoding/resources/encode-form-common.js: Copied from LayoutTests/imported/w3c/web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-sjis.html.
(setup):
(runNext.iframe.onload):
* web-platform-tests/encoding/resources/encode-href-common.js: Added.
(encode):
* web-platform-tests/encoding/resources/ranges.js: Added.
* web-platform-tests/encoding/resources/single-byte-raw.py:
(main):
* web-platform-tests/encoding/resources/two-boms-utf-16be.html: Added.
* web-platform-tests/encoding/resources/two-boms-utf-16le.html: Added.
* web-platform-tests/encoding/resources/two-boms-utf-8.html: Added.
* web-platform-tests/encoding/resources/utf-32-big-endian-bom.html:
* web-platform-tests/encoding/resources/utf-32-big-endian-bom.xml:
* web-platform-tests/encoding/resources/utf-32-big-endian-nobom.html:
* web-platform-tests/encoding/resources/utf-32-big-endian-nobom.xml:
* web-platform-tests/encoding/resources/utf-32-little-endian-bom.html:
* web-platform-tests/encoding/resources/utf-32-little-endian-bom.xml:
* web-platform-tests/encoding/resources/utf-32-little-endian-nobom.html:
* web-platform-tests/encoding/resources/utf-32-little-endian-nobom.xml:
* web-platform-tests/encoding/resources/w3c-import.log:
* web-platform-tests/encoding/single-byte-decoder.html:
* web-platform-tests/encoding/sniffing-expected.txt: Added.
* web-platform-tests/encoding/sniffing.html: Added.
* web-platform-tests/encoding/streams/backpressure.any.js: Added.
(input.new.Uint8Array):
* web-platform-tests/encoding/streams/backpressure.any.worker-expected.txt: Added.
* web-platform-tests/encoding/streams/backpressure.any.worker.html: Added.
* web-platform-tests/encoding/streams/decode-attributes.any.js: Added.
(const.label.of.Object.keys):
(null.test):
(null.setting.fatal.to.string_appeared_here.should.set the):
(null.setting.ignoreBOM.to.string_appeared_here.should.set the):
(string_appeared_here.setting.fatal.to.string_appeared_here.should.set the):
(string_appeared_here.setting.ignoreBOM.to.string_appeared_here.should.set the):
* web-platform-tests/encoding/streams/decode-attributes.any.worker-expected.txt: Added.
* web-platform-tests/encoding/streams/decode-attributes.any.worker.html: Added.
* web-platform-tests/encoding/streams/decode-bad-chunks.any.js: Added.
(const.chunk.of.badChunks.promise_test.async t):
* web-platform-tests/encoding/streams/decode-bad-chunks.any.worker-expected.txt: Added.
* web-platform-tests/encoding/streams/decode-bad-chunks.any.worker.html: Added.
* web-platform-tests/encoding/streams/decode-ignore-bom.any.js: Added.
(async pipeAndAssemble):
* web-platform-tests/encoding/streams/decode-ignore-bom.any.worker-expected.txt: Added.
* web-platform-tests/encoding/streams/decode-ignore-bom.any.worker.html: Added.
* web-platform-tests/encoding/streams/decode-incomplete-input.any.js: Added.
(promise_test.async t):
* web-platform-tests/encoding/streams/decode-incomplete-input.any.worker-expected.txt: Added.
* web-platform-tests/encoding/streams/decode-incomplete-input.any.worker.html: Added.
* web-platform-tests/encoding/streams/decode-non-utf8.any.js: Added.
(const.encoding.of.encodings.promise_test.async const):
(const.encoding.of.encodings.promise_test):
(const.encoding.of.encodings.promise_test.async t):
* web-platform-tests/encoding/streams/decode-non-utf8.any.worker-expected.txt: Added.
* web-platform-tests/encoding/streams/decode-non-utf8.any.worker.html: Added.
* web-platform-tests/encoding/streams/decode-split-character.any.js: Added.
* web-platform-tests/encoding/streams/decode-split-character.any.worker-expected.txt: Added.
* web-platform-tests/encoding/streams/decode-split-character.any.worker.html: Added.
* web-platform-tests/encoding/streams/decode-utf8.any.js: Added.
(string_appeared_here.forEach.async promise_test):
(string_appeared_here.forEach):
(async promise_test):
* web-platform-tests/encoding/streams/decode-utf8.any.worker-expected.txt: Added.
* web-platform-tests/encoding/streams/decode-utf8.any.worker.html: Added.
* web-platform-tests/encoding/streams/encode-bad-chunks.any.js: Added.
(promise_test.t.const.writePromise.writer.write.toString):
* web-platform-tests/encoding/streams/encode-bad-chunks.any.worker-expected.txt: Added.
* web-platform-tests/encoding/streams/encode-bad-chunks.any.worker.html: Added.
* web-platform-tests/encoding/streams/encode-utf8.any.js: Added.
(of.testCases.promise_test.async const):
(of.testCases.promise_test):
* web-platform-tests/encoding/streams/encode-utf8.any.worker-expected.txt: Added.
* web-platform-tests/encoding/streams/encode-utf8.any.worker.html: Added.
* web-platform-tests/encoding/streams/readable-writable-properties.any.js: Added.
(test):
* web-platform-tests/encoding/streams/readable-writable-properties.any.worker-expected.txt: Added.
* web-platform-tests/encoding/streams/readable-writable-properties.any.worker.html: Added.
* web-platform-tests/encoding/streams/realms.window-expected.txt: Added.
* web-platform-tests/encoding/streams/realms.window.html: Added.
* web-platform-tests/encoding/streams/realms.window.js: Added.
(createRealm):
(async createRealms):
(const.id):
(evalInRealm):
(async evalInRealmAndWait):
(async evalInRealmAndReturn):
(async constructAndStore):
(readInReadRealm):
(writeInWriteRealm):
(window.onload):
(runGenericTests.async promise_test):
(async runTextEncoderStreamTests.async promise_test):
(async runTextEncoderStreamTests):
(async runTextDecoderStreamTests.async promise_test):
(async runTextDecoderStreamTests):
* web-platform-tests/encoding/streams/resources/readable-stream-from-array.js: Added.
(readableStreamFromArray):
* web-platform-tests/encoding/streams/resources/readable-stream-to-array.js: Added.
(readableStreamToArray):
* web-platform-tests/encoding/streams/resources/w3c-import.log: Added.
* web-platform-tests/encoding/streams/w3c-import.log: Added.
* web-platform-tests/encoding/textdecoder-byte-order-marks.any-expected.txt: Added.
* web-platform-tests/encoding/textdecoder-byte-order-marks.any.html: Added.
* web-platform-tests/encoding/textdecoder-byte-order-marks.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/encoding/textdecoder-byte-order-marks.html.
(testCases.forEach):
* web-platform-tests/encoding/textdecoder-byte-order-marks.any.worker-expected.txt: Added.
* web-platform-tests/encoding/textdecoder-byte-order-marks.any.worker.html: Added.
* web-platform-tests/encoding/textdecoder-copy.any-expected.txt:
* web-platform-tests/encoding/textdecoder-copy.any.js:
(string_appeared_here.forEach.arrayBufferOrSharedArrayBuffer.test):
* web-platform-tests/encoding/textdecoder-copy.any.worker-expected.txt:
* web-platform-tests/encoding/textdecoder-fatal-single-byte.any-expected.txt: Added.
* web-platform-tests/encoding/textdecoder-fatal-single-byte.any.html: Added.
* web-platform-tests/encoding/textdecoder-fatal-single-byte.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/encoding/textdecoder-fatal-single-byte.html.
(singleByteEncodings.forEach):
* web-platform-tests/encoding/textdecoder-fatal-single-byte.any.worker-expected.txt: Added.
* web-platform-tests/encoding/textdecoder-fatal-single-byte.any.worker.html: Added.
* web-platform-tests/encoding/textdecoder-fatal-streaming.any-expected.txt: Added.
* web-platform-tests/encoding/textdecoder-fatal-streaming.any.html: Added.
* web-platform-tests/encoding/textdecoder-fatal-streaming.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/encoding/textdecoder-fatal-streaming.html.
(test):
* web-platform-tests/encoding/textdecoder-fatal-streaming.any.worker-expected.txt: Added.
* web-platform-tests/encoding/textdecoder-fatal-streaming.any.worker.html: Added.
* web-platform-tests/encoding/textdecoder-fatal.any-expected.txt: Added.
* web-platform-tests/encoding/textdecoder-fatal.any.html: Added.
* web-platform-tests/encoding/textdecoder-fatal.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/encoding/textdecoder-fatal.html.
(bad.forEach):
(test):
* web-platform-tests/encoding/textdecoder-fatal.any.worker-expected.txt: Added.
* web-platform-tests/encoding/textdecoder-fatal.any.worker.html: Added.
* web-platform-tests/encoding/textdecoder-ignorebom.any-expected.txt: Added.
* web-platform-tests/encoding/textdecoder-ignorebom.any.html: Added.
* web-platform-tests/encoding/textdecoder-ignorebom.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/encoding/textdecoder-ignorebom.html.
(cases.forEach):
(test):
* web-platform-tests/encoding/textdecoder-ignorebom.any.worker-expected.txt: Added.
* web-platform-tests/encoding/textdecoder-ignorebom.any.worker.html: Added.
* web-platform-tests/encoding/textdecoder-labels.any-expected.txt: Added.
* web-platform-tests/encoding/textdecoder-labels.any.html: Added.
* web-platform-tests/encoding/textdecoder-labels.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/encoding/textdecoder-labels.html.
(encodings_table.forEach):
* web-platform-tests/encoding/textdecoder-labels.any.worker-expected.txt: Added.
* web-platform-tests/encoding/textdecoder-labels.any.worker.html: Added.
* web-platform-tests/encoding/textdecoder-streaming.any-expected.txt: Added.
* web-platform-tests/encoding/textdecoder-streaming.any.html: Added.
* web-platform-tests/encoding/textdecoder-streaming.any.js: Added.
(string_appeared_here.forEach.):
(string_appeared_here.forEach):
* web-platform-tests/encoding/textdecoder-streaming.any.worker-expected.txt: Added.
* web-platform-tests/encoding/textdecoder-streaming.any.worker.html: Added.
* web-platform-tests/encoding/textdecoder-streaming.html: Removed.
* web-platform-tests/encoding/textdecoder-utf16-surrogates.any-expected.txt: Added.
* web-platform-tests/encoding/textdecoder-utf16-surrogates.any.html: Added.
* web-platform-tests/encoding/textdecoder-utf16-surrogates.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/encoding/textdecoder-utf16-surrogates.html.
(bad.forEach):
* web-platform-tests/encoding/textdecoder-utf16-surrogates.any.worker-expected.txt: Added.
* web-platform-tests/encoding/textdecoder-utf16-surrogates.any.worker.html: Added.
* web-platform-tests/encoding/textencoder-constructor-non-utf.any-expected.txt: Added.
* web-platform-tests/encoding/textencoder-constructor-non-utf.any.html: Added.
* web-platform-tests/encoding/textencoder-constructor-non-utf.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/encoding/textencoder-constructor-non-utf.html.
(encodings_table.forEach):
* web-platform-tests/encoding/textencoder-constructor-non-utf.any.worker-expected.txt: Added.
* web-platform-tests/encoding/textencoder-constructor-non-utf.any.worker.html: Added.
* web-platform-tests/encoding/textencoder-utf16-surrogates.any-expected.txt: Added.
* web-platform-tests/encoding/textencoder-utf16-surrogates.any.html: Added.
* web-platform-tests/encoding/textencoder-utf16-surrogates.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/encoding/textencoder-utf16-surrogates.html.
(test):
* web-platform-tests/encoding/textencoder-utf16-surrogates.any.worker-expected.txt: Added.
* web-platform-tests/encoding/textencoder-utf16-surrogates.any.worker.html: Added.
* web-platform-tests/encoding/utf-32-expected.txt:
* web-platform-tests/encoding/utf-32-from-win1252-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/encoding/utf-32-expected.txt.
* web-platform-tests/encoding/utf-32-from-win1252.html: Added.
* web-platform-tests/encoding/utf-32.html:
* web-platform-tests/encoding/w3c-import.log:

LayoutTests:

* platform/gtk/imported/w3c/web-platform-tests/encoding/textdecoder-fatal-single-byte.any-expected.txt: Added.
* platform/gtk/imported/w3c/web-platform-tests/encoding/textdecoder-fatal-single-byte.any.worker-expected.txt: Added.
* platform/wpe/imported/w3c/web-platform-tests/encoding/textdecoder-fatal-single-byte.any-expected.txt: Added.
* platform/wpe/imported/w3c/web-platform-tests/encoding/textdecoder-fatal-single-byte.any.worker-expected.txt: Added.

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

5 months ago[ews] add SetBuildSummary step for Windows EWS
aakash_jain@apple.com [Mon, 17 Feb 2020 15:09:42 +0000 (15:09 +0000)]
[ews] add SetBuildSummary step for Windows EWS
https://bugs.webkit.org/show_bug.cgi?id=207556

Reviewed by Jonathan Bedard.

* BuildSlaveSupport/ews-build/factories.py:
(WindowsFactory.__init__):
(GTKBuildAndTestFactory.__init__):
* BuildSlaveSupport/ews-build/factories_unittest.py:
(TestBuildAndTestsFactory.test_windows_factory): Added unit-test.

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

5 months ago[Curl] Use shared single thread for WebSocket connections
commit-queue@webkit.org [Mon, 17 Feb 2020 12:07:08 +0000 (12:07 +0000)]
[Curl] Use shared single thread for WebSocket connections
https://bugs.webkit.org/show_bug.cgi?id=187984

Patch by Takashi Komori <Takashi.Komori@sony.com> on 2020-02-17
Reviewed by Fujii Hironori.

This patch suppresses invoking worker threads for websocket connections.
CurlStreamScheduler starts up to one worker thread.

No new tests. Covered by existing WebSocket tests.

* platform/Curl.cmake:
* platform/network/curl/CurlContext.cpp:
(WebCore::CurlContext::streamScheduler):
(WebCore::CurlHandle::getActiveSocket):
(WebCore::CurlHandle::send):
(WebCore::CurlHandle::receive):
(WebCore::CurlSocketHandle::CurlSocketHandle): Deleted.
(WebCore::CurlSocketHandle::connect): Deleted.
(WebCore::CurlSocketHandle::send): Deleted.
(WebCore::CurlSocketHandle::receive): Deleted.
(WebCore::CurlSocketHandle::wait): Deleted.
* platform/network/curl/CurlContext.h:
* platform/network/curl/CurlStream.cpp: Added.
(WebCore::CurlStream::CurlStream):
(WebCore::CurlStream::~CurlStream):
(WebCore::CurlStream::destroyHandle):
(WebCore::CurlStream::send):
(WebCore::CurlStream::appendMonitoringFd):
(WebCore::CurlStream::tryToTransfer):
(WebCore::CurlStream::tryToReceive):
(WebCore::CurlStream::tryToSend):
(WebCore::CurlStream::notifyFailure):
* platform/network/curl/CurlStream.h: Added.
(WebCore::CurlStream::create):
* platform/network/curl/CurlStreamScheduler.cpp: Added.
(WebCore::CurlStreamScheduler::CurlStreamScheduler):
(WebCore::CurlStreamScheduler::~CurlStreamScheduler):
(WebCore::CurlStreamScheduler::createStream):
(WebCore::CurlStreamScheduler::destroyStream):
(WebCore::CurlStreamScheduler::send):
(WebCore::CurlStreamScheduler::callOnWorkerThread):
(WebCore::CurlStreamScheduler::callClientOnMainThread):
(WebCore::CurlStreamScheduler::startThreadIfNeeded):
(WebCore::CurlStreamScheduler::stopThreadIfNoMoreJobRunning):
(WebCore::CurlStreamScheduler::executeTasks):
(WebCore::CurlStreamScheduler::workerThread):
* platform/network/curl/CurlStreamScheduler.h: Added.
* platform/network/curl/SocketStreamHandleImpl.h:
(WebCore::SocketStreamHandleImpl::isStreamInvalidated):
* platform/network/curl/SocketStreamHandleImplCurl.cpp:
(WebCore::SocketStreamHandleImpl::SocketStreamHandleImpl):
(WebCore::SocketStreamHandleImpl::~SocketStreamHandleImpl):
(WebCore::SocketStreamHandleImpl::platformSendInternal):
(WebCore::SocketStreamHandleImpl::platformClose):
(WebCore::SocketStreamHandleImpl::didOpen):
(WebCore::SocketStreamHandleImpl::didSendData):
(WebCore::SocketStreamHandleImpl::didReceiveData):
(WebCore::SocketStreamHandleImpl::didFail):
(WebCore::SocketStreamHandleImpl::destructStream):
(WebCore::SocketStreamHandleImpl::threadEntryPoint): Deleted.
(WebCore::SocketStreamHandleImpl::handleError): Deleted.
(WebCore::SocketStreamHandleImpl::stopThread): Deleted.
(WebCore::SocketStreamHandleImpl::callOnWorkerThread): Deleted.
(WebCore::SocketStreamHandleImpl::executeTasks): Deleted.

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

5 months ago[WPE] Change the QML plugin install path
berto@igalia.com [Mon, 17 Feb 2020 10:54:46 +0000 (10:54 +0000)]
[WPE] Change the QML plugin install path
https://bugs.webkit.org/show_bug.cgi?id=207761

Reviewed by Philippe Normand.

Source/WebKit:

This way there's no need to set QML2_IMPORT_PATH manually.

* PlatformWPE.cmake:

Tools:

* Scripts/run-qt-wpe-minibrowser:
* glib/api_test_runner.py:
(TestRunner._run_test_qt):

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

5 months ago[WPE] Use custom theme style to render buttons
carlosgc@webkit.org [Mon, 17 Feb 2020 10:13:00 +0000 (10:13 +0000)]
[WPE] Use custom theme style to render buttons
https://bugs.webkit.org/show_bug.cgi?id=207471

Reviewed by Adrian Perez de Castro.

This includes push, check and radio buttons.

* platform/wpe/RenderThemeWPE.cpp:
(WebCore::RenderThemeWPE::supportsFocusRing const): Return true for buttons.
(WebCore::RenderThemeWPE::paintMenuList): Move mthe code to Theme and use ThemeWPE::paintButton() +
ThemeWPE::paintFocus().
* platform/wpe/ThemeWPE.cpp:
(WebCore::ThemeWPE::paintFocus): Moved from RenderThemeWPE, adding the offset as a parameter.
(WebCore::ThemeWPE::paint): Remove part parameter from call to paintButton().
(WebCore::ThemeWPE::paintCheckbox):
(WebCore::ThemeWPE::paintRadio):
(WebCore::ThemeWPE::paintButton):
* platform/wpe/ThemeWPE.h:

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

5 months agoSearch cancel button becomes visible when there's a hover effect in CSS
carlosgc@webkit.org [Mon, 17 Feb 2020 09:37:15 +0000 (09:37 +0000)]
Search cancel button becomes visible when there's a hover effect in CSS
https://bugs.webkit.org/show_bug.cgi?id=207328

Reviewed by Adrian Perez de Castro.

Source/WebCore:

Use a custom style resolver for search cancel button element to ensure it's always hidden when the input element
is empty.

Test: fast/forms/search-cancel-button-hover.html

* html/shadow/TextControlInnerElements.cpp:
(WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement): Call setHasCustomStyleResolveCallbacks().
(WebCore::SearchFieldCancelButtonElement::resolveCustomStyle): Set the render style visibility depending on
input current value.
* html/shadow/TextControlInnerElements.h:

LayoutTests:

* fast/forms/search-cancel-button-hover-expected.html: Added.
* fast/forms/search-cancel-button-hover.html: Added.

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

5 months ago[WPE] Use custom theme style to render text fields
carlosgc@webkit.org [Mon, 17 Feb 2020 09:07:52 +0000 (09:07 +0000)]
[WPE] Use custom theme style to render text fields
https://bugs.webkit.org/show_bug.cgi?id=207379

Reviewed by Adrian Perez de Castro.

This includes text entries, text areas and search fields. The search field icons are rendered using an extra
default style sheet for the theme, using Adwaita svg icons in the CSS.

* PlatformWPE.cmake:
* css/themeAdwaita.css: Added.
(input[type="search"]::-webkit-search-results-button,):
(input[type="search"]::-webkit-search-results-button:hover,):
(input[type="search"]::-webkit-search-cancel-button):
(body[dir="rtl"] input[type="search"]::-webkit-search-cancel-button):
(input[type="search"]::-webkit-search-cancel-button:hover):
* platform/wpe/RenderThemeWPE.cpp:
(WebCore::RenderThemeWPE::supportsFocusRing const): Return true for TextFieldPart, TextAreaPart and SearchFieldPart.
(WebCore::RenderThemeWPE::extraDefaultStyleSheet): Return themeAdwaita.css.
(WebCore::RenderThemeWPE::paintTextField):
(WebCore::RenderThemeWPE::paintTextArea):
(WebCore::RenderThemeWPE::paintSearchField):
* platform/wpe/RenderThemeWPE.h:

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

5 months agoUpdated Simplified Chinese translation
carlosgc@webkit.org [Mon, 17 Feb 2020 09:03:25 +0000 (09:03 +0000)]
Updated Simplified Chinese translation
https://bugs.webkit.org/show_bug.cgi?id=207685

Patch by Yuchen Guo <egyc@live.com> on 2020-02-17
Rubber-stamped by Carlos Garcia Campos.

* zh_CN.po:

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

5 months ago[GTK] More debug build timeouts gardening
lmoura@igalia.com [Mon, 17 Feb 2020 04:35:35 +0000 (04:35 +0000)]
[GTK] More debug build timeouts gardening
https://bugs.webkit.org/show_bug.cgi?id=207831

Unreviewed test gardening.

* platform/gtk/TestExpectations:

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

5 months agoRemove class VideoLayerManager since it is not used
peng.liu6@apple.com [Mon, 17 Feb 2020 04:31:24 +0000 (04:31 +0000)]
Remove class VideoLayerManager since it is not used
https://bugs.webkit.org/show_bug.cgi?id=207800

Reviewed by Eric Carlson.

No behavior change.

* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/VideoLayerManager.h: Removed.
* platform/graphics/avfoundation/objc/VideoLayerManagerObjC.h:
* platform/graphics/avfoundation/objc/VideoLayerManagerObjC.mm:
(WebCore::VideoLayerManagerObjC::VideoLayerManagerObjC):

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

5 months agoRemove remaining WTF_EXPORT and WTF_IMPORT by replacing them with WTF_EXPORT_DECLARAT...
Hironori.Fujii@sony.com [Mon, 17 Feb 2020 02:49:45 +0000 (02:49 +0000)]
Remove remaining WTF_EXPORT and WTF_IMPORT by replacing them with WTF_EXPORT_DECLARATION and WTF_IMPORT_DECLARATION
https://bugs.webkit.org/show_bug.cgi?id=207746

Reviewed by Don Olmstead.

Source/JavaScriptCore:

* runtime/JSExportMacros.h:

Source/WebCore:

* platform/PlatformExportMacros.h:

Source/WebCore/PAL:

Removed unused PAL_TESTSUPPORT_EXPORT.

* pal/ExportMacros.h:

Source/WebKit:

* WebProcess/win/WebProcessWin.cpp:
(loadResourceIntoBuffer): Removed WTF_EXPORT. loadResourceIntoBuffer is used from WebCore which is in same DLL.

Source/WTF:

I removed WTF_EXPORT from function declarations in r256420 (Bug 207453).
WTF_EXPORT is still used mostly in *ExportMacros.h. However, there is no
difference between WTF_EXPORT and WTF_EXPORT_DECLARATION.

Removed WTF_EXPORT and WTF_IMPORT by replacing them with
WTF_EXPORT_DECLARATION and WTF_IMPORT_DECLARATION

Removed unused WTF_HIDDEN.

Defined WTF_EXPORT_DECLARATION, WTF_IMPORT_DECLARATION and WTF_HIDDEN_DECLARATION empty
in case of !USE(EXPORT_MACROS) to simplify *ExportMacros.h.

* wtf/ExportMacros.h:

Tools:

* MiniBrowser/win/stdafx.h:

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

5 months agoLog WebSocket failure in case of network crash
youenn@apple.com [Mon, 17 Feb 2020 02:11:42 +0000 (02:11 +0000)]
Log WebSocket failure in case of network crash
https://bugs.webkit.org/show_bug.cgi?id=207801

Reviewed by Darin Adler.

Covered by http/tests/websocket/tests/hybi/network-process-crash-error.html.

* WebProcess/Network/WebSocketChannel.cpp:
(WebKit::WebSocketChannel::didReceiveMessageError):
(WebKit::WebSocketChannel::networkProcessCrashed):
Add a console log message in case of error coming from network process.

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

5 months agoRemove nonArgGPR1 for ARMv7 and ARM64 (unused)
commit-queue@webkit.org [Mon, 17 Feb 2020 02:06:19 +0000 (02:06 +0000)]
Remove nonArgGPR1 for ARMv7 and ARM64 (unused)
https://bugs.webkit.org/show_bug.cgi?id=207753

Patch by Paulo Matos <pmatos@igalia.com> on 2020-02-16
Reviewed by Darin Adler.

Cleanup commit - nonArgGPR1 is unused for both ARMv7
and ARM64.

* jit/GPRInfo.h:

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

5 months ago[ Mac wk2 ] fast/events/keydown-1.html is flaky failing
ap@apple.com [Mon, 17 Feb 2020 01:54:27 +0000 (01:54 +0000)]
[ Mac wk2 ] fast/events/keydown-1.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=154297
https://bugs.webkit.org/show_bug.cgi?id=207785
<rdar://problem/59469424>

Reviewed by Wenson Hsieh.

* fast/events/keydown-1.html: Attempt to deflake by using onload instead of a 200 ms timer.

* platform/mac-wk1/TestExpectations: Removed flaky expectation.

* platform/mac-wk2/TestExpectations: Removed flaky expectation. Also corrected a
conflict that was landed in r256656 today.

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

5 months agoImplement EventTarget constructor
shvaikalesh@gmail.com [Mon, 17 Feb 2020 01:41:27 +0000 (01:41 +0000)]
Implement EventTarget constructor
https://bugs.webkit.org/show_bug.cgi?id=174313

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

* web-platform-tests/WebIDL/ecmascript-binding/constructors-expected.txt:
* web-platform-tests/dom/events/Event-subclasses-constructors-expected.txt:
* web-platform-tests/dom/events/EventTarget-constructible.any-expected.txt:
* web-platform-tests/dom/events/EventTarget-constructible.any.worker-expected.txt:
* web-platform-tests/dom/events/event-global-extra.window-expected.txt:
* web-platform-tests/dom/idlharness.any.worker-expected.txt:
* web-platform-tests/dom/idlharness.window-expected.txt:

Source/WebCore:

Currently, EventTarget can't be directly constructed or be subclassed in JavaScript.
The spec for EventTarget was updated (https://github.com/whatwg/dom/pull/467) to allow
constructing and subclassing EventTarget. This feature was shipped in Chrome 64 and Firefox 59.

This patch introduces EventTargetConcrete class, a user-constructable version of EventTarget,
exposed as "EventTarget" to JavaScript. We don't use EventTarget directly because it is an abstract
class and making it non-abstract is unfavorable due to size increase of EventTarget and all of its
subclasses with code that is mostly unnecessary for them, resulting in a performance decrease.

To prevent definition of specific to EventTargetConcrete `toJS` and `toJSNewlyCreated` functions,
we don't define EventTargetConcrete interface type, but rather tweak make_event_factory.pl to
default to base interface (like it does for Event).

To allow subclassing of all DOM constructors, non-custom ones replace structures of newly created
wrapper objects with ones returned by InternalFunction::createSubclassStructure. Per WebIDL spec [1],
`setSubclassStructureIfNeeded` helper uses realm of `newTarget` for default prototypes.

This approach was chosen because a) detecting [[Construct]] with callFrame->newTarget() is
unreliable outside constructor, and b) passing `newTarget` down to `createWrapper` via
`toJSNewlyCreated` is quite awkward and would result in massive code change.

[1] https://heycam.github.io/webidl/#internally-create-a-new-object-implementing-the-interface
(step 3.3.2)

Tests: fast/dom/dom-constructors.html
       imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/constructors.html
       imported/w3c/web-platform-tests/dom/events/Event-subclasses-constructors.html
       imported/w3c/web-platform-tests/dom/events/EventTarget-constructible.any.html
       imported/w3c/web-platform-tests/dom/idlharness.window.html

* Headers.cmake:
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDOMWrapperCache.h:
(WebCore::setSubclassStructureIfNeeded):
* bindings/js/JSEventTargetCustom.cpp:
(WebCore::toJSNewlyCreated):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateConstructorDefinition):
* bindings/scripts/InFilesCompiler.pm:
(generateInterfacesHeader):
* bindings/scripts/test/JS/*: Adjust bindings expectations.
* dom/EventTarget.cpp:
(WebCore::EventTarget::create):
* dom/EventTarget.h:
* dom/EventTarget.idl:
* dom/EventTargetConcrete.cpp: Added.
* dom/EventTargetConcrete.h: Added.
* dom/make_event_factory.pl:
(generateImplementation):

LayoutTests:

* fast/dom/dom-constructors-expected.txt:
* fast/dom/dom-constructors.html:
* platform/ios/imported/w3c/web-platform-tests/dom/events/Event-subclasses-constructors-expected.txt: Removed.

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

5 months agoExpose "allowsContentJavaScript" on WKWebpagePreferences
beidson@apple.com [Mon, 17 Feb 2020 01:35:18 +0000 (01:35 +0000)]
Expose "allowsContentJavaScript" on WKWebpagePreferences
<rdar://problem/51534967> and https://bugs.webkit.org/show_bug.cgi?id=207427

Reviewed by Darin Adler.

Source/WebCore:

Covered by new API tests.

* dom/Document.cpp:
(WebCore::Document::allowsContentJavaScript const):
* dom/Document.h:

* dom/ScriptableDocumentParser.cpp:
(WebCore::ScriptableDocumentParser::ScriptableDocumentParser):

* loader/FrameLoaderClient.h:
* loader/FrameLoaderTypes.h:

* page/Settings.yaml:

* xml/XMLHttpRequest.cpp: Make sure the context document is set BEFORE we parse the document contents.

Source/WebKit:

This utiizes the pre-existing WebCore::Settings::setScriptMarkupEnabled() mechanism.

This also deprecates the global "disable JavaScript" WKPreference as it doesn't make much sense anymore.

* Shared/WebsitePoliciesData.cpp:
(WebKit::WebsitePoliciesData::encode const):
(WebKit::WebsitePoliciesData::decode):
* Shared/WebsitePoliciesData.h:

* UIProcess/API/APIWebsitePolicies.cpp:
(API::WebsitePolicies::data):
* UIProcess/API/APIWebsitePolicies.h:

* UIProcess/API/Cocoa/WKPreferences.h:
* UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences encodeWithCoder:]):
(-[WKPreferences initWithCoder:]):
(-[WKPreferences javaScriptEnabled]):
(-[WKPreferences setJavaScriptEnabled:]):

* UIProcess/API/Cocoa/WKWebpagePreferences.h:
* UIProcess/API/Cocoa/WKWebpagePreferences.mm:
(-[WKWebpagePreferences setAllowsContentJavaScript:]):
(-[WKWebpagePreferences allowsContentJavaScript]):

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::allowsContentJavaScriptFromMostRecentNavigation const):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::didReceivePolicyDecision):

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updateWebsitePolicies):
(WebKit::WebPage::createDocumentLoader):
* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::allowsContentJavaScriptFromMostRecentNavigation const):
(WebKit::WebPage::setAllowsContentJavaScriptFromMostRecentNavigation):

Tools:

* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(-[WebsitePoliciesNavigationDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
(TEST):
(-[WebsitePoliciesNavigationDelegate _webView:decidePolicyForNavigationAction:preferences:userInfo:decisionHandler:]): Deleted.
* TestWebKitAPI/cocoa/TestNavigationDelegate.h:
* TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
(-[TestNavigationDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
(-[TestNavigationDelegate waitForDidFinishNavigationWithPreferences:]):
(-[WKWebView _test_waitForDidFinishNavigationWithPreferences:]):
(-[TestNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[WKWebView synchronouslyLoadHTMLString:preferences:]):

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

5 months agoAdd a layout test for <rdar://problem/59090510>
wenson_hsieh@apple.com [Sun, 16 Feb 2020 21:47:54 +0000 (21:47 +0000)]
Add a layout test for <rdar://problem/59090510>
https://bugs.webkit.org/show_bug.cgi?id=207824

Reviewed by Anders Carlsson.

Add a layout test to verify that tapping near the caret rect in a focused input field still dispatches a click
event and brings up the keyboard.

* fast/events/ios/click-in-autofocused-input-when-tapping-near-caret-expected.txt: Added.
* fast/events/ios/click-in-autofocused-input-when-tapping-near-caret.html: Added.

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

5 months agoFix a typo and some merge conflict markers that
dino@apple.com [Sun, 16 Feb 2020 20:58:46 +0000 (20:58 +0000)]
Fix a typo and some merge conflict markers that
were checked in a few days ago.

* platform/mac-wk2/TestExpectations:

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

5 months ago[LFC] Enable LFC regression testing on fast/block/block-only
zalan@apple.com [Sun, 16 Feb 2020 15:43:08 +0000 (15:43 +0000)]
[LFC] Enable LFC regression testing on fast/block/block-only
https://bugs.webkit.org/show_bug.cgi?id=207825
<rdar://problem/59491089>

Reviewed by Antti Koivisto.

This helps to catch full LFC regressions while working on the integration part.

* fast/block/block-only/abs-pos-with-border-padding-and-float-child-expected.html:
* fast/block/block-only/abs-pos-with-border-padding-and-float-child.html:
* fast/block/block-only/absolute-auto-with-sibling-margin-bottom.html:
* fast/block/block-only/absolute-height-stretch.html:
* fast/block/block-only/absolute-left-auto.html:
* fast/block/block-only/absolute-left-right-top-bottom-auto.html:
* fast/block/block-only/absolute-nested.html:
* fast/block/block-only/absolute-nested2.html:
* fast/block/block-only/absolute-position-left-right-margin.html:
* fast/block/block-only/absolute-position-min-max-height.html:
* fast/block/block-only/absolute-position-min-max-width.html:
* fast/block/block-only/absolute-position-when-containing-block-is-not-in-the-formatting-context.html:
* fast/block/block-only/absolute-position-when-containing-block-is-not-in-the-formatting-context2.html:
* fast/block/block-only/absolute-position-with-margin-auto-simple-expected.html:
* fast/block/block-only/absolute-position-with-margin-auto-simple.html:
* fast/block/block-only/absolute-position-with-margin-auto-simple2-expected.html:
* fast/block/block-only/absolute-position-with-margin-auto-simple2.html:
* fast/block/block-only/absolute-positioned-min-max-percentage-with-parent-padding-expected.html:
* fast/block/block-only/absolute-positioned-min-max-percentage-with-parent-padding.html:
* fast/block/block-only/absolute-simple.html:
* fast/block/block-only/absolute-width-shrink-to-fit.html:
* fast/block/block-only/absolute-width-stretch.html:
* fast/block/block-only/absolute-with-static-block-position-nested.html:
* fast/block/block-only/almost-intruding-left-float-simple.html:
* fast/block/block-only/block-replaced-with-vertical-margins-expected.html:
* fast/block/block-only/block-replaced-with-vertical-margins.html:
* fast/block/block-only/body-height-with-auto-html-height-quirk.html:
* fast/block/block-only/body-height-with-auto-html-height-quirk2.html:
* fast/block/block-only/body-height-with-non-auto-html-height-quirk.html:
* fast/block/block-only/body-height-with-non-auto-html-height-quirk2.html:
* fast/block/block-only/border-simple.html:
* fast/block/block-only/box-sizing-inflow-out-of-flow-simple.html:
* fast/block/block-only/collapsed-margin-with-min-height.html:
* fast/block/block-only/collapsed-through-siblings.html:
* fast/block/block-only/collapsed-through-with-parent.html:
* fast/block/block-only/fixed-nested.html:
* fast/block/block-only/float-and-siblings-with-margins.html:
* fast/block/block-only/float-avoider-multiple-roots.html:
* fast/block/block-only/float-avoider-simple-left.html:
* fast/block/block-only/float-avoider-simple-right.html:
* fast/block/block-only/float-avoider-with-margins.html:
* fast/block/block-only/float-left-when-container-has-padding-margin.html:
* fast/block/block-only/float-min-max-height.html:
* fast/block/block-only/float-min-max-width.html:
* fast/block/block-only/floating-and-next-previous-inflow-with-margin-with-no-border.html:
* fast/block/block-only/floating-and-next-previous-inflow-with-margin.html:
* fast/block/block-only/floating-box-clear-both-simple.html:
* fast/block/block-only/floating-box-clear-right-simple.html:
* fast/block/block-only/floating-box-left-and-right-multiple-with-top-offset.html:
* fast/block/block-only/floating-box-left-and-right-multiple.html:
* fast/block/block-only/floating-box-right-simple.html:
* fast/block/block-only/floating-box-with-clear-siblings.html:
* fast/block/block-only/floating-box-with-clear-simple.html:
* fast/block/block-only/floating-box-with-new-formatting-context.html:
* fast/block/block-only/floating-box-with-relative-positioned-sibling.html:
* fast/block/block-only/floating-left-and-right-with-clearance.html:
* fast/block/block-only/floating-left-right-simple.html:
* fast/block/block-only/floating-left-right-with-all-margins.html:
* fast/block/block-only/floating-lefts-and-rights-simple.html:
* fast/block/block-only/floating-multiple-lefts-in-body.html:
* fast/block/block-only/floating-multiple-lefts-multiple-lines.html:
* fast/block/block-only/floating-multiple-lefts.html:
* fast/block/block-only/floating-with-new-block-formatting-context.html:
* fast/block/block-only/floats-and-block-formatting-roots-expected.html:
* fast/block/block-only/floats-and-block-formatting-roots.html:
* fast/block/block-only/inflow-min-max-height.html:
* fast/block/block-only/inflow-min-max-width.html:
* fast/block/block-only/margin-collapse-bottom-bottom.html:
* fast/block/block-only/margin-collapse-bottom-nested.html:
* fast/block/block-only/margin-collapse-first-last-are-floating.html:
* fast/block/block-only/margin-collapse-simple.html:
* fast/block/block-only/margin-collapse-top-nested.html:
* fast/block/block-only/margin-collapse-when-child-has-padding-border.html:
* fast/block/block-only/margin-collapse-with-block-formatting-context.html:
* fast/block/block-only/margin-collapse-with-block-formatting-context2.html:
* fast/block/block-only/margin-collapse-with-clearance.html:
* fast/block/block-only/margin-left-right-sizing-out-of-flow.html:
* fast/block/block-only/margin-left-right-sizing.html:
* fast/block/block-only/margin-propagation-simple-content-height.html:
* fast/block/block-only/margin-sibling-collapse-propagated.html:
* fast/block/block-only/margin-simple.html:
* fast/block/block-only/min-max-and-preferred-width-simple-expected.html:
* fast/block/block-only/min-max-and-preferred-width-simple.html:
* fast/block/block-only/min-max-height-percentage.html:
* fast/block/block-only/negative-margin-simple.html:
* fast/block/block-only/non-auto-top-bottom-height-with-auto-margins.html:
* fast/block/block-only/non-auto-top-bottom-height-with-margins.html:
* fast/block/block-only/non-auto-top-bottom-left-right-widht-height-out-of-flow.html:
* fast/block/block-only/out-of-flow-is-never-float-box-expected.html:
* fast/block/block-only/out-of-flow-is-never-float-box.html:
* fast/block/block-only/out-of-flow-with-containing-block-border-padding.html:
* fast/block/block-only/padding-nested.html:
* fast/block/block-only/padding-simple.html:
* fast/block/block-only/relative-auto-with-parent-offset.html:
* fast/block/block-only/relative-auto.html:
* fast/block/block-only/relative-bottom.html:
* fast/block/block-only/relative-position-when-containing-block-is-not-in-the-formatting-context.html:
* fast/block/block-only/relative-right.html:
* fast/block/block-only/relative-siblings.html:
* fast/block/block-only/relative-simple.html:
* fast/block/block-only/replaced-intrinsic-width-simple-expected.html:
* fast/block/block-only/replaced-intrinsic-width-simple.html:

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

5 months ago[LFC][Float] Simplify BlockFormattingContext::usedAvailableWidthForFloatAvoider
zalan@apple.com [Sun, 16 Feb 2020 15:38:38 +0000 (15:38 +0000)]
[LFC][Float] Simplify BlockFormattingContext::usedAvailableWidthForFloatAvoider
https://bugs.webkit.org/show_bug.cgi?id=207823
<rdar://problem/59490669>

Reviewed by Antti Koivisto.

The containing block of this float avoider is either a non-avoider or a formatting context root avoider,
so we don't have to map the left position (and now LFC passes fast/block/block-only again).

* layout/FormattingContext.cpp:
(WebCore::Layout::mapHorizontalPositionToAncestor): Deleted.
(WebCore::Layout::FormattingContext::mapTopToFormattingContextRoot const): Deleted.
(WebCore::Layout::FormattingContext::mapLeftToFormattingContextRoot const): Deleted.
(WebCore::Layout::FormattingContext::mapRightToFormattingContextRoot const): Deleted.
* layout/FormattingContext.h:
* layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::usedAvailableWidthForFloatAvoider):
(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin):

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

5 months ago[LFC][BFC] Formatting context roots position their own relative children
zalan@apple.com [Sun, 16 Feb 2020 15:23:56 +0000 (15:23 +0000)]
[LFC][BFC] Formatting context roots position their own relative children
https://bugs.webkit.org/show_bug.cgi?id=207822
<rdar://problem/59490353>

Reviewed by Antti Koivisto.

Since FCs are responsible for positioning their relative positioned children, we
don't have to do it as part of the final positioning.

* layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):
(WebCore::Layout::BlockFormattingContext::placeInFlowPositionedChildren):
* layout/blockformatting/BlockFormattingContext.h:

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

5 months ago[LFC] A box establishing an independent formatting context is not a float avoider
zalan@apple.com [Sun, 16 Feb 2020 15:18:57 +0000 (15:18 +0000)]
[LFC] A box establishing an independent formatting context is not a float avoider
https://bugs.webkit.org/show_bug.cgi?id=207820
<rdar://problem/59490056>

Reviewed by Antti Koivisto.

Since the independent formatting context does not inherit the parent's floating context,
the box's content essentially ignores the floats and the box itself does not avoid them either
(aka its position is independent of the floats in the same context).

* layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::isFloatAvoider const):

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

5 months ago[LFC][Floats] FloatingContext::positionForFloat needs the horizontal constrains
zalan@apple.com [Sun, 16 Feb 2020 15:14:58 +0000 (15:14 +0000)]
[LFC][Floats] FloatingContext::positionForFloat needs the horizontal constrains
https://bugs.webkit.org/show_bug.cgi?id=207818
<rdar://problem/59489777>

Reviewed by Antti Koivisto.

We need to access the containing block's geometry (horizontal constraints) to align a floating positioned
box in an empty floating context.

* layout/floats/FloatingContext.cpp:
(WebCore::Layout::FloatingContext::positionForFloat const):

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

5 months ago[LFC][BFC] Fix horizontal/verticalConstraintsForAncestor in BlockFormattingContext...
zalan@apple.com [Sun, 16 Feb 2020 15:09:50 +0000 (15:09 +0000)]
[LFC][BFC] Fix horizontal/verticalConstraintsForAncestor in BlockFormattingContext::precomputeVerticalPositionForAncestors
https://bugs.webkit.org/show_bug.cgi?id=207817
<rdar://problem/59489735>

Reviewed by Antti Koivisto.

horizontalConstraintsForAncestor/verticalConstraintsForAncestor should return the constraints (containing block's content box width etc)
of the ancestor.

* layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::precomputeVerticalPositionForAncestors):

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

5 months ago[GStreamer] Build failure with Clang/libc++ due to missing WallTime→float for std...
aperez@igalia.com [Sat, 15 Feb 2020 22:20:32 +0000 (22:20 +0000)]
[GStreamer] Build failure with Clang/libc++ due to missing WallTime→float for std::isnan()
https://bugs.webkit.org/show_bug.cgi?id=207757

Unreviewed build fix.

No new tests needed.

* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(CachedResourceStreamingClient::dataReceived): Add std:: namespace to overloaded
std::isnan() function call to ensure that the overloaded version for WTF::WallTime
is used.

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

5 months agoUnreviewed build fix for non-unified builds.
aperez@igalia.com [Sat, 15 Feb 2020 22:02:38 +0000 (22:02 +0000)]
Unreviewed build fix for non-unified builds.

No new tests needed.

* animation/AnimationEventBase.cpp: Add missing include.
* animation/DeclarativeAnimation.cpp: Ditto.

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

5 months ago[LFC][BFC] ConstraintsPair is only needed for the pre-computed vertical position
zalan@apple.com [Sat, 15 Feb 2020 22:01:23 +0000 (22:01 +0000)]
[LFC][BFC] ConstraintsPair is only needed for the pre-computed vertical position
https://bugs.webkit.org/show_bug.cgi?id=207814
<rdar://problem/59485612>

Reviewed by Antti Koivisto.

After r256099 (Pre-compute vertical position only when we really need it), ConstraintsPair<> is only
needed in few functions.

* layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):
(WebCore::Layout::BlockFormattingContext::placeInFlowPositionedChildren):
(WebCore::Layout::BlockFormattingContext::computeStaticVerticalPosition):
(WebCore::Layout::BlockFormattingContext::computeStaticHorizontalPosition):
(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin):
* layout/blockformatting/BlockFormattingContext.h:

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

5 months ago[Geoclue] Avoid usage of provider in callbacks after it has been destroyed
aperez@igalia.com [Sat, 15 Feb 2020 21:24:33 +0000 (21:24 +0000)]
[Geoclue] Avoid usage of provider in callbacks after it has been destroyed
https://bugs.webkit.org/show_bug.cgi?id=207420

GeoclueGeolocationProvider was making non-cancelable g_dbus_proxy_call(s) with
bare |this| pointer.

Patch by Pavel Feldman <pavel.feldman@gmail.com> on 2020-02-15
Reviewed by Carlos Garcia Campos.

* UIProcess/geoclue/GeoclueGeolocationProvider.cpp:
(WebKit::GeoclueGeolocationProvider::start):
(WebKit::GeoclueGeolocationProvider::stop):
(WebKit::GeoclueGeolocationProvider::setupManager):
(WebKit::GeoclueGeolocationProvider::createClient):
(WebKit::GeoclueGeolocationProvider::startClient):
(WebKit::GeoclueGeolocationProvider::didFail):
* UIProcess/geoclue/GeoclueGeolocationProvider.h:

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

5 months ago[LFC] Introduce OutOfFlowHorizontalConstraints
zalan@apple.com [Sat, 15 Feb 2020 15:17:40 +0000 (15:17 +0000)]
[LFC] Introduce OutOfFlowHorizontalConstraints
https://bugs.webkit.org/show_bug.cgi?id=207805
<rdar://problem/59482286>

Reviewed by Antti Koivisto.

Borders and paddings are resolved against the containing block's content box as if the box was an in-flow box.

* layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::layoutOutOfFlowContent):
* layout/FormattingContext.h:
* layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::horizontalConstraintsForOutOfFlow):
* layout/LayoutContext.cpp:
(WebCore::Layout::LayoutContext::layoutFormattingContextSubtree):
* layout/LayoutUnits.h:
* layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):
* layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):

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

5 months ago[LFC][IFC] Anonymous inline boxes/line break boxes do not generate Display::Boxes
zalan@apple.com [Sat, 15 Feb 2020 14:15:00 +0000 (14:15 +0000)]
[LFC][IFC] Anonymous inline boxes/line break boxes do not generate Display::Boxes
https://bugs.webkit.org/show_bug.cgi?id=207802
<rdar://problem/59480138>

Reviewed by Antti Koivisto.

1. Painting should not expect a Display::Box per Layout::Box.
2. Do not generate empty Display::Boxes for anonymous inline text boxes/line breaks.

* layout/FormattingState.cpp:
(WebCore::Layout::FormattingState::displayBox):
* layout/displaytree/DisplayPainter.cpp:
(WebCore::Display::paintSubtree):
(WebCore::Display::collectPaintRootsAndContentRect):
* layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):

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

5 months agoUnreviewed, rolling out r256633.
commit-queue@webkit.org [Sat, 15 Feb 2020 06:54:35 +0000 (06:54 +0000)]
Unreviewed, rolling out r256633.
https://bugs.webkit.org/show_bug.cgi?id=207807

4% memory regression in new Membuster, possibly some leaking
in WebKit Malloc? (Requested by yusukesuzuki on #webkit).

Reverted changeset:

"[Win] Implement NetworkCache::Data by using
FileSystem::MappedFileData"
https://bugs.webkit.org/show_bug.cgi?id=197684
https://trac.webkit.org/changeset/256633

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

5 months ago[GTK] Layout test imported/w3c/web-platform-tests/html/semantics/embedded-content...
lmoura@igalia.com [Sat, 15 Feb 2020 04:25:05 +0000 (04:25 +0000)]
[GTK] Layout test imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/event_timeupdate_noautoplay.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=160129

Last timeout was in r251772 and before that in r217571. Updating
expectation to reflect the new flaky crash affecting media tests
tracked in bug198830.

Unreviewed test gardening.

* platform/gtk/TestExpectations:

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

5 months agoUnreviewed: fix broken tests added in r256665
tzagallo@apple.com [Sat, 15 Feb 2020 03:19:11 +0000 (03:19 +0000)]
Unreviewed: fix broken tests added in r256665
https://bugs.webkit.org/show_bug.cgi?id=207727

Our inline WAT doesn't seem to like named blocks/branch targets.

* wasm/regress/llint-callee-saves-with-fast-memory.js:
* wasm/regress/llint-callee-saves-without-fast-memory.js:

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

5 months agoMask WebGL strings
jonlee@apple.com [Sat, 15 Feb 2020 03:19:00 +0000 (03:19 +0000)]
Mask WebGL strings
https://bugs.webkit.org/show_bug.cgi?id=207608

Reviewed by Dean Jackson.

Source/WebCore:

Test: platform/mac/webgl/fingerprinting-strings.html

Add new experimental feature to mask WebGL vendor, renderer, and shading language strings.

* html/canvas/WebGL2RenderingContext.cpp: Whitespace cleanup also.
(WebCore::WebGL2RenderingContext::getParameter): Check against the runtime feature to return the
old string.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getParameter): Ditto.
* page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setMaskWebGLStringsEnabled):
(WebCore::RuntimeEnabledFeatures::maskWebGLStringsEnabled const):

Source/WebKit:

Test: platform/mac/webgl/fingerprinting-strings.html

* Shared/WebPreferences.yaml: Add new experimental feature.

Source/WebKitLegacy/mac:

Test: platform/mac/webgl/fingerprinting-strings.html

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:

LayoutTests:

* platform/mac/webgl/fingerprinting-strings-expected.txt: Added.
* platform/mac/webgl/fingerprinting-strings.html: Added.

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

5 months ago[WASM] Wasm interpreter's calling convention doesn't match Wasm JIT's convention.
tzagallo@apple.com [Sat, 15 Feb 2020 02:57:49 +0000 (02:57 +0000)]
[WASM] Wasm interpreter's calling convention doesn't match Wasm JIT's convention.
https://bugs.webkit.org/show_bug.cgi?id=207727

JSTests:

Reviewed by Mark Lam.

* wasm/regress/llint-callee-saves-with-fast-memory.js: Added.
* wasm/regress/llint-callee-saves-without-fast-memory.js: Added.

Source/JavaScriptCore:

Reviewed by Mark Lam.

The Wasm JIT has unusual calling conventions, which were further complicated by the addition
of the interpreter, and the interpreter did not correctly follow these conventions (by incorrectly
saving and restoring the callee save registers used for the memory base and size). Here's a summary
of the calling convention:

- When entering Wasm from JS, the wrapper must:
    - Preserve the base and size when entering LLInt regardless of the mode. (Prior to this
      patch we only preserved the base in Signaling mode)
    - Preserve the memory base in either mode, and the size for BoundsChecking.
- Both tiers must preserve every *other* register they use. e.g. the LLInt must preserve PB
  and wasmInstance, but must *not* preserve memoryBase and memorySize.
- Changes to memoryBase and memorySize are visible to the caller. This means that:
    - Intra-module calls can assume these registers are up-to-date even if the memory was
      resized. The only exception here is if the LLInt calls a signaling JIT, in which case
      the JIT will not update the size register, since it won't be using it.
    - Inter-module and JS calls require the caller to reload these registers. These calls may
      result in memory changes (e.g. the callee may call memory.grow).
    - A Signaling JIT caller must be aware that the LLInt may trash the size register, since
      it always bounds checks.

* llint/WebAssembly.asm:
* wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::addCall):
* wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::addCall):
* wasm/WasmCallee.cpp:
(JSC::Wasm::LLIntCallee::calleeSaveRegisters):
* wasm/WasmCallingConvention.h:
* wasm/WasmLLIntPlan.cpp:
(JSC::Wasm::LLIntPlan::didCompleteCompilation):
* wasm/WasmMemoryInformation.cpp:
(JSC::Wasm::PinnedRegisterInfo::get):
(JSC::Wasm::getPinnedRegisters): Deleted.

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

5 months agoSimplify WebProcess handling of unregistering of service workers
youenn@apple.com [Sat, 15 Feb 2020 02:36:11 +0000 (02:36 +0000)]
Simplify WebProcess handling of unregistering of service workers
https://bugs.webkit.org/show_bug.cgi?id=207669

Reviewed by Chris Dumez.

Source/WebCore:

Instead of creating a job in WebProcess, we now create it at SWServer level.
This allows the ServiceWorkerContainer to only provide the service worker registration identifier
to start the unregistering process.
To simplify things, a completion handler is used to resolve the promise once the unregister job run.

This allows to send less information from ServiceWorkerContainer to SWServer through IPC.

No observable change of behavior.

* workers/service/SWClientConnection.cpp:
(WebCore::SWClientConnection::unregistrationJobResolvedInServer): Deleted.
* workers/service/SWClientConnection.h:
* workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::unregisterRegistration):
* workers/service/ServiceWorkerContainer.h:
* workers/service/ServiceWorkerJobData.cpp:
(WebCore::serviceWorkerOrClientIdentifier):
(WebCore::ServiceWorkerJobData::ServiceWorkerJobData):
* workers/service/ServiceWorkerJobData.h:
* workers/service/ServiceWorkerRegistration.cpp:
(WebCore::ServiceWorkerRegistration::unregister):
* workers/service/WorkerSWClientConnection.cpp:
(WebCore::WorkerSWClientConnection::scheduleUnregisterJobInServer):
* workers/service/WorkerSWClientConnection.h:
* workers/service/server/SWServer.cpp:
(WebCore::SWServer::scheduleUnregisterJob):
* workers/service/server/SWServer.h:

Source/WebKit:

Use Async Reply IPC for scheduling an unregister job.

Make WebSWServerConnection own a map of CompletionHandler keyed by unregister job identifiers.
WebSWServerConnection then asks SWServer to schedule the unregister job.
When job is run, WebSWServerConnection will call the corresponding completion handler.
The completion handler will trigger an IPC response that will trigger the unregister promise to be resolved.

* NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::resolveUnregistrationJobInClient):
(WebKit::WebSWServerConnection::scheduleUnregisterJobInServer):
* NetworkProcess/ServiceWorker/WebSWServerConnection.h:
* NetworkProcess/ServiceWorker/WebSWServerConnection.messages.in:
* Scripts/webkit/messages.py:
* WebProcess/Storage/WebSWClientConnection.cpp:
(WebKit::WebSWClientConnection::scheduleUnregisterJobInServer):
* WebProcess/Storage/WebSWClientConnection.h:
* WebProcess/Storage/WebSWClientConnection.messages.in:

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

5 months agoImprove NSURLSession WebSocket message handling in case of error
youenn@apple.com [Sat, 15 Feb 2020 02:15:50 +0000 (02:15 +0000)]
Improve NSURLSession WebSocket message handling in case of error
https://bugs.webkit.org/show_bug.cgi?id=207799

Reviewed by Alex Christensen.

Tested by running layout tests with NSURLSession WebSocket code path enabled..

* NetworkProcess/cocoa/WebSocketTaskCocoa.mm:
(WebKit::WebSocketTask::readNextMessage):
readNextMessage completion handler may be called when the connection is closed or in case of real error.
We discriminate this case by checking closeCode and if not null, we do nothing since the connection is being closed.
Otherwise, we communicate the error to WebProcess and close the connection.
(WebKit::WebSocketTask::sendString):
Add workaround until this gets fixed underneath.
(WebKit::WebSocketTask::sendData):
Add workaround until this gets fixed underneath.

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

5 months ago[WebAuthn] Make Local Authenticator appear as an experimental feature
jiewen_tan@apple.com [Sat, 15 Feb 2020 01:20:38 +0000 (01:20 +0000)]
[WebAuthn] Make Local Authenticator appear as an experimental feature
https://bugs.webkit.org/show_bug.cgi?id=207797
<rdar://problem/59475709>

Reviewed by Brent Fulgham.

* Shared/WebPreferences.yaml:

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

5 months agoDynamically generate media-related mach connections when not using the GPU Process
bfulgham@apple.com [Sat, 15 Feb 2020 01:20:19 +0000 (01:20 +0000)]
Dynamically generate media-related mach connections when not using the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=207743
<rdar://problem/59449750>

Reviewed by Per Arne Vollan.

Stop using permanent sandbox permissions to connect to media-related XPC services. Instead,
create them dynamically in the UIProcess and vend them to the relevant WebContent process
as needed. If all media features are active in the GPU process, do not emit extensions since
they should not be needed in the WebContent process at that point.

Tested by existing media and GPU process tests.

* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: Remove permanet rules in
preference for dynamic extensions.
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const): Serialize new service connections.
(WebKit::WebProcessCreationParameters::decode): Ditto.
* Shared/WebProcessCreationParameters.h:
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::mediaRelatedMachServices): Helper function listing needed services.
(WebKit::WebProcessPool::platformInitializeWebProcess): Create service connections when
needed.
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess): Consume media-related connections
when needed.
* WebProcess/com.apple.WebProcess.sb.in: Remove permanet rules in preference for
dynamic extensions.

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

5 months agonew FontFace() should not throw when failing to parse arguments
commit-queue@webkit.org [Sat, 15 Feb 2020 01:18:49 +0000 (01:18 +0000)]
new FontFace() should not throw when failing to parse arguments
https://bugs.webkit.org/show_bug.cgi?id=205770

Patch by Nikos Mouchtaris <nmouchtaris@apple.com> on 2020-02-14
Reviewed by Myles Maxfield.

Source/WebCore:

Change FontFace constructor to conform to API specification:
https://drafts.csswg.org/css-font-loading/#dom-fontface-fontface.
No longer throws. For parsing failure, now rejects promise, sets
status to error, and sets FontFace members to default string.

Test: http/tests/css/font-face-constructor.html

* css/CSSFontFace.cpp:
(WebCore::CSSFontFace::setErrorState):
* css/CSSFontFace.h:
* css/CSSFontFaceSet.cpp:
(WebCore::CSSFontFaceSet::addToFacesLookupTable):
(WebCore::CSSFontFaceSet::remove):
(WebCore::CSSFontFaceSet::fontFace):
* css/CSSSegmentedFontFace.cpp:
(WebCore::CSSSegmentedFontFace::fontRanges):
* css/FontFace.cpp:
(WebCore::FontFace::setErrorState):
(WebCore::FontFace::create):
(WebCore::FontFace::family const):
(WebCore::FontFace::style const):
(WebCore::FontFace::weight const):
(WebCore::FontFace::stretch const):
(WebCore::FontFace::unicodeRange const):
(WebCore::FontFace::featureSettings const):
(WebCore::FontFace::display const):
(WebCore::FontFace::fontStateChanged):
* css/FontFace.h:
* css/FontFace.idl:

LayoutTests:

Tests that constructor doesn't throw, sets members to corresponding default strings.

* http/tests/css/font-face-constructor-expected.txt: Added.
* http/tests/css/font-face-constructor.html: Added.

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

5 months agoIntroduce MediaStreamPrivate::forEachTrack
youenn@apple.com [Sat, 15 Feb 2020 01:01:05 +0000 (01:01 +0000)]
Introduce MediaStreamPrivate::forEachTrack
https://bugs.webkit.org/show_bug.cgi?id=207773

Reviewed by Eric Carlson.

Source/WebCore:

Introduce forEachTrack to allow read-only iterating through the tracks.
This is more efficient than copying the tracks.
Add a helper routine to select the tracks to record in MediaRecorderPrivate.
No change of behavior.

* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::currentReadyState):
* platform/mediarecorder/MediaRecorderPrivate.cpp: Added.
(WebCore::MediaRecorderPrivate::selectTracks):
* platform/mediarecorder/MediaRecorderPrivate.h:
* platform/mediarecorder/MediaRecorderPrivateAVFImpl.cpp:
(WebCore::MediaRecorderPrivateAVFImpl::create):
* platform/mediastream/MediaStreamPrivate.cpp:
(WebCore::MediaStreamPrivate::forEachTrack const):
* platform/mediastream/MediaStreamPrivate.h:

Source/WebKit:

* WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
(WebKit::MediaRecorderPrivate::MediaRecorderPrivate):
Use helper routine instead of MediaStreamPrviate::streamTracks().

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

5 months agoFix flaky tests that scroll before first paint
commit-queue@webkit.org [Sat, 15 Feb 2020 01:01:04 +0000 (01:01 +0000)]
Fix flaky tests that scroll before first paint
https://bugs.webkit.org/show_bug.cgi?id=207780

After https://bugs.webkit.org/show_bug.cgi?id=207516, a couple of tests are now flaky. This
is because that patch delays first paint until there is enough content to render, and some
of these tests are issuing scroll events on controls before those controls render. To fix
this, we delay issuing the events until after the page loads.

Patch by Ben Nham <nham@apple.com> on 2020-02-14
Reviewed by Simon Fraser.

* fast/events/scroll-in-scaled-page-with-overflow-hidden.html:
* fast/scrolling/scroll-container-horizontally.html:

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

5 months ago[ Mac wk2 ] fast/html/marquee-child-wrap.html is flaky failing.
tsavell@apple.com [Fri, 14 Feb 2020 23:51:30 +0000 (23:51 +0000)]
[ Mac wk2 ] fast/html/marquee-child-wrap.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=207793

Unreviewed test fix.

Increased the scrolldelay on this test to stop the flakiness.

* fast/html/marquee-child-wrap.html:
* platform/mac-wk2/TestExpectations:

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

5 months agoNeed a short description (OOPS!).
lawrence.j@apple.com [Fri, 14 Feb 2020 23:45:57 +0000 (23:45 +0000)]
Need a short description (OOPS!).
Need the bug URL (OOPS!).

Reviewed by NOBODY (OOPS!).

* platform/mac-wk2/TestExpectations:

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

5 months ago[ Mac wk2 Release ] webrtc/connection-state.html is flaky failing.
lawrence.j@apple.com [Fri, 14 Feb 2020 23:45:55 +0000 (23:45 +0000)]
[ Mac wk2 Release ] webrtc/connection-state.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=207798

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

5 months ago[ Mac wk2 Release ] fast/box-shadow/hidpi-box-shadow.html is flaky failing.
lawrence.j@apple.com [Fri, 14 Feb 2020 23:23:37 +0000 (23:23 +0000)]
[ Mac wk2 Release ] fast/box-shadow/hidpi-box-shadow.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=207796

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

5 months agoWeb Inspector: VoiceOver doesn't read selected panel tab
nvasilyev@apple.com [Fri, 14 Feb 2020 23:18:34 +0000 (23:18 +0000)]
Web Inspector: VoiceOver doesn't read selected panel tab
https://bugs.webkit.org/show_bug.cgi?id=207735
<rdar://problem/59445157>

Reviewed by Timothy Hatcher.

* UserInterface/Views/NavigationBar.js:
(WI.NavigationBar):
(WI.NavigationBar.prototype._mouseDown):
(WI.NavigationBar.prototype._mouseUp):
Navigation bar itself shouldn't receive focus - its items should.

* UserInterface/Views/RadioButtonNavigationItem.js:
(WI.RadioButtonNavigationItem):
"tab" was passed as a label by mistake. VoiceOver read every tab as "tab" instead of it's actual label.

(WI.RadioButtonNavigationItem.prototype.set selected):
When clicking on a tab, focus on it so VoiceOver could read it.

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

5 months ago[Curl] Implement NetworkStorageSession::get/set/deleteCookie
commit-queue@webkit.org [Fri, 14 Feb 2020 23:17:39 +0000 (23:17 +0000)]
[Curl] Implement NetworkStorageSession::get/set/deleteCookie
https://bugs.webkit.org/show_bug.cgi?id=207450

Patch by Pavel Feldman <pavel.feldman@gmail.com> on 2020-02-14
Reviewed by Don Olmstead.

* platform/network/curl/CookieJarCurl.cpp:
(WebCore::CookieJarCurl::getAllCookies const):
(WebCore::CookieJarCurl::setCookie const):
(WebCore::CookieJarCurl::deleteCookie const):
* platform/network/curl/CookieJarCurl.h:
* platform/network/curl/CookieJarDB.cpp:
(WebCore::CookieJarDB::getAllCookies):
* platform/network/curl/CookieJarDB.h:
* platform/network/curl/NetworkStorageSessionCurl.cpp:
(WebCore::NetworkStorageSession::NetworkStorageSession):
(WebCore::NetworkStorageSession::setCookie):
(WebCore::NetworkStorageSession::deleteCookie):
(WebCore::NetworkStorageSession::getAllCookies):

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

5 months ago[ Mac wk2 ] fast/html/marquee-child-wrap.html is flaky failing.
lawrence.j@apple.com [Fri, 14 Feb 2020 23:05:10 +0000 (23:05 +0000)]
[ Mac wk2 ] fast/html/marquee-child-wrap.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=207793

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

5 months ago[css-grid] Move grid-gutters-and-alignment test to WPT folder
commit-queue@webkit.org [Fri, 14 Feb 2020 23:02:32 +0000 (23:02 +0000)]
[css-grid] Move grid-gutters-and-alignment test to WPT folder
https://bugs.webkit.org/show_bug.cgi?id=207751

Patch by Rossana Monteriso <rmonteriso@igalia.com> on 2020-02-14
Reviewed by Javier Fernandez.

LayoutTests/imported/w3c:

Add grid-gutters-and-alignment test, checked and adapted to WPT, with its expected.txt file.
Imported to WPT with this PR: https://github.com/web-platform-tests/wpt/pull/21717

* web-platform-tests/css/css-grid/alignment/grid-gutters-and-alignment-expected.txt:
* web-platform-tests/css/css-grid/alignment/grid-gutters-and-alignment.html:

LayoutTests:

Remove grid-gutters-and-alignment test and its expected.txt file. The test is being replaced
by an adapted test in the corresponding WPT test folder.

* fast/css-grid-layout/grid-gutters-and-alignment-expected.txt: Removed.
* fast/css-grid-layout/grid-gutters-and-alignment.html: Removed.

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

5 months agoWebKit support for Apple Pay Buttons with custom corner radii
commit-queue@webkit.org [Fri, 14 Feb 2020 23:01:25 +0000 (23:01 +0000)]
WebKit support for Apple Pay Buttons with custom corner radii
https://bugs.webkit.org/show_bug.cgi?id=207664
Source/WebCore:

<rdar://problem/43718114>

Patch by Nikos Mouchtaris <nmouchtaris@apple.com> on 2020-02-14
Reviewed by Andy Estes.

Added support for border-radius css property for apple pay
button drawing.

Modified old tests to test this new behavior.

* rendering/RenderThemeCocoa.mm:
(WebCore::RenderThemeCocoa::paintApplePayButton):

Source/WebCore/PAL:

<rdar://problem/43718114>

Patch by Nikos Mouchtaris <nmouchtaris@apple.com> on 2020-02-14
Reviewed by Andy Estes.

Added link for PKDrawApplePayButtonWithCornerRadius and
PKApplePayButtonDefaultCornerRadius.

* pal/cocoa/PassKitSoftLink.h:
* pal/cocoa/PassKitSoftLink.mm:
* pal/spi/cocoa/PassKitSPI.h:

LayoutTests:

Patch by Nikos Mouchtaris <nmouchtaris@apple.com> on 2020-02-14
Reviewed by Andy Estes.

Modified both tests to test new functionality for setting custom corner
radii.

* http/tests/ssl/applepay/ApplePayButton.html:
* http/tests/ssl/applepay/ApplePayButtonV4.html:
* platform/mac-highsierra/http/tests/ssl/applepay/ApplePayButton-expected.png:
* platform/mac-highsierra/http/tests/ssl/applepay/ApplePayButton-expected.txt:
* platform/mac/http/tests/ssl/applepay/ApplePayButton-expected.png:
* platform/mac/http/tests/ssl/applepay/ApplePayButton-expected.txt:
* platform/mac/http/tests/ssl/applepay/ApplePayButtonV4-expected.png:
* platform/mac/http/tests/ssl/applepay/ApplePayButtonV4-expected.txt:

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