WebKit-https.git
3 years agoReduce Safari Technology Preview Release Notes posts shown on homepage
jond@apple.com [Wed, 31 May 2017 18:57:12 +0000 (18:57 +0000)]
Reduce Safari Technology Preview Release Notes posts shown on homepage
https://bugs.webkit.org/show_bug.cgi?id=172364

Reviewed by Daniel Bates.

* wp-content/themes/webkit/functions.php: Load some extra posts.
* wp-content/themes/webkit/widgets/post.php: Show STP blog posts when it is the current featured post.

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

3 years agoVersioning.
jmarcell@apple.com [Wed, 31 May 2017 18:56:12 +0000 (18:56 +0000)]
Versioning.

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

3 years agoMarked http/tests/preload/viewport/meta-viewport-link-headers.php as flaky.
jlewis3@apple.com [Wed, 31 May 2017 18:21:56 +0000 (18:21 +0000)]
Marked http/tests/preload/viewport/meta-viewport-link-headers.php as flaky.
https://bugs.webkit.org/show_bug.cgi?id=172518

Unreviewed test gardening.

* platform/ios/TestExpectations:

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

3 years agoReland r216808, underlying lldb bug has been fixed.
keith_miller@apple.com [Wed, 31 May 2017 18:16:53 +0000 (18:16 +0000)]
Reland r216808, underlying lldb bug has been fixed.
https://bugs.webkit.org/show_bug.cgi?id=172759

Source/JavaScriptCore:

Unreviewed, relanding old patch. See: rdar://problem/31183352

* API/tests/ExecutionTimeLimitTest.cpp:
(dispatchTermitateCallback):
(testExecutionTimeLimit):
* runtime/JSLock.cpp:
(JSC::JSLock::didAcquireLock):
* runtime/Options.cpp:
(JSC::overrideDefaults):
(JSC::Options::initialize):
* runtime/Options.h:
* runtime/VMTraps.cpp:
(JSC::SignalContext::SignalContext):
(JSC::SignalContext::adjustPCToPointToTrappingInstruction):
(JSC::installSignalHandler):
(JSC::VMTraps::SignalSender::send):
* tools/SigillCrashAnalyzer.cpp:
(JSC::SignalContext::SignalContext):
(JSC::SignalContext::dump):
(JSC::installCrashHandler):
* wasm/WasmBBQPlan.cpp:
(JSC::Wasm::BBQPlan::compileFunctions):
* wasm/WasmFaultSignalHandler.cpp:
(JSC::Wasm::trapHandler):
(JSC::Wasm::enableFastMemory):
* wasm/WasmMachineThreads.cpp:
(JSC::Wasm::resetInstructionCacheOnAllThreads):

Source/WTF:

Unreviewed, relanding old patch. See: rdar://problem/31183352

* Configurations/WTF.xcconfig:
* WTF.xcodeproj/project.pbxproj:
* wtf/Platform.h:
* wtf/PlatformRegisters.h:
(WTF::registersFromUContext):
* wtf/StackBounds.h:
(WTF::StackBounds::StackBounds):
* wtf/ThreadHolder.cpp:
(WTF::ThreadHolder::~ThreadHolder):
* wtf/ThreadMessage.cpp:
(WTF::sendMessageUsingSignal):
(WTF::sendMessageUsingMach):
(WTF::deliverMessagesUsingMach):
(WTF::sendMessageScoped):
* wtf/ThreadMessage.h:
(WTF::sendMessage):
* wtf/Threading.h:
(WTF::Thread::machThread):
* wtf/mac/MachExceptions.defs: Copied from Source/WTF/wtf/ThreadMessage.h.
* wtf/threads/Signals.cpp:
(WTF::startMachExceptionHandlerThread):
(WTF::fromMachException):
(WTF::toMachMask):
(WTF::handleSignalsWithMach):
(WTF::setExceptionPorts):
(WTF::activeThreads):
(WTF::registerThreadForMachExceptionHandling):
(WTF::unregisterThreadForMachExceptionHandling):
(WTF::installSignalHandler):
(WTF::jscSignalHandler):
* wtf/threads/Signals.h:

Tools:

Unreviewed, relanding old patch. See: rdar://problem/31183352

* TestWebKitAPI/Tests/WTF/ThreadMessages.cpp:
(runThreadMessageTest):
(TEST):

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

3 years agoScrollingStateScrollingNode::ChangedProperty::NumScrollingStateNodeBits is wrongly set
fred.wang@free.fr [Wed, 31 May 2017 17:49:04 +0000 (17:49 +0000)]
ScrollingStateScrollingNode::ChangedProperty::NumScrollingStateNodeBits is wrongly set
https://bugs.webkit.org/show_bug.cgi?id=172349

Patch by Frederic Wang <fwang@igalia.com> on 2017-05-31
Reviewed by Simon Fraser.

ScrollingStateScrollingNode::ChangedProperty::NumScrollingStateNodeBits was introduced in
r133022 so that ScrollingStateFrameScrollingNode and ScrollingStateOverflowScrollingNode
know the number of bits use for properties in their parent class.

In r172649, r210560, r185762 and r183702 new properties were added to
ScrollingStateScrollingNode but NumScrollingStateNodeBits was not increased accordingly. This
means that there are potential conflicts between these new properties and those of derived
classes ScrollingStateFrameScrollingNode and ScrollingStateOverflowScrollingNode. It is not
clear how to write a test case reproducing such conflict, though.

No new tests, this is a coding mistake but its effect is unclear.

* page/scrolling/ScrollingStateNode.cpp:
(WebCore::ScrollingStateNode::setPropertyChanged): Use hasChangedProperty and cast to
64-bits integer before shifting.
* page/scrolling/ScrollingStateNode.h: Add a comment to make clear NumStateNodeBits must
remain at the last position. Ensure we have enough bits available.
(WebCore::ScrollingStateNode::hasChangedProperty): Cast to 64-bits integer before shifting.
* page/scrolling/ScrollingStateScrollingNode.h: Fix position of NumScrollingStateNodeBits and
also add a similar comment.

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

3 years agoFix leak in PromiseDeferredTimer
keith_miller@apple.com [Wed, 31 May 2017 17:03:34 +0000 (17:03 +0000)]
Fix leak in PromiseDeferredTimer
https://bugs.webkit.org/show_bug.cgi?id=172755

Reviewed by JF Bastien.

We were not properly freeing the list of dependencies if we were already tracking the promise before.
This is because addPendingPromise takes the list of dependencies as an rvalue-reference. In the case
where we were already tracking the promise we append the provided dependency list to the existing list.
Since we never bound or rvalue-ref to a non-temporary value we never destructed the Vector, leaking its
contents.

* runtime/PromiseDeferredTimer.cpp:
(JSC::PromiseDeferredTimer::addPendingPromise):

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

3 years agoUnreviewed, rolling out r217603.
jlewis3@apple.com [Wed, 31 May 2017 17:00:53 +0000 (17:00 +0000)]
Unreviewed, rolling out r217603.

This patch broke the internal builds.

Reverted changeset:

"Get <chrono> out of StdLibExtras.h"
https://bugs.webkit.org/show_bug.cgi?id=172744
http://trac.webkit.org/changeset/217603

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

3 years agoMake ResourceLoadStatistics testing more reliable
bfulgham@apple.com [Wed, 31 May 2017 16:58:53 +0000 (16:58 +0000)]
Make ResourceLoadStatistics testing more reliable
https://bugs.webkit.org/show_bug.cgi?id=172730
<rdar://problem/32028373>

Reviewed by Andy Estes.

Source/WebKit2:

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::notifyPageStatisticsAndDataRecordsProcessed): Add a convenience method to notify the
WebProcess when the UIProcess has finished processing the load statistics data.
* UIProcess/WebProcessProxy.h:
* UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::processStatisticsAndDataRecords): Notify clients (if they requested) when
statistics have been processed.

Tools:

When we tell the UIProcess (WebKitTestRunner) to notify the system about statistics update notifications,
we also need to tell the WebProcess to do so, too, or else the test system doesn't get messages.

* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setStatisticsNotifyPagesWhenDataRecordsWereScanned):

LayoutTests:

Revise some of the tests to wait to check state until after the background process has finished processing the
load information.

* http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics.html:
* http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins.html:
* http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins.html:
* http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to.html:
* http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics.html:
* http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins.html:
* http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins.html:
* http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to.html:
* http/tests/loading/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour.html:
* http/tests/loading/resourceLoadStatistics/clear-in-memory-and-persistent-store.html:
* http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout.html:
* http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html:

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

3 years ago[GTK][WPE] run-javascriptcore-tests should use the jhbuild
clopez@igalia.com [Wed, 31 May 2017 16:13:59 +0000 (16:13 +0000)]
[GTK][WPE] run-javascriptcore-tests should use the jhbuild
https://bugs.webkit.org/show_bug.cgi?id=172757

Reviewed by Xabier Rodriguez-Calvar.

When needed, add the jhbuild wrapper at the beginning of the array
that will be invoked to execute the run-jsc-stress-test or testapi
commands.

* Scripts/run-javascriptcore-tests:
(runJSCStressTests):
* Scripts/webkitdirs.pm:
(shouldUseJhbuild):

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

3 years ago[WPE] More CSS test expectations cleanup
csaavedra@igalia.com [Wed, 31 May 2017 16:01:05 +0000 (16:01 +0000)]
[WPE] More CSS test expectations cleanup

Unreviewed gardening.

* platform/wpe/TestExpectations: remove more assorted css tests
that are actually passing.

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

3 years agoGet <chrono> out of StdLibExtras.h
simon.fraser@apple.com [Wed, 31 May 2017 15:27:12 +0000 (15:27 +0000)]
Get <chrono> out of StdLibExtras.h
https://bugs.webkit.org/show_bug.cgi?id=172744

Reviewed by Saam Barati.

Source/WebCore:

Only bring in <chrono> and namespace std::literals::chrono_literals when necessary.

* fileapi/FileReader.cpp:
* inspector/InspectorOverlay.cpp:
* loader/CrossOriginPreflightResultCache.cpp:
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::freshnessLifetime):
* page/ResourceUsageThread.cpp:
(WebCore::ResourceUsageThread::threadBody):
* page/cocoa/MemoryReleaseCocoa.mm:
(WebCore::jettisonExpensiveObjectsOnTopLevelNavigation):
* platform/network/CacheValidation.cpp:
(WebCore::computeFreshnessLifetimeForHTTPFamily):
* platform/network/CacheValidation.h:

Source/WebKit2:

Only bring in <chrono> and namespace std::literals::chrono_literals when necessary.

* NetworkProcess/cache/NetworkCache.cpp:
* NetworkProcess/cache/NetworkCacheFileSystem.h:
* NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
* NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::computeRecordWorth):
* Shared/mac/RemoteLayerBackingStoreCollection.mm:
* WebProcess/Cookies/WebCookieManager.h:

Source/WTF:

We hates std::chrono. Don't include it everywhere to discourage use.

* wtf/StdLibExtras.h:

Tools:

* TestWebKitAPI/Tests/WTF/WorkQueue.cpp:

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

3 years ago[WPE] CSS tests expectations cleanup
csaavedra@igalia.com [Wed, 31 May 2017 15:13:11 +0000 (15:13 +0000)]
[WPE] CSS tests expectations cleanup

Unreviewed gardening.

* platform/wpe/TestExpectations: Remove a bunch of css 2.1 and 3
tests that are actually passing and a recently removed css tests
directory.

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

3 years agoConsider enabling -Wno-expansion-to-defined for gcc 7
aperez@igalia.com [Wed, 31 May 2017 14:09:02 +0000 (14:09 +0000)]
Consider enabling -Wno-expansion-to-defined for gcc 7
https://bugs.webkit.org/show_bug.cgi?id=167643

Reviewed by Žan Doberšek.

* Source/cmake/OptionsCommon.cmake: Pass -Wno-expansion-to-defined to
GCC, the flag is supported all the way back to version 4.9, which is
the oldest we support

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

3 years ago[GTK][WPE] Mark js/cached-window-properties test as slow
csaavedra@igalia.com [Wed, 31 May 2017 13:44:06 +0000 (13:44 +0000)]
[GTK][WPE] Mark js/cached-window-properties test as slow

Unreviewed gardening.
* platform/gtk/TestExpectations: Test was marked as flaky; but
it's just slow.
* platform/wpe/TestExpectations: Mark as slow.

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

3 years agoUse the rare data's RenderStyle for display: contents.
commit-queue@webkit.org [Wed, 31 May 2017 12:18:24 +0000 (12:18 +0000)]
Use the rare data's RenderStyle for display: contents.
https://bugs.webkit.org/show_bug.cgi?id=172721

Patch by Emilio Cobos Álvarez <ecobos@igalia.com> on 2017-05-31
Reviewed by Antti Koivisto.

No new tests, no behavior change.

* dom/Element.cpp:
(WebCore::Element::hasDisplayContents):
(WebCore::Element::storeDisplayContentsStyle):
* dom/Element.h:
* dom/ElementRareData.h:
(WebCore::ElementRareData::ElementRareData):
* style/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::updateElementRenderer):
* style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::resolveComposedTree):

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

3 years ago[GTK] Upgrade the WebKitGTK+ bots to Debian 9
clopez@igalia.com [Wed, 31 May 2017 12:04:41 +0000 (12:04 +0000)]
[GTK] Upgrade the WebKitGTK+ bots to Debian 9

This commit only adds a comment that it will be useful to mark
the point where they where upgraded, so if there is some
performance change on perf.webkit.org it can be pointed to this.

Unreviewed.

* platform/gtk/TestExpectations: Add a note regarding which
distribution and version is running on the bots.

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

3 years ago[WPE] WebGL expectations cleanup
csaavedra@igalia.com [Wed, 31 May 2017 11:09:18 +0000 (11:09 +0000)]
[WPE] WebGL expectations cleanup

Unreviewed gardening.

* platform/wpe/TestExpectations: Remove webgl tests that are
consistently passing. Also mark a few known slow tests as such.

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

3 years agoMove css-shapes-1 test suite to WPT
rego@igalia.com [Wed, 31 May 2017 09:22:58 +0000 (09:22 +0000)]
Move css-shapes-1 test suite to WPT
https://bugs.webkit.org/show_bug.cgi?id=172537

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

This is the last suite that we have in csswg-test.
This patch moves it to the new path in WPT and gets rid of the csswg-test directory.
It also updates the tests with the last changes upstream.

* csswg-test/CONTRIBUTING.md: Removed.
* csswg-test/LICENSE: Removed.
* csswg-test/LICENSE.md: Removed.
* csswg-test/README.md: Removed.
* csswg-test/build-css-testsuites.sh: Removed.
* csswg-test/config.default.json: Removed.
* csswg-test/css-shapes-1/shape-outside/shape-box/w3c-import.log: Removed.
* csswg-test/css-shapes-1/shape-outside/shape-image/gradients/w3c-import.log: Removed.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-013.html: Removed.
* csswg-test/css-shapes-1/shape-outside/shape-image/support/w3c-import.log: Removed.
* csswg-test/css-shapes-1/shape-outside/shape-image/w3c-import.log: Removed.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/w3c-import.log: Removed.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/w3c-import.log: Removed.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/inset/w3c-import.log: Removed.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/w3c-import.log: Removed.
* csswg-test/css-shapes-1/shape-outside/values/shape-image-threshold-002-expected.txt: Removed.
* csswg-test/css-shapes-1/shape-outside/values/shape-margin-004-expected.txt: Removed.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-003-expected.txt: Removed.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-007-expected.txt: Removed.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-008-expected.txt: Removed.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-003-expected.txt: Removed.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-007-expected.txt: Removed.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-008-expected.txt: Removed.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-005-expected.txt: Removed.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-007-expected.txt: Removed.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-polygon-003-expected.txt: Removed.
* csswg-test/css-shapes-1/shape-outside/values/w3c-import.log: Removed.
* csswg-test/css-shapes-1/spec-examples/w3c-import.log: Removed.
* csswg-test/css-shapes-1/support/w3c-import.log: Removed.
* csswg-test/css-shapes-1/w3c-import.log: Removed.
* csswg-test/lint: Removed.
* csswg-test/lint.whitelist: Removed.
* csswg-test/manifest: Removed.
* csswg-test/requirements.txt: Removed.
* csswg-test/serve: Removed.
* csswg-test/serve.py: Removed.
* csswg-test/w3c-import.log: Removed.
* resources/import-expectations.json:
* resources/resource-files.json:
* web-platform-tests/css/css-shapes-1/shape-outside-invalid-001-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-001-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside-invalid-001.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-001.html.
* web-platform-tests/css/css-shapes-1/shape-outside-invalid-circle-000-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-circle-000-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside-invalid-circle-000.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-circle-000.html.
* web-platform-tests/css/css-shapes-1/shape-outside-invalid-circle-001-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-circle-001-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside-invalid-circle-001.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-circle-001.html.
* web-platform-tests/css/css-shapes-1/shape-outside-invalid-circle-002-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-circle-002-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside-invalid-circle-002.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-circle-002.html.
* web-platform-tests/css/css-shapes-1/shape-outside-invalid-circle-003-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-circle-003-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside-invalid-circle-003.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-circle-003.html.
* web-platform-tests/css/css-shapes-1/shape-outside-invalid-ellipse-001-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-ellipse-001-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside-invalid-ellipse-001.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-ellipse-001.html.
* web-platform-tests/css/css-shapes-1/shape-outside-invalid-ellipse-002-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-ellipse-002-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside-invalid-ellipse-002.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-ellipse-002.html.
* web-platform-tests/css/css-shapes-1/shape-outside-invalid-ellipse-003-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-ellipse-003-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside-invalid-ellipse-003.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-ellipse-003.html.
* web-platform-tests/css/css-shapes-1/shape-outside-invalid-ellipse-004-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-ellipse-004-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside-invalid-ellipse-004.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-ellipse-004.html.
* web-platform-tests/css/css-shapes-1/shape-outside-invalid-ellipse-005-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-ellipse-005-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside-invalid-ellipse-005.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-ellipse-005.html.
* web-platform-tests/css/css-shapes-1/shape-outside-invalid-ellipse-006-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-ellipse-006-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside-invalid-ellipse-006.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-ellipse-006.html.
* web-platform-tests/css/css-shapes-1/shape-outside-invalid-inset-001-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-inset-001-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside-invalid-inset-001.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-inset-001.html.
* web-platform-tests/css/css-shapes-1/shape-outside-invalid-inset-002-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-inset-002-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside-invalid-inset-002.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-inset-002.html.
* web-platform-tests/css/css-shapes-1/shape-outside-invalid-inset-003-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-inset-003-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside-invalid-inset-003.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-inset-003.html.
* web-platform-tests/css/css-shapes-1/shape-outside-invalid-inset-004-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-inset-004-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside-invalid-inset-004.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside-invalid-inset-004.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-box/shape-outside-box-002-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-box/shape-outside-box-002-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-box/shape-outside-box-002.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-box/shape-outside-box-002.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-box/shape-outside-box-003-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-box/shape-outside-box-003-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-box/shape-outside-box-003.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-box/shape-outside-box-003.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-box/shape-outside-box-004-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-box/shape-outside-box-004-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-box/shape-outside-box-004.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-box/shape-outside-box-004.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-box/shape-outside-box-006-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-box/shape-outside-box-006-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-box/shape-outside-box-006.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-box/shape-outside-box-006.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-box/shape-outside-box-007-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-box/shape-outside-box-007-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-box/shape-outside-box-007.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-box/shape-outside-box-007.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-box/shape-outside-box-008-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-box/shape-outside-box-008-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-box/shape-outside-box-008.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-box/shape-outside-box-008.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-box/w3c-import.log: Added.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-linear-gradient-001-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-linear-gradient-001-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-linear-gradient-001.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-linear-gradient-001.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-linear-gradient-002-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-linear-gradient-002-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-linear-gradient-002.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-linear-gradient-002.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-linear-gradient-003-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-linear-gradient-003-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-linear-gradient-003.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-linear-gradient-003.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-linear-gradient-004-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-linear-gradient-004-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-linear-gradient-004.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-linear-gradient-004.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-radial-gradient-001-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-radial-gradient-001-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-radial-gradient-001.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-radial-gradient-001.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-radial-gradient-002-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-radial-gradient-002-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-radial-gradient-002.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-radial-gradient-002.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-radial-gradient-003-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-radial-gradient-003-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-radial-gradient-003.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-radial-gradient-003.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-radial-gradient-004-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-radial-gradient-004-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-radial-gradient-004.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-radial-gradient-004.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/gradients/w3c-import.log: Added.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-000-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-000-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-000.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-000.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-001-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-001-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-001.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-001.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-002-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-002-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-002.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-002.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-003-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-003-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-003.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-003.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-004-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-004-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-004.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-004.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-005-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-005-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-005.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-005.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-006-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-006-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-006.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-006.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-007-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-007-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-007.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-007.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-008-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-008-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-008.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-008.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-009-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-009-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-009.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-009.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-010-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-010-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-010.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-010.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-011-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-011-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-011.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-011.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-012-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-012-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-012.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-012.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-013-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-013-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-013.html: Added.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-014-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-014-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-014.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-014.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-015-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-015-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-015.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-015.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-016-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-016-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-016.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-016.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-017-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-017-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-017.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-017.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-018-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-018-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-018.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-018.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-019-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-019-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-019.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-019.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-020-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-020-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-020.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-020.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-021-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-021-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-021.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-021.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-022-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-022-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-022.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-022.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-023-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-023-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-023.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-023.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-024-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-024-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-024.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-024.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-025-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-025-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/shape-image-025.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-025.html.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/support/animated.gif: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/support/animated.gif.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/support/left-half-rectangle-20.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/support/left-half-rectangle-20.png.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/support/left-half-rectangle-20.svg: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/support/left-half-rectangle-20.svg.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/support/left-half-rectangle-50.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/support/left-half-rectangle-50.png.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/support/left-half-rectangle-50.svg: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/support/left-half-rectangle-50.svg.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/support/left-half-rectangle-70.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/support/left-half-rectangle-70.png.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/support/left-half-rectangle-70.svg: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/support/left-half-rectangle-70.svg.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/support/left-half-rectangle.jpg: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/support/left-half-rectangle.jpg.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/support/left-half-rectangle.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/support/left-half-rectangle.png.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/support/left-half-rectangle.svg: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/support/left-half-rectangle.svg.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/support/right-half-rectangle-20.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/support/right-half-rectangle-20.png.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/support/right-half-rectangle-50.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/support/right-half-rectangle-50.png.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/support/right-half-rectangle-70.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/support/right-half-rectangle-70.png.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/support/right-half-rectangle-70.svg: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/support/right-half-rectangle-70.svg.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/support/right-half-rectangle.gif: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/support/right-half-rectangle.gif.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/support/right-half-rectangle.jpg: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/support/right-half-rectangle.jpg.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/support/right-half-rectangle.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/support/right-half-rectangle.png.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/support/right-half-rectangle.svg: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/shape-image/support/right-half-rectangle.svg.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/support/w3c-import.log: Added.
* web-platform-tests/css/css-shapes-1/shape-outside/shape-image/w3c-import.log: Added.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-013-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-013-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-013.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-013.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-014-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-014-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-014.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-014.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-015-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-015-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-015.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-015.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-016-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-016-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-016.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-016.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-017-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-017-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-017.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-017.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-018-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-018-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-018.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-018.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-019-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-019-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-019.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-019.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-020-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-020-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-020.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-020.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-021-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-021-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-021.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-021.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-022-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-022-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-022.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-022.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-024-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-024-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-024.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-024.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-025-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-025-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-025.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-025.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-026-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-026-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-026.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-026.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-027-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-027-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-027.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-027.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-028-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-028-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-028.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-028.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-029-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-029-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-029.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-029.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-030-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-030-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-030.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-030.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-031-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-031-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-031.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-031.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/circle/w3c-import.log: Added.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-013-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-013-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-013.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-013.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-014-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-014-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-014.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-014.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-015-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-015-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-015.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-015.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-016-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-016-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-016.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-016.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-017-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-017-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-017.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-017.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-018-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-018-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-018.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-018.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-019-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-019-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-019.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-019.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-020-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-020-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-020.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-020.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-021-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-021-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-021.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-021.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-022-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-022-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-022.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-022.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-023-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-023-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-023.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-023.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-024-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-024-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-024.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-024.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-025-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-025-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-025.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-025.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-030-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-030-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-030.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-030.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-031-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-031-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-031.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-031.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/ellipse/w3c-import.log: Added.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-010-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-010-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-010.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-010.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-011-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-011-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-011.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-011.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-012-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-012-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-012.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-012.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-013-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-013-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-013.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-013.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-014-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-014-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-014.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-014.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-015-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-015-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-015.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-015.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/inset/w3c-import.log: Added.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-007-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-007-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-007.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-007.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-008-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-008-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-008.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-008.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-009-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-009-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-009.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-009.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-010-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-010-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-010.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-010.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-011-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-011-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-011.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-011.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-012-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-012-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-012.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-012.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-013-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-013-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-013.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-013.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-014-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-014-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-014.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-014.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-015-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-015-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-015.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-015.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-016-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-016-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-016.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-016.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-017-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-017-expected.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-017.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-017.html.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/polygon/w3c-import.log: Added.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/support/rounded-rectangle.js: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/support/rounded-rectangle.js.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/support/subpixel-utils.js: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/support/subpixel-utils.js.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/support/test-utils.js: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/support/test-utils.js.
* web-platform-tests/css/css-shapes-1/shape-outside/supported-shapes/support/w3c-import.log: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/supported-shapes/support/w3c-import.log.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-image-threshold-000-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-image-threshold-000-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-image-threshold-000.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-image-threshold-000.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-image-threshold-001-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-image-threshold-001-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-image-threshold-001.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-image-threshold-001.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-image-threshold-002-expected.txt: Added.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-image-threshold-002.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-image-threshold-002.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-image-threshold-003-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-image-threshold-003-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-image-threshold-003.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-image-threshold-003.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-margin-000-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-margin-000-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-margin-000.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-margin-000.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-margin-001-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-margin-001-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-margin-001.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-margin-001.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-margin-002-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-margin-002-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-margin-002.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-margin-002.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-margin-003-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-margin-003-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-margin-003.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-margin-003.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-margin-004-expected.txt: Added.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-margin-004.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-margin-004.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-margin-005-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-margin-005-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-margin-005.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-margin-005.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-box-000-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-box-000-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-box-000.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-box-000.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-circle-000-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-000-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-circle-000.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-000.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-circle-001-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-001-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-circle-001.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-001.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-circle-002-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-002-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-circle-002.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-002.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-circle-003-expected.txt: Added.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-circle-003.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-003.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-circle-004-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-004-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-circle-004.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-004.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-circle-005-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-005-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-circle-005.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-005.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-circle-006-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-006-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-circle-006.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-006.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-circle-007-expected.txt: Added.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-circle-007.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-007.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-circle-008-expected.txt: Added.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-circle-008.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-008.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-circle-009-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-009-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-circle-009.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-009.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-circle-010-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-010-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-circle-010.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-010.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-circle-011-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-011-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-circle-011.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-011.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-computed-shape-000-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-computed-shape-000-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-computed-shape-000.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-computed-shape-000.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-computed-shape-001-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-computed-shape-001-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-computed-shape-001.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-computed-shape-001.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-ellipse-000-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-000-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-ellipse-000.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-000.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-ellipse-001-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-001-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-ellipse-001.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-001.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-ellipse-002-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-002-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-ellipse-002.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-002.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-ellipse-003-expected.txt: Added.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-ellipse-003.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-003.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-ellipse-004-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-004-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-ellipse-004.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-004.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-ellipse-005-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-005-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-ellipse-005.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-005.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-ellipse-006-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-006-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-ellipse-006.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-006.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-ellipse-007-expected.txt: Added.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-ellipse-007.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-007.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-ellipse-008-expected.txt: Added.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-ellipse-008.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-008.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-ellipse-009-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-009-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-ellipse-009.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-009.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-ellipse-010-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-010-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-ellipse-010.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-010.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-ellipse-011-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-011-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-ellipse-011.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-011.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-inset-000-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-000-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-inset-000.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-000.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-inset-001-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-001-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-inset-001.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-001.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-inset-002-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-002-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-inset-002.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-002.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-inset-003-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-003-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-inset-003.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-003.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-inset-004-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-004-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-inset-004.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-004.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-inset-005-expected.txt: Added.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-inset-005.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-005.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-inset-006-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-006-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-inset-006.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-006.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-inset-007-expected.txt: Added.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-inset-007.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-007.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-inset-008-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-008-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-inset-008.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-008.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-inset-009-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-009-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-inset-009.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-009.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-polygon-000-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-polygon-000-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-polygon-000.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-polygon-000.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-polygon-001-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-polygon-001-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-polygon-001.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-polygon-001.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-polygon-002-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-polygon-002-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-polygon-002.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-polygon-002.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-polygon-003-expected.txt: Added.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-polygon-003.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-polygon-003.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-polygon-004-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-polygon-004-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-polygon-004.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-polygon-004.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-polygon-005-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-polygon-005-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-polygon-005.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-polygon-005.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-polygon-006-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-polygon-006-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-polygon-006.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-polygon-006.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-shape-arguments-000-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-shape-arguments-000-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-shape-arguments-000.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-shape-arguments-000.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-shape-arguments-001-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-shape-arguments-001-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-shape-arguments-001.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-shape-arguments-001.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-shape-box-pair-000-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-shape-box-pair-000-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-shape-box-pair-000.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-shape-box-pair-000.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-shape-inherit-000-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-shape-inherit-000-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-shape-inherit-000.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-shape-inherit-000.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-shape-initial-000-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-shape-initial-000-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-shape-initial-000.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-shape-initial-000.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-shape-none-000-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-shape-none-000-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-shape-none-000.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-shape-none-000.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-shape-notation-000-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-shape-notation-000-expected.txt.
* web-platform-tests/css/css-shapes-1/shape-outside/values/shape-outside-shape-notation-000.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/shape-outside-shape-notation-000.html.
* web-platform-tests/css/css-shapes-1/shape-outside/values/support/parsing-utils.js: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/support/parsing-utils.js.
(testComputedStyle):
(testShapeMarginComputedStyle):
(testShapeThresholdComputedStyle):
(buildPositionTests):
* web-platform-tests/css/css-shapes-1/shape-outside/values/support/w3c-import.log: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/test-plan/w3c-import.log.
* web-platform-tests/css/css-shapes-1/shape-outside/values/w3c-import.log: Added.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-001-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-001-expected.html.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-001.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-001.html.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-002-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-002-expected.html.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-002.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-002.html.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-003-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-003-expected.html.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-003.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-003.html.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-004-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-004-expected.html.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-004.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-004.html.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-005-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-005-expected.html.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-005.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-005.html.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-006-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-006-expected.html.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-006.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-006.html.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-007-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-007-expected.html.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-007.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-007.html.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-008-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-008-expected.html.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-008.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-008.html.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-010-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-010-expected.txt.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-010.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-010.html.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-011-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-011-expected.txt.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-011.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-011.html.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-012-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-012-expected.txt.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-012.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-012.html.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-013-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-013-expected.txt.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-013.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-013.html.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-014-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-014-expected.txt.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-014.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-014.html.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-015-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-015-expected.txt.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-015.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-015.html.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-016-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-016-expected.txt.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-016.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-016.html.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-017-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-017-expected.txt.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-017.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-017.html.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-018-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-018-expected.txt.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-018.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-018.html.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-019-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-019-expected.txt.
* web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-019.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/shape-outside-019.html.
* web-platform-tests/css/css-shapes-1/spec-examples/support/circle-no-shadow.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/support/circle-no-shadow.png.
* web-platform-tests/css/css-shapes-1/spec-examples/support/circle-shadow.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/support/circle-shadow.png.
* web-platform-tests/css/css-shapes-1/spec-examples/support/rounded-triangle.svg: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/support/rounded-triangle.svg.
* web-platform-tests/css/css-shapes-1/spec-examples/support/spec-example-utils.js: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/support/spec-example-utils.js.
* web-platform-tests/css/css-shapes-1/spec-examples/support/w3c-import.log: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/spec-examples/support/w3c-import.log.
* web-platform-tests/css/css-shapes-1/spec-examples/w3c-import.log: Added.
* web-platform-tests/css/css-shapes-1/support/1x1-green.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/1x1-green.png.
* web-platform-tests/css/css-shapes-1/support/1x1-lime.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/1x1-lime.png.
* web-platform-tests/css/css-shapes-1/support/1x1-maroon.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/1x1-maroon.png.
* web-platform-tests/css/css-shapes-1/support/1x1-navy.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/1x1-navy.png.
* web-platform-tests/css/css-shapes-1/support/1x1-red.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/1x1-red.png.
* web-platform-tests/css/css-shapes-1/support/1x1-white.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/1x1-white.png.
* web-platform-tests/css/css-shapes-1/support/60x60-gg-rr.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/60x60-gg-rr.png.
* web-platform-tests/css/css-shapes-1/support/60x60-green.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/60x60-green.png.
* web-platform-tests/css/css-shapes-1/support/60x60-red.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/60x60-red.png.
* web-platform-tests/css/css-shapes-1/support/README: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/README.
* web-platform-tests/css/css-shapes-1/support/a-green.css: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/a-green.css.
* web-platform-tests/css/css-shapes-1/support/b-green.css: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/b-green.css.
* web-platform-tests/css/css-shapes-1/support/c-red.css: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/c-red.css.
* web-platform-tests/css/css-shapes-1/support/cat.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/cat.png.
* web-platform-tests/css/css-shapes-1/support/pattern-grg-rgr-grg.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/pattern-grg-rgr-grg.png.
* web-platform-tests/css/css-shapes-1/support/pattern-grg-rrg-rgg.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/pattern-grg-rrg-rgg.png.
* web-platform-tests/css/css-shapes-1/support/pattern-rgr-grg-rgr.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/pattern-rgr-grg-rgr.png.
* web-platform-tests/css/css-shapes-1/support/pattern-tr.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/pattern-tr.png.
* web-platform-tests/css/css-shapes-1/support/square-purple.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/square-purple.png.
* web-platform-tests/css/css-shapes-1/support/square-teal.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/square-teal.png.
* web-platform-tests/css/css-shapes-1/support/square-white.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/square-white.png.
* web-platform-tests/css/css-shapes-1/support/swatch-blue.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/swatch-blue.png.
* web-platform-tests/css/css-shapes-1/support/swatch-green.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/swatch-green.png.
* web-platform-tests/css/css-shapes-1/support/swatch-lime.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/swatch-lime.png.
* web-platform-tests/css/css-shapes-1/support/swatch-orange.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/swatch-orange.png.
* web-platform-tests/css/css-shapes-1/support/swatch-red.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/swatch-red.png.
* web-platform-tests/css/css-shapes-1/support/swatch-white.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/swatch-white.png.
* web-platform-tests/css/css-shapes-1/support/swatch-yellow.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/swatch-yellow.png.
* web-platform-tests/css/css-shapes-1/support/test-bl.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/test-bl.png.
* web-platform-tests/css/css-shapes-1/support/test-br.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/test-br.png.
* web-platform-tests/css/css-shapes-1/support/test-outer.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/test-outer.png.
* web-platform-tests/css/css-shapes-1/support/test-tl.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/test-tl.png.
* web-platform-tests/css/css-shapes-1/support/test-tr.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/support/test-tr.png.
* web-platform-tests/css/css-shapes-1/support/w3c-import.log: Added.
* web-platform-tests/css/css-shapes-1/test-plan/index-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/test-plan/index-expected.txt.
* web-platform-tests/css/css-shapes-1/test-plan/index.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/test-plan/index.html.
* web-platform-tests/css/css-shapes-1/test-plan/w3c-import.log: Renamed from LayoutTests/imported/w3c/csswg-test/css-shapes-1/shape-outside/values/support/w3c-import.log.
* web-platform-tests/css/css-shapes-1/w3c-import.log: Added.

LayoutTests:

Updated the paths in TestExpectations files.
Marked spec-examples/shape-outside-018.html as flaky.

* TestExpectations:
* platform/gtk/TestExpectations:
* platform/ios/TestExpectations:
* platform/win/TestExpectations:

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

3 years agoCoordinatedLayerTreeHost: properly support async force repaints
zandobersek@gmail.com [Wed, 31 May 2017 08:51:24 +0000 (08:51 +0000)]
CoordinatedLayerTreeHost: properly support async force repaints
https://bugs.webkit.org/show_bug.cgi?id=172444

Reviewed by Carlos Garcia Campos.

Before these changes the force-repaint callbacks were executed once
the next layer flush was performed. This is not appropriate since
with the threaded compositor this was done even before the flushed
state was handled on the rendering thread.

Instead, the callback should be invoked once the first following
flushed state is rendered through the compositor and the update
finish is reported back to CoordinatedLayerTreeHost through invoking
the renderNextFrame() method.

If the force-repaint callback is registered while a state update is
already being processed by the renderer (i.e. the threaded compositor),
the callback is invoked only after the following flush, which is
executed when renderNextFrame() is called for the current state update.

* WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h:
Add the forceFrameSync() method that forces the following state flush
to produce a state update that will be handled by the compositor.
This ensures that the compositor informs the CoordinatedLayerTreeHost
once this state update is done, invoking renderNextFrame() which would
handle the force-repaint callback.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::forceRepaintAsync):
(WebKit::CoordinatedLayerTreeHost::renderNextFrame):
(WebKit::CoordinatedLayerTreeHost::layerFlushTimerFired):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
* WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:
Remove the forceRepaintAsync() override that returned false.

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

3 years agoLayoutTest media/video-orientation.html is failing
pvollan@apple.com [Wed, 31 May 2017 07:27:38 +0000 (07:27 +0000)]
LayoutTest media/video-orientation.html is failing
https://bugs.webkit.org/show_bug.cgi?id=172648
<rdar://problem/31322425>

Reviewed by Eric Carlson.

For videos with rotation tag set, the transform AVAssetTrack.preferredTransform applied to
AVAssetTrack.naturalSize might return a CGSize instance with negative width or height.

Covered by existing tests.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged):

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

3 years ago[GTK] Web Inspector: BackForwardArrows.svg is not shown
commit-queue@webkit.org [Wed, 31 May 2017 07:25:44 +0000 (07:25 +0000)]
[GTK] Web Inspector: BackForwardArrows.svg is not shown
https://bugs.webkit.org/show_bug.cgi?id=172741

Patch by Fujii Hironori <Hironori.Fujii@sony.com> on 2017-05-31
Reviewed by Carlos Garcia Campos.

* UserInterface/Images/gtk/BackForwardArrows.svg: Renamed id names to match with Apple's images.

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

3 years agoUnreviewed. Fix copy-paste error added in r217209.
carlosgc@webkit.org [Wed, 31 May 2017 07:25:10 +0000 (07:25 +0000)]
Unreviewed. Fix copy-paste error added in r217209.

It seems I pasted twice.

* UIProcess/API/gtk/WebKitContextMenuItem.h:

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

3 years agoInclude ScrollingTreeScrollingNode properties in ScrollingTreeFrameScrollingNode...
fred.wang@free.fr [Wed, 31 May 2017 05:48:57 +0000 (05:48 +0000)]
Include ScrollingTreeScrollingNode properties in ScrollingTreeFrameScrollingNode::dumpProperties
https://bugs.webkit.org/show_bug.cgi?id=172287

Patch by Frederic Wang <fwang@igalia.com> on 2017-05-30
Reviewed by Simon Fraser.

Source/WebCore:

No new tests, only changes in dumped tree.

* page/scrolling/ScrollingTreeFrameScrollingNode.cpp:
(WebCore::ScrollingTreeFrameScrollingNode::dumpProperties): Print properties of the parent class.

LayoutTests:

Update iOS expectation to include the new node properties.

* scrollingcoordinator/ios/ui-scrolling-tree-expected.txt: Update expectation.

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

3 years agoUpdate test result after r217585.
weinig@apple.com [Wed, 31 May 2017 05:15:00 +0000 (05:15 +0000)]
Update test result after r217585.

* bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:
(WebCore::JSTestNamedDeleterWithIndexedGetter::deleteProperty):
(WebCore::JSTestNamedDeleterWithIndexedGetter::deletePropertyByIndex):

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

3 years agoFixed the build after r217588.
mitz@apple.com [Wed, 31 May 2017 03:09:18 +0000 (03:09 +0000)]
Fixed the build after r217588.

* page/FrameView.h: Stopped exporting a function defined inline.

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

3 years agoASSERTION FAILED: m_layoutPhase == InPostLayerPositionsUpdatedAfterLayout || m_layout...
zalan@apple.com [Wed, 31 May 2017 03:01:58 +0000 (03:01 +0000)]
ASSERTION FAILED: m_layoutPhase == InPostLayerPositionsUpdatedAfterLayout || m_layoutPhase == OutsideLayout
https://bugs.webkit.org/show_bug.cgi?id=171501
<rdar://problem/31977453>

Reviewed by Simon Fraser.

We should be able to paint as long as the tree is clean and we are in paintable state.

* page/FrameView.cpp:
(WebCore::FrameView::paintContents):

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

3 years agoKeyboard autocorrections do not apply with an active selection (but keyboard acts...
timothy_horton@apple.com [Wed, 31 May 2017 00:44:02 +0000 (00:44 +0000)]
Keyboard autocorrections do not apply with an active selection (but keyboard acts like they did)
https://bugs.webkit.org/show_bug.cgi?id=172735
<rdar://problem/32015977>

Reviewed by Enrica Casucci.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView applyAutocorrection:toString:withCompletionHandler:]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
Expose applyAutocorrection on the WKTesting category for use from UIScriptController.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::syncApplyAutocorrection):
If there is a range selection and it precisely matches the autocorrection's "before"
string, allow the autocorrection to take place.

* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::applyAutocorrection):
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::applyAutocorrection):
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::applyAutocorrection):
Expose applyAutocorrection to UIScriptController. Use a WKTesting method
because I don't know how to tap the button in the autocorrection bar from a test.

* fast/events/ios/autocorrect-with-range-selection-expected.txt: Added.
* fast/events/ios/autocorrect-with-range-selection.html: Added.
Add a test that ensures that autocorrection with a selection succeeds.

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

3 years agoRevert accidentally checked in change.
weinig@apple.com [Tue, 30 May 2017 23:55:51 +0000 (23:55 +0000)]
Revert accidentally checked in change.

* crypto/mac/CryptoAlgorithmRSA_PSSMac.cpp:
* crypto/mac/CryptoDigestAlgorithm.h:

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

3 years ago[WebIDL] Generate named property deleters
weinig@apple.com [Tue, 30 May 2017 23:54:51 +0000 (23:54 +0000)]
[WebIDL] Generate named property deleters
https://bugs.webkit.org/show_bug.cgi?id=172688

Reviewed by Chris Dumez.

Source/WebCore:

Test: js/dom/named-property-deleter.html

* WebCore.xcodeproj/project.pbxproj:
Add new file, JSDOMAbstractOperations.h

* bindings/js/JSDOMAbstractOperations.h: Added.
(WebCore::isVisibleNamedProperty):
Add an implementation of the abstract operation WebIDL calls the 'named property visibility algorithm'.
It is used by many WebIDL algorithms, but currently I am only using this implementation for deleters.
In the future, we should try and move the other property access generators to use it as well.

* bindings/js/JSDOMStringMapCustom.cpp:
(WebCore::JSDOMStringMap::deleteProperty): Deleted.
(WebCore::JSDOMStringMap::deletePropertyByIndex): Deleted.
* bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::deleteProperty): Deleted.
(WebCore::JSStorage::deletePropertyByIndex): Deleted.
Remove now generated deleteProperty and deletePropertyByIndex implementations.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateDeletePropertyCommon):
(GenerateDeletePropertyDefinition):
(GenerateDeletePropertyByIndexDefinition):
(GenerateNamedDeleterDefinition):
Added generation for named deleters. We generate both deleteProperty and deletePropertyByIndex.

(InstanceOverridesDelete):
Add predicate for whether the header should declare deleteProperty and deletePropertyByIndex.

(GenerateHeader):
Move property access hook declarations closer to each other. Use new InstanceOverridesDelete
predicate for deleteProperty and deletePropertyByIndex.

(GenerateImplementation):
Add call to generate named deleter if one exists.

(GenerateConstructorHelperMethods):
Remove an old FIXME that that was no longer true, there are no more interfaces that inherit from
an interface with [NoInterfaceObject].

* dom/DOMStringMap.idl:
Removes CustomDeleteProperty and sorts extended attributes.

* dom/DatasetDOMStringMap.h:
* dom/DatasetDOMStringMap.cpp:
(WebCore::DatasetDOMStringMap::isSupportedPropertyName):
Added. This is a bindings support function (much like supportedPropertyNames()) that is
used JSDOMAbstractOperations.h's isVisibleNamedProperty.

(WebCore::DatasetDOMStringMap::supportedPropertyNames):
Convert to an early return.

(WebCore::DatasetDOMStringMap::deleteNamedProperty):
(WebCore::DatasetDOMStringMap::deleteItem): Deleted.
Renamed deleteItem to deleteNamedProperty, which is the name the bindings use for deleter
operations without an identifier.

* page/DOMWindow.cpp:
(WebCore::DOMWindow::sessionStorage):
Fix incorrect indentation that bothered me.

* storage/Storage.cpp:
* storage/Storage.h:
- Remove isDisabledByPrivateBrowsing(), which had no definition.
- Add isSupportedPropertyName(), which the deleter code (via the isVisibleNamedProperty algorithm)
  needs.

* storage/Storage.idl:
Removes CustomDeleteProperty, sorts the extended attributes, adds 'deleter' special
to the removeItem operation and adds a commented out 'setter' special to the 'setItem'
operation.

* bindings/scripts/test/JS/JSTestObj.h:
Update result for declarations moving around.

* bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp: Added.
* bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h: Added.
* bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp: Added.
* bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h: Added.
* bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp: Added.
* bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h: Added.
* bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp: Added.
* bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h: Added.
* bindings/scripts/test/TestNamedDeleterNoIdentifier.idl: Added.
* bindings/scripts/test/TestNamedDeleterThrowingException.idl: Added.
* bindings/scripts/test/TestNamedDeleterWithIdentifier.idl: Added.
* bindings/scripts/test/TestNamedDeleterWithIndexedGetter.idl: Added.
Add new tests for named deleters.

LayoutTests:

* js/dom/named-property-deleter-expected.txt: Added.
* js/dom/named-property-deleter.html: Added.
Add test for various named deleter conditions.

* storage/domstorage/localstorage/delete-defineproperty-removal-expected.txt:
* storage/domstorage/localstorage/delete-defineproperty-removal.html:
Update test to log more information about what its doing and log it to the DOM rather
than the console, to make comparing results in browsers easier. Also, note in the
bug that the results are wrong, and have been wrong, due to https://webkit.org/b/172687.

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

3 years agoWeb Inspector: images dragged from Inspector to Desktop are named "Unknown.png"
joepeck@webkit.org [Tue, 30 May 2017 23:40:33 +0000 (23:40 +0000)]
Web Inspector: images dragged from Inspector to Desktop are named "Unknown.png"
https://bugs.webkit.org/show_bug.cgi?id=141515
<rdar://problem/9251308>

Reviewed by Wenson Hsieh.

Source/WebCore:

* html/HTMLAttributeNames.in:

Source/WebInspectorUI:

* UserInterface/Views/ImageResourceContentView.js:
(WebInspector.ImageResourceContentView.prototype.contentAvailable):
Set a non-standard "filename" attribute to provide a suggested filename
for this <img> containing data: or blob: content.

Source/WebKit2:

In Web Inspector these images are <img src="..."> with data: or blob:
content. In these cases we have the image data but the URL does not
provide a useful name. In fact the name "Unknown.png" comes from
-[NSURLResponse suggestedFilename] for this URL / content.

To start, improve this situation for drags in Web Inspector pages.
If the image element being dragged has a filename attribute use that
as the suggested filename for the drag.

* WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
(WebKit::WebDragClient::declareAndWriteDragImage):

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

3 years agoAdd support for Certificate and IceCandidatePair stats
commit-queue@webkit.org [Tue, 30 May 2017 23:32:00 +0000 (23:32 +0000)]
Add support for Certificate and IceCandidatePair stats
https://bugs.webkit.org/show_bug.cgi?id=172734

Patch by Youenn Fablet <youenn@apple.com> on 2017-05-30
Reviewed by Geoff Garen.

Source/WebCore:

Covered by updated test.

Adding support for these two stats in the IDL and in the libwebrtc binding code.

* Modules/mediastream/RTCStatsReport.h:
(WebCore::RTCStatsReport::IceCandidatePairStats::IceCandidatePairStats):
(WebCore::RTCStatsReport::CertificateStats::CertificateStats):
* Modules/mediastream/RTCStatsReport.idl:
* Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::iceCandidatePairState):
(WebCore::fillRTCIceCandidatePairStats):
(WebCore::fillRTCCertificateStats):
(WebCore::LibWebRTCMediaEndpoint::StatsCollector::OnStatsDelivered):

LayoutTests:

* webrtc/video-stats.html:

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

3 years agoUnreviewed, add some comments to HKDF/PBKDF2 Mac implementations
jiewen_tan@apple.com [Tue, 30 May 2017 23:23:08 +0000 (23:23 +0000)]
Unreviewed, add some comments to HKDF/PBKDF2 Mac implementations

* crypto/mac/CryptoAlgorithmHKDFMac.cpp:
(WebCore::CryptoAlgorithmHKDF::platformDeriveBits):
* crypto/mac/CryptoAlgorithmPBKDF2Mac.cpp:
(WebCore::CryptoAlgorithmPBKDF2::platformDeriveBits):

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

3 years agom_resourceSelectionTaskQueue tasks should be cleared when player is destroyed to...
commit-queue@webkit.org [Tue, 30 May 2017 21:59:14 +0000 (21:59 +0000)]
m_resourceSelectionTaskQueue tasks should be cleared when player is destroyed to prevent invalid state.
https://bugs.webkit.org/show_bug.cgi?id=172726
rdar://problem/30867764

Patch by Jeremy Jones <jeremyj@apple.com> on 2017-05-30
Reviewed by Eric Carlson.

I haven't found a reproducible way to make a test case for this race condition.

If m_player is cleared while there is an outstanding task in m_resourceSelectionTaskQueue,
that task may assume m_player is not null and crash. It is better to cancel that task than
to perform it part way with null checks.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::clearMediaPlayer):

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

3 years agoOnly include DataDetectorsUI headers in iOS
rniwa@webkit.org [Tue, 30 May 2017 21:54:52 +0000 (21:54 +0000)]
Only include DataDetectorsUI headers in iOS
https://bugs.webkit.org/show_bug.cgi?id=172633

Reviewed by David Kilzer.

Enable data detectors only on iOS and not other variants of iOS.

Source/WebCore:

* editing/cocoa/DataDetection.h:
* editing/cocoa/DataDetection.mm:
* page/DragController.cpp:
(WebCore::isDraggableLink):
* platform/cocoa/DataDetectorsCoreSoftLink.h:
* platform/cocoa/DataDetectorsCoreSoftLink.mm:
* platform/spi/cocoa/DataDetectorsCoreSPI.h:
* platform/spi/ios/DataDetectorsUISPI.h:
* platform/spi/mac/DataDetectorsSPI.h:

Source/WebKit/mac:

* WebCoreSupport/WebFrameLoaderClient.mm:

Source/WebKit2:

* Platform/spi/ios/ManagedConfigurationSPI.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _dataDetectionResults]):
* UIProcess/ios/WKActionSheetAssistant.h:
* UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant showDataDetectorsSheet]):
* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _actionForLongPressFromPositionInformation:]):
(-[WKContentView _didNotHandleTapAsClick:]):
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInRangeHandle.mm:
(-[WKWebProcessPlugInRangeHandle detectDataWithTypes:context:]):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::handleTap):
(WebKit::WebPage::handleTwoFingerTapAtPoint):
(WebKit::WebPage::commitPotentialTap):

Source/WTF:

* wtf/FeatureDefines.h:
* wtf/Platform.h:

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

3 years agoPrevent async methods named 'function' in Object literal
gskachkov@gmail.com [Tue, 30 May 2017 21:35:49 +0000 (21:35 +0000)]
Prevent async methods named 'function' in Object literal
https://bugs.webkit.org/show_bug.cgi?id=172660

Reviewed by Saam Barati.

JSTests:

* stress/async-await-syntax.js:
(testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntaxError):

Source/JavaScriptCore:

Prevent async method named 'function' in object.
https://github.com/tc39/ecma262/pull/884

* parser/Parser.cpp:
(JSC::Parser<LexerType>::parsePropertyMethod):

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

3 years agoASSERTION FAILED: generator.isConstructor() || generator.derivedContextType() ==...
gskachkov@gmail.com [Tue, 30 May 2017 21:29:37 +0000 (21:29 +0000)]
ASSERTION FAILED: generator.isConstructor() || generator.derivedContextType() == DerivedContextType::DerivedConstructorContext
https://bugs.webkit.org/show_bug.cgi?id=171274

Reviewed by Saam Barati.

JSTests:

* stress/async-arrow-functions-lexical-binding-in-class.js:
(shouldBeAsync):
(shouldBeAsyncAndStoreBind):
(promise.new.Promise):
(ChildClass4):
(ChildClass4.prototype.classValue):
(ChildClass4.prototype.get classProperty):
* stress/async-arrow-functions-lexical-super-binding.js:
(A):
(const.childA1.new.prototype.var.f.async):
(const.childA1.new.var):
(const.childA1.new):
(const.childA2.new.prototype.var.f.async):
(const.childA2.new.var):
(const.childA2.new):
(const.childA3.new.prototype.var.f.async):
(const.childA3.new.var):
(const.childA3.new):
(try.childA4.new.prototype.var.f.async):
(try.childA4.new.var):
(try.childA4.new):
(catch):
(const.childA5.new.prototype.var.f.async):
(const.childA5.new.var):
(const.childA5.new):
(checkClass):
(checkClass.new.prototype.var.f.async):
(checkClass.new.var):
(checkClass.new):
(checkClass.new.prototype.method):
(checkClass.new.prototype.prop):

Source/JavaScriptCore:

Current patch allow to use async arrow function within constructor,
and allow to access to `this`. Current patch force load 'this' from
virtual scope each time as we access to `this` in async arrow function
within constructor it is neccessary because async function can be
suspended and `superCall` can be called and async function resumed.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitPutGeneratorFields):
(JSC::BytecodeGenerator::ensureThis):
* bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::makeFunction):

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

3 years agoREGRESSION(r215946): Can't reference a table cell in Google spreadsheet
cdumez@apple.com [Tue, 30 May 2017 21:19:01 +0000 (21:19 +0000)]
REGRESSION(r215946): Can't reference a table cell in Google spreadsheet
https://bugs.webkit.org/show_bug.cgi?id=172703
<rdar://problem/32458086>

Reviewed by Ryosuke Niwa.

Source/WebCore:

We updated getClientRects() to return an array of DOMRect objects instead of
a ClientRectList type, to match the latest specification. As it turns out, this
is not Web-compatible as some content (as Google Spreadsheet) relies on the
return type having an item() operation.

This patch re-introduces a DOMRectList type, with an item() operation. The
DOMRectList name is currently not exposed to the Web as we do not know what's
going to get specified yet (https://github.com/w3c/csswg-drafts/issues/1479).

No new tests, updated existing tests.

* CMakeLists.txt:
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* dom/DOMRect.h:
* dom/DOMRectList.cpp: Copied from Source/WebCore/dom/DOMRect.cpp.
(WebCore::DOMRectList::DOMRectList):
(WebCore::DOMRectList::~DOMRectList):
* dom/DOMRectList.h: Copied from Source/WebCore/dom/DOMRect.cpp.
(WebCore::DOMRectList::create):
(WebCore::DOMRectList::length):
(WebCore::DOMRectList::item):
* dom/DOMRectList.idl: Renamed from Source/WebCore/dom/DOMRect.cpp.
* dom/Element.cpp:
(WebCore::Element::getClientRects):
* dom/Element.h:
* dom/Element.idl:
* dom/Range.cpp:
(WebCore::Range::getClientRects):
* dom/Range.h:
* dom/Range.idl:
* page/Page.cpp:
(WebCore::Page::nonFastScrollableRects):
(WebCore::Page::touchEventRectsForEvent):
(WebCore::Page::passiveTouchEventListenerRects):
* page/Page.h:
* testing/Internals.cpp:
(WebCore::Internals::inspectorHighlightRects):
(WebCore::Internals::touchEventRectsForEvent):
(WebCore::Internals::passiveTouchEventListenerRects):
(WebCore::Internals::nonFastScrollableRects):
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit2:

Fix GObject bindings accordingly.

* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMClientRectList.cpp:
(WebKit::kit):
(WebKit::core):
(WebKit::wrapDOMRectList):
(webkit_dom_client_rect_list_constructed):
(webkit_dom_client_rect_list_item):
(webkit_dom_client_rect_list_get_length):
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMClientRectListPrivate.h:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElement.cpp:
(webkit_dom_element_get_client_rects):

LayoutTests:

Update existing tests to reflect behavior change.

* fast/dom/Element/getClientRects-return-type-expected.txt:
* fast/dom/Element/getClientRects-return-type.html:
* fast/dom/Range/getBoundingClientRect-getClientRects-return-type-expected.txt:
* fast/dom/Range/getBoundingClientRect-getClientRects-return-type.html:

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

3 years ago[css-align] Import W3C web platform tests for the CSS Box Alignment feature
jfernandez@igalia.com [Tue, 30 May 2017 21:18:01 +0000 (21:18 +0000)]
[css-align] Import W3C web platform tests for the CSS Box Alignment feature
https://bugs.webkit.org/show_bug.cgi?id=172705

Reviewed by Manuel Rego Casasnovas.

LayoutTests/imported/w3c:

This patch imports the new alignment tests for the CSS Box Alignment test suite
from WPT repository.

* resources/import-expectations.json:
* web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-001-expected.txt: Added.
* web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-001.html: Added.
* web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-002-expected.txt: Added.
* web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-002.html: Added.
* web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-003-expected.txt: Added.
* web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-003.html: Added.
* web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-004-expected.txt: Added.
* web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-004.html: Added.
* web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-005-expected.txt: Added.
* web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-005.html: Added.
* web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-006-expected.txt: Added.
* web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-006.html: Added.
* web-platform-tests/css/css-align-3/content-distribution/w3c-import.log: Added.
* web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-001-expected.txt: Added.
* web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-001.html: Added.
* web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-002-expected.txt: Added.
* web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-002.html: Added.
* web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-003-expected.txt: Added.
* web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-003.html: Added.
* web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-004-expected.txt: Added.
* web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-004.html: Added.
* web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-005-expected.txt: Added.
* web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-005.html: Added.
* web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-006-expected.txt: Added.
* web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-006.html: Added.
* web-platform-tests/css/css-align-3/default-alignment/w3c-import.log: Added.
* web-platform-tests/css/css-align-3/distribution-values/space-evenly-001-expected.xht: Added.
* web-platform-tests/css/css-align-3/distribution-values/space-evenly-001.html: Added.
* web-platform-tests/css/css-align-3/distribution-values/w3c-import.log: Added.
* web-platform-tests/css/css-align-3/resources/alignment-parsing-utils.js: Added.
(checkPlaceShorhand):
(checkPlaceShorhandLonghands):
(checkPlaceShorthandInvalidValues):
* web-platform-tests/css/css-align-3/resources/w3c-import.log: Added.
* web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-001-expected.txt: Added.
* web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-001.html: Added.
* web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-002-expected.txt: Added.
* web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-002.html: Added.
* web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-003-expected.txt: Added.
* web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-003.html: Added.
* web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-004-expected.txt: Added.
* web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-004.html: Added.
* web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-005-expected.txt: Added.
* web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-005.html: Added.
* web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-006-expected.txt: Added.
* web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-006.html: Added.
* web-platform-tests/css/css-align-3/self-alignment/w3c-import.log: Added.

LayoutTests:

* TestExpectations: Mark as failure a few tests due to bug #172707.

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

3 years agoAdd unit test for WebKit2 C SPI runBeforeUnloadConfirmPanel()
dbates@webkit.org [Tue, 30 May 2017 21:12:53 +0000 (21:12 +0000)]
Add unit test for WebKit2 C SPI runBeforeUnloadConfirmPanel()
https://bugs.webkit.org/show_bug.cgi?id=172671

Reviewed by Alex Christensen.

We should add a unit test to ensure we do not regress the WKPageUIClient runBeforeUnloadConfirmPanel() callback.
For completeness, the callback runBeforeUnloadConfirmPanel() existed since inception of WKPageUIClient (WKPageUIClientV0).

* TestWebKitAPI/Tests/WebKit2/ModalAlertsSPI.cpp:
(TestWebKitAPI::analyzeDialogArguments): Test the runBeforeUnloadConfirmPanel() callback last as we need
to trigger a navigation to test it.
(TestWebKitAPI::runBeforeUnloadConfirmPanel): Added.
(TestWebKitAPI::createNewPage): Wire up the runBeforeUnloadConfirmPanel callback.

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

3 years ago[CredentialManagement] Incorporate IDL updates from latest spec
commit-queue@webkit.org [Tue, 30 May 2017 21:08:18 +0000 (21:08 +0000)]
[CredentialManagement] Incorporate IDL updates from latest spec
https://bugs.webkit.org/show_bug.cgi?id=172011

Patch by Ali Juma <ajuma@chromium.org> on 2017-05-30
Reviewed by Daniel Bates.

Source/JavaScriptCore:

* runtime/CommonIdentifiers.h:

Source/WebCore:

This patch adds IDL definitions for the CredentialsContainer, CredentialsUserData and
FederatedCredentials interfaces, the NavigatorCredentials partial interface, and the
CredentialCreationOptions, CredentialRequestOptions, FederatedCredentialRequestOptions,
and PasswordCredentialData dictionaries. It also deletes IDL definitions for the
SiteBoundCredential interface and the SiteBoundCredentialData dictionary.

Test: credentials/idlharness.html

* CMakeLists.txt:
* DerivedSources.make:
* Modules/credentials/BasicCredential.idl:
* Modules/credentials/CredentialCreationOptions.h: Copied from Source/WebCore/Modules/credentials/PasswordCredential.cpp.
* Modules/credentials/CredentialCreationOptions.idl: Copied from Source/WebCore/Modules/credentials/SiteBoundCredentialData.h.
* Modules/credentials/CredentialRequestOptions.h: Copied from Source/WebCore/Modules/credentials/SiteBoundCredentialData.h.
* Modules/credentials/CredentialRequestOptions.idl: Copied from Source/WebCore/Modules/credentials/SiteBoundCredentialData.h.
* Modules/credentials/CredentialUserData.h: Copied from Source/WebCore/Modules/credentials/SiteBoundCredentialData.h.
(WebCore::CredentialUserData::~CredentialUserData):
* Modules/credentials/CredentialUserData.idl: Copied from Source/WebCore/Modules/credentials/SiteBoundCredential.idl.
* Modules/credentials/CredentialsContainer.cpp: Copied from Source/WebCore/Modules/credentials/PasswordCredential.cpp.
(WebCore::CredentialsContainer::get):
(WebCore::CredentialsContainer::store):
(WebCore::CredentialsContainer::isCreate):
(WebCore::CredentialsContainer::preventSilentAccess):
* Modules/credentials/CredentialsContainer.h: Copied from Source/WebCore/Modules/credentials/SiteBoundCredential.h.
(WebCore::CredentialsContainer::create):
(WebCore::CredentialsContainer::CredentialsContainer):
* Modules/credentials/CredentialsContainer.idl: Copied from Source/WebCore/Modules/credentials/SiteBoundCredential.idl.
* Modules/credentials/FederatedCredential.cpp: Copied from Source/WebCore/Modules/credentials/SiteBoundCredential.cpp.
(WebCore::FederatedCredential::FederatedCredential):
(WebCore::FederatedCredential::~FederatedCredential):
* Modules/credentials/FederatedCredential.h: Renamed from Source/WebCore/Modules/credentials/SiteBoundCredential.h.
(WebCore::FederatedCredential::create):
(WebCore::FederatedCredential::provider):
(WebCore::FederatedCredential::protocol):
* Modules/credentials/FederatedCredential.idl: Copied from Source/WebCore/Modules/credentials/BasicCredential.idl.
* Modules/credentials/FederatedCredentialInit.h: Copied from Source/WebCore/Modules/credentials/SiteBoundCredentialData.h.
* Modules/credentials/FederatedCredentialInit.idl: Copied from Source/WebCore/Modules/credentials/SiteBoundCredentialData.idl.
* Modules/credentials/FederatedCredentialRequestOptions.h: Copied from Source/WebCore/Modules/credentials/SiteBoundCredentialData.h.
* Modules/credentials/FederatedCredentialRequestOptions.idl: Added.
* Modules/credentials/NavigatorCredentials.cpp: Renamed from Source/WebCore/Modules/credentials/SiteBoundCredential.cpp.
(WebCore::NavigatorCredentials::NavigatorCredentials):
(WebCore::NavigatorCredentials::~NavigatorCredentials):
(WebCore::NavigatorCredentials::supplementName):
(WebCore::NavigatorCredentials::credentials):
(WebCore::NavigatorCredentials::from):
* Modules/credentials/NavigatorCredentials.h: Copied from Source/WebCore/Modules/credentials/SiteBoundCredentialData.h.
* Modules/credentials/NavigatorCredentials.idl: Renamed from Source/WebCore/Modules/credentials/SiteBoundCredential.idl.
* Modules/credentials/PasswordCredential.cpp:
(WebCore::PasswordCredential::PasswordCredential):
(WebCore::PasswordCredential::~PasswordCredential):
* Modules/credentials/PasswordCredential.h:
(WebCore::PasswordCredential::create):
(WebCore::PasswordCredential::password):
(WebCore::PasswordCredential::setIdName): Deleted.
(WebCore::PasswordCredential::idName): Deleted.
(WebCore::PasswordCredential::setPasswordName): Deleted.
(WebCore::PasswordCredential::passwordName): Deleted.
(WebCore::PasswordCredential::setAdditionalData): Deleted.
(WebCore::PasswordCredential::additionalData): Deleted.
* Modules/credentials/PasswordCredential.idl:
* Modules/credentials/PasswordCredentialData.h: Renamed from Source/WebCore/Modules/credentials/SiteBoundCredentialData.h.
* Modules/credentials/PasswordCredentialData.idl: Renamed from Source/WebCore/Modules/credentials/SiteBoundCredentialData.idl.
* WebCore.xcodeproj/project.pbxproj:

LayoutTests:

* credentials/idlharness-expected.txt:
* credentials/idlharness.html:

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

3 years agowebkitpy: Start servers before setting-up for testing
jbedard@apple.com [Tue, 30 May 2017 21:08:11 +0000 (21:08 +0000)]
webkitpy: Start servers before setting-up for testing
https://bugs.webkit.org/show_bug.cgi?id=172176
<rdar://problem/32225538>

Reviewed by Alexey Proskuryakov.

On-device testing requires that servers are started before ports set-up their
test environments.

* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner.__init__): Start servers when initializing LayoutTestRunner.
Servers are unconditionally stopped on exit.
(LayoutTestRunner.run_tests): Move the starting of servers to the initializer. The
Manager now stops servers.
(LayoutTestRunner.start_servers): Set flag to indicate servers are running.
(LayoutTestRunner.stop_servers): Check flag, only shutdown servers if they are shutdown.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.__init__): Delay construction of the test runner until we can determine
if servers need to be started.
(Manager.run): Determine if servers need to be started and construct the test runner.
Shut servers down when the test run is finished.
(Manager._run_tests): Move the determination of servers to run into Manager.run.
* Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
(is_wpt_server_running): Server is not running if no config is found.
* Scripts/webkitpy/layout_tests/servers/websocket_server.py:
(PyWebSocket.is_running): Check if this WebSocket server is running.
* Scripts/webkitpy/port/base.py:
(Port.__init__): Define secure WebSocket server.
(Port.to.is_websocket_server_running): Check if WebSocket servers are defined.

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

3 years ago[WK2] Add runBeforeUnloadConfirmPanel WKUIDelegate SPI; support onbeforeunload confir...
dbates@webkit.org [Tue, 30 May 2017 21:01:59 +0000 (21:01 +0000)]
[WK2] Add runBeforeUnloadConfirmPanel WKUIDelegate SPI; support onbeforeunload confirm panel in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=172603
<rdar://problem/32471306>

Reviewed by Brady Eidson.

Source/WebKit2:

A page loaded in MiniBrowser using WebKit2 cannot show a beforeunload confirm panel (by registering
an onbeforeunload event handler) when it is unloaded. The same page loaded in MiniBrowser using
WebKit1 can show such a confirm panel. We need to add WKUIDelegate SPI so that an embedding client,
such as MiniBrowser, can register to receive a callback to show a beforeunload confirm panel.

* UIProcess/API/APIUIClient.h:
(API::UIClient::runBeforeUnloadConfirmPanel): Modified to take a SecurityOriginData object. This
makes the API consistent with the existing JavaScript dialog callbacks.
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
* UIProcess/API/Cocoa/WKUIDelegatePrivate.h: Add SPI -_webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler:.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView setUIDelegate:]): Set the delegate of WebKit::UIDelegate to the specified WKUIDelegate
before we set the UI client on the page so as to ensure that API::UIClient callbacks that depend
-respondsToSelector: checks (e.g. API::UIClient::canRunBeforeUnloadConfirmPanel()) return the correct
result. To elaborate further, a API::UIClient client must override both canRunBeforeUnloadConfirmPanel()
and runBeforeUnloadConfirmPanel() to support running a beforeunload confirm dialog. When mapping
the Cocoa SPI, WKUIDelegatePrivate, to API::UIClient we implement API::UIClient::canRunBeforeUnloadConfirmPanel()
in terms of whether the Cocoa delegate responds at runtime to the selector -_webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler:.
We need to do such runtime checks before we pass the API::UIClient to the page. Otherwise, querying
API::UIClient::canRunBeforeUnloadConfirmPanel() will return the wrong result.
* UIProcess/API/gtk/WebKitUIClient.cpp: Modified runBeforeUnloadConfirmPanel() to take a SecurityOriginData object.
* UIProcess/Cocoa/UIDelegate.h: Add declarations for API::UIClient overrides: canRunBeforeUnloadConfirmPanel()
and runBeforeUnloadConfirmPanel(). Add a bit to m_delegateMethods as to whether the Cocoa delegate
responds to selector -_webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler:.
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate): Set the above m_delegateMethods bit if the Cocoa delegate responds
to selector -_webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler:.
(WebKit::UIDelegate::UIClient::canRunBeforeUnloadConfirmPanel): Return whether the above m_delegateMethods
bit was set.
(WebKit::UIDelegate::UIClient::runBeforeUnloadConfirmPanel): Turn around and call -_webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler: (if applicable).
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::runBeforeUnloadConfirmPanel): Modified to take a SecurityOriginData object
and pass it to API::UIClient::runBeforeUnloadConfirmPanel().
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in: Add SecurityOriginData argument to message RunBeforeUnloadConfirmPanel.
Also pass the message for the panel as the last argument so as to make the order of arguments to message
RunBeforeUnloadConfirmPanel more closely match the order of arguments passed to other JavaScript dialog
messages (e.g. RunJavaScriptAlert) for consistency.
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::runBeforeUnloadConfirmPanel): Include the SecurityOriginData object for the
frame in message RunBeforeUnloadConfirmPanel.

Tools:

Implement the -_webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler: delegate
method in MiniBrowser to show a confirm panel as to whether to allow the unloading of the page when
unloading is initiated for a page that registered a onbeforeunload handler.

Modify TestWebKitAPI/Tests/WebKit2Cocoa/ModalAlerts.mm to test that the -_webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler:
is called. Also fix style nit; pass YES instead of true to avoid implicit conversion from bool to BOOL
when invoking the completion handler in -_webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:.

Until we fix <https://bugs.webkit.org/show_bug.cgi?id=172614> the unit test in TestWebKitAPI/Tests/WebKit2Cocoa/ModalAlerts.mm
for -_webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler: is only run on Mac
as we do not have the infrastructure to simulate a click/tap on iOS and a click/tap on the page that
registered an onbeforeunload handler is required to show a confirm panel when the page will be unloaded.

* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController _webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler:]):
* TestWebKitAPI/Tests/WebKit2/modal-alerts-in-new-about-blank-window.html:
* TestWebKitAPI/Tests/WebKit2Cocoa/ModalAlerts.mm:
(sawDialog):
(-[ModalAlertsUIDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
(-[ModalAlertsUIDelegate webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[ModalAlertsUIDelegate _webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler:]):

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

3 years agoUpdate libwebrtc configuration
achristensen@apple.com [Tue, 30 May 2017 20:56:41 +0000 (20:56 +0000)]
Update libwebrtc configuration
https://bugs.webkit.org/show_bug.cgi?id=172727

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore/PAL:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

Tools:

* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

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

3 years agoSkip imported/w3c/web-platform-tests/innerText/getter.html.
ryanhaddad@apple.com [Tue, 30 May 2017 20:37:58 +0000 (20:37 +0000)]
Skip imported/w3c/web-platform-tests/innerText/getter.html.
https://bugs.webkit.org/show_bug.cgi?id=172514

Unreviewed test gardening.

* TestExpectations:

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

3 years agoconvertEnumerationToJS() should not stash ASCIILiteral strings in NeverDestroyed...
mark.lam@apple.com [Tue, 30 May 2017 20:34:47 +0000 (20:34 +0000)]
convertEnumerationToJS() should not stash ASCIILiteral strings in NeverDestroyed arrays.
https://bugs.webkit.org/show_bug.cgi?id=172724
<rdar://problem/31193201>

Reviewed by Chris Dumez.

Use MAKE_STATIC_STRING_IMPL instead, which is guaranteed to be thread-safe and
satisfies the promise of immortality promised by NeverDestroyed (while ASCIILiteral
does not always satisfy this promise).

Also converted the ASSERT in convertEnumerationToJS() to a RELEASE_ASSERT as a
debugging aid to check if it is ever passed an invalid enumerationValue.

No new tests because this is a speculative fix for an issue observed in the wild
whose root cause is not known yet.  This patch also adds a release assert to
gather more info about the nature of the issue.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateEnumerationImplementationContent):

* bindings/scripts/test/JS/JSTestCallbackInterface.cpp:
(WebCore::convertEnumerationToJS):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::convertEnumerationToJS):
* bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp:
(WebCore::convertEnumerationToJS):
* bindings/scripts/test/JS/JSTestStandaloneEnumeration.cpp:
(WebCore::convertEnumerationToJS):
- re-baselined these test results.

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

3 years agoREGRESSION(r216882): No image decoding is needed if the BitmapImage is created with...
commit-queue@webkit.org [Tue, 30 May 2017 20:02:09 +0000 (20:02 +0000)]
REGRESSION(r216882): No image decoding is needed if the BitmapImage is created with a NativeImage
https://bugs.webkit.org/show_bug.cgi?id=172670

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-05-30
Reviewed by Tim Horton.

Source/WebCore:

Test: fast/images/large-image-webkit-canvas.html

Check whether the BitmapImage has created an ImageDecoder before trying
to decode its image frame.

* platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::shouldUseAsyncDecoding):

LayoutTests:

Use the css property -webkit-canvas to force capturing the canvas context
in a NativeImage. This NativeImage will be used to create a BitmapImage
which will be later used as the background-image of an element.

* fast/images/large-image-webkit-canvas-expected.html: Added.
* fast/images/large-image-webkit-canvas.html: Added.

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

3 years agoDictionary lookup disappears after a few seconds on observer.com
timothy_horton@apple.com [Tue, 30 May 2017 19:57:18 +0000 (19:57 +0000)]
Dictionary lookup disappears after a few seconds on observer.com
https://bugs.webkit.org/show_bug.cgi?id=172725
<rdar://problem/32328324>

Reviewed by Beth Dakin.

Only dismiss content-relative child windows on main frame loads,
not all subframes. This was causing e.g. dictionary popovers
relative to main-frame content to be dismissed when subframe
ads finished loading, which is likely the cause of most incidents
of this problem.

If the popover is relative to subframe content and the subframe
navigates out from under the popover, the popover will persist until
dismissed by the user (or one of the other automatic dismissal
mechanisms), but that seems preferable to the old behavior.

* UIProcess/Cocoa/WebViewImpl.h:
Remove an unimplemented and unused declaration.

* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::processDidExit):
Move dismissContentRelativeChildWindows call here from WebPageProxy.

* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::didCommitLoadForMainFrame):
(WebKit::PageClientImpl::navigationGestureDidBegin):
(WebKit::PageClientImpl::dismissContentRelativeChildWindows):
Remove dismissContentRelativeChildWindows from PageClient(Impl),
call it from inside PageClientImpl and other Mac-specific places
instead of inside ifdefs in WebPageProxy.

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

3 years agoChanged Text Expectations of imported/blink/storage/indexeddb/blob-valid-after-deleti...
jlewis3@apple.com [Tue, 30 May 2017 19:51:23 +0000 (19:51 +0000)]
Changed Text Expectations of imported/blink/storage/indexeddb/blob-valid-after-deletion.html
https://bugs.webkit.org/show_bug.cgi?id=172403

Unreviewed test gardening.

* platform/ios/TestExpectations:

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

3 years agoDon't use designated initializers in WebBackForwardListProxy.cpp
annulen@yandex.ru [Tue, 30 May 2017 18:34:55 +0000 (18:34 +0000)]
Don't use designated initializers in WebBackForwardListProxy.cpp
https://bugs.webkit.org/show_bug.cgi?id=172667

Reviewed by Alex Christensen.

* WebProcess/WebPage/WebBackForwardListProxy.cpp:
(WebKit::WebBackForwardListProxy::addItemFromUIProcess):
(WebKit::WebBackForwardListProxy::addItem):

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

3 years ago[WinCairo] TestWebKitAPI: ASSERTION FAILED: m_eglDisplay == EGL_NO_DISPLAY
commit-queue@webkit.org [Tue, 30 May 2017 18:29:55 +0000 (18:29 +0000)]
[WinCairo] TestWebKitAPI: ASSERTION FAILED: m_eglDisplay == EGL_NO_DISPLAY
https://bugs.webkit.org/show_bug.cgi?id=172702

Patch by Fujii Hironori <Hironori.Fujii@sony.com> on 2017-05-30
Reviewed by Alex Christensen.

EGL PlatformDisplay needs to be shut down before existing a
program on Windows.

* TestWebKitAPI/Tests/WebKit/win/ScaleWebView.cpp:
(TestWebKitAPI::ScaleWebView::TearDown): Call shutDownWebKit().
* TestWebKitAPI/Tests/WebKit/win/WebViewDestruction.cpp:
(TestWebKitAPI::WebViewDestruction::TearDown): Ditto.

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

3 years agoRealtimeOutgoingVideoSource should not rotate muted frames
commit-queue@webkit.org [Tue, 30 May 2017 18:29:13 +0000 (18:29 +0000)]
RealtimeOutgoingVideoSource should not rotate muted frames
https://bugs.webkit.org/show_bug.cgi?id=172659

Patch by Youenn Fablet <youenn@apple.com> on 2017-05-30
Reviewed by Eric Carlson.

Source/WebCore:

Test: webrtc/video-rotation.html

When sending black frames, it is unnecessary to rotate frames.
Instead, it is better to create frame with the expected width and height.
Making sure libwebrtc rotated images are not null, as only YUV rotation is supported.

Adding internals API to test part of that code path.
Full coverage should be added when mock source is producing YUV images.

* Modules/mediastream/PeerConnectionBackend.h:
(WebCore::PeerConnectionBackend::applyRotationForOutgoingVideoSources):
* Modules/mediastream/RTCPeerConnection.h:
* Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:
(WebCore::LibWebRTCPeerConnectionBackend::applyRotationForOutgoingVideoSources):
* Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.h:
* platform/mediastream/mac/RealtimeOutgoingVideoSource.cpp:
(WebCore::RealtimeOutgoingVideoSource::sendBlackFrames):
(WebCore::RealtimeOutgoingVideoSource::sendFrame):
* platform/mediastream/mac/RealtimeOutgoingVideoSource.h:
* testing/Internals.cpp:
(WebCore::Internals::Internals):
(WebCore::Internals::applyRotationForOutgoingVideoSources):
(WebCore::Internals::setCameraMediaStreamTrackOrientation):
* testing/Internals.h:
* testing/Internals.idl:

LayoutTests:

* webrtc/routines.js:
* webrtc/video-rotation-expected.txt: Added.
* webrtc/video-rotation.html: Added.

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

3 years agoUnreviewed typo correction.
bfulgham@apple.com [Tue, 30 May 2017 17:47:29 +0000 (17:47 +0000)]
Unreviewed typo correction.

* loader/ResourceLoadObserver.cpp:
(WebCore::ResourceLoadObserver::logFrameNavigation): I used an extra colon in my comment.

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

3 years agoMark js/intl-datetimeformat.html as failing.
ryanhaddad@apple.com [Tue, 30 May 2017 17:39:10 +0000 (17:39 +0000)]
Mark js/intl-datetimeformat.html as failing.
https://bugs.webkit.org/show_bug.cgi?id=172720

Unreviewed test gardening.

* js/script-tests/intl-datetimeformat.js:
* platform/mac/TestExpectations:

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

3 years agosync-builedbot.js fails to schedule the second request to test with a patch
rniwa@webkit.org [Tue, 30 May 2017 17:09:36 +0000 (17:09 +0000)]
sync-builedbot.js fails to schedule the second request to test with a patch
https://bugs.webkit.org/show_bug.cgi?id=172701

Reviewed by Antti Koivisto.

The bug was caused by an assertion failure in BuildbotTriggerable's _pullBuildbotOnAllSyncers failing to
take into account that for a test group with a patch could be associated with two syncers, one to build
a patch and another to run tests. Fixed the bug by differentiating the two types of syncers by buildSyncer
and testSyncer per test group.

* server-tests/tools-sync-buildbot-integration-tests.js: Extended a test case so that it would hit the
assertion without the fix.

* tools/js/buildbot-triggerable.js:
(BuildbotTriggerable.prototype.syncOnce): Use the right kind of the syncer to schedule a build or a test.
(BuildbotTriggerable.prototype._pullBuildbotOnAllSyncers): Associate a given syncer based on the kind of
the build request it processed, and assert accordingly.

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

3 years agoREGRESSION(r217515): Correct iterator invalidation bug (AGAIN)
bfulgham@apple.com [Tue, 30 May 2017 16:57:20 +0000 (16:57 +0000)]
REGRESSION(r217515): Correct iterator invalidation bug (AGAIN)
https://bugs.webkit.org/show_bug.cgi?id=172722
<rdar://problem/32462876>

Reviewed by Zalan Bujtas.

Over-enthusiastic clean-up during r217515 re-introduced a bug caused by holding a reference
to an iterator that gets invalidated while handling the frame navigation. This patch returns
to the copy/set behavior used prior to r217515.

* loader/ResourceLoadObserver.cpp:
(WebCore::ResourceLoadObserver::logFrameNavigation): Make a copy of the returned value, since
the iterator will be invalidated during the function call. Then set the copy back in the data
store with the updated counts.

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

3 years ago[Win] fast/shadow-dom/fullscreen-in-slot-fullscreenElement.html is flaky.
pvollan@apple.com [Tue, 30 May 2017 15:41:26 +0000 (15:41 +0000)]
[Win] fast/shadow-dom/fullscreen-in-slot-fullscreenElement.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=172709

Reviewed by Brent Fulgham.

Source/WebKit/win:

Add method to exit fullscreen mode.

* Interfaces/IWebViewPrivate.idl:
* WebView.cpp:
(WebView::exitFullscreenIfNeeded):
* WebView.h:

Tools:

Exit fullscreen mode after a fullscreen test.

* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebViewToConsistentStateBeforeTesting):

LayoutTests:

* platform/win/TestExpectations:

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

3 years agoASSERTION FAILED: !needsLayout() in com.apple.WebCore: WebCore::FrameView::paintConte...
antti@apple.com [Tue, 30 May 2017 15:33:02 +0000 (15:33 +0000)]
ASSERTION FAILED: !needsLayout() in com.apple.WebCore: WebCore::FrameView::paintContents in fast/events/tabindex-focus-blur-all.html on WK1
https://bugs.webkit.org/show_bug.cgi?id=172713

Reviewed by Zalan Bujtas.

* DumpRenderTree/mac/ResourceLoadDelegate.mm:
(-[ResourceLoadDelegate webView:plugInFailedWithError:dataSource:]):

    Remove forced display from plugin resource load delegate. It is testing some long-obsolete
    Safari WK1 behavior. Forcing display from this resource load delegate will hit the assertion
    because on Mac WK1 it may get invoked from middle of a layout.

    Painting code skips out after the assert so it doesn't indicate unsafe access of any sort.

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

3 years agoAdd a WPE EWS queue
clopez@igalia.com [Tue, 30 May 2017 14:43:43 +0000 (14:43 +0000)]
Add a WPE EWS queue
https://bugs.webkit.org/show_bug.cgi?id=172693

Reviewed by Carlos Garcia Campos.

* QueueStatusServer/config/queues.py:
* QueueStatusServer/model/queues.py: Capitalize the name of the
port on the tooltip of the bubbles. Do the same for the GTK port.
(Queue.display_name):
* Scripts/webkitpy/common/config/ews.json: Update the watcher mail
for the GTK+ EWS also. Set for both ports as watcher the alias
bugs-noreply@webkitgtk.org that maintainers of both ports follow.
* Scripts/webkitpy/common/config/ports.py:
(DeprecatedPort.port):
(WpePort):
(WpePort.build_webkit_command):
(WpePort.run_webkit_tests_command):
* Scripts/webkitpy/common/config/ports_unittest.py:
(DeprecatedPortTest):
(DeprecatedPortTest.test_wpe_port):
* Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
(test_ews_name):

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

3 years ago[GTK] Test cases for typehead in form menu lists should start from known state
aperez@igalia.com [Tue, 30 May 2017 14:33:20 +0000 (14:33 +0000)]
[GTK] Test cases for typehead in form menu lists should start from known state
https://bugs.webkit.org/show_bug.cgi?id=171792

Reviewed by Carlos Garcia Campos.

Since r215188 opening a popup menu in a form pre-selects the active
element to mimic GtkComboxBox behavior, but the layout test implicitly
assumed that type ahead search always started the beginning of the
list, which is no longer true now that GTK+ is informed of which one
is the active element.

* platform/gtk/fast/forms/menulist-typeahead-find.html: Reset menu
list to the initial state (no element selected, unfocused) at the
beginning of testTypeAheadFunction().

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

3 years ago[WinCairo] TestWebKitAPI: SHOULD NEVER BE REACHED in WebCore::cairoSurfaceSize
commit-queue@webkit.org [Tue, 30 May 2017 14:31:25 +0000 (14:31 +0000)]
[WinCairo] TestWebKitAPI: SHOULD NEVER BE REACHED in WebCore::cairoSurfaceSize
https://bugs.webkit.org/show_bug.cgi?id=172699

Patch by Fujii Hironori <Hironori.Fujii@sony.com> on 2017-05-30
Reviewed by Brent Fulgham.

Tests: WebCore.BitmapImageEmptyFrameTest in TestWebKitAPI

* platform/graphics/cairo/CairoUtilities.cpp:
(WebCore::cairoSurfaceSize): Added a case for win32 surface type.

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

3 years agoREGRESSION(r191402?): Safari, Mail crash at com.apple.WebKit: WebKit::WebContextMenuL...
antti@apple.com [Tue, 30 May 2017 14:02:48 +0000 (14:02 +0000)]
REGRESSION(r191402?): Safari, Mail crash at com.apple.WebKit: WebKit::WebContextMenuListenerProxy::invalidate + 4
https://bugs.webkit.org/show_bug.cgi?id=172704

Reviewed by Andreas Kling.

r191402 made WebContextMenuProxy non-refcounted. However there are several potential ways for WebContextMenuProxyMac::show()
to re-enter WebPageProxy and delete itself. This patch partially reverts r191402 bringing refcounting back and protects
WebContextMenuProxy during show().

Speculative fix. No test, can't repro the crash.

* UIProcess/PageClient.h:
* UIProcess/WebContextMenuProxy.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::internalShowContextMenu):

    Protect WebContextMenuProxy during show().

* UIProcess/WebPageProxy.h:
* UIProcess/gtk/WebContextMenuProxyGtk.h:
(WebKit::WebContextMenuProxyGtk::create):
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::createContextMenuProxy):
* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::createContextMenuProxy):
* UIProcess/mac/WebContextMenuProxyMac.h:
(WebKit::WebContextMenuProxyMac::create):

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

3 years ago[GTK][WPE][GSTREAMER_GL] Do not use cairo to copy video textures to an accelerated...
magomez@igalia.com [Tue, 30 May 2017 13:02:47 +0000 (13:02 +0000)]
[GTK][WPE][GSTREAMER_GL] Do not use cairo to copy video textures to an accelerated canvas
https://bugs.webkit.org/show_bug.cgi?id=172542

Reviewed by Žan Doberšek.

When drawing gstreamer-gl video frames into an accelerated canvas, we are currently using cairo to copy
the video textures into a new texture that will be painted into de destination canvas. While this eases
the code, it doesn't allow us to control the copy process. This is a problem because in order to use
gstreamer-gl properly, we will need to perform colorspace transformations during the copy. So, remove
this cairo copy and use VideoTextureCopierGStreamer instead.

The usage of VideoTextureCopierGStreamer is pretty much the same than in the webgl case, except that
no destination texture is provided. For that case, add a custom texture to hold the result that can
be requested after the copy.

Covered by existent tests.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::copyVideoTextureToPlatformTexture):
(WebCore::MediaPlayerPrivateGStreamerBase::nativeImageForCurrentTime):
(WebCore::MediaPlayerPrivateGStreamerBase::prepareContextForCairoPaint): Deleted.
(WebCore::MediaPlayerPrivateGStreamerBase::paintToCairoSurface): Deleted.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
(WebCore::MediaPlayerPrivateGStreamerBase::gstGLDisplay):
* platform/graphics/gstreamer/VideoTextureCopierGStreamer.cpp:
(WebCore::VideoTextureCopierGStreamer::VideoTextureCopierGStreamer):
(WebCore::VideoTextureCopierGStreamer::~VideoTextureCopierGStreamer):
(WebCore::VideoTextureCopierGStreamer::copyVideoTextureToPlatformTexture):
* platform/graphics/gstreamer/VideoTextureCopierGStreamer.h:
(WebCore::VideoTextureCopierGStreamer::resultTexture):

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

3 years agoInvalidate the LayerTreeHost when destroying the DrawingAreaWPE object.
zandobersek@gmail.com [Tue, 30 May 2017 11:03:00 +0000 (11:03 +0000)]
Invalidate the LayerTreeHost when destroying the DrawingAreaWPE object.

Rubber-stamped by Carlos Garcia Campos.

* WebProcess/WebPage/wpe/DrawingAreaWPE.cpp:
(WebKit::DrawingAreaWPE::~DrawingAreaWPE): Invalidate the LayerTreeHost
object, properly deconstructing the graphics pipeline.

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

3 years agoCrash on display-contents-replaced-001.html
antti@apple.com [Tue, 30 May 2017 08:35:40 +0000 (08:35 +0000)]
Crash on display-contents-replaced-001.html
https://bugs.webkit.org/show_bug.cgi?id=172596

Reviewed by Andreas Kling.

Source/WebCore:

This is crashing because some code can't handle display:contents on form controls. Turns
out the draft specification tell us to disable it for them in any case.

See https://drafts.csswg.org/css-display-3/#unbox

* css/StyleResolver.cpp:
(WebCore::hasEffectiveDisplayNoneForDisplayContents):

    For certain HTML elements (replaced elements, form controls) display:contents should
    behave like display:none.
    Also disable it for SVG and MathML elements.

(WebCore::StyleResolver::adjustRenderStyle):

    Also compute to display:none when there is no associated element (pseudos etc).

LayoutTests:

* TestExpectations: Enable the test.

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

3 years ago[GCrypt] RSA-OAEP support
zandobersek@gmail.com [Tue, 30 May 2017 08:27:49 +0000 (08:27 +0000)]
[GCrypt] RSA-OAEP support
https://bugs.webkit.org/show_bug.cgi?id=171222

Reviewed by Michael Catanzaro.

Source/WebCore:

Add RSA-OAEP support for configurations that use libgcrypt.

The encryption operation embeds the plain-text data into a data s-expression,
specifying OAEP as the padding method of choice and also adding information
about the hash algorithm and any label data. This is then passed to the
gcry_pk_encrypt() call together with the provided key, returning the enc-val
s-expression containing the resulting cipher text. That's retrieved from the
relevant MPI and returned to the caller.

The decryption operation embeds the cipher-text data into an enc-val
s-expression, again specifying the hash algorithm and also filling in any
label data. This is then passed, along with the key, to the gcry_pk_decrypt()
call. The returned data s-expression contains the decrypted plain-text data
inside the 'value' MPI, from which this data is extracted and returned to the
caller.

No new tests -- the revelant tests are passing and are unskipped, apart from
the ones using PKSC#8 and SPKI formats.

* crypto/gcrypt/CryptoAlgorithmRSA_OAEPGCrypt.cpp:
(WebCore::hashAlgorithmName):
(WebCore::mpiData):
(WebCore::gcryptEncrypt):
(WebCore::gcryptDecrypt):
(WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt):
(WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt):

LayoutTests:

* platform/gtk/TestExpectations: Enable the RSA-OAEP layout tests that we pass.

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

3 years agoUnreviewed follow-up to r217546. Address some review comments that I forgot about.
zandobersek@gmail.com [Tue, 30 May 2017 08:06:46 +0000 (08:06 +0000)]
Unreviewed follow-up to r217546. Address some review comments that I forgot about.

* crypto/gcrypt/CryptoAlgorithmRSAES_PKCS1_v1_5GCrypt.cpp:
(WebCore::gcryptEncrypt): Use quotations when referencing s-expression names in
comments to avoid confusion.
(WebCore::gcryptDecrypt): Ditto.

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

3 years ago[GCrypt] RSAES-PKCS1-v1_5 support
zandobersek@gmail.com [Tue, 30 May 2017 07:45:10 +0000 (07:45 +0000)]
[GCrypt] RSAES-PKCS1-v1_5 support
https://bugs.webkit.org/show_bug.cgi?id=171219

Reviewed by Michael Catanzaro.

Source/WebCore:

Add RSAES-PKCS1-v1_5 support for configurations that use libgcrypt.

The encryption operation embeds the plain-text data into a data s-expression,
specifying PKCS#1 as the padding method of choice. That's passed to the
gcry_pk_encrypt() call together with the specified key. The returned enc-val
expression contains the 'a' MPI from which the data is extracted and returned.

The decryption operation goes in reverse -- the cipher-text data is embedded
into an enc-val s-expression that again also specifies PKCS#1 as the padding
method. The s-expression is passed to gcry_pk_decrypt() together with the
specified key. The returned data s-expression contains the decrypted text
inside the 'value' parameter, so the data is extracted from that and returned
to the caller.

No new tests -- the revelant tests are passing and are unskipped, apart from
the ones using PKCS#8 and SPKI formats.

* crypto/gcrypt/CryptoAlgorithmRSAES_PKCS1_v1_5GCrypt.cpp:
(WebCore::mpiData):
(WebCore::gcryptEncrypt):
(WebCore::gcryptDecrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):

LayoutTests:

* platform/gtk/TestExpectations: Enable the RSAES-PKCS1-v1_5 layout tests that we pass.

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

3 years ago[GCrypt] RSASSA-PKCS1-v1_5 support
zandobersek@gmail.com [Tue, 30 May 2017 07:27:35 +0000 (07:27 +0000)]
[GCrypt] RSASSA-PKCS1-v1_5 support
https://bugs.webkit.org/show_bug.cgi?id=171220

Reviewed by Michael Catanzaro.

Source/WebCore:

Add RSASSA-PKSC1-V_15 support for configurations that use libgcrypt.

The signing operation first digests data with the specified hash algorithm.
That's then embedded in the data s-expression. That's then passed to the
gcry_pk_sign() call together with the specified key, returning a sig-val
s-expression containing the signature. The signature data is then retrieved
from the relevant MPI and returned to the caller.

The verification operation first digests data with the specified hash
algorithm. That's then embedded in the data s-expression. A sig-val
s-expression is constructed, embedding the signature data. The data and
sig-val s-expressions are passed to the gcry_sexp_verify() call which returns
the resulting error code. The verification succeeds if the returned value is
GPG_ERR_NO_ERROR, fails if it's GPG_ERR_BAD_SIGNATURE, or errors out with an
OperationError otherwise.

No new tests -- the revelant tests are passing and are unskipped, apart from
the ones using PKCS#8 and SPKI formats.

* crypto/gcrypt/CryptoAlgorithmRSASSA_PKCS1_v1_5GCrypt.cpp:
(WebCore::hashCryptoDigestAlgorithm):
(WebCore::hashAlgorithmName):
(WebCore::mpiData):
(WebCore::gcryptSign):
(WebCore::gcryptVerify):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify):

LayoutTests:

* platform/gtk/TestExpectations: Enable the RSASSA-PKCS1-v1_5 layout tests that we pass.

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

3 years ago[GTK] Web Inspector: Add DOM breakpoint image for GTK+
commit-queue@webkit.org [Tue, 30 May 2017 07:25:00 +0000 (07:25 +0000)]
[GTK] Web Inspector: Add DOM breakpoint image for GTK+
https://bugs.webkit.org/show_bug.cgi?id=169326

Patch by Fujii Hironori <Hironori.Fujii@sony.com> on 2017-05-30
Reviewed by Carlos Garcia Campos.

* UserInterface/Images/gtk/DOMBreakpoint.svg: Added.

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

3 years agoFix UI glitches with a custom analysis test group with a patch
rniwa@webkit.org [Tue, 30 May 2017 05:03:43 +0000 (05:03 +0000)]
Fix UI glitches with a custom analysis test group with a patch
https://bugs.webkit.org/show_bug.cgi?id=172694

Reviewed by Sam Weinig.

Fix the following UI glitches with perf try bots:
 - Retrying an A/B testing with a patch fails.
 - A patch specified in an test group does not get specified in the configurator.
 - Drag & dropping a patch doesn't work.
 - Results for custom analysis tasks don't get shown.

* public/api/test-groups.php:
(main): Fix a bug that test group's platform does not match that of the request'ed platform. Since each test
group is associated with platform, just use that instead of querying test_configurations. This resulted in
the configurator not being able to find a triggerable in some cases.

* public/v3/components/custom-analysis-task-configurator.js:
(CustomAnalysisTaskConfigurator):
(CustomAnalysisTaskConfigurator.prototype.setCommitSets): Add patches in the commit set.
(CustomAnalysisTaskConfigurator.prototype._setUploadedFilesToUploader): Now clears the exiting uploaded files
Also renamed from _setUploadedFilesIfEmpty.
(CustomAnalysisTaskConfigurator.prototype._setPatchFiles): Added.
(CustomAnalysisTaskConfigurator.prototype.didConstructShadowTree): We no longer update the list of roots
for the comparsion when a new root is added to the baseline.
(CustomAnalysisTaskConfigurator.prototype._configureComparison): Copy over the list of patches and roots when
starting to configure the comparsion.

* public/v3/components/instant-file-uploader.js:
(InstantFileUploader.prototype.clear): Added.
(InstantFileUploader.prototype.didConstructShadowTree): Added event handlers for dragover & drop events to
allow specifying a patch and root using drag & drop. Unfortunately, this still doesn't work in WebKit due to
a bug in our shadow DOM implementation.
(InstantFileUploader.prototype._didFileInputChange):
(InstantFileUploader.prototype._uploadFiles): Extracted from _didFileInputChange.

* public/v3/pages/analysis-task-page.js:
(AnalysisTaskTestGroupPane.prototype.setAnalysisResults): No longer takes metric.
(AnalysisTaskTestGroupPane.cssTemplate): Removed unused rules. Also disallow flexing on the list of test groups
to avoid the name of a test froup from overflowing on top of the results pane.
(AnalysisTaskPage.prototype._assignTestResultsIfPossible): Set setAnalysisResults even when metric is not set
as is the case for a custom analysis task.
(AnalysisTaskPage.prototype._retryCurrentTestGroup): Use createWithCustomConfiguration to allow retrying of
an A/B testing with a patch in a custom analysis task.
(AnalysisTaskPage.prototype._createTestGroupAfterVerifyingCommitSetList):

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

3 years ago[WPE] Mark a couple of tests as slow/timing out
csaavedra@igalia.com [Mon, 29 May 2017 18:20:26 +0000 (18:20 +0000)]
[WPE] Mark a couple of tests as slow/timing out

Unreviewed gardening. These are all known ones.
* platform/wpe/TestExpectations:

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

3 years ago[WPE] Marking workers/bomb.html test as slow.
csaavedra@igalia.com [Mon, 29 May 2017 17:35:47 +0000 (17:35 +0000)]
[WPE] Marking workers/bomb.html test as slow.

Unreviewed gardening.

* platform/wpe/TestExpectations:

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

3 years ago[GTK] Remove unneeded forward declaration
csaavedra@igalia.com [Mon, 29 May 2017 16:17:04 +0000 (16:17 +0000)]
[GTK] Remove unneeded forward declaration

Rubber-stamped by Zan Dobersek.

* UIProcess/API/C/gtk/WKAPICastGtk.h: Remove WebGrammarDetail as
its header is included in the same file.

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

3 years agoUnreviewed. Bumping the WPEBackend-mesa dependency version.
zandobersek@gmail.com [Mon, 29 May 2017 16:05:36 +0000 (16:05 +0000)]
Unreviewed. Bumping the WPEBackend-mesa dependency version.

* wpe/jhbuild.modules: Use the latest version that uses proper GLib
priorities for IPC communication.

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

3 years agoUse the parent box style to adjust RenderStyle for alignment.
commit-queue@webkit.org [Mon, 29 May 2017 14:09:37 +0000 (14:09 +0000)]
Use the parent box style to adjust RenderStyle for alignment.
https://bugs.webkit.org/show_bug.cgi?id=172215

Patch by Emilio Cobos Álvarez <ecobos@igalia.com> on 2017-05-29
Reviewed by Antti Koivisto.

Source/WebCore:

The css-flexbox spec defined align-self in terms of the parent
element, which is what this code did.

The css-align spec defines these properties in terms of the style of
the containing box instead, which means display: contents styles
should not be used for this adjustment, but the parent box style
instead.

For example, align-items is defined as:

> This property specifies the default align-self for all of the boxes
> (including anonymous boxes) participating in this box’s formatting
> context.

Note that the css-align spec was recently updated to align (no pun
intended) with Gecko, and make the |auto| value compute to itself.
This patch puts us in a more recent spec than before, but not totally
up-to-date.

Tests: imported/w3c/web-platform-tests/css/css-display-3/display-contents-alignment-001.html
       imported/w3c/web-platform-tests/css/css-display-3/display-contents-alignment-002.html

* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle):
(WebCore::StyleResolver::adjustStyleForAlignment):

LayoutTests:

* TestExpectations:

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

3 years agoUnreviewed, disable faster Interpreter::getOpcodeID for ARM_THUMB2 with non-Darwin...
utatane.tea@gmail.com [Mon, 29 May 2017 10:37:58 +0000 (10:37 +0000)]
Unreviewed, disable faster Interpreter::getOpcodeID for ARM_THUMB2 with non-Darwin OSes
https://bugs.webkit.org/show_bug.cgi?id=172686

Because of test failures.

* wtf/Platform.h:

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

3 years agoUnreviewed Windows test gardening, update expected results after r217418.
pvollan@apple.com [Mon, 29 May 2017 09:03:02 +0000 (09:03 +0000)]
Unreviewed Windows test gardening, update expected results after r217418.

* platform/win/fast/block/float/032-expected.txt:

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

3 years ago[WPE] Build fix after r217531
csaavedra@igalia.com [Mon, 29 May 2017 08:41:54 +0000 (08:41 +0000)]
[WPE] Build fix after r217531

Unreviewed.

* UIProcess/API/C/wpe/WKAPICastWPE.h:
(WebKit::toAPI): Add missing WebGrammarDetail API cast.

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

3 years agoUnreviewed Windows test gardening, update expected results after r217418.
pvollan@apple.com [Mon, 29 May 2017 07:15:56 +0000 (07:15 +0000)]
Unreviewed Windows test gardening, update expected results after r217418.

* platform/win/fast/forms/input-appearance-spinbutton-expected.txt:
* platform/win/fast/forms/input-appearance-spinbutton-up-expected.txt:
* platform/win/fast/forms/number/number-appearance-rtl-expected.txt:
* platform/win/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt:
* platform/win/fast/forms/number/number-appearance-spinbutton-layer-expected.txt:
* platform/win/fast/forms/search-vertical-alignment-expected.txt:

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

3 years ago[Xcode] ALWAYS_SEARCH_USER_PATHS is set to YES
mitz@apple.com [Mon, 29 May 2017 05:30:59 +0000 (05:30 +0000)]
[Xcode] ALWAYS_SEARCH_USER_PATHS is set to YES
https://bugs.webkit.org/show_bug.cgi?id=172691

Reviewed by Tim Horton.

* Configurations/Base.xcconfig: Set ALWAYS_SEARCH_USER_PATHS to NO.
Source/JavaScriptCore:

* JavaScriptCore.xcodeproj/project.pbxproj: Added ParseInt.h to the JavaScriptCore target.

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj: Added DateTimeChooser.h, DateTimeChooserClient.h,
  PerformanceMark.h, PerformanceMeasure.h, SVGUnknownElement.h, and MathMLUnknownElement.h
  to the WebCore target.

Source/WebKit2:

* UIProcess/API/C/WKAPICast.h: Moved GTK-only definitions that used WebGrammarDetail.h to
  WKAPICastGtk.h. This had the effect of no longer including APIArray.h from this header.

* UIProcess/API/C/gtk/WKAPICastGtk.h: Moved GTK-only definitions to here.
(WebKit::toAPI):
* UIProcess/WebGrammarDetail.h: Replaced include of APIArray.h with a forward declaration.

* Shared/API/c/WKRenderLayer.cpp:
* Shared/API/c/WKRenderObject.cpp:
* UIProcess/API/C/WKApplicationCacheManager.cpp:
* UIProcess/API/C/WKContext.cpp:
* UIProcess/API/C/WKContextConfigurationRef.cpp:
* UIProcess/API/C/WKCookieManager.cpp:
* UIProcess/API/C/WKKeyValueStorageManager.cpp:
* UIProcess/API/C/WKNotificationManager.cpp:
* UIProcess/API/C/WKOpenPanelResultListener.cpp:
* UIProcess/API/C/WKPageGroup.cpp:
* UIProcess/API/C/WKResourceCacheManager.cpp:
* UIProcess/API/C/WKUserContentControllerRef.cpp:
* UIProcess/API/gtk/WebKitBackForwardList.cpp:
* UIProcess/WebContextMenuListenerProxy.cpp:

  Added #include "APIArray.h" to these files now that WKAPICast.h does not include it.

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

3 years ago[JSC] Provide better type information of toLength and tighten bytecode
utatane.tea@gmail.com [Mon, 29 May 2017 05:09:16 +0000 (05:09 +0000)]
[JSC] Provide better type information of toLength and tighten bytecode
https://bugs.webkit.org/show_bug.cgi?id=172690

Reviewed by Sam Weinig.

In this patch, we carefully leverage operator + in order to

1. tighten bytecode

operator+ emits to_number bytecode. What this bytecode does is the same
to @Number() call. It is more efficient, and it is smaller bytecode
than @Number() call (load global variable @Number, set up arguments, and
call it).

2. offer better type prediction data

Now, we have code like

    length > 0 ? (length < @MAX_SAFE_INTEGER ? length : @MAX_SAFE_INTEGER) : 0

This is not good because DFG prediction propagation phase predicts as Double
since @MAX_SAFE_INTEGER is double. But actually it rarely becomes Double.
Usually, the result becomes Int32. This patch leverages to_number in a bit
interesting way: to_number has value profiling to offer better type prediction.
This value profiling can offer a chance to change the prediction to Int32 efficiently.
It is a bit tricky. But it is worth doing to speed up our builtin functions,
which should leverage all the JSC's tricky things to be optimized.

Related microbenchmarks show performance improvement.

                                          baseline                  patched

    array-prototype-forEach           50.2348+-2.2331           49.7568+-2.3507
    array-prototype-map               51.0574+-1.8166           47.9531+-2.1653          might be 1.0647x faster
    array-prototype-some              52.3926+-1.8882     ^     48.3632+-2.0852        ^ definitely 1.0833x faster
    array-prototype-every             52.7394+-2.0712           50.2896+-2.1480          might be 1.0487x faster
    array-prototype-reduce            54.9994+-2.3638           51.8716+-2.6253          might be 1.0603x faster
    array-prototype-reduceRight      209.7594+-9.2594     ^     51.5867+-2.5745        ^ definitely 4.0662x faster

* builtins/GlobalOperations.js:
(globalPrivate.toInteger):
(globalPrivate.toLength):

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

3 years ago[WebIDL] @@iterator should only be accessed once when disambiguating a union type
commit-queue@webkit.org [Mon, 29 May 2017 01:30:58 +0000 (01:30 +0000)]
[WebIDL] @@iterator should only be accessed once when disambiguating a union type
https://bugs.webkit.org/show_bug.cgi?id=172684

Patch by Sam Weinig <sam@webkit.org> on 2017-05-28
Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

* runtime/IteratorOperations.cpp:
(JSC::iteratorMethod):
(JSC::iteratorForIterable):
* runtime/IteratorOperations.h:
(JSC::forEachInIterable):
Add additional iterator helpers to allow union + sequence conversion code
to check for iterability by getting the iterator method, and iterate using
that method later on.

Source/WebCore:

WebIDL specifies that when determining if the value you are converting to a union
is a sequence, you must get the @@iterator property and, should it exist, use it
to iterate the sequence. While we correctly accessing the property to make the
determination, we were not passing it into the sequence conversion code, and thus
the sequence conversion code re-accessed it, which is observable and wrong.

This patch pipes the @@iterator method through the sequence conversion code to avoid
this.

Test: js/dom/sequence-in-union-iterator-access.html

* bindings/js/JSDOMConvertSequences.h:
(WebCore::Detail::GenericSequenceConverter::convert):
(WebCore::Detail::NumericSequenceConverter::convertArray):
(WebCore::Detail::NumericSequenceConverter::convert):
(WebCore::Detail::SequenceConverter::convertArray):
(WebCore::Detail::SequenceConverter::convert):
(WebCore::Detail::SequenceConverter<IDLLong>::convert):
(WebCore::Detail::SequenceConverter<IDLFloat>::convert):
(WebCore::Detail::SequenceConverter<IDLUnrestrictedFloat>::convert):
(WebCore::Detail::SequenceConverter<IDLDouble>::convert):
(WebCore::Detail::SequenceConverter<IDLUnrestrictedDouble>::convert):
(WebCore::Converter<IDLSequence<T>>::convert):
(WebCore::Converter<IDLFrozenArray<T>>::convert):
Add variants of convert that take a JSObject* (sequence) / JSValue (iterator method)
rather than just the JSValue (sequence). To avoid too much duplication, split some
parts of SequenceConverter and NumericSequenceConverter up so they could be reused.

* bindings/js/JSDOMConvertUnion.h:
- Fix incorrect step 3 (WebIDL got updated at some point and we didn't notice) to remove
  records.
- Update sequence and FrozenArray checking/conversion to get the iterator method and pass
  it along, using the new ConditionalSequenceConverter helper which forwards to the new
  sequence converters that accept the iterator method.

LayoutTests:

* js/dom/sequence-in-union-iterator-access-expected.txt: Added.
* js/dom/sequence-in-union-iterator-access.html: Added.
Add test case showing that @@iterator is only accessed once when converting a sequence
as part of a union.

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

3 years ago[JSC][Linux][FreeBSD] Use faster Interpreter::getOpcodeID()
utatane.tea@gmail.com [Sun, 28 May 2017 14:11:56 +0000 (14:11 +0000)]
[JSC][Linux][FreeBSD] Use faster Interpreter::getOpcodeID()
https://bugs.webkit.org/show_bug.cgi?id=172686

Reviewed by Mark Lam.

As of r217526, JSC gets faster Interpreter::getOpcodeID() by
embedding OpcodeID value just before the LLInt machine code
handler pointer. By doing so, we can retrieve OpcodeID from
the LLInt machine code handler by dereferencing the code
pointer. `*((int*)ptr - 1)`.

This patch allows Linux and FreeBSD environments to use this
optimization.

* wtf/Platform.h:

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

3 years agoUnreviewed, build fix for Windows
utatane.tea@gmail.com [Sun, 28 May 2017 11:33:44 +0000 (11:33 +0000)]
Unreviewed, build fix for Windows
https://bugs.webkit.org/show_bug.cgi?id=172413

Optimized jsDynamicCast for JSMap and JSSet will be handled in [1].

[1]: https://bugs.webkit.org/show_bug.cgi?id=172685

* runtime/JSMap.h:
(JSC::isJSMap):
(JSC::jsDynamicCast): Deleted.
(JSC::>): Deleted.
* runtime/JSSet.h:
(JSC::isJSSet):
(JSC::jsDynamicCast): Deleted.
(JSC::>): Deleted.
* runtime/MapConstructor.cpp:
(JSC::constructMap):
* runtime/SetConstructor.cpp:
(JSC::constructSet):

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

3 years agoImplement a faster Interpreter::getOpcodeID().
mark.lam@apple.com [Sun, 28 May 2017 08:12:09 +0000 (08:12 +0000)]
Implement a faster Interpreter::getOpcodeID().
https://bugs.webkit.org/show_bug.cgi?id=172669

Reviewed by Saam Barati.

Source/JavaScriptCore:

We can implement Interpreter::getOpcodeID() without a hash table lookup by always
embedding the OpcodeID in the 32-bit word just before the start of the LLInt
handler code that executes each opcode.  getOpcodeID() can therefore just read
the 32-bits before the opcode address to get its OpcodeID.

This is currently only enabled for CPU(X86), CPU(X86_64), CPU(ARM64),
CPU(ARM_THUMB2), and only for OS(DARWIN).  It'll probably just work for linux as
well, but I'll let the Linux folks turn that on after they have verified that it
works on linux too.

I'll also take this opportunity to clean up how we initialize the opcodeIDTable:
1. we only need to initialize it once per process, not once per VM / interpreter
   instance.
2. we can initialize it in the Interpreter constructor instead of requiring a
   separate call to an initialize() function.

On debug builds, the Interpreter constructor will also verify that getOpcodeID()
is working correctly for each opcode when USE(LLINT_EMBEDDED_OPCODE_ID).

* bytecode/BytecodeList.json:
* generate-bytecode-files:
* interpreter/Interpreter.cpp:
(JSC::Interpreter::Interpreter):
(JSC::Interpreter::opcodeIDTable):
(JSC::Interpreter::initialize): Deleted.
* interpreter/Interpreter.h:
(JSC::Interpreter::getOpcode):
(JSC::Interpreter::getOpcodeID):
* llint/LowLevelInterpreter.cpp:
* runtime/VM.cpp:
(JSC::VM::VM):

Source/WTF:

Added the USE(LLINT_EMBEDDED_OPCODE_ID) configuration.

* wtf/Platform.h:

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

3 years ago[JSC] Map and Set constructors should have fast path for cloning
utatane.tea@gmail.com [Sat, 27 May 2017 23:21:53 +0000 (23:21 +0000)]
[JSC] Map and Set constructors should have fast path for cloning
https://bugs.webkit.org/show_bug.cgi?id=172413

Reviewed by Saam Barati.

JSTests:

* stress/map-clone-instance-iterator-change.js: Added.
(shouldBe):
(map.Symbol.iterator):
* stress/map-clone-iterator-change.js: Added.
(shouldBe):
(Map.prototype.Symbol.iterator):
* stress/map-clone-next-change.js: Added.
(shouldBe):
(map.Symbol.iterator.__proto__.next):
* stress/map-clone.js: Added.
(shouldBe):
(Map.prototype):
* stress/map-inherit-set.js: Added.
(shouldBe):
(DerivedMap):
(set for):
* stress/set-clone-instance-iterator-change.js: Added.
(shouldBe):
(set Symbol.iterator):
* stress/set-clone-iterator-change.js: Added.
(shouldBe):
(set Set.prototype.Symbol.iterator):
* stress/set-clone-next-change.js: Added.
(shouldBe):
(set Symbol.iterator.__proto__.next):
* stress/set-clone.js: Added.
(shouldBe):
(set Set.prototype.add):
* stress/set-inherit-add.js: Added.
(shouldBe):
(DerivedSet.set add):

Source/JavaScriptCore:

In this patch, we add a fast path for cloning in Set and Map constructors.

In ARES-6 Air, we have code like `new Set(set)` to clone the given set.
At that time, our generic path just iterates the given set object and add
it to the newly created one. It is quite slow because we need to follow
the iterator protocol inside C++ and we need to call set.add() repeatedly
while the given set guarantees the elements are unique.

This patch implements clone() function to JSMap and JSSet. Cloning JSMap
and JSSet are done really fast without invoking any observable JS functions.
To check whether we can use this clone() function in Set and Map constructors,
we set several watchpoints.

In the case of Set,

1. Set.prototype[Symbol.iterator] is not changed.
2. SetIterator.prototype.next is not changed.
3. Set.prototype.add is not changed.
4. The given Set does not have [Symbol.iterator] function in its instance.
5. The given Set's [[Prototype]] is Set.prototype.
6. Newly created set's [[Prototype]] is Set.prototype.

If the above requirements are met, cloning the given Set is not observable to users.
Thus we can take a fast path.

Currently, we do not integrate this optimization into DFG and FTL.
And we do not optimize other iterables. For example, we can optimize Set
constructor taking Int32 Array. And we should optimize generic iterator cases too.
They are planned as part of a separate bug[1].

This change improves ARES-6 Air by 5.3% in steady state.

Baseline:
    Running... Air ( 1  to go)
    firstIteration:     76.41 +- 15.60 ms
    averageWorstCase:   40.63 +- 7.54 ms
    steadyState:        9.13 +- 0.51 ms

Patched:
    Running... Air ( 1  to go)
    firstIteration:     75.00 +- 22.54 ms
    averageWorstCase:   39.18 +- 8.45 ms
    steadyState:        8.67 +- 0.28 ms

[1]: https://bugs.webkit.org/show_bug.cgi?id=172419

* CMakeLists.txt:
* JavaScriptCore.xcodeproj/project.pbxproj:
* runtime/ArrayIteratorAdaptiveWatchpoint.cpp: Removed.
* runtime/HashMapImpl.h:
(JSC::HashMapBucket::extractValue):
(JSC::HashMapImpl::finishCreation):
(JSC::HashMapImpl::add):
(JSC::HashMapImpl::setUpHeadAndTail):
(JSC::HashMapImpl::addNormalizedNonExistingForCloning):
(JSC::HashMapImpl::addNormalizedInternal):
* runtime/InternalFunction.cpp:
(JSC::InternalFunction::createSubclassStructureSlow):
(JSC::InternalFunction::createSubclassStructure): Deleted.
* runtime/InternalFunction.h:
(JSC::InternalFunction::createSubclassStructure):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::JSGlobalObject):
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::mapIteratorProtocolWatchpoint):
(JSC::JSGlobalObject::setIteratorProtocolWatchpoint):
(JSC::JSGlobalObject::mapSetWatchpoint):
(JSC::JSGlobalObject::setAddWatchpoint):
(JSC::JSGlobalObject::mapPrototype):
(JSC::JSGlobalObject::jsSetPrototype):
(JSC::JSGlobalObject::setStructure):
* runtime/JSGlobalObjectInlines.h:
(JSC::JSGlobalObject::isMapPrototypeIteratorProtocolFastAndNonObservable):
(JSC::JSGlobalObject::isSetPrototypeIteratorProtocolFastAndNonObservable):
(JSC::JSGlobalObject::isMapPrototypeSetFastAndNonObservable):
(JSC::JSGlobalObject::isSetPrototypeAddFastAndNonObservable):
* runtime/JSMap.cpp:
(JSC::JSMap::clone):
(JSC::JSMap::canCloneFastAndNonObservable):
* runtime/JSMap.h:
(JSC::jsDynamicCast):
(JSC::>):
(JSC::JSMap::createStructure): Deleted.
(JSC::JSMap::create): Deleted.
(JSC::JSMap::set): Deleted.
(JSC::JSMap::JSMap): Deleted.
* runtime/JSSet.cpp:
(JSC::JSSet::clone):
(JSC::JSSet::canCloneFastAndNonObservable):
* runtime/JSSet.h:
(JSC::jsDynamicCast):
(JSC::>):
(JSC::JSSet::createStructure): Deleted.
(JSC::JSSet::create): Deleted.
(JSC::JSSet::JSSet): Deleted.
* runtime/MapConstructor.cpp:
(JSC::constructMap):
* runtime/ObjectPropertyChangeAdaptiveWatchpoint.h: Renamed from Source/JavaScriptCore/runtime/ArrayIteratorAdaptiveWatchpoint.h.
(JSC::ObjectPropertyChangeAdaptiveWatchpoint::ObjectPropertyChangeAdaptiveWatchpoint):
* runtime/SetConstructor.cpp:
(JSC::constructSet):

Tools:

* TestWebKitAPI/Tests/WTF/MathExtras.cpp:
(TestWebKitAPI::TEST):

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

3 years agoimported/w3c/web-platform-tests/html/semantics/forms/form-control-infrastructure...
cdumez@apple.com [Sat, 27 May 2017 20:15:02 +0000 (20:15 +0000)]
imported/w3c/web-platform-tests/html/semantics/forms/form-control-infrastructure/form_attribute.html is crashing
https://bugs.webkit.org/show_bug.cgi?id=172472
<rdar://problem/32334831>

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

* web-platform-tests/html/semantics/forms/form-control-infrastructure/form_attribute-expected.txt:
Rebaseline test now that more checks are passing. We were previously wrongly resetting the input form owner
to null when removing the form from the document and the input had a form attribute set and was a descendant
of the form.

Source/WebCore:

Fix assertion hit when running imported/w3c/web-platform-tests/html/semantics/forms/form-control-infrastructure/form_attribute.html.

When the form was removed from the document, A descendant would try to find a new form owner in the document. If the descendant had
a form content attribute and there was another form in the document with this ID, then we would erroneously associate the descendant with
that other form, even though that descendant is being disconnected. This is because when the form with the given id is removed, we
notify the IdTargetObservers of the change. In this case, the form control is an IdTargetObserver and gets notified after
removedFrom() has been called on the form but *before* removedFrom() has been called on its descendant form control. As a result, the
form control still thinks it is in the tree (i.e. isConnected() wrongly returns true) and we make the wrong decision and try to
associate it with another form in the document.

To address the problem, we leverage the fact that when a form element is being removed, it already notifies its associated form
controls that it is being removed. When it does, we make sure to clear the control's id observer if the form is its ancestor.
The ID observer is no longer needed beyond this point since the control is now disconnected from the document, and the ID observer
callback would erroneously associate it with another form element in the document of the same ID because isConnected() still returns
true at that point.
As a result, the control's form owner is kept unchanged, which is the right thing to do here, since it is its ancestor, even
though both are detached.

Test: fast/dom/HTMLFormElement/form-removal-duplicate-id-crash.html

* dom/ContainerNode.h:
(WebCore::Node::rootNode):
Inline rootNode to avoid an extra function call in the fast path case. For the slow path, we now
call traverseToRootNode() to avoid duolicating logic.

* dom/Node.cpp:
(WebCore::Node::traverseToRootNode):
Add a traverseToRootNode() method which gets the root node by traversing the ancestors. This logic was duplicated in 3 places:
- Slow path in Node::rootNode()
- computeRootNode() in FormAssociatedElement.cpp
- findRoot() in HTMLFormElement.cpp
They are now consolidated in a single place to avoid duplication.

* dom/Node.h:
* html/FormAssociatedElement.cpp:
(WebCore::FormAssociatedElement::removedFrom):
Just simplify the logic a bit:
- Clear the id observer (i.e. m_formAttributeTargetObserver) no matter what. Since the element is no longer part of the document,
  it is no longer needed. We would previously have checks that would basically avoid resetting m_formAttributeTargetObserver to
  null if it is already null. Settign m_formAttributeTargetObserver to null is cheap so there is no reason for those checks. Those
  checks were also confusing because they made it look like we would sometimes keep on id observer after being removed from the
  document.
- Use new traverseToRootNode() utility function (no behavior change)
- Drop unnecessary |element| local variable

(WebCore::FormAssociatedElement::formOwnerRemovedFromTree):
- Rename to formOwnerRemovedFromTree() to make it clear that it is the element's form owner that is removed, and not just any form.
- As we traverse the tree up to find the root, also check if we find the form owner. If we do, clear the id observer since we are
  effectively detached from the document and return early since there is no need to reset our form owner in this case.

* html/FormAssociatedElement.h:
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::removedFrom):
- Use new traverseToRootNode() utility function (no behavior change)

LayoutTests:

* TestExpectations:
Unskip test that is no longer crashing in Debug builds.

* fast/dom/HTMLFormElement/form-removal-duplicate-id-crash-expected.txt: Added.
* fast/dom/HTMLFormElement/form-removal-duplicate-id-crash.html: Added.
Add reduced test case reproducing the crash.

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

3 years ago[DOMJIT] Move DOMJIT patchpoint infrastructure out of domjit
utatane.tea@gmail.com [Sat, 27 May 2017 19:03:41 +0000 (19:03 +0000)]
[DOMJIT] Move DOMJIT patchpoint infrastructure out of domjit
https://bugs.webkit.org/show_bug.cgi?id=172260

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

DOMJIT::Patchpoint is now used for generalized CheckSubClass. And it becomes mature enough
to be used as a general-purpose injectable compiler over all the JIT tiers.

We extract DOMJIT::Patchpoint to jit/ and rename it JSC::Snippet.

* CMakeLists.txt:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/AccessCaseSnippetParams.cpp: Renamed from Source/JavaScriptCore/bytecode/DOMJITAccessCasePatchpointParams.cpp.
(JSC::SlowPathCallGeneratorWithArguments::generateImpl):
(JSC::AccessCaseSnippetParams::emitSlowPathCalls):
* bytecode/AccessCaseSnippetParams.h: Renamed from Source/JavaScriptCore/bytecode/DOMJITAccessCasePatchpointParams.h.
(JSC::AccessCaseSnippetParams::AccessCaseSnippetParams):
* bytecode/GetterSetterAccessCase.cpp:
(JSC::GetterSetterAccessCase::emitDOMJITGetter):
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::blessCallDOMGetter):
(JSC::DFG::ByteCodeParser::handleDOMJITGetter):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGGraph.h:
* dfg/DFGNode.h:
* dfg/DFGSnippetParams.cpp: Renamed from Source/JavaScriptCore/dfg/DFGDOMJITPatchpointParams.cpp.
* dfg/DFGSnippetParams.h: Renamed from Source/JavaScriptCore/dfg/DFGDOMJITPatchpointParams.h.
(JSC::DFG::SnippetParams::SnippetParams):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::allocateTemporaryRegistersForSnippet):
(JSC::DFG::SpeculativeJIT::compileCallDOMGetter):
(JSC::DFG::SpeculativeJIT::compileCheckSubClass):
(JSC::DFG::allocateTemporaryRegistersForPatchpoint): Deleted.
* domjit/DOMJITCallDOMGetterSnippet.h: Renamed from Source/JavaScriptCore/domjit/DOMJITCallDOMGetterPatchpoint.h.
(JSC::DOMJIT::CallDOMGetterSnippet::create):
* domjit/DOMJITGetterSetter.h:
* domjit/DOMJITSignature.h:
* domjit/DOMJITValue.h: Removed.
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCheckSubClass):
(JSC::FTL::DFG::LowerDFGToB3::compileCallDOMGetter):
* ftl/FTLSnippetParams.cpp: Renamed from Source/JavaScriptCore/ftl/FTLDOMJITPatchpointParams.cpp.
* ftl/FTLSnippetParams.h: Renamed from Source/JavaScriptCore/ftl/FTLDOMJITPatchpointParams.h.
(JSC::FTL::SnippetParams::SnippetParams):
* jit/Snippet.h: Renamed from Source/JavaScriptCore/domjit/DOMJITPatchpoint.h.
(JSC::Snippet::create):
(JSC::Snippet::setGenerator):
(JSC::Snippet::generator):
* jit/SnippetParams.h: Renamed from Source/JavaScriptCore/domjit/DOMJITPatchpointParams.h.
(JSC::SnippetParams::~SnippetParams):
(JSC::SnippetParams::Value::Value):
(JSC::SnippetParams::Value::isGPR):
(JSC::SnippetParams::Value::isFPR):
(JSC::SnippetParams::Value::isJSValueRegs):
(JSC::SnippetParams::Value::gpr):
(JSC::SnippetParams::Value::fpr):
(JSC::SnippetParams::Value::jsValueRegs):
(JSC::SnippetParams::Value::reg):
(JSC::SnippetParams::Value::value):
(JSC::SnippetParams::SnippetParams):
* jit/SnippetReg.h: Renamed from Source/JavaScriptCore/domjit/DOMJITReg.h.
(JSC::SnippetReg::SnippetReg):
* jit/SnippetSlowPathCalls.h: Renamed from Source/JavaScriptCore/domjit/DOMJITSlowPathCalls.h.
* jsc.cpp:
(WTF::DOMJITNode::checkSubClassSnippet):
(WTF::DOMJITFunctionObject::checkSubClassSnippet):
(WTF::DOMJITNode::checkSubClassPatchpoint): Deleted.
(WTF::DOMJITFunctionObject::checkSubClassPatchpoint): Deleted.
* runtime/ClassInfo.h:

Source/WebCore:

* ForwardingHeaders/jit/Snippet.h: Renamed from Source/WebCore/ForwardingHeaders/domjit/DOMJITPatchpoint.h.
* ForwardingHeaders/jit/SnippetParams.h: Renamed from Source/WebCore/ForwardingHeaders/domjit/DOMJITPatchpointParams.h.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
* bindings/scripts/test/JS/JSTestDOMJIT.h:
* domjit/DOMJITCheckDOM.h:
(WebCore::DOMJIT::checkDOM):
* domjit/DOMJITHelpers.h:
(WebCore::DOMJIT::toWrapper):
* domjit/JSDocumentDOMJIT.cpp:
(WebCore::checkSubClassSnippetForJSDocument):
(WebCore::DocumentDocumentElementDOMJIT::callDOMGetter):
(WebCore::DocumentBodyDOMJIT::callDOMGetter):
(WebCore::checkSubClassPatchpointForJSDocument): Deleted.
* domjit/JSDocumentFragmentDOMJIT.cpp:
(WebCore::checkSubClassSnippetForJSDocumentFragment):
(WebCore::checkSubClassPatchpointForJSDocumentFragment): Deleted.
* domjit/JSElementDOMJIT.cpp:
(WebCore::checkSubClassSnippetForJSElement):
(WebCore::checkSubClassPatchpointForJSElement): Deleted.
* domjit/JSEventDOMJIT.cpp:
(WebCore::checkSubClassSnippetForJSEvent):
(WebCore::checkSubClassPatchpointForJSEvent): Deleted.
* domjit/JSNodeDOMJIT.cpp:
(WebCore::checkSubClassSnippetForJSNode):
(WebCore::createCallDOMGetterForOffsetAccess):
(WebCore::NodeFirstChildDOMJIT::callDOMGetter):
(WebCore::NodeLastChildDOMJIT::callDOMGetter):
(WebCore::NodeNextSiblingDOMJIT::callDOMGetter):
(WebCore::NodePreviousSiblingDOMJIT::callDOMGetter):
(WebCore::NodeParentNodeDOMJIT::callDOMGetter):
(WebCore::NodeNodeTypeDOMJIT::callDOMGetter):
(WebCore::NodeOwnerDocumentDOMJIT::callDOMGetter):
(WebCore::checkSubClassPatchpointForJSNode): Deleted.

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

3 years agogetComputedStyle returns percentage values for left / right / top / bottom
simon.fraser@apple.com [Sat, 27 May 2017 17:13:58 +0000 (17:13 +0000)]
getComputedStyle returns percentage values for left / right / top / bottom
https://bugs.webkit.org/show_bug.cgi?id=29084

Reviewed by Zalan Bujtas.
LayoutTests/imported/w3c:

New baselines (still failing).

* web-platform-tests/css-timing-1/frames-timing-functions-output-expected.txt:
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-expected.txt:

Source/WebCore:

Fix getComputedStyle() to return pixel values for left / right / top / bottom, per spec.

This is mostly a merge of https://codereview.chromium.org/13871003/.

Behavior now matches Chrome and Firefox.

Test: fast/css/getComputedStyle/getComputedStyle-offsets.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::getOffsetComputedLength):
(WebCore::getOffsetUsedStyleRelative):
(WebCore::getOffsetUsedStyleAbsolute):
(WebCore::positionOffsetValue):
(WebCore::positionOffsetValueIsRendererDependent):
(WebCore::isNonReplacedInline):
(WebCore::isLayoutDependent):
(WebCore::ComputedStyleExtractor::propertyValue):

LayoutTests:

Some new baselines, a new test, and an improved test.

* animations/trigger-container-scroll-boundaries-expected.txt:
* animations/trigger-container-scroll-boundaries.html:
* animations/trigger-container-scroll-empty-expected.txt:
* animations/trigger-container-scroll-empty.html:
* animations/trigger-container-scroll-simple-expected.txt:
* animations/trigger-container-scroll-simple.html:
* fast/css/getComputedStyle/computed-style-expected.txt:
* fast/css/getComputedStyle/computed-style-negative-top-expected.txt:
* fast/css/getComputedStyle/computed-style-negative-top.html: Convert to a real JS test, add more cases.
* fast/css/getComputedStyle/getComputedStyle-offsets-expected.txt: Added.
* fast/css/getComputedStyle/getComputedStyle-offsets.html: Added.
* fast/css/getComputedStyle/getComputedStyle-zoom-and-background-size-expected.txt:
* fast/css/getComputedStyle/getComputedStyle-zoom-and-background-size.html:  It doesn't make any sense to test right/bottom.
* fast/css/hover-affects-child-expected.txt:
* fast/css/hover-affects-child.html:
* platform/mac-elcapitan/fast/css/getComputedStyle/computed-style-expected.txt:
* transitions/transition-to-from-auto-expected.txt:
* transitions/transition-to-from-auto.html:

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

3 years agoenclosingIntRect returns a rect with -1 width/height when the input FloatRect overflo...
zalan@apple.com [Sat, 27 May 2017 16:23:24 +0000 (16:23 +0000)]
enclosingIntRect returns a rect with -1 width/height when the input FloatRect overflows integer.
https://bugs.webkit.org/show_bug.cgi?id=172676

Reviewed by Simon Fraser.

Source/WebCore:

Clamp integer values soon after the enclosing rectangle is resolved.

* platform/graphics/FloatRect.cpp:
(WebCore::enclosingIntRect):

Tools:

* TestWebKitAPI/Tests/WebCore/FloatRect.cpp:
(TestWebKitAPI::TEST):

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

3 years agoSimply some NSNumber usage
commit-queue@webkit.org [Sat, 27 May 2017 05:25:06 +0000 (05:25 +0000)]
Simply some NSNumber usage
https://bugs.webkit.org/show_bug.cgi?id=172677

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2017-05-26
Reviewed by Sam Weinig.

Source/WebCore:

* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper _addAccessibilityObject:toTextMarkerArray:]):
(AXAttributeStringSetFont):
(AXAttributeStringSetStyle):
* accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::postTextStateChangePlatformNotification):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(AXAttributeStringSetStyle):
(AXAttributeStringSetSpelling):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
* platform/graphics/ca/cocoa/PlatformCAFiltersCocoa.mm:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::levelIndicatorFor):

Source/WebKit2:

* PluginProcess/mac/PluginControllerProxyMac.mm:
(WebKit::PluginControllerProxy::platformGeometryDidChange):
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::registerUserDefaultsIfNeeded):
* WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:
(-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):

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

3 years agoWebRTC stats should be in milliseconds
commit-queue@webkit.org [Sat, 27 May 2017 03:27:51 +0000 (03:27 +0000)]
WebRTC stats should be in milliseconds
https://bugs.webkit.org/show_bug.cgi?id=172644

Patch by Youenn Fablet <youenn@apple.com> on 2017-05-26
Reviewed by Eric Carlson.

Source/WebCore:

Covered by updated tests.

* Modules/mediastream/RTCStatsReport.h:
* Modules/mediastream/RTCStatsReport.idl:
* Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::fillRTCStats):

LayoutTests:

* TestExpectations:
* webrtc/video-stats.html: Making it less flaky prone.

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

3 years ago[WebIDL] Overloaded functions should throw this object check exception before argumen...
weinig@apple.com [Sat, 27 May 2017 02:54:02 +0000 (02:54 +0000)]
[WebIDL] Overloaded functions should throw this object check exception before argument check exception
https://bugs.webkit.org/show_bug.cgi?id=172480

Reviewed by Chris Dumez.

Source/WebCore:

- Codifies naming for both parts of the operation/attribute function implementation:
  - The 'trampoline' which is the actual host function and simply calls IDLOperation,
    IDLOperationReturningPromise or IDLAttribute.
  - The 'body' which is where argument checking and calling into the implementation
    takes place.
- Made it so all operations, including static ones, use the trampoline / body model,
  simplifying code generation. The one exception is for overloaded operations, which
  now have a trampoline and body for the dispatcher, and only bodies for all the
  overloads. This is what fixes the bug, since now that the dispatcher has a trampoline,
  it can do the correct this object checking via IDLOperation / IDLOperationReturningPromise.
- Split out code generation for trampoline and body into separate subroutines and
  simplified their implementations.
- Changed GenerateOverloadDispatcher to only generate the body of the function, leaving it
  up to the caller to generate the signature, braces and conditionals if needed.
- Made more subroutines take an output array and indent, in support of future endeavors
  that will need that support.
- Remove unnecessary #includes of <runtime/Error.h>, which gets included already by virtue
  of JSDOMExceptionHandling.h

Test: js/dom/overloaded-operation-exception-order.html

* bindings/js/JSDOMOperation.h:
* bindings/js/JSDOMOperationReturningPromise.h:
Add no-op static versions of the bouncer functions.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateOverloadDispatcher):
(GenerateOperationTrampolineDefinition):
(GenerateOperationBodyDefinition):
(GenerateOperationDefinition):
(GenerateSerializerDefinition):
(GenerateLegacyCallerDefinitions):
(GenerateLegacyCallerDefinition):
(GenerateArgumentsCountCheck):
(GenerateParametersCheck):
(GenerateImplementationFunctionCall):
(GenerateImplementationCustomFunctionCall):
(GenerateConstructorDefinitions):
(GenerateConstructorDefinition):

* bindings/scripts/test/JS/JSInterfaceName.cpp:
* bindings/scripts/test/JS/JSMapLike.cpp:
* bindings/scripts/test/JS/JSReadOnlyMapLike.cpp:
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
* bindings/scripts/test/JS/JSTestCEReactions.cpp:
* bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
* bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
* bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
* bindings/scripts/test/JS/JSTestDOMJIT.cpp:
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
* bindings/scripts/test/JS/JSTestException.cpp:
* bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
* bindings/scripts/test/JS/JSTestGlobalObject.cpp:
* bindings/scripts/test/JS/JSTestInterface.cpp:
* bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
* bindings/scripts/test/JS/JSTestIterable.cpp:
* bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
* bindings/scripts/test/JS/JSTestNode.cpp:
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
* bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
* bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
* bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
* bindings/scripts/test/JS/JSTestSerialization.cpp:
* bindings/scripts/test/JS/JSTestSerializationInherit.cpp:
* bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp:
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
Update test results.

LayoutTests:

Add test case that shows that using the wrong this object on an overloaded function,
even if you are passing the wrong number of arguments, results in an invalid this
object exception.

* js/dom/overloaded-operation-exception-order-expected.txt: Added.
* js/dom/overloaded-operation-exception-order.html: Added.

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

3 years agoREEGRESSION(r217459): testapi fails in JSExportTest's wrapperForNSObjectisObject().
keith_miller@apple.com [Sat, 27 May 2017 02:33:09 +0000 (02:33 +0000)]
REEGRESSION(r217459): testapi fails in JSExportTest's wrapperForNSObjectisObject().
https://bugs.webkit.org/show_bug.cgi?id=172654

Reviewed by Mark Lam.

The test's intent is to assert that an exception has not been
thrown (as indicated by the message string), but the test was
erroneously checking for ! the right condition. This is now fixed.

* API/tests/JSExportTests.mm:
(wrapperForNSObjectisObject):

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

3 years agoTestWebKitAPI: EnclosingIntRect and RoundedIntRect should use EXPECT_EQ.
zalan@apple.com [Sat, 27 May 2017 01:32:26 +0000 (01:32 +0000)]
TestWebKitAPI: EnclosingIntRect and RoundedIntRect should use EXPECT_EQ.
https://bugs.webkit.org/show_bug.cgi?id=172674

Reviewed by Simon Fraser.

* TestWebKitAPI/Tests/WebCore/FloatRect.cpp:
(TestWebKitAPI::TEST):

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

3 years ago[WK2] Address thread safety issues with ResourceLoadStatistics
bfulgham@apple.com [Sat, 27 May 2017 00:38:37 +0000 (00:38 +0000)]
[WK2] Address thread safety issues with ResourceLoadStatistics
https://bugs.webkit.org/show_bug.cgi?id=172519
<rdar://problem/31707642>

Reviewed by Chris Dumez.

Source/WebCore:

* loader/ResourceLoadObserver.cpp:
(WebCore::ResourceLoadObserver::setStatisticsQueue): Added.
(WebCore::ResourceLoadObserver::clearInMemoryStore): Only interact with the HashTable on the statistics queue.
(WebCore::ResourceLoadObserver::clearInMemoryAndPersistentStore): Ditto.
(WebCore::ResourceLoadObserver::logFrameNavigation): Ditto.
(WebCore::ResourceLoadObserver::logSubresourceLoading): Ditto.
(WebCore::ResourceLoadObserver::logWebSocketLoading): Ditto.
(WebCore::ResourceLoadObserver::logUserInteractionWithReducedTimeResolution): Ditto.
(WebCore::ResourceLoadObserver::logUserInteraction): Ditto.
(WebCore::ResourceLoadObserver::clearUserInteraction): Protect HashTable while reading.
(WebCore::ResourceLoadObserver::hasHadUserInteraction): Ditto.
(WebCore::ResourceLoadObserver::setPrevalentResource): Ditto.
(WebCore::ResourceLoadObserver::isPrevalentResource): Ditto.
(WebCore::ResourceLoadObserver::clearPrevalentResource): Ditto.
(WebCore::ResourceLoadObserver::setGrandfathered): Ditto.
(WebCore::ResourceLoadObserver::isGrandfathered): Ditto.
(WebCore::ResourceLoadObserver::setSubframeUnderTopFrameOrigin): Only interact with the HashTable on the statistics queue.
(WebCore::ResourceLoadObserver::setSubresourceUnderTopFrameOrigin): Ditto.
(WebCore::ResourceLoadObserver::setSubresourceUniqueRedirectTo): Ditto.
(WebCore::ResourceLoadObserver::fireDataModificationHandler): ASSERT this is only called from the main thread, since this is
only meant to be used as part of the testing harness.
(WebCore::ResourceLoadObserver::fireShouldPartitionCookiesHandler): Ditto.
(WebCore::ResourceLoadObserver::fireShouldPartitionCookiesHandler): Ditto.
* loader/ResourceLoadObserver.h:
* loader/ResourceLoadStatisticsStore.cpp:
(WebCore::ResourceLoadStatisticsStore::isPrevalentResource): Protect HashTable while using it.
(WebCore::ResourceLoadStatisticsStore::ensureResourceStatisticsForPrimaryDomain): Ditto.
(WebCore::ResourceLoadStatisticsStore::setResourceStatisticsForPrimaryDomain): Ditto.
(WebCore::ResourceLoadStatisticsStore::createEncoderFromData): ASSERT this isn't being done on the main thread, and
protect HashTable while using it.
(WebCore::ResourceLoadStatisticsStore::readDataFromDecoder): Ditto.
(WebCore::ResourceLoadStatisticsStore::clearInMemory): Ditto.
(WebCore::ResourceLoadStatisticsStore::clearInMemoryAndPersistent): Ditto.
(WebCore::ResourceLoadStatisticsStore::statisticsForOrigin): Protect HashTable while using it.
(WebCore::ResourceLoadStatisticsStore::takeStatistics): Ditto.
(WebCore::ResourceLoadStatisticsStore::mergeStatistics): Ditto.
(WebCore::ResourceLoadStatisticsStore::setNotificationCallback): Use WTF::Function.
(WebCore::ResourceLoadStatisticsStore::setShouldPartitionCookiesCallback): Ditto.
(WebCore::ResourceLoadStatisticsStore::setWritePersistentStoreCallback): Ditto.
(WebCore::ResourceLoadStatisticsStore::setGrandfatherExistingWebsiteDataCallback): Ditto.
(WebCore::ResourceLoadStatisticsStore::fireDataModificationHandler): ASSERT this is not called on the main thread,
but dispatch the registered handler on the main thread.
(WebCore::ResourceLoadStatisticsStore::fireShouldPartitionCookiesHandler): Ditto.
(WebCore::ResourceLoadStatisticsStore::processStatistics): ASSERT this isn't being done on the main thread, and
protect the HashTable while using it. Also switch to WTF::Function.
(WebCore::ResourceLoadStatisticsStore::hasHadRecentUserInteraction): Make const correct.
(WebCore::ResourceLoadStatisticsStore::topPrivatelyControlledDomainsToRemoveWebsiteDataFor): Protect HashTable while using it.
(WebCore::ResourceLoadStatisticsStore::updateStatisticsForRemovedDataRecords): Ditto.
(WebCore::ResourceLoadStatisticsStore::handleFreshStartWithEmptyOrNoStore): Ditto.
(WebCore::ResourceLoadStatisticsStore::shouldRemoveDataRecords): Make const correct. ASSERT this is not being called
on the main thread.
(WebCore::ResourceLoadStatisticsStore::dataRecordsBeingRemoved): ASSERT this is not being called on the main thread.
(WebCore::ResourceLoadStatisticsStore::dataRecordsWereRemoved): Ditto.
(WebCore::ResourceLoadStatisticsStore::statisticsLock): Added.
* loader/ResourceLoadStatisticsStore.h:

Source/WebKit/mac:

Create a new WorkQueue for the ResourceLoadStatistics store to use for processing data.

* WebView/WebView.mm:
(WebKitInitializeApplicationStatisticsStoragePathIfNecessary): Pass WorkQueue to the observer.

Source/WebKit2:

Address some thread safety issues with the ResourceLoadStatistics architecture.

* UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::removeDataRecords): Assert that this is never called on the main thread. Also
ensure that coreStore is only accessed on the statistics queue, not the main thread.
(WebKit::WebResourceLoadStatisticsStore::processStatisticsAndDataRecords): Dispatch coreStore-accessing code
on the statistics queue.
(WebKit::WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated): Assert we do not hit this method
on the main thread.
(WebKit::WebResourceLoadStatisticsStore::registerSharedResourceLoadObserver): Assert that this is being called on the
main thread. Also ensure that coreStore is only accessed on the statistics queue, not the main thread.
(WebKit::WebResourceLoadStatisticsStore::grandfatherExistingWebsiteData): Dispatch coreStore-accessing code
on the statistics queue.
(WebKit::WebResourceLoadStatisticsStore::readDataFromDiskIfNeeded): Lock data before operating on it.
(WebKit::WebResourceLoadStatisticsStore::writeStoreToDisk): Assert we do not hit this method on the main thread.
(WebKit::WebResourceLoadStatisticsStore::writeEncoderToDisk): Ditto.
* UIProcess/WebResourceLoadStatisticsStore.h:
* WebProcess/WebProcess.cpp: Add a queue for the local WebProcess ResourceLoadStatisticsStore to use while processing data.
(WebKit::m_statisticsQueue): Added.
* WebProcess/WebProcess.h:

Source/WTF:

Add a new specialization for HashSet.

* wtf/CrossThreadCopier.h:

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

3 years agoSkip fast/events/before-unload-returnValue.html on iOS.
ryanhaddad@apple.com [Sat, 27 May 2017 00:22:49 +0000 (00:22 +0000)]
Skip fast/events/before-unload-returnValue.html on iOS.
https://bugs.webkit.org/show_bug.cgi?id=172672

Unreviewed test gardening.

* platform/ios/TestExpectations:

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

3 years agoMark workers/wasm-long-compile-many.html as flaky on mac-wk1.
ryanhaddad@apple.com [Sat, 27 May 2017 00:22:46 +0000 (00:22 +0000)]
Mark workers/wasm-long-compile-many.html as flaky on mac-wk1.
https://bugs.webkit.org/show_bug.cgi?id=172331

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

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

3 years ago[Cocoa] Simplify some WebViewImpl pasteboard code
commit-queue@webkit.org [Fri, 26 May 2017 23:00:22 +0000 (23:00 +0000)]
[Cocoa] Simplify some WebViewImpl pasteboard code
https://bugs.webkit.org/show_bug.cgi?id=172668

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2017-05-26
Reviewed by Tim Horton.

* Shared/mac/PasteboardTypes.mm:
* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::setFileAndURLTypes):
(WebKit::WebViewImpl::setPromisedDataForAttachment):

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

3 years agoJSContext Inspector: Improve the reliability of automatically pausing in auto-attach
commit-queue@webkit.org [Fri, 26 May 2017 22:56:56 +0000 (22:56 +0000)]
JSContext Inspector: Improve the reliability of automatically pausing in auto-attach
https://bugs.webkit.org/show_bug.cgi?id=172664
<rdar://problem/32362933>

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2017-05-26
Reviewed by Matt Baker.

Source/JavaScriptCore:

Automatically pause on connection was triggering a pause before the
frontend may have initialized. Often during frontend initialization
the frontend may perform an action that clears the pause state requested
by the developer. This change defers the pause until after the frontend
has initialized, right before returning to the application's code.

* inspector/remote/RemoteControllableTarget.h:
* inspector/remote/RemoteInspectionTarget.h:
* inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm:
(Inspector::RemoteConnectionToTarget::setup):
* inspector/remote/glib/RemoteConnectionToTargetGlib.cpp:
(Inspector::RemoteConnectionToTarget::setup):
* runtime/JSGlobalObjectDebuggable.cpp:
(JSC::JSGlobalObjectDebuggable::connect):
(JSC::JSGlobalObjectDebuggable::pause): Deleted.
* runtime/JSGlobalObjectDebuggable.h:
Pass an immediatelyPause boolean on to the controller. Remove
the current path that invokes a pause before initialization.

* inspector/JSGlobalObjectInspectorController.h:
* inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::connectFrontend):
(Inspector::JSGlobalObjectInspectorController::disconnectFrontend):
Manage should immediately pause state.

(Inspector::JSGlobalObjectInspectorController::frontendInitialized):
(Inspector::JSGlobalObjectInspectorController::pause): Deleted.
When initialized, trigger a pause if requested.

Source/WebCore:

* inspector/InspectorController.h:
* page/PageDebuggable.cpp:
(WebCore::PageDebuggable::connect):
* page/PageDebuggable.h:
Pass an immediatelyPause boolean on to the controller.

* inspector/InspectorController.cpp:
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::disconnectFrontend):
(WebCore::InspectorController::disconnectAllFrontends):
Manage should immediately pause state.

(WebCore::InspectorController::frontendInitialized):
When initialized, trigger a pause if requested.

Source/WebKit2:

* UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::connect):
* UIProcess/Automation/WebAutomationSession.h:
Special connection options are ignored in automation sessions.

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