WebKit.git
7 months ago[CoordGraphics] Avoid painting backing stores for zero-opacity layers
magomez@igalia.com [Thu, 31 Oct 2019 09:31:14 +0000 (09:31 +0000)]
[CoordGraphics] Avoid painting backing stores for zero-opacity layers
https://bugs.webkit.org/show_bug.cgi?id=184143

Reviewed by Žan Doberšek.

Source/WebCore:

Skip generating backing stores for layers that have zero opacity and do
not animate the opacity value. In the current CoordinatedGraphics system
this can end up saving loads of memory on Web content that deploys a
large number of such elements.

Based on a previous patch from Žan Doberšek.

* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::shouldHaveBackingStore const):

Source/WebKit:

Do not check whether a backingStore is required by a layer inside CoordinatedGraphicsScene. This
decision is made by the appropriate CoordinatedGraphicsLayer and propagated to the scene by
sending a valid or null Nicosia::BackingStore instance through the state.

* Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
(WebKit::updateBackingStore):
(WebKit::layerShouldHaveBackingStore): Deleted.

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

7 months ago[GTK][WPE] ImageDecoders: use SharedBuffer::DataSegment instead of SharedBuffer
carlosgc@webkit.org [Thu, 31 Oct 2019 09:01:02 +0000 (09:01 +0000)]
[GTK][WPE] ImageDecoders: use SharedBuffer::DataSegment instead of SharedBuffer
https://bugs.webkit.org/show_bug.cgi?id=202807

Reviewed by Adrian Perez de Castro.

Because SharedBuffer::DataSegment is ThreadSafeRefCounted.

* platform/image-decoders/ScalableImageDecoder.h:
* platform/image-decoders/bmp/BMPImageDecoder.cpp:
(WebCore::BMPImageDecoder::setData):
(WebCore::BMPImageDecoder::decodeHelper):
* platform/image-decoders/bmp/BMPImageDecoder.h:
* platform/image-decoders/bmp/BMPImageReader.h:
(WebCore::BMPImageReader::readUint16):
(WebCore::BMPImageReader::readUint32):
(WebCore::BMPImageReader::setData):
(WebCore::BMPImageReader::readUint16 const):
(WebCore::BMPImageReader::readUint32 const):
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::setData):
(WebCore::GIFImageDecoder::decode):
* platform/image-decoders/gif/GIFImageReader.h:
(GIFImageReader::setData):
* platform/image-decoders/ico/ICOImageDecoder.cpp:
(WebCore::ICOImageDecoder::setData):
(WebCore::ICOImageDecoder::decodeAtIndex):
* platform/image-decoders/ico/ICOImageDecoder.h:
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageReader::decode):
* platform/image-decoders/jpeg2000/JPEG2000ImageDecoder.cpp:
(WebCore::JPEG2000ImageDecoder::decode):
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageReader::decode):
* platform/image-decoders/webp/WEBPImageDecoder.cpp:
(WebCore::WEBPImageDecoder::decode):

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

7 months agoWindows build fix attempt after r251798.
rniwa@webkit.org [Thu, 31 Oct 2019 08:00:52 +0000 (08:00 +0000)]
Windows build fix attempt after r251798.

* AccessibleBase.cpp:
(AccessibleBase::get_accParent):
(AccessibleBase::getAccessibilityObjectForChild const):

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

7 months ago[Picture-in-Picture Web API] Enable the support for iOS
commit-queue@webkit.org [Thu, 31 Oct 2019 05:13:33 +0000 (05:13 +0000)]
[Picture-in-Picture Web API] Enable the support for iOS
https://bugs.webkit.org/show_bug.cgi?id=202618

Patch by Peng Liu <peng.liu6@apple.com> on 2019-10-30
Reviewed by Jer Noble.

Source/JavaScriptCore:

Enable the Picture-in-Picture API support for iOS (iPad only).

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Enable the Picture-in-Picture API support for iOS (iPad only).
Add a file WebCore/platform/PictureInPictureSupport.h to define supportsPictureInPicture()
and provide a default implementation of that function if a configuration does not provide it (just return false).
The original definition of this function in platform/cocoa/VideoFullscreenModel.h is removed,
and the usage of this function is cleaned up.
Also fix a build error related to including header file (pal/spi/cg/CoreGraphicsSPI.h).

Covered by existing test cases.

* Configurations/FeatureDefines.xcconfig:
* Modules/pictureinpicture/DocumentPictureInPicture.cpp:
(WebCore::DocumentPictureInPicture::pictureInPictureEnabled):
* Modules/pictureinpicture/DocumentPictureInPicture.h:
(WebCore::DocumentPictureInPicture::pictureInPictureEnabled): Deleted.
* Modules/pictureinpicture/HTMLVideoElementPictureInPicture.cpp:
(WebCore::HTMLVideoElementPictureInPicture::requestPictureInPicture):

* Configurations/FeatureDefines.xcconfig:
* Modules/pictureinpicture/DocumentPictureInPicture.cpp:
(WebCore::DocumentPictureInPicture::pictureInPictureEnabled):
* Modules/pictureinpicture/DocumentPictureInPicture.h:
(WebCore::DocumentPictureInPicture::pictureInPictureEnabled): Deleted.
* Modules/pictureinpicture/HTMLVideoElementPictureInPicture.cpp:
(WebCore::HTMLVideoElementPictureInPicture::requestPictureInPicture):
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLMediaElement.cpp:
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::webkitSupportsPresentationMode const):
* platform/PictureInPictureSupport.h: Copied from Source/WebCore/Modules/pictureinpicture/DocumentPictureInPicture.h.
(WebCore::supportsPictureInPicture):
* platform/cocoa/VideoFullscreenModel.h:
* platform/graphics/cg/PathCG.cpp:
* platform/ios/VideoFullscreenInterfaceAVKit.mm:
* platform/mac/VideoFullscreenInterfaceMac.mm:

Source/WebCore/PAL:

Enable the Picture-in-Picture API support for iOS (iPad only).

* Configurations/FeatureDefines.xcconfig:

Source/WebKit:

Enable the Picture-in-Picture API support for iOS (iPad only).

* Configurations/FeatureDefines.xcconfig:
* WebProcess/cocoa/VideoFullscreenManager.mm:

Source/WebKitLegacy/mac:

Enable the Picture-in-Picture API support for iOS (iPad only).

* Configurations/FeatureDefines.xcconfig:

Tools:

Enable the Picture-in-Picture API support for iOS (iPad only).

* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

LayoutTests:

We do not need to play the video before entering the picture-in-picture mode,
so remove the code to start video playback in the test pages.
Also, enable the layout test cases of the Picture-in-Picture API for iPad.

* media/picture-in-picture-api-pip-events-expected.txt:
* media/picture-in-picture-api-pip-events.html:
* media/picture-in-picture-api-pip-window-expected.txt:
* media/picture-in-picture-api-pip-window.html:
* platform/ipad/TestExpectations:

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

7 months agoinspector-protocol/debugger/setBreakpoint-dfg.html is flaky
yurys@chromium.org [Thu, 31 Oct 2019 04:54:46 +0000 (04:54 +0000)]
inspector-protocol/debugger/setBreakpoint-dfg.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=128736

Reviewed by Devin Rousso.

Reenabling the test on all platforms. Depending on the platform implementation of EventLoop
there is a difference in what is dispatched first when execution is resumed: previously
paused inspected script or commands from the inspector front-end. It would not be a problem
if InspectorFrontendAPI.dispatchMessageAsync actually delivered messages asynchronously.
With the current implementation though response to Debugger.resume
is dispatched in the front-end synchronously and the front-end would call InspectoTest.log
when inspected script execution is not yet resumed.

* TestExpectations:
* inspector/debugger/setBreakpoint-dfg-expected.txt:
* inspector/debugger/setBreakpoint-dfg.html: Print final 'PASS' output after exiting nested loop
so that it always appears last.
* platform/gtk/TestExpectations:

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

7 months agoWeb Inspector: Timelines: ResizeObserver callbacks are not labeled in the Events...
drousso@apple.com [Thu, 31 Oct 2019 03:47:34 +0000 (03:47 +0000)]
Web Inspector: Timelines: ResizeObserver callbacks are not labeled in the Events timeline
https://bugs.webkit.org/show_bug.cgi?id=203634
<rdar://problem/56760736>

Reviewed by Simon Fraser.

Wrap the `ResizeObserver` event handler in two `InspectorInstrumentation` calls so the
frontend knows how to properly label the callbacks.

* page/ResizeObserver.cpp:
(WebCore::ResizeObserver::deliverObservations):

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

7 months agoPrevent Mac CMake build from bit rotting
achristensen@apple.com [Thu, 31 Oct 2019 03:06:31 +0000 (03:06 +0000)]
Prevent Mac CMake build from bit rotting
https://bugs.webkit.org/show_bug.cgi?id=203647

Source/WebCore:

Rubber-stamped by Tim Horton.

* PlatformMac.cmake:
* platform/graphics/mac/WebKitNSImageExtras.mm:

Source/WebKit:

Rubber-stamped by Tim Horton.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::m_messagePortChannelRegistry):
* PlatformMac.cmake:
* UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(-[_WKWebAuthenticationPanel delegate]):
(-[_WKWebAuthenticationPanel setDelegate:]):
* UIProcess/WebProcessProxy.cpp:

Source/WTF:

Reviewed by Tim Horton.

* wtf/PlatformMac.cmake:

Tools:

Rubber-stamped by Tim Horton.

* DumpRenderTree/PlatformMac.cmake:
* WebKitTestRunner/PlatformMac.cmake:

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

7 months agoOpacity should always serialize as a number
simon.fraser@apple.com [Thu, 31 Oct 2019 02:16:27 +0000 (02:16 +0000)]
Opacity should always serialize as a number
https://bugs.webkit.org/show_bug.cgi?id=203601

Reviewed by Dean Jackson.
LayoutTests/imported/w3c:

* web-platform-tests/css/css-color/parsing/opacity-valid-expected.txt:

Source/WebCore:

opacity should always serialize as a number, even if it was specified as a percentage.

Tests: imported/w3c/web-platform-tests/css/css-color/parsing/opacity-valid

* css/StyleProperties.cpp:
(WebCore::StyleProperties::getPropertyValue const):

LayoutTests:

Fix the tests and results.

* fast/css/parsing-opacity-expected.txt:
* fast/css/parsing-opacity.html:
* fast/svg/parsing-fill-opacity-expected.txt:
* fast/svg/parsing-fill-opacity.html:
* fast/svg/parsing-flood-opacity-expected.txt:
* fast/svg/parsing-flood-opacity.html:
* fast/svg/parsing-stop-opacity-expected.txt:
* fast/svg/parsing-stop-opacity.html:
* fast/svg/parsing-stroke-opacity-expected.txt:
* fast/svg/parsing-stroke-opacity.html:

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

7 months agoAdd fullscreen style quirk for reddit.com
jer.noble@apple.com [Thu, 31 Oct 2019 01:41:11 +0000 (01:41 +0000)]
Add fullscreen style quirk for reddit.com
https://bugs.webkit.org/show_bug.cgi?id=203635
<rdar://problem/55813774>

Reviewed by Eric Carlson.

Reddit.com expects the UA stylesheet to give the fullscreen element
a "width:100%; height:100%;" style.

* css/CSSDefaultStyleSheets.cpp:
(WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
* page/Quirks.cpp:
(WebCore::Quirks::needsFullWidthHeightFullscreenStyleQuirk const):
* page/Quirks.h:

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

7 months ago[JSC] Date functions should have intrinsic
ysuzuki@apple.com [Thu, 31 Oct 2019 00:37:03 +0000 (00:37 +0000)]
[JSC] Date functions should have intrinsic
https://bugs.webkit.org/show_bug.cgi?id=202187

Reviewed by Keith Miller.

JSTests:

* stress/date-cse.js: Added.
(shouldBe):
(test):
(test2):
(test3):
* stress/date-get-date-jit.js: Added.
(shouldBe):
(test):
* stress/date-get-day-jit.js: Added.
(shouldBe):
(test):
* stress/date-get-full-year-jit.js: Added.
(shouldBe):
(test):
* stress/date-get-hours-jit.js: Added.
(shouldBe):
(test):
* stress/date-get-milliseconds-jit.js: Added.
(shouldBe):
(test):
* stress/date-get-minutes-jit.js: Added.
(shouldBe):
(test):
* stress/date-get-month-jit.js: Added.
(shouldBe):
(test):
* stress/date-get-seconds-jit.js: Added.
(shouldBe):
(test):
* stress/date-get-time-jit.js: Added.
(shouldBe):
(test):
* stress/date-get-timezone-offset-jit.js: Added.
(shouldBe):
(test):
* stress/date-get-utc-date-jit.js: Added.
(shouldBe):
(test):
* stress/date-get-utc-day-jit.js: Added.
(shouldBe):
(test):
* stress/date-get-utc-full-year-jit.js: Added.
(shouldBe):
(test):
* stress/date-get-utc-hours-jit.js: Added.
(shouldBe):
(test):
* stress/date-get-utc-milliseconds-jit.js: Added.
(shouldBe):
(test):
* stress/date-get-utc-minutes-jit.js: Added.
(shouldBe):
(test):
* stress/date-get-utc-month-jit.js: Added.
(shouldBe):
(test):
* stress/date-get-utc-seconds-jit.js: Added.
(shouldBe):
(test):
* stress/date-get-year-jit.js: Added.
(shouldBe):
(test):
* stress/date-value-of-jit.js: Added.
(shouldBe):
(test):

Source/JavaScriptCore:

This patch adds intrinsic to Date object getter functions to make it inlined in DFG and FTL.
We add two DFG nodes, DateGetInt32OrNaN and DateGetTime. DateGetTime is used when we know
that the result is always machine double. On the other hand, DateGetInt32OrNaN is used when the result is Int32 or NaN.

Run SunSpider 100 times and get the solid improvement in Date related benchmarks.

                                  ToT                     Patched

    date-format-tofte        5.3511+-0.0260     ^      5.2747+-0.0273        ^ definitely 1.0145x faster
    date-format-xparb        4.9196+-0.0265     ^      4.7067+-0.0200        ^ definitely 1.0452x faster

* bytecode/SpeculatedType.cpp:
(JSC::dumpSpeculation):
(JSC::speculationFromClassInfo):
(JSC::speculationFromJSType):
(JSC::speculationFromString):
* bytecode/SpeculatedType.h:
* dfg/DFGAbstractHeap.h:
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
* dfg/DFGHeapLocation.cpp:
(WTF::printInternal):
* dfg/DFGHeapLocation.h:
* dfg/DFGNode.h:
(JSC::DFG::Node::hasIntrinsic):
(JSC::DFG::Node::intrinsic):
(JSC::DFG::Node::hasHeapPrediction):
* dfg/DFGNodeType.h:
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGPredictionPropagationPhase.cpp:
* dfg/DFGSafeToExecute.h:
(JSC::DFG::SafeToExecuteEdge::operator()):
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::speculateDateObject):
(JSC::DFG::SpeculativeJIT::speculate):
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::compileDateGet):
* dfg/DFGUseKind.cpp:
(WTF::printInternal):
* dfg/DFGUseKind.h:
(JSC::DFG::typeFilterFor):
(JSC::DFG::isCell):
* ftl/FTLAbstractHeapRepository.cpp:
* ftl/FTLAbstractHeapRepository.h:
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileDateGet):
(JSC::FTL::DFG::LowerDFGToB3::lowDateObject):
(JSC::FTL::DFG::LowerDFGToB3::speculate):
(JSC::FTL::DFG::LowerDFGToB3::speculateDateObject):
* runtime/DateConversion.cpp:
(JSC::formatDateTime):
* runtime/DateInstance.cpp:
(JSC::DateInstance::calculateGregorianDateTime const):
(JSC::DateInstance::calculateGregorianDateTimeUTC const):
* runtime/DateInstance.h:
* runtime/DateInstanceCache.h:
(JSC::DateInstanceData::offsetOfGregorianDateTimeCachedForMS):
(JSC::DateInstanceData::offsetOfCachedGregorianDateTime):
(JSC::DateInstanceData::offsetOfGregorianDateTimeUTCCachedForMS):
(JSC::DateInstanceData::offsetOfCachedGregorianDateTimeUTC):
(JSC::DateInstanceData::DateInstanceData): Deleted.
* runtime/DatePrototype.cpp:
(JSC::formatLocaleDate):
(JSC::formateDateInstance):
(JSC::dateProtoFuncToISOString):
(JSC::dateProtoFuncGetFullYear):
(JSC::dateProtoFuncGetUTCFullYear):
(JSC::dateProtoFuncGetMonth):
(JSC::dateProtoFuncGetUTCMonth):
(JSC::dateProtoFuncGetDate):
(JSC::dateProtoFuncGetUTCDate):
(JSC::dateProtoFuncGetDay):
(JSC::dateProtoFuncGetUTCDay):
(JSC::dateProtoFuncGetHours):
(JSC::dateProtoFuncGetUTCHours):
(JSC::dateProtoFuncGetMinutes):
(JSC::dateProtoFuncGetUTCMinutes):
(JSC::dateProtoFuncGetSeconds):
(JSC::dateProtoFuncGetUTCSeconds):
(JSC::dateProtoFuncGetMilliSeconds):
(JSC::dateProtoFuncGetUTCMilliseconds):
(JSC::dateProtoFuncGetTimezoneOffset):
(JSC::setNewValueFromTimeArgs):
(JSC::setNewValueFromDateArgs):
(JSC::dateProtoFuncSetYear):
(JSC::dateProtoFuncGetYear):
* runtime/Intrinsic.cpp:
(JSC::intrinsicName):
* runtime/Intrinsic.h:
* runtime/JSDateMath.cpp:
(JSC::msToGregorianDateTime):
* runtime/JSType.cpp:
(WTF::printInternal):
* runtime/JSType.h:

Source/WebCore:

* loader/archive/mhtml/MHTMLArchive.cpp:
(WebCore::MHTMLArchive::generateMHTMLData):

Source/WTF:

* wtf/DateMath.h:
* wtf/GregorianDateTime.cpp:
(WTF::GregorianDateTime::setToCurrentLocalTime):
* wtf/GregorianDateTime.h:

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

7 months agoIt should be possible to create a mach sandbox extension for the WebContent process...
pvollan@apple.com [Thu, 31 Oct 2019 00:33:49 +0000 (00:33 +0000)]
It should be possible to create a mach sandbox extension for the WebContent process before the audit token is known
https://bugs.webkit.org/show_bug.cgi?id=203618

Reviewed by Brent Fulgham.

Source/WebKit:

Currently, we are only able to create a mach sandbox extension for the WebContent process if we know its
audit token. It should be possible to create a mach extension without the audit token, since this is
needed when we want to create extensions before the PID or audit token is known. These extensions are
typically sent in the WebProcess creation parameters.

No new tests, this is not a behavior change, but a patch in preparation for future patches.

* Shared/Cocoa/SandboxExtensionCocoa.mm:
(WebKit::SandboxExtensionImpl::sandboxExtensionForType):
(WebKit::SandboxExtension::createHandleForMachLookup):
(WebKit::SandboxExtension::createHandleForMachLookupByAuditToken): Deleted.
* Shared/SandboxExtension.h:
* UIProcess/ios/WebProcessProxyIOS.mm:
(WebKit::WebProcessProxy::unblockAccessibilityServerIfNeeded):

Source/WTF:

Added SPI to create mach extension without PID or audit token.

* wtf/spi/darwin/SandboxSPI.h:

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

7 months agoFix some sysctl read violations in the WebContent process
pvollan@apple.com [Thu, 31 Oct 2019 00:14:44 +0000 (00:14 +0000)]
Fix some sysctl read violations in the WebContent process
https://bugs.webkit.org/show_bug.cgi?id=203632

Reviewed by Brent Fulgham.

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

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

7 months agoREGRESSION(r251568) If we didn't start a Service Worker, don't try talking to it
dino@apple.com [Wed, 30 Oct 2019 23:59:42 +0000 (23:59 +0000)]
REGRESSION(r251568) If we didn't start a Service Worker, don't try talking to it
https://bugs.webkit.org/show_bug.cgi?id=203639
<rdar://problem/56762071>

Reviewed by Chris Dumez.

Similar to the fix that introduced this regression, if the UI process does
not have the entitlement to start a service worker, we should not try
to load with one.

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad): If the
parent process doesn't have a service worker, use the regular load path.

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

7 months agoTurn Resize Observer on by default
simon.fraser@apple.com [Wed, 30 Oct 2019 23:40:19 +0000 (23:40 +0000)]
Turn Resize Observer on by default
https://bugs.webkit.org/show_bug.cgi?id=203644
rdar://problem/56026799

Reviewed by Tim Horton.

Change the defaultValue of Resize Observer to true.

* Shared/WebPreferences.yaml:

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

7 months agoLookup to mach services with the WebKit extension should list the allowed services
pvollan@apple.com [Wed, 30 Oct 2019 23:33:16 +0000 (23:33 +0000)]
Lookup to mach services with the WebKit extension should list the allowed services
https://bugs.webkit.org/show_bug.cgi?id=203619

Reviewed by Alexey Proskuryakov.

To tighten the mach lookup rule which allows lookup to services with the "com.apple.webkit.extension.mach"
extension, all allowed services should be listed. Currently, we are only creating mach lookup extensions to
"com.apple.iphone.axserver-systemwide", but more will come in the future.

No new tests. Testing this requires UI interaction on the device to enable Accessibility.

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

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

7 months agoGPUCanvasContext should not prevent entering the back/forward cache
cdumez@apple.com [Wed, 30 Oct 2019 23:29:22 +0000 (23:29 +0000)]
GPUCanvasContext should not prevent entering the back/forward cache
https://bugs.webkit.org/show_bug.cgi?id=203104
<rdar://problem/56748066>

Reviewed by Tim Horton.

Source/WebCore:

Let pages with a GPUCanvasContext into the back/forward cache. The current implementation
does not run any script.

Test: fast/history/page-cache-gpu-canvas-context.html

* Modules/webgpu/GPUCanvasContext.h:

LayoutTests:

Add layout test coverage.

* fast/history/page-cache-gpu-canvas-context-expected.txt: Added.
* fast/history/page-cache-gpu-canvas-context.html: Added.

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

7 months agoTemporarily skip ChakraCore/test/Math/max.js on arm and mips
guijemont@igalia.com [Wed, 30 Oct 2019 23:18:09 +0000 (23:18 +0000)]
Temporarily skip ChakraCore/test/Math/max.js on arm and mips

Unreviewed gardening.

* ChakraCore.yaml:

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

7 months ago[GTK] LayoutTests/inspector tests timeout
yurys@chromium.org [Wed, 30 Oct 2019 23:12:14 +0000 (23:12 +0000)]
[GTK] LayoutTests/inspector tests timeout
https://bugs.webkit.org/show_bug.cgi?id=147518

Unreviewed. Renable inspector/dom and inspector/timeline tests on GTK.

* inspector/dom/getAccessibilityPropertiesForNode-expected.txt: This test has consistent output which
is slightly different from Mac.
* platform/gtk/TestExpectations:
* platform/gtk/inspector/timeline/line-column-expected.txt: Added. TimelineRecordType::RenderingFrame
is only emitted on PLATFORM(COCOA), so we need custom expectation on other platforms.

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

7 months ago[ iOS ] Layout Test fast/css-custom-paint/simple-hidpi.html is a Flaky Failure (203637).
repstein@apple.com [Wed, 30 Oct 2019 22:50:44 +0000 (22:50 +0000)]
[ iOS ] Layout Test fast/css-custom-paint/simple-hidpi.html is a Flaky Failure (203637).
https://bugs.webkit.org/show_bug.cgi?id=203637

Unreviewed Test Gardening.

* platform/ios-wk2/TestExpectations: Marked test as flaky.

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

7 months agoWeb Inspector: track WI.Script unique display name numbers per Page target
yurys@chromium.org [Wed, 30 Oct 2019 22:49:11 +0000 (22:49 +0000)]
Web Inspector: track WI.Script unique display name numbers per Page target
https://bugs.webkit.org/show_bug.cgi?id=203427

Reviewed by Devin Rousso.

WI.Script now keeps track of last unique numbers via a static weak map keyed by
the Script's root target. So whenever new Page target is created all its scripts
will get unique display numbers from a new namespace.

Parent target is now passed to each target constructor and allow to find host
page target for nested targets. Among other things WorkerConnection and
TargetConnection use parentTarget for dispatching events instead of creating
extra copy of the same data that is already stored in Target.

* UserInterface/Controllers/DebuggerManager.js:
(WI.DebuggerManager.prototype.globalObjectCleared):
* UserInterface/Controllers/TargetManager.js:
(WI.TargetManager.prototype.targetCreated):
(WI.TargetManager.prototype.didCommitProvisionalTarget):
(WI.TargetManager.prototype.targetDestroyed):
(WI.TargetManager.prototype.dispatchMessageFromTarget):
(WI.TargetManager.prototype._connectToTarget):
(WI.TargetManager.prototype._createTarget):
* UserInterface/Controllers/WorkerManager.js:
(WI.WorkerManager.prototype.workerCreated):
* UserInterface/Models/Script.js:
(WI.Script):
(WI.Script.prototype.get displayName):
(WI.Script.prototype._nextUniqueDisplayNameNumber):
(WI.Script.prototype._nextUniqueConsoleDisplayNameNumber):
(WI.Script.prototype._uniqueDisplayNameNumbersForRootTarget):
* UserInterface/Protocol/Connection.js:
(InspectorBackend.WorkerConnection.prototype.sendMessageToBackend):
(InspectorBackend.WorkerConnection):
(InspectorBackend.TargetConnection.prototype.sendMessageToBackend):
(InspectorBackend.TargetConnection):
* UserInterface/Protocol/DirectBackendTarget.js:
(WI.DirectBackendTarget):
* UserInterface/Protocol/MultiplexingBackendTarget.js:
(WI.MultiplexingBackendTarget):
* UserInterface/Protocol/PageTarget.js:
(WI.PageTarget):
* UserInterface/Protocol/Target.js:
(WI.Target):
(WI.Target.prototype.get parentTarget):
(WI.Target.prototype.get rootTarget):
* UserInterface/Protocol/WorkerTarget.js:
(WI.WorkerTarget):

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

7 months agoIntl.DateTimeFormat returns resolvedOptions in the wrong order
ross.kirsling@sony.com [Wed, 30 Oct 2019 22:41:52 +0000 (22:41 +0000)]
Intl.DateTimeFormat returns resolvedOptions in the wrong order
https://bugs.webkit.org/show_bug.cgi?id=203297

Reviewed by Yusuke Suzuki.

JSTests:

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

Source/JavaScriptCore:

See table here:
https://tc39.es/ecma402/#table-datetimeformat-resolvedoptions-properties

* runtime/IntlDateTimeFormat.cpp:
(JSC::IntlDateTimeFormat::resolvedOptions):

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

7 months agoWKContentRuleLists should block requests from service workers
achristensen@apple.com [Wed, 30 Oct 2019 22:39:31 +0000 (22:39 +0000)]
WKContentRuleLists should block requests from service workers
https://bugs.webkit.org/show_bug.cgi?id=201980
<rdar://problem/55516735>

Reviewed by Chris Dumez.

Source/WebKit:

Test: http/tests/contentextensions/service-worker.https.html

Also covered by an API test.

* Shared/ServiceWorkerInitializationData.cpp: Added.
(WebKit::ServiceWorkerInitializationData::encode const):
(WebKit::ServiceWorkerInitializationData::decode):
* Shared/ServiceWorkerInitializationData.h: Added.
* Sources.txt:
* UIProcess/UserContent/WebUserContentControllerProxy.cpp:
(WebKit::WebUserContentControllerProxy::addProcess):
(WebKit::WebUserContentControllerProxy::contentRuleListData):
* UIProcess/UserContent/WebUserContentControllerProxy.h:
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::establishWorkerContextConnectionToNetworkProcess):
(WebKit::WebProcessPool::createWebPage):
* UIProcess/WebProcessPool.h:
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::createForServiceWorkers):
(WebKit::WebProcessProxy::establishServiceWorkerContext):
(WebKit::contentRuleListsFromIdentifier):
(WebKit::WebProcessProxy::enableServiceWorkers):
* UIProcess/WebProcessProxy.h:
* WebKit.xcodeproj/project.pbxproj:
* WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::WebSWContextManagerConnection):
(WebKit::m_userAgent):
(WebKit::WebSWContextManagerConnection::installServiceWorker):
* WebProcess/Storage/WebSWContextManagerConnection.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::establishWorkerContextConnectionToNetworkProcess):
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:

Tools:

NSString initWithContentsOfURL doesn't work with https URLs with certificates without a trusted root,
so I use an ephemeral NSURLSession instead so I can tell it to accept any connection, even our WebKit httpd server.
I also added an API test.

* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
* WebKitTestRunner/mac/TestControllerMac.mm:
(-[WKTRSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
(WTR::TestController::configureContentExtensionForTest):

LayoutTests:

* http/tests/contentextensions/resources/fetch-worker.js: Added.
(event.fetch.string_appeared_here.then):
(event.catch):
* http/tests/contentextensions/resources/serviceworkertest.js: Added.
(testServiceWorker):
(test):
* http/tests/contentextensions/service-worker.https-expected.txt: Added.
* http/tests/contentextensions/service-worker.https.html: Added.
* http/tests/contentextensions/service-worker.https.html.json: Added.

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

7 months agoAdd pretty printer for CompactPointerTuple
dbates@webkit.org [Wed, 30 Oct 2019 22:21:06 +0000 (22:21 +0000)]
Add pretty printer for CompactPointerTuple
https://bugs.webkit.org/show_bug.cgi?id=203495

Reviewed by Jer Noble.

Source/WTF:

#include <wtf/FastMalloc.h> for the definition of WTF_MAKE_FAST_ALLOCATED.

* wtf/CompactPointerTuple.h:

Tools:

Make it easy to see the state of a CompactPointerTuple. Now we will print something like:

        (WTF::CompactPointerTuple<WTF::String *, unsigned char>) $0 = { type = 7 } {
          [0] = 0x00007ffeefbff220 { length = 8, contents = 'résumé' }
          [1] = 7
        }

for aCompactPointerTuple defined like this:

        String aString { "résumé" };
        CompactPointerTuple<String*, uint8_t> aCompactPointerTuple { &aString, 7 };

* lldb/lldbWebKitTester/main.cpp:
(testSummaryProviders):
* lldb/lldb_webkit.py:
(__lldb_init_module):
(__lldb_init_module.lldb_webkit):
(WTFCompactPointerTuple_SummaryProvider):
(WTFCompactPointerTupleProvider):
(WTFCompactPointerTupleProvider.__init__):

(WTFCompactPointerTupleProvider.type_as_string):
(WTFCompactPointerTupleProvider.is_human_readable_type):
The majority of the time CompactPointerTuple will be used with non-character type data. So,
I optimize for this use case and consider the integral value as more readable than than LLDB's
default summary provider that emits the character or equivalent C escape sequence.

(WTFCompactPointerTupleProvider.has_children):
(WTFCompactPointerTupleProvider.num_children):
(WTFCompactPointerTupleProvider.get_child_index):
(WTFCompactPointerTupleProvider.get_child_at_index):
(WTFCompactPointerTupleProvider.update):
* lldb/lldb_webkit_unittest.py:
(TestSummaryProviders.serial_test_WTFOptionSetProvider_aliased_flag):
(TestSummaryProviders):
(TestSummaryProviders.serial_test_WTFCompactPointerTuple_SummaryProvider_empty):
(TestSummaryProviders.serial_test_WTFCompactPointerTuple_SummaryProvider_simple):
(TestSummaryProviders.serial_test_WTFCompactPointerTuple_SummaryProvider_max_type_value):
(TestSummaryProviders.serial_test_WTFCompactPointerTuple_SummaryProvider_bool):
(TestSummaryProviders.serial_test_WTFCompactPointerTupleProvider_empty):
(TestSummaryProviders.serial_test_WTFCompactPointerTupleProvider_simple):
(TestSummaryProviders.serial_test_WTFCompactPointerTupleProvider_max_type_value):
(TestSummaryProviders.serial_test_WTFCompactPointerTupleProvider_simple_bool):

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

7 months agotryCachePutToScopeGlobal should hold the lock to update metadata.m_getPutInfo
tzagallo@apple.com [Wed, 30 Oct 2019 22:19:33 +0000 (22:19 +0000)]
tryCachePutToScopeGlobal should hold the lock to update metadata.m_getPutInfo
https://bugs.webkit.org/show_bug.cgi?id=203628
<rdar://problem/56705353>

Reviewed by Yusuke Suzuki.

JSTests:

* stress/property-move-from-global-object-to-global-lexical-environment.js: Added.
(foo):

Source/JavaScriptCore:

We hold the lock to update m_watchpointSet and m_operand, but at that point we have already
updated m_getPutInfo. This can lead to inconsistent state observable from the compiler thread
where the getPutInfo does not match the watchpointSet.

* runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::tryCachePutToScopeGlobal):

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

7 months agoFix misspelling test named fast/dom/simultaneouslyRegsiteredTimerFireOrder.html
dbates@webkit.org [Wed, 30 Oct 2019 22:17:03 +0000 (22:17 +0000)]
Fix misspelling test named fast/dom/simultaneouslyRegsiteredTimerFireOrder.html
https://bugs.webkit.org/show_bug.cgi?id=203578

Reviewed by Jer Noble.

* fast/dom/simultaneously-registered-timer-fire-order-expected.txt: Renamed from LayoutTests/fast/dom/simultaneouslyRegsiteredTimerFireOrder-expected.txt.
* fast/dom/simultaneously-registered-timer-fire-order.html: Renamed from LayoutTests/fast/dom/simultaneouslyRegsiteredTimerFireOrder.html.

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

7 months agoMove tracking and computation of timer heap current insertion order to ThreadTimers
dbates@webkit.org [Wed, 30 Oct 2019 22:15:45 +0000 (22:15 +0000)]
Move tracking and computation of timer heap current insertion order to ThreadTimers
https://bugs.webkit.org/show_bug.cgi?id=203519

Reviewed by Jer Noble.

Each thread maintains its own heap of timers. So, they should also maintain the running insertion count.
The running insertion count is used to ensure timers with the same firing time are ordered by when
they were inserted into the heap. This is important to ensure that code like:

        window.setTimeout(a, 0)
        window.setTimeout(b, 0)

schedule a() to be called before b() even though both has the same firing time.

Currently the insertion count is process-wide. That is, it is globally unique across all threads. The
current width of the count is sizeof(unsigned) and so the more threads that increment it the faster it
approaches the point of wrapping around. The current code can only ensure correct timer ordering in a
window of sizeof(unsigned) / 2 timers (see TimerHeapLessThanFunction::compare(MonotonicTime, unsigned, MonotonicTime, unsigned)).
We could simply leave it process-wide and increases the width to 64-bits, but I felt it made more
sense conceptually to move the count to the thread local storage and be with the timer heap itself
despite the extra 4 bytes per thread that it adds.

* dom/ActiveDOMObject.h:
* platform/ThreadTimers.h:
(WebCore::ThreadTimers::nextHeapInsertionCount): Added.
* platform/Timer.cpp:
(WebCore::TimerBase::setNextFireTime):

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

7 months agoRemove the argument 'resultElement' from the SVG animation functions
commit-queue@webkit.org [Wed, 30 Oct 2019 22:15:17 +0000 (22:15 +0000)]
Remove the argument 'resultElement' from the SVG animation functions
https://bugs.webkit.org/show_bug.cgi?id=202052

 Reviewed by Simon Fraser.

 This is a clean-up patch, which does the following:

 -- It removes the argument 'resultElement' from all the SVG animation
   functions except from SVGSMILElement::progress(). In this function, we
   need to start the animation only with the first animation.

 -- It renames resetAnimatedType() and clearAnimatedType() to startAnimation()
   and stopAnimation() respectively. These functions were named for the
   type SVGAnimatedType which had been deleted. The real purpose of these
   functions is to start/stop the animation.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2019-10-30

* svg/SVGAnimateElementBase.cpp:
(WebCore::SVGAnimateElementBase::startAnimation):
(WebCore::SVGAnimateElementBase::calculateAnimatedValue):
(WebCore::SVGAnimateElementBase::stopAnimation):
(WebCore::SVGAnimateElementBase::resetAnimatedType): Deleted.
(WebCore::SVGAnimateElementBase::clearAnimatedType): Deleted.
* svg/SVGAnimateElementBase.h:
* svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::startAnimation):
(WebCore::SVGAnimateMotionElement::stopAnimation):
(WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
(WebCore::SVGAnimateMotionElement::resetAnimatedType): Deleted.
(WebCore::SVGAnimateMotionElement::clearAnimatedType): Deleted.
* svg/SVGAnimateMotionElement.h:
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::updateAnimation):
* svg/SVGAnimationElement.h:
* svg/animation/SMILTimeContainer.cpp:
(WebCore::SMILTimeContainer::updateAnimations):
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::reset):
(WebCore::SVGSMILElement::setAttributeName):
(WebCore::SVGSMILElement::setTargetElement):
(WebCore::SVGSMILElement::progress):
* svg/animation/SVGSMILElement.h:

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

7 months agoPython 3: Add support in webkitpy.port
jbedard@apple.com [Wed, 30 Oct 2019 21:56:56 +0000 (21:56 +0000)]
Python 3: Add support in webkitpy.port
https://bugs.webkit.org/show_bug.cgi?id=203489

Reviewed by Dewei Zhu.

* Scripts/test-webkitpy-python3: Add webkitpy.port.
* Scripts/webkitpy/common/newstringio.py: Removed.
* Scripts/webkitpy/common/newstringio_unittest.py: Removed.
* Scripts/webkitpy/common/system/executive_mock.py:
(MockProcess.__init__): Ensure that stdout and stderr are byte arrays.
* Scripts/webkitpy/common/version.py:
(Version.__hash__): Add hash function for Version objects.
* Scripts/webkitpy/port/base.py:
(Port.default_baseline_search_path): Convert list to map.
(Port.diff_text): Decode for the native string type.
(Port.skipped_perf_tests): Convert filter to list.
(Port._run_script): No need to decode strings in Python 3, even if decode_output is set.
(Port.diff_text.to_raw_bytes): Deleted.
* Scripts/webkitpy/port/base_unittest.py:
(cmp): Add cmp function for Python 3 comparisons.
(PortTest.test_diff_text): Do not escape spaces.
(PortTest.test_parse_reftest_list): Write to test file explicitly.
* Scripts/webkitpy/port/builders_unittest.py: Use full import path.
* Scripts/webkitpy/port/config_standalone.py: script_dir was refering to Tools,
not Tools/Scripts.
* Scripts/webkitpy/port/config_unittest.py: Use full import path.
* Scripts/webkitpy/port/darwin.py:
(DarwinPort.show_results_html_file): Use os.devnull directly.
* Scripts/webkitpy/port/driver_unittest.py:
(DriverTest.test_read_base64_block): Explicitly compare against byte array.
(DriverTest.test_setup_environ_base_vars): Convert iterators to lists.
* Scripts/webkitpy/port/factory.py:
(PortFactory.get.in): Imports need to use the full import path.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.default_baseline_search_path): Convert map to list.
* Scripts/webkitpy/port/leakdetector.py:
(LeakDetector._parse_leaks_output): Search byte array with byte array.
* Scripts/webkitpy/port/leakdetector_valgrind.py:
(ValgrindError.__str__): Split byte array with byte array.
(ValgrindError.error_hash): Correct regex.
(LeakDetectorValgrind._parse_leaks_output): Convert bytes to string.
(LeakDetectorValgrind.parse_and_print_leaks_detail): Standardize Python 2 and 3 sorting order.
* Scripts/webkitpy/port/leakdetector_valgrind_unittest.py: Make unit tests Python 3 compatible.
* Scripts/webkitpy/port/linux_get_crash_log.py:
(GDBCrashLogGenerator._get_trace_from_systemd): Modernize exception handling.
(GDBCrashLogGenerator.generate_crash_log): No need to decode strings in Python 3.
* Scripts/webkitpy/port/mac.py:
(MacPort.start_helper): is_ready will be a byte array.
(MacPort.stop_helper): stdin will be a byte array.
* Scripts/webkitpy/port/mock_drt_unittest.py:
(MockDRTTest.assertTest): Use unicode compatible StringIO objects.
(MockDRTTest.test_main): Ditto.
* Scripts/webkitpy/port/port_testcase.py:
(bind_mock_apple_additions.MockAppleAdditions.version_name_mapping): Use items instead of iteritems.
(PortTestCase.test_expectations_ordering): Convert iterator to list.
(PortTestCase.test_test_expectations): Ditto.
* Scripts/webkitpy/port/win.py:
(WinPort.__init__):
(WinPort.default_baseline_search_path): Convert map to list.
(WinPort.test_search_path): Ditto.
(WinPort.setup_crash_log_saving): Use items instead of iteritems.
(WinPort.restore_crash_log_saving): Ditto.
(WinPort.prevent_error_dialogs): Ditto.
(WinPort.allow_error_dialogs): Ditto.
(WinCairoPort.default_baseline_search_path): Convert map to list.
(WinCairoPort._port_specific_expectations_files): Ditto.
(FTWPort.default_baseline_search_path): Ditto.
(FTWPort._port_specific_expectations_files): Ditto.
* Scripts/webkitpy/port/win_unittest.py: Ditto.
(WinPortTest._assert_search_path): Ditto.
* Scripts/webkitpy/port/wpe.py:
(WPEPort.default_baseline_search_path): Convert map to list.
(WPEPort._port_specific_expectations_files): Ditto.

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

7 months agoREGRESSION [ PHP ][ iOS ]: Two http/tests/cookies/same-site/set-first-party-* Tests...
repstein@apple.com [Wed, 30 Oct 2019 21:41:58 +0000 (21:41 +0000)]
REGRESSION [ PHP ][ iOS ]: Two http/tests/cookies/same-site/set-first-party-* Tests are Failing
https://bugs.webkit.org/show_bug.cgi?id=203567

Unreviewed Test Gardening.

* platform/ios-wk2/TestExpectations: Marked tests as failing.

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

7 months agoCovscan: remove stray semicolon
commit-queue@webkit.org [Wed, 30 Oct 2019 21:40:07 +0000 (21:40 +0000)]
Covscan: remove stray semicolon
https://bugs.webkit.org/show_bug.cgi?id=203622

Patch by Eike Rathke <erack@redhat.com> on 2019-10-30
Reviewed by Devin Rousso.

* UserInterface/Views/CheckboxNavigationItem.js:
(WI.CheckboxNavigationItem.prototype.set label):

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

7 months agoREGRESSION (r251750): Three CSS Tests are Failing
simon.fraser@apple.com [Wed, 30 Oct 2019 21:30:39 +0000 (21:30 +0000)]
REGRESSION (r251750): Three CSS Tests are Failing
https://bugs.webkit.org/show_bug.cgi?id=203616
<rdar://problem/56749907>

Unreviewed test gardening.

Fix the conic-gradient-parsing.html tests, and update iOS expectations for two hsl tests.

* http/wpt/css/css-images-4/conic-gradient-parsing.html:
* platform/ios/fast/css/hsl-color-expected.txt:
* platform/ios/fast/css/hsla-color-expected.txt:

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

7 months agoASSERTION FAILED: !object || !isRuby(object->parent()) || is<RenderRubyRun>(*object...
zalan@apple.com [Wed, 30 Oct 2019 20:49:15 +0000 (20:49 +0000)]
ASSERTION FAILED: !object || !isRuby(object->parent()) || is<RenderRubyRun>(*object) || (object->isInline() && (object->isBeforeContent() || object->isAfterContent())) || (object->isAnonymous() && is<RenderBlock>(*object) && object->style().display() == D
https://bugs.webkit.org/show_bug.cgi?id=196003
<rdar://problem/49219890>

Reviewed by Antti Koivisto.

Source/WebCore:

This test case triggered two slightly different issues.
1. It's valid to have column flows/sets as the child of the ruby renderer (isRubyChildForNormalRemoval already accepts these type of renderers).
2. When the parent finding logic comes back with the insertion point as parent candidate, we can only call the simple internal insert when the multicol context is not present (since the multicol context (sadly) mutates the insertion point).

* rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::attach):
* rendering/updating/RenderTreeBuilderRuby.cpp:
(WebCore::isAnonymousRubyInlineBlock):
(WebCore::lastRubyRun):

LayoutTests:

* TestExpectations:

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

7 months agoCreate base class common to AccessibilityObject and AXIsolatedTreeNode.
andresg_22@apple.com [Wed, 30 Oct 2019 20:44:34 +0000 (20:44 +0000)]
Create base class common to AccessibilityObject and AXIsolatedTreeNode.
https://bugs.webkit.org/show_bug.cgi?id=203408

Reviewed by Chris Fleizach.

Source/WebCore:

No new tests needed since this doesn't change any functionality.

AXCoreObject is now a common base class for both AccessibilityObject and
AXIsolatedTreeNode. All client code should use AXCoreObject instead of
any of the derived classes. This will allow to seamlessly switch
between using AXIsolatedTreeNode in the secondary thread and
AccessibilityObject in the main thread when needed. This change also
allows for cleaner client code, encapsulating the decision whether
AXIsolatedTreeNode can respond to a request or need to resort to its
corresponding AccessibilityObject, and reducing the number of compile
time flag checks for ENABLE(ACCESSIBILITY_ISOLATED_TREE).

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::~AXObjectCache):
(WebCore::AXObjectCache::focusedImageMapUIElement):
(WebCore::AXObjectCache::focusedUIElementForPage):
(WebCore::AXObjectCache::getOrCreate):
(WebCore::AXObjectCache::remove):
(WebCore::AXObjectCache::getAXID):
(WebCore::AXObjectCache::childrenChanged):
(WebCore::AXObjectCache::notificationPostTimerFired):
(WebCore::AXObjectCache::postNotification):
(WebCore::AXObjectCache::setTextMarkerDataWithCharacterOffset):
(WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
(WebCore::AXObjectCache::textMarkerDataForFirstPositionInTextControl):
(WebCore::AXObjectCache::performDeferredCacheUpdate):
* accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::childrenChanged):
* accessibility/AccessibilityARIAGrid.cpp:
(WebCore::AccessibilityARIAGrid::addTableCellChild):
(WebCore::AccessibilityARIAGrid::addRowDescendant):
* accessibility/AccessibilityARIAGrid.h:
* accessibility/AccessibilityARIAGridCell.cpp:
(WebCore::AccessibilityARIAGridCell::parentTable const):
(WebCore::AccessibilityARIAGridCell::rowIndexRange const):
(WebCore::AccessibilityARIAGridCell::axRowSpanWithRowIndex const):
(WebCore::AccessibilityARIAGridCell::columnIndexRange const):
* accessibility/AccessibilityARIAGridRow.cpp:
(WebCore::AccessibilityARIAGridRow::disclosedRows):
(WebCore::AccessibilityARIAGridRow::disclosedByRow const):
(WebCore::AccessibilityARIAGridRow::headerObject):
* accessibility/AccessibilityARIAGridRow.h:
* accessibility/AccessibilityLabel.cpp:
(WebCore::AccessibilityLabel::insertChild):
* accessibility/AccessibilityLabel.h:
* accessibility/AccessibilityListBox.cpp:
(WebCore::AccessibilityListBox::elementAccessibilityHitTest const):
* accessibility/AccessibilityListBox.h:
* accessibility/AccessibilityMathMLElement.cpp:
(WebCore::AccessibilityMathMLElement::isMathScriptObject const):
(WebCore::AccessibilityMathMLElement::isMathMultiscriptObject const):
(WebCore::AccessibilityMathMLElement::mathRadicandObject):
(WebCore::AccessibilityMathMLElement::mathRootIndexObject):
(WebCore::AccessibilityMathMLElement::mathNumeratorObject):
(WebCore::AccessibilityMathMLElement::mathDenominatorObject):
(WebCore::AccessibilityMathMLElement::mathUnderObject):
(WebCore::AccessibilityMathMLElement::mathOverObject):
(WebCore::AccessibilityMathMLElement::mathBaseObject):
(WebCore::AccessibilityMathMLElement::mathSubscriptObject):
(WebCore::AccessibilityMathMLElement::mathSuperscriptObject):
* accessibility/AccessibilityMathMLElement.h:
* accessibility/AccessibilityMediaControls.h:
* accessibility/AccessibilityMenuList.cpp:
(WebCore::AccessibilityMenuList::addChildren):
* accessibility/AccessibilityMenuListPopup.cpp:
(WebCore::AccessibilityMenuListPopup::childrenChanged):
(WebCore::AccessibilityMenuListPopup::didUpdateActiveOption):
* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::selectedRadioButton):
(WebCore::AccessibilityNodeObject::selectedTabItem):
* accessibility/AccessibilityNodeObject.h:
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isAccessibilityObjectSearchMatchAtIndex):
(WebCore::AccessibilityObject::isAccessibilityObjectSearchMatch):
(WebCore::AccessibilityObject::isAccessibilityTextSearchMatch):
(WebCore::AccessibilityObject::containsText const):
(WebCore::AccessibilityObject::parentObjectUnignored const):
(WebCore::appendAccessibilityObject):
(WebCore::AccessibilityObject::insertChild):
(WebCore::AccessibilityObject::addChild):
(WebCore::appendChildrenToArray):
(WebCore::AccessibilityObject::objectMatchesSearchCriteriaWithResultLimit):
(WebCore::AccessibilityObject::findMatchingObjects):
(WebCore::AccessibilityObject::headingElementForNode):
(WebCore::AccessibilityObject::isDescendantOfObject const):
(WebCore::AccessibilityObject::isAncestorOfObject const):
(WebCore::AccessibilityObject::elementAccessibilityHitTest const):
(WebCore::AccessibilityObject::focusedUIElement const):
(WebCore::AccessibilityObject::isExpanded const):
(WebCore::AccessibilityObject::isOnScreen const):
(WebCore::AccessibilityObject::accessibilityIsIgnored const):
(WebCore::AccessibilityObject::selectedListItem):
(WebCore::AccessibilityObject::setIsIgnoredFromParentDataForChild):
(WebCore::AccessibilityObject::accessibilityObjectContainsText const): Deleted.
(WebCore::AccessibilityObject::isOnscreen const): Deleted.
* accessibility/AccessibilityObject.h:
(isType):
(WebCore::AccessibilityTextUnderElementMode::AccessibilityTextUnderElementMode): Deleted.
(WebCore::AccessibilityIsIgnoredFromParentData::AccessibilityIsIgnoredFromParentData): Deleted.
(WebCore::AccessibilityIsIgnoredFromParentData::isNull const): Deleted.
(WebCore::AccessibilitySearchCriteria::AccessibilitySearchCriteria): Deleted.
(WebCore::VisiblePositionRange::VisiblePositionRange): Deleted.
(WebCore::VisiblePositionRange::isNull const): Deleted.
(WebCore::PlainTextRange::PlainTextRange): Deleted.
(WebCore::PlainTextRange::isNull const): Deleted.
(WebCore::AccessibilitySearchTextCriteria::AccessibilitySearchTextCriteria): Deleted.
(WebCore::AccessibilityTextOperation::AccessibilityTextOperation): Deleted.
(WebCore::AccessibilityObject::setAXObjectID): Deleted.
(WebCore::AccessibilityObject::init): Deleted.
(WebCore::AccessibilityObject::isAccessibilityNodeObject const): Deleted.
(WebCore::AccessibilityObject::isAccessibilityRenderObject const): Deleted.
(WebCore::AccessibilityObject::isAccessibilityScrollbar const): Deleted.
(WebCore::AccessibilityObject::isAccessibilityScrollView const): Deleted.
(WebCore::AccessibilityObject::isAccessibilitySVGRoot const): Deleted.
(WebCore::AccessibilityObject::isAccessibilitySVGElement const): Deleted.
(WebCore::AccessibilityObject::isAttachmentElement const): Deleted.
(WebCore::AccessibilityObject::isHeading const): Deleted.
(WebCore::AccessibilityObject::isImageMap const): Deleted.
(WebCore::AccessibilityObject::isNativeImage const): Deleted.
(WebCore::AccessibilityObject::isImageButton const): Deleted.
(WebCore::AccessibilityObject::isPasswordField const): Deleted.
(WebCore::AccessibilityObject::passwordFieldOrContainingPasswordField): Deleted.
(WebCore::AccessibilityObject::isNativeTextControl const): Deleted.
(WebCore::AccessibilityObject::isSearchField const): Deleted.
(WebCore::AccessibilityObject::isWebArea const): Deleted.
(WebCore::AccessibilityObject::isCheckbox const): Deleted.
(WebCore::AccessibilityObject::isRadioButton const): Deleted.
(WebCore::AccessibilityObject::isNativeListBox const): Deleted.
(WebCore::AccessibilityObject::isListBox const): Deleted.
(WebCore::AccessibilityObject::isListBoxOption const): Deleted.
(WebCore::AccessibilityObject::isMediaTimeline const): Deleted.
(WebCore::AccessibilityObject::isMenuRelated const): Deleted.
(WebCore::AccessibilityObject::isMenu const): Deleted.
(WebCore::AccessibilityObject::isMenuBar const): Deleted.
(WebCore::AccessibilityObject::isMenuButton const): Deleted.
(WebCore::AccessibilityObject::isMenuItem const): Deleted.
(WebCore::AccessibilityObject::isInputImage const): Deleted.
(WebCore::AccessibilityObject::isProgressIndicator const): Deleted.
(WebCore::AccessibilityObject::isSlider const): Deleted.
(WebCore::AccessibilityObject::isSliderThumb const): Deleted.
(WebCore::AccessibilityObject::isInputSlider const): Deleted.
(WebCore::AccessibilityObject::isControl const): Deleted.
(WebCore::AccessibilityObject::isLabel const): Deleted.
(WebCore::AccessibilityObject::isList const): Deleted.
(WebCore::AccessibilityObject::isTable const): Deleted.
(WebCore::AccessibilityObject::isDataTable const): Deleted.
(WebCore::AccessibilityObject::isTableRow const): Deleted.
(WebCore::AccessibilityObject::isTableColumn const): Deleted.
(WebCore::AccessibilityObject::isTableCell const): Deleted.
(WebCore::AccessibilityObject::isFieldset const): Deleted.
(WebCore::AccessibilityObject::isGroup const): Deleted.
(WebCore::AccessibilityObject::isARIATreeGridRow const): Deleted.
(WebCore::AccessibilityObject::isMenuList const): Deleted.
(WebCore::AccessibilityObject::isMenuListPopup const): Deleted.
(WebCore::AccessibilityObject::isMenuListOption const): Deleted.
(WebCore::AccessibilityObject::isSpinButton const): Deleted.
(WebCore::AccessibilityObject::isNativeSpinButton const): Deleted.
(WebCore::AccessibilityObject::isSpinButtonPart const): Deleted.
(WebCore::AccessibilityObject::isMockObject const): Deleted.
(WebCore::AccessibilityObject::isMediaObject const): Deleted.
(WebCore::AccessibilityObject::isSwitch const): Deleted.
(WebCore::AccessibilityObject::isToggleButton const): Deleted.
(WebCore::AccessibilityObject::isTabList const): Deleted.
(WebCore::AccessibilityObject::isTabItem const): Deleted.
(WebCore::AccessibilityObject::isRadioGroup const): Deleted.
(WebCore::AccessibilityObject::isComboBox const): Deleted.
(WebCore::AccessibilityObject::isTreeGrid const): Deleted.
(WebCore::AccessibilityObject::isListItem const): Deleted.
(WebCore::AccessibilityObject::isCheckboxOrRadio const): Deleted.
(WebCore::AccessibilityObject::isScrollView const): Deleted.
(WebCore::AccessibilityObject::isCanvas const): Deleted.
(WebCore::AccessibilityObject::isPopUpButton const): Deleted.
(WebCore::AccessibilityObject::isColorWell const): Deleted.
(WebCore::AccessibilityObject::isSplitter const): Deleted.
(WebCore::AccessibilityObject::isToolbar const): Deleted.
(WebCore::AccessibilityObject::isSummary const): Deleted.
(WebCore::AccessibilityObject::isChecked const): Deleted.
(WebCore::AccessibilityObject::isEnabled const): Deleted.
(WebCore::AccessibilityObject::isSelected const): Deleted.
(WebCore::AccessibilityObject::isFocused const): Deleted.
(WebCore::AccessibilityObject::isHovered const): Deleted.
(WebCore::AccessibilityObject::isIndeterminate const): Deleted.
(WebCore::AccessibilityObject::isLoaded const): Deleted.
(WebCore::AccessibilityObject::isMultiSelectable const): Deleted.
(WebCore::AccessibilityObject::isOffScreen const): Deleted.
(WebCore::AccessibilityObject::isPressed const): Deleted.
(WebCore::AccessibilityObject::isUnvisited const): Deleted.
(WebCore::AccessibilityObject::isVisited const): Deleted.
(WebCore::AccessibilityObject::isRequired const): Deleted.
(WebCore::AccessibilityObject::supportsRequiredAttribute const): Deleted.
(WebCore::AccessibilityObject::isLinked const): Deleted.
(WebCore::AccessibilityObject::isVisible const): Deleted.
(WebCore::AccessibilityObject::isCollapsed const): Deleted.
(WebCore::AccessibilityObject::setIsExpanded): Deleted.
(WebCore::AccessibilityObject::isSelectedOptionActive const): Deleted.
(WebCore::AccessibilityObject::hasBoldFont const): Deleted.
(WebCore::AccessibilityObject::hasItalicFont const): Deleted.
(WebCore::AccessibilityObject::hasPlainText const): Deleted.
(WebCore::AccessibilityObject::hasSameFont const): Deleted.
(WebCore::AccessibilityObject::hasSameFontColor const): Deleted.
(WebCore::AccessibilityObject::hasSameStyle const): Deleted.
(WebCore::AccessibilityObject::isStaticText const): Deleted.
(WebCore::AccessibilityObject::hasUnderline const): Deleted.
(WebCore::AccessibilityObject::canSetFocusAttribute const): Deleted.
(WebCore::AccessibilityObject::canSetTextRangeAttributes const): Deleted.
(WebCore::AccessibilityObject::canSetValueAttribute const): Deleted.
(WebCore::AccessibilityObject::canSetNumericValue const): Deleted.
(WebCore::AccessibilityObject::canSetSelectedAttribute const): Deleted.
(WebCore::AccessibilityObject::canSetSelectedChildrenAttribute const): Deleted.
(WebCore::AccessibilityObject::canSetExpandedAttribute const): Deleted.
(WebCore::AccessibilityObject::node const): Deleted.
(WebCore::AccessibilityObject::renderer const): Deleted.
(WebCore::AccessibilityObject::headingLevel const): Deleted.
(WebCore::AccessibilityObject::tableLevel const): Deleted.
(WebCore::AccessibilityObject::valueDescription const): Deleted.
(WebCore::AccessibilityObject::valueForRange const): Deleted.
(WebCore::AccessibilityObject::maxValueForRange const): Deleted.
(WebCore::AccessibilityObject::minValueForRange const): Deleted.
(WebCore::AccessibilityObject::stepValueForRange const): Deleted.
(WebCore::AccessibilityObject::selectedRadioButton): Deleted.
(WebCore::AccessibilityObject::selectedTabItem): Deleted.
(WebCore::AccessibilityObject::layoutCount const): Deleted.
(WebCore::AccessibilityObject::estimatedLoadingProgress const): Deleted.
(WebCore::AccessibilityObject::supportsARIAOwns const): Deleted.
(WebCore::AccessibilityObject::hasPopup const): Deleted.
(WebCore::AccessibilityObject::canvasHasFallbackContent const): Deleted.
(WebCore::AccessibilityObject::supportsARIADropping const): Deleted.
(WebCore::AccessibilityObject::supportsARIADragging const): Deleted.
(WebCore::AccessibilityObject::isARIAGrabbed): Deleted.
(WebCore::AccessibilityObject::setARIAGrabbed): Deleted.
(WebCore::AccessibilityObject::determineARIADropEffects): Deleted.
(WebCore::AccessibilityObject::firstChild const): Deleted.
(WebCore::AccessibilityObject::lastChild const): Deleted.
(WebCore::AccessibilityObject::previousSibling const): Deleted.
(WebCore::AccessibilityObject::nextSibling const): Deleted.
(WebCore::AccessibilityObject::parentObject const): Deleted.
(WebCore::AccessibilityObject::parentObjectIfExists const): Deleted.
(WebCore::AccessibilityObject::isDescendantOfBarrenParent const): Deleted.
(WebCore::AccessibilityObject::observableObject const): Deleted.
(WebCore::AccessibilityObject::linkedUIElements const): Deleted.
(WebCore::AccessibilityObject::titleUIElement const): Deleted.
(WebCore::AccessibilityObject::exposesTitleUIElement const): Deleted.
(WebCore::AccessibilityObject::correspondingLabelForControlElement const): Deleted.
(WebCore::AccessibilityObject::correspondingControlForLabelElement const): Deleted.
(WebCore::AccessibilityObject::scrollBar): Deleted.
(WebCore::AccessibilityObject::ariaRoleAttribute const): Deleted.
(WebCore::AccessibilityObject::isPresentationalChildOfAriaRole const): Deleted.
(WebCore::AccessibilityObject::ariaRoleHasPresentationalChildren const): Deleted.
(WebCore::AccessibilityObject::inheritsPresentationalRole const): Deleted.
(WebCore::AccessibilityObject::accessibilityText const): Deleted.
(WebCore::AccessibilityObject::setAccessibleName): Deleted.
(WebCore::AccessibilityObject::accessibilityDescription const): Deleted.
(WebCore::AccessibilityObject::title const): Deleted.
(WebCore::AccessibilityObject::helpText const): Deleted.
(WebCore::AccessibilityObject::isARIAStaticText const): Deleted.
(WebCore::AccessibilityObject::stringValue const): Deleted.
(WebCore::AccessibilityObject::textUnderElement const): Deleted.
(WebCore::AccessibilityObject::text const): Deleted.
(WebCore::AccessibilityObject::textLength const): Deleted.
(WebCore::AccessibilityObject::ariaLabeledByAttribute const): Deleted.
(WebCore::AccessibilityObject::ariaDescribedByAttribute const): Deleted.
(WebCore::AccessibilityObject::expandedTextValue const): Deleted.
(WebCore::AccessibilityObject::supportsExpandedTextValue const): Deleted.
(WebCore::AccessibilityObject::colorValue const): Deleted.
(WebCore::AccessibilityObject::axObjectID const): Deleted.
(WebCore::AccessibilityObject::anchorElement const): Deleted.
(WebCore::AccessibilityObject::actionElement const): Deleted.
(WebCore::AccessibilityObject::boundingBoxRect const): Deleted.
(WebCore::AccessibilityObject::pixelSnappedBoundingBoxRect const): Deleted.
(WebCore::AccessibilityObject::size const): Deleted.
(WebCore::AccessibilityObject::elementPath const): Deleted.
(WebCore::AccessibilityObject::supportsPath const): Deleted.
(WebCore::AccessibilityObject::selectedTextRange const): Deleted.
(WebCore::AccessibilityObject::selectionStart const): Deleted.
(WebCore::AccessibilityObject::selectionEnd const): Deleted.
(WebCore::AccessibilityObject::url const): Deleted.
(WebCore::AccessibilityObject::selection const): Deleted.
(WebCore::AccessibilityObject::selectedText const): Deleted.
(WebCore::AccessibilityObject::accessKey const): Deleted.
(WebCore::AccessibilityObject::widget const): Deleted.
(WebCore::AccessibilityObject::widgetForAttachmentView const): Deleted.
(WebCore::AccessibilityObject::hierarchicalLevel const): Deleted.
(WebCore::AccessibilityObject::setFocused): Deleted.
(WebCore::AccessibilityObject::setSelectedText): Deleted.
(WebCore::AccessibilityObject::setSelectedTextRange): Deleted.
(WebCore::AccessibilityObject::setValue): Deleted.
(WebCore::AccessibilityObject::setSelected): Deleted.
(WebCore::AccessibilityObject::setSelectedRows): Deleted.
(WebCore::AccessibilityObject::makeRangeVisible): Deleted.
(WebCore::AccessibilityObject::performDefaultAction): Deleted.
(WebCore::AccessibilityObject::increment): Deleted.
(WebCore::AccessibilityObject::decrement): Deleted.
(WebCore::AccessibilityObject::childrenChanged): Deleted.
(WebCore::AccessibilityObject::textChanged): Deleted.
(WebCore::AccessibilityObject::updateAccessibilityRole): Deleted.
(WebCore::AccessibilityObject::addChildren): Deleted.
(WebCore::AccessibilityObject::shouldIgnoreAttributeRole const): Deleted.
(WebCore::AccessibilityObject::canHaveChildren const): Deleted.
(WebCore::AccessibilityObject::hasChildren const): Deleted.
(WebCore::AccessibilityObject::setNeedsToUpdateChildren): Deleted.
(WebCore::AccessibilityObject::setNeedsToUpdateSubtree): Deleted.
(WebCore::AccessibilityObject::needsToUpdateChildren const): Deleted.
(WebCore::AccessibilityObject::detachFromParent): Deleted.
(WebCore::AccessibilityObject::isDetachedFromParent): Deleted.
(WebCore::AccessibilityObject::canHaveSelectedChildren const): Deleted.
(WebCore::AccessibilityObject::selectedChildren): Deleted.
(WebCore::AccessibilityObject::visibleChildren): Deleted.
(WebCore::AccessibilityObject::tabChildren): Deleted.
(WebCore::AccessibilityObject::shouldFocusActiveDescendant const): Deleted.
(WebCore::AccessibilityObject::activeDescendant const): Deleted.
(WebCore::AccessibilityObject::handleActiveDescendantChanged): Deleted.
(WebCore::AccessibilityObject::handleAriaExpandedChanged): Deleted.
(WebCore::AccessibilityObject::visiblePositionRange const): Deleted.
(WebCore::AccessibilityObject::visiblePositionRangeForLine const): Deleted.
(WebCore::AccessibilityObject::boundsForVisiblePositionRange const): Deleted.
(WebCore::AccessibilityObject::boundsForRange const): Deleted.
(WebCore::AccessibilityObject::setSelectedVisiblePositionRange const): Deleted.
(WebCore::AccessibilityObject::visiblePositionForPoint const): Deleted.
(WebCore::AccessibilityObject::nextVisiblePosition const): Deleted.
(WebCore::AccessibilityObject::previousVisiblePosition const): Deleted.
(WebCore::AccessibilityObject::visiblePositionForIndex const): Deleted.
(WebCore::AccessibilityObject::indexForVisiblePosition const): Deleted.
(WebCore::AccessibilityObject::index const): Deleted.
(WebCore::AccessibilityObject::lineBreaks const): Deleted.
(WebCore::AccessibilityObject::doAXRangeForLine const): Deleted.
(WebCore::AccessibilityObject::doAXRangeForIndex const): Deleted.
(WebCore::AccessibilityObject::doAXStringForRange const): Deleted.
(WebCore::AccessibilityObject::doAXBoundsForRange const): Deleted.
(WebCore::AccessibilityObject::doAXBoundsForRangeUsingCharacterOffset const): Deleted.
(WebCore::AccessibilityObject::stringValueForMSAA const): Deleted.
(WebCore::AccessibilityObject::stringRoleForMSAA const): Deleted.
(WebCore::AccessibilityObject::nameForMSAA const): Deleted.
(WebCore::AccessibilityObject::descriptionForMSAA const): Deleted.
(WebCore::AccessibilityObject::roleValueForMSAA const): Deleted.
(WebCore::AccessibilityObject::passwordFieldValue const): Deleted.
(WebCore::AccessibilityObject::liveRegionStatus const): Deleted.
(WebCore::AccessibilityObject::liveRegionRelevant const): Deleted.
(WebCore::AccessibilityObject::liveRegionAtomic const): Deleted.
(WebCore::AccessibilityObject::isBusy const): Deleted.
(WebCore::AccessibilityObject::speakAsProperty const): Deleted.
(WebCore::AccessibilityObject::isMathElement const): Deleted.
(WebCore::AccessibilityObject::isMathFraction const): Deleted.
(WebCore::AccessibilityObject::isMathFenced const): Deleted.
(WebCore::AccessibilityObject::isMathSubscriptSuperscript const): Deleted.
(WebCore::AccessibilityObject::isMathRow const): Deleted.
(WebCore::AccessibilityObject::isMathUnderOver const): Deleted.
(WebCore::AccessibilityObject::isMathRoot const): Deleted.
(WebCore::AccessibilityObject::isMathSquareRoot const): Deleted.
(WebCore::AccessibilityObject::isMathText const): Deleted.
(WebCore::AccessibilityObject::isMathNumber const): Deleted.
(WebCore::AccessibilityObject::isMathOperator const): Deleted.
(WebCore::AccessibilityObject::isMathFenceOperator const): Deleted.
(WebCore::AccessibilityObject::isMathSeparatorOperator const): Deleted.
(WebCore::AccessibilityObject::isMathIdentifier const): Deleted.
(WebCore::AccessibilityObject::isMathTable const): Deleted.
(WebCore::AccessibilityObject::isMathTableRow const): Deleted.
(WebCore::AccessibilityObject::isMathTableCell const): Deleted.
(WebCore::AccessibilityObject::isMathMultiscript const): Deleted.
(WebCore::AccessibilityObject::isMathToken const): Deleted.
(WebCore::AccessibilityObject::isMathScriptObject const): Deleted.
(WebCore::AccessibilityObject::isMathMultiscriptObject const): Deleted.
(WebCore::AccessibilityObject::mathRadicandObject): Deleted.
(WebCore::AccessibilityObject::mathRootIndexObject): Deleted.
(WebCore::AccessibilityObject::mathUnderObject): Deleted.
(WebCore::AccessibilityObject::mathOverObject): Deleted.
(WebCore::AccessibilityObject::mathNumeratorObject): Deleted.
(WebCore::AccessibilityObject::mathDenominatorObject): Deleted.
(WebCore::AccessibilityObject::mathBaseObject): Deleted.
(WebCore::AccessibilityObject::mathSubscriptObject): Deleted.
(WebCore::AccessibilityObject::mathSuperscriptObject): Deleted.
(WebCore::AccessibilityObject::mathFencedOpenString const): Deleted.
(WebCore::AccessibilityObject::mathFencedCloseString const): Deleted.
(WebCore::AccessibilityObject::mathLineThickness const): Deleted.
(WebCore::AccessibilityObject::isAnonymousMathOperator const): Deleted.
(WebCore::AccessibilityObject::mathPrescripts): Deleted.
(WebCore::AccessibilityObject::mathPostscripts): Deleted.
(WebCore::AccessibilityObject::isHidden const): Deleted.
(WebCore::AccessibilityObject::setWrapper): Deleted.
(WebCore::AccessibilityObject::overrideAttachmentParent): Deleted.
(WebCore::AccessibilityObject::accessibilityIgnoreAttachment const): Deleted.
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject const): Deleted.
(WebCore::AccessibilityObject::clearIsIgnoredFromParentData): Deleted.
(WebCore::AccessibilityObject::setIsIgnoredFromParentData): Deleted.
(WebCore::AccessibilityObject::children): Deleted.
(WebCore::AccessibilityObject::updateBackingStore): Deleted.
* accessibility/AccessibilityObjectInterface.h:
(WebCore::AccessibilitySearchCriteria::AccessibilitySearchCriteria):
(WebCore::AccessibilitySearchTextCriteria::AccessibilitySearchTextCriteria):
(WebCore::AccessibilityTextOperation::AccessibilityTextOperation):
(WebCore::AccessibilityTextUnderElementMode::AccessibilityTextUnderElementMode):
(WebCore::PlainTextRange::PlainTextRange):
(WebCore::PlainTextRange::isNull const):
(WebCore::VisiblePositionRange::VisiblePositionRange):
(WebCore::VisiblePositionRange::isNull const):
(WebCore::AccessibilityIsIgnoredFromParentData::AccessibilityIsIgnoredFromParentData):
(WebCore::AccessibilityIsIgnoredFromParentData::isNull const):
(WebCore::AccessibilityObjectInterface::isAccessibilityObject const): Deleted.
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::addRadioButtonGroupChildren const):
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored const):
(WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest const):
(WebCore::AccessibilityRenderObject::remoteSVGElementHitTest const):
(WebCore::AccessibilityRenderObject::elementAccessibilityHitTest const):
(WebCore::AccessibilityRenderObject::accessibilityHitTest const):
(WebCore::AccessibilityRenderObject::addImageMapChildren):
(WebCore::AccessibilityRenderObject::addHiddenChildren):
(WebCore::AccessibilityRenderObject::selectedChildren):
* accessibility/AccessibilityRenderObject.h:
* accessibility/AccessibilityScrollView.cpp:
(WebCore::AccessibilityScrollView::accessibilityHitTest const):
* accessibility/AccessibilityScrollView.h:
* accessibility/AccessibilitySlider.cpp:
(WebCore::AccessibilitySlider::addChildren):
(WebCore::AccessibilitySlider::elementAccessibilityHitTest const):
* accessibility/AccessibilitySlider.h:
* accessibility/AccessibilitySpinButton.cpp:
(WebCore::AccessibilitySpinButton::incrementButton):
(WebCore::AccessibilitySpinButton::decrementButton):
* accessibility/AccessibilitySpinButton.h:
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::columnHeaders):
(WebCore::AccessibilityTable::rowHeaders):
(WebCore::AccessibilityTable::cellForColumnAndRow):
* accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::parentRow const):
* accessibility/AccessibilityTableColumn.cpp:
(WebCore::AccessibilityTableColumn::headerObject):
* accessibility/AccessibilityTableColumn.h:
* accessibility/AccessibilityTableRow.cpp:
(WebCore::AccessibilityTableRow::headerObject):
* accessibility/AccessibilityTableRow.h:
* accessibility/atk/AXObjectCacheAtk.cpp:
(WebCore::getListObject):
(WebCore::notifyChildrenSelectionChange):
(WebCore::AXObjectCache::postPlatformNotification):
(WebCore::AXObjectCache::nodeTextChangePlatformNotification):
* accessibility/atk/WebKitAccessible.cpp:
(interfaceMaskFromObject):
* accessibility/atk/WebKitAccessibleHyperlink.cpp:
(rangeLengthForObject):
(webkitAccessibleHyperlinkGetStartIndex):
(webkitAccessibleHyperlinkGetEndIndex):
* accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp:
(webkitAccessibleHypertextGetLink):
(webkitAccessibleHypertextGetNLinks):
* accessibility/atk/WebKitAccessibleInterfaceSelection.cpp:
(listObjectForCoreSelection):
(optionFromList):
(optionFromSelection):
(webkitAccessibleSelectionAddSelection):
(webkitAccessibleSelectionRefSelection):
(webkitAccessibleSelectionIsChildSelected):
(webkitAccessibleSelectionRemoveSelection):
* accessibility/atk/WebKitAccessibleInterfaceText.cpp:
(offsetAdjustmentForListItem):
(webCoreOffsetToAtkOffset):
(webkitAccessibleTextGetCaretOffset):
* accessibility/atk/WebKitAccessibleUtil.cpp:
(objectFocusedAndCaretOffsetUnignored):
* accessibility/atk/WebKitAccessibleUtil.h:
* accessibility/ios/AXObjectCacheIOS.mm:
(WebCore::AXObjectCache::postPlatformNotification):
* accessibility/ios/AccessibilityObjectIOS.mm:
(WebCore::AccessibilityObject::overrideAttachmentParent):
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(AccessibilityUnignoredAncestor):
(-[WebAccessibilityObjectWrapper accessibilityHitTest:]):
(-[WebAccessibilityObjectWrapper accessibilityHeaderElements]):
(-[WebAccessibilityObjectWrapper accessibilityContainer]):
(-[WebAccessibilityObjectWrapper accessibilityLinkedElement]):
* accessibility/isolatedtree/AXIsolatedTreeNode.cpp:
(WebCore::AXIsolatedTreeNode::focusedUIElement const):
(WebCore::AXIsolatedTreeNode::parentObjectInterfaceUnignored const):
(WebCore::AXIsolatedTreeNode::accessibilityHitTest const):
* accessibility/isolatedtree/AXIsolatedTreeNode.h:
* accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::postPlatformNotification):
* accessibility/mac/AccessibilityObjectMac.mm:
(WebCore::AccessibilityObject::overrideAttachmentParent):
* accessibility/mac/WebAccessibilityObjectWrapperBase.h:
* accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(addChildToArray):
(-[WebAccessibilityObjectWrapperBase initWithAccessibilityObject:]):
(-[WebAccessibilityObjectWrapperBase axBackingObject]):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
(-[WebAccessibilityObjectWrapper accessibilityHitTest:]):
* accessibility/win/AXObjectCacheWin.cpp:
* editing/atk/FrameSelectionAtk.cpp:
(WebCore::emitTextSelectionChange):
(WebCore::maybeEmitTextFocusChange):
(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
* inspector/InspectorAuditAccessibilityObject.cpp:
(WebCore::accessiblityObjectForNode):
(WebCore::InspectorAuditAccessibilityObject::getElementsByComputedRole):
(WebCore::InspectorAuditAccessibilityObject::getActiveDescendant):
(WebCore::addChildren):
(WebCore::InspectorAuditAccessibilityObject::getChildNodes):
(WebCore::InspectorAuditAccessibilityObject::getComputedProperties):
(WebCore::InspectorAuditAccessibilityObject::getControlledNodes):
(WebCore::InspectorAuditAccessibilityObject::getFlowedNodes):
(WebCore::InspectorAuditAccessibilityObject::getMouseEventNode):
(WebCore::InspectorAuditAccessibilityObject::getOwnedNodes):
(WebCore::InspectorAuditAccessibilityObject::getParentNode):
(WebCore::InspectorAuditAccessibilityObject::getSelectedChildNodes):
* inspector/agents/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::processAccessibilityChildren):
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
* inspector/agents/InspectorDOMAgent.h:

Source/WebKit:

* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKAccessibilityRootObject):
(WKAccessibilityFocusedObject):

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

7 months ago[Picture-in-Picture Web API] Implement PictureInPictureWindow
jer.noble@apple.com [Wed, 30 Oct 2019 20:19:26 +0000 (20:19 +0000)]
[Picture-in-Picture Web API] Implement PictureInPictureWindow
https://bugs.webkit.org/show_bug.cgi?id=202615

Unreviewed test gardening.

Patch by Peng Liu <peng.liu6@apple.com> on 2019-10-30

* platform/mac-wk2/TestExpectations:

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

7 months agoMove style building state to a class of its own
antti@apple.com [Wed, 30 Oct 2019 20:13:30 +0000 (20:13 +0000)]
Move style building state to a class of its own
https://bugs.webkit.org/show_bug.cgi?id=203562

Reviewed by Zalan Bujtas.

Move most of the state needed for applying properties from StyleResolver::State and PropertyCascade::ApplyState to
new Style::BuilderState. Pass BuilderState around in all functions invoked during style building
instead of StyleResolver.

Unlike StyleResolver, BuilderState is a stack-allocated object that exists during style building only.

* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSToStyleMap.cpp:
(WebCore::CSSToStyleMap::CSSToStyleMap):
(WebCore::CSSToStyleMap::style const):
(WebCore::CSSToStyleMap::useSVGZoomRules const):
(WebCore::CSSToStyleMap::styleImage):
(WebCore::CSSToStyleMap::mapFillSize):
(WebCore::CSSToStyleMap::mapFillXPosition):
(WebCore::CSSToStyleMap::mapFillYPosition):
(WebCore::CSSToStyleMap::mapAnimationName):
(WebCore::CSSToStyleMap::mapNinePieceImageQuad):
(WebCore::CSSToStyleMap::rootElementStyle const): Deleted.
* css/CSSToStyleMap.h:
* css/CSSVariableReferenceValue.cpp:
(WebCore::resolveVariableFallback):
(WebCore::resolveVariableReference):
(WebCore::resolveTokenRange):
(WebCore::CSSVariableReferenceValue::resolveVariableReferences const):
* css/CSSVariableReferenceValue.h:
* css/DOMCSSRegisterCustomProperty.cpp:
(WebCore::DOMCSSRegisterCustomProperty::registerProperty):
* css/StyleBuilder.h:
* css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertLength):
(WebCore::StyleBuilderConverter::convertLengthOrAuto):
(WebCore::StyleBuilderConverter::convertLengthSizing):
(WebCore::StyleBuilderConverter::convertLengthMaxSizing):
(WebCore::StyleBuilderConverter::convertTabSize):
(WebCore::StyleBuilderConverter::convertComputedLength):
(WebCore::StyleBuilderConverter::convertLineWidth):
(WebCore::StyleBuilderConverter::convertSpacing):
(WebCore::StyleBuilderConverter::convertRadius):
(WebCore::StyleBuilderConverter::convertPositionComponentX):
(WebCore::StyleBuilderConverter::convertPositionComponentY):
(WebCore::StyleBuilderConverter::convertPositionComponent):
(WebCore::StyleBuilderConverter::convertObjectPosition):
(WebCore::StyleBuilderConverter::convertTextDecoration):
(WebCore::StyleBuilderConverter::convertNumber):
(WebCore::StyleBuilderConverter::convertNumberOrAuto):
(WebCore::StyleBuilderConverter::convertWebkitHyphenateLimitLines):
(WebCore::StyleBuilderConverter::convertBorderImage):
(WebCore::StyleBuilderConverter::convertBorderMask):
(WebCore::StyleBuilderConverter::convertStyleImage):
(WebCore::StyleBuilderConverter::convertTransform):
(WebCore::StyleBuilderConverter::convertColorScheme):
(WebCore::StyleBuilderConverter::convertString):
(WebCore::StyleBuilderConverter::convertStringOrAuto):
(WebCore::StyleBuilderConverter::convertStringOrNone):
(WebCore::StyleBuilderConverter::convertTextEmphasisPosition):
(WebCore::StyleBuilderConverter::convertTextAlign):
(WebCore::StyleBuilderConverter::convertClipPath):
(WebCore::StyleBuilderConverter::convertResize):
(WebCore::StyleBuilderConverter::convertMarqueeRepetition):
(WebCore::StyleBuilderConverter::convertMarqueeSpeed):
(WebCore::StyleBuilderConverter::convertQuotes):
(WebCore::StyleBuilderConverter::convertTextUnderlinePosition):
(WebCore::StyleBuilderConverter::convertTextUnderlineOffset):
(WebCore::StyleBuilderConverter::convertTextDecorationThickness):
(WebCore::StyleBuilderConverter::convertReflection):
(WebCore::StyleBuilderConverter::convertInitialLetter):
(WebCore::StyleBuilderConverter::convertTextStrokeWidth):
(WebCore::StyleBuilderConverter::convertLineBoxContain):
(WebCore::StyleBuilderConverter::convertTextDecorationSkip):
(WebCore::StyleBuilderConverter::convertShapeValue):
(WebCore::StyleBuilderConverter::convertScrollSnapType):
(WebCore::StyleBuilderConverter::convertScrollSnapAlign):
(WebCore::StyleBuilderConverter::createGridTrackBreadth):
(WebCore::StyleBuilderConverter::createGridTrackSize):
(WebCore::StyleBuilderConverter::createGridTrackList):
(WebCore::StyleBuilderConverter::convertGridTrackSizeList):
(WebCore::StyleBuilderConverter::convertGridTrackSize):
(WebCore::StyleBuilderConverter::convertGridPosition):
(WebCore::StyleBuilderConverter::convertGridAutoFlow):
(WebCore::StyleBuilderConverter::csstoLengthConversionDataWithTextZoomFactor):
(WebCore::StyleBuilderConverter::convertWordSpacing):
(WebCore::StyleBuilderConverter::convertPerspective):
(WebCore::StyleBuilderConverter::convertMarqueeIncrement):
(WebCore::StyleBuilderConverter::convertFilterOperations):
(WebCore::StyleBuilderConverter::convertFontFeatureSettings):
(WebCore::StyleBuilderConverter::convertFontWeight):
(WebCore::StyleBuilderConverter::convertFontStretch):
(WebCore::StyleBuilderConverter::convertFontVariationSettings):
(WebCore::StyleBuilderConverter::convertTouchCallout):
(WebCore::StyleBuilderConverter::convertTapHighlightColor):
(WebCore::StyleBuilderConverter::convertTouchAction):
(WebCore::StyleBuilderConverter::convertOverflowScrolling):
(WebCore::StyleBuilderConverter::convertSVGLengthValue):
(WebCore::StyleBuilderConverter::convertSVGLengthVector):
(WebCore::StyleBuilderConverter::convertStrokeDashArray):
(WebCore::StyleBuilderConverter::convertPaintOrder):
(WebCore::StyleBuilderConverter::convertOpacity):
(WebCore::StyleBuilderConverter::convertSVGURIReference):
(WebCore::StyleBuilderConverter::convertSVGColor):
(WebCore::StyleBuilderConverter::convertSelfOrDefaultAlignmentData):
(WebCore::StyleBuilderConverter::convertContentAlignmentData):
(WebCore::StyleBuilderConverter::convertGlyphOrientation):
(WebCore::StyleBuilderConverter::convertGlyphOrientationOrAuto):
(WebCore::StyleBuilderConverter::convertLineHeight):
(WebCore::StyleBuilderConverter::convertFontSynthesis):
(WebCore::StyleBuilderConverter::convertSpeakAs):
(WebCore::StyleBuilderConverter::convertHangingPunctuation):
(WebCore::StyleBuilderConverter::convertGapLength):
* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyInitialWebkitMaskImage):
(WebCore::StyleBuilderCustom::applyInheritWebkitMaskImage):
(WebCore::StyleBuilderCustom::applyInitialFontFeatureSettings):
(WebCore::StyleBuilderCustom::applyInheritFontFeatureSettings):
(WebCore::StyleBuilderCustom::applyInitialFontVariationSettings):
(WebCore::StyleBuilderCustom::applyInheritFontVariationSettings):
(WebCore::StyleBuilderCustom::applyValueDirection):
(WebCore::StyleBuilderCustom::applyInitialTextAlign):
(WebCore::StyleBuilderCustom::applyValueTextAlign):
(WebCore::StyleBuilderCustom::resetEffectiveZoom):
(WebCore::StyleBuilderCustom::applyInitialZoom):
(WebCore::StyleBuilderCustom::applyInheritZoom):
(WebCore::StyleBuilderCustom::applyValueZoom):
(WebCore::StyleBuilderCustom::applyValueVerticalAlign):
(WebCore::StyleBuilderCustom::applyInheritImageResolution):
(WebCore::StyleBuilderCustom::applyInitialImageResolution):
(WebCore::StyleBuilderCustom::applyValueImageResolution):
(WebCore::StyleBuilderCustom::applyInheritSize):
(WebCore::StyleBuilderCustom::applyInitialSize):
(WebCore::StyleBuilderCustom::applyValueSize):
(WebCore::StyleBuilderCustom::applyInheritTextIndent):
(WebCore::StyleBuilderCustom::applyInitialTextIndent):
(WebCore::StyleBuilderCustom::applyValueTextIndent):
(WebCore::ApplyPropertyBorderImageModifier::applyInheritValue):
(WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
(WebCore::ApplyPropertyBorderImageModifier::applyValue):
(WebCore::ApplyPropertyBorderImageModifier::getValue):
(WebCore::ApplyPropertyBorderImageModifier::setValue):
(WebCore::StyleBuilderCustom::applyInheritLineHeight):
(WebCore::StyleBuilderCustom::applyInitialLineHeight):
(WebCore::StyleBuilderCustom::applyValueLineHeight):
(WebCore::StyleBuilderCustom::applyInheritOutlineStyle):
(WebCore::StyleBuilderCustom::applyInitialOutlineStyle):
(WebCore::StyleBuilderCustom::applyValueOutlineStyle):
(WebCore::StyleBuilderCustom::applyInitialClip):
(WebCore::StyleBuilderCustom::applyInheritClip):
(WebCore::StyleBuilderCustom::applyValueClip):
(WebCore::StyleBuilderCustom::applyValueWebkitLocale):
(WebCore::StyleBuilderCustom::applyValueWritingMode):
(WebCore::StyleBuilderCustom::applyValueWebkitTextOrientation):
(WebCore::StyleBuilderCustom::applyValueWebkitTextSizeAdjust):
(WebCore::StyleBuilderCustom::applyValueWebkitTextZoom):
(WebCore::StyleBuilderCustom::applyValueColorScheme):
(WebCore::StyleBuilderCustom::applyTextOrBoxShadowValue):
(WebCore::StyleBuilderCustom::applyInitialTextShadow):
(WebCore::StyleBuilderCustom::applyInheritTextShadow):
(WebCore::StyleBuilderCustom::applyValueTextShadow):
(WebCore::StyleBuilderCustom::applyInitialBoxShadow):
(WebCore::StyleBuilderCustom::applyInheritBoxShadow):
(WebCore::StyleBuilderCustom::applyValueBoxShadow):
(WebCore::StyleBuilderCustom::applyInitialWebkitBoxShadow):
(WebCore::StyleBuilderCustom::applyInheritWebkitBoxShadow):
(WebCore::StyleBuilderCustom::applyValueWebkitBoxShadow):
(WebCore::StyleBuilderCustom::applyInitialFontFamily):
(WebCore::StyleBuilderCustom::applyInheritFontFamily):
(WebCore::StyleBuilderCustom::applyValueFontFamily):
(WebCore::StyleBuilderCustom::isValidDisplayValue):
(WebCore::StyleBuilderCustom::applyInheritDisplay):
(WebCore::StyleBuilderCustom::applyValueDisplay):
(WebCore::StyleBuilderCustom::applyValueBaselineShift):
(WebCore::StyleBuilderCustom::applyInitialWebkitAspectRatio):
(WebCore::StyleBuilderCustom::applyInheritWebkitAspectRatio):
(WebCore::StyleBuilderCustom::applyValueWebkitAspectRatio):
(WebCore::StyleBuilderCustom::applyInitialWebkitTextEmphasisStyle):
(WebCore::StyleBuilderCustom::applyInheritWebkitTextEmphasisStyle):
(WebCore::StyleBuilderCustom::applyValueWebkitTextEmphasisStyle):
(WebCore::StyleBuilderCustom::applyInheritCounter):
(WebCore::StyleBuilderCustom::applyValueCounter):
(WebCore::StyleBuilderCustom::applyInitialCounterIncrement):
(WebCore::StyleBuilderCustom::applyInheritCounterIncrement):
(WebCore::StyleBuilderCustom::applyValueCounterIncrement):
(WebCore::StyleBuilderCustom::applyInitialCounterReset):
(WebCore::StyleBuilderCustom::applyInheritCounterReset):
(WebCore::StyleBuilderCustom::applyValueCounterReset):
(WebCore::StyleBuilderCustom::applyInitialCursor):
(WebCore::StyleBuilderCustom::applyInheritCursor):
(WebCore::StyleBuilderCustom::applyValueCursor):
(WebCore::StyleBuilderCustom::applyInitialFill):
(WebCore::StyleBuilderCustom::applyInheritFill):
(WebCore::StyleBuilderCustom::applyValueFill):
(WebCore::StyleBuilderCustom::applyInitialStroke):
(WebCore::StyleBuilderCustom::applyInheritStroke):
(WebCore::StyleBuilderCustom::applyValueStroke):
(WebCore::StyleBuilderCustom::applyInitialContent):
(WebCore::StyleBuilderCustom::applyInheritContent):
(WebCore::StyleBuilderCustom::applyValueContent):
(WebCore::StyleBuilderCustom::applyInheritFontVariantLigatures):
(WebCore::StyleBuilderCustom::applyInitialFontVariantLigatures):
(WebCore::StyleBuilderCustom::applyValueFontVariantLigatures):
(WebCore::StyleBuilderCustom::applyInheritFontVariantNumeric):
(WebCore::StyleBuilderCustom::applyInitialFontVariantNumeric):
(WebCore::StyleBuilderCustom::applyValueFontVariantNumeric):
(WebCore::StyleBuilderCustom::applyInheritFontVariantEastAsian):
(WebCore::StyleBuilderCustom::applyInitialFontVariantEastAsian):
(WebCore::StyleBuilderCustom::applyValueFontVariantEastAsian):
(WebCore::StyleBuilderCustom::applyInitialFontSize):
(WebCore::StyleBuilderCustom::applyInheritFontSize):
(WebCore::StyleBuilderCustom::determineRubyTextSizeMultiplier):
(WebCore::StyleBuilderCustom::applyInitialFontStyle):
(WebCore::StyleBuilderCustom::applyInheritFontStyle):
(WebCore::StyleBuilderCustom::applyValueFontStyle):
(WebCore::StyleBuilderCustom::applyValueFontSize):
(WebCore::StyleBuilderCustom::applyInitialGridTemplateAreas):
(WebCore::StyleBuilderCustom::applyInheritGridTemplateAreas):
(WebCore::StyleBuilderCustom::applyValueGridTemplateAreas):
(WebCore::StyleBuilderCustom::applyInitialGridTemplateColumns):
(WebCore::StyleBuilderCustom::applyInheritGridTemplateColumns):
(WebCore::StyleBuilderCustom::applyValueGridTemplateColumns):
(WebCore::StyleBuilderCustom::applyInitialGridTemplateRows):
(WebCore::StyleBuilderCustom::applyInheritGridTemplateRows):
(WebCore::StyleBuilderCustom::applyValueGridTemplateRows):
(WebCore::StyleBuilderCustom::applyValueAlt):
(WebCore::StyleBuilderCustom::applyValueWillChange):
(WebCore::StyleBuilderCustom::applyValueStrokeWidth):
(WebCore::StyleBuilderCustom::applyValueStrokeColor):
(WebCore::StyleBuilderCustom::applyInitialCustomProperty):
(WebCore::StyleBuilderCustom::applyInheritCustomProperty):
(WebCore::StyleBuilderCustom::applyValueCustomProperty):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::State::State):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::updateFont):
(WebCore::StyleResolver::applyMatchedProperties):
(WebCore::StyleResolver::applyPropertyToCurrentStyle):
(WebCore::StyleResolver::initializeFontStyle):
* css/StyleResolver.h:
(WebCore::StyleResolver::inspectorCSSOMWrappers):
(WebCore::StyleResolver::State::setApplyPropertyToRegularStyle): Deleted.
(WebCore::StyleResolver::State::setApplyPropertyToVisitedLinkStyle): Deleted.
(WebCore::StyleResolver::State::applyPropertyToRegularStyle const): Deleted.
(WebCore::StyleResolver::State::applyPropertyToVisitedLinkStyle const): Deleted.
(WebCore::StyleResolver::State::setFontDirty): Deleted.
(WebCore::StyleResolver::State::fontDirty const): Deleted.
(WebCore::StyleResolver::State::fontDescription): Deleted.
(WebCore::StyleResolver::State::parentFontDescription): Deleted.
(WebCore::StyleResolver::State::setFontDescription): Deleted.
(WebCore::StyleResolver::State::setZoom): Deleted.
(WebCore::StyleResolver::State::setEffectiveZoom): Deleted.
(WebCore::StyleResolver::State::setWritingMode): Deleted.
(WebCore::StyleResolver::State::setTextOrientation): Deleted.
(WebCore::StyleResolver::State::cascadeLevel const): Deleted.
(WebCore::StyleResolver::State::setCascadeLevel): Deleted.
(WebCore::StyleResolver::State::styleScopeOrdinal const): Deleted.
(WebCore::StyleResolver::State::setStyleScopeOrdinal): Deleted.
(WebCore::StyleResolver::applyPropertyToRegularStyle const): Deleted.
(WebCore::StyleResolver::applyPropertyToVisitedLinkStyle const): Deleted.
(WebCore::StyleResolver::styleMap): Deleted.
(WebCore::StyleResolver::fontDescription): Deleted.
(WebCore::StyleResolver::parentFontDescription): Deleted.
(WebCore::StyleResolver::setFontDescription): Deleted.
(WebCore::StyleResolver::setZoom): Deleted.
(WebCore::StyleResolver::setEffectiveZoom): Deleted.
(WebCore::StyleResolver::setWritingMode): Deleted.
(WebCore::StyleResolver::setTextOrientation): Deleted.
* css/makeprop.pl:
(getAutoGetter):
(getAutoSetter):
(getVisitedLinkSetter):
(colorFromPrimitiveValue):
(generateColorValueSetter):
(handleCurrentColorValue):
(generateAnimationPropertyInitialValueSetter):
(generateAnimationPropertyInheritValueSetter):
(generateAnimationPropertyValueSetter):
(generateFillLayerPropertyInitialValueSetter):
(generateFillLayerPropertyInheritValueSetter):
(generateFillLayerPropertyValueSetter):
(generateSetValueStatement):
(generateInitialValueSetter):
(generateInheritValueSetter):
(generateValueSetter):
* css/parser/CSSParser.cpp:
(WebCore::CSSParser::parseValueWithVariableReferences):
* css/parser/CSSParser.h:
* css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::parseTypedCustomPropertyValue):
* css/parser/CSSPropertyParser.h:
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setFont):
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::builderState):
(WebCore::GraphicsContext::applyState): Deleted.
* platform/graphics/GraphicsContext.h:
* platform/graphics/displaylists/DisplayListItems.h:
* style/CascadeLevel.h: Copied from Source/WebCore/css/StyleBuilder.h.
(WebCore::Style::allCascadeLevels):
* style/PropertyCascade.cpp:
(WebCore::Style::PropertyCascade::PropertyCascade):
(WebCore::Style::PropertyCascade::applyPropertiesImpl):
(WebCore::Style::PropertyCascade::applyCustomProperty):
(WebCore::Style::PropertyCascade::applyProperty):
(WebCore::Style::PropertyCascade::resolveValue):
(WebCore::Style::PropertyCascade::resolvedVariableValue):
(WebCore::Style::PropertyCascade::resolveDirectionAndWritingMode):
* style/PropertyCascade.h:
(WebCore::Style::PropertyCascade::builderState):
(WebCore::Style::allCascadeLevels): Deleted.
(WebCore::Style::PropertyCascade::styleResolver): Deleted.
* style/StyleBuilderState.cpp: Added.
(WebCore::Style::BuilderState::BuilderState):
(WebCore::Style::BuilderState::useSVGZoomRules const):
(WebCore::Style::BuilderState::useSVGZoomRulesForLength const):
(WebCore::Style::BuilderState::createStyleImage):
(WebCore::Style::BuilderState::createFilterOperations):
(WebCore::Style::BuilderState::colorFromPrimitiveValue const):
(WebCore::Style::BuilderState::setFontSize):
* style/StyleBuilderState.h: Added.
(WebCore::Style::BuilderState::cascade):
(WebCore::Style::BuilderState::styleResolver):
(WebCore::Style::BuilderState::style):
(WebCore::Style::BuilderState::parentStyle const):
(WebCore::Style::BuilderState::rootElementStyle const):
(WebCore::Style::BuilderState::document const):
(WebCore::Style::BuilderState::element const):
(WebCore::Style::BuilderState::setFontDescription):
(WebCore::Style::BuilderState::setZoom):
(WebCore::Style::BuilderState::setEffectiveZoom):
(WebCore::Style::BuilderState::setWritingMode):
(WebCore::Style::BuilderState::setTextOrientation):
(WebCore::Style::BuilderState::fontDirty const):
(WebCore::Style::BuilderState::setFontDirty):
(WebCore::Style::BuilderState::clearFontDirty):
(WebCore::Style::BuilderState::fontDescription):
(WebCore::Style::BuilderState::parentFontDescription):
(WebCore::Style::BuilderState::applyPropertyToRegularStyle const):
(WebCore::Style::BuilderState::applyPropertyToVisitedLinkStyle const):
(WebCore::Style::BuilderState::styleScopeOrdinal const):
(WebCore::Style::BuilderState::cssToLengthConversionData const):
(WebCore::Style::BuilderState::styleMap):

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

7 months agoUnreviewed, fix reversed assertion landed in r251778.
cdumez@apple.com [Wed, 30 Oct 2019 20:09:38 +0000 (20:09 +0000)]
Unreviewed, fix reversed assertion landed in r251778.

* UIProcess/ProcessThrottler.h:
(WebKit::ProcessThrottler::Activity::invalidate):

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

7 months agoSimulator testers are filling up
jbedard@apple.com [Wed, 30 Oct 2019 19:43:36 +0000 (19:43 +0000)]
Simulator testers are filling up
https://bugs.webkit.org/show_bug.cgi?id=203056
<rdar://problem/56344905>

Reviewed by Aakash Jain.

* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager.tear_down): Remove some CoreSimulator temporary directories
after tearing down devices.

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

7 months agoIntroduce WorkerEventLoop and use it in FetchBodyOwner::runNetworkTaskWhenPossible
rniwa@webkit.org [Wed, 30 Oct 2019 19:37:55 +0000 (19:37 +0000)]
Introduce WorkerEventLoop and use it in FetchBodyOwner::runNetworkTaskWhenPossible
https://bugs.webkit.org/show_bug.cgi?id=203526

Reviewed by Chris Dumez.

Added WorkerEventLoop to implement the worker event loop:
https://html.spec.whatwg.org/multipage/webappapis.html#worker-event-loop-2

Each ScriptExecutionContext now returns an AbstractEventLoop so the code that may run in either
main thread or a worker thread can simply get the event loop object via ScriptExecutionContext.

For now, WorkerEventLoop also implements the worklet event loop:
https://html.spec.whatwg.org/multipage/webappapis.html#worklet-event-loop

WorkerEventLoop is an active DOM object since it's used by at most one ScriptExecutionContext
unlike WindowEventLoop, which can be shared by multiple documents and needs a custom logic to
suspend and resume a subset of tasks enqueued to the event loop.

No new tests since there should be no behavioral change for now.

* Modules/fetch/FetchBodyOwner.cpp:
(WebCore::FetchBodyOwner::runNetworkTaskWhenPossible): Use WorkerEventLoop.
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* dom/AbstractEventLoop.h:
(WebCore::AbstractEventLoop::suspend): Removed since it's not needed for WorkerEventLoop.
(WebCore::AbstractEventLoop::resume): Ditto.
* dom/Document.cpp:
(WebCore::Document::eventLoop): Returns AbstractEventLoop as it now overrides the abstract
member function defined in AbstractEventLoop.
* dom/Document.h:
* dom/ScriptExecutionContext.h:
* dom/WindowEventLoop.cpp:
(WebCore::WindowEventLoop::suspend):
(WebCore::WindowEventLoop::resume):
* dom/WindowEventLoop.h:
* workers/WorkerEventLoop.cpp: Added.
(WebCore::WorkerEventLoop::create): Added.
(WebCore::WorkerEventLoop::WorkerEventLoop): Added.
(WebCore::WorkerEventLoop::queueTask): Added.
(WebCore::WorkerEventLoop::hasPendingActivity const): Added.
(WebCore::WorkerEventLoop::activeDOMObjectName const): Added.
(WebCore::WorkerEventLoop::suspend): Added.
(WebCore::WorkerEventLoop::resume): Added. Unlike WindowEventLoop, we only need to check
whether m_tasks is empty or not since WorkerEventLoop is associated with at most one
ScriptExecutionContext as noted above.
(WebCore::WorkerEventLoop::stop): Added. Clear m_tasks to free memory as early as possible.
(WebCore::WorkerEventLoop::scheduleToRunIfNeeded): Added.
(WebCore::WorkerEventLoop::run): Added.
* workers/WorkerEventLoop.h: Added.
* workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::eventLoop): Added.
* workers/WorkerGlobalScope.h:
* worklets/WorkletGlobalScope.cpp:
(WebCore::WorkletGlobalScope::eventLoop): Added. It returns WorkerEventLoop for now since
there is no implementation difference.
* worklets/WorkletGlobalScope.h:

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

7 months agoUnreviewed, fix WatchOS build after r251778.
cdumez@apple.com [Wed, 30 Oct 2019 19:11:15 +0000 (19:11 +0000)]
Unreviewed, fix WatchOS build after r251778.

* UIProcess/WebProcessProxy.h:

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

7 months agoGardening: fixing broken build.
mark.lam@apple.com [Wed, 30 Oct 2019 18:54:56 +0000 (18:54 +0000)]
Gardening: fixing broken build.

Not reviewed.

JSON appears to not like commas at the end of the last element in an array.

* Scripts/webkitpy/common/config/contributors.json:

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

7 months ago[ Mac Debug ] (r251706) webanimations/empty-keyframes-crash.html is crashing
graouts@webkit.org [Wed, 30 Oct 2019 18:45:38 +0000 (18:45 +0000)]
[ Mac Debug ] (r251706) webanimations/empty-keyframes-crash.html is crashing
https://bugs.webkit.org/show_bug.cgi?id=203588

Reviewed by Dean Jackson.

The KeyframeEffect for which the blending keyframes were generated for a CSS Transition could be applied to a different animation,
which is not a CSSTransition, which does not change the fact that we can blend the single CSS property with two fully-qualified
keyframes directly. So we can remove that assertion and simply check that we have a single CSS property instead and access the
single CSS property in the KeyframeList.

* animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::setAnimatedPropertiesInStyle):

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

7 months agoAdding Andres Gonzalez (myself) to contributors.json.
andresg_22@apple.com [Wed, 30 Oct 2019 18:40:30 +0000 (18:40 +0000)]
Adding Andres Gonzalez (myself) to contributors.json.

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

7 months agoWKFrameIsDisplayingMarkupDocument() should return true after a window.open/document...
cdumez@apple.com [Wed, 30 Oct 2019 18:36:22 +0000 (18:36 +0000)]
WKFrameIsDisplayingMarkupDocument() should return true after a window.open/document.write
https://bugs.webkit.org/show_bug.cgi?id=203587
<rdar://problem/56717726>

Reviewed by Alex Christensen.

Source/WebCore:

When doing a document.open(), we were propagating the document's URL to the UIProcess but not its
MIME type. WKFrameIsDisplayingMarkupDocument() was relying on this MIME type.

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::didExplicitOpen):
* loader/FrameLoaderClient.h:

Source/WebKit:

When doing a document.open(), we were propagating the document's URL to the UIProcess but not its
MIME type. WKFrameIsDisplayingMarkupDocument() was relying on this MIME type.

* UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::didExplicitOpen):
* UIProcess/WebFrameProxy.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didExplicitOpenForFrame):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidExplicitOpen):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

Tools:

Add API test coverage.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/CloseFromWithinCreatePage.cpp:
(TestWebKitAPI::createNewPageThenClose):
(TestWebKitAPI::TEST):
(TestWebKitAPI::createNewPage):
* TestWebKitAPI/Tests/WebKit/window-open-then-document-open.html: Added.

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

7 months agoREGRESSION (r238252): HTTP POST is losing application/x-www-form-urlencoded body...
cdumez@apple.com [Wed, 30 Oct 2019 18:32:59 +0000 (18:32 +0000)]
REGRESSION (r238252): HTTP POST is losing application/x-www-form-urlencoded body if there's a redirect to different host
https://bugs.webkit.org/show_bug.cgi?id=201950
<rdar://problem/55577782>

Reviewed by Alex Christensen.

Source/WebKit:

The resource request body was getting lost on cross-site redirects. This was caused by the fact that a cross-site
redirect would cause a process-swap and the request to start again from a new process. This would work fine if
the request does not have a body. However, we have an optimization in place which avoids encoding the request body
whenever it is sent over IPC. Because the WebResourceLoader::WillSendRequest IPC would not encode the request body,
any decision to process swap as a result of this IPC (i.e. redirect) would cause the new request in the new process
to be missing its body. To address the issue, we now make sure to pass the request body in the WillSendRequest IPC
and reconsile the request with its body on the recipient side.

Test: http/tests/misc/form-submit-file-cross-site-redirect.html

* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::continueWillSendRedirectedRequest):
* NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:
(WebKit::ServiceWorkerFetchTask::didReceiveRedirectResponse):
* WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::willSendRequest):
* WebProcess/Network/WebResourceLoader.h:
* WebProcess/Network/WebResourceLoader.messages.in:

LayoutTests:

Add layout test coverage.

* http/tests/misc/form-submit-file-cross-site-redirect-expected.txt: Added.
* http/tests/misc/form-submit-file-cross-site-redirect.html: Added.

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

7 months ago[Web Animations] Precompute an animation effect's active duration and end time
graouts@webkit.org [Wed, 30 Oct 2019 18:29:56 +0000 (18:29 +0000)]
[Web Animations] Precompute an animation effect's active duration and end time
https://bugs.webkit.org/show_bug.cgi?id=203611

Reviewed by Dean Jackson.

We would compute an animation effect's active duration and end time in AnimationEffect::getBasicTiming()
but these two properties could be computed ahead of time when the other static timing properties of an
animation effect are changed. This allows several calls sites to WebAnimation::effectEndTime() to no
longer require the dynamic computation of all the other timing properties in AnimationEffect::getBasicTiming(),
(local time, active time and phase) which need to be computed dynamically as they rely on the current
timeline time.

* animation/AnimationEffect.cpp:
(WebCore::AnimationEffect::getBasicTiming const):
(WebCore::AnimationEffect::getComputedTiming const):
(WebCore::AnimationEffect::updateTiming):
(WebCore::AnimationEffect::updateStaticTimingProperties):
* animation/AnimationEffect.h:
(WebCore::AnimationEffect::activeDuration const):
(WebCore::AnimationEffect::endTime const):
* animation/CSSAnimation.cpp:
(WebCore::CSSAnimation::syncPropertiesWithBackingAnimation):
* animation/CSSTransition.cpp:
(WebCore::CSSTransition::setTimingProperties):
* animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::copyPropertiesFromSource):
* animation/WebAnimation.cpp:
(WebCore::WebAnimation::effectEndTime const):
(WebCore::WebAnimation::timeToNextTick const):

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

7 months agoEnable Remote Playback API by default
jer.noble@apple.com [Wed, 30 Oct 2019 18:01:48 +0000 (18:01 +0000)]
Enable Remote Playback API by default
https://bugs.webkit.org/show_bug.cgi?id=203595

Reviewed by Eric Carlson.

* Shared/WebPreferences.yaml:

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

7 months ago::before/::after elements not filling their grid cell when container has display...
antti@apple.com [Wed, 30 Oct 2019 17:51:58 +0000 (17:51 +0000)]
::before/::after elements not filling their grid cell when container has display: contents
https://bugs.webkit.org/show_bug.cgi?id=193567

Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/css/display-contents-before-after-grid.html

We were not providing parent box style when resolving :before/:after pseudo elements. Because of this we
failed to blockify the pseudo elements when their host element had 'display:contents' and the parent
box was a grid.

Original test case by Michał Gołębiowski-Owczarek.

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

Pass the parent box style.

* css/StyleResolver.h:
* style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::resolvePseudoStyle):
(WebCore::Style::TreeResolver::parentBoxStyle const):
(WebCore::Style::TreeResolver::parentBoxStyleForPseudo const):

If the element has 'display:contents', look for style of its ancestors.

* style/StyleTreeResolver.h:

LayoutTests:

* fast/css/display-contents-before-after-grid-expected.html: Added.
* fast/css/display-contents-before-after-grid.html: Added.

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

7 months agoUpdate css/css-display web platform tests
antti@apple.com [Wed, 30 Oct 2019 17:44:42 +0000 (17:44 +0000)]
Update css/css-display web platform tests
https://bugs.webkit.org/show_bug.cgi?id=203607

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

* resources/resource-files.json:
* web-platform-tests/css/css-display/META.yml: Added.
* web-platform-tests/css/css-display/OWNERS: Removed.
* web-platform-tests/css/css-display/display-change-iframe-expected.xht: Added.
* web-platform-tests/css/css-display/display-change-iframe.html: Added.
* web-platform-tests/css/css-display/display-change-object-iframe-expected.xht: Added.
* web-platform-tests/css/css-display/display-change-object-iframe.html: Added.
* web-platform-tests/css/css-display/display-contents-blockify-dynamic-expected.txt: Added.
* web-platform-tests/css/css-display/display-contents-blockify-dynamic.html: Added.
* web-platform-tests/css/css-display/display-contents-details.html:
* web-platform-tests/css/css-display/display-contents-fieldset-nested-legend-expected.html:
* web-platform-tests/css/css-display/display-contents-shadow-dom-1-expected.html: Added.
* web-platform-tests/css/css-display/display-contents-shadow-dom-1.html: Added.
* web-platform-tests/css/css-display/display-contents-shadow-host-whitespace-expected.html: Added.
* web-platform-tests/css/css-display/display-contents-shadow-host-whitespace.html: Added.
* web-platform-tests/css/css-display/display-contents-sharing-001-expected.html: Added.
* web-platform-tests/css/css-display/display-contents-sharing-001.html: Added.
* web-platform-tests/css/css-display/display-contents-whitespace-inside-inline-expected.html: Added.
* web-platform-tests/css/css-display/display-contents-whitespace-inside-inline.html: Added.
* web-platform-tests/css/css-display/display-flow-root-list-item-001-expected.html: Added.
* web-platform-tests/css/css-display/display-flow-root-list-item-001.html: Added.
* web-platform-tests/css/css-display/display-inline-dynamic-001-expected.html: Added.
* web-platform-tests/css/css-display/display-inline-dynamic-001.html: Added.
* web-platform-tests/css/css-display/display-none-inline-img-expected.html: Added.
* web-platform-tests/css/css-display/display-none-inline-img.html: Added.
* web-platform-tests/css/css-display/inheritance-expected.txt: Added.
* web-platform-tests/css/css-display/inheritance.html: Added.
* web-platform-tests/css/css-display/parsing/display-computed-expected.txt: Added.
* web-platform-tests/css/css-display/parsing/display-computed.html: Added.
* web-platform-tests/css/css-display/parsing/display-invalid-expected.txt: Added.
* web-platform-tests/css/css-display/parsing/display-invalid.html: Added.
* web-platform-tests/css/css-display/parsing/display-valid-expected.txt: Added.
* web-platform-tests/css/css-display/parsing/display-valid.html: Added.
* web-platform-tests/css/css-display/parsing/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-display/support/w3c-import.log.
* web-platform-tests/css/css-display/run-in/OWNERS: Removed.
* web-platform-tests/css/css-display/run-in/direction-applies-to-011.xht:
* web-platform-tests/css/css-display/run-in/font-family-applies-to-004.xht:
* web-platform-tests/css/css-display/run-in/font-size-applies-to-004.xht:
* web-platform-tests/css/css-display/run-in/font-style-applies-to-004-expected.xht:
* web-platform-tests/css/css-display/run-in/letter-spacing-applies-to-004-expected.html:
* web-platform-tests/css/css-display/run-in/letter-spacing-applies-to-004.xht:
* web-platform-tests/css/css-display/run-in/overflow-applies-to-011.xht:
* web-platform-tests/css/css-display/run-in/run-in-001.xht:
* web-platform-tests/css/css-display/run-in/run-in-003.xht:
* web-platform-tests/css/css-display/run-in/run-in-004.xht:
* web-platform-tests/css/css-display/run-in/run-in-006.xht:
* web-platform-tests/css/css-display/run-in/run-in-007.xht:
* web-platform-tests/css/css-display/run-in/run-in-008.xht:
* web-platform-tests/css/css-display/run-in/run-in-009.xht:
* web-platform-tests/css/css-display/run-in/run-in-010.xht:
* web-platform-tests/css/css-display/run-in/run-in-011.xht:
* web-platform-tests/css/css-display/run-in/run-in-012.xht:
* web-platform-tests/css/css-display/run-in/run-in-013.xht:
* web-platform-tests/css/css-display/run-in/support/w3c-import.log:
* web-platform-tests/css/css-display/run-in/table-layout-applies-to-004.xht:
* web-platform-tests/css/css-display/run-in/text-indent-applies-to-004.xht:
* web-platform-tests/css/css-display/run-in/vertical-align-applies-to-011.xht:
* web-platform-tests/css/css-display/run-in/w3c-import.log:
* web-platform-tests/css/css-display/run-in/white-space-applies-to-004.xht:
* web-platform-tests/css/css-display/run-in/word-spacing-applies-to-004.xht:
* web-platform-tests/css/css-display/select-4-option-optgroup-display-none-expected.html: Added.
* web-platform-tests/css/css-display/select-4-option-optgroup-display-none.html: Added.
* web-platform-tests/css/css-display/support/red-square.html: Added.
* web-platform-tests/css/css-display/support/w3c-import.log:
* web-platform-tests/css/css-display/w3c-import.log:

LayoutTests:

* TestExpectations:

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

7 months ago[iOS] [WK2] Improve process assertion-related logging to help identify causes of...
cdumez@apple.com [Wed, 30 Oct 2019 17:31:39 +0000 (17:31 +0000)]
[iOS] [WK2] Improve process assertion-related logging to help identify causes of leaked assertions
https://bugs.webkit.org/show_bug.cgi?id=203438

Reviewed by Antti Koivisto.

Improve process assertion-related logging to help identify causes of leaked assertions. Previously,
whenever our code needed to prevent suspension of a child process due to some kind of activity, it
would simply grab a "token" from the child process' ProcessThrottler. This, in-turn, would cause
the ProcessThrottler to take the right kind of ProcessAssertion or release it when nobody holds
any tokens any more.

We frequently have issues where the UIProcess keeps its assertions around for too long after getting
backgrounding. This causes the assertions to get invalidated and the UIProcess will usually suspend
(albeit with a delay, which is bad for power). Sometimes though, we get killed because our invalidation
handler does not get a chance to release the assertion in time.

Finding out why we're keeping around assertions is currently very difficult because we cannot easily
see in the logs who is still holding ProcessThrottler tokens. To make such debugging easier, clients
now notify the ProcessThrottler when they start some activity and provide a user-readable description
of the activity. The client then gets a ForegroundActivity or BackgroundActivity object instead of
simply a token. As a result, we are now able to log when a given activity that prevents suspension
begins and ends, with a user-friendly string. Also, when the assertion gets invalidated, it will
invalidate all these pending activities and we'll see in the logs the name of the activities that
were still going on upon invalidation.

* Shared/API/Cocoa/RemoteObjectRegistry.h:
(WebKit::RemoteObjectRegistry::backgroundActivity):
* Shared/API/Cocoa/RemoteObjectRegistry.mm:
(WebKit::RemoteObjectRegistry::sendInvocation):
* UIProcess/Cocoa/DownloadClient.h:
* UIProcess/Cocoa/DownloadClient.mm:
(WebKit::DownloadClient::takeActivityToken):
(WebKit::DownloadClient::releaseActivityTokenIfNecessary):
* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationState):
(WebKit::NavigationState::releaseNetworkActivity):
(WebKit::NavigationState::didChangeIsLoading):
(WebKit::NavigationState::didSwapWebProcesses):
* UIProcess/Cocoa/UIRemoteObjectRegistry.cpp:
(WebKit::UIRemoteObjectRegistry::backgroundActivity):
* UIProcess/Cocoa/UIRemoteObjectRegistry.h:
* UIProcess/Cocoa/WebProcessProxyCocoa.mm:
(WebKit::WebProcessProxy::processWasResumed):
* UIProcess/GenericCallback.h:
(WebKit::CallbackBase::CallbackBase):
(WebKit::GenericCallback::create):
(WebKit::GenericCallback::GenericCallback):
(WebKit::CallbackMap::put):
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::fetchWebsiteData):
(WebKit::NetworkProcessProxy::deleteWebsiteData):
(WebKit::NetworkProcessProxy::deleteWebsiteDataForOrigins):
(WebKit::NetworkProcessProxy::didClose):
(WebKit::NetworkProcessProxy::setIsHoldingLockedFiles):
(WebKit::NetworkProcessProxy::syncAllCookies):
(WebKit::NetworkProcessProxy::didSyncAllCookies):
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/ProcessThrottler.cpp:
(WebKit::ProcessThrottler::ProcessThrottler):
(WebKit::ProcessThrottler::~ProcessThrottler):
(WebKit::ProcessThrottler::addActivity):
(WebKit::ProcessThrottler::removeActivity):
(WebKit::ProcessThrottler::invalidateAllActivities):
(WebKit::ProcessThrottler::expectedAssertionState):
(WebKit::ProcessThrottler::setAssertionState):
(WebKit::ProcessThrottler::uiAssertionWillExpireImminently):
* UIProcess/ProcessThrottler.h:
(WebKit::ProcessThrottler::Activity::Activity):
(WebKit::ProcessThrottler::Activity::~Activity):
(WebKit::ProcessThrottler::Activity::isValid const):
(WebKit::ProcessThrottler::Activity::invalidate):
(WebKit::ProcessThrottler::shouldBeRunnable const):
(WebKit::ProcessThrottler::foregroundActivity):
(WebKit::ProcessThrottler::backgroundActivity):
* UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::ProvisionalPageProxy):
* UIProcess/ProvisionalPageProxy.h:
* UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::dispatchAfterEnsuringDrawing):
* UIProcess/SuspendedPageProxy.cpp:
(WebKit::SuspendedPageProxy::SuspendedPageProxy):
(WebKit::SuspendedPageProxy::didProcessRequestToSuspend):
* UIProcess/SuspendedPageProxy.h:
* UIProcess/WebBackForwardCacheEntry.cpp:
(WebKit::WebBackForwardCacheEntry::~WebBackForwardCacheEntry):
* UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::getHostnamesWithCookies):
(WebKit::WebCookieManagerProxy::deleteCookie):
(WebKit::WebCookieManagerProxy::deleteAllCookiesModifiedSince):
(WebKit::WebCookieManagerProxy::setCookies):
(WebKit::WebCookieManagerProxy::getAllCookies):
(WebKit::WebCookieManagerProxy::getCookies):
(WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):
(WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::updateThrottleState):
(WebKit::WebPageProxy::waitForDidUpdateActivityState):
(WebKit::WebPageProxy::setInitialFocus):
(WebKit::WebPageProxy::validateCommand):
(WebKit::WebPageProxy::executeEditCommand):
(WebKit::WebPageProxy::requestFontAttributesAtSelectionStart):
(WebKit::WebPageProxy::replaceMatches):
(WebKit::WebPageProxy::runJavaScriptInMainFrameScriptWorld):
(WebKit::WebPageProxy::runJavaScriptInFrame):
(WebKit::WebPageProxy::getRenderTreeExternalRepresentation):
(WebKit::WebPageProxy::getSourceForFrame):
(WebKit::WebPageProxy::getContentsAsString):
(WebKit::WebPageProxy::getBytecodeProfile):
(WebKit::WebPageProxy::getSamplingProfilerOutput):
(WebKit::WebPageProxy::getContentsAsMHTMLData):
(WebKit::WebPageProxy::getSelectionOrContentsAsString):
(WebKit::WebPageProxy::getSelectionAsWebArchiveData):
(WebKit::WebPageProxy::getMainResourceDataOfFrame):
(WebKit::WebPageProxy::getResourceDataFromFrame):
(WebKit::WebPageProxy::getWebArchiveOfFrame):
(WebKit::WebPageProxy::forceRepaint):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
(WebKit::WebPageProxy::drawToPDF):
(WebKit::WebPageProxy::getMarkedRangeAsync):
(WebKit::WebPageProxy::getSelectedRangeAsync):
(WebKit::WebPageProxy::characterIndexForPointAsync):
(WebKit::WebPageProxy::firstRectForCharacterRangeAsync):
(WebKit::WebPageProxy::takeSnapshot):
(WebKit::WebPageProxy::installActivityStateChangeCompletionHandler):
(WebKit::WebPageProxy::getLoadDecisionForIcon):
(WebKit::WebPageProxy::insertAttachment):
(WebKit::WebPageProxy::updateAttachmentAttributes):
(WebKit::WebPageProxy::getApplicationManifest):
* UIProcess/WebPageProxy.h:
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::initializeNewWebProcess):
(WebKit::WebProcessPool::updateProcessAssertions):
(WebKit::WebProcessPool::reinstateNetworkProcessAssertionState):
* UIProcess/WebProcessPool.h:
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::shutDown):
(WebKit::WebProcessProxy::fetchWebsiteData):
(WebKit::WebProcessProxy::deleteWebsiteData):
(WebKit::WebProcessProxy::deleteWebsiteDataForOrigins):
(WebKit::WebProcessProxy::setIsHoldingLockedFiles):
(WebKit::WebProcessProxy::startBackgroundActivityForFullscreenInput):
(WebKit::WebProcessProxy::endBackgroundActivityForFullscreenInput):
* UIProcess/WebProcessProxy.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView presentViewControllerForCurrentFocusedElement]):
(-[WKContentView dismissAllInputViewControllers:]):
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::requestFocusedElementInformation):
(WebKit::WebPageProxy::selectWithGesture):
(WebKit::WebPageProxy::updateSelectionWithTouches):
(WebKit::WebPageProxy::applyAutocorrection):
(WebKit::WebPageProxy::selectTextWithGranularityAtPoint):
(WebKit::WebPageProxy::selectPositionAtBoundaryWithDirection):
(WebKit::WebPageProxy::moveSelectionAtBoundaryWithDirection):
(WebKit::WebPageProxy::selectPositionAtPoint):
(WebKit::WebPageProxy::beginSelectionInDirection):
(WebKit::WebPageProxy::updateSelectionWithExtentPoint):
(WebKit::WebPageProxy::updateSelectionWithExtentPointAndBoundary):
(WebKit::WebPageProxy::requestDictationContext):
(WebKit::WebPageProxy::getSelectionContext):
(WebKit::WebPageProxy::selectWithTwoTouches):
(WebKit::WebPageProxy::applicationDidEnterBackground):
(WebKit::WebPageProxy::requestRectsForGranularityWithSelectionOffset):
(WebKit::WebPageProxy::requestRectsAtSelectionOffsetWithText):
(WebKit::WebPageProxy::moveSelectionByOffset):
(WebKit::WebPageProxy::focusNextFocusedElement):
(WebKit::WebPageProxy::computePagesForPrintingAndDrawToPDF):

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

7 months agoMake testharnessreport.js report the results correctly inside an SVG document
commit-queue@webkit.org [Wed, 30 Oct 2019 17:20:17 +0000 (17:20 +0000)]
Make testharnessreport.js report the results correctly inside an SVG document
https://bugs.webkit.org/show_bug.cgi?id=203503

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2019-10-30
Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

* web-platform-tests/dom/nodes/Document-constructor-xml-expected.txt:
* web-platform-tests/dom/nodes/Node-contains-xml-expected.txt:
* web-platform-tests/dom/nodes/getElementsByClassName-10-expected.txt:
* web-platform-tests/dom/nodes/getElementsByClassName-11-expected.txt:
* web-platform-tests/svg/animations/scripted/end-element-on-inactive-element-expected.txt: Added.
* web-platform-tests/svg/animations/scripted/onhover-syncbases-expected.txt: Added.
* web-platform-tests/svg/extensibility/foreignObject/properties-expected.txt: Added.
* web-platform-tests/svg/extensibility/interfaces/foreignObject-graphics-expected.txt: Added.
* web-platform-tests/svg/geometry/inheritance-expected.txt: Added.
* web-platform-tests/svg/geometry/parsing/cx-computed-expected.txt: Added.
* web-platform-tests/svg/geometry/parsing/cx-invalid-expected.txt: Added.
* web-platform-tests/svg/geometry/parsing/cx-valid-expected.txt: Added.
* web-platform-tests/svg/geometry/parsing/cy-computed-expected.txt: Added.
* web-platform-tests/svg/geometry/parsing/cy-invalid-expected.txt: Added.
* web-platform-tests/svg/geometry/parsing/cy-valid-expected.txt: Added.
* web-platform-tests/svg/geometry/parsing/height-computed-expected.txt: Added.
* web-platform-tests/svg/geometry/parsing/r-computed-expected.txt: Added.
* web-platform-tests/svg/geometry/parsing/r-invalid-expected.txt: Added.
* web-platform-tests/svg/geometry/parsing/r-valid-expected.txt: Added.
* web-platform-tests/svg/geometry/parsing/rx-computed-expected.txt: Added.
* web-platform-tests/svg/geometry/parsing/rx-invalid-expected.txt: Added.
* web-platform-tests/svg/geometry/parsing/rx-valid-expected.txt:
* web-platform-tests/svg/geometry/parsing/ry-computed-expected.txt: Added.
* web-platform-tests/svg/geometry/parsing/ry-invalid-expected.txt: Added.
* web-platform-tests/svg/geometry/parsing/ry-valid-expected.txt: Added.
* web-platform-tests/svg/geometry/parsing/sizing-properties-computed-expected.txt: Added.
* web-platform-tests/svg/geometry/parsing/width-computed-expected.txt: Added.
* web-platform-tests/svg/geometry/parsing/x-computed-expected.txt: Added.
* web-platform-tests/svg/geometry/parsing/x-invalid-expected.txt: Added.
* web-platform-tests/svg/geometry/parsing/x-valid-expected.txt: Added.
* web-platform-tests/svg/geometry/parsing/y-computed-expected.txt: Added.
* web-platform-tests/svg/geometry/parsing/y-invalid-expected.txt: Added.
* web-platform-tests/svg/geometry/parsing/y-valid-expected.txt: Added.
* web-platform-tests/svg/interact/inheritance-expected.txt: Added.
* web-platform-tests/svg/interact/parsing/pointer-events-computed-expected.txt: Added.
* web-platform-tests/svg/interact/parsing/pointer-events-invalid-expected.txt: Added.
* web-platform-tests/svg/interact/parsing/pointer-events-valid-expected.txt: Added.
* web-platform-tests/svg/interact/script-content-expected.txt: Added.
* web-platform-tests/svg/interact/scripted/composed.window-expected.txt: Added.
* web-platform-tests/svg/interact/scripted/focus-events-expected.txt: Added.
* web-platform-tests/svg/interact/scripted/focus-tabindex-default-value-expected.txt: Added.
* web-platform-tests/svg/interact/scripted/tabindex-focus-flag-expected.txt: Added.
* web-platform-tests/svg/linking/scripted/a-download-click-expected.txt: Added.
* web-platform-tests/svg/linking/scripted/a.rel-getter-01-expected.txt: Added.
* web-platform-tests/svg/linking/scripted/a.rel-setter-01-expected.txt: Added.
* web-platform-tests/svg/linking/scripted/a.text-getter-01-expected.txt: Added.
* web-platform-tests/svg/linking/scripted/a.text-setter-01-expected.txt: Added.
* web-platform-tests/svg/linking/scripted/rellist-feature-detection-expected.txt: Added.
* web-platform-tests/svg/painting/inheritance-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/color-interpolation-computed-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/color-interpolation-invalid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/fill-computed-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/fill-invalid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/fill-opacity-computed-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/fill-opacity-invalid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/fill-opacity-valid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/fill-rule-computed-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/fill-rule-invalid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/fill-rule-valid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/fill-valid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/image-rendering-computed-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/image-rendering-invalid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/image-rendering-valid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/marker-computed-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/marker-end-computed-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/marker-end-invalid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/marker-end-valid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/marker-invalid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/marker-mid-computed-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/marker-mid-invalid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/marker-mid-valid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/marker-start-computed-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/marker-start-invalid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/marker-start-valid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/marker-valid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/paint-order-computed-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/paint-order-invalid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/paint-order-valid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/shape-rendering-computed-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/shape-rendering-invalid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/shape-rendering-valid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/stroke-computed-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/stroke-dasharray-computed-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/stroke-dasharray-invalid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/stroke-dasharray-valid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/stroke-dashoffset-computed-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/stroke-dashoffset-invalid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/stroke-dashoffset-valid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/stroke-invalid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/stroke-linecap-computed-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/stroke-linecap-invalid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/stroke-linecap-valid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/stroke-linejoin-computed-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/stroke-linejoin-invalid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/stroke-linejoin-valid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/stroke-miterlimit-computed-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/stroke-miterlimit-invalid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/stroke-miterlimit-valid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/stroke-opacity-computed-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/stroke-opacity-invalid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/stroke-opacity-valid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/stroke-valid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/stroke-width-computed-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/stroke-width-invalid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/stroke-width-valid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/text-rendering-computed-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/text-rendering-invalid-expected.txt: Added.
* web-platform-tests/svg/painting/parsing/text-rendering-valid-expected.txt: Added.
* web-platform-tests/svg/painting/scripted/paint-order-computed-value-01-expected.txt: Added.
* web-platform-tests/svg/path/error-handling/bounding-expected.txt: Added.
* web-platform-tests/svg/path/interfaces/SVGAnimatedPathData-removed-expected.txt: Added.
* web-platform-tests/svg/path/property/d-interpolation-discrete-expected.txt: Added.
* web-platform-tests/svg/path/property/d-interpolation-relative-absolute-expected.txt: Added.
* web-platform-tests/svg/path/property/d-interpolation-single-expected.txt: Added.
* web-platform-tests/svg/path/property/getComputedStyle-expected.txt: Added.
* web-platform-tests/svg/path/property/serialization-expected.txt: Added.
* web-platform-tests/svg/pservers/inheritance-expected.txt: Added.
* web-platform-tests/svg/pservers/parsing/stop-color-computed-expected.txt: Added.
* web-platform-tests/svg/pservers/parsing/stop-color-invalid-expected.txt: Added.
* web-platform-tests/svg/pservers/parsing/stop-color-valid-expected.txt: Added.
* web-platform-tests/svg/pservers/parsing/stop-opacity-computed-expected.txt: Added.
* web-platform-tests/svg/pservers/parsing/stop-opacity-invalid-expected.txt: Added.
* web-platform-tests/svg/pservers/parsing/stop-opacity-valid-expected.txt: Added.
* web-platform-tests/svg/pservers/scripted/stop-color-inheritance-currentcolor-expected.txt: Added.
* web-platform-tests/svg/scripted/text-attrs-dxdy-have-length-expected.txt: Added.
* web-platform-tests/svg/scripted/text-attrs-xyrotate-have-length-expected.txt: Added.
* web-platform-tests/svg/scripted/text-tspan-attrs-have-length-expected.txt: Added.
* web-platform-tests/svg/scripted/text-tspan-attrs-indexed-access-expected.txt: Added.
* web-platform-tests/svg/scripted/tspan-attrs-dxdy-have-length-expected.txt: Added.
* web-platform-tests/svg/scripted/tspan-attrs-xyrotate-have-length-expected.txt: Added.
* web-platform-tests/svg/shapes/line-getPointAtLength-expected.txt: Added.
* web-platform-tests/svg/shapes/line-pathLength-expected.txt: Added.
* web-platform-tests/svg/shapes/rx-ry-not-inherited-expected.txt: Added.
* web-platform-tests/svg/shapes/scripted/disabled-shapes-not-hit-expected.txt: Added.
* web-platform-tests/svg/struct/UnknownElement/interface-expected.txt: Added.
* web-platform-tests/svg/struct/scripted/autofocus-attribute-expected.txt: Added.
* web-platform-tests/svg/styling/required-properties-expected.txt: Added.
* web-platform-tests/svg/text/inheritance-expected.txt: Added.
* web-platform-tests/svg/text/parsing/inline-size-invalid-expected.txt: Added.
* web-platform-tests/svg/text/parsing/inline-size-valid-expected.txt: Added.
* web-platform-tests/svg/text/parsing/shape-inside-invalid-expected.txt: Added.
* web-platform-tests/svg/text/parsing/shape-inside-valid-expected.txt: Added.
* web-platform-tests/svg/text/parsing/shape-margin-invalid-expected.txt: Added.
* web-platform-tests/svg/text/parsing/shape-margin-valid-expected.txt: Added.
* web-platform-tests/svg/text/parsing/shape-subtract-invalid-expected.txt: Added.
* web-platform-tests/svg/text/parsing/shape-subtract-valid-expected.txt: Added.
* web-platform-tests/svg/text/parsing/text-anchor-computed-expected.txt: Added.
* web-platform-tests/svg/text/parsing/text-anchor-invalid-expected.txt: Added.
* web-platform-tests/svg/text/parsing/text-anchor-valid-expected.txt: Added.
* web-platform-tests/svg/text/parsing/text-decoration-fill-invalid-expected.txt: Added.
* web-platform-tests/svg/text/parsing/text-decoration-fill-valid-expected.txt: Added.
* web-platform-tests/svg/text/parsing/text-decoration-stroke-invalid-expected.txt: Added.
* web-platform-tests/svg/text/parsing/text-decoration-stroke-valid-expected.txt: Added.
* web-platform-tests/svg/types/elements/SVGGeometryElement-rect-expected.txt: Added.
* web-platform-tests/svg/types/scripted/SVGGeometryElement.getPointAtLength-01-expected.txt: Added.
* web-platform-tests/svg/types/scripted/SVGGeometryElement.isPointInFill-01-expected.txt: Added.
* web-platform-tests/svg/types/scripted/SVGGeometryElement.isPointInStroke-01-expected.txt: Added.
* web-platform-tests/svg/types/scripted/SVGGraphicsElement-expected.txt: Added.
* web-platform-tests/svg/types/scripted/event-handler-all-document-element-events-expected.txt: Added.

LayoutTests:

For SVG tests, the completion callback has to create a foreignObject and
append it to the root element. Then the results element has to be appended
to this foreignObject.

* TestExpectations:
* platform/mac/imported/w3c/web-platform-tests/svg/path/error-handling/bounding-expected.txt: Removed.
* platform/mac/imported/w3c/web-platform-tests/svg/shapes/scripted/disabled-shapes-not-hit-expected.txt: Removed.
* resources/testharnessreport.js:
(self.testRunner.add_completion_callback):

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

7 months ago[css-masking] Unprefix -webkit-clip-path
krit@webkit.org [Wed, 30 Oct 2019 17:07:02 +0000 (17:07 +0000)]
[css-masking] Unprefix -webkit-clip-path
https://bugs.webkit.org/show_bug.cgi?id=187888

Reviewed by Simon Fraser.

LayoutTests/imported/mozilla:

Integrated test expectations do not match the actual expected
behavior. The reason is that the expectation files reference
resources from different documents - which is not supported by
WebKit. Since unprefixed clip-path wasn't supported either
the test passed.

* svg/svg-integration/clipPath-html-01-expected.xhtml:
* svg/svg-integration/clipPath-html-02-expected.xhtml:
* svg/svg-integration/clipPath-html-02.xhtml:
* svg/svg-integration/clipPath-html-03-expected.xhtml:
* svg/svg-integration/clipPath-html-04-expected.xhtml:
* svg/svg-integration/clipPath-html-05-expected.xhtml:
* svg/svg-integration/clipPath-html-06-expected.xhtml:

LayoutTests/imported/w3c:

Test started passing. Updating test results.

* web-platform-tests/css/css-masking/parsing/clip-path-computed-expected.txt:
* web-platform-tests/css/css-masking/parsing/clip-path-valid-expected.txt:
* web-platform-tests/css/css-shapes/basic-shape-circle-ellipse-serialization-expected.txt:
* web-platform-tests/css/css-shapes/shape-outside/formatting-context/shape-outside-formatting-context.tentative-expected.html:
        Test result is incorrect: Doesn't test the shifing of content when shape-outside is set.
* web-platform-tests/css/css-shapes/shape-outside/formatting-context/shape-outside-formatting-context.tentative.html:

Source/WebCore:

Unprefix -webkit-clip-path. Make clip-path alias the prefixed version.

We already have a wide variaty of pre-/unprexied clip-path tests.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForPropertyinStyle):
* css/CSSProperties.json:
* css/SVGCSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::svgPropertyValue):
* css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::parseSingleValue):
* page/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
* rendering/style/SVGRenderStyle.h:
(WebCore::SVGRenderStyle::initialShadow):
(WebCore::SVGRenderStyle::y const):
(WebCore::SVGRenderStyle::initialClipperResource): Deleted.
(WebCore::SVGRenderStyle::clipperResource const): Deleted.
(WebCore::SVGRenderStyle::hasClipper const): Deleted.
(WebCore::SVGRenderStyle::setClipperResource): Deleted.
* rendering/style/SVGRenderStyleDefs.cpp:
(WebCore::StyleResourceData::StyleResourceData):
(WebCore::StyleResourceData::operator== const):
* rendering/style/SVGRenderStyleDefs.h:
* rendering/style/WillChangeData.cpp:
(WebCore::WillChangeData::propertyCreatesStackingContext):
* rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::pathOnlyClipping):
* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::writeResources):
* rendering/svg/SVGResources.cpp:
(WebCore::SVGResources::buildCachedResources):

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

7 months agoUnreviewed, unskip imported/w3c/web-platform-tests/cors/credentials-flag.htm
cdumez@apple.com [Wed, 30 Oct 2019 16:51:06 +0000 (16:51 +0000)]
Unreviewed, unskip imported/w3c/web-platform-tests/cors/credentials-flag.htm

The test is not flaky if we don't dump JS console messages in the output.

LayoutTests/imported/w3c:

* web-platform-tests/cors/credentials-flag-expected.txt:

LayoutTests:

* TestExpectations:

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

7 months agoUnreviewed, skip 3 WPT tests that are timing out since they were imported.
cdumez@apple.com [Wed, 30 Oct 2019 16:36:29 +0000 (16:36 +0000)]
Unreviewed, skip 3 WPT tests that are timing out since they were imported.

It unnecessarily slows down our test runs.

* TestExpectations:

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

7 months agoFix autoscroll test to work on iPad.
megan_gardner@apple.com [Wed, 30 Oct 2019 14:18:07 +0000 (14:18 +0000)]
Fix autoscroll test to work on iPad.
https://bugs.webkit.org/show_bug.cgi?id=203598
<rdar://problem/51863703>

Reviewed by Wenson Hsieh.

iPads are much taller than iPhones, so to test autoscrolling under a
software keyboard, we need to return several more times.
Also take the opportunity to make the test more robust to races.

* fast/events/autoscroll-with-software-keyboard.html:
* platform/ipad/TestExpectations:

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

7 months agoREGRESSION(r249428): [GStreamer] VP9 video rendered green
commit-queue@webkit.org [Wed, 30 Oct 2019 14:14:58 +0000 (14:14 +0000)]
REGRESSION(r249428): [GStreamer] VP9 video rendered green
https://bugs.webkit.org/show_bug.cgi?id=201422
<rdar://problem/55945741>

Patch by Philippe Normand <philn@igalia.com> on 2019-10-30
Reviewed by Carlos Garcia Campos.

Enable the texture upload GStreamer meta code path. Until
GStreamer 1.16.2 this workaround is needed to fix VP9 (vp9dec)
rendering.

Original patch by: Chris Lord <clord@igalia.com>

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::createVideoSinkGL):

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

7 months agoImageDecoders: use a thread safe data buffer for Cairo backing store
carlosgc@webkit.org [Wed, 30 Oct 2019 07:59:03 +0000 (07:59 +0000)]
ImageDecoders: use a thread safe data buffer for Cairo backing store
https://bugs.webkit.org/show_bug.cgi?id=201727
<rdar://problem/56665041>

Reviewed by Fujii Hironori.

Use SharedBuffer::dataSegment which is ThreadSafeRefCounted.

* platform/graphics/ImageBackingStore.h:
(WebCore::ImageBackingStore::setSize):
(WebCore::ImageBackingStore::ImageBackingStore):
* platform/image-decoders/cairo/ImageBackingStoreCairo.cpp:
(WebCore::ImageBackingStore::image const):

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

7 months agoImport WPT tests for scrollend and overscroll events
commit-queue@webkit.org [Wed, 30 Oct 2019 07:58:26 +0000 (07:58 +0000)]
Import WPT tests for scrollend and overscroll events
https://bugs.webkit.org/show_bug.cgi?id=203500

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

LayoutTests/imported/w3c:

* web-platform-tests/dom/events/scrolling/overscroll-event-fired-to-document-expected.txt: Added.
* web-platform-tests/dom/events/scrolling/overscroll-event-fired-to-element-with-overscroll-behavior-expected.txt: Added.
* web-platform-tests/dom/events/scrolling/overscroll-event-fired-to-scrolled-element-expected.txt: Added.
* web-platform-tests/dom/events/scrolling/overscroll-event-fired-to-window-expected.txt: Added.
* web-platform-tests/dom/events/scrolling/scrollend-event-fired-after-snap-expected.txt: Added.
* web-platform-tests/dom/events/scrolling/scrollend-event-fired-to-document-expected.txt: Added.
* web-platform-tests/dom/events/scrolling/scrollend-event-fired-to-element-with-overscroll-behavior-expected.txt: Added.
* web-platform-tests/dom/events/scrolling/scrollend-event-fired-to-scrolled-element-expected.txt: Added.
* web-platform-tests/dom/events/scrolling/scrollend-event-fired-to-window-expected.txt: Added.

LayoutTests:

* TestExpectations: Skip the tests on most platforms, since
sendEventStream is not supported.
* platform/ios/TestExpectations: Enable the tests on iOS.

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

7 months agoREGRESSION(2.27.2): [GTK] Overview item remove button broken
carlosgc@webkit.org [Wed, 30 Oct 2019 07:57:04 +0000 (07:57 +0000)]
REGRESSION(2.27.2): [GTK] Overview item remove button broken
https://bugs.webkit.org/show_bug.cgi?id=203461

Reviewed by Adrian Perez de Castro.

This is a regression of the switch to new custom protocols implementation. Epiphany is passing NULL as content
type of ephy-resource requests, in which case we should try to guess the mime type, but we are not doing it.

* UIProcess/API/glib/WebKitURISchemeRequest.cpp:
(webkitURISchemeRequestReadCallback): Use MIMETypeRegistry to guess the mime type when content type is nullptr,
like NetworkDataTask does.

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

7 months agoRemove HTMLMediaElementDestructorScope
rniwa@webkit.org [Wed, 30 Oct 2019 05:12:28 +0000 (05:12 +0000)]
Remove HTMLMediaElementDestructorScope
https://bugs.webkit.org/show_bug.cgi?id=203600

Reviewed by Chris Dumez.

Removed the workaround introduced in r231392 for the bug 185284 now that it's been fixed.

No new tests since this code should be dead code.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::isRunningDestructor): Deleted.
(WebCore::HTMLMediaElementDestructorScope::HTMLMediaElementDestructorScope): Deleted.
(WebCore::HTMLMediaElementDestructorScope::~HTMLMediaElementDestructorScope): Deleted.
* html/HTMLMediaElement.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkCompleted):

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

7 months ago[Quick Look] Clean up LegacyPreviewLoaderClients
aestes@apple.com [Wed, 30 Oct 2019 04:14:39 +0000 (04:14 +0000)]
[Quick Look] Clean up LegacyPreviewLoaderClients
https://bugs.webkit.org/show_bug.cgi?id=203472

Reviewed by Brady Eidson.

Source/WebCore:

* loader/ios/LegacyPreviewLoader.mm:
(WebCore::LegacyPreviewLoader::didReceiveBuffer):
* platform/network/ios/LegacyPreviewLoaderClient.h:
(WebCore::LegacyPreviewLoaderClient::didReceiveBuffer):
(WebCore::LegacyPreviewLoaderClient::didReceiveDataArray): Deleted.

Source/WebKit:

Replaced QuickLookDocumentData with ShareableResource.

Removed messages WebPageProxy::DidRequestPasswordForQuickLookDocumentInMainFrame and
WebPage::DidReceivePasswordForQuickLookDocument, replacing them with async message
WebPageProxy::RequestPasswordForQuickLookDocumentInMainFrame.

* Shared/ios/QuickLookDocumentData.cpp: Removed.
* Shared/ios/QuickLookDocumentData.h: Removed.
* SourcesCocoa.txt:
* UIProcess/API/APILoaderClient.h:
* UIProcess/API/APINavigationClient.h:
(API::NavigationClient::didFinishLoadForQuickLookDocumentInMainFrame):
* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationClient::didFinishLoadForQuickLookDocumentInMainFrame):
* UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::requestPasswordForQuickLookDocumentInMainFrame):
(WebKit::ProvisionalPageProxy::didReceiveMessage):
(WebKit::ProvisionalPageProxy::didRequestPasswordForQuickLookDocumentInMainFrame): Deleted.
* UIProcess/ProvisionalPageProxy.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::didFinishLoadForQuickLookDocumentInMainFrame):
(WebKit::WebPageProxy::requestPasswordForQuickLookDocumentInMainFrame):
(WebKit::WebPageProxy::requestPasswordForQuickLookDocumentInMainFrameShared):
(WebKit::WebPageProxy::didRequestPasswordForQuickLookDocumentInMainFrame): Deleted.
(WebKit::WebPageProxy::didRequestPasswordForQuickLookDocumentInMainFrameShared): Deleted.
* WebKit.xcodeproj/project.pbxproj:
* WebProcess/WebCoreSupport/ios/WebPreviewLoaderClient.cpp:
(WebKit::WebPreviewLoaderClient::WebPreviewLoaderClient):
(WebKit::WebPreviewLoaderClient::didReceiveBuffer):
(WebKit::WebPreviewLoaderClient::didFinishLoading):
(WebKit::WebPreviewLoaderClient::didFail):
(WebKit::WebPreviewLoaderClient::didRequestPassword):
(WebKit::passwordCallbacks): Deleted.
(WebKit::WebPreviewLoaderClient::~WebPreviewLoaderClient): Deleted.
(WebKit::WebPreviewLoaderClient::didReceiveDataArray): Deleted.
(WebKit::WebPreviewLoaderClient::didReceivePassword): Deleted.
* WebProcess/WebCoreSupport/ios/WebPreviewLoaderClient.h:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::didStartLoadForQuickLookDocumentInMainFrame):
(WebKit::WebPage::didFinishLoadForQuickLookDocumentInMainFrame):
(WebKit::WebPage::requestPasswordForQuickLookDocumentInMainFrame):
(WebKit::WebPage::didReceivePasswordForQuickLookDocument): Deleted.

Source/WebKitLegacy/mac:

* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createPreviewLoaderClient):

Tools:

Updated API tests to compare data received in
-_webView:didFinishLoadForQuickLookDocumentInMainFrame: with expected data.

* TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm:
(readFile):
(-[QuickLookDelegate initWithExpectedFileURL:responsePolicy:]):
(-[QuickLookDelegate _webView:didFinishLoadForQuickLookDocumentInMainFrame:]):
(-[QuickLookDelegate verifyDownload]):
(TEST):

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

7 months ago[SVG2] SVGSymbolElement should inherits SVGGraphicsElement
commit-queue@webkit.org [Wed, 30 Oct 2019 03:14:51 +0000 (03:14 +0000)]
[SVG2] SVGSymbolElement should inherits SVGGraphicsElement
https://bugs.webkit.org/show_bug.cgi?id=203573

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2019-10-29
Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

* web-platform-tests/svg/idlharness.window-expected.txt:

Source/WebCore:

The spec link is:
    https://www.w3.org/TR/SVG2/struct.html#InterfaceSVGSymbolElement

* svg/SVGSymbolElement.cpp:
(WebCore::SVGSymbolElement::SVGSymbolElement):
(WebCore::SVGSymbolElement::parseAttribute):
* svg/SVGSymbolElement.h:
* svg/SVGSymbolElement.idl:

LayoutTests:

* svg/dom/svg2-inheritance-expected.txt:
* svg/dom/svg2-inheritance.html:

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

7 months agoresults.webkit.org: Fix tooltip with drawer
jbedard@apple.com [Wed, 30 Oct 2019 03:14:44 +0000 (03:14 +0000)]
results.webkit.org: Fix tooltip with drawer
https://bugs.webkit.org/show_bug.cgi?id=203527

Rubber-stamped by Aakash Jain.

The interaction between tooltips and drawers needs improvement, tooltips
are inconsistently under the drawer, do not treat the drawer as a boundary.

* resultsdbpy/resultsdbpy/view/static/css/tooltip.css:
(.tooltip): Use topZIndex variable.
* resultsdbpy/resultsdbpy/view/static/js/timeline.js:
(xAxisFromScale): Pass viewport to ToolTip.
(TimelineFromEndpoint): Ditto.
(TimelineFromEndpoint.prototype.update): Ditto.
(TimelineFromEndpoint.prototype.render): Ditto.
(TimelineFromEndpoint.prototype.render.onDotEnterFactory): Ditto.
* resultsdbpy/resultsdbpy/view/static/js/tooltip.js:
(_ToolTip.prototype.toString): Use passed viewport instead of the document size.
(_ToolTip.prototype.setByElement): Set the viewport based on the passed viewport.
* resultsdbpy/resultsdbpy/view/templates/search.html: Define the viewport as the
content element.
* resultsdbpy/resultsdbpy/view/templates/suite_results.html: Ditto.

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

7 months ago[WebAuthn] Add more information to _WKWebAuthenticationPanel
jiewen_tan@apple.com [Wed, 30 Oct 2019 02:50:31 +0000 (02:50 +0000)]
[WebAuthn] Add more information to _WKWebAuthenticationPanel
https://bugs.webkit.org/show_bug.cgi?id=202561
<rdar://problem/55973910>

Reviewed by Youenn Fablet and Brent Fulgham.

Source/WebCore:

Covered by new tests within existing test files.

* Modules/webauthn/AuthenticatorCoordinator.cpp:
* Modules/webauthn/WebAuthenticationConstants.h:

Source/WebKit:

This change adds transports and type to _WKWebAuthenticationPanel such that
clients can know what transport the current ceremony demands and the type of
the current ceremony. These extra information allow clients to give users
more specific instructions to interact with authenticators.

To pass transports to client, the way how them is collected is changed significantly:
1) The timing is moved to runPanel before the client delegate call.
2) NfcService::isAvailable is added for AuthenticatorManager to determine if NFC
is available in the current device.
3) AuthenticatorManager::filterTransports is added to filter transports requested
by RP to ones that are available. This process is handled by each service naturally
before.
4) AuthenticatorManager::startRequest is now being splitted into AuthenticatorManager::handleRequest,
AuthenticatorManager::runPanel and AuthenticatorManager::getTransports.

To pass type to _WKWebAuthenticationPanel, ClientDataType is moved from
WebCore::AuthenticatorCoordinator to WebCore::WebAuthenticationConstants in
order to be reused to indicate the ceremony type.

* UIProcess/API/APIWebAuthenticationPanel.cpp:
(API::WebAuthenticationPanel::create):
(API::WebAuthenticationPanel::WebAuthenticationPanel):
* UIProcess/API/APIWebAuthenticationPanel.h:
* UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:
* UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(-[_WKWebAuthenticationPanel relyingPartyID]):
(wkWebAuthenticationTransport):
(-[_WKWebAuthenticationPanel transports]):
(wkWebAuthenticationType):
(-[_WKWebAuthenticationPanel type]):
* UIProcess/WebAuthentication/AuthenticatorManager.cpp:
(WebKit::WebCore::collectTransports):
(WebKit::WebCore::getClientDataType):
(WebKit::AuthenticatorManager::handleRequest):
(WebKit::AuthenticatorManager::filterTransports const):
(WebKit::AuthenticatorManager::startDiscovery):
(WebKit::AuthenticatorManager::initTimeOutTimer):
(WebKit::AuthenticatorManager::runPanel):
(WebKit::AuthenticatorManager::getTransports const):
(WebKit::AuthenticatorManager::respondReceivedInternal): Deleted.
(WebKit::AuthenticatorManager::startRequest): Deleted.
* UIProcess/WebAuthentication/AuthenticatorManager.h:
(WebKit::AuthenticatorManager::respondReceivedInternal):
* UIProcess/WebAuthentication/Cocoa/NfcService.h:
* UIProcess/WebAuthentication/Cocoa/NfcService.mm:
(WebKit::NfcService::isAvailable):
(WebKit::NfcService::platformStartDiscovery):
* UIProcess/WebAuthentication/Mock/MockAuthenticatorManager.cpp:
(WebKit::MockAuthenticatorManager::filterTransports const):
* UIProcess/WebAuthentication/Mock/MockAuthenticatorManager.h:

Tools:

Adds new API tests.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelUIDelegate _webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]):
(-[TestWebAuthenticationPanelUIDelegate panel]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-hid.html: Added.

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

7 months agoSource/WebCore:
wenson_hsieh@apple.com [Wed, 30 Oct 2019 02:48:45 +0000 (02:48 +0000)]
Source/WebCore:
REGRESSION (r251693): [iOS] Unable to change selection after focusing an element with keyboard attached
https://bugs.webkit.org/show_bug.cgi?id=203582

Reviewed by Tim Horton.

Introduces a new helper method to check whether two ElementContexts refer to the same element. Importantly, this
ignores any information on ElementContext that is not either the element, document, or page identifier (for now,
this only includes the element's bounding rect, which may change over time).

Test: editing/selection/ios/set-selection-by-tapping-after-changing-focused-element-bounds.html

* dom/ElementContext.h:
(WebCore::ElementContext::isSameElement const):
(WebCore::operator==):

Source/WebKit:
REGRESSION (r251693): [iOS] Unable to change selection in a focused element if the element's bounds change
https://bugs.webkit.org/show_bug.cgi?id=203582

Reviewed by Tim Horton.

The refactoring in r251693 broke the ability to change selection in an editable area by tapping in iOS Safari,
in the case where the editable element's bounds change after focus. This is because the aforementioned change
now compares position informations' element context against the focused element information's element context to
check whether or not the position information request was inside the focused element. However, if the bounds of
the focused element change in between the position information request and when the element is initially
focused, the `operator==` comparison will fail, causing us to prevent text selection.

To fix this, only check whether or not the two element contexts refer to the same element in the DOM by
comparing page, document and element identifiers, but not the element's bounding rect.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _didGetTapHighlightForRequest:color:quads:topLeftRadius:topRightRadius:bottomLeftRadius:bottomRightRadius:nodeHasBuiltInClickHandling:]):
(-[WKContentView gestureRecognizerShouldBegin:]):
(-[WKContentView textInteractionGesture:shouldBeginAtPoint:]):

LayoutTests:
REGRESSION (r251693): [iOS] Unable to change selection after focusing an element with keyboard attached
https://bugs.webkit.org/show_bug.cgi?id=203582

Reviewed by Tim Horton.

Add a new layout test to cover this scenario.

* editing/selection/ios/set-selection-by-tapping-after-changing-focused-element-bounds-expected.txt: Added.
* editing/selection/ios/set-selection-by-tapping-after-changing-focused-element-bounds.html: Added.

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

7 months agoVersioning.
alancoon@apple.com [Wed, 30 Oct 2019 02:29:19 +0000 (02:29 +0000)]
Versioning.

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

7 months agoAlign CSS hsl() -> rgb() color conversion with the spec
simon.fraser@apple.com [Wed, 30 Oct 2019 00:55:27 +0000 (00:55 +0000)]
Align CSS hsl() -> rgb() color conversion with the spec
https://bugs.webkit.org/show_bug.cgi?id=203592

Reviewed by Tim Horton.
LayoutTests/imported/w3c:

Fix lots of tests in css/css-color/color-resolving-hsl.html by matching the specified rounding
when converting between hsl() and rgb().

Remove some duplicated code, and call HSLToSRGB().

* web-platform-tests/css/css-color/color-resolving-expected.txt:
* web-platform-tests/css/css-color/color-resolving-hsl-expected.txt:
* web-platform-tests/css/css-color/parsing/color-computed-expected.txt:
* web-platform-tests/css/css-color/parsing/color-valid-expected.txt:

Source/WebCore:

Fix lots of tests in css/css-color/color-resolving-hsl.html by matching the specified rounding
when converting between hsl() and rgb().

Remove some duplicated code, and call HSLToSRGB().

Tested by WPT.

* css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::parseHSLParameters):
* platform/graphics/Color.cpp:
(WebCore::makeRGBAFromHSLA):
(WebCore::calcHue): Deleted.
* platform/graphics/Color.h:

LayoutTests:

* platform/mac/fast/css/hsl-color-expected.txt:
* platform/mac/fast/css/hsla-color-expected.txt:

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

7 months agoUserMediaRequest should not prevent entering the back/forward cache
cdumez@apple.com [Wed, 30 Oct 2019 00:28:20 +0000 (00:28 +0000)]
UserMediaRequest should not prevent entering the back/forward cache
https://bugs.webkit.org/show_bug.cgi?id=203098
<rdar://problem/56716101>

Reviewed by Eric Carlson.

Source/WebCore:

Allow pages to enter the back/forward cache, even if they have a pending
getUserMedia promise. Whenever we get a permission decision from the
UIProcess, we now schedule a task to resolve/reject the promise on the
WindowEventLoop. The WindowEventLoop properly gets suspended while in
the back/forward cache.

Test: http/tests/navigation/page-cache-getUserMedia-pending-promise.html

* Modules/mediastream/MediaDevices.cpp:
(WebCore::MediaDevices::getUserMedia const):
If the document is not fully active, reject the promise with an InvalidStateError, as per:
- https://w3c.github.io/mediacapture-main/#dom-mediadevices-getusermedia (Step 4)

* Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::allow):
(WebCore::UserMediaRequest::deny):
(WebCore::UserMediaRequest::shouldPreventEnteringBackForwardCache_DEPRECATED const): Deleted.
* Modules/mediastream/UserMediaRequest.h:

LayoutTests:

Add layout test coverage.

* fast/mediastream/MediaDevices-getUserMedia-expected.txt:
* http/tests/navigation/page-cache-getUserMedia-pending-promise-expected.txt: Added.
* http/tests/navigation/page-cache-getUserMedia-pending-promise.html: Added.

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

7 months ago[Picture-in-Picture Web API] Implement PictureInPictureWindow
commit-queue@webkit.org [Wed, 30 Oct 2019 00:21:19 +0000 (00:21 +0000)]
[Picture-in-Picture Web API] Implement PictureInPictureWindow
https://bugs.webkit.org/show_bug.cgi?id=202615

Patch by Peng Liu <peng.liu6@apple.com> on 2019-10-29
Reviewed by Eric Carlson.

Source/WebCore:

Tests: media/picture-in-picture-api-enter-pip-1.html
       media/picture-in-picture-api-enter-pip-2.html
       media/picture-in-picture-api-enter-pip-3.html
       media/picture-in-picture-api-enter-pip-4.html
       media/picture-in-picture-api-exit-pip-1.html
       media/picture-in-picture-api-exit-pip-2.html
       media/picture-in-picture-api-pip-events.html
       media/picture-in-picture-api-pip-window.html

* Modules/pictureinpicture/HTMLVideoElementPictureInPicture.cpp:
(WebCore::HTMLVideoElementPictureInPicture::HTMLVideoElementPictureInPicture):
(WebCore::HTMLVideoElementPictureInPicture::requestPictureInPicture):
(WebCore::HTMLVideoElementPictureInPicture::didEnterPictureInPicture):
(WebCore::HTMLVideoElementPictureInPicture::didExitPictureInPicture):
(WebCore::HTMLVideoElementPictureInPicture::pictureInPictureWindowResized):
* Modules/pictureinpicture/HTMLVideoElementPictureInPicture.h:
* Modules/pictureinpicture/PictureInPictureWindow.cpp:
(WebCore::PictureInPictureWindow::create):
(WebCore::PictureInPictureWindow::PictureInPictureWindow):
(WebCore::PictureInPictureWindow::setSize):
(WebCore::PictureInPictureWindow::close):
* Modules/pictureinpicture/PictureInPictureWindow.h:
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::fullscreenModeChanged):
(WebCore::HTMLVideoElement::didBecomeFullscreenElement):
(WebCore::HTMLVideoElement::setPictureInPictureObserver):
(WebCore::HTMLVideoElement::setVideoFullscreenFrame):
* html/HTMLVideoElement.h:
* platform/PictureInPictureObserver.h:

LayoutTests:

Add layout test cases for the Picture-in-Picture API.

* TestExpectations:
* media/picture-in-picture-api-enter-pip-1-expected.txt: Added.
* media/picture-in-picture-api-enter-pip-1.html: Added.
* media/picture-in-picture-api-enter-pip-2-expected.txt: Added.
* media/picture-in-picture-api-enter-pip-2.html: Added.
* media/picture-in-picture-api-enter-pip-3-expected.txt: Added.
* media/picture-in-picture-api-enter-pip-3.html: Added.
* media/picture-in-picture-api-enter-pip-4-expected.txt: Added.
* media/picture-in-picture-api-enter-pip-4.html: Added.
* media/picture-in-picture-api-exit-pip-1-expected.txt: Added.
* media/picture-in-picture-api-exit-pip-1.html: Added.
* media/picture-in-picture-api-exit-pip-2-expected.txt: Added.
* media/picture-in-picture-api-exit-pip-2.html: Added.
* media/picture-in-picture-api-pip-events-expected.txt: Added.
* media/picture-in-picture-api-pip-events.html: Added.
* media/picture-in-picture-api-pip-window-expected.txt: Added.
* media/picture-in-picture-api-pip-window.html: Added.
* platform/mac-wk2/TestExpectations:

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

7 months agoWeb Inspector: Opacity slider background doesn't update when when hue slider moves
nvasilyev@apple.com [Wed, 30 Oct 2019 00:10:28 +0000 (00:10 +0000)]
Web Inspector: Opacity slider background doesn't update when when hue slider moves
https://bugs.webkit.org/show_bug.cgi?id=203593
<rdar://problem/56723629>

Reviewed by Matt Baker.

* UserInterface/Views/ColorPicker.js:
(WI.ColorPicker.prototype.set color):
(WI.ColorPicker.prototype.colorSquareColorDidChange):
Remove unused function arguments.

(WI.ColorPicker.prototype.sliderValueDidChange):
Update the background of the opacity slider when the hue slider changes.

(WI.ColorPicker.prototype._updateOpacitySlider): Renamed from _updateSliders.
Drive-by: replace `var` with `let`.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@251744 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 months agoWebAnimation should never prevent entering the back/forward cache
commit-queue@webkit.org [Tue, 29 Oct 2019 23:07:16 +0000 (23:07 +0000)]
WebAnimation should never prevent entering the back/forward cache
https://bugs.webkit.org/show_bug.cgi?id=203088
<rdar://problem/56374249>

Patch by Antoine Quint <graouts@apple.com> on 2019-10-29
Reviewed by Antti Koivisto.

Source/WebCore:

Test: webanimations/animation-page-cache.html

We remove the Web Animation override of the deprecated method ActiveDOMObject::shouldPreventEnteringBackForwardCache_DEPRECATED()
and instead ensure event dispatch is suspended along with the WebAnimation object through the adoption of a SuspendableTaskQueue.

We also ensure an animation correctly suspends itself when ActiveDOMObject::suspend() and ActiveDOMObject::resume() are called.
Implementing these methods showed that we have some placeholders in DeclarativeAnimation that were not necessary, so we remove those.

Finally, we no longer need to track the stopped state since the SuspendableTaskQueue will close itself when ActiveDOMObject::stop()
is called.

* animation/DeclarativeAnimation.cpp:
(WebCore::DeclarativeAnimation::stop): Deleted.
(WebCore::DeclarativeAnimation::suspend): Deleted.
(WebCore::DeclarativeAnimation::resume): Deleted.
* animation/DeclarativeAnimation.h:
* animation/WebAnimation.cpp:
(WebCore::WebAnimation::WebAnimation):
(WebCore::WebAnimation::enqueueAnimationPlaybackEvent):
(WebCore::WebAnimation::suspend):
(WebCore::WebAnimation::resume):
(WebCore::WebAnimation::stop):
(WebCore::WebAnimation::hasPendingActivity):
(WebCore::WebAnimation::shouldPreventEnteringBackForwardCache_DEPRECATED const): Deleted.
* animation/WebAnimation.h:

LayoutTests:

Add a new test that checks that an Animation that would run past a page's navigation is correctly suspended
and resumed as it enters and leaves the back/forward cache.

* webanimations/animation-page-cache-expected.txt: Added.
* webanimations/animation-page-cache.html: Added.

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

7 months agoUpdate autocorrect test to have correctly focused contenteditable
megan_gardner@apple.com [Tue, 29 Oct 2019 23:04:41 +0000 (23:04 +0000)]
Update autocorrect test to have correctly focused contenteditable
https://bugs.webkit.org/show_bug.cgi?id=203552
<rdar://problem/51690426>

Reviewed by Wenson Hsieh.

Autocorrection bails when we are not first responder after
https://bugs.webkit.org/show_bug.cgi?id=192824
Therefore, this test must be written to first focus the
contenteditable, and then apply the autocorrection.

* fast/events/ios/autocorrect-with-range-selection.html:

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

7 months ago[ANGLE] Put Apple platform compilation guards in a better place
dino@apple.com [Tue, 29 Oct 2019 22:33:42 +0000 (22:33 +0000)]
[ANGLE] Put Apple platform compilation guards in a better place
https://bugs.webkit.org/show_bug.cgi?id=203590
<rdar://problem/56722345>

Reviewed by Simon Fraser.

Move the #define to platform.h.

* src/common/platform.h:
* src/libANGLE/renderer/gl/cgl/DeviceCGL.cpp:
* src/libANGLE/renderer/gl/cgl/DisplayCGL.mm:
* src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp:
* src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.cpp:
* src/libANGLE/renderer/gl/cgl/RendererCGL.cpp:
* src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm:

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

7 months agoUpdate css/css-color WPT
simon.fraser@apple.com [Tue, 29 Oct 2019 22:25:20 +0000 (22:25 +0000)]
Update css/css-color WPT
https://bugs.webkit.org/show_bug.cgi?id=203585

Reviewed by Zalan Bujtas.
LayoutTests/imported/w3c:

Updated to e68120da0fb52f010f206f3ecc63cfa09885b0f4 (Wed Oct 23 13:18:06 2019 -0700).

* resources/import-expectations.json:
* resources/resource-files.json:
* web-platform-tests/css/css-color/META.yml: Added.
* web-platform-tests/css/css-color/OWNERS: Removed.
* web-platform-tests/css/css-color/animation/color-interpolation-expected.txt: Added.
* web-platform-tests/css/css-color/animation/color-interpolation.html: Added.
* web-platform-tests/css/css-color/animation/opacity-interpolation-expected.txt: Added.
* web-platform-tests/css/css-color/animation/opacity-interpolation.html: Added.
* web-platform-tests/css/css-color/animation/w3c-import.log: Added.
* web-platform-tests/css/css-color/composited-filters-under-opacity-expected.html: Added.
* web-platform-tests/css/css-color/composited-filters-under-opacity.html: Added.
* web-platform-tests/css/css-color/inheritance-expected.txt: Added.
* web-platform-tests/css/css-color/inheritance.html: Added.
* web-platform-tests/css/css-color/opacity-overlapping-letters-expected.html: Added.
* web-platform-tests/css/css-color/opacity-overlapping-letters.html: Added.
* web-platform-tests/css/css-color/parsing/color-computed-expected.txt: Added.
* web-platform-tests/css/css-color/parsing/color-computed.html: Added.
* web-platform-tests/css/css-color/parsing/color-invalid-expected.txt: Added.
* web-platform-tests/css/css-color/parsing/color-invalid.html: Added.
* web-platform-tests/css/css-color/parsing/color-valid-expected.txt: Added.
* web-platform-tests/css/css-color/parsing/color-valid.html: Added.
* web-platform-tests/css/css-color/parsing/opacity-computed-expected.txt: Added.
* web-platform-tests/css/css-color/parsing/opacity-computed.html: Added.
* web-platform-tests/css/css-color/parsing/opacity-invalid-expected.txt: Added.
* web-platform-tests/css/css-color/parsing/opacity-invalid.html: Added.
* web-platform-tests/css/css-color/parsing/opacity-valid-expected.txt: Added.
* web-platform-tests/css/css-color/parsing/opacity-valid.html: Added.
* web-platform-tests/css/css-color/parsing/w3c-import.log: Added.
* web-platform-tests/css/css-color/t31-color-text-a-expected.xht:
* web-platform-tests/css/css-color/t32-opacity-zorder-c.xht:
* web-platform-tests/css/css-color/w3c-import.log:

LayoutTests:

* tests-options.json:

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

7 months agoImport css/css-box WPT
simon.fraser@apple.com [Tue, 29 Oct 2019 22:25:14 +0000 (22:25 +0000)]
Import css/css-box WPT
https://bugs.webkit.org/show_bug.cgi?id=203584

Reviewed by Tim Horton.

* resources/import-expectations.json:
* web-platform-tests/css/css-box/META.yml: Added.
* web-platform-tests/css/css-box/animation/margin-interpolation-expected.txt: Added.
* web-platform-tests/css/css-box/animation/margin-interpolation.html: Added.
* web-platform-tests/css/css-box/animation/padding-interpolation-expected.txt: Added.
* web-platform-tests/css/css-box/animation/padding-interpolation.html: Added.
* web-platform-tests/css/css-box/animation/w3c-import.log: Added.
* web-platform-tests/css/css-box/box-chrome-crash-001-expected.txt: Added.
* web-platform-tests/css/css-box/box-chrome-crash-001.html: Added.
* web-platform-tests/css/css-box/inheritance-expected.txt: Added.
* web-platform-tests/css/css-box/inheritance.html: Added.
* web-platform-tests/css/css-box/parsing/clear-computed-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/clear-computed.html: Added.
* web-platform-tests/css/css-box/parsing/clear-invalid-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/clear-invalid.html: Added.
* web-platform-tests/css/css-box/parsing/clear-valid-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/clear-valid.html: Added.
* web-platform-tests/css/css-box/parsing/float-computed-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/float-computed.html: Added.
* web-platform-tests/css/css-box/parsing/float-invalid-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/float-invalid.html: Added.
* web-platform-tests/css/css-box/parsing/float-valid-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/float-valid.html: Added.
* web-platform-tests/css/css-box/parsing/height-invalid-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/height-invalid.html: Added.
* web-platform-tests/css/css-box/parsing/height-valid-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/height-valid.html: Added.
* web-platform-tests/css/css-box/parsing/margin-computed-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/margin-computed.html: Added.
* web-platform-tests/css/css-box/parsing/margin-invalid-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/margin-invalid.html: Added.
* web-platform-tests/css/css-box/parsing/margin-shorthand-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/margin-shorthand.html: Added.
* web-platform-tests/css/css-box/parsing/margin-valid-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/margin-valid.html: Added.
* web-platform-tests/css/css-box/parsing/max-height-invalid-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/max-height-invalid.html: Added.
* web-platform-tests/css/css-box/parsing/max-height-valid-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/max-height-valid.html: Added.
* web-platform-tests/css/css-box/parsing/max-width-invalid-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/max-width-invalid.html: Added.
* web-platform-tests/css/css-box/parsing/max-width-valid-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/max-width-valid.html: Added.
* web-platform-tests/css/css-box/parsing/min-height-invalid-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/min-height-invalid.html: Added.
* web-platform-tests/css/css-box/parsing/min-height-valid-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/min-height-valid.html: Added.
* web-platform-tests/css/css-box/parsing/min-width-invalid-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/min-width-invalid.html: Added.
* web-platform-tests/css/css-box/parsing/min-width-valid-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/min-width-valid.html: Added.
* web-platform-tests/css/css-box/parsing/overflow-invalid-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/overflow-invalid.html: Added.
* web-platform-tests/css/css-box/parsing/overflow-valid-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/overflow-valid.html: Added.
* web-platform-tests/css/css-box/parsing/padding-computed-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/padding-computed.html: Added.
* web-platform-tests/css/css-box/parsing/padding-invalid-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/padding-invalid.html: Added.
* web-platform-tests/css/css-box/parsing/padding-shorthand-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/padding-shorthand.html: Added.
* web-platform-tests/css/css-box/parsing/padding-valid-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/padding-valid.html: Added.
* web-platform-tests/css/css-box/parsing/visibility-computed-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/visibility-computed.html: Added.
* web-platform-tests/css/css-box/parsing/visibility-invalid-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/visibility-invalid.html: Added.
* web-platform-tests/css/css-box/parsing/visibility-valid-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/visibility-valid.html: Added.
* web-platform-tests/css/css-box/parsing/w3c-import.log: Added.
* web-platform-tests/css/css-box/parsing/width-invalid-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/width-invalid.html: Added.
* web-platform-tests/css/css-box/parsing/width-valid-expected.txt: Added.
* web-platform-tests/css/css-box/parsing/width-valid.html: Added.
* web-platform-tests/css/css-box/w3c-import.log: Added.

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

7 months agoImplement the Remote Playback API.
jer.noble@apple.com [Tue, 29 Oct 2019 21:54:07 +0000 (21:54 +0000)]
Implement the Remote Playback API.
https://bugs.webkit.org/show_bug.cgi?id=162971

Reviewed by Youenn Fablet.

Source/JavaScriptCore:

Add RemotePlayback as a common identifier, needed for bindings due to "EnabledAtRuntime=RemotePlayback".

* runtime/CommonIdentifiers.h:

Source/WebCore:

Tests: media/remoteplayback-cancel-invalid.html
       media/remoteplayback-prompt.html
       media/remoteplayback-target-availability.html
       media/remoteplayback-watch-disableremoteplayback.html
       imported/w3c/web-platform-tests/remote-playback/cancel-watch-availability.html
       imported/w3c/web-platform-tests/remote-playback/disable-remote-playback-cancel-watch-availability-throws.html
       imported/w3c/web-platform-tests/remote-playback/disable-remote-playback-prompt-throws.html
       imported/w3c/web-platform-tests/remote-playback/disable-remote-playback-watch-availability-throws.html
       imported/w3c/web-platform-tests/remote-playback/idlharness.window.html
       imported/w3c/web-platform-tests/remote-playback/watch-availability-initial-callback.html

The Remote Playback API <https://w3c.github.io/remote-playback> allows page authors
to control the presentation of <audio> and <video> elements to remote playback devices
such as the Apple TV or Chromecast. WebKit already exposes a non-standardized API to
initiate remote playback, and the Remote Playback API is largely congruent with the
webkitShowPlaybackTargetPicker() API et. al.

One addition provided by the Remote Playback API is an event in the case the user
dismisses the picker UI without making a choice, so this concept needs to be plumbed
through from the ChromeClient to the PlatformMediaSession.

* DerivedSources.make:
* Modules/mediasession/WebMediaSessionManager.cpp:
(WebCore::WebMediaSessionManager::mockMediaPlaybackTargetPickerDismissPopup):
(WebCore::WebMediaSessionManager::playbackTargetPickerWasDismissed):
(WebCore::WebMediaSessionManager::configurePlaybackTargetClients):
* Modules/mediasession/WebMediaSessionManager.h:
* Modules/mediasession/WebMediaSessionManagerClient.h:
* Modules/remoteplayback/HTMLMediaElementRemotePlayback.h: Added.
(WebCore::HTMLMediaElementRemotePlayback::remote):
(WebCore::HTMLMediaElementRemotePlayback::hasAttributeWithoutSynchronization):
(WebCore::HTMLMediaElementRemotePlayback::setBooleanAttribute):
* Modules/remoteplayback/HTMLMediaElementRemotePlayback.idl: Added.
* Modules/remoteplayback/RemotePlayback.cpp: Added.
(WebCore::RemotePlayback::create):
(WebCore::RemotePlayback::RemotePlayback):
(WebCore::RemotePlayback::~RemotePlayback):
(WebCore::RemotePlayback::watchAvailability):
(WebCore::RemotePlayback::cancelWatchAvailability):
(WebCore::RemotePlayback::prompt):
(WebCore::RemotePlayback::shouldPlayToRemoteTargetChanged):
(WebCore::RemotePlayback::setState):
(WebCore::RemotePlayback::establishConnection):
(WebCore::RemotePlayback::disconnect):
(WebCore::RemotePlayback::updateAvailability):
(WebCore::RemotePlayback::playbackTargetPickerWasDismissed):
(WebCore::RemotePlayback::isPlayingToRemoteTargetChanged):
(WebCore::RemotePlayback::hasAvailabilityCallbacks):
(WebCore::RemotePlayback::availabilityChanged):
(WebCore::RemotePlayback::invalidate):
(WebCore::RemotePlayback::activeDOMObjectName):
(WebCore::RemotePlayback::canSuspendForDocumentSuspension):
(WebCore::RemotePlayback::stop):
* Modules/remoteplayback/RemotePlayback.h: Added.
(WebCore::RemotePlayback::state):
* Modules/remoteplayback/RemotePlayback.idl: Added.
* Modules/remoteplayback/RemotePlaybackAvailabilityCallback.h: Added.
(WebCore::RemotePlaybackAvailabilityCallback::~RemotePlaybackAvailabilityCallback):
* Modules/remoteplayback/RemotePlaybackAvailabilityCallback.idl: Added.
* WebCore.xcodeproj/project.pbxproj:
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setRemotePlaybackEnabled):
(WebCore::RuntimeEnabledFeatures::remotePlaybackEnabled):
* dom/Document.cpp:
(WebCore::Document::playbackTargetPickerWasDismissed):
* dom/Document.h:
* dom/EventNames.h:
* dom/EventTargetFactory.in:
* html/HTMLAttributeNames.in:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::clearMediaPlayer):
(WebCore::HTMLMediaElement::wirelessRoutesAvailableDidChange):
(WebCore::HTMLMediaElement::mediaPlayerCurrentPlaybackTargetIsWirelessChanged):
(WebCore::HTMLMediaElement::addEventListener):
(WebCore::HTMLMediaElement::removeEventListener):
(WebCore::HTMLMediaElement::setWirelessPlaybackTarget):
(WebCore::HTMLMediaElement::playbackTargetPickerWasDismissed):
(WebCore::HTMLMediaElement::remoteHasAvailabilityCallbacksChanged):
(WebCore::HTMLMediaElement::createMediaPlayer):
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::remote):
* html/MediaElementSession.cpp:
(WebCore::MediaElementSession::wirelessVideoPlaybackDisabled):
(WebCore::MediaElementSession::playbackTargetPickerWasDismissed):
* html/MediaElementSession.h:
* page/Page.cpp:
(WebCore::Page::mockMediaPlaybackTargetPickerDismissPopup):
(WebCore::Page::playbackTargetPickerWasDismissed):
* page/Page.h:
* page/Settings.in:
* platform/audio/PlatformMediaSession.h:
(WebCore::PlatformMediaSessionClient::playbackTargetPickerWasDismissed):
* platform/graphics/MediaPlaybackTargetClient.h:
* platform/graphics/MediaPlaybackTargetPicker.h:
(WebCore::MediaPlaybackTargetPicker::playbackTargetPickerWasDismissed):
* platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
(WebCore::MediaPlaybackTargetPickerMac::showPlaybackTargetPicker):
* platform/mock/MediaPlaybackTargetPickerMock.cpp:
(WebCore::MediaPlaybackTargetPickerMock::dismissPopup):
* platform/mock/MediaPlaybackTargetPickerMock.h:
* testing/Internals.cpp:
(WebCore::Internals::mockMediaPlaybackTargetPickerDismissPopup):
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit:

Add a preference to enable the Remote Playback API. Pass the playbackTargetPickerWasDismissed()
notification on to Page.

* Shared/WebPreferencesDefinitions.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesGetRemotePlaybackEnabled):
(WKPreferencesSetRemotePlaybackEnabled):
* UIProcess/API/C/WKPreferencesRef.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::playbackTargetPickerWasDismissed):
* UIProcess/WebPageProxy.h:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::mockMediaPlaybackTargetPickerDismissPopup):
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::playbackTargetPickerWasDismissed):

Tools:

Enable RemotePlayback for DumpRenderTree and WebKitTestRunner.

* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):

LayoutTests:

* media/remoteplayback-cancel-invalid-expected.txt: Added.
* media/remoteplayback-cancel-invalid.html: Added.
* media/remoteplayback-prompt-expected.txt: Added.
* media/remoteplayback-prompt.html: Added.
* media/remoteplayback-target-availability-expected.txt: Added.
* media/remoteplayback-target-availability.html: Added.
* media/remoteplayback-watch-disableremoteplayback-expected.txt: Added.
* media/remoteplayback-watch-disableremoteplayback.html: Added.
* platform/ios-wk2/TestExpectations:

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

7 months ago[JSC] Add fast path for String#localeCompare
ysuzuki@apple.com [Tue, 29 Oct 2019 21:43:30 +0000 (21:43 +0000)]
[JSC] Add fast path for String#localeCompare
https://bugs.webkit.org/show_bug.cgi?id=202676

Reviewed by Mark Lam.

JSTests:

* stress/locale-compare-bits.js: Added.
(shouldBe):

Source/JavaScriptCore:

When String#localeCompare is invoked, we are setting up UCharIterator to iterate code points.
But this is too slow since its implementation is invoking function pointer for each code point
to get next code point. Strings have many code points typically. Invoking function pointer so many times
takes too much time just for locale-aware comparison.

This patch revises the implementation by adding 2 fast path and 1 slow path. The slow path requires extra memory,
but it is soon released (not GC-managed).

1. If both strings are ASCII (not Latin1), we use ucol_strcollUTF8.
2. If both strings are 16-bit, we use ucol_strcoll.
3. Otherwise, we convert strings to 16-bit strings, and then we use ucol_strcoll.

JetStream2/cdjs is improved from 56 to 85 on iMac Pro (50%).

* runtime/IntlCollator.cpp:
(JSC::IntlCollator::compareStrings):
* tools/JSDollarVM.cpp:
(JSC::functionMake16BitStringIfPossible):
(JSC::JSDollarVM::finishCreation):

Source/WTF:

* wtf/text/StringView.h:
(WTF::StringView::isAllASCII const):

Tools:

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

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

7 months agoREGRESSION: WebContent getting killed due to syscall filter violation
pvollan@apple.com [Tue, 29 Oct 2019 21:41:09 +0000 (21:41 +0000)]
REGRESSION: WebContent getting killed due to syscall filter violation
https://bugs.webkit.org/show_bug.cgi?id=203575

Reviewed by Alexey Proskuryakov.

The sandbox profile on macOS needs to open up for a syscall.

No new tests, covered by existing tests.

* WebProcess/com.apple.WebProcess.sb.in:

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

7 months ago[iOS] Clean up sandbox to group similar rules together
bfulgham@apple.com [Tue, 29 Oct 2019 21:22:22 +0000 (21:22 +0000)]
[iOS] Clean up sandbox to group similar rules together
https://bugs.webkit.org/show_bug.cgi?id=203525
<rdar://problem/56686416>

Reviewed by Per Arne Vollan.

Clean up the sandbox rules by grouping rules by feature areas to make future editing easier.
This change should have no impact on behavior.

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

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

7 months agoimported/w3c/web-platform-tests/css/css-sizing/dynamic-available-size-iframe.html...
tsavell@apple.com [Tue, 29 Oct 2019 21:21:07 +0000 (21:21 +0000)]
imported/w3c/web-platform-tests/css/css-sizing/dynamic-available-size-iframe.html is flakey
https://bugs.webkit.org/show_bug.cgi?id=203517

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

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

7 months agoREGRESSION (r251413): Nightly build crashes on launch due to -[WKPreferences _setShou...
mmaxfield@apple.com [Tue, 29 Oct 2019 20:58:46 +0000 (20:58 +0000)]
REGRESSION (r251413): Nightly build crashes on launch due to -[WKPreferences _setShouldAllowDesignSystemUIFonts:]: unrecognized selector
https://bugs.webkit.org/show_bug.cgi?id=203549

Reviewed by Simon Fraser.

r251413 deleted an SPI that new Safari stopped calling. However,
old Safari continues to call it. The solution is just to add stub
implementations so old Safari doesn't fail to link at runtime.

* UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _shouldAllowDesignSystemUIFonts]):
(-[WKPreferences _setShouldAllowDesignSystemUIFonts:]):
* UIProcess/API/Cocoa/WKPreferencesPrivate.h:

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

7 months agoFlaky Test: imported/w3c/web-platform-tests/css/css-values/absolute_length_units...
simon.fraser@apple.com [Tue, 29 Oct 2019 20:39:15 +0000 (20:39 +0000)]
Flaky Test: imported/w3c/web-platform-tests/css/css-values/absolute_length_units.html
https://bugs.webkit.org/show_bug.cgi?id=203581

Unreviewed Test Gardening. Mark as flakey.

* TestExpectations:

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

7 months agocss/css-sizing/aspect-ratio-affects-container-width-when-height-changes.html is flakey
simon.fraser@apple.com [Tue, 29 Oct 2019 20:36:19 +0000 (20:36 +0000)]
css/css-sizing/aspect-ratio-affects-container-width-when-height-changes.html is flakey
https://bugs.webkit.org/show_bug.cgi?id=203583

Unreviewed Test Gardening. Mark as flakey.

* TestExpectations:

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

7 months agoUpdate css/css-multicol WPT
simon.fraser@apple.com [Tue, 29 Oct 2019 20:04:42 +0000 (20:04 +0000)]
Update css/css-multicol WPT
https://bugs.webkit.org/show_bug.cgi?id=203551

Reviewed by Zalan Bujtas.
LayoutTests/imported/w3c:

Import css-multicol tests from WPT at e68120da0fb52f010f206f3ecc63cfa09885b0f4 (Wed Oct 23 13:18:06 2019 -0700).

* resources/import-expectations.json:
* resources/resource-files.json:
* web-platform-tests/css/css-multicol/META.yml: Added.
* web-platform-tests/css/css-multicol/OWNERS: Removed.
* web-platform-tests/css/css-multicol/abspos-in-multicol-with-spanner-crash-expected.txt: Added.
* web-platform-tests/css/css-multicol/abspos-in-multicol-with-spanner-crash.html: Added.
* web-platform-tests/css/css-multicol/animation/column-count-interpolation-expected.txt: Added.
* web-platform-tests/css/css-multicol/animation/column-count-interpolation.html: Added.
* web-platform-tests/css/css-multicol/animation/column-rule-color-interpolation-expected.txt: Added.
* web-platform-tests/css/css-multicol/animation/column-rule-color-interpolation.html: Added.
* web-platform-tests/css/css-multicol/animation/column-rule-width-interpolation-expected.txt: Added.
* web-platform-tests/css/css-multicol/animation/column-rule-width-interpolation.html: Added.
* web-platform-tests/css/css-multicol/animation/column-width-interpolation-expected.txt: Added.
* web-platform-tests/css/css-multicol/animation/column-width-interpolation.html: Added.
* web-platform-tests/css/css-multicol/animation/w3c-import.log: Added.
* web-platform-tests/css/css-multicol/balance-table-with-fractional-height-row-expected.txt: Added.
* web-platform-tests/css/css-multicol/balance-table-with-fractional-height-row.html: Added.
* web-platform-tests/css/css-multicol/columnfill-auto-max-height-001-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-004-expected.xht.
* web-platform-tests/css/css-multicol/columnfill-auto-max-height-001.html: Added.
* web-platform-tests/css/css-multicol/columnfill-auto-max-height-002-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-004-expected.xht.
* web-platform-tests/css/css-multicol/columnfill-auto-max-height-002.html: Added.
* web-platform-tests/css/css-multicol/composited-under-clip-under-multicol-expected.html: Added.
* web-platform-tests/css/css-multicol/composited-under-clip-under-multicol.html: Added.
* web-platform-tests/css/css-multicol/extremely-tall-multicol-with-extremely-tall-child-crash.html:
* web-platform-tests/css/css-multicol/filter-with-abspos-expected.txt: Added.
* web-platform-tests/css/css-multicol/filter-with-abspos.html: Added.
* web-platform-tests/css/css-multicol/float-with-line-after-spanner-expected.html: Added.
* web-platform-tests/css/css-multicol/float-with-line-after-spanner.html: Added.
* web-platform-tests/css/css-multicol/going-out-of-flow-after-spanner.html:
* web-platform-tests/css/css-multicol/inheritance-expected.txt: Added.
* web-platform-tests/css/css-multicol/inheritance.html: Added.
* web-platform-tests/css/css-multicol/inline-block-and-column-span-all-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-004-expected.xht.
* web-platform-tests/css/css-multicol/inline-block-and-column-span-all.html: Added.
* web-platform-tests/css/css-multicol/intrinsic-size-001-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-004-expected.xht.
* web-platform-tests/css/css-multicol/intrinsic-size-001.html: Added.
* web-platform-tests/css/css-multicol/large-actual-column-count-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-004-expected.xht.
* web-platform-tests/css/css-multicol/large-actual-column-count.html: Added.
* web-platform-tests/css/css-multicol/multicol-basic-001-expected.html:
* web-platform-tests/css/css-multicol/multicol-basic-001.html:
* web-platform-tests/css/css-multicol/multicol-basic-002-expected.html:
* web-platform-tests/css/css-multicol/multicol-basic-002.html:
* web-platform-tests/css/css-multicol/multicol-basic-003-expected.html:
* web-platform-tests/css/css-multicol/multicol-basic-003.html:
* web-platform-tests/css/css-multicol/multicol-basic-004-expected.html:
* web-platform-tests/css/css-multicol/multicol-basic-004.html:
* web-platform-tests/css/css-multicol/multicol-block-no-clip-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-block-no-clip-001.xht:
* web-platform-tests/css/css-multicol/multicol-block-no-clip-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-block-no-clip-002.xht:
* web-platform-tests/css/css-multicol/multicol-break-000-expected.xht:
* web-platform-tests/css/css-multicol/multicol-break-000.xht:
* web-platform-tests/css/css-multicol/multicol-break-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-break-001.xht:
* web-platform-tests/css/css-multicol/multicol-breaking-000-expected.html:
* web-platform-tests/css/css-multicol/multicol-breaking-000.html:
* web-platform-tests/css/css-multicol/multicol-breaking-001-expected.html:
* web-platform-tests/css/css-multicol/multicol-breaking-001.html:
* web-platform-tests/css/css-multicol/multicol-breaking-004-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-001-expected.html.
* web-platform-tests/css/css-multicol/multicol-breaking-004.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-001.html.
* web-platform-tests/css/css-multicol/multicol-breaking-005-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-001-expected.html.
* web-platform-tests/css/css-multicol/multicol-breaking-005.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-001.html.
* web-platform-tests/css/css-multicol/multicol-breaking-nobackground-000-expected.html:
* web-platform-tests/css/css-multicol/multicol-breaking-nobackground-000.html:
* web-platform-tests/css/css-multicol/multicol-breaking-nobackground-001-expected.html:
* web-platform-tests/css/css-multicol/multicol-breaking-nobackground-001.html:
* web-platform-tests/css/css-multicol/multicol-breaking-nobackground-004-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-nobackground-001-expected.html.
* web-platform-tests/css/css-multicol/multicol-breaking-nobackground-004.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-nobackground-001.html.
* web-platform-tests/css/css-multicol/multicol-breaking-nobackground-005-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-001-expected.html.
* web-platform-tests/css/css-multicol/multicol-breaking-nobackground-005.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-nobackground-001.html.
* web-platform-tests/css/css-multicol/multicol-clip-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-clip-001.xht:
* web-platform-tests/css/css-multicol/multicol-clip-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-clip-002.xht:
* web-platform-tests/css/css-multicol/multicol-collapsing-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-collapsing-001.xht:
* web-platform-tests/css/css-multicol/multicol-columns-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-columns-001.xht:
* web-platform-tests/css/css-multicol/multicol-columns-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-columns-002.xht:
* web-platform-tests/css/css-multicol/multicol-columns-003-expected.xht:
* web-platform-tests/css/css-multicol/multicol-columns-003.xht:
* web-platform-tests/css/css-multicol/multicol-columns-004-expected.xht:
* web-platform-tests/css/css-multicol/multicol-columns-004.xht:
* web-platform-tests/css/css-multicol/multicol-columns-005-expected.xht:
* web-platform-tests/css/css-multicol/multicol-columns-005.xht:
* web-platform-tests/css/css-multicol/multicol-columns-006-expected.xht:
* web-platform-tests/css/css-multicol/multicol-columns-006.xht:
* web-platform-tests/css/css-multicol/multicol-columns-007-expected.xht:
* web-platform-tests/css/css-multicol/multicol-columns-007.xht:
* web-platform-tests/css/css-multicol/multicol-columns-invalid-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-columns-invalid-001.xht:
* web-platform-tests/css/css-multicol/multicol-columns-invalid-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-columns-invalid-002.xht:
* web-platform-tests/css/css-multicol/multicol-columns-toolong-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-columns-toolong-001.xht:
* web-platform-tests/css/css-multicol/multicol-containing-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-containing-001.xht:
* web-platform-tests/css/css-multicol/multicol-containing-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-containing-002.xht:
* web-platform-tests/css/css-multicol/multicol-count-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-count-001.xht:
* web-platform-tests/css/css-multicol/multicol-count-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-count-002.xht:
* web-platform-tests/css/css-multicol/multicol-count-computed-003-expected.xht:
* web-platform-tests/css/css-multicol/multicol-count-computed-003.xht:
* web-platform-tests/css/css-multicol/multicol-count-computed-004-expected.xht:
* web-platform-tests/css/css-multicol/multicol-count-computed-004.xht:
* web-platform-tests/css/css-multicol/multicol-count-computed-005-expected.xht:
* web-platform-tests/css/css-multicol/multicol-count-computed-005.xht:
* web-platform-tests/css/css-multicol/multicol-count-negative-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-count-negative-001.xht:
* web-platform-tests/css/css-multicol/multicol-count-negative-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-count-negative-002.xht:
* web-platform-tests/css/css-multicol/multicol-count-non-integer-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-count-non-integer-001.xht:
* web-platform-tests/css/css-multicol/multicol-count-non-integer-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-count-non-integer-002.xht:
* web-platform-tests/css/css-multicol/multicol-count-non-integer-003-expected.xht:
* web-platform-tests/css/css-multicol/multicol-count-non-integer-003.xht:
* web-platform-tests/css/css-multicol/multicol-dynamic-add-001-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-dynamic-add-001.html: Added.
* web-platform-tests/css/css-multicol/multicol-fill-000-expected.xht:
* web-platform-tests/css/css-multicol/multicol-fill-000.xht:
* web-platform-tests/css/css-multicol/multicol-fill-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-fill-001.xht:
* web-platform-tests/css/css-multicol/multicol-fill-auto-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-fill-auto-001.xht:
* web-platform-tests/css/css-multicol/multicol-fill-auto-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-fill-auto-002.xht:
* web-platform-tests/css/css-multicol/multicol-fill-auto-003-expected.xht:
* web-platform-tests/css/css-multicol/multicol-fill-auto-003.xht:
* web-platform-tests/css/css-multicol/multicol-fill-auto-block-children-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-fill-auto-block-children-001.xht:
* web-platform-tests/css/css-multicol/multicol-fill-auto-block-children-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-fill-auto-block-children-002.xht:
* web-platform-tests/css/css-multicol/multicol-fill-auto-block-children-003-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-fill-auto-block-children-003.html: Added.
* web-platform-tests/css/css-multicol/multicol-fill-balance-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-fill-balance-001.xht:
* web-platform-tests/css/css-multicol/multicol-gap-000-expected.xht:
* web-platform-tests/css/css-multicol/multicol-gap-000.xht:
* web-platform-tests/css/css-multicol/multicol-gap-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-gap-001.xht:
* web-platform-tests/css/css-multicol/multicol-gap-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-gap-002.xht:
* web-platform-tests/css/css-multicol/multicol-gap-003-expected.xht:
* web-platform-tests/css/css-multicol/multicol-gap-003.xht:
* web-platform-tests/css/css-multicol/multicol-gap-fraction-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-gap-fraction-001.xht:
* web-platform-tests/css/css-multicol/multicol-gap-large-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-gap-large-001.xht:
* web-platform-tests/css/css-multicol/multicol-gap-large-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-gap-large-002.xht:
* web-platform-tests/css/css-multicol/multicol-gap-negative-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-gap-negative-001.xht:
* web-platform-tests/css/css-multicol/multicol-gap-percentage-001.html:
* web-platform-tests/css/css-multicol/multicol-height-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-height-001.xht:
* web-platform-tests/css/css-multicol/multicol-height-block-child-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-height-block-child-001.xht:
* web-platform-tests/css/css-multicol/multicol-inherit-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-inherit-001.xht:
* web-platform-tests/css/css-multicol/multicol-inherit-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-inherit-002.xht:
* web-platform-tests/css/css-multicol/multicol-inherit-003-expected.xht:
* web-platform-tests/css/css-multicol/multicol-inherit-003.xht:
* web-platform-tests/css/css-multicol/multicol-list-item-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-list-item-001.xht:
* web-platform-tests/css/css-multicol/multicol-margin-001.xht:
* web-platform-tests/css/css-multicol/multicol-margin-002.xht:
* web-platform-tests/css/css-multicol/multicol-margin-003-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-margin-003.html: Added.
* web-platform-tests/css/css-multicol/multicol-margin-child-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-margin-child-001.xht:
* web-platform-tests/css/css-multicol/multicol-nested-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-nested-002.xht:
* web-platform-tests/css/css-multicol/multicol-nested-005-expected.xht:
* web-platform-tests/css/css-multicol/multicol-nested-005.xht:
* web-platform-tests/css/css-multicol/multicol-nested-006-expected.txt: Added.
* web-platform-tests/css/css-multicol/multicol-nested-006.html: Added.
* web-platform-tests/css/css-multicol/multicol-nested-column-rule-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-nested-column-rule-001.xht:
* web-platform-tests/css/css-multicol/multicol-nested-margin-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-nested-margin-001.xht:
* web-platform-tests/css/css-multicol/multicol-nested-margin-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-nested-margin-002.xht:
* web-platform-tests/css/css-multicol/multicol-nested-margin-003-expected.xht:
* web-platform-tests/css/css-multicol/multicol-nested-margin-003.xht:
* web-platform-tests/css/css-multicol/multicol-nested-margin-004-expected.xht:
* web-platform-tests/css/css-multicol/multicol-nested-margin-004.xht:
* web-platform-tests/css/css-multicol/multicol-nested-margin-005-expected.xht:
* web-platform-tests/css/css-multicol/multicol-nested-margin-005.xht:
* web-platform-tests/css/css-multicol/multicol-overflow-000-expected.xht:
* web-platform-tests/css/css-multicol/multicol-overflow-000.xht:
* web-platform-tests/css/css-multicol/multicol-overflow-clip-positioned-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-overflow-clip-positioned.html: Added.
* web-platform-tests/css/css-multicol/multicol-overflowing-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-overflowing-001.xht:
* web-platform-tests/css/css-multicol/multicol-reduce-000-expected.xht:
* web-platform-tests/css/css-multicol/multicol-reduce-000.xht:
* web-platform-tests/css/css-multicol/multicol-rule-000-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-000.xht:
* web-platform-tests/css/css-multicol/multicol-rule-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-001.xht:
* web-platform-tests/css/css-multicol/multicol-rule-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-002.xht:
* web-platform-tests/css/css-multicol/multicol-rule-003-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-003.xht:
* web-platform-tests/css/css-multicol/multicol-rule-004-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-004.xht:
* web-platform-tests/css/css-multicol/multicol-rule-color-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-color-001.xht:
* web-platform-tests/css/css-multicol/multicol-rule-color-inherit-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-color-inherit-001.xht:
* web-platform-tests/css/css-multicol/multicol-rule-color-inherit-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-color-inherit-002.xht:
* web-platform-tests/css/css-multicol/multicol-rule-dashed-000-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-dashed-000.xht:
* web-platform-tests/css/css-multicol/multicol-rule-dotted-000-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-dotted-000.xht:
* web-platform-tests/css/css-multicol/multicol-rule-double-000-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-double-000.xht:
* web-platform-tests/css/css-multicol/multicol-rule-fraction-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-fraction-001.xht:
* web-platform-tests/css/css-multicol/multicol-rule-fraction-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-fraction-002.xht:
* web-platform-tests/css/css-multicol/multicol-rule-fraction-003-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-fraction-003.xht:
* web-platform-tests/css/css-multicol/multicol-rule-groove-000-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-groove-000.xht:
* web-platform-tests/css/css-multicol/multicol-rule-hidden-000-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-hidden-000.xht:
* web-platform-tests/css/css-multicol/multicol-rule-inset-000-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-inset-000.xht:
* web-platform-tests/css/css-multicol/multicol-rule-large-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-large-001.xht:
* web-platform-tests/css/css-multicol/multicol-rule-large-002.xht:
* web-platform-tests/css/css-multicol/multicol-rule-nested-balancing-001-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-rule-nested-balancing-001.html: Added.
* web-platform-tests/css/css-multicol/multicol-rule-nested-balancing-002-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-rule-nested-balancing-002.html: Added.
* web-platform-tests/css/css-multicol/multicol-rule-nested-balancing-003-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-rule-nested-balancing-003.html: Added.
* web-platform-tests/css/css-multicol/multicol-rule-nested-balancing-004-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-rule-nested-balancing-004.html: Added.
* web-platform-tests/css/css-multicol/multicol-rule-none-000-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-none-000.xht:
* web-platform-tests/css/css-multicol/multicol-rule-outset-000-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-outset-000.xht:
* web-platform-tests/css/css-multicol/multicol-rule-percent-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-percent-001.xht:
* web-platform-tests/css/css-multicol/multicol-rule-px-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-px-001.xht:
* web-platform-tests/css/css-multicol/multicol-rule-ridge-000-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-ridge-000.xht:
* web-platform-tests/css/css-multicol/multicol-rule-samelength-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-samelength-001.xht:
* web-platform-tests/css/css-multicol/multicol-rule-shorthand-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-shorthand-001.xht:
* web-platform-tests/css/css-multicol/multicol-rule-shorthand-2-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-shorthand-2.xht:
* web-platform-tests/css/css-multicol/multicol-rule-solid-000-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-solid-000.xht:
* web-platform-tests/css/css-multicol/multicol-rule-stacking-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-rule-stacking-001.xht:
* web-platform-tests/css/css-multicol/multicol-shorthand-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-shorthand-001.xht:
* web-platform-tests/css/css-multicol/multicol-span-000-expected.xht:
* web-platform-tests/css/css-multicol/multicol-span-000.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-001.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-002.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-003-expected.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-003.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-004-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-004.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-005-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-005.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-006-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-006.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-007-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-007.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-008-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-008.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-009-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-009.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-010-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-010.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-011-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-011.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-block-sibling-003-expected.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-block-sibling-003.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-button-001-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-button-001.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-button-002-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-button-002.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-button-003-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-button-003.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-children-height-001-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-children-height-001.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-children-height-002-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-children-height-002.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-children-height-003-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-children-height-003.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-children-height-004a-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-children-height-004a.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-children-height-004b-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-children-height-004b.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-children-height-005-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-children-height-005.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-children-height-006-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-children-height-006.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-children-height-007-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-children-height-007.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-children-height-008-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-children-height-008.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-001-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-001.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-002-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-002.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-003-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-003.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-004-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-004.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-005-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-005.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-006-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-006.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-007-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-007.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-008-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-008.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-009-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-009.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-010-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-010.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-011-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-011.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-012-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-012.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-013-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-013.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-remove-001-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-remove-001.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-remove-002-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-remove-002.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-remove-003-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-remove-003.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-remove-004-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-remove-004.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-remove-005-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-remove-005.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-remove-006-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-remove-006.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-remove-007-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-dynamic-remove-007.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-fieldset-001-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-fieldset-001.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-fieldset-002-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-fieldset-002.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-fieldset-003-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-fieldset-003.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-list-item-001-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-list-item-001.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-list-item-002-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-list-item-002.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-margin-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-margin-001.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-margin-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-margin-002.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-margin-bottom-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-margin-bottom-001.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-margin-nested-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-margin-nested-001.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-margin-nested-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-margin-nested-002.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-margin-nested-firstchild-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-margin-nested-firstchild-001.xht:
* web-platform-tests/css/css-multicol/multicol-span-all-restyle-001-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-restyle-001.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-restyle-002-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-restyle-002.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-restyle-003-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-restyle-003.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-restyle-004-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-restyle-004.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-rule-001-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-all-rule-001.html: Added.
* web-platform-tests/css/css-multicol/multicol-span-float-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-span-float-001.xht:
* web-platform-tests/css/css-multicol/multicol-span-none-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-span-none-001.xht:
* web-platform-tests/css/css-multicol/multicol-table-cell-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-table-cell-001.xht:
* web-platform-tests/css/css-multicol/multicol-table-cell-height-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-table-cell-height-001.xht:
* web-platform-tests/css/css-multicol/multicol-table-cell-height-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-table-cell-height-002.xht:
* web-platform-tests/css/css-multicol/multicol-table-cell-vertical-align-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-table-cell-vertical-align-001.xht:
* web-platform-tests/css/css-multicol/multicol-under-vertical-rl-scroll-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-under-vertical-rl-scroll.html: Added.
* web-platform-tests/css/css-multicol/multicol-width-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-width-001.xht:
* web-platform-tests/css/css-multicol/multicol-width-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-width-002.xht:
* web-platform-tests/css/css-multicol/multicol-width-003-expected.xht:
* web-platform-tests/css/css-multicol/multicol-width-003.xht:
* web-platform-tests/css/css-multicol/multicol-width-004-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-width-004.html: Added.
* web-platform-tests/css/css-multicol/multicol-width-005-expected.html: Added.
* web-platform-tests/css/css-multicol/multicol-width-005.html: Added.
* web-platform-tests/css/css-multicol/multicol-width-ch-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-width-ch-001.xht:
* web-platform-tests/css/css-multicol/multicol-width-count-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-width-count-001.xht:
* web-platform-tests/css/css-multicol/multicol-width-count-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-width-count-002.xht:
* web-platform-tests/css/css-multicol/multicol-width-invalid-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-width-invalid-001.xht:
* web-platform-tests/css/css-multicol/multicol-width-large-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-width-large-001.xht:
* web-platform-tests/css/css-multicol/multicol-width-large-002-expected.xht:
* web-platform-tests/css/css-multicol/multicol-width-large-002.xht:
* web-platform-tests/css/css-multicol/multicol-width-negative-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-width-negative-001.xht:
* web-platform-tests/css/css-multicol/multicol-width-small-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-width-small-001.xht:
* web-platform-tests/css/css-multicol/multicol-zero-height-001-expected.xht:
* web-platform-tests/css/css-multicol/multicol-zero-height-001.xht:
* web-platform-tests/css/css-multicol/nested-with-padding-and-spanner-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-004-expected.xht.
* web-platform-tests/css/css-multicol/nested-with-padding-and-spanner.html: Added.
* web-platform-tests/css/css-multicol/parsing/column-count-computed-expected.txt: Added.
* web-platform-tests/css/css-multicol/parsing/column-count-computed.html: Added.
* web-platform-tests/css/css-multicol/parsing/column-count-invalid-expected.txt: Added.
* web-platform-tests/css/css-multicol/parsing/column-count-invalid.html: Added.
* web-platform-tests/css/css-multicol/parsing/column-count-valid-expected.txt: Added.
* web-platform-tests/css/css-multicol/parsing/column-count-valid.html: Added.
* web-platform-tests/css/css-multicol/parsing/column-fill-computed-expected.txt: Added.
* web-platform-tests/css/css-multicol/parsing/column-fill-computed.html: Added.
* web-platform-tests/css/css-multicol/parsing/column-fill-invalid-expected.txt: Added.
* web-platform-tests/css/css-multicol/parsing/column-fill-invalid.html: Added.
* web-platform-tests/css/css-multicol/parsing/column-fill-valid-expected.txt: Added.
* web-platform-tests/css/css-multicol/parsing/column-fill-valid.html: Added.
* web-platform-tests/css/css-multicol/parsing/column-rule-color-computed-expected.txt: Added.
* web-platform-tests/css/css-multicol/parsing/column-rule-color-computed.html: Added.
* web-platform-tests/css/css-multicol/parsing/column-rule-color-invalid-expected.txt: Added.
* web-platform-tests/css/css-multicol/parsing/column-rule-color-invalid.html: Added.
* web-platform-tests/css/css-multicol/parsing/column-rule-color-valid-expected.txt: Added.
* web-platform-tests/css/css-multicol/parsing/column-rule-color-valid.html: Added.
* web-platform-tests/css/css-multicol/parsing/column-rule-computed-expected.txt: Added.
* web-platform-tests/css/css-multicol/parsing/column-rule-computed.html: Added.
* web-platform-tests/css/css-multicol/parsing/column-rule-invalid-expected.txt: Added.
* web-platform-tests/css/css-multicol/parsing/column-rule-invalid.html: Added.
* web-platform-tests/css/css-multicol/parsing/column-rule-shorthand-expected.txt: Added.
* web-platform-tests/css/css-multicol/parsing/column-rule-shorthand.html: Added.
* web-platform-tests/css/css-multicol/parsing/column-rule-style-computed-expected.txt: Added.
* web-platform-tests/css/css-multicol/parsing/column-rule-style-computed.html: Added.
* web-platform-tests/css/css-multicol/parsing/column-rule-style-invalid-expected.txt: Added.
* web-platform-tests/css/css-multicol/parsing/column-rule-style-invalid.html: Added.
* web-platform-tests/css/css-multicol/parsing/column-rule-style-valid-expected.txt: Added.
* web-platform-tests/css/css-multicol/parsing/column-rule-style-valid.html: Added.
* web-platform-tests/css/css-multicol/parsing/column-rule-valid-expected.txt: Added.
* web-platform-tests/css/css-multicol/parsing/column-rule-valid.html: Added.
* web-platform-tests/css/css-multicol/parsing/column-rule-width-computed-expected.txt: Added.
* web-platform-tests/css/css-multicol/parsing/column-rule-width-computed.html: Added.
* web-platform-tests/css/css-multicol/parsing/column-rule-width-invalid-expected.txt: Added.
* web-platform-tests/css/css-multicol/parsing/column-rule-width-invalid.html: Added.
* web-platform-tests/css/css-multicol/parsing/column-rule-width-valid-expected.txt: Added.
* web-platform-tests/css/css-multicol/parsing/column-rule-width-valid.html: Added.
* web-platform-tests/css/css-multicol/parsing/column-span-computed-expected.txt: Added.
* web-platform-tests/css/css-multicol/parsing/column-span-computed.html: Added.
* web-platform-tests/css/css-multicol/parsing/column-span-invalid-expected.txt: Added.
* web-platform-tests/css/css-multicol/parsing/column-span-invalid.html: Added.
* web-platform-tests/css/css-multicol/parsing/column-span-valid-expected.txt: Added.
* web-platform-tests/css/css-multicol/parsing/column-span-valid.html: Added.
* web-platform-tests/css/css-multicol/parsing/column-width-computed-expected.txt: Added.
* web-platform-tests/css/css-multicol/parsing/column-width-computed.html: Added.
* web-platform-tests/css/css-multicol/parsing/column-width-invalid-expected.txt: Added.
* web-platform-tests/css/css-multicol/parsing/column-width-invalid.html: Added.
* web-platform-tests/css/css-multicol/parsing/column-width-valid-expected.txt: Added.
* web-platform-tests/css/css-multicol/parsing/column-width-valid.html: Added.
* web-platform-tests/css/css-multicol/parsing/columns-invalid-expected.txt: Added.
* web-platform-tests/css/css-multicol/parsing/columns-invalid.html: Added.
* web-platform-tests/css/css-multicol/parsing/columns-valid-expected.txt: Added.
* web-platform-tests/css/css-multicol/parsing/columns-valid.html: Added.
* web-platform-tests/css/css-multicol/parsing/w3c-import.log: Added.
* web-platform-tests/css/css-multicol/support/w3c-import.log:
* web-platform-tests/css/css-multicol/w3c-import.log:
* web-platform-tests/css/css-multicol/with-custom-layout-on-same-element-crash.https-expected.txt: Added.
* web-platform-tests/css/css-multicol/with-custom-layout-on-same-element-crash.https.html: Added.
* web-platform-tests/css/css-multicol/with-custom-layout-on-same-element.https-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-004-expected.xht.
* web-platform-tests/css/css-multicol/with-custom-layout-on-same-element.https.html: Added.

LayoutTests:

* TestExpectations:

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

7 months ago[ANGLE] Window Server blocking stops single GPU systems from creating a CGLPixelFormat
dino@apple.com [Tue, 29 Oct 2019 20:01:12 +0000 (20:01 +0000)]
[ANGLE] Window Server blocking stops single GPU systems from creating a CGLPixelFormat
https://bugs.webkit.org/show_bug.cgi?id=203522
<rdar://problem/56685302>

Reviewed by Alex Christensen.

The Web Content Process blocks access to the Window Server. For that reason, we
must create all CGLPixelFormats with the "offline renderer" flag, even if we're
not on a dual-GPU system.

* src/libANGLE/renderer/gl/cgl/DisplayCGL.mm: Always enable kCGLPFAAllowOfflineRenderers.
(rx::DisplayCGL::initialize):

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

7 months agoAdd enterkeyhint support
wenson_hsieh@apple.com [Tue, 29 Oct 2019 19:39:47 +0000 (19:39 +0000)]
Add enterkeyhint support
https://bugs.webkit.org/show_bug.cgi?id=189546
<rdar://problem/51021148>

Reviewed by Tim Horton.

Source/WebCore:

* Headers.cmake: Add EnterKeyHint.h.

Source/WebKit:

This patch adds support for the enterkeyhint HTML attribute on iOS.

Tests:  EnterKeyHintTests.EnterKeyHintInContentEditableElement
        EnterKeyHintTests.EnterKeyHintInTextInput
        EnterKeyHintTests.EnterKeyHintInTextArea

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

Add a new flag to FocusedElementInformation to indicate the EnterKeyHint type that should be used when bringing
up an input view for the focused element.

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

Map the given EnterKeyHint type to a UIReturnKeyType. If an unsupported (i.e. "previous") or default
EnterKeyHint value is used, then we fall back to existing behavior which deduces the default enterkeyhint value
from the input type if the focused element is inside an actionable form; otherwise, we avoid setting any value
for the `returnKeyType`, defaulting to `UIReturnKeyDefault`.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getFocusedElementInformation):

Tools:

Add new API tests to check the resulting UIReturnKeyType that gets set on text input traits in the UI process,
given the different values for "enterkeyhint". Also verifies that the default behaviors of search fields and
text input fields inside actionable form elements is to show "Search" or "Go" as the return key by default,
unless a different value for "enterkeyhint" is specified.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/ios/EnterKeyHintTests.mm: Added.
(-[TestWKWebView test:enterKeyHint:returnKeyType:]):
(TestWebKitAPI::enterKeyHintTestCases):
(TestWebKitAPI::createWebViewAndInputDelegateForTesting):
(TestWebKitAPI::TEST):

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

7 months agoLayout Test http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated...
katherine_cheney@apple.com [Tue, 29 Oct 2019 19:29:33 +0000 (19:29 +0000)]
Layout Test http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration-database.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=203542#add_comment
<rdar://problem/56689764>

Reviewed by John Wilander.

This test was a flaky failure due to its calling
scheduleStatisticsProcessingRequestIfNecessary() after logging a cross
site load with link decoration. This call is currently unecessary
because this function is not yet used to classify resources, and is
causing the test to execute a callback before it is ready.

* NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:

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

7 months ago<input type="range">.setAttribute("value") does not update the value
cdumez@apple.com [Tue, 29 Oct 2019 19:03:14 +0000 (19:03 +0000)]
<input type="range">.setAttribute("value") does not update the value
https://bugs.webkit.org/show_bug.cgi?id=202859
<rdar://problem/56204271>

Reviewed by Frédéric Wang.

Source/WebCore:

Make sure the position of the range input element's slider gets updated whenever
the element's 'value' attribute changes.

No new tests, unskipped existing test.

* html/RangeInputType.cpp:
(WebCore::RangeInputType::attributeChanged):

LayoutTests:

Unskip ref test that is no longer failing.

* TestExpectations:

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

7 months ago(r251242) [ iOS ]: fast/scrolling/ios/touch-scroll-visibility-hidden.html is a Flaky...
repstein@apple.com [Tue, 29 Oct 2019 18:46:39 +0000 (18:46 +0000)]
(r251242) [ iOS ]: fast/scrolling/ios/touch-scroll-visibility-hidden.html is a Flaky Timeout.
https://bugs.webkit.org/show_bug.cgi?id=203577

Unreviewed Test Gardening.

Patch by Russell Epstein <repstein@apple.com> on 2019-10-29

* platform/ios-wk2/TestExpectations:

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

7 months ago[iOS] fast/forms/contenteditable-font-optical-size.html landed flaky.
repstein@apple.com [Tue, 29 Oct 2019 18:42:15 +0000 (18:42 +0000)]
[iOS] fast/forms/contenteditable-font-optical-size.html landed flaky.
https://bugs.webkit.org/show_bug.cgi?id=203371

Unreviewed Test Gardening.

Patch by Russell Epstein <repstein@apple.com> on 2019-10-29

* platform/ios-wk2/TestExpectations:

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

7 months agoLayout Test http/tests/resourceLoadStatistics/prevalent-resource-unhandled-keydown...
katherine_cheney@apple.com [Tue, 29 Oct 2019 18:34:05 +0000 (18:34 +0000)]
Layout Test http/tests/resourceLoadStatistics/prevalent-resource-unhandled-keydown.html is flaky (183093)
<https://bugs.webkit.org/show_bug.cgi?id=183093>
<rdar://problem/37964600>

Reviewed by John Wilander.

Flakiness no longer reproducible.

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

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

7 months agoImport css/css-sizing WPT
simon.fraser@apple.com [Tue, 29 Oct 2019 18:21:11 +0000 (18:21 +0000)]
Import css/css-sizing WPT
https://bugs.webkit.org/show_bug.cgi?id=203517

Reviewed by Tim Horton.

LayoutTests/imported/w3c:

* resources/import-expectations.json:
* resources/resource-files.json:
* web-platform-tests/css/css-sizing/META.yml: Added.
* web-platform-tests/css/css-sizing/animation/height-interpolation-expected.txt: Added.
* web-platform-tests/css/css-sizing/animation/height-interpolation.html: Added.
* web-platform-tests/css/css-sizing/animation/max-height-interpolation-expected.txt: Added.
* web-platform-tests/css/css-sizing/animation/max-height-interpolation.html: Added.
* web-platform-tests/css/css-sizing/animation/max-width-interpolation-expected.txt: Added.
* web-platform-tests/css/css-sizing/animation/max-width-interpolation.html: Added.
* web-platform-tests/css/css-sizing/animation/min-height-interpolation-expected.txt: Added.
* web-platform-tests/css/css-sizing/animation/min-height-interpolation.html: Added.
* web-platform-tests/css/css-sizing/animation/min-width-interpolation-expected.txt: Added.
* web-platform-tests/css/css-sizing/animation/min-width-interpolation.html: Added.
* web-platform-tests/css/css-sizing/animation/w3c-import.log: Added.
* web-platform-tests/css/css-sizing/animation/width-interpolation-expected.txt: Added.
* web-platform-tests/css/css-sizing/animation/width-interpolation.html: Added.
* web-platform-tests/css/css-sizing/aspect-ratio-affects-container-width-when-height-changes-expected.txt: Added.
* web-platform-tests/css/css-sizing/aspect-ratio-affects-container-width-when-height-changes.html: Added.
* web-platform-tests/css/css-sizing/auto-scrollbar-inside-stf-abspos-expected.html: Added.
* web-platform-tests/css/css-sizing/auto-scrollbar-inside-stf-abspos.html: Added.
* web-platform-tests/css/css-sizing/block-fit-content-as-initial-expected.html: Added.
* web-platform-tests/css/css-sizing/block-fit-content-as-initial.html: Added.
* web-platform-tests/css/css-sizing/block-image-percentage-max-height-inside-inline-expected.xht: Added.
* web-platform-tests/css/css-sizing/block-image-percentage-max-height-inside-inline.html: Added.
* web-platform-tests/css/css-sizing/button-min-width-expected.txt: Added.
* web-platform-tests/css/css-sizing/button-min-width.html: Added.
* web-platform-tests/css/css-sizing/clone-intrinsic-size-expected.html: Added.
* web-platform-tests/css/css-sizing/clone-intrinsic-size.html: Added.
* web-platform-tests/css/css-sizing/clone-nowrap-intrinsic-size-bidi-expected.html: Added.
* web-platform-tests/css/css-sizing/clone-nowrap-intrinsic-size-bidi.html: Added.
* web-platform-tests/css/css-sizing/clone-nowrap-intrinsic-size-expected.html: Added.
* web-platform-tests/css/css-sizing/clone-nowrap-intrinsic-size.html: Added.
* web-platform-tests/css/css-sizing/dynamic-available-size-iframe-expected.html: Added.
* web-platform-tests/css/css-sizing/dynamic-available-size-iframe.html: Added.
* web-platform-tests/css/css-sizing/fit-content-percentage-padding-expected.txt: Added.
* web-platform-tests/css/css-sizing/fit-content-percentage-padding.html: Added.
* web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-001-expected.html: Added.
* web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-001.html: Added.
* web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-002-expected.html: Added.
* web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-002.html: Added.
* web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-003-expected.html: Added.
* web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-003.html: Added.
* web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-004-expected.html: Added.
* web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-004.html: Added.
* web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-005-expected.html: Added.
* web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-005.html: Added.
* web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-006-expected.html: Added.
* web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-006.html: Added.
* web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-007-expected.html: Added.
* web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-007.html: Added.
* web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-008-expected.html: Added.
* web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-008.html: Added.
* web-platform-tests/css/css-sizing/image-percentage-max-height-in-anonymous-block-expected.xht: Added.
* web-platform-tests/css/css-sizing/image-percentage-max-height-in-anonymous-block.html: Added.
* web-platform-tests/css/css-sizing/inheritance-001-expected.txt: Added.
* web-platform-tests/css/css-sizing/inheritance-001.html: Added.
* web-platform-tests/css/css-sizing/inheritance-002-expected.txt: Added.
* web-platform-tests/css/css-sizing/inheritance-002.html: Added.
* web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-001-expected.html: Added.
* web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-001.html: Added.
* web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-002-expected.html: Added.
* web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-002.html: Added.
* web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-003-expected.html: Added.
* web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-003.html: Added.
* web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-004-expected.html: Added.
* web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-004.html: Added.
* web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-005-expected.html: Added.
* web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-005.html: Added.
* web-platform-tests/css/css-sizing/intrinsic-percent-replaced-001-expected.html: Added.
* web-platform-tests/css/css-sizing/intrinsic-percent-replaced-001.html: Added.
* web-platform-tests/css/css-sizing/intrinsic-percent-replaced-002-expected.html: Added.
* web-platform-tests/css/css-sizing/intrinsic-percent-replaced-002.html: Added.
* web-platform-tests/css/css-sizing/intrinsic-percent-replaced-003-expected.html: Added.
* web-platform-tests/css/css-sizing/intrinsic-percent-replaced-003.html: Added.
* web-platform-tests/css/css-sizing/intrinsic-percent-replaced-004-expected.html: Added.
* web-platform-tests/css/css-sizing/intrinsic-percent-replaced-004.html: Added.
* web-platform-tests/css/css-sizing/intrinsic-percent-replaced-005-expected.html: Added.
* web-platform-tests/css/css-sizing/intrinsic-percent-replaced-005.html: Added.
* web-platform-tests/css/css-sizing/intrinsic-percent-replaced-006-expected.html: Added.
* web-platform-tests/css/css-sizing/intrinsic-percent-replaced-006.html: Added.
* web-platform-tests/css/css-sizing/min-max-content-orthogonal-flow-crash-001-expected.txt: Added.
* web-platform-tests/css/css-sizing/min-max-content-orthogonal-flow-crash-001.html: Added.
* web-platform-tests/css/css-sizing/orthogonal-writing-mode-float-in-inline-expected.xht: Added.
* web-platform-tests/css/css-sizing/orthogonal-writing-mode-float-in-inline.html: Added.
* web-platform-tests/css/css-sizing/parsing/box-sizing-computed-expected.txt: Added.
* web-platform-tests/css/css-sizing/parsing/box-sizing-computed.html: Added.
* web-platform-tests/css/css-sizing/parsing/box-sizing-invalid-expected.txt: Added.
* web-platform-tests/css/css-sizing/parsing/box-sizing-invalid.html: Added.
* web-platform-tests/css/css-sizing/parsing/box-sizing-valid-expected.txt: Added.
* web-platform-tests/css/css-sizing/parsing/box-sizing-valid.html: Added.
* web-platform-tests/css/css-sizing/parsing/height-invalid-expected.txt: Added.
* web-platform-tests/css/css-sizing/parsing/height-invalid.html: Added.
* web-platform-tests/css/css-sizing/parsing/height-valid-expected.txt: Added.
* web-platform-tests/css/css-sizing/parsing/height-valid.html: Added.
* web-platform-tests/css/css-sizing/parsing/max-height-computed-expected.txt: Added.
* web-platform-tests/css/css-sizing/parsing/max-height-computed.html: Added.
* web-platform-tests/css/css-sizing/parsing/max-height-invalid-expected.txt: Added.
* web-platform-tests/css/css-sizing/parsing/max-height-invalid.html: Added.
* web-platform-tests/css/css-sizing/parsing/max-height-valid-expected.txt: Added.
* web-platform-tests/css/css-sizing/parsing/max-height-valid.html: Added.
* web-platform-tests/css/css-sizing/parsing/max-width-computed-expected.txt: Added.
* web-platform-tests/css/css-sizing/parsing/max-width-computed.html: Added.
* web-platform-tests/css/css-sizing/parsing/max-width-invalid-expected.txt: Added.
* web-platform-tests/css/css-sizing/parsing/max-width-invalid.html: Added.
* web-platform-tests/css/css-sizing/parsing/max-width-valid-expected.txt: Added.
* web-platform-tests/css/css-sizing/parsing/max-width-valid.html: Added.
* web-platform-tests/css/css-sizing/parsing/min-height-computed-expected.txt: Added.
* web-platform-tests/css/css-sizing/parsing/min-height-computed.html: Added.
* web-platform-tests/css/css-sizing/parsing/min-height-invalid-expected.txt: Added.
* web-platform-tests/css/css-sizing/parsing/min-height-invalid.html: Added.
* web-platform-tests/css/css-sizing/parsing/min-height-valid-expected.txt: Added.
* web-platform-tests/css/css-sizing/parsing/min-height-valid.html: Added.
* web-platform-tests/css/css-sizing/parsing/min-width-computed-expected.txt: Added.
* web-platform-tests/css/css-sizing/parsing/min-width-computed.html: Added.
* web-platform-tests/css/css-sizing/parsing/min-width-invalid-expected.txt: Added.
* web-platform-tests/css/css-sizing/parsing/min-width-invalid.html: Added.
* web-platform-tests/css/css-sizing/parsing/min-width-valid-expected.txt: Added.
* web-platform-tests/css/css-sizing/parsing/min-width-valid.html: Added.
* web-platform-tests/css/css-sizing/parsing/w3c-import.log: Added.
* web-platform-tests/css/css-sizing/parsing/width-invalid-expected.txt: Added.
* web-platform-tests/css/css-sizing/parsing/width-invalid.html: Added.
* web-platform-tests/css/css-sizing/parsing/width-valid-expected.txt: Added.
* web-platform-tests/css/css-sizing/parsing/width-valid.html: Added.
* web-platform-tests/css/css-sizing/percentage-height-in-flexbox-expected.txt: Added.
* web-platform-tests/css/css-sizing/percentage-height-in-flexbox.html: Added.
* web-platform-tests/css/css-sizing/percentage-height-replaced-content-in-auto-cb-expected.txt: Added.
* web-platform-tests/css/css-sizing/percentage-height-replaced-content-in-auto-cb.html: Added.
* web-platform-tests/css/css-sizing/percentage-min-width-expected.txt: Added.
* web-platform-tests/css/css-sizing/percentage-min-width.html: Added.
* web-platform-tests/css/css-sizing/range-percent-intrinsic-size-1-expected.html: Added.
* web-platform-tests/css/css-sizing/range-percent-intrinsic-size-1.html: Added.
* web-platform-tests/css/css-sizing/range-percent-intrinsic-size-2-expected.html: Added.
* web-platform-tests/css/css-sizing/range-percent-intrinsic-size-2.html: Added.
* web-platform-tests/css/css-sizing/range-percent-intrinsic-size-2a-expected.html: Added.
* web-platform-tests/css/css-sizing/range-percent-intrinsic-size-2a.html: Added.
* web-platform-tests/css/css-sizing/slice-intrinsic-size-expected.html: Added.
* web-platform-tests/css/css-sizing/slice-intrinsic-size.html: Added.
* web-platform-tests/css/css-sizing/slice-nowrap-intrinsic-size-bidi-expected.html: Added.
* web-platform-tests/css/css-sizing/slice-nowrap-intrinsic-size-bidi.html: Added.
* web-platform-tests/css/css-sizing/slice-nowrap-intrinsic-size-expected.html: Added.
* web-platform-tests/css/css-sizing/slice-nowrap-intrinsic-size.html: Added.
* web-platform-tests/css/css-sizing/support/dynamic-available-size-iframe.html: Added.
* web-platform-tests/css/css-sizing/support/w3c-import.log: Added.
* web-platform-tests/css/css-sizing/table-percentage-max-width-beside-float-expected.txt: Added.
* web-platform-tests/css/css-sizing/table-percentage-max-width-beside-float.html: Added.
* web-platform-tests/css/css-sizing/table-percentage-min-width-below-float-expected.txt: Added.
* web-platform-tests/css/css-sizing/table-percentage-min-width-below-float.html: Added.
* web-platform-tests/css/css-sizing/table-percentage-min-width-beside-float-expected.txt: Added.
* web-platform-tests/css/css-sizing/table-percentage-min-width-beside-float.html: Added.
* web-platform-tests/css/css-sizing/w3c-import.log: Added.
* web-platform-tests/css/css-sizing/whitespace-and-break-expected.xht: Added.
* web-platform-tests/css/css-sizing/whitespace-and-break.html: Added.

LayoutTests:

* TestExpectations:
* platform/ios/TestExpectations:
* platform/ios/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio-affects-container-width-when-height-changes-expected.txt: Added.
* platform/ios/imported/w3c/web-platform-tests/css/css-sizing/button-min-width-expected.txt: Added.

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

7 months agohttps://bugs.webkit.org/show_bug.cgi?id=203571
simon.fraser@apple.com [Tue, 29 Oct 2019 18:11:18 +0000 (18:11 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=203571
New Layout Test web-platform-tests/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-crash.html is Missing Expectations

Unreviewed test gardening.

* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-crash-expected.txt: Added.

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

7 months agoUnreviewed, rolling out r251639.
tsavell@apple.com [Tue, 29 Oct 2019 17:33:43 +0000 (17:33 +0000)]
Unreviewed, rolling out r251639.

Caused flakey API failures for GetDisplayMediaTest.Constraints

Reverted changeset:

"Enforce user gesture for getUserMedia in case a previous
getUserMedia call was denied"
https://bugs.webkit.org/show_bug.cgi?id=203362
https://trac.webkit.org/changeset/251639

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

7 months agoUnreviewed, rolling out r251646.
tsavell@apple.com [Tue, 29 Oct 2019 17:28:50 +0000 (17:28 +0000)]
Unreviewed, rolling out r251646.

Caused flakey API failures for GetDisplayMediaTest.Constraints

Reverted changeset:

"Unreviewed build fix for !ENABLE(MEDIA_STREAM) builds"
https://bugs.webkit.org/show_bug.cgi?id=203362
https://trac.webkit.org/changeset/251646

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

7 months agoUnreviewed, rolling out r251594.
cdumez@apple.com [Tue, 29 Oct 2019 17:04:09 +0000 (17:04 +0000)]
Unreviewed, rolling out r251594.

Caused an API test failure

Reverted changeset:

"mp4 video element broken with service worker"
https://bugs.webkit.org/show_bug.cgi?id=184447
LayoutTests/imported/w3c:

https://trac.webkit.org/changeset/251594

Source/WebCore:

https://trac.webkit.org/changeset/251594

Source/WebKit:

https://trac.webkit.org/changeset/251594

LayoutTests:

https://trac.webkit.org/changeset/251594

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

7 months agoNotification permissions are not remembered for origins without port
cdumez@apple.com [Tue, 29 Oct 2019 16:57:09 +0000 (16:57 +0000)]
Notification permissions are not remembered for origins without port
https://bugs.webkit.org/show_bug.cgi?id=203537
<rdar://problem/55281080>

Reviewed by Brady Eidson.

Source/WebKit:

When WKSecurityOriginCreate() gets called with a port that is invalid, then pass
WTF::nullopt to construct the security origin instead of the invalid port.

The issue is that the port for security origins is optional internally. However,
our API (WKSecurityOriginGetPort() & WKSecurityOrigin.port) will return 0 when
there is no port. As a result, clients such as Safari sometimes pass 0 as port to construct
a new WKSecurityOriginRef().

This was causing issues with regards to notifications because Safari would construct
origins whose string representation looks like "https://www.apple.com:0" and it would
not match the "https://www.apple.com" we expect internally.

* Shared/API/c/WKSecurityOriginRef.cpp:
(WKSecurityOriginCreate):

Tools:

Add API test coverage.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/WKSecurityOrigin.cpp: Added.
(TestWebKitAPI::TEST):

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

7 months agoUnreviewed, revert r251637 as it caused http/tests/lazyload/scroll-element-removed...
cdumez@apple.com [Tue, 29 Oct 2019 16:56:03 +0000 (16:56 +0000)]
Unreviewed, revert r251637 as it caused http/tests/lazyload/scroll-element-removed-from-document.html to crash
https://bugs.webkit.org/show_bug.cgi?id=203566

LayoutTests/imported/w3c:

* web-platform-tests/loading/lazyload/image-loading-lazy.tentative-expected.txt: Removed.
* web-platform-tests/loading/lazyload/image-loading-lazy.tentative.html:

Source/WebCore:

* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* dom/Document.cpp:
* dom/Document.h:
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseAttribute):
(WebCore::HTMLImageElement::didMoveToNewDocument):
* html/HTMLImageElement.h:
* html/HTMLImageElement.idl:
* html/LazyLoadImageObserver.cpp: Removed.
* html/LazyLoadImageObserver.h: Removed.
* html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::updateFromElement):
(WebCore::ImageLoader::notifyFinished):
* loader/ImageLoader.h:
* loader/cache/CachedImage.h:
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestImage):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::determineRevalidationPolicy const):
(WebCore::CachedResourceLoader::clientDefersImage const):
(WebCore::CachedResourceLoader::shouldDeferImageLoad const):
(WebCore::CachedResourceLoader::reloadImagesIfNotDeferred):
* loader/cache/CachedResourceLoader.h:
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paintReplaced):

LayoutTests:

* TestExpectations:
* http/tests/lazyload/attribute-expected.txt: Removed.
* http/tests/lazyload/attribute.html: Removed.
* http/tests/lazyload/invisible-image-expected.txt: Removed.
* http/tests/lazyload/invisible-image.html: Removed.
* http/tests/lazyload/js-image-expected.txt: Removed.
* http/tests/lazyload/js-image.html: Removed.
* http/tests/lazyload/lazy-expected.txt: Removed.
* http/tests/lazyload/lazy-image-load-in-iframes-scripting-disabled-expected.txt: Removed.
* http/tests/lazyload/lazy-image-load-in-iframes-scripting-disabled.html: Removed.
* http/tests/lazyload/lazy-image-load-in-iframes-scripting-enabled-expected.txt: Removed.
* http/tests/lazyload/lazy-image-load-in-iframes-scripting-enabled.html: Removed.
* http/tests/lazyload/lazy.html: Removed.
* http/tests/lazyload/lazy2-expected.txt: Removed.
* http/tests/lazyload/placeholder.js: Removed.
* http/tests/lazyload/resources/lazy-load-in-iframe.html: Removed.
* http/tests/lazyload/scroll-element-moved-from-document-expected.txt: Removed.
* http/tests/lazyload/scroll-element-moved-from-document.html: Removed.
* http/tests/lazyload/scroll-element-removed-from-document-expected.txt: Removed.
* http/tests/lazyload/scroll-element-removed-from-document.html: Removed.
* http/tests/lazyload/scroll-expected.txt: Removed.
* http/tests/lazyload/scroll.html: Removed.
* platform/mac-wk1/TestExpectations:
* platform/win/TestExpectations:

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

7 months ago Removed duplicate email address.
katherine_cheney@apple.com [Tue, 29 Oct 2019 16:19:47 +0000 (16:19 +0000)]
   Removed duplicate email address.

* Scripts/webkitpy/common/config/contributors.json:

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

7 months ago[Web Animations] Optimize blending for CSS Transitions
graouts@webkit.org [Tue, 29 Oct 2019 16:14:58 +0000 (16:14 +0000)]
[Web Animations] Optimize blending for CSS Transitions
https://bugs.webkit.org/show_bug.cgi?id=203561

Reviewed by Simon Fraser.

The work performed in KeyframeEffect::setAnimatedPropertiesInStyle() has a level of complexity warranted by the
flexibility of how keyframes can be specified via the Web Animations JS API. However, in the case of CSS Transitions,
we already know that there are only two keyframes, one where offset=0 and one where offset=1, and that only a single
CSS property is specified so we can simplify the process greatly.

To ensure we only perform this quicker blending operation for keyframes computed for a CSS Transition and that no
modification to the keyframes have been applied via the Web Animations JS API after the fact, we now keep track
of whether the blending keyframes (KeyframeList) were generated for a CSS Transition or a CSS Animation and only
use this information to decide whether we're blending for declarative animations.

* animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::processKeyframes):
(WebCore::KeyframeEffect::clearBlendingKeyframes):
(WebCore::KeyframeEffect::computeCSSAnimationBlendingKeyframes):
(WebCore::KeyframeEffect::computeCSSTransitionBlendingKeyframes):
(WebCore::KeyframeEffect::setTarget):
(WebCore::KeyframeEffect::setAnimatedPropertiesInStyle):
* animation/KeyframeEffect.h:

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

7 months agoUnreviewed, add missing platform-specific test expectations after r251686
wenson_hsieh@apple.com [Tue, 29 Oct 2019 16:09:10 +0000 (16:09 +0000)]
Unreviewed, add missing platform-specific test expectations after r251686

LayoutTests/imported/w3c:

Revert changes to these test expectations.

* web-platform-tests/html/dom/idlharness.https-expected.txt:

LayoutTests:

Add mac-wk2-specific baselines.

* platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https.html: Removed.

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