WebKit-https.git
5 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: https://svn.webkit.org/repository/webkit/trunk@251789 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251788 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251787 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251786 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251785 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251784 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251780 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251779 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251778 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251777 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251776 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251775 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251774 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251773 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251772 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251771 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251770 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251769 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251768 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251765 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251764 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251763 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251762 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251761 268f45cc-cd09-0410-ab3c-d52691b4dbfc

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

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

5 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: https://svn.webkit.org/repository/webkit/trunk@251750 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251746 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251745 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251744 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251742 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251741 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251740 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251739 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251738 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251737 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251736 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251735 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251734 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251733 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251732 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251731 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251730 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251728 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251727 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251720 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251719 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251718 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251717 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251716 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251715 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251714 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251713 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251712 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251711 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251710 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251709 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251708 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251707 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251706 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 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: https://svn.webkit.org/repository/webkit/trunk@251705 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoEdited email address for commiting.
katherine_cheney@apple.com [Tue, 29 Oct 2019 16:00:20 +0000 (16:00 +0000)]
Edited email address for commiting.

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

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

5 months agoUnreviewed. Update OptionsWPE.cmake and NEWS for the 2.27.2 release
aperez@igalia.com [Tue, 29 Oct 2019 15:31:39 +0000 (15:31 +0000)]
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.27.2 release

.:

* Source/cmake/OptionsWPE.cmake: Bump version numbers.

Source/WebKit:

* wpe/NEWS: Add release notes for 2.27.2.

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

5 months agoUnreviewed test gardening; new iOS results for these now passing tests.
simon.fraser@apple.com [Tue, 29 Oct 2019 15:17:00 +0000 (15:17 +0000)]
Unreviewed test gardening; new iOS results for these now passing tests.

* platform/ios/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-1-expected.txt:
* platform/ios/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-2-expected.txt:
* platform/ios/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-3-expected.txt:
* platform/ios/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-4-expected.txt:

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

5 months agoRe-import the css/css-shapes WPT
simon.fraser@apple.com [Tue, 29 Oct 2019 14:50:07 +0000 (14:50 +0000)]
Re-import the css/css-shapes WPT
https://bugs.webkit.org/show_bug.cgi?id=203441

Reviewed by Tim Horton.
LayoutTests/imported/w3c:

Update css-shapes from e68120da0fb52f010f206f3ecc63cfa09885b0f4 (Wed Oct 23 13:18:06 2019 -0700).

* resources/import-expectations.json:
* resources/resource-files.json:
* web-platform-tests/css/css-shapes/META.yml: Added.
* web-platform-tests/css/css-shapes/OWNERS: Removed.
* web-platform-tests/css/css-shapes/animation/shape-image-threshold-interpolation-expected.txt: Added.
* web-platform-tests/css/css-shapes/animation/shape-image-threshold-interpolation.html: Added.
* web-platform-tests/css/css-shapes/animation/shape-margin-interpolation-expected.txt: Added.
* web-platform-tests/css/css-shapes/animation/shape-margin-interpolation.html: Added.
* web-platform-tests/css/css-shapes/animation/shape-outside-interpolation-expected.txt: Added.
* web-platform-tests/css/css-shapes/animation/shape-outside-interpolation.html: Added.
* web-platform-tests/css/css-shapes/animation/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/formatting-context/w3c-import.log.
* web-platform-tests/css/css-shapes/basic-shape-interpolation-expected.txt: Added.
* web-platform-tests/css/css-shapes/basic-shape-interpolation.html: Added.
* web-platform-tests/css/css-shapes/inheritance-expected.txt: Added.
* web-platform-tests/css/css-shapes/inheritance.html: Added.
* web-platform-tests/css/css-shapes/parsing/shape-image-threshold-computed-expected.txt: Added.
* web-platform-tests/css/css-shapes/parsing/shape-image-threshold-computed.html: Added.
* web-platform-tests/css/css-shapes/parsing/shape-image-threshold-invalid-expected.txt:
* web-platform-tests/css/css-shapes/parsing/shape-image-threshold-invalid.html:
* web-platform-tests/css/css-shapes/parsing/shape-image-threshold-valid-expected.txt:
* web-platform-tests/css/css-shapes/parsing/shape-image-threshold-valid.html:
* web-platform-tests/css/css-shapes/parsing/shape-margin-computed-expected.txt: Added.
* web-platform-tests/css/css-shapes/parsing/shape-margin-computed.html: Added.
* web-platform-tests/css/css-shapes/parsing/shape-margin-invalid.html:
* web-platform-tests/css/css-shapes/parsing/shape-margin-valid.html:
* web-platform-tests/css/css-shapes/parsing/shape-outside-invalid-position.html:
* web-platform-tests/css/css-shapes/parsing/shape-outside-valid-position.html:
* web-platform-tests/css/css-shapes/parsing/w3c-import.log:
* web-platform-tests/css/css-shapes/shape-outside-invalid-001.html:
* web-platform-tests/css/css-shapes/shape-outside-invalid-circle-002.html:
* web-platform-tests/css/css-shapes/shape-outside-invalid-circle-003.html:
* web-platform-tests/css/css-shapes/shape-outside-invalid-ellipse-001.html:
* web-platform-tests/css/css-shapes/shape-outside-invalid-ellipse-002.html:
* web-platform-tests/css/css-shapes/shape-outside-invalid-ellipse-003.html:
* web-platform-tests/css/css-shapes/shape-outside-invalid-ellipse-004.html:
* web-platform-tests/css/css-shapes/shape-outside-invalid-ellipse-005.html:
* web-platform-tests/css/css-shapes/shape-outside-invalid-ellipse-006.html:
* web-platform-tests/css/css-shapes/shape-outside-invalid-inset-001.html:
* web-platform-tests/css/css-shapes/shape-outside-invalid-inset-002.html:
* web-platform-tests/css/css-shapes/shape-outside/formatting-context/w3c-import.log:
* web-platform-tests/css/css-shapes/shape-outside/shape-box/shape-outside-box-002.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-box/shape-outside-box-003.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-box/shape-outside-box-004.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-box/shape-outside-box-006.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-box/shape-outside-box-007.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-box/shape-outside-box-008.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-box/shape-outside-box-009.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-box/w3c-import.log:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-001-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-001.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-002-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-002.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-003-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-003.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-004.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-005-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-005.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-006-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-006.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-007-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-007.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-008-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-008.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-009-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-009.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-010-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-010.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-011-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-011.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-012-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-012.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-013-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-013.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-014-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-014.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-015-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-015.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-016-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-016.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-001.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-002.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-003.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-004.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/w3c-import.log:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-000-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-000.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-001-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-001.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-002.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-003.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-004-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-004.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-005.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-006-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-006.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-007.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-008.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-009-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-009.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-010-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-010.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-011.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-012-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-012.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-013-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-013.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-014.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-015-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-015.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-016-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-016.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-017.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-018-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-018.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-019-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-019.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-020-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-020.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-021-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-021.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-022-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-022.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-023-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-023.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-024.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-025.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-026-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-026.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-027-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-027.html:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/support/w3c-import.log:
* web-platform-tests/css/css-shapes/shape-outside/shape-image/w3c-import.log:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-013.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-014.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-015.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-016.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-017.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-018.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-019.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-020.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-021.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-022.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-024.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-025.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-026.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-027.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-028.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-029.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-030-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-030.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-031-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-031.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/w3c-import.log:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-013.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-014.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-015.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-016.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-017.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-018.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-019.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-020.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-021.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-022.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-023.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-024.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-025.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-030-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-030.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-031-expected.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-031.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/w3c-import.log:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-010.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-011.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-012.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-013.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-014.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-015.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-028.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-029.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-030.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-crash-expected.html: Added.
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-crash.html: Added.
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/w3c-import.log:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-007.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-008.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-009.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-010.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-011.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-012.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-013.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-014.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-015.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-016.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-017.html:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-crash.html: Added.
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/polygon/w3c-import.log:
* web-platform-tests/css/css-shapes/shape-outside/supported-shapes/support/w3c-import.log:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-margin-001.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-box-000.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-000.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-001.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-002.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-003.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-004.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-005.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-006.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-007.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-008.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-009.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-010.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-011.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-computed-shape-000.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-computed-shape-001.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-000.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-001.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-002.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-003.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-004.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-005.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-006.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-007.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-008.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-009.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-010.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-011.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-000.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-001.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-0010-expected.html: Added.
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-0010.html: Added.
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-002.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-003.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-004.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-005.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-006.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-007.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-008.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-009.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-polygon-000.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-polygon-001.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-polygon-002.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-polygon-003.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-polygon-004.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-polygon-005.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-polygon-006.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-shape-arguments-000.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-shape-arguments-001.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-shape-box-pair-000-expected.txt:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-shape-box-pair-000.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-shape-inherit-000.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-shape-initial-000.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-shape-none-000.html:
* web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-shape-notation-000.html:
* web-platform-tests/css/css-shapes/shape-outside/values/support/parsing-utils.js:
(setupFonts): Deleted.
* web-platform-tests/css/css-shapes/shape-outside/values/support/w3c-import.log:
* web-platform-tests/css/css-shapes/shape-outside/values/w3c-import.log:
* web-platform-tests/css/css-shapes/spec-examples/shape-outside-001-expected.html:
* web-platform-tests/css/css-shapes/spec-examples/shape-outside-001.html:
* web-platform-tests/css/css-shapes/spec-examples/shape-outside-002-expected.html:
* web-platform-tests/css/css-shapes/spec-examples/shape-outside-002.html:
* web-platform-tests/css/css-shapes/spec-examples/shape-outside-003-expected.html:
* web-platform-tests/css/css-shapes/spec-examples/shape-outside-003.html:
* web-platform-tests/css/css-shapes/spec-examples/shape-outside-004-expected.html:
* web-platform-tests/css/css-shapes/spec-examples/shape-outside-004.html:
* web-platform-tests/css/css-shapes/spec-examples/shape-outside-005-expected.html:
* web-platform-tests/css/css-shapes/spec-examples/shape-outside-005.html:
* web-platform-tests/css/css-shapes/spec-examples/shape-outside-006.html:
* web-platform-tests/css/css-shapes/spec-examples/shape-outside-007-expected.html:
* web-platform-tests/css/css-shapes/spec-examples/shape-outside-007.html:
* web-platform-tests/css/css-shapes/spec-examples/shape-outside-008.html:
* web-platform-tests/css/css-shapes/spec-examples/shape-outside-010.html:
* web-platform-tests/css/css-shapes/spec-examples/shape-outside-011.html:
* web-platform-tests/css/css-shapes/spec-examples/shape-outside-012.html:
* web-platform-tests/css/css-shapes/spec-examples/shape-outside-013.html:
* web-platform-tests/css/css-shapes/spec-examples/shape-outside-014.html:
* web-platform-tests/css/css-shapes/spec-examples/shape-outside-015.html:
* web-platform-tests/css/css-shapes/spec-examples/shape-outside-016.html:
* web-platform-tests/css/css-shapes/spec-examples/shape-outside-017.html:
* web-platform-tests/css/css-shapes/spec-examples/shape-outside-018.html:
* web-platform-tests/css/css-shapes/spec-examples/shape-outside-019.html:
* web-platform-tests/css/css-shapes/spec-examples/support/rounded-triangle.svg:
* web-platform-tests/css/css-shapes/spec-examples/support/w3c-import.log:
* web-platform-tests/css/css-shapes/spec-examples/w3c-import.log:
* web-platform-tests/css/css-shapes/support/w3c-import.log:
* web-platform-tests/css/css-shapes/test-plan/index.html: Added.
* web-platform-tests/css/css-shapes/test-plan/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/support/w3c-import.log.
* web-platform-tests/css/css-shapes/w3c-import.log:

LayoutTests:

* TestExpectations:
* platform/ios/TestExpectations:

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

5 months ago[GTK][WPE] Fix non-unified build after r251691
aperez@igalia.com [Tue, 29 Oct 2019 14:36:32 +0000 (14:36 +0000)]
[GTK][WPE] Fix non-unified build after r251691
https://bugs.webkit.org/show_bug.cgi?id=203556

Reviewed by Žan Doberšek.

No new tests needed.

* bindings/js/ScriptModuleLoader.cpp:
(WebCore::rejectPromise): Add missing namespace in call to JSC::JSInternalPromise::create().

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

5 months ago[Picture-in-Picture Web API] Synchronize the attributes and properties of HTMLVideoEl...
commit-queue@webkit.org [Tue, 29 Oct 2019 14:22:47 +0000 (14:22 +0000)]
[Picture-in-Picture Web API] Synchronize the attributes and properties of HTMLVideoElementPictureInPicture
https://bugs.webkit.org/show_bug.cgi?id=203518

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

Source/WebCore:

Test: media/picture-in-picture-api-element-attributes.html

* Modules/pictureinpicture/HTMLVideoElementPictureInPicture.idl:
* html/HTMLAttributeNames.in:

LayoutTests:

* TestExpectations:
* media/picture-in-picture-api-element-attributes-expected.txt: Added.
* media/picture-in-picture-api-element-attributes.html: Added.
* platform/mac-wk2/TestExpectations:

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

5 months ago[SVG2] fill-opacity, stroke-opacity, stop-opacity and flood-opacity doe not support...
commit-queue@webkit.org [Tue, 29 Oct 2019 10:27:35 +0000 (10:27 +0000)]
[SVG2] fill-opacity, stroke-opacity, stop-opacity and flood-opacity doe not support percentage
https://bugs.webkit.org/show_bug.cgi?id=201731

Source/WebCore:

Patch by Dirk Schulze <krit@webkit.org> on 2019-10-29
Reviewed by Simon Fraser.

The CSS properties opacity, fill-opacity, stroke-opacity, stop-opacity, flood-opacity support
percentage in addition to number values.
Add percentage support.

Tests: fast/css/parsing-opacity.html
       fast/svg/parsing-fill-opacity.html
       fast/svg/parsing-flood-opacity.html
       fast/svg/parsing-stop-opacity.html
       fast/svg/parsing-stroke-opacity.html

* css/CSSProperties.json: opacity needs to use Opacity converter now.
* css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertOpacity): Clamp values to [0,1]
* css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::parseSingleValue): Parse percentage values.

LayoutTests:

Test number and percentage values for opacity, fill-opacity, stroke-opacity, stop-opacity, flood-opacity.

Patch by Dirk Schulze <krit@webkit.org> on 2019-10-29
Reviewed by Simon Fraser.

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

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

5 months agoAdd CSS Masking and SVG 2 to feature list
commit-queue@webkit.org [Tue, 29 Oct 2019 10:15:37 +0000 (10:15 +0000)]
Add CSS Masking and SVG 2 to feature list
https://bugs.webkit.org/show_bug.cgi?id=186155

Patch by Dirk Schulze <krit@webkit.org> on 2019-10-29
Reviewed by Simon Fraser.

Add CSS Masking Level 1 and SVG 2 to feature list.

* features.json:

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

5 months agoRemove unnecessary #include <limits.h> header from Timer.cpp
commit-queue@webkit.org [Tue, 29 Oct 2019 04:08:10 +0000 (04:08 +0000)]
Remove unnecessary #include <limits.h> header from Timer.cpp
https://bugs.webkit.org/show_bug.cgi?id=203504

Patch by Daniel Bates <dabates@apple.com> on 2019-10-28
Reviewed by Alex Christensen.

Timer.cpp includes both <limits> and <limits.h>. The latter was added to fix a build issue in r30193 that
effected GCC 4.3 when Timer.cpp referenced UINT_MAX. Timer.cpp no longer references this constant and instead
uses the C++ std::numeric_limits equivalent. So, remove the #include <limits.h>.

* platform/Timer.cpp:

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

5 months agoReplace InteractionInformationAtPosition.nodeAtPositionIsFocusedElement with an eleme...
wenson_hsieh@apple.com [Tue, 29 Oct 2019 02:34:20 +0000 (02:34 +0000)]
Replace InteractionInformationAtPosition.nodeAtPositionIsFocusedElement with an element context
https://bugs.webkit.org/show_bug.cgi?id=203498

Reviewed by Tim Horton.

Refactors InteractionInformationAtPosition, such that it doesn't need a special flag to indicate whether there
is a focused element at the position. This is a followup to webkit.org/b/203264; no new tests, as there should
be no change in behavior.

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

Add an elementContext to FocusedElementInformation to represent the focused element; then, instead of checking
whether there is a focused element underneath the request position, simply check that the position information's
element context matches the FocusedElementInformation's element context.

Additionally, rename elementRect in FocusedElementInformation to interactionRect, to draw a distinction between
this rect and the new ElementContext's boundingRect.

* Shared/ios/InteractionInformationAtPosition.h:
* Shared/ios/InteractionInformationAtPosition.mm:
(WebKit::InteractionInformationAtPosition::encode const):
(WebKit::InteractionInformationAtPosition::decode):

Remove the nodeAtPositionIsFocusedElement flag.

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

In various places that consult nodeAtPositionIsFocusedElement, instead check that the position information's
hit-tested element context is the same as the focused element, via FocusedElementInformation.

(-[WKContentView _didCommitLoadForMainFrame]):

Nuke the cached position information data upon navigation; without this tweak, we will fail when running several
iOS layout tests back-to-back, that tap in exactly the same location.

(rectToRevealWhenZoomingToFocusedElement):
(-[WKContentView _elementDidFocus:userIsInteracting:blurPreviousNode:activityStateChanges:userObject:]):
(-[WKContentView _elementDidBlur]):
(-[WKContentView rectForFocusedFormControlView:]):
(-[WKContentView _didChangeFocusedElementRect:toRect:]): Deleted.

Remove code to invalidate cached position information when changing the focused element rect.

* UIProcess/ios/forms/WKFormPopover.mm:
(-[WKRotatingPopover presentPopoverAnimated:]):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::positionInformation):
(WebKit::WebPage::getFocusedElementInformation):

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

5 months agohttp/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-w* are flaky...
katherine_cheney@apple.com [Tue, 29 Oct 2019 02:25:32 +0000 (02:25 +0000)]
http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-w* are flaky timeouts
https://bugs.webkit.org/show_bug.cgi?id=196269
<rdar://problem/49288612>

Reviewed by Alexey Proskuryakov.

Flakiness no longer reproducible.

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

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

5 months ago[JSC] Remove JSPromiseDeferred
ysuzuki@apple.com [Tue, 29 Oct 2019 01:37:12 +0000 (01:37 +0000)]
[JSC] Remove JSPromiseDeferred
https://bugs.webkit.org/show_bug.cgi?id=203400

Reviewed by Keith Miller.

Source/JavaScriptCore:

This patch optimizes the existing Promise usage in C++. We remove JSPromiseDeferred and JSInternalPromiseDeferred, use JSPromise and JSInternalPromise directly.
JSC now offers first `resolve` and `reject` operations to `JSPromise` without separating `resolve` and `reject` function from `JSPromise`. Then, we do not need
to have a tuple of these functions and promise, and we can just use `JSPromise::resolve` and `JSPromise::reject`. This removes unnecessary function allocations
and cell allocation for JSPromiseDeferred and makes API simple.

* API/JSAPIGlobalObject.mm:
(JSC::JSAPIGlobalObject::moduleLoaderImportModule):
(JSC::JSAPIGlobalObject::moduleLoaderFetch):
(JSC::JSAPIGlobalObject::loadAndEvaluateJSScriptModule):
* API/JSObjectRef.cpp:
(JSObjectMakeDeferredPromise):
* CMakeLists.txt:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Sources.txt:
* jsc.cpp:
(GlobalObject::moduleLoaderImportModule):
(GlobalObject::moduleLoaderFetch):
(runJSC):
* runtime/Completion.cpp:
(JSC::rejectPromise):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::newPromiseCapabilityFunction const):
(JSC::JSGlobalObject::resolvePromiseFunction const):
(JSC::JSGlobalObject::rejectPromiseFunction const):
(JSC::JSGlobalObject::numberProtoToStringFunction const):
* runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncImportModule):
* runtime/JSInternalPromise.h:
* runtime/JSInternalPromiseDeferred.cpp: Removed.
* runtime/JSInternalPromiseDeferred.h: Removed.
* runtime/JSModuleLoader.cpp:
(JSC::JSModuleLoader::importModule):
(JSC::JSModuleLoader::resolve):
(JSC::JSModuleLoader::fetch):
(JSC::moduleLoaderParseModule):
* runtime/JSPromise.cpp:
(JSC::JSPromise::flags const):
(JSC::JSPromise::isHandled const):
(JSC::JSPromise::createDeferredData):
(JSC::JSPromise::resolvedPromise):
(JSC::callFunction):
(JSC::JSPromise::resolve):
(JSC::JSPromise::reject):
* runtime/JSPromise.h:
* runtime/JSPromiseDeferred.cpp: Removed.
* runtime/JSPromiseDeferred.h: Removed.
* runtime/PromiseTimer.cpp: Renamed from Source/JavaScriptCore/runtime/PromiseDeferredTimer.cpp.
(JSC::PromiseTimer::PromiseTimer):
(JSC::PromiseTimer::doWork):
(JSC::PromiseTimer::runRunLoop):
(JSC::PromiseTimer::addPendingPromise):
(JSC::PromiseTimer::hasPendingPromise):
(JSC::PromiseTimer::hasDependancyInPendingPromise):
(JSC::PromiseTimer::cancelPendingPromise):
(JSC::PromiseTimer::scheduleWorkSoon):
* runtime/PromiseTimer.h: Renamed from Source/JavaScriptCore/runtime/PromiseDeferredTimer.h.
(JSC::PromiseTimer::create):
* runtime/StringRecursionChecker.h:
* runtime/VM.cpp:
(JSC::VM::VM):
(JSC::VM::~VM):
* runtime/VM.h:
* wasm/js/JSWebAssembly.cpp:
(JSC::reject):
(JSC::webAssemblyModuleValidateAsyncInternal):
(JSC::webAssemblyCompileFunc):
(JSC::resolve):
(JSC::JSWebAssembly::webAssemblyModuleValidateAsync):
(JSC::instantiate):
(JSC::compileAndInstantiate):
(JSC::JSWebAssembly::instantiate):
(JSC::webAssemblyModuleInstantinateAsyncInternal):
(JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync):
(JSC::webAssemblyInstantiateFunc):
(JSC::webAssemblyCompileStreamingInternal):
(JSC::webAssemblyInstantiateStreamingInternal):
* wasm/js/JSWebAssembly.h:
* wasm/js/JSWebAssemblyCodeBlock.h:

Source/WebCore:

This patch removes PromiseExecutionScope. This assumed that promise operation cannot fail in main thread. But this is
wrong since any JS call can fail due to stack-overflow error. This patch makes things more robust by handling errors correctly.
And we remove JSPromiseDeferred and use JSPromise instead.

* bindings/js/JSCustomElementRegistryCustom.cpp:
(WebCore::whenDefinedPromise):
(WebCore::JSCustomElementRegistry::whenDefined):
* bindings/js/JSDOMConvertPromise.h:
(WebCore::Converter<IDLPromise<T>>::convert):
* bindings/js/JSDOMGlobalObject.cpp:
* bindings/js/JSDOMOperationReturningPromise.h:
(WebCore::IDLOperationReturningPromise::call):
(WebCore::IDLOperationReturningPromise::callStatic):
* bindings/js/JSDOMPromiseDeferred.cpp:
(WebCore::DeferredPromise::promise const):
(WebCore::DeferredPromise::callFunction):
(WebCore::DeferredPromise::whenSettled):
(WebCore::rejectPromiseWithExceptionIfAny):
(WebCore::createDeferredPromise):
* bindings/js/JSDOMPromiseDeferred.h:
(WebCore::DeferredPromise::create):
(WebCore::DeferredPromise::DeferredPromise):
(WebCore::DeferredPromise::deferred const):
(WebCore::DeferredPromise::resolve):
(WebCore::DeferredPromise::reject):
(WebCore::DOMPromiseDeferredBase::DOMPromiseDeferredBase):
(WebCore::DOMPromiseDeferredBase::operator=):
(WebCore::DOMPromiseDeferredBase::reject):
(WebCore::DOMPromiseDeferredBase::rejectType):
(WebCore::DOMPromiseDeferredBase::promise const):
(WebCore::DOMPromiseDeferredBase::whenSettled):
(WebCore::DOMPromiseDeferred::resolve):
(WebCore::DOMPromiseDeferred<void>::resolve):
(WebCore::callPromiseFunction):
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::moduleLoaderFetch):
(WebCore::JSDOMWindowBase::moduleLoaderImportModule):
(WebCore::tryAllocate):
(WebCore::isResponseCorrect):
(WebCore::handleResponseOnStreamingAction):
(WebCore::JSDOMWindowBase::compileStreaming):
(WebCore::JSDOMWindowBase::instantiateStreaming):
* bindings/js/JSDOMWindowBase.h:
* bindings/js/ScriptModuleLoader.cpp:
(WebCore::ScriptModuleLoader::fetch):
(WebCore::rejectPromise):
* bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::addTimerSetNotification):
(WebCore::WorkerScriptController::removeTimerSetNotification):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateOperationTrampolineDefinition):
* bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResult):
* bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::jsTestNodePrototypeFunctionTestWorkerPromise):
(WebCore::jsTestNodePrototypeFunctionCalculateSecretResult):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionCalculateSecretResult):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunction):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgument):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithException):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgument):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunction):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithException):
(WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunction):
(WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunction):
* workers/WorkerRunLoop.cpp:
* worklets/WorkletScriptController.cpp:

LayoutTests:

* js/dom/promise-stack-overflow-expected.txt: Added.
* js/dom/promise-stack-overflow.html: Added.

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

5 months ago[GTK][WPE] Fix various non-unified build issues introduced since r251436
aperez@igalia.com [Tue, 29 Oct 2019 01:06:26 +0000 (01:06 +0000)]
[GTK][WPE] Fix various non-unified build issues introduced since r251436
https://bugs.webkit.org/show_bug.cgi?id=203492

Reviewed by Alex Christensen and Mark Lam.

Source/JavaScriptCore:

* bytecode/BytecodeIndex.cpp: Add missing inclusion of wtf/PrintStream.h
* bytecode/ICStatusUtils.h: Add missing inclusion if BytecodeIndex.h
* bytecode/InstructionStream.h: Ditto.
* debugger/DebuggerLocation.cpp: Add missing inclusion of JSCellInlines.h
* dfg/DFGLazyJSValue.h: Add missing inclusion of GPRInfo.h
* ftl/FTLOSREntry.h: Add missing inclusion of BytecodeIndex.h
* heap/CompleteSubspaceInlines.h: Add missing inclusions of CompleteSubspace.h and VM.h
* inspector/JavaScriptCallFrame.h:
(Inspector::JavaScriptCallFrame::thisValue const): Prepend namespace to the JSC::VM type.
* jit/JITDisassembler.h: Add missing inclusion of BytecodeIndex.h
* jit/JITWorklist.h: Ditto.
* runtime/JSImmutableButterfly.cpp: Add missing inclusion of ButterflyInlines.h
* runtime/ObjectInitializationScope.h: Add missing inclusion of VM.h
* runtime/StringRecursionChecker.h: Add missing inclusion of GetVM.h
* runtime/VMTraps.cpp: Add missing inclusion of CallFrameInlines.h
* tools/Integrity.cpp: Add missing inclusion of Integrity.h, HeapCellInlines.h, and
JSCellInlines.h
* wasm/WasmOperations.cpp: Add missing inclusion of JSCJSValueInlines.h and
JSGlobalObjectInlines.h
* wasm/WasmOperations.h: Add missing inclusion of IndexingType.h, JSCJSValue.h, and
WasmExceptionType.h; add forward declarations for JSArrray and Wasm::Signature.
* wasm/js/JSWebAssembly.cpp: Add missing inclusion of WasmOperations.h
* wasm/js/JSWebAssemblyHelpers.h: Add missing inclusion of Error.h and JSArrayBufferView.h

Source/WebCore:

No new tests needed.

* Modules/entriesapi/FileSystemEntry.cpp: Add missing inclusion of Document.h
* Modules/entriesapi/FileSystemFileEntry.cpp: Add missing inclusion of File.h
* Modules/fetch/FetchBodyOwner.cpp: Add missing inclusion of Document.h
* bindings/js/ExceptionDetails.h: Add missing inclusion of wtf/text/WTFString.h; remove
unneeded inclusion of wtf/Forward.h.
* css/ElementRuleCollector.cpp: Add missing inclusion of DocumentRuleSets.h and
styleResolver.h
* inspector/agents/page/PageDebuggerAgent.h: Add forward declaration for Frame.
* style/StyleInvalidator.cpp: Add missing inclusion of RuleSet.h
* style/StyleSharingResolver.cpp: Add missing inclusion of StyleResolver.h

Source/WebKit:

* UIProcess/InspectorTargetProxy.h: Add forward declaration of ProvisionalPageProxy.
* UIProcess/Plugins/PluginProcessProxy.cpp: Add missin inclusion of
WebProcessProxyMessages.h
* UIProcess/ProcessThrottler.cpp: Add missing inclusion of wtf/CompletionHandler.h
* UIProcess/ProvisionalPageProxy.h: Add missing inclusion of WebCore/FrameIdentifier.h
* UIProcess/WebPageInspectorController.h: Add missing inclusion of WebCore/PageIdentifier.h
* WebProcess/WebPage/WebPageInspectorTargetController.cpp: Add missing inclusion of
WebPageInspectorTargetFrontendChannel.h

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

5 months agoUpdate css/css-text-decor WPT
simon.fraser@apple.com [Tue, 29 Oct 2019 00:31:01 +0000 (00:31 +0000)]
Update css/css-text-decor WPT
https://bugs.webkit.org/show_bug.cgi?id=203532

Reviewed by Tim Horton.
LayoutTests/imported/w3c:

Import css/css-text-decor at e68120da0fb52f010f206f3ecc63cfa09885b0f4 (Wed Oct 23 13:18:06 2019 -0700)

* resources/import-expectations.json:
* resources/resource-files.json:
* web-platform-tests/css/css-text-decor/META.yml: Added.
* web-platform-tests/css/css-text-decor/OWNERS: Removed.
* web-platform-tests/css/css-text-decor/inheritance-expected.txt: Added.
* web-platform-tests/css/css-text-decor/inheritance.html: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-color-computed-expected.txt: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-color-computed.html: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-color-invalid-expected.txt: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-color-invalid.html: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-color-valid-expected.txt: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-color-valid.html: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-computed-expected.txt: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-computed.html: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-invalid-expected.txt: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-invalid.html: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-line-computed-expected.txt: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-line-computed.html: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-line-invalid-expected.txt: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-line-invalid.html: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-line-valid-expected.txt: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-line-valid.html: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-shorthand-expected.txt: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-shorthand.html: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-skip-ink-computed-expected.txt: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-skip-ink-computed.html: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-skip-ink-invalid-expected.txt: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-skip-ink-invalid.html: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-skip-ink-valid-expected.txt: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-skip-ink-valid.html: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-style-computed-expected.txt: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-style-computed.html: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-style-invalid-expected.txt: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-style-invalid.html: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-style-valid-expected.txt: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-style-valid.html: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-valid-expected.txt: Added.
* web-platform-tests/css/css-text-decor/parsing/text-decoration-valid.html: Added.
* web-platform-tests/css/css-text-decor/parsing/text-shadow-computed-expected.txt: Added.
* web-platform-tests/css/css-text-decor/parsing/text-shadow-computed.html: Added.
* web-platform-tests/css/css-text-decor/parsing/text-shadow-invalid-expected.txt: Added.
* web-platform-tests/css/css-text-decor/parsing/text-shadow-invalid.html: Added.
* web-platform-tests/css/css-text-decor/parsing/text-shadow-valid-expected.txt: Added.
* web-platform-tests/css/css-text-decor/parsing/text-shadow-valid.html: Added.
* web-platform-tests/css/css-text-decor/parsing/text-underline-position-computed-expected.txt: Added.
* web-platform-tests/css/css-text-decor/parsing/text-underline-position-computed.html: Added.
* web-platform-tests/css/css-text-decor/parsing/text-underline-position-invalid-expected.txt: Added.
* web-platform-tests/css/css-text-decor/parsing/text-underline-position-invalid.html: Added.
* web-platform-tests/css/css-text-decor/parsing/text-underline-position-valid-expected.txt: Added.
* web-platform-tests/css/css-text-decor/parsing/text-underline-position-valid.html: Added.
* web-platform-tests/css/css-text-decor/parsing/w3c-import.log: Added.
* web-platform-tests/css/css-text-decor/text-decoration-color.html:
* web-platform-tests/css/css-text-decor/text-decoration-line-010-expected.xht:
* web-platform-tests/css/css-text-decor/text-decoration-line-010.xht:
* web-platform-tests/css/css-text-decor/text-decoration-line-011-expected.xht:
* web-platform-tests/css/css-text-decor/text-decoration-line-011.xht:
* web-platform-tests/css/css-text-decor/text-decoration-line-012-expected.xht:
* web-platform-tests/css/css-text-decor/text-decoration-line-012.xht:
* web-platform-tests/css/css-text-decor/text-decoration-line-013-expected.xht:
* web-platform-tests/css/css-text-decor/text-decoration-line-013.xht:
* web-platform-tests/css/css-text-decor/text-decoration-line-recalc-expected.html:
* web-platform-tests/css/css-text-decor/text-decoration-line-recalc.html:
* web-platform-tests/css/css-text-decor/text-decoration-line.html:
* web-platform-tests/css/css-text-decor/text-decoration-propagation-shadow-expected.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-propagation-shadow.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-serialization.tentative-expected.txt:
* web-platform-tests/css/css-text-decor/text-decoration-serialization.tentative.html:
* web-platform-tests/css/css-text-decor/text-decoration-shorthands-001-expected.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-shorthands-001.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-shorthands-002-expected.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-shorthands-002.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-skip-ink-001-expected.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-skip-ink-001.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-skip-ink-002-expected.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-skip-ink-002.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-skip-ink-003-expected.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-skip-ink-003.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-skip-ink-004-expected.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-skip-ink-004.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-skip-ink-sidewayslr-001-expected.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-skip-ink-sidewayslr-001.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-skip-ink-sidewayslr-002-expected.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-skip-ink-sidewayslr-002.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-skip-ink-sidewaysrl-001-expected.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-skip-ink-sidewaysrl-001.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-skip-ink-sidewaysrl-002-expected.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-skip-ink-sidewaysrl-002.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-skip-ink-upright-001-expected.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-skip-ink-upright-001.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-skip-ink-upright-002-expected.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-skip-ink-upright-002.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-skip-ink-vertical-001-expected.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-skip-ink-vertical-001.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-skip-ink-vertical-002-expected.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-skip-ink-vertical-002.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-thickness-001-expected.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-thickness-001.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-thickness-computed-expected.txt: Added.
* web-platform-tests/css/css-text-decor/text-decoration-thickness-computed.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-thickness-initial-expected.txt: Added.
* web-platform-tests/css/css-text-decor/text-decoration-thickness-initial.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-thickness-invalid-expected.txt: Added.
* web-platform-tests/css/css-text-decor/text-decoration-thickness-invalid.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-thickness-linethrough-001-expected.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-thickness-linethrough-001.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-thickness-overline-001-expected.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-thickness-overline-001.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-thickness-scroll-001-expected.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-thickness-scroll-001.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-thickness-underline-001-expected.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-thickness-underline-001.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-thickness-valid-expected.txt: Added.
* web-platform-tests/css/css-text-decor/text-decoration-thickness-valid.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-thickness-vertical-001-expected.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-thickness-vertical-001.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-thickness-vertical-002-expected.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-thickness-vertical-002.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-underline-position-horizontal-expected.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-underline-position-horizontal.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-underline-position-vertical-expected.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-underline-position-vertical-ja-expected.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-underline-position-vertical-ja.html: Added.
* web-platform-tests/css/css-text-decor/text-decoration-underline-position-vertical.html: Added.
* web-platform-tests/css/css-text-decor/text-emphasis-position-above-left-001-expected.xht:
* web-platform-tests/css/css-text-decor/text-emphasis-position-above-left-001.xht:
* web-platform-tests/css/css-text-decor/text-emphasis-position-above-left-002-expected.xht:
* web-platform-tests/css/css-text-decor/text-emphasis-position-above-left-002.xht:
* web-platform-tests/css/css-text-decor/text-emphasis-position-above-right-001-expected.xht:
* web-platform-tests/css/css-text-decor/text-emphasis-position-above-right-001.xht:
* web-platform-tests/css/css-text-decor/text-emphasis-position-above-right-002-expected.xht:
* web-platform-tests/css/css-text-decor/text-emphasis-position-above-right-002.xht:
* web-platform-tests/css/css-text-decor/text-emphasis-position-below-left-001-expected.xht:
* web-platform-tests/css/css-text-decor/text-emphasis-position-below-left-001.xht:
* web-platform-tests/css/css-text-decor/text-emphasis-position-below-left-002-expected.xht:
* web-platform-tests/css/css-text-decor/text-emphasis-position-below-left-002.xht:
* web-platform-tests/css/css-text-decor/text-emphasis-position-below-right-001-expected.xht:
* web-platform-tests/css/css-text-decor/text-emphasis-position-below-right-001.xht:
* web-platform-tests/css/css-text-decor/text-emphasis-position-below-right-002-expected.xht:
* web-platform-tests/css/css-text-decor/text-emphasis-position-below-right-002.xht:
* web-platform-tests/css/css-text-decor/text-emphasis-style-006-expected.html:
* web-platform-tests/css/css-text-decor/text-emphasis-style-007-expected.html:
* web-platform-tests/css/css-text-decor/text-emphasis-style-008-expected.html:
* web-platform-tests/css/css-text-decor/text-emphasis-style-008.html:
* web-platform-tests/css/css-text-decor/text-emphasis-style-010-expected.html:
* web-platform-tests/css/css-text-decor/text-emphasis-style-021-expected.html:
* web-platform-tests/css/css-text-decor/text-emphasis-unrepresentable-characters-expected.txt: Added.
* web-platform-tests/css/css-text-decor/text-emphasis-unrepresentable-characters.html: Added.
* web-platform-tests/css/css-text-decor/text-underline-offset-001-expected.html: Added.
* web-platform-tests/css/css-text-decor/text-underline-offset-001.html: Added.
* web-platform-tests/css/css-text-decor/text-underline-offset-002-expected.html: Added.
* web-platform-tests/css/css-text-decor/text-underline-offset-002.html: Added.
* web-platform-tests/css/css-text-decor/text-underline-offset-computed-expected.txt: Added.
* web-platform-tests/css/css-text-decor/text-underline-offset-computed.html: Added.
* web-platform-tests/css/css-text-decor/text-underline-offset-initial-expected.txt: Added.
* web-platform-tests/css/css-text-decor/text-underline-offset-initial.html: Added.
* web-platform-tests/css/css-text-decor/text-underline-offset-invalid-expected.txt: Added.
* web-platform-tests/css/css-text-decor/text-underline-offset-invalid.html: Added.
* web-platform-tests/css/css-text-decor/text-underline-offset-scroll-001-expected.html: Added.
* web-platform-tests/css/css-text-decor/text-underline-offset-scroll-001.html: Added.
* web-platform-tests/css/css-text-decor/text-underline-offset-valid-expected.txt: Added.
* web-platform-tests/css/css-text-decor/text-underline-offset-valid.html: Added.
* web-platform-tests/css/css-text-decor/text-underline-offset-vertical-001-expected.html: Added.
* web-platform-tests/css/css-text-decor/text-underline-offset-vertical-001.html: Added.
* web-platform-tests/css/css-text-decor/text-underline-offset-vertical-002-expected.html: Added.
* web-platform-tests/css/css-text-decor/text-underline-offset-vertical-002.html: Added.
* web-platform-tests/css/css-text-decor/w3c-import.log:

LayoutTests:

Mark tests as failing.

* TestExpectations:

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

5 months ago[iOS] Fix sandbox violations
pvollan@apple.com [Tue, 29 Oct 2019 00:21:53 +0000 (00:21 +0000)]
[iOS] Fix sandbox violations
https://bugs.webkit.org/show_bug.cgi?id=203505

Reviewed by Brent Fulgham.

Running layout tests shows that allowing mach lookup is needed for a set of services which was previously denied.
This patch add rules for allowing these services again. The service 'com.apple.logd.events' is still denied, since
it has not been observed to be in use.

No new tests, covered by existing tests.

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

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

5 months agoUnreviewed, rolling out r251675.
achristensen@apple.com [Tue, 29 Oct 2019 00:09:41 +0000 (00:09 +0000)]
Unreviewed, rolling out r251675.

Broke some builds

Reverted changeset:

"Remove unused WKWebsiteDataStore setter SPI"
https://bugs.webkit.org/show_bug.cgi?id=203114
https://trac.webkit.org/changeset/251675

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

5 months agoAdd bindings support for the enterkeyhint HTML attribute
wenson_hsieh@apple.com [Mon, 28 Oct 2019 23:56:14 +0000 (23:56 +0000)]
Add bindings support for the enterkeyhint HTML attribute
https://bugs.webkit.org/show_bug.cgi?id=203440

Reviewed by Ryosuke Niwa.

Source/WebCore:

Work towards support for the enterkeyhint attribute. This patch introduces the new attribute to HTMLElement's
IDL; see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-enterkeyhint-attribute
for more information. This version of the spec was last updated October 25, 2019 (at time of writing).

Test: fast/forms/enterkeyhint-attribute-values.html

* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* html/EnterKeyHint.cpp: Added.

Add a new helper file that declares a new EnterKeyHint enum type, as well as helper functions to map between
attribute values and EnterKeyHint values.

(WebCore::enterKeyHintForAttributeValue):
(WebCore::attributeValueForEnterKeyHint):
* html/EnterKeyHint.h: Added.
* html/HTMLAttributeNames.in:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::canonicalEnterKeyHint const):

Returns the canonical EnterKeyHint enum value, by inspecting the "enterkeyhint" attribute value.

(WebCore::HTMLElement::enterKeyHint const):
(WebCore::HTMLElement::setEnterKeyHint):

Implement enterKeyHint. Since enterkeyhint is a reflected HTML attribute with enumerated values, the setter sets
the attribute value and the getter returns the "canonicalized" attribute value.

* html/HTMLElement.h:
* html/HTMLElement.idl:

Add the new attribute. Note that this isn't marked as [Reflect] in IDL, since doing so would generate incorrect
bindings code. This is because we don't support reflection for enumerated attributes in our bindings generator
yet, so for now, we just match `HTMLInputElement.type` and `HTMLElement.inputMode`.

* page/Settings.yaml:

Add a new runtime switch to guard the enterkeyhint attribute.

Source/WebKit:

Add a new runtime switch for the enterkeyhint attribute, and enable it by default on macOS and iOS.

* Shared/WebPreferences.yaml:
* Shared/WebPreferencesDefaultValues.h:

LayoutTests:

* fast/forms/enterkeyhint-attribute-values-expected.txt: Added.
* fast/forms/enterkeyhint-attribute-values.html: Added.

Add a new layout test to exercise the new attribute (including case sensitivity, the default value, unknown
values, all known value types, and different types of elements).

* platform/ios-wk2/TestExpectations:
* platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
* platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/reflection-misc-expected.txt: Added.
* platform/ios-wk2/js/dom/dom-static-property-for-in-iteration-expected.txt:
* platform/mac-wk2/TestExpectations:
* platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
* platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/reflection-misc-expected.txt: Added.
* platform/mac-wk2/js/dom/dom-static-property-for-in-iteration-expected.txt:

Add some new baselines for some existing layout tests.

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

5 months agoCorrecting expectations after r251666
tsavell@apple.com [Mon, 28 Oct 2019 23:55:18 +0000 (23:55 +0000)]
Correcting expectations after r251666
https://bugs.webkit.org/show_bug.cgi?id=203501

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

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

5 months ago[JSC] Lexer flags should be an OptionSet
ross.kirsling@sony.com [Mon, 28 Oct 2019 23:42:05 +0000 (23:42 +0000)]
[JSC] Lexer flags should be an OptionSet
https://bugs.webkit.org/show_bug.cgi?id=203032

Reviewed by Yusuke Suzuki.

LexerFlags has an annoyingly misspelled value LexexFlagsDontBuildKeywords;
let's use this as an opportunity to modernize this enum.

* parser/ASTBuilder.h:
* parser/Lexer.cpp:
(JSC::Lexer<LChar>::parseIdentifier):
(JSC::Lexer<UChar>::parseIdentifier):
(JSC::Lexer<CharacterType>::parseIdentifierSlowCase):
(JSC::Lexer<T>::lexWithoutClearingLineTerminator):
* parser/Lexer.h:
(JSC::Lexer<T>::lexExpectIdentifier):
(JSC::Lexer<T>::lex):
* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseProperty):
(JSC::Parser<LexerType>::parseMemberExpression):
* parser/Parser.h:
(JSC::Parser::next):
(JSC::Parser::nextWithoutClearingLineTerminator):
(JSC::Parser::nextExpectIdentifier):
(JSC::Parser::consume):
* parser/SyntaxChecker.h:

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

5 months agoediting/firstPositionInNode-crash.html in crashing in Debug
cdumez@apple.com [Mon, 28 Oct 2019 23:29:25 +0000 (23:29 +0000)]
editing/firstPositionInNode-crash.html in crashing in Debug
https://bugs.webkit.org/show_bug.cgi?id=203520

Reviewed by Ryosuke Niwa.

If positionInParentBeforeNode / positionInParentAfterNode on a node and editingIgnoresContent()
returns true for this node's parent, keep traversing ancestors until we find one for which
editingIgnoresContent() returns false.

No new tests, covered by editing/firstPositionInNode-crash.html.

* dom/Position.cpp:
(WebCore::positionInParentBeforeNode):
(WebCore::positionInParentAfterNode):
* dom/Position.h:

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

5 months agoWeb Inspector: Right-clicking in color picker should not select color
nvasilyev@apple.com [Mon, 28 Oct 2019 23:24:48 +0000 (23:24 +0000)]
Web Inspector: Right-clicking in color picker should not select color
https://bugs.webkit.org/show_bug.cgi?id=203434

Reviewed by Devin Rousso.

* UserInterface/Views/ColorSquare.js:
(WI.ColorSquare.prototype._handleMousedown):

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

5 months agoHidden framesets should provide default edgeInfo value
zalan@apple.com [Mon, 28 Oct 2019 23:09:39 +0000 (23:09 +0000)]
Hidden framesets should provide default edgeInfo value
https://bugs.webkit.org/show_bug.cgi?id=203506
<rdar://problem/56233726>

Reviewed by Simon Fraser.

Source/WebCore:

The grid information (and certain associated structures e.g. edegeInfo) for a frameset is updated through the layout() call.
When the used height/width computes to zero on a frameset child (frame or nested frameset), we don't run layout on the renderer thus
hidden nested framesets can only provide the default edge info.
This patch changes this behaviour and we now call layout on those hidden renderers the same way we do it on iOS.

Test: fast/frames/hidden-frameset.html

* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::edgeInfo const):

LayoutTests:

* fast/frames/hidden-frameset-expected.txt: Added.
* fast/frames/hidden-frameset.html: Added.

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

5 months agoAdded myself as a committer.
katherine_cheney@apple.com [Mon, 28 Oct 2019 22:41:24 +0000 (22:41 +0000)]
Added myself as a committer.

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

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

5 months agoDrop code for X-Temp-Tablet HTTP header experiment
cdumez@apple.com [Mon, 28 Oct 2019 22:10:19 +0000 (22:10 +0000)]
Drop code for X-Temp-Tablet HTTP header experiment
https://bugs.webkit.org/show_bug.cgi?id=203524
<rdar://problem/55791195>

Reviewed by Ryosuke Niwa.

* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::CachedResourceLoader):
(WebCore::CachedResourceLoader::requestResource):
* loader/cache/CachedResourceLoader.h:

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

5 months agoUpdate html/semantics/forms WPT tests from upstream
cdumez@apple.com [Mon, 28 Oct 2019 22:07:55 +0000 (22:07 +0000)]
Update html/semantics/forms WPT tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=203499

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Re-sync html/semantics/forms WPT tests from upstream 23c1462333cb99f.

* resources/import-expectations.json:
* web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-2-expected.txt: Added.
* web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-2.html: Added.
* web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-3-expected.txt: Added.
* web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-3.html: Added.
* web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-expected.txt: Added.
* web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit.html: Added.
* web-platform-tests/html/semantics/forms/form-submission-0/resources/form-submission.py: Added.
(main):
* web-platform-tests/html/semantics/forms/form-submission-0/resources/w3c-import.log:
* web-platform-tests/html/semantics/forms/form-submission-0/submit-entity-body.html:
* web-platform-tests/html/semantics/forms/form-submission-0/w3c-import.log:
* web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application.html:
* web-platform-tests/html/semantics/forms/the-input-element/range-setattribute-value-expected.html: Added.
* web-platform-tests/html/semantics/forms/the-input-element/range-setattribute-value.html: Added.
* web-platform-tests/html/semantics/forms/the-input-element/w3c-import.log:

LayoutTests:

* TestExpectations:
Skip new ref-test that is failing.

* platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt:
* platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt:
Baseline existing WPT test.

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

5 months agoRemove unused _WKProcessPoolConfiguration SPI
achristensen@apple.com [Mon, 28 Oct 2019 21:57:39 +0000 (21:57 +0000)]
Remove unused _WKProcessPoolConfiguration SPI
https://bugs.webkit.org/show_bug.cgi?id=203066

Reviewed by Youenn Fablet.

Source/WebKit:

After rdar://problem/56260478 this is not used, so away it goes!

* NetworkProcess/NetworkProcess.h:
(WebKit::NetworkProcess::suppressesConnectionTerminationOnSystemChange const): Deleted.
* NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
* NetworkProcess/NetworkProcessCreationParameters.h:
* NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
* NetworkProcess/cocoa/NetworkSessionCocoa.h:
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
(WebKit::globalCTDataConnectionServiceType): Deleted.
(WebKit::NetworkSessionCocoa::ctDataConnectionServiceType const): Deleted.
(WebKit::NetworkSessionCocoa::setCTDataConnectionServiceType): Deleted.
* NetworkProcess/ios/NetworkConnectionToWebProcessIOS.mm:
(WebKit::NetworkConnectionToWebProcess::paymentCoordinatorCTDataConnectionServiceType):
* UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::copy):
* UIProcess/API/APIProcessPoolConfiguration.h:
* UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
* UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
(-[_WKProcessPoolConfiguration suppressesConnectionTerminationOnSystemChange]): Deleted.
(-[_WKProcessPoolConfiguration setSuppressesConnectionTerminationOnSystemChange:]): Deleted.
(-[_WKProcessPoolConfiguration CTDataConnectionServiceType]): Deleted.
(-[_WKProcessPoolConfiguration setCTDataConnectionServiceType:]): Deleted.
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::paymentCoordinatorCTDataConnectionServiceType):

Tools:

* TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm:
(TEST):

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

5 months agoRemove unused WKWebsiteDataStore setter SPI
achristensen@apple.com [Mon, 28 Oct 2019 21:52:07 +0000 (21:52 +0000)]
Remove unused WKWebsiteDataStore setter SPI
https://bugs.webkit.org/show_bug.cgi?id=203114

Reviewed by Anders Carlsson.

They have been replaced by _WKWebsiteDataStoreConfiguration SPI which was adopted in rdar://problem/56349165

* UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _setBoundInterfaceIdentifier:]): Deleted.
(-[WKWebsiteDataStore _boundInterfaceIdentifier]): Deleted.
(-[WKWebsiteDataStore _setAllowsCellularAccess:]): Deleted.
(-[WKWebsiteDataStore _allowsCellularAccess]): Deleted.
(-[WKWebsiteDataStore _setProxyConfiguration:]): Deleted.
(-[WKWebsiteDataStore _proxyConfiguration]): Deleted.
* UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
* UIProcess/WebsiteData/WebsiteDataStore.h:
(WebKit::WebsiteDataStore::setBoundInterfaceIdentifier): Deleted.
(WebKit::WebsiteDataStore::setAllowsCellularAccess): Deleted.
(WebKit::WebsiteDataStore::setProxyConfiguration): Deleted.

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

5 months agoFix a bug that cannot unhide a platform.
dewei_zhu@apple.com [Mon, 28 Oct 2019 21:46:29 +0000 (21:46 +0000)]
Fix a bug that cannot unhide a platform.
https://bugs.webkit.org/show_bug.cgi?id=203521

Reviewed by Ryosuke Niwa.

Before this change, the there is no value in POST when 'hidden' checkbox is unchecked.
Then the update will fail because platform_hidden cannot be NULL.

* public/admin/platforms.php: Adapted 'update_boolean_field'.
* public/admin/triggerables.php: Adapted 'update_boolean_field'.
* public/include/admin-header.php: Added 'update_boolean_field' helper function to set explict
boolean value for update.

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

5 months agoExpose _printOperationWithPrintInfo: SPI as API
beidson@apple.com [Mon, 28 Oct 2019 21:42:43 +0000 (21:42 +0000)]
Expose _printOperationWithPrintInfo: SPI as API
<rdar://problem/36557179> and https://bugs.webkit.org/show_bug.cgi?id=203496

Reviewed by Andy Estes.

Source/WebKit:

* UIProcess/API/Cocoa/WKWebView.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView printOperationWithPrintInfo:]):
(-[WKWebView _printOperationWithPrintInfo:]):

Tools:

* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController printWebView:]):

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

5 months agoLayout Test http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated...
katherine_cheney@apple.com [Mon, 28 Oct 2019 21:38:26 +0000 (21:38 +0000)]
Layout Test http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=203491
<rdar://problem/56674176>

Reviewed by Chris Dumez.

No new tests, this change is tested by the existing resourceLoadStatistics
tests.

This test started flaking when a new memory store was being created
between tests to maintain consistency. The call to grandfatherExistingWebsiteData
from populateMemoryStoreFromDisk in the persistent storage was
async, causing a race condition that led to occasional failures.
Adding a completion handler and changing the callsite of
populateMemoryStoreFromDisk should fix this problem.

* NetworkProcess/Classifier/ResourceLoadStatisticsPersistentStorage.cpp:
(WebKit::ResourceLoadStatisticsPersistentStorage::ResourceLoadStatisticsPersistentStorage):
* NetworkProcess/Classifier/ResourceLoadStatisticsPersistentStorage.h:
* NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore):
The persistent store in the databaseEnabled case was never being used
and is unnecessary.

(WebKit::WebResourceLoadStatisticsStore::populateMemoryStoreFromDisk):
Since persistent storage only exists when using the memory store,
populateMemoryStoreFromDisk should check if
m_persistentStorage has been initialized.

* NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::setUseITPDatabase):
* NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::setResourceLoadStatisticsEnabled):
(WebKit::NetworkSession::recreateResourceLoadStatisticStore):
* NetworkProcess/NetworkSession.h:

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

5 months ago[JSC] Optimize Promise runtime functions
ysuzuki@apple.com [Mon, 28 Oct 2019 21:13:57 +0000 (21:13 +0000)]
[JSC] Optimize Promise runtime functions
https://bugs.webkit.org/show_bug.cgi?id=203454

Reviewed by Keith Miller.

JSTests:

* microbenchmarks/promise-reject.js: Added.
* microbenchmarks/promise-resolve.js: Added.

Source/JavaScriptCore:

This patch optimizes Promise runtime functions a bit.

1. Add fast paths to Promise.resolve / Promise.reject.
2. Remove state check in async-functions. Unlike generators, async-function's next function is not exposed to users.
   It is called by runtime so we can control state perfectly.
3. Add "enqueueJob" name to make sampling profiler work for this function.
4. Make Promise/InternalPromise constructor inlinable size

                                      ToT                     Patched

    promise-creation-many       25.5794+-0.3681     ^     22.5410+-0.3229        ^ definitely 1.1348x faster
    promise-resolve             32.3793+-0.4252     ^      9.4219+-0.1114        ^ definitely 3.4366x faster
    promise-reject             108.5968+-0.7741     ^     36.9383+-0.3770        ^ definitely 2.9400x faster

* builtins/AsyncFunctionPrototype.js:
(globalPrivate.asyncFunctionResume):
* builtins/PromiseConstructor.js:
(reject):
(resolve):
(nakedConstructor.Promise.reject):
(nakedConstructor.Promise):
(nakedConstructor.InternalPromise.reject):
(nakedConstructor.InternalPromise):
(nakedConstructor.Promise.resolve): Deleted.
(nakedConstructor.InternalPromise.resolve): Deleted.
* builtins/PromiseOperations.js:
(globalPrivate.newPromiseCapability.resolve):
(globalPrivate.newPromiseCapability.reject):
(globalPrivate.newPromiseCapability):
(globalPrivate.promiseResolveSlow):
(globalPrivate.promiseRejectSlow):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):

LayoutTests:

* inspector/console/message-stack-trace-expected.txt:

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

5 months agoresults.webkit.org: Show results which are missing expectations
jbedard@apple.com [Mon, 28 Oct 2019 20:50:47 +0000 (20:50 +0000)]
results.webkit.org: Show results which are missing expectations
https://bugs.webkit.org/show_bug.cgi?id=203494
<rdar://problem/56436643>

Reviewed by Aakash Jain.

* resultsdbpy/resultsdbpy/view/static/css/timeline.css:
(.dot.warning): Add warning dot with dark-orange color.
* resultsdbpy/resultsdbpy/view/static/js/expectations.js:
(Expectations.colorMap): Add warning.
(Expectations.failureTypes): Ditto.
(Expectations.failureTypeMap): Ditto.
(Expectations.symbolMap): Ditto.
* resultsdbpy/resultsdbpy/view/static/js/timeline.js:
(Legend): Add warning bubble.

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

5 months ago[JSC] Use FTLOutput::callWithoutSideEffects if operation does not have side effects
ysuzuki@apple.com [Mon, 28 Oct 2019 20:44:03 +0000 (20:44 +0000)]
[JSC] Use FTLOutput::callWithoutSideEffects if operation does not have side effects
https://bugs.webkit.org/show_bug.cgi?id=203485

Reviewed by Mark Lam.

This makes Call's Effect none, and encourages optimizations around it.

* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::doubleToInt32):
(JSC::FTL::DFG::LowerDFGToB3::sensibleDoubleToInt32):
(JSC::FTL::DFG::LowerDFGToB3::jsValueToStrictInt52):

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

5 months agoProperties that take <position> should not accept 3 values
simon.fraser@apple.com [Mon, 28 Oct 2019 20:32:16 +0000 (20:32 +0000)]
Properties that take <position> should not accept 3 values
https://bugs.webkit.org/show_bug.cgi?id=189142
LayoutTests/imported/w3c:

<rdar://problem/44110851>

Reviewed by Antti Koivisto.

New PASS results.

* web-platform-tests/css/css-images/parsing/gradient-position-invalid-expected.txt:
* web-platform-tests/css/css-images/parsing/object-position-invalid-expected.txt:
* web-platform-tests/css/css-shapes/parsing/shape-outside-invalid-position-expected.txt:

Source/WebCore:

Reviewed by Antti Koivisto.

The resolution in https://github.com/w3c/csswg-drafts/issues/2140 changed the syntax for <position>,
disallowing the 3-value syntax. This is used in object-position, gradients and shapes. background-position
continues to use the old syntax.

Fix CSS parsing accordingly.

Tested by css-images WPT, by shapes tests, and object-position tests.

* css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::consumePerspectiveOrigin):
(WebCore::consumeBasicShapeCircle):
(WebCore::consumeBasicShapeEllipse):
(WebCore::CSSPropertyParser::parseSingleValue):
(WebCore::consumeBackgroundPosition):
(WebCore::CSSPropertyParser::consumeBackgroundShorthand):
* css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::backgroundPositionFromThreeValues):
(WebCore::CSSPropertyParserHelpers::positionFromFourValues):
(WebCore::CSSPropertyParserHelpers::consumePosition):
(WebCore::CSSPropertyParserHelpers::consumeRadialGradient):
(WebCore::CSSPropertyParserHelpers::consumeConicGradient):
(WebCore::CSSPropertyParserHelpers::positionFromThreeOrFourValues): Deleted.
* css/parser/CSSPropertyParserHelpers.h:

LayoutTests:

Reviewed by Antti Koivisto.

Land some FAIL results for these shapes tests. They should get removed when
the css/css-shapes WPT are imported (webkit.org/b/203441), though the WPT
haven't been updated for the new syntax either.

* css3/shapes/shape-outside/values/shape-outside-circle-002-expected.txt:
* css3/shapes/shape-outside/values/shape-outside-circle-004-expected.txt:
* css3/shapes/shape-outside/values/shape-outside-ellipse-002-expected.txt:
* css3/shapes/shape-outside/values/shape-outside-ellipse-004-expected.txt:
* fast/css/object-position/parsing-object-position-expected.txt:
* fast/css/object-position/parsing-object-position.html: Remove the invalid position test.
* fast/shapes/parsing/parsing-shape-outside-expected.txt:
* fast/shapes/parsing/parsing-test-utils.js:  Remove the invalid position tests.

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

5 months agodumpSpeculation in SpeculatedType.cpp prints to the wrong stream and has wrong capita...
commit-queue@webkit.org [Mon, 28 Oct 2019 20:21:47 +0000 (20:21 +0000)]
dumpSpeculation in SpeculatedType.cpp prints to the wrong stream and has wrong capitalization for NaN
https://bugs.webkit.org/show_bug.cgi?id=203486

Patch by Tuomas Karkkainen <tuomas.webkit@apple.com> on 2019-10-28
Reviewed by Antti Koivisto.

* bytecode/SpeculatedType.cpp:
(JSC::dumpSpeculation):

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

5 months agoTwo imported tests from r251591 are failing
tsavell@apple.com [Mon, 28 Oct 2019 20:09:27 +0000 (20:09 +0000)]
Two imported tests from r251591 are failing
https://bugs.webkit.org/show_bug.cgi?id=203501

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

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

5 months ago[iOS] 3 editing/pasteboard/smart-paste-paragraph-* tests are flaky
wenson_hsieh@apple.com [Mon, 28 Oct 2019 19:58:02 +0000 (19:58 +0000)]
[iOS] 3 editing/pasteboard/smart-paste-paragraph-* tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=203264
<rdar://problem/56512107>

Reviewed by Tim Horton.

Fixes several flaky layout tests that exercise a corner case in our logic for caching position information
responses in the UI process. When focusing an element via a tap, we send a position information request for the
tap location in -_webTouchEventsRecognized:. After the web process computes the information and hands it back to
the UI process, we cache this in WKContentView's _positionInformation.

However, at the time of computing the request, the tapped element has not been focused yet, so the value of the
position information's nodeAtPositionIsFocusedElement flag is false. After the tap is recognized, we'll then
focus the element, such that if a subsequent position information request were to arrive at the same location,
it would have a nodeAtPositionIsFocusedElement flag set to true.

In this state, if the user taps _exactly_ at the same location again, UIKit (through text interaction gestures)
will ask us for information at the same point; we will end up using the cached information, for which
nodeAtPositionIsFocusedElement is false, causing us to incorrectly prevent the text interaction. In this
particular case, we fail to select text via a double tap gesture.

To address this, we invalidate the cached position information in the UI process whenever the focused element
rect changes (e.g. when the focused element changes); the only exception to this is when the previously cached
position information was not over the focused element, and the new focused element rect is empty, in which case
the value of nodeAtPositionIsFocusedElement is guaranteed to have not changed.

While this may potentially leads to an additional synchronous position information request when tapping at the
same location after focusing an element, this is very difficult to achieve in practice, since the tap location
would need to be _exactly_ at the same location.

No new test, since this is exercised by existing flaky layout tests.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _elementDidFocus:userIsInteracting:blurPreviousNode:activityStateChanges:userObject:]):
(-[WKContentView _elementDidBlur]):

Also, add a FIXME about how we clear out surprisingly little of _focusedElementInformation when blurring the
focused element.

(-[WKContentView _didChangeFocusedElementRect:toRect:]):

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

5 months agoFlaky Test: imported/w3c/web-platform-tests/css/css-position/position-absolute-crash...
simon.fraser@apple.com [Mon, 28 Oct 2019 19:52:54 +0000 (19:52 +0000)]
Flaky Test: imported/w3c/web-platform-tests/css/css-position/position-absolute-crash-chrome-005.html
https://bugs.webkit.org/show_bug.cgi?id=203473
https://bugs.webkit.org/show_bug.cgi?id=203474

Unreviewed test gardening.

Add missing results (missing because these tests assert in debug).

* web-platform-tests/css/css-position/position-absolute-container-dynamic-002-expected.txt: Added.
* web-platform-tests/css/css-position/position-absolute-crash-chrome-005-expected.txt: Added.

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

5 months agoStorage Access API: Make the API work with the experimental 3rd-party cookie blocking
wilander@apple.com [Mon, 28 Oct 2019 19:45:03 +0000 (19:45 +0000)]
Storage Access API: Make the API work with the experimental 3rd-party cookie blocking
https://bugs.webkit.org/show_bug.cgi?id=203428
<rdar://problem/56626949>

Reviewed by Alex Christensen.

Source/WebKit:

Tests: http/tests/storageAccess/deny-due-to-no-interaction-under-general-third-party-cookie-blocking.html
       http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking.html
       http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie.html
       http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-without-cookie.html

This patch adds Storage Access API support for the experimental 3rd-party cookie blocking that
landed in <https://trac.webkit.org/changeset/251467>.

There are three policies at play because it can be changed with the experimental setting:
1. The underlying cookie policy.
2. Shipping ITP.
3. The off by default, experimental 3rd-party cookie blocking.

To support them all, a CookieAccess enum was added to encode how the API should respond.
The enum has these values:
CannotRequest - This third-party cannot request storage access based on the current policy.
BasedOnCookiePolicy – This third-party should be treated according to the underlying cookie policy.
OnlyIfGranted – This third-party can and must get access through the Storage Access API.

Here's the truth table I used to work through the logic for both
document.hasStorageAccess() and document.requestStorageAccess():

Access  | Is        | User        | Has    | 3rd-party    |        |
granted | prevalent | interaction | cookie | cookie block | RESULT |
-------------------------------------------------------------------
|       |           |             |        |              | false  |
-------------------------------------------------------------------
|       |           |             |        | true         | false  |
-------------------------------------------------------------------
|       |           |             | true   |              | true   |
-------------------------------------------------------------------
|       |           |             | true   | true         | false  |
-------------------------------------------------------------------
|       |           | true        |        |              | false  |
-------------------------------------------------------------------
|       |           | true        |        | true         | false  |
-------------------------------------------------------------------
|       |           | true        | true   |              | true   |
-------------------------------------------------------------------
|       |           | true        | true   | true         | false  |
-------------------------------------------------------------------
|       | true      | !care       | !care  | !care        | false  |
-------------------------------------------------------------------
| true  | !care     | !care       | !care  | !care        | true   |
-------------------------------------------------------------------

* NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
(WebKit::ResourceLoadStatisticsDatabaseStore::cookieAccess const):
(WebKit::ResourceLoadStatisticsDatabaseStore::hasStorageAccess):
(WebKit::ResourceLoadStatisticsDatabaseStore::requestStorageAccess):
(WebKit::ResourceLoadStatisticsDatabaseStore::requestStorageAccessUnderOpener):
    Extra checks removed since there's no harm in granting access
    to a third-party that already has access by way of the underlying
    cookie policy. Also, this is a temporary compatibility fix.
* NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
* NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp:
(WebKit::ResourceLoadStatisticsMemoryStore::cookieAccess const):
(WebKit::ResourceLoadStatisticsMemoryStore::hasStorageAccess):
(WebKit::ResourceLoadStatisticsMemoryStore::requestStorageAccess):
(WebKit::ResourceLoadStatisticsMemoryStore::requestStorageAccessUnderOpener):
    Extra checks removed since there's no harm in granting access
    to a third-party that already has access by way of the underlying
    cookie policy. Also, this is a temporary compatibility fix.
* NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.h:
* NetworkProcess/Classifier/ResourceLoadStatisticsStore.h:
(WebKit::ResourceLoadStatisticsStore::setIsThirdPartyCookieBlockingEnabled):
(WebKit::ResourceLoadStatisticsStore::isThirdPartyCookieBlockingEnabled const):
* NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::setIsThirdPartyCookieBlockingEnabled):
    This is now the single path to control this setting in both ITP
    and the network storage session. See comment below.
* NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::setShouldBlockThirdPartyCookiesForTesting):
* NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::setResourceLoadStatisticsEnabled):
(WebKit::NetworkSession::setIsThirdPartyCookieBlockingEnabled):
    Restructured these so that they are initiated like the rest of the
    parameters and only have a single path for changes so that a
    reset to consistent state resets all the state.
* NetworkProcess/NetworkSession.h:
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):

Tools:

* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::statisticsCallDidSetShouldDowngradeReferrerCallback):
(WTR::TestRunner::statisticsCallDidSetShouldBlockThirdPartyCookiesCallback):
    Both of these were missing resets of their m_hasSet*Callback booleans.

LayoutTests:

* http/tests/storageAccess/deny-due-to-no-interaction-under-general-third-party-cookie-blocking-database-expected.txt: Added.
* http/tests/storageAccess/deny-due-to-no-interaction-under-general-third-party-cookie-blocking-database.html: Added.
* http/tests/storageAccess/deny-due-to-no-interaction-under-general-third-party-cookie-blocking-expected.txt: Added.
* http/tests/storageAccess/deny-due-to-no-interaction-under-general-third-party-cookie-blocking.html: Added.
* http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking-database-expected.txt: Added.
* http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking-database.html: Added.
* http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking-expected.txt: Added.
* http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking.html: Added.
* http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies.html:
* http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie-database-expected.txt: Added.
* http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie-database.html: Added.
* http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie-expected.txt: Added.
* http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie.html: Added.
* http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-without-cookie-database-expected.txt: Added.
* http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-without-cookie-database.html: Added.
* http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-without-cookie-expected.txt: Added.
* http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-without-cookie.html: Added.

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

5 months agoAdd support for the Q unit
simon.fraser@apple.com [Mon, 28 Oct 2019 18:56:19 +0000 (18:56 +0000)]
Add support for the Q unit
https://bugs.webkit.org/show_bug.cgi?id=203469

Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:

Add support for the CSS "Q" unit (quater-millimeter):
<https://drafts.csswg.org/css-values-4/#Q>

* web-platform-tests/css/css-values/absolute-length-units-001-expected.txt:
* web-platform-tests/css/css-values/calc-serialization-002-expected.txt:
* web-platform-tests/css/css-values/minmax-length-computed-expected.txt:
* web-platform-tests/css/css-values/minmax-length-percent-computed-expected.txt:
* web-platform-tests/css/css-values/minmax-length-percent-serialize-expected.txt:
* web-platform-tests/css/css-values/minmax-length-serialize-expected.txt:

Source/WebCore:

Add support for the CSS "Q" unit (quater-millimeter):
<https://drafts.csswg.org/css-values-4/#Q>

Tested by web platform tests.

* css/CSSCalculationValue.cpp:
(WebCore::unitCategory):
(WebCore::hasDoubleValue):
* css/CSSPrimitiveValue.cpp:
(WebCore::isValidCSSUnitTypeForDoubleConversion):
(WebCore::isStringType):
(WebCore::CSSPrimitiveValue::unitCategory):
(WebCore::CSSPrimitiveValue::cleanup):
(WebCore::CSSPrimitiveValue::computeNonCalcLengthDouble):
(WebCore::CSSPrimitiveValue::conversionToCanonicalUnitsScaleFactor):
(WebCore::CSSPrimitiveValue::formatNumberForCustomCSSText const):
(WebCore::CSSPrimitiveValue::equals const):
* css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::isLength):
* css/parser/CSSParserToken.cpp:
(WebCore::cssPrimitiveValueUnitFromTrie):
* css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::consumeLength):
* editing/cocoa/HTMLConverter.mm:
(floatValueFromPrimitiveValue):

LayoutTests:

More tests now pass.

* TestExpectations:
* fast/dom/HTMLImageElement/sizes/image-sizes-w3c-1-expected.txt:
* fast/dom/HTMLImageElement/sizes/image-sizes-w3c-2-expected.txt:
* fast/dom/HTMLImageElement/sizes/image-sizes-w3c-3-expected.txt:
* fast/dom/HTMLImageElement/sizes/image-sizes-w3c-4-expected.txt:
* platform/ios/imported/w3c/web-platform-tests/css/css-values/minmax-length-computed-expected.txt:
* platform/ios/imported/w3c/web-platform-tests/css/css-values/minmax-length-percent-computed-expected.txt:

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