Timeline



Oct 29, 2019:

10:12 PM Changeset in webkit [251768] by rniwa@webkit.org
  • 4 edits in trunk/Source/WebCore

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):

9:29 PM Changeset in webkit [251767] by mitz@apple.com
  • 8 copies
    1 add in releases/Apple/iOS 13.2

Added a tag for iOS 13.2.

9:26 PM Changeset in webkit [251766] by mitz@apple.com
  • 9 copies
    1 add in releases/Apple/Safari 13.0.3

Added a tag for Safari 13.0.3.

9:14 PM Changeset in webkit [251765] by aestes@apple.com
  • 26 edits
    1 move
    1 delete in trunk

[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):

8:14 PM Changeset in webkit [251764] by commit-queue@webkit.org
  • 9 edits in trunk

[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:
8:14 PM Changeset in webkit [251763] by Jonathan Bedard
  • 6 edits in trunk/Tools

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.
7:50 PM Changeset in webkit [251762] by jiewen_tan@apple.com
  • 17 edits
    1 add in trunk

[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.
7:48 PM Changeset in webkit [251761] by Wenson Hsieh
  • 5 edits
    2 adds in trunk

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.
7:29 PM Changeset in webkit [251760] by Alan Coon
  • 7 edits in trunk/Source

Versioning.

7:25 PM Changeset in webkit [251759] by Alan Coon
  • 1 copy in tags/Safari-609.1.9

Tag Safari-609.1.9.

6:30 PM Changeset in webkit [251758] by Alan Coon
  • 1 edit in branches/safari-608-branch/Source/WebKit/UIProcess/WebAuthentication/Cocoa/NfcService.mm

Unreviewed build fix. rdar://problem/56579657

6:26 PM Changeset in webkit [251757] by Alan Coon
  • 22 edits
    1 copy
    1 move
    1 add in branches/safari-608-branch

Cherry-pick r251317. rdar://problem/56598357

[WebAuthn] Warn users when no credentials are found
https://bugs.webkit.org/show_bug.cgi?id=203147
<rdar://problem/55931123>

Reviewed by Brent Fulgham.

Source/WebKit:

This patch returns _WKWebAuthenticationPanelUpdateNoCredentialsFound to client via
-[_WKWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:] when either
CtapAuthenticator receives kCtap2ErrNoCredentials or U2fAuthenticator exhausts the
allow list.

This patch also enhances CtapAuthenticator::tryDowngrade to check if the CTAP command
can be converted to U2F commands to ensure kCtap2ErrNoCredentials is returned if it
is the case. Otherwise, after downgrading, U2fAuthenticator will return NotSupportedError
given it can't convert the commands.

  • UIProcess/API/APIUIClient.h:
  • UIProcess/API/APIWebAuthenticationPanelClient.h: (API::WebAuthenticationPanelClient::updatePanel const):
  • UIProcess/WebAuthentication/Authenticator.h:
  • UIProcess/WebAuthentication/AuthenticatorManager.cpp: (WebKit::AuthenticatorManager::authenticatorStatusUpdated):
  • UIProcess/WebAuthentication/AuthenticatorManager.h:
  • UIProcess/WebAuthentication/Cocoa/WebAuthenticationPanelClient.h:
  • UIProcess/WebAuthentication/Cocoa/WebAuthenticationPanelClient.mm: (WebKit::WebAuthenticationPanelClient::WebAuthenticationPanelClient): (WebKit::wkWebAuthenticationPanelUpdate): (WebKit::WebAuthenticationPanelClient::updatePanel const):
  • UIProcess/WebAuthentication/WebAuthenticationFlags.h: Renamed from Source/WebKit/UIProcess/WebAuthentication/WebAuthenticationPanelFlags.h.
  • UIProcess/WebAuthentication/WebAuthenticationRequestData.h:
  • UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp:
  • UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp: (WebKit::CtapAuthenticator::continueGetAssertionAfterResponseReceived): (WebKit::CtapAuthenticator::tryDowngrade):
  • UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp: (WebKit::U2fAuthenticator::issueSignCommand):
  • WebKit.xcodeproj/project.pbxproj:

Tools:

Adds new tests for _WKWebAuthenticationPanelUpdateNoCredentialsFound.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: (-[TestWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:]): (TestWebKitAPI::TEST):
  • TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid-cancel.html:
  • TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid-no-credentials.html: Added.
  • TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid.html:
  • TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-nfc.html:
  • TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-u2f-no-credentials.html: Added.

LayoutTests:

Adds new tests for CtapAuthenticator::tryDowngrade enhancement.

  • http/wpt/webauthn/public-key-credential-get-failure-hid.https-expected.txt:
  • http/wpt/webauthn/public-key-credential-get-failure-hid.https.html:

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

6:25 PM Changeset in webkit [251756] by Alan Coon
  • 24 edits
    1 add in branches/safari-608-branch

Cherry-pick r251500. rdar://problem/56579657

[WebAuthn] Warn users when multiple NFC tags present
https://bugs.webkit.org/show_bug.cgi?id=200932
<rdar://problem/54890736>

Reviewed by Brent Fulgham.

Source/WebCore:

Covered by new tests in existing test file.

  • testing/MockWebAuthenticationConfiguration.h: (WebCore::MockWebAuthenticationConfiguration::NfcConfiguration::encode const): (WebCore::MockWebAuthenticationConfiguration::NfcConfiguration::decode):
  • testing/MockWebAuthenticationConfiguration.idl: Adds a new test option.

Source/WebKit:

This patch utilizes -[_WKWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:] to
inform clients about multiple physical tags are presenting such that clients can instruct users
to select only one of them physically. Given a physical tag could have multiple different
interfaces, which NearField will treat them into different NFTags, the tagID is then used to
identify if there are actually multiple physical tags.

This patch also adds the ability to restart polling of a partiuclar NFReaderSession to NfcConnection
and the ability to restart the whole session to NfcService. The former is used to recover from errors
in the discovery stages, and the latter is used to recover from errors returned from authenticators
in the request stages. For the latter, given NfcConnection is not awared of the syntax of FIDO2/U2F
protocol, and CtapAuthenticator/U2fAuthenticator are not awared the transport of the underneath driver.
A generic restartDiscovery process is added to each service and it is up to the actual service to
implement the actual process such that AuthenticatorManager can arbitrarily call it after exceptions
are returned to restart the whole NFC session. To achieve restartDiscovery, NfcConnection is made
RefCounted as well such that both the NfcService and the CtapNfcDriver could hold it at the same time.
CtapNfcDriver uses the connection to complete requests as before while NfcService has the new capability
to use it to stop the current session when restartDiscovery kicks off.

  • Platform/spi/Cocoa/NearFieldSPI.h:
  • UIProcess/WebAuthentication/AuthenticatorManager.cpp: (WebKit::AuthenticatorManager::serviceStatusUpdated): (WebKit::AuthenticatorManager::respondReceived): (WebKit::AuthenticatorManager::restartDiscovery):
  • UIProcess/WebAuthentication/AuthenticatorManager.h:
  • UIProcess/WebAuthentication/AuthenticatorTransportService.cpp: (WebKit::AuthenticatorTransportService::startDiscovery): (WebKit::AuthenticatorTransportService::restartDiscovery):
  • UIProcess/WebAuthentication/AuthenticatorTransportService.h: (WebKit::AuthenticatorTransportService::restartDiscoveryInternal):
  • UIProcess/WebAuthentication/Cocoa/NfcConnection.h:
  • UIProcess/WebAuthentication/Cocoa/NfcConnection.mm: (WebKit::NfcConnection::create): (WebKit::NfcConnection::NfcConnection): (WebKit::NfcConnection::~NfcConnection): (WebKit::NfcConnection::stop const): (WebKit::NfcConnection::didDetectTags): (WebKit::NfcConnection::restartPolling): (WebKit::NfcConnection::startPolling): (WebKit::NfcConnection::didDetectTags const): Deleted.
  • UIProcess/WebAuthentication/Cocoa/NfcService.h:
  • UIProcess/WebAuthentication/Cocoa/NfcService.mm: (WebKit::NfcService::NfcService): (WebKit::NfcService::didConnectTag): (WebKit::NfcService::didDetectMultipleTags const): (WebKit::NfcService::setConnection): (WebKit::NfcService::restartDiscoveryInternal): (WebKit::NfcService::platformStartDiscovery): (WebKit::NfcService::setDriver): Deleted.
  • UIProcess/WebAuthentication/Mock/MockNfcService.h:
  • UIProcess/WebAuthentication/Mock/MockNfcService.mm: (-[WKMockNFTag tagID]): (-[WKMockNFTag initWithNFTag:]): (-[WKMockNFTag dealloc]): (-[WKMockNFTag initWithType:]): (-[WKMockNFTag initWithType:tagID:]): (WebKit::MockNfcService::receiveStopPolling): (WebKit::MockNfcService::receiveStartPolling): (WebKit::MockNfcService::platformStartDiscovery): (WebKit::MockNfcService::detectTags): (WebKit::MockNfcService::detectTags const): Deleted.
  • UIProcess/WebAuthentication/fido/CtapNfcDriver.cpp: (WebKit::CtapNfcDriver::CtapNfcDriver):
  • UIProcess/WebAuthentication/fido/CtapNfcDriver.h:
  • UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp:

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: (-[TestWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:]): (TestWebKitAPI::TEST): Adds a new test for -[_WKWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:].
  • TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-nfc-multiple-tags.html: Added.

LayoutTests:

  • http/wpt/webauthn/public-key-credential-create-success-nfc.https-expected.txt:
  • http/wpt/webauthn/public-key-credential-create-success-nfc.https.html: Adds new tests for multiple physical tags and service restart.

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

6:25 PM Changeset in webkit [251755] by Alan Coon
  • 19 edits in branches/safari-608-branch

Cherry-pick r251489. rdar://problem/56579665

[WebAuthn] Supply FrameInfo in -[WKUIDelegatePrivate _webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]
https://bugs.webkit.org/show_bug.cgi?id=202563
<rdar://problem/55973968>

Reviewed by Brent Fulgham.

Source/WebCore:

Covered by new test contents within existing tests.

  • Modules/webauthn/AuthenticatorCoordinator.cpp: (WebCore::AuthenticatorCoordinator::create const): (WebCore::AuthenticatorCoordinator::discoverFromExternalSource const):
  • Modules/webauthn/AuthenticatorCoordinatorClient.h:

Source/WebKit:

This patch makes WKFrameInfo available to clients via the above SPI. To do so,
SecuirtyOrigin of the caller document is passed from WebContent Process.

  • UIProcess/API/APIUIClient.h: (API::UIClient::runWebAuthenticationPanel):
  • UIProcess/API/C/WKPage.cpp: (WKPageSetPageUIClient):
  • UIProcess/Cocoa/UIDelegate.h:
  • UIProcess/Cocoa/UIDelegate.mm: (WebKit::UIDelegate::UIClient::runWebAuthenticationPanel):
  • UIProcess/WebAuthentication/AuthenticatorManager.cpp: (WebKit::AuthenticatorManager::runPanel):
  • UIProcess/WebAuthentication/WebAuthenticationRequestData.h:
  • UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp: (WebKit::WebAuthenticatorCoordinatorProxy::makeCredential): (WebKit::WebAuthenticatorCoordinatorProxy::getAssertion): (WebKit::WebAuthenticatorCoordinatorProxy::handleRequest):
  • UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h:
  • UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.messages.in:
  • WebProcess/WebAuthentication/WebAuthenticatorCoordinator.cpp: (WebKit::WebAuthenticatorCoordinator::makeCredential): (WebKit::WebAuthenticatorCoordinator::getAssertion):
  • WebProcess/WebAuthentication/WebAuthenticatorCoordinator.h:

Tools:

Adds new test contents into existing tests.

  • TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: (-[TestWebAuthenticationPanelUIDelegate init]): (-[TestWebAuthenticationPanelUIDelegate _webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]): (-[TestWebAuthenticationPanelUIDelegate frame]): (TestWebKitAPI::TEST):

LayoutTests:

  • http/wpt/webauthn/public-key-credential-get-success-hid.https.html: Imporves the flakiness.

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

6:25 PM Changeset in webkit [251754] by Alan Coon
  • 58 edits
    3 copies
    2 deletes in branches/safari-608-branch

Cherry-pick r251295. rdar://problem/56579665

[WebAuthn] Implement AuthenticatorCancel
https://bugs.webkit.org/show_bug.cgi?id=191523
<rdar://problem/55920204>

Reviewed by Brent Fulgham.

Source/WebCore:

Covered by new tests in existing test files.

  • Modules/credentialmanagement/CredentialsContainer.cpp: (WebCore::CredentialsContainer::get): (WebCore::CredentialsContainer::isCreate):
  • Modules/webauthn/AuthenticatorCoordinator.cpp: (WebCore::AuthenticatorCoordinator::create const): (WebCore::AuthenticatorCoordinator::discoverFromExternalSource const):
  • Modules/webauthn/AuthenticatorCoordinator.h:
  • Modules/webauthn/AuthenticatorCoordinatorClient.cpp: Removed.
  • Modules/webauthn/AuthenticatorCoordinatorClient.h:
  • Modules/webauthn/PublicKeyCredential.cpp: (WebCore::PublicKeyCredential::tryCreate):
  • Modules/webauthn/PublicKeyCredential.h:
  • Modules/webauthn/PublicKeyCredentialData.h:
  • Modules/webauthn/fido/DeviceRequestConverter.h:
  • Modules/webauthn/fido/FidoHidMessage.cpp: (fido::FidoHidMessage::FidoHidMessage):
  • Modules/webauthn/fido/FidoHidPacket.cpp: (fido::FidoHidInitPacket::getSerializedData const): (fido::FidoHidContinuationPacket::getSerializedData const):
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • testing/MockWebAuthenticationConfiguration.h: (WebCore::MockWebAuthenticationConfiguration::HidConfiguration::encode const): (WebCore::MockWebAuthenticationConfiguration::HidConfiguration::decode):
  • testing/MockWebAuthenticationConfiguration.idl: Adds a new option to test AuthenticatorCancel.

Source/WebKit:

This patch implement two ways to cancel a pending WebAuthn ceremony:
1) Via navigation activities. Activities include i) main frame navigation, ii) main frame reload,
iii) main frame destruction, iv) sub frame navigation, and v) sub frame destruction. All the above
activities will cancel any pending WebAuthn ceremony that is associated with the frame. To prove
the association, a GlobalFrameIdentifier is bridged into WebAuthenticationRequestData. Navigation
cancel is done in WebPageProxy::didStartProvisionalLoadForFrameShared, and destruction cancel is done
in WebProcessProxy::didDestroyFrame and WebPageProxy::resetState.
2) Via UI. This path is simply bridged -[_WKWebAuthenticationPanel cancel] into AuthenticatorManager.
Noted, this patch follows the spec to wait until time out to notify RPs.
References: i) Step 20 of https://www.w3.org/TR/webauthn/#createCredential, ii) Step 18 of
https://www.w3.org/TR/webauthn/#getAssertion

As for what the cancel actually does, it:
1) stops any HID/NFC scanning;
2) sends CTAPHID_CANCEL to any HID authenticators that have been added. Reference:
https://fidoalliance.org/specs/fido-v2.0-ps-20190130/fido-client-to-authenticator-protocol-v2.0-ps-20190130.html#usb-hid-cancel
Sending CTAPHID_CANCEL, however, is not trivial. An abstract class FidoAuthenticator is crafted to
do this labor for both CtapAuthenticator and U2fAuthenticator during the time of destructions.
Noted: The CtapHidDriver is the only CtapDriver implements the cancel method. Since the message
is sent during state reset, lifecycle of the HidConenction and HidService which manage the underlying
IOHIDDeviceRef is very hard to hold. This is required for the regular async sender. Therefore,
HidConnection::sendSync is crafted to send the message synchronously to get rid of the tediousness
of managing those lifecycles.

P.S. Vector::grow doesn't initialize POD types. Therefore, this patch also appends it with memset
for FidoHidPacket.

P.S.S. This patch also simplifies AuthenticatorCoordinatorClient by: i) moving code from AuthenticatorCoordinatorClient
to WebAuthenticatorCoordinatorClient, and ii) using sendWithAsyncReply. The latter allows us to
get rid of the complex mechanism of ensuring the right reply is returned.

  • DerivedSources.make:
  • Sources.txt:
  • UIProcess/API/APIWebAuthenticationPanel.cpp: (API::WebAuthenticationPanel::create): (API::WebAuthenticationPanel::WebAuthenticationPanel): (API::WebAuthenticationPanel::cancel const):
  • UIProcess/API/APIWebAuthenticationPanel.h:
  • UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm: (-[_WKWebAuthenticationPanel cancel]):
  • UIProcess/WebAuthentication/AuthenticatorManager.cpp: (WebKit::AuthenticatorManager::cancelRequest): (WebKit::AuthenticatorManager::clearState): (WebKit::AuthenticatorManager::runPanel): (WebKit::AuthenticatorManager::resetState):
  • UIProcess/WebAuthentication/AuthenticatorManager.h:
  • UIProcess/WebAuthentication/Cocoa/HidConnection.h: (WebKit::HidConnection::isInitialized const): (WebKit::HidConnection::setIsInitialized):
  • UIProcess/WebAuthentication/Cocoa/HidConnection.mm: (WebKit::HidConnection::~HidConnection): (WebKit::HidConnection::initialize): (WebKit::HidConnection::terminate): (WebKit::HidConnection::sendSync): (WebKit::HidConnection::send): (WebKit::HidConnection::registerDataReceivedCallback):
  • UIProcess/WebAuthentication/Mock/MockHidConnection.cpp: (WebKit::MockHidConnection::initialize): (WebKit::MockHidConnection::terminate): (WebKit::MockHidConnection::sendSync): (WebKit::MockHidConnection::send): (WebKit::MockHidConnection::feedReports):
  • UIProcess/WebAuthentication/Mock/MockHidConnection.h:
  • UIProcess/WebAuthentication/WebAuthenticationRequestData.h:
  • UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp: (WebKit::WebAuthenticatorCoordinatorProxy::makeCredential): (WebKit::WebAuthenticatorCoordinatorProxy::getAssertion): (WebKit::WebAuthenticatorCoordinatorProxy::handleRequest): (WebKit::WebAuthenticatorCoordinatorProxy::isUserVerifyingPlatformAuthenticatorAvailable): (WebKit::WebAuthenticatorCoordinatorProxy::requestReply): Deleted.
  • UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h:
  • UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.messages.in:
  • UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp: (WebKit::CtapAuthenticator::CtapAuthenticator): (WebKit::CtapAuthenticator::makeCredential): (WebKit::CtapAuthenticator::getAssertion): (WebKit::CtapAuthenticator::tryDowngrade):
  • UIProcess/WebAuthentication/fido/CtapAuthenticator.h:
  • UIProcess/WebAuthentication/fido/CtapDriver.h: (WebKit::CtapDriver::cancel):
  • UIProcess/WebAuthentication/fido/CtapHidDriver.cpp: (WebKit::CtapHidDriver::Worker::write): (WebKit::CtapHidDriver::Worker::read): (WebKit::CtapHidDriver::Worker::returnMessage): (WebKit::CtapHidDriver::Worker::reset): (WebKit::CtapHidDriver::Worker::cancel): (WebKit::CtapHidDriver::continueAfterChannelAllocated): (WebKit::CtapHidDriver::continueAfterResponseReceived): (WebKit::CtapHidDriver::returnResponse): (WebKit::CtapHidDriver::reset): (WebKit::CtapHidDriver::cancel):
  • UIProcess/WebAuthentication/fido/CtapHidDriver.h:
  • UIProcess/WebAuthentication/fido/FidoAuthenticator.cpp: Copied from Source/WebKit/UIProcess/API/APIWebAuthenticationPanel.cpp. (WebKit::FidoAuthenticator::FidoAuthenticator): (WebKit::FidoAuthenticator::~FidoAuthenticator): (WebKit::FidoAuthenticator::driver const): (WebKit::FidoAuthenticator::releaseDriver):
  • UIProcess/WebAuthentication/fido/FidoAuthenticator.h: Copied from Source/WebKit/UIProcess/API/APIWebAuthenticationPanel.cpp.
  • UIProcess/WebAuthentication/fido/FidoService.cpp: (WebKit::FidoService::continueAfterGetInfo):
  • UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp: (WebKit::U2fAuthenticator::U2fAuthenticator): (WebKit::U2fAuthenticator::issueCommand):
  • UIProcess/WebAuthentication/fido/U2fAuthenticator.h:
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didStartProvisionalLoadForFrameShared): (WebKit::WebPageProxy::resetState):
  • UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::didDestroyFrame):
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebAuthentication/WebAuthenticatorCoordinator.cpp: (WebKit::WebAuthenticatorCoordinator::WebAuthenticatorCoordinator): (WebKit::WebAuthenticatorCoordinator::makeCredential): (WebKit::WebAuthenticatorCoordinator::getAssertion): (WebKit::WebAuthenticatorCoordinator::isUserVerifyingPlatformAuthenticatorAvailable): (WebKit::WebAuthenticatorCoordinator::~WebAuthenticatorCoordinator): Deleted.
  • WebProcess/WebAuthentication/WebAuthenticatorCoordinator.h:
  • WebProcess/WebAuthentication/WebAuthenticatorCoordinator.messages.in: Removed.
  • WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::fromCoreFrame):
  • WebProcess/WebPage/WebFrame.h:

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebCore/FidoHidMessageTest.cpp: (TestWebKitAPI::TEST):
  • TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: (-[TestWebAuthenticationPanelUIDelegate webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]): (TestWebKitAPI::TEST):
  • TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid-cancel.html: Copied from Tools/TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid.html.
  • TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid.html:
  • TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-nfc.html:
  • TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion.html:

LayoutTests:

Modified one of the error message that is no longer emitted.

  • http/wpt/webauthn/public-key-credential-create-failure.https.html:
  • http/wpt/webauthn/public-key-credential-create-success-hid.https.html:
  • http/wpt/webauthn/public-key-credential-get-failure.https.html:
  • http/wpt/webauthn/public-key-credential-get-success-hid.https.html:

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

6:25 PM Changeset in webkit [251753] by Alan Coon
  • 5 edits in branches/safari-608-branch

Cherry-pick r251154. rdar://problem/56715899

[WebAuthn] Rename -[WKUIDelegatePrivate webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:] to -[WKUIDelegatePrivate _webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]
https://bugs.webkit.org/show_bug.cgi?id=202564
<rdar://problem/55974027>

Reviewed by Brent Fulgham.

Source/WebKit:

Rename the SPI to a proper SPI style.

  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/Cocoa/UIDelegate.mm: (WebKit::UIDelegate::setDelegate): (WebKit::UIDelegate::UIClient::runWebAuthenticationPanel):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: (-[TestWebAuthenticationPanelUIDelegate _webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]): (-[TestWebAuthenticationPanelUIDelegate webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]): Deleted.

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

6:25 PM Changeset in webkit [251752] by Alan Coon
  • 3 edits
    2 adds in branches/safari-608-branch/Tools

Cherry-pick r251148. rdar://problem/56598349

[WebAuthn] Write more tests for _WKWebAuthenticationPanel
https://bugs.webkit.org/show_bug.cgi?id=202565
<rdar://problem/55974128>

Reviewed by Brent Fulgham.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: (-[TestWebAuthenticationPanelDelegate panel:dismissWebAuthenticationPanelWithResult:]): (-[TestWebAuthenticationPanelUIDelegate init]): (-[TestWebAuthenticationPanelUIDelegate webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]): (TestWebKitAPI::TEST):
  • TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid.html: Added.
  • TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-nfc.html: Added.

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

6:25 PM Changeset in webkit [251751] by Alan Coon
  • 72 edits
    2 adds in branches/safari-608-branch

Cherry-pick r250940. rdar://problem/56598350

[WebAuthn] Move the mock testing entrance to Internals
https://bugs.webkit.org/show_bug.cgi?id=202560
<rdar://problem/55973793>

Reviewed by Chris Dumez.

Source/WebCore:

This patch moves TestRunner.setWebAuthenticationMockConfiguration to
Internals.setMockWebAuthenticationConfiguration and removes the old
entrance. The purpose of this patch is to allow API tests to use
the same mock infrastructure that is used by layout tests.

No new tests, covered by updates on existing tests.

  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Modules/webauthn/PublicKeyCredentialCreationOptions.h:
  • WebCore.xcodeproj/project.pbxproj:
  • page/ChromeClient.h: (WebCore::ChromeClient::setMockWebAuthenticationConfiguration):
  • testing/Internals.cpp: (WebCore::Internals::setMockWebAuthenticationConfiguration):
  • testing/Internals.h:
  • testing/Internals.idl:
  • testing/MockWebAuthenticationConfiguration.h: Added. (WebCore::MockWebAuthenticationConfiguration::LocalConfiguration::encode const): (WebCore::MockWebAuthenticationConfiguration::LocalConfiguration::decode): (WebCore::MockWebAuthenticationConfiguration::HidConfiguration::encode const): (WebCore::MockWebAuthenticationConfiguration::HidConfiguration::decode): (WebCore::MockWebAuthenticationConfiguration::NfcConfiguration::encode const): (WebCore::MockWebAuthenticationConfiguration::NfcConfiguration::decode): (WebCore::MockWebAuthenticationConfiguration::encode const): (WebCore::MockWebAuthenticationConfiguration::decode):
  • testing/MockWebAuthenticationConfiguration.idl: Added.

Source/WebKit:

  • UIProcess/API/C/WKWebsiteDataStoreRef.cpp: (WKWebsiteDataStoreSetWebAuthenticationMockConfiguration): Deleted.
  • UIProcess/API/C/WKWebsiteDataStoreRef.h:
  • UIProcess/WebAuthentication/AuthenticatorTransportService.cpp: (WebKit::AuthenticatorTransportService::createMock):
  • UIProcess/WebAuthentication/AuthenticatorTransportService.h:
  • UIProcess/WebAuthentication/Mock/MockAuthenticatorManager.cpp: (WebKit::MockAuthenticatorManager::MockAuthenticatorManager):
  • UIProcess/WebAuthentication/Mock/MockAuthenticatorManager.h:
  • UIProcess/WebAuthentication/Mock/MockHidConnection.cpp: (WebKit::MockHidConnection::send): (WebKit::MockHidConnection::registerDataReceivedCallbackInternal): (WebKit::MockHidConnection::parseRequest): (WebKit::MockHidConnection::feedReports): (WebKit::MockHidConnection::shouldContinueFeedReports):
  • UIProcess/WebAuthentication/Mock/MockHidConnection.h:
  • UIProcess/WebAuthentication/Mock/MockHidService.cpp: (WebKit::MockHidService::MockHidService):
  • UIProcess/WebAuthentication/Mock/MockHidService.h:
  • UIProcess/WebAuthentication/Mock/MockLocalConnection.h:
  • UIProcess/WebAuthentication/Mock/MockLocalConnection.mm: (WebKit::MockLocalConnection::MockLocalConnection):
  • UIProcess/WebAuthentication/Mock/MockLocalService.h:
  • UIProcess/WebAuthentication/Mock/MockLocalService.mm: (WebKit::MockLocalService::MockLocalService):
  • UIProcess/WebAuthentication/Mock/MockNfcService.h:
  • UIProcess/WebAuthentication/Mock/MockNfcService.mm: (WebKit::MockNfcService::MockNfcService): (WebKit::MockNfcService::platformStartDiscovery): (WebKit::MockNfcService::detectTags const):
  • UIProcess/WebAuthentication/Mock/MockWebAuthenticationConfiguration.h: Removed.
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::setMockWebAuthenticationConfiguration):
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/WebsiteData/WebsiteDataStore.h:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::setMockWebAuthenticationConfiguration):
  • WebProcess/WebCoreSupport/WebChromeClient.h:

Tools:

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setWebAuthenticationMockConfiguration): Deleted.
  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/TestController.cpp: (WTR::TestController::setWebAuthenticationMockConfiguration): Deleted.
  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

LayoutTests:

  • http/wpt/webauthn/ctap-hid-failure.https.html:
  • http/wpt/webauthn/ctap-hid-success.https.html:
  • http/wpt/webauthn/ctap-nfc-failure.https.html:
  • http/wpt/webauthn/idl.https.html:
  • http/wpt/webauthn/public-key-credential-create-failure-hid-silent.https.html:
  • http/wpt/webauthn/public-key-credential-create-failure-hid.https.html:
  • http/wpt/webauthn/public-key-credential-create-failure-local-silent.https.html:
  • http/wpt/webauthn/public-key-credential-create-failure-local.https.html:
  • http/wpt/webauthn/public-key-credential-create-failure-nfc.https.html:
  • http/wpt/webauthn/public-key-credential-create-failure-u2f-silent.https.html:
  • http/wpt/webauthn/public-key-credential-create-failure-u2f.https.html:
  • http/wpt/webauthn/public-key-credential-create-failure.https.html:
  • http/wpt/webauthn/public-key-credential-create-success-hid.https.html:
  • http/wpt/webauthn/public-key-credential-create-success-local.https.html:
  • http/wpt/webauthn/public-key-credential-create-success-nfc.https.html:
  • http/wpt/webauthn/public-key-credential-create-success-u2f.https.html:
  • http/wpt/webauthn/public-key-credential-get-failure-hid-silent.https.html:
  • http/wpt/webauthn/public-key-credential-get-failure-hid.https.html:
  • http/wpt/webauthn/public-key-credential-get-failure-local-silent.https.html:
  • http/wpt/webauthn/public-key-credential-get-failure-local.https.html:
  • http/wpt/webauthn/public-key-credential-get-failure-nfc.https.html:
  • http/wpt/webauthn/public-key-credential-get-failure-u2f-silent.https.html:
  • http/wpt/webauthn/public-key-credential-get-failure-u2f.https.html:
  • http/wpt/webauthn/public-key-credential-get-failure.https.html:
  • http/wpt/webauthn/public-key-credential-get-success-hid.https.html:
  • http/wpt/webauthn/public-key-credential-get-success-local.https.html:
  • http/wpt/webauthn/public-key-credential-get-success-nfc.https.html:
  • http/wpt/webauthn/public-key-credential-get-success-u2f.https.html:
  • http/wpt/webauthn/resources/public-key-credential-ip-address.https.html:

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

5:55 PM Changeset in webkit [251750] by Simon Fraser
  • 15 edits in trunk

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:
5:43 PM Changeset in webkit [251749] by Alan Coon
  • 7 edits in branches/safari-608-branch/Source

Versioning.

5:32 PM Changeset in webkit [251748] by Alan Coon
  • 1 copy in tags/Safari-608.4.4

Tag Safari-608.4.4.

5:29 PM Changeset in webkit [251747] by Alan Coon
  • 7 edits in branches/safari-608-branch/Source

Versioning.

5:28 PM Changeset in webkit [251746] by Chris Dumez
  • 8 edits
    2 adds in trunk

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:

  • 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.
5:21 PM Changeset in webkit [251745] by commit-queue@webkit.org
  • 11 edits
    16 adds in trunk

[Picture-in-Picture Web API] Implement PictureInPictureWindow
https://bugs.webkit.org/show_bug.cgi?id=202615

Patch by Peng Liu <Peng Liu> 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:
5:10 PM Changeset in webkit [251744] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

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.

5:02 PM Changeset in webkit [251743] by Alan Coon
  • 1 copy in tags/Safari-608.4.3

Tag Safari-608.4.3.

4:07 PM Changeset in webkit [251742] by commit-queue@webkit.org
  • 9 edits
    2 adds in trunk

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 <Antoine Quint> 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.
4:04 PM Changeset in webkit [251741] by Megan Gardner
  • 2 edits in trunk/LayoutTests

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:
3:33 PM Changeset in webkit [251740] by dino@apple.com
  • 8 edits in trunk/Source/ThirdParty/ANGLE

[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:
3:25 PM Changeset in webkit [251739] by Simon Fraser
  • 8 edits
    27 adds
    1 delete in trunk/LayoutTests

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:
3:25 PM Changeset in webkit [251738] by Simon Fraser
  • 2 edits
    77 adds in trunk/LayoutTests/imported/w3c

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.
2:54 PM Changeset in webkit [251737] by jer.noble@apple.com
  • 64 edits
    5 copies
    28 adds in trunk

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:
2:43 PM Changeset in webkit [251736] by ysuzuki@apple.com
  • 8 edits
    1 add in trunk

[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):

2:41 PM Changeset in webkit [251735] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

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:
2:22 PM Changeset in webkit [251734] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[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:
2:21 PM Changeset in webkit [251733] by Truitt Savell
  • 2 edits in trunk/LayoutTests

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:
1:58 PM Changeset in webkit [251732] by mmaxfield@apple.com
  • 3 edits in trunk/Source/WebKit

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:
1:39 PM Changeset in webkit [251731] by Simon Fraser
  • 2 edits in trunk/LayoutTests

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.

1:36 PM Changeset in webkit [251730] by Simon Fraser
  • 2 edits in trunk/LayoutTests

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.

1:20 PM Changeset in webkit [251729] by Alan Coon
  • 2 edits in tags/Safari-609.1.8/Source/WebCore

Cherry-pick r251614. rdar://problem/56598370

macCatalyst: Build failures in projects that have both AppKit and WAK headers
https://bugs.webkit.org/show_bug.cgi?id=203429
<rdar://problem/56598370>

Reviewed by Sam Weinig.

  • platform/ios/wak/WAKAppKitStubs.h: Slightly abuse the preprocessor to avoid errors due to redefining AppKit symbols.

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

1:04 PM Changeset in webkit [251728] by Simon Fraser
  • 271 edits
    15 copies
    212 adds
    1 delete in trunk/LayoutTests

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:

1:01 PM Changeset in webkit [251727] by dino@apple.com
  • 2 edits in trunk/Source/ThirdParty/ANGLE

[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):

12:51 PM Changeset in webkit [251726] by Alan Coon
  • 4 edits in branches/safari-608-branch/Source/WebCore

Cherry-pick r251603. rdar://problem/56670801

Introduce AudioTrackPrivateMediaStreamCocoa::clear()
https://bugs.webkit.org/show_bug.cgi?id=203369
<rdar://problem/49017262>

Reviewed by Jer Noble.

Introduce the clear method to make sure the AudioTrackPrivteMediaStreamCocoa is in a clean state.
This will help further simplifications.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm: (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::~MediaPlayerPrivateMediaStreamAVFObjC): (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateTracks):
  • platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.cpp: (WebCore::AudioTrackPrivateMediaStreamCocoa::~AudioTrackPrivateMediaStreamCocoa): (WebCore::AudioTrackPrivateMediaStreamCocoa::clear):
  • platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.h:

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

12:51 PM Changeset in webkit [251725] by Alan Coon
  • 4 edits
    1 add in branches/safari-608-branch

Apply patch. rdar://problem/56280709

12:51 PM Changeset in webkit [251724] by Alan Coon
  • 5 edits
    2 adds in branches/safari-608-branch

Cherry-pick r250640. rdar://problem/56237433

REGRESSION (r245672): <select> dropdown with text-rendering: optimizeLegibility freezes Safari
https://bugs.webkit.org/show_bug.cgi?id=202198

Reviewed by Tim Horton.

Source/WebKit:

NSFont has a bug where passing "auto" to kCTFontOpticalSizeAttribute
causes an exception to be thrown. We don't catch the exception, so we
pop up back to the runloop, which confuses the UI process.

The solution is twofold: 1) Workaround the bug by passing the font size
to kCTFontOpticalSizeAttribute instead, and 2) catch any exceptions that
this part of the code might throw.

  • UIProcess/mac/WebPopupMenuProxyMac.mm: (WebKit::WebPopupMenuProxyMac::showPopupMenu):

Source/WTF:

  • wtf/Platform.h:

LayoutTests:

  • fast/forms/select-font-optical-size-expected.txt: Added.
  • fast/forms/select-font-optical-size.html: Added.

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

12:51 PM Changeset in webkit [251723] by Alan Coon
  • 3 edits in branches/safari-608-branch/Source/WebKit

Cherry-pick r251370. rdar://problem/56579672

Add more release logging for "Unexpectedly resumed" assertion
https://bugs.webkit.org/show_bug.cgi?id=203196

Reviewed by Geoffrey Garen.

  • WebProcess/WebProcess.cpp: (WebKit::WebProcess::processDidResume):
  • WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::processTaskStateDidChange):

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

12:51 PM Changeset in webkit [251722] by Alan Coon
  • 5 edits in branches/safari-608-branch/Source/WebKit

Cherry-pick r251304. rdar://problem/56579672

[iOS] "Unexpectedly Resumed" process assertion may cause us to get terminated
https://bugs.webkit.org/show_bug.cgi?id=203046
<rdar://problem/56179592>

Reviewed by Geoffrey Garen.

This patch implements the following to avoid getting terminated:

  1. Schedule the task to release the assertion on a background thread instead of the main thread so that we end up releasing the task even if the main thread is somehow hung.
  2. Add an invalidation handler to the process assertion which releases the assertion upon expiration.
  • UIProcess/Cocoa/WebProcessProxyCocoa.mm: (WebKit::WebProcessProxy::processWasUnexpectedlyUnsuspended):
  • WebProcess/WebProcess.cpp: (WebKit::WebProcess::processDidResume):
  • WebProcess/WebProcess.h:
  • WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::processTaskStateDidChange):

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

12:51 PM Changeset in webkit [251721] by Alan Coon
  • 4 edits
    1 add in branches/safari-608-branch

Cherry-pick r250863. rdar://problem/56579654

Copying white text from dark mode WebKit apps and pasting in a light mode app results in white (invisible) text.
https://bugs.webkit.org/show_bug.cgi?id=202662
rdar://problem/48677354

Reviewed by Megan Gardner.

Source/WebCore:

Covered by new API tests.

HTMLConverter needs to strip white text colors when the document is in dark mode, like it does for black in light mode.

  • editing/cocoa/HTMLConverter.mm: (normalizedColor): Handle dark mode and ignore white. (HTMLConverterCaches::colorPropertyValueForNode): Pass element to normalizedColor.

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/CopyRTF.mm: Added. (readRTFDataFromPasteboard): (copyAttributedStringFromHTML): (checkColor): (TEST):

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

12:39 PM Changeset in webkit [251720] by Wenson Hsieh
  • 9 edits
    1 add in trunk

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):

12:29 PM Changeset in webkit [251719] by Kate Cheney
  • 2 edits in trunk/Source/WebKit

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:
12:03 PM Changeset in webkit [251718] by Chris Dumez
  • 5 edits in trunk

<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.

11:46 AM Changeset in webkit [251717] by Russell Epstein
  • 2 edits in trunk/LayoutTests

(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 <Russell Epstein> on 2019-10-29

  • platform/ios-wk2/TestExpectations:
11:42 AM Changeset in webkit [251716] by Russell Epstein
  • 2 edits in trunk/LayoutTests

[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 <Russell Epstein> on 2019-10-29

  • platform/ios-wk2/TestExpectations:
11:34 AM Changeset in webkit [251715] by Kate Cheney
  • 3 edits in trunk/LayoutTests

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:
11:21 AM Changeset in webkit [251714] by Simon Fraser
  • 6 edits
    156 adds in trunk/LayoutTests

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.
11:11 AM Changeset in webkit [251713] by Simon Fraser
  • 1 edit
    1 add in trunk/LayoutTests/imported/w3c

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.
10:33 AM Changeset in webkit [251712] by Truitt Savell
  • 12 edits
    2 deletes in trunk

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

10:28 AM Changeset in webkit [251711] by Truitt Savell
  • 2 edits in trunk/Source/WebKit

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

10:04 AM Changeset in webkit [251710] by Chris Dumez
  • 21 edits in trunk

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

9:57 AM Changeset in webkit [251709] by Chris Dumez
  • 4 edits
    1 add in trunk

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):

9:56 AM Changeset in webkit [251708] by Chris Dumez
  • 21 edits
    4 deletes in trunk

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:
9:19 AM Changeset in webkit [251707] by Kate Cheney
  • 2 edits in trunk/Tools

Removed duplicate email address.

  • Scripts/webkitpy/common/config/contributors.json:
9:14 AM Changeset in webkit [251706] by graouts@webkit.org
  • 3 edits in trunk/Source/WebCore

[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:
9:09 AM Changeset in webkit [251705] by Wenson Hsieh
  • 3 edits
    1 copy
    1 delete in trunk/LayoutTests

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.
9:00 AM Changeset in webkit [251704] by Kate Cheney
  • 2 edits in trunk/Tools

Edited email address for commiting.

  • Scripts/webkitpy/common/config/contributors.json:
8:32 AM Changeset in webkit [251703] by Adrian Perez de Castro
  • 1 copy in releases/WPE WebKit/webkit-2.27.2

WPE WebKit 2.27.2

8:31 AM Changeset in webkit [251702] by Adrian Perez de Castro
  • 4 edits in trunk

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.
8:17 AM Changeset in webkit [251701] by Simon Fraser
  • 5 edits in trunk/LayoutTests

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:
7:54 AM WebKitGTK/2.26.x edited by Adrian Perez de Castro
(diff)
7:53 AM Changeset in webkit [251700] by Adrian Perez de Castro
  • 3 edits in releases/WebKitGTK/webkit-2.26/Source/WebKit

Merge r250818 - [WPE][GTK] Build fails with ENABLE_WEBDRIVER=OFF
https://bugs.webkit.org/show_bug.cgi?id=202658

Reviewed by Carlos Garcia Campos.

  • UIProcess/Automation/gtk/WebAutomationSessionGtk.cpp: Add missing

ENABLE(WEBDRIVER_MOUSE_INTERACTIONS) and ENABLE(WEBDRIVER_KEYBOARD_INTERACTIONS)
preprocessor guards.

  • UIProcess/Automation/wpe/WebAutomationSessionWPE.cpp: Ditto.
7:50 AM Changeset in webkit [251699] by Simon Fraser
  • 266 edits
    2 copies
    23 adds
    1 delete in trunk/LayoutTests

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:

7:36 AM Changeset in webkit [251698] by Adrian Perez de Castro
  • 2 edits in trunk/Source/WebCore

[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().

7:22 AM Changeset in webkit [251697] by commit-queue@webkit.org
  • 6 edits
    2 adds in trunk

[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 Liu> 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:
3:27 AM Changeset in webkit [251696] by commit-queue@webkit.org
  • 15 edits
    11 adds in trunk

[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.
3:15 AM Changeset in webkit [251695] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

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:

Oct 28, 2019:

9:08 PM Changeset in webkit [251694] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

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:
7:34 PM Changeset in webkit [251693] by Wenson Hsieh
  • 8 edits in trunk/Source/WebKit

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):

7:25 PM Changeset in webkit [251692] by Kate Cheney
  • 3 edits in trunk/LayoutTests

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:
6:37 PM Changeset in webkit [251691] by ysuzuki@apple.com
  • 38 edits
    2 moves
    2 adds
    4 deletes in trunk

[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.
6:06 PM Changeset in webkit [251690] by Adrian Perez de Castro
  • 36 edits in trunk/Source

[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

5:31 PM Changeset in webkit [251689] by Simon Fraser
  • 42 edits
    127 adds
    1 delete in trunk/LayoutTests

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.

5:21 PM Changeset in webkit [251688] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[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:
5:09 PM Changeset in webkit [251687] by achristensen@apple.com
  • 4 edits in trunk/Source/WebKit

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

4:56 PM Changeset in webkit [251686] by Wenson Hsieh
  • 19 edits
    7 adds in trunk

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.

4:55 PM Changeset in webkit [251685] by Truitt Savell
  • 2 edits in trunk/LayoutTests

Correcting expectations after r251666
https://bugs.webkit.org/show_bug.cgi?id=203501

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
4:42 PM Changeset in webkit [251684] by Ross Kirsling
  • 7 edits in trunk/Source/JavaScriptCore

[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:
4:29 PM Changeset in webkit [251683] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

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:
4:24 PM Changeset in webkit [251682] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

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):

4:12 PM Changeset in webkit [251681] by Alan Coon
  • 5 edits in tags/Safari-609.1.8

Cherry-pick r251598. rdar://problem/56480245

WebProcess should unregister its interest for a SWServerRegistration when all its corresponding ServiceWorkerRegistrations are destroyed
https://bugs.webkit.org/show_bug.cgi?id=203410

Reviewed by Chris Dumez.

Source/WebKit:

A SWServerRegistration is keeping a list of web processes that should be notified of change to its state.
Previously, WebProcesses were registering their interest to a SWServerRegistration on construction of a ServiceWorkerRegistration,
and unregistering their interest on destruction of a ServiceWorkerRegistration.

This does not work in case two ServiceWorkerRegistrations are created for the same SWServerRegistration in the same WebProcess.
In that case, when one of the two ServiceWorkerRegistration is destroyed, the WebProcess will no longer be notified of changes to the SWServerRegistration,
thus breaking the second ServiceWorkerRegistration behavior.

We introduce a map at WebProcess level to keep track of the number of ServiceWorkerRegistration created for a given SWServerRegistration.

Covered by re-enabled tests.

  • WebProcess/Storage/WebSWClientConnection.cpp: (WebKit::WebSWClientConnection::addServiceWorkerRegistrationInServer): (WebKit::WebSWClientConnection::removeServiceWorkerRegistrationInServer):
  • WebProcess/WebProcess.cpp: (WebKit::WebProcess::addServiceWorkerRegistration): (WebKit::WebProcess::removeServiceWorkerRegistration):
  • WebProcess/WebProcess.h:

LayoutTests:

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

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

4:09 PM Changeset in webkit [251680] by Alan Bujtas
  • 3 edits
    2 adds in trunk

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.
3:41 PM Changeset in webkit [251679] by Kate Cheney
  • 2 edits in trunk/Tools

Added myself as a committer.

  • Scripts/webkitpy/common/config/contributors.json:
3:10 PM Changeset in webkit [251678] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

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:
3:07 PM Changeset in webkit [251677] by Chris Dumez
  • 11 edits
    9 adds in trunk/LayoutTests

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:

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.

2:57 PM Changeset in webkit [251676] by achristensen@apple.com
  • 16 edits in trunk

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):

2:52 PM Changeset in webkit [251675] by achristensen@apple.com
  • 4 edits in trunk/Source/WebKit

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.

2:46 PM Changeset in webkit [251674] by Dewei Zhu
  • 4 edits in trunk/Websites/perf.webkit.org

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.

2:42 PM Changeset in webkit [251673] by beidson@apple.com
  • 5 edits in trunk

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:]):

2:38 PM Changeset in webkit [251672] by Kate Cheney
  • 8 edits in trunk/Source/WebKit

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:
2:13 PM Changeset in webkit [251671] by ysuzuki@apple.com
  • 8 edits
    2 adds in trunk

[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:
1:50 PM Changeset in webkit [251670] by Jonathan Bedard
  • 4 edits in trunk/Tools

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.

1:44 PM Changeset in webkit [251669] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[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):

1:32 PM Changeset in webkit [251668] by Simon Fraser
  • 17 edits in trunk

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.
1:21 PM Changeset in webkit [251667] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

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):

1:09 PM Changeset in webkit [251666] by Truitt Savell
  • 2 edits in trunk/LayoutTests

Two imported tests from r251591 are failing
https://bugs.webkit.org/show_bug.cgi?id=203501

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
12:58 PM Changeset in webkit [251665] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKit

[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:]):

12:52 PM Changeset in webkit [251664] by Simon Fraser
  • 1 edit
    2 adds in trunk/LayoutTests/imported/w3c

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.
12:45 PM Changeset in webkit [251663] by wilander@apple.com
  • 16 edits
    16 adds in trunk

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.
11:56 AM Changeset in webkit [251662] by Simon Fraser
  • 24 edits in trunk

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:
11:43 AM Changeset in webkit [251661] by Jonathan Bedard
  • 6 edits in trunk/Tools

results.webkit.org: Report more descriptive configurations for non-Apple ports
https://bugs.webkit.org/show_bug.cgi?id=203490
<rdar://problem/56658244>

Reviewed by Carlos Alberto Lopez Perez.

  • Scripts/webkitpy/port/gtk.py:

(GtkPort):
(GtkPort.configuration_for_upload): Return use GTK as the platform.

  • Scripts/webkitpy/port/gtk_unittest.py:

(GtkPortTest):
(GtkPortTest.test_default_upload_configuration):

  • Scripts/webkitpy/port/win.py:

(WinCairoPort.configuration_for_upload): Use wincairo as the platform.

  • Scripts/webkitpy/port/wpe.py:

(WPEPort):
(WPEPort.configuration_for_upload): Use WPE as the platform.

  • Scripts/webkitpy/port/wpe_unittest.py:

(WPEPortTest):
(WPEPortTest.test_default_upload_configuration):

11:26 AM Changeset in webkit [251660] by achristensen@apple.com
  • 3 edits in trunk/LayoutTests

Remove flaky debug log from WK1 expectations after r251582
https://bugs.webkit.org/show_bug.cgi?id=203383

  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module/integrity-expected.txt:

The important part of this test is that there are 3 PASSes, not that the console log is consistent.

10:53 AM Changeset in webkit [251659] by achristensen@apple.com
  • 9 edits in trunk/Source

Remove unused NetworkProcessCreationParameters.urlSchemesRegisteredAsCanDisplayOnlyIfCanRequest
https://bugs.webkit.org/show_bug.cgi?id=203393

Reviewed by Chris Dumez.

Source/WebCore:

  • platform/LegacySchemeRegistry.cpp:

(WebCore::canDisplayOnlyIfCanRequestSchemes):
(WebCore::LegacySchemeRegistry::canDisplayOnlyIfCanRequest):
(WebCore::LegacySchemeRegistry::registerAsCanDisplayOnlyIfCanRequest):

Source/WebKit:

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::registerURLSchemeAsCanDisplayOnlyIfCanRequest const): Deleted.

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):

  • NetworkProcess/NetworkProcessCreationParameters.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::ensureNetworkProcess):
(WebKit::WebProcessPool::registerURLSchemeAsCanDisplayOnlyIfCanRequest):

10:01 AM Changeset in webkit [251658] by graouts@webkit.org
  • 22 edits in trunk

CSS Transitions and CSS Animations properties should treat unitless 0 as an invalid value for times
https://bugs.webkit.org/show_bug.cgi?id=203484

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Mark WPT progressions.

  • web-platform-tests/css/css-animations/parsing/animation-delay-invalid-expected.txt:
  • web-platform-tests/css/css-animations/parsing/animation-duration-invalid-expected.txt:
  • web-platform-tests/css/css-transitions/parsing/transition-delay-invalid-expected.txt:

Source/WebCore:

The CSS specification does not allow for "0" as a valid time (https://drafts.csswg.org/css-values-3/#time).
We change the way we parse time values to only allow for "0" if the UnitlessQuirk is set to Allow, which is
only the case for the -webkit-marquee-speed property.

  • css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::consumeTime):

Source/WebInspectorUI:

Use 0s instead of 0 in places where unitless times were used but shouldn't have been.

  • UserInterface/Views/FindBanner.css:

(.no-find-banner-transition:matches(.find-banner, .supports-find-banner)):

  • UserInterface/Views/TabBar.css:

(.tab-bar > .item > .close):

LayoutTests:

Use 0s instead of 0 in places where unitless times were used but shouldn't have been.

  • animations/fill-mode-forwards-zero-duration.html:
  • compositing/animation/keyframe-order.html:
  • css1/units/zero-duration-without-units.html:
  • legacy-animation-engine/animations/fill-mode-forwards-zero-duration.html:
  • legacy-animation-engine/compositing/animation/keyframe-order.html:
  • legacy-animation-engine/css1/units/zero-duration-without-units.html:
  • legacy-animation-engine/transitions/zero-duration-in-list.html:
  • legacy-animation-engine/transitions/zero-duration-without-units.html:
  • transitions/zero-duration-in-list.html:
  • transitions/zero-duration-without-units.html:
  • webanimations/css-animations-expected.txt:
  • webanimations/css-animations.html:
9:59 AM Changeset in webkit [251657] by graouts@webkit.org
  • 5 edits in trunk

[Web Animations] The easing property for a CSSTransition effect is always "linear"
https://bugs.webkit.org/show_bug.cgi?id=203476

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Mark WPT progressions.

  • web-platform-tests/css/css-transitions/AnimationEffect-getComputedTiming.tentative-expected.txt:

Source/WebCore:

While we correctly used the timing function set on the Animation object created while parsing a CSS Transition
for blending, we wouldn't set the timing function on the CSSTransition's AnimationEffect and it would not be
reflected correctly through the JS API. This also means that we shouldn't perform per-keyframe blending for CSS
Transitions.

  • animation/CSSTransition.cpp:

(WebCore::CSSTransition::setTimingProperties):

  • animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::setAnimatedPropertiesInStyle):

9:25 AM Changeset in webkit [251656] by clopez@igalia.com
  • 9 edits in trunk

[GTK][WPE] Enable CSS typed OM
https://bugs.webkit.org/show_bug.cgi?id=192875

Reviewed by Carlos Garcia Campos.

.:

This enables the feature when building with experimental features enabled.

  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsWPE.cmake:

Source/WebKit:

Enable the runtime feature by default on GTK/WPE when building with
experimental features enabled.

Covered by existing tests.

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

LayoutTests:

Unskip the tests that now pass.

  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
9:02 AM Changeset in webkit [251655] by Simon Fraser
  • 30 edits
    1 copy in trunk

Can't change @font-face descriptors from fontFaceRule.style.setProperty()
https://bugs.webkit.org/show_bug.cgi?id=177975
<rdar://problem/56648761>

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

More passing subtests.

  • web-platform-tests/css/css-syntax/urange-parsing-expected.txt:

Source/WebCore:

When parsing properties via PropertySetCSSStyleDeclaration::setProperty() (called from
script as rule.style.setProperty()), CSSPropertyParser::parseValue() needs to know if
we're parsing properties in a @font-face or @viewport rule, since some properties are
only allowed in these contexts.

Achieve this by adding to CSSParserContext an Optional<enclosingRuleType>, which gets set
for font-face and viewport rules. This gets set by StyleRuleCSSStyleDeclaration::cssParserContext()
based on the type of the parent rule.

Moved StyleRule::Type to its own header so CSSParserContext can use it. Added compile-time asserts
that the values match CSSRule::Type (fixing one of them).

Also fix <urange> serialization when start and end values are the same.

Test: web-platform-tests/css/css-syntax/urange-parsing.html

  • Headers.cmake:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSKeyframeRule.cpp:

(WebCore::StyleRuleKeyframe::StyleRuleKeyframe):

  • css/CSSKeyframesRule.cpp:

(WebCore::StyleRuleKeyframes::StyleRuleKeyframes):

  • css/CSSPropertySourceData.h:

(WebCore::CSSRuleSourceData::create):
(WebCore::CSSRuleSourceData::createUnknown):
(WebCore::CSSRuleSourceData::CSSRuleSourceData):

  • css/CSSRule.cpp:
  • css/CSSUnicodeRangeValue.cpp:

(WebCore::CSSUnicodeRangeValue::customCSSText const):

  • css/PropertySetCSSStyleDeclaration.cpp:

(WebCore::StyleRuleCSSStyleDeclaration::cssParserContext const):

  • css/StyleRule.cpp:

(WebCore::StyleRuleBase::destroy):
(WebCore::StyleRuleBase::copy const):
(WebCore::StyleRuleBase::createCSSOMWrapper const):
(WebCore::StyleRule::StyleRule):
(WebCore::StyleRulePage::StyleRulePage):
(WebCore::StyleRuleFontFace::StyleRuleFontFace):
(WebCore::StyleRuleGroup::StyleRuleGroup):
(WebCore::StyleRuleMedia::StyleRuleMedia):
(WebCore::StyleRuleSupports::StyleRuleSupports):
(WebCore::StyleRuleViewport::StyleRuleViewport):
(WebCore::StyleRuleCharset::StyleRuleCharset):
(WebCore::StyleRuleNamespace::StyleRuleNamespace):

  • css/StyleRule.h:

(WebCore::StyleRuleBase::type const):
(WebCore::StyleRuleBase::isCharsetRule const):
(WebCore::StyleRuleBase::isFontFaceRule const):
(WebCore::StyleRuleBase::isKeyframesRule const):
(WebCore::StyleRuleBase::isKeyframeRule const):
(WebCore::StyleRuleBase::isNamespaceRule const):
(WebCore::StyleRuleBase::isMediaRule const):
(WebCore::StyleRuleBase::isPageRule const):
(WebCore::StyleRuleBase::isStyleRule const):
(WebCore::StyleRuleBase::isSupportsRule const):
(WebCore::StyleRuleBase::isViewportRule const):
(WebCore::StyleRuleBase::isImportRule const):
(WebCore::StyleRuleBase::StyleRuleBase):

  • css/StyleRuleImport.cpp:

(WebCore::StyleRuleImport::StyleRuleImport):

  • css/StyleRuleImport.h:
  • css/StyleRuleType.h: Copied from Source/WebCore/css/CSSUnicodeRangeValue.cpp.
  • css/StyleSheetContents.cpp:

(WebCore::traverseRulesInVector):
(WebCore::StyleSheetContents::traverseSubresources const):

  • css/parser/CSSParser.cpp:

(WebCore::CSSParser::parseValueWithVariableReferences):

  • css/parser/CSSParserContext.h:
  • css/parser/CSSParserImpl.cpp:

(WebCore::CSSParserImpl::parseValue):
(WebCore::CSSParserImpl::parseInlineStyleDeclaration):
(WebCore::CSSParserImpl::parseDeferredDeclaration):
(WebCore::CSSParserImpl::parseDeclarationList):
(WebCore::CSSParserImpl::supportsDeclaration):
(WebCore::CSSParserImpl::parseDeclarationListForInspector):
(WebCore::CSSParserImpl::consumeImportRule):
(WebCore::CSSParserImpl::consumeMediaRule):
(WebCore::CSSParserImpl::consumeSupportsRule):
(WebCore::CSSParserImpl::consumeViewportRule):
(WebCore::CSSParserImpl::consumeFontFaceRule):
(WebCore::CSSParserImpl::consumeKeyframesRule):
(WebCore::CSSParserImpl::consumePageRule):
(WebCore::CSSParserImpl::consumeKeyframeStyleRule):
(WebCore::observeSelectors):
(WebCore::CSSParserImpl::consumeStyleRule):
(WebCore::CSSParserImpl::consumeDeclarationList):
(WebCore::CSSParserImpl::consumeDeclaration):
(WebCore::CSSParserImpl::consumeDeclarationValue):

  • css/parser/CSSParserImpl.h:
  • css/parser/CSSParserObserver.h:
  • css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::parseValue):

  • css/parser/CSSPropertyParser.h:
  • css/parser/CSSTokenizer.cpp:

(WebCore::CSSTokenizer::letterU):

  • inspector/InspectorStyleSheet.cpp:

(flattenSourceData):
(WebCore::StyleSheetHandler::startRuleHeader):
(WebCore::InspectorStyleSheetForInlineStyle::ruleSourceData const):

LayoutTests:

Fix tests for the urange serialization fix.

  • fast/text/font-face-javascript-expected.txt:
  • fast/text/font-face-javascript.html:
  • fast/text/unicode-range-javascript-expected.txt:
  • fast/text/unicode-range-javascript.html:
8:06 AM Changeset in webkit [251654] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Unreviewed, rolling out r251651.
https://bugs.webkit.org/show_bug.cgi?id=203488

It's causing crashes in several tests (Requested by KaL on
#webkit).

Reverted changeset:

"ImageDecoders: use a thread safe data buffer for Cairo
backing store"
https://bugs.webkit.org/show_bug.cgi?id=201727
https://trac.webkit.org/changeset/251651

7:57 AM Changeset in webkit [251653] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

[ews] Improve summary for CompileWebKit and CompileJSC build step
https://bugs.webkit.org/show_bug.cgi?id=203487

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/steps.py:

(CompileWebKit.getResultSummary): Method to generate custom status message.
(CompileJSC.getResultSummary): Ditto.

  • BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
3:31 AM Changeset in webkit [251652] by Fujii Hironori
  • 2 edits in trunk/Source/JavaScriptCore

[Windows][Clang] error LNK2001: unresolved external symbol "void * cdecl JSC::allocateCell<class JSC::JSGenericTypedArrayView<struct JSC::Float32Adaptor> >(class JSC::Heap &,unsigned int64)"
https://bugs.webkit.org/show_bug.cgi?id=203483

Unreviewed build fix for clang-cl builds.

  • runtime/JSGenericTypedArrayViewInlines.h: Added #include "JSCellInlines.h".
3:12 AM Changeset in webkit [251651] by cturner@igalia.com
  • 3 edits in trunk/Source/WebCore

ImageDecoders: use a thread safe data buffer for Cairo backing store
https://bugs.webkit.org/show_bug.cgi?id=201727

Reviewed by Carlos Garcia Campos.

When an image resource gets cached and replaces an existing image,
CachedImage::didReplaceSharedBufferContents is called, which
destroys the decoder in the BitmapImage class. This decoder can be
initialized from any thread via
ImageSource::ensureDecoderAvailable. On GTK/WPE, this dispatches
to a ScalableImageDecoder, which contains a vector of
ScalableImageDecoderFrame's, which contain ImageBackingStore's,
which for reasons related to Cairo, contain a RefCounted
SharedBuffer of pixel data.

The problem is that the CachedImage's decoders can be
created/destroyed on different threads, so a thread-safe buffer
class is required to hold these data, and pass them safely into
cairo_image_surface_create_for_data rather than a SharedBuffer
which must be created/destroyed on the main-thread.

Covered by existing tests.

  • platform/graphics/ImageBackingStore.h: Create a small

thread-safe utility class to hold the RGBA pixel data.
(WebCore::ImageBackingStore::setSize):
(WebCore::ImageBackingStore::clear):
(WebCore::ImageBackingStore::pixelAt const):
(WebCore::ImageBackingStore::ThreadSafeRGBAPixelBuffer::create):
(WebCore::ImageBackingStore::ThreadSafeRGBAPixelBuffer::zeroPixelData):
(WebCore::ImageBackingStore::ThreadSafeRGBAPixelBuffer::pixelAt const):
(WebCore::ImageBackingStore::ThreadSafeRGBAPixelBuffer::data const):
(WebCore::ImageBackingStore::ThreadSafeRGBAPixelBuffer::isValid const):
(WebCore::ImageBackingStore::ThreadSafeRGBAPixelBuffer::RGBAPixelBufferThreadSafeRefCounted):
(WebCore::ImageBackingStore::ImageBackingStore):

  • platform/image-decoders/cairo/ImageBackingStoreCairo.cpp:

(WebCore::ImageBackingStore::image const):

2:24 AM Changeset in webkit [251650] by Carlos Garcia Campos
  • 19 edits
    1 delete in trunk/Source

[GTK] Simplify the Input Method implementation
https://bugs.webkit.org/show_bug.cgi?id=203149

Reviewed by Adrian Perez de Castro.

Source/WebCore:

Remove CompositionResults and remove dead code in PlatformKeyboardEventGtk.

  • PlatformGTK.cmake:
  • platform/PlatformKeyboardEvent.h:

(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

  • platform/gtk/CompositionResults.h: Removed.
  • platform/gtk/PlatformKeyboardEventGtk.cpp:

(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):

Source/WebKit:

  • Shared/NativeWebKeyboardEvent.h: Stop using WebCore::CompositionResults.

(WebKit::NativeWebKeyboardEvent::text const):
(WebKit::NativeWebKeyboardEvent::handledByInputMethod const):
(WebKit::NativeWebKeyboardEvent::fakedForComposition const):

  • Shared/gtk/NativeWebKeyboardEventGtk.cpp: Ditto.

(WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):

  • Shared/gtk/WebEventFactory.cpp:

(WebKit::WebEventFactory::createWebKeyboardEvent): Ditto.

  • Shared/gtk/WebEventFactory.h:
  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::doneWithKeyEvent): Updated to use the new name.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp: Stop using WebCore::CompositionResults.

(webkitWebViewBaseKeyPressEvent):
(webkitWebViewBaseKeyReleaseEvent):

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Remove unused function.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setComposition): Use EditingRange instead of two integers and remove replacement range
that is unused.
(WebKit::WebPageProxy::confirmComposition): Remove unused selection range parameters.

  • UIProcess/WebPageProxy.h:
  • UIProcess/gtk/InputMethodFilter.cpp:

(WebKit::InputMethodFilter::handleKeyboardEvent):
(WebKit::InputMethodFilter::handleKeyboardEventWithCompositionResults):
(WebKit::InputMethodFilter::confirmComposition):
(WebKit::InputMethodFilter::updatePreedit):
(WebKit::InputMethodFilter::confirmCurrentComposition):
(WebKit::InputMethodFilter::sendCompositionAndPreeditWithFakeKeyEvents):
(WebKit::InputMethodFilter::logHandleKeyboardEventForTesting):
(WebKit::InputMethodFilter::logHandleKeyboardEventWithCompositionResultsForTesting):

  • UIProcess/gtk/InputMethodFilter.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::targetFrameForEditing): Receive a reference instead of a pointer.
(WebKit::WebPage::confirmComposition): Remove the unused code to handle the selection range.
(WebKit::WebPage::setComposition): Remove the unused code to handle the replacement range.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
1:08 AM Changeset in webkit [251649] by graouts@webkit.org
  • 5 edits in trunk

[Web Animations] getKeyframes() doesn't return the right timing function for declarative animations
https://bugs.webkit.org/show_bug.cgi?id=203475

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Mark WPT progressions.

  • web-platform-tests/css/css-animations/KeyframeEffect-getKeyframes.tentative-expected.txt:
  • web-platform-tests/css/css-transitions/KeyframeEffect-getKeyframes.tentative-expected.txt:

Source/WebCore:

We had two bugs for declarative animations and the "easing" property for keyframes returned by KeyframeEffect::getKeyframes().
First, we should return "linear" for all keyframes for CSS Transitions since the transition-timing-function is set as the "easing"
property of the effect itself, not any indvidual keyframe. Then, we would always return the "easing" of the first keyframe while
iterating over keyframes, which was an oversight.

  • animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::getKeyframes):

12:54 AM Changeset in webkit [251648] by graouts@webkit.org
  • 3 edits in trunk/LayoutTests

[Web Animations] Update WPT tests related to Web Animations and remove imported Mozilla tests
https://bugs.webkit.org/show_bug.cgi?id=203291

Unreviewed test gardening.

Oct 27, 2019:

9:49 PM Changeset in webkit [251647] by Simon Fraser
  • 37 edits in trunk

LayoutTests/imported/w3c:
Fix nth-child An+B serialization to match the spc
https://bugs.webkit.org/show_bug.cgi?id=203464

Reviewed by Antti Koivisto.

New passing results.

  • web-platform-tests/css/css-syntax/anb-parsing-expected.txt:
  • web-platform-tests/css/css-syntax/anb-serialization-expected.txt:
  • web-platform-tests/css/cssom/selectorSerialize-expected.txt:
  • web-platform-tests/css/selectors/anplusb-selector-parsing-expected.txt:

Source/WebCore:
Fix nth-child An+B serialization to match the spec
https://bugs.webkit.org/show_bug.cgi?id=203464

Reviewed by Antti Koivisto.

The spec says to expand "odd" and "even" to "2n+1" and "2n", and to simplify
things like "1n+1" and "0n"

Tested by existing tests.

  • css/CSSSelector.cpp:

(WebCore::outputNthChildAnPlusB):
(WebCore::CSSSelector::selectorText const):

LayoutTests:
Fix nth-child An+B serialization to match the spc
https://bugs.webkit.org/show_bug.cgi?id=203464

Reviewed by Antti Koivisto.

New results. Some tests that assumed that the selectors simply round-trip had to be
fixed to supply test and expected selectors.

  • css3/parsing-css3-nthchild-expected.txt:
  • css3/parsing-css3-nthchild.html:
  • fast/css/css-selector-text-expected.txt:
  • fast/css/css-selector-text.html:
  • fast/css/css-set-selector-text-expected.txt:
  • fast/css/css-set-selector-text.html:
  • fast/css/parsing-css-matches-1-expected.txt:
  • fast/css/parsing-css-matches-1.html:
  • fast/css/parsing-css-matches-2-expected.txt:
  • fast/css/parsing-css-matches-2.html:
  • fast/css/parsing-css-matches-4-expected.txt:
  • fast/css/parsing-css-matches-4.html:
  • fast/css/parsing-css-not-1-expected.txt:
  • fast/css/parsing-css-not-1.html:
  • fast/css/parsing-css-not-2-expected.txt:
  • fast/css/parsing-css-not-2.html:
  • fast/css/parsing-css-not-4-expected.txt:
  • fast/css/parsing-css-not-4.html:
  • fast/css/parsing-css-nth-child-expected.txt:
  • fast/css/parsing-css-nth-child-of-1-expected.txt:
  • fast/css/parsing-css-nth-child-of-1.html:
  • fast/css/parsing-css-nth-child-of-2-expected.txt:
  • fast/css/parsing-css-nth-child-of-2.html:
  • fast/css/parsing-css-nth-child.html:
  • fast/css/parsing-css-nth-last-child-of-1-expected.txt:
  • fast/css/parsing-css-nth-last-child-of-1.html:
  • fast/css/parsing-css-nth-last-child-of-2-expected.txt:
  • fast/css/parsing-css-nth-last-child-of-2.html:
  • fast/dom/css-selectorText-expected.txt:
7:48 PM Changeset in webkit [251646] by Fujii Hironori
  • 2 edits in trunk/Source/WebKit

Unreviewed build fix for !ENABLE(MEDIA_STREAM) builds
https://bugs.webkit.org/show_bug.cgi?id=203362
<rdar://problem/56648232>

  • UIProcess/UserMediaPermissionRequestProxy.h: Enclosed isUserGesturePriviledged with #if ENABLE(MEDIA_STREAM).
3:53 PM Changeset in webkit [251645] by jiewen_tan@apple.com
  • 24 edits
    1 add in trunk

[WebAuthn] Warn users when multiple NFC tags present
https://bugs.webkit.org/show_bug.cgi?id=200932
<rdar://problem/54890736>

Reviewed by Brent Fulgham.

Source/WebCore:

Covered by new tests in existing test file.

  • testing/MockWebAuthenticationConfiguration.h:

(WebCore::MockWebAuthenticationConfiguration::NfcConfiguration::encode const):
(WebCore::MockWebAuthenticationConfiguration::NfcConfiguration::decode):

  • testing/MockWebAuthenticationConfiguration.idl:

Adds a new test option.

Source/WebKit:

This patch utilizes -[_WKWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:] to
inform clients about multiple physical tags are presenting such that clients can instruct users
to select only one of them physically. Given a physical tag could have multiple different
interfaces, which NearField will treat them into different NFTags, the tagID is then used to
identify if there are actually multiple physical tags.

This patch also adds the ability to restart polling of a partiuclar NFReaderSession to NfcConnection
and the ability to restart the whole session to NfcService. The former is used to recover from errors
in the discovery stages, and the latter is used to recover from errors returned from authenticators
in the request stages. For the latter, given NfcConnection is not awared of the syntax of FIDO2/U2F
protocol, and CtapAuthenticator/U2fAuthenticator are not awared the transport of the underneath driver.
A generic restartDiscovery process is added to each service and it is up to the actual service to
implement the actual process such that AuthenticatorManager can arbitrarily call it after exceptions
are returned to restart the whole NFC session. To achieve restartDiscovery, NfcConnection is made
RefCounted as well such that both the NfcService and the CtapNfcDriver could hold it at the same time.
CtapNfcDriver uses the connection to complete requests as before while NfcService has the new capability
to use it to stop the current session when restartDiscovery kicks off.

  • Platform/spi/Cocoa/NearFieldSPI.h:
  • UIProcess/WebAuthentication/AuthenticatorManager.cpp:

(WebKit::AuthenticatorManager::serviceStatusUpdated):
(WebKit::AuthenticatorManager::respondReceived):
(WebKit::AuthenticatorManager::restartDiscovery):

  • UIProcess/WebAuthentication/AuthenticatorManager.h:
  • UIProcess/WebAuthentication/AuthenticatorTransportService.cpp:

(WebKit::AuthenticatorTransportService::startDiscovery):
(WebKit::AuthenticatorTransportService::restartDiscovery):

  • UIProcess/WebAuthentication/AuthenticatorTransportService.h:

(WebKit::AuthenticatorTransportService::restartDiscoveryInternal):

  • UIProcess/WebAuthentication/Cocoa/NfcConnection.h:
  • UIProcess/WebAuthentication/Cocoa/NfcConnection.mm:

(WebKit::NfcConnection::create):
(WebKit::NfcConnection::NfcConnection):
(WebKit::NfcConnection::~NfcConnection):
(WebKit::NfcConnection::stop const):
(WebKit::NfcConnection::didDetectTags):
(WebKit::NfcConnection::restartPolling):
(WebKit::NfcConnection::startPolling):
(WebKit::NfcConnection::didDetectTags const): Deleted.

  • UIProcess/WebAuthentication/Cocoa/NfcService.h:
  • UIProcess/WebAuthentication/Cocoa/NfcService.mm:

(WebKit::NfcService::NfcService):
(WebKit::NfcService::didConnectTag):
(WebKit::NfcService::didDetectMultipleTags const):
(WebKit::NfcService::setConnection):
(WebKit::NfcService::restartDiscoveryInternal):
(WebKit::NfcService::platformStartDiscovery):
(WebKit::NfcService::setDriver): Deleted.

  • UIProcess/WebAuthentication/Mock/MockNfcService.h:
  • UIProcess/WebAuthentication/Mock/MockNfcService.mm:

(-[WKMockNFTag tagID]):
(-[WKMockNFTag initWithNFTag:]):
(-[WKMockNFTag dealloc]):
(-[WKMockNFTag initWithType:]):
(-[WKMockNFTag initWithType:tagID:]):
(WebKit::MockNfcService::receiveStopPolling):
(WebKit::MockNfcService::receiveStartPolling):
(WebKit::MockNfcService::platformStartDiscovery):
(WebKit::MockNfcService::detectTags):
(WebKit::MockNfcService::detectTags const): Deleted.

  • UIProcess/WebAuthentication/fido/CtapNfcDriver.cpp:

(WebKit::CtapNfcDriver::CtapNfcDriver):

  • UIProcess/WebAuthentication/fido/CtapNfcDriver.h:
  • UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp:

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:

(-[TestWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:]):
(TestWebKitAPI::TEST):
Adds a new test for -[_WKWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:].

  • TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-nfc-multiple-tags.html: Added.

LayoutTests:

  • http/wpt/webauthn/public-key-credential-create-success-nfc.https-expected.txt:
  • http/wpt/webauthn/public-key-credential-create-success-nfc.https.html:

Adds new tests for multiple physical tags and service restart.

3:12 PM Changeset in webkit [251644] by Antti Koivisto
  • 4 edits in trunk/Source/WebCore

Move resolving direction and writing mode to PropertyCascade
https://bugs.webkit.org/show_bug.cgi?id=203471
Reviewed by Zalan Bujtas.

Simplify PropertyCascade call sites.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::applyMatchedProperties):
(WebCore::StyleResolver::applyPropertyToCurrentStyle):
(WebCore::extractDirectionAndWritingMode): Deleted.

  • style/PropertyCascade.cpp:

(WebCore::Style::PropertyCascade::PropertyCascade):

Add copying constructor that avoids re-resolving directions.

(WebCore::Style::PropertyCascade::buildCascade):

Factor into a function.

(WebCore::Style::PropertyCascade::propertyCascadeForRollback):
(WebCore::Style::PropertyCascade::resolveDirectionAndWritingMode):

The code moves here.

  • style/PropertyCascade.h:
1:24 PM Changeset in webkit [251643] by Claudio Saavedra
  • 4 edits in trunk

[GTK][WPE] Test PublicSuffix.TopPrivatelyControlledDomain is failing since r250589
https://bugs.webkit.org/show_bug.cgi?id=203193

Reviewed by Carlos Garcia Campos.

Source/WebCore:

  • platform/soup/PublicSuffixSoup.cpp:

(WebCore::topPrivatelyControlledDomain): Skip any leading dots before using libsoup TLD API.

Tools:

  • TestWebKitAPI/Tests/WebCore/PublicSuffix.cpp:

(TestWebKitAPI::TEST_F): Add a test for a domain consisting only of dots.

10:18 AM Changeset in webkit [251642] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][IFC] Do not expand runs with collapsed trailing whitespace
https://bugs.webkit.org/show_bug.cgi?id=203468
<rdar://problem/56653689>

Reviewed by Antti Koivisto.

Runs are supposed to be a continuous chunk of content. Runs with trailing
collapsed whitespace can't accommodate additional trailing content.

  • layout/inlineformatting/InlineLine.cpp:

(WebCore::Layout::Line::close):
(WebCore::Layout::Line::Run::isWhitespace const): Deleted.
(WebCore::Layout::Line::Run::canBeExtended const): Deleted.

  • layout/inlineformatting/InlineLine.h:

(WebCore::Layout::Line::Run::expand):
(WebCore::Layout::Line::Run::isWhitespace const):
(WebCore::Layout::Line::Run::setIsCollapsed):
(WebCore::Layout::Line::Run::canBeExtended const):
(WebCore::Layout::Line::Run::setCollapsesToZeroAdvanceWidth):

9:52 AM Changeset in webkit [251641] by Simon Fraser
  • 7 edits
    346 adds in trunk/LayoutTests

Import css/css-position WPT
https://bugs.webkit.org/show_bug.cgi?id=203446

Reviewed by Antti Koivisto.

Import css/css-position from WPT at 5eebc927c57ec8c5e234fef8e4cc480ac339462c (Mon Oct 21 20:23:09 2019 +0100).

LayoutTests/imported/w3c:

  • resources/import-expectations.json:
  • web-platform-tests/css/css-position/META.yml: Added.
  • web-platform-tests/css/css-position/animation/position-interpolation.html: Added.
  • web-platform-tests/css/css-position/animation/w3c-import.log: Added.
  • web-platform-tests/css/css-position/animations/bottom-interpolation.html: Added.
  • web-platform-tests/css/css-position/animations/left-interpolation.html: Added.
  • web-platform-tests/css/css-position/animations/right-interpolation.html: Added.
  • web-platform-tests/css/css-position/animations/top-interpolation.html: Added.
  • web-platform-tests/css/css-position/animations/w3c-import.log: Added.
  • web-platform-tests/css/css-position/fixed-z-index-blend-expected.html: Added.
  • web-platform-tests/css/css-position/fixed-z-index-blend.html: Added.
  • web-platform-tests/css/css-position/hypothetical-box-scroll-parent-expected.html: Added.
  • web-platform-tests/css/css-position/hypothetical-box-scroll-parent.html: Added.
  • web-platform-tests/css/css-position/hypothetical-box-scroll-viewport-expected.html: Added.
  • web-platform-tests/css/css-position/hypothetical-box-scroll-viewport.html: Added.
  • web-platform-tests/css/css-position/hypothetical-dynamic-change-001-expected.html: Added.
  • web-platform-tests/css/css-position/hypothetical-dynamic-change-001.html: Added.
  • web-platform-tests/css/css-position/hypothetical-dynamic-change-002-expected.html: Added.
  • web-platform-tests/css/css-position/hypothetical-dynamic-change-002.html: Added.
  • web-platform-tests/css/css-position/hypothetical-dynamic-change-003-expected.html: Added.
  • web-platform-tests/css/css-position/hypothetical-dynamic-change-003.html: Added.
  • web-platform-tests/css/css-position/inheritance.html: Added.
  • web-platform-tests/css/css-position/parsing/bottom-computed.html: Added.
  • web-platform-tests/css/css-position/parsing/bottom-invalid.html: Added.
  • web-platform-tests/css/css-position/parsing/bottom-valid.html: Added.
  • web-platform-tests/css/css-position/parsing/inset-after-computed.html: Added.
  • web-platform-tests/css/css-position/parsing/inset-after-invalid.html: Added.
  • web-platform-tests/css/css-position/parsing/inset-after-valid.html: Added.
  • web-platform-tests/css/css-position/parsing/inset-before-computed.html: Added.
  • web-platform-tests/css/css-position/parsing/inset-before-invalid.html: Added.
  • web-platform-tests/css/css-position/parsing/inset-before-valid.html: Added.
  • web-platform-tests/css/css-position/parsing/inset-end-computed.html: Added.
  • web-platform-tests/css/css-position/parsing/inset-end-invalid.html: Added.
  • web-platform-tests/css/css-position/parsing/inset-end-valid.html: Added.
  • web-platform-tests/css/css-position/parsing/inset-start-computed.html: Added.
  • web-platform-tests/css/css-position/parsing/inset-start-invalid.html: Added.
  • web-platform-tests/css/css-position/parsing/inset-start-valid.html: Added.
  • web-platform-tests/css/css-position/parsing/left-computed.html: Added.
  • web-platform-tests/css/css-position/parsing/left-invalid.html: Added.
  • web-platform-tests/css/css-position/parsing/left-valid.html: Added.
  • web-platform-tests/css/css-position/parsing/position-computed.html: Added.
  • web-platform-tests/css/css-position/parsing/position-invalid.html: Added.
  • web-platform-tests/css/css-position/parsing/position-valid.html: Added.
  • web-platform-tests/css/css-position/parsing/right-computed.html: Added.
  • web-platform-tests/css/css-position/parsing/right-invalid.html: Added.
  • web-platform-tests/css/css-position/parsing/right-valid.html: Added.
  • web-platform-tests/css/css-position/parsing/top-computed.html: Added.
  • web-platform-tests/css/css-position/parsing/top-invalid.html: Added.
  • web-platform-tests/css/css-position/parsing/top-valid.html: Added.
  • web-platform-tests/css/css-position/parsing/w3c-import.log: Added.
  • web-platform-tests/css/css-position/parsing/z-index-computed.html: Added.
  • web-platform-tests/css/css-position/parsing/z-index-invalid.html: Added.
  • web-platform-tests/css/css-position/parsing/z-index-valid.html: Added.
  • web-platform-tests/css/css-position/position-absolute-abspos-table-dynamic.html: Added.
  • web-platform-tests/css/css-position/position-absolute-chrome-bug-001.html: Added.
  • web-platform-tests/css/css-position/position-absolute-chrome-bug-002.html: Added.
  • web-platform-tests/css/css-position/position-absolute-container-dynamic-002.html: Added.
  • web-platform-tests/css/css-position/position-absolute-container-dynamic.html: Added.
  • web-platform-tests/css/css-position/position-absolute-crash-chrome-001.html: Added.
  • web-platform-tests/css/css-position/position-absolute-crash-chrome-002.html: Added.
  • web-platform-tests/css/css-position/position-absolute-crash-chrome-003.html: Added.
  • web-platform-tests/css/css-position/position-absolute-crash-chrome-004.html: Added.
  • web-platform-tests/css/css-position/position-absolute-crash-chrome-005.html: Added.
  • web-platform-tests/css/css-position/position-absolute-crash-chrome-006.html: Added.
  • web-platform-tests/css/css-position/position-absolute-crash-chrome-007.html: Added.
  • web-platform-tests/css/css-position/position-absolute-crash-chrome-008.html: Added.
  • web-platform-tests/css/css-position/position-absolute-crash-chrome-009.html: Added.
  • web-platform-tests/css/css-position/position-absolute-crash-chrome-010.html: Added.
  • web-platform-tests/css/css-position/position-absolute-crash-chrome-011.html: Added.
  • web-platform-tests/css/css-position/position-absolute-crash-chrome-012.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-containing-block.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-list-marker-expected.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-list-marker.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-overflow-001-expected.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-overflow-001.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-overflow-002-expected.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-overflow-002.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-relayout-001-expected.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-relayout-001.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position-expected.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position-floats-001-expected.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position-floats-001.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position-floats-002-expected.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position-floats-002.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position-floats-003-expected.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position-floats-003.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position-floats-004-expected.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position-floats-004.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position-margin-001-expected.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position-margin-001.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position-margin-002-expected.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position-margin-002.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position-table-cell-expected.xht: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position-table-cell.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position.html: Added.
  • web-platform-tests/css/css-position/position-absolute-fieldset-expected.xht: Added.
  • web-platform-tests/css/css-position/position-absolute-fieldset.html: Added.
  • web-platform-tests/css/css-position/position-absolute-in-inline-001.html: Added.
  • web-platform-tests/css/css-position/position-absolute-in-inline-002.html: Added.
  • web-platform-tests/css/css-position/position-absolute-in-inline-crash.html: Added.
  • web-platform-tests/css/css-position/position-absolute-percentage-height.html: Added.
  • web-platform-tests/css/css-position/position-absolute-replaced-minmax.html: Added.
  • web-platform-tests/css/css-position/position-fixed-at-bottom-right-on-viewport.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tbody-left-absolute-child-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tbody-left-absolute-child.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tbody-left-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tbody-left.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tbody-top-absolute-child-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tbody-top-absolute-child.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tbody-top-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tbody-top.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-td-left-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-td-left.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-td-top-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-td-top.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tfoot-left-absolute-child-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tfoot-left-absolute-child.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tfoot-left-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tfoot-left.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tfoot-top-absolute-child-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tfoot-top-absolute-child.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tfoot-top-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tfoot-top.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-thead-left-absolute-child-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-thead-left-absolute-child.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-thead-left-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-thead-left.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-thead-top-absolute-child-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-thead-top-absolute-child.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-thead-top-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-thead-top.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tr-left-absolute-child-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tr-left-absolute-child.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tr-left-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tr-left.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tr-top-absolute-child-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tr-top-absolute-child.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tr-top-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tr-top.html: Added.
  • web-platform-tests/css/css-position/position-sticky-bottom.html: Added.
  • web-platform-tests/css/css-position/position-sticky-change-top-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-change-top.html: Added.
  • web-platform-tests/css/css-position/position-sticky-child-multicolumn-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-child-multicolumn.html: Added.
  • web-platform-tests/css/css-position/position-sticky-flexbox-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-flexbox.html: Added.
  • web-platform-tests/css/css-position/position-sticky-get-bounding-client-rect.html: Added.
  • web-platform-tests/css/css-position/position-sticky-grid-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-grid.html: Added.
  • web-platform-tests/css/css-position/position-sticky-hyperlink-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-hyperlink.html: Added.
  • web-platform-tests/css/css-position/position-sticky-inflow-position.html: Added.
  • web-platform-tests/css/css-position/position-sticky-inline-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-inline.html: Added.
  • web-platform-tests/css/css-position/position-sticky-input-box-gets-focused-after-scroll.html: Added.
  • web-platform-tests/css/css-position/position-sticky-left.html: Added.
  • web-platform-tests/css/css-position/position-sticky-margins.html: Added.
  • web-platform-tests/css/css-position/position-sticky-nested-bottom.html: Added.
  • web-platform-tests/css/css-position/position-sticky-nested-inline-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-nested-inline.html: Added.
  • web-platform-tests/css/css-position/position-sticky-nested-left.html: Added.
  • web-platform-tests/css/css-position/position-sticky-nested-right.html: Added.
  • web-platform-tests/css/css-position/position-sticky-nested-table-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-nested-table.html: Added.
  • web-platform-tests/css/css-position/position-sticky-nested-top.html: Added.
  • web-platform-tests/css/css-position/position-sticky-offset-overflow.html: Added.
  • web-platform-tests/css/css-position/position-sticky-offset-top-left.html: Added.
  • web-platform-tests/css/css-position/position-sticky-overflow-hidden.html: Added.
  • web-platform-tests/css/css-position/position-sticky-overflow-padding.html: Added.
  • web-platform-tests/css/css-position/position-sticky-parsing.html: Added.
  • web-platform-tests/css/css-position/position-sticky-rendering-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-rendering.html: Added.
  • web-platform-tests/css/css-position/position-sticky-right.html: Added.
  • web-platform-tests/css/css-position/position-sticky-root-scroller.html: Added.
  • web-platform-tests/css/css-position/position-sticky-scroll-with-clip-and-abspos-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-scroll-with-clip-and-abspos.html: Added.
  • web-platform-tests/css/css-position/position-sticky-scrolled-remove-sibling.html: Added.
  • web-platform-tests/css/css-position/position-sticky-stacking-context-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-stacking-context.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-parts-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-parts.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-tfoot-bottom-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-tfoot-bottom.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-th-bottom-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-th-bottom.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-th-left-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-th-left.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-th-right-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-th-right.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-th-top-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-th-top.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-thead-top-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-thead-top.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-tr-bottom-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-tr-bottom.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-tr-top-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-tr-top.html: Added.
  • web-platform-tests/css/css-position/position-sticky-top.html: Added.
  • web-platform-tests/css/css-position/position-sticky-transforms-translate.html: Added.
  • web-platform-tests/css/css-position/position-sticky-transforms.html: Added.
  • web-platform-tests/css/css-position/position-sticky-writing-modes-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-writing-modes.html: Added.
  • web-platform-tests/css/css-position/resources/sticky-util.js: Added.

(setupStickyTest):
(setupNestedStickyTest):

  • web-platform-tests/css/css-position/resources/w3c-import.log: Added.
  • web-platform-tests/css/css-position/static-position/htb-ltr-ltr-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/htb-ltr-ltr.html: Added.
  • web-platform-tests/css/css-position/static-position/htb-ltr-rtl.tentative-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/htb-ltr-rtl.tentative.html: Added.
  • web-platform-tests/css/css-position/static-position/htb-rtl-ltr.tentative-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/htb-rtl-ltr.tentative.html: Added.
  • web-platform-tests/css/css-position/static-position/htb-rtl-rtl-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/htb-rtl-rtl.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-001-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-001.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-002-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-002.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-003-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-003.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-004-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-004.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-005-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-005.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-006-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-006.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-007-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-007.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-008-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-008.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-009-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-009.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-010-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-010.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-011-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-011.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-012-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-012.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-013-expected.xht: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-013.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-014-expected.xht: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-014.html: Added.
  • web-platform-tests/css/css-position/static-position/vlr-ltr-ltr-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/vlr-ltr-ltr.html: Added.
  • web-platform-tests/css/css-position/static-position/vlr-ltr-rtl.tentative-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/vlr-ltr-rtl.tentative.html: Added.
  • web-platform-tests/css/css-position/static-position/vlr-rtl-ltr.tentative-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/vlr-rtl-ltr.tentative.html: Added.
  • web-platform-tests/css/css-position/static-position/vlr-rtl-rtl-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/vlr-rtl-rtl.html: Added.
  • web-platform-tests/css/css-position/static-position/vrl-ltr-ltr-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/vrl-ltr-ltr.html: Added.
  • web-platform-tests/css/css-position/static-position/vrl-ltr-rtl.tentative-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/vrl-ltr-rtl.tentative.html: Added.
  • web-platform-tests/css/css-position/static-position/vrl-rtl-ltr.tentative-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/vrl-rtl-ltr.tentative.html: Added.
  • web-platform-tests/css/css-position/static-position/vrl-rtl-rtl-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/vrl-rtl-rtl.html: Added.
  • web-platform-tests/css/css-position/static-position/w3c-import.log: Added.
  • web-platform-tests/css/css-position/w3c-import.log: Added.
  • web-platform-tests/css/css-position/z-index-blend-will-change-overlapping-layers-expected.html: Added.
  • web-platform-tests/css/css-position/z-index-blend-will-change-overlapping-layers.html: Added.

LayoutTests:

9:33 AM Changeset in webkit [251640] by Alan Bujtas
  • 6 edits in trunk/Source/WebCore

[LFC][Painting] Use the dirty rect to decide what to paint
https://bugs.webkit.org/show_bug.cgi?id=203467
<rdar://problem/56653229>

Reviewed by Antti Koivisto.

This is a very basic dirty rect instersect check since we don't yet have layout overflow.
It enables us to not paint the entire content on every paint frame.

  • layout/LayoutContext.cpp:

(WebCore::Layout::LayoutContext::paint):

  • layout/LayoutContext.h:
  • layout/displaytree/DisplayPainter.cpp:

(WebCore::Display::paintBoxDecorationAndChildren):
(WebCore::Display::Painter::paint):

  • layout/displaytree/DisplayPainter.h:
  • page/FrameView.cpp:

(WebCore::FrameView::paintContents):

Oct 26, 2019:

1:50 PM Changeset in webkit [251639] by youenn@apple.com
  • 12 edits
    2 adds in trunk

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

Reviewed by Eric Carlson.

Source/WebCore:

Compute whether a media request is user priviledged or not.
It is priviledged if it is created as part of a user gesture and no request of the same type
has been previously created for the same user gesture.
If getDisplayMedia is called twice as part of a single user gesture, getDisplaMedia will reject for the second call.

Test: fast/mediastream/getUserMedia-deny-persistency5.html and updated test.

  • Modules/mediastream/MediaDevices.cpp:

(WebCore::MediaDevices::computeUserGesturePriviledge):
(WebCore::MediaDevices::getUserMedia):
(WebCore::MediaDevices::getDisplayMedia):
(WebCore::MediaDevices::getUserMedia const): Deleted.
(WebCore::MediaDevices::getDisplayMedia const): Deleted.

  • Modules/mediastream/MediaDevices.h:
  • platform/mediastream/MediaStreamRequest.h:

(WebCore::MediaStreamRequest::encode const):
(WebCore::MediaStreamRequest::decode):

Source/WebKit:

In case the request has user gesture priviledge, do not look at denied request history.

  • UIProcess/UserMediaPermissionRequestManagerProxy.cpp:

(WebKit::UserMediaPermissionRequestManagerProxy::getRequestAction):

  • UIProcess/UserMediaPermissionRequestProxy.h:

(WebKit::UserMediaPermissionRequestProxy::isUserGesturePriviledged const):

Tools:

Update test to take into account the ability to reask permission.

  • TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMedia.mm:

(TestWebKitAPI::TEST_F):

LayoutTests:

  • fast/mediastream/getUserMedia-deny-persistency5-expected.txt:
  • fast/mediastream/getUserMedia-deny-persistency5.html:
  • fast/mediastream/screencapture-user-gesture-expected.txt:
  • fast/mediastream/screencapture-user-gesture.html:
12:16 PM Changeset in webkit [251638] by Alan Bujtas
  • 9 edits in trunk/Source/WebCore

[LFC] Do not layout on every paint frame.
https://bugs.webkit.org/show_bug.cgi?id=203462
<rdar://problem/56646779>

Reviewed by Antti Koivisto.

This is in preparation for being able to run layout benchmarks.

  • layout/LayoutContext.cpp:

(WebCore::Layout::LayoutContext::runLayoutAndVerify):
(WebCore::Layout::LayoutContext::paint):
(WebCore::Layout::LayoutContext::runLayoutAndPaint): Deleted.

  • layout/LayoutContext.h:
  • layout/LayoutState.cpp:

(WebCore::Layout::LayoutState::LayoutState):

  • layout/LayoutState.h:
  • layout/layouttree/LayoutTreeBuilder.cpp:

(WebCore::Layout::printLayoutTreeForLiveDocuments):

  • page/FrameView.cpp:

(WebCore::FrameView::paintContents):

  • page/FrameViewLayoutContext.cpp:

(WebCore::FrameViewLayoutContext::layoutUsingFormattingContext):
(WebCore::FrameViewLayoutContext::layout):
(WebCore::layoutUsingFormattingContext): Deleted.

  • page/FrameViewLayoutContext.h:

(WebCore::FrameViewLayoutContext::initialLayoutState const):

10:17 AM Changeset in webkit [251637] by commit-queue@webkit.org
  • 21 edits
    26 adds in trunk

Main implementation for lazy image loading
https://bugs.webkit.org/show_bug.cgi?id=200764

Patch by Rob Buis <rbuis@igalia.com> on 2019-10-26
Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

Set correct test option.

  • web-platform-tests/loading/lazyload/image-loading-lazy.tentative-expected.txt: Added.
  • web-platform-tests/loading/lazyload/image-loading-lazy.tentative.html:

Source/WebCore:

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

Not all loading=lazy requests will turn into actual lazy image loads, when
scripting is turned off or images are not http(s), they will not be deferred.

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

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

[1] https://github.com/whatwg/html/pull/3752/files

Tests: http/tests/lazyload/attribute.html

http/tests/lazyload/invisible-image.html
http/tests/lazyload/js-image.html
http/tests/lazyload/lazy-image-load-in-iframes-scripting-disabled.html
http/tests/lazyload/lazy-image-load-in-iframes-scripting-enabled.html
http/tests/lazyload/lazy.html
http/tests/lazyload/scroll-element-moved-from-document.html
http/tests/lazyload/scroll-element-removed-from-document.html
http/tests/lazyload/scroll.html

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/Document.cpp:

(WebCore::Document::lazyLoadImageObserver):

  • dom/Document.h:
  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::parseAttribute):
(WebCore::HTMLImageElement::loadDeferredImage):
(WebCore::HTMLImageElement::didMoveToNewDocument):
(WebCore::HTMLImageElement::loadingForBindings const):
(WebCore::HTMLImageElement::setLoadingForBindings):
(WebCore::HTMLImageElement::isDeferred const):
(WebCore::HTMLImageElement::isLazyLoadable const):

  • html/HTMLImageElement.h:
  • html/HTMLImageElement.idl:
  • html/LazyLoadImageObserver.cpp: Added.

(WebCore::LazyLoadImageObserver::observe):
(WebCore::LazyLoadImageObserver::unobserve):
(WebCore::LazyLoadImageObserver::intersectionObserver):
(WebCore::LazyLoadImageObserver::isObserved const):

  • html/LazyLoadImageObserver.h: Added.
  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):

  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::updateFromElement):
(WebCore::ImageLoader::notifyFinished):
(WebCore::ImageLoader::loadDeferredImage):

  • loader/ImageLoader.h:

(WebCore::ImageLoader::isDeferred const):

  • loader/cache/CachedImage.h:
  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestImage):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::determineRevalidationPolicy const):
(WebCore::CachedResourceLoader::clientDefersImage const):
(WebCore::CachedResourceLoader::shouldDeferImageLoad const):
(WebCore::CachedResourceLoader::reloadImagesIfNotDeferred):

  • loader/cache/CachedResourceLoader.h:
  • rendering/RenderImage.cpp:

(WebCore::isDeferredImage):
(WebCore::RenderImage::paintReplaced):

LayoutTests:

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

  • TestExpectations:
  • http/tests/lazyload/attribute-expected.txt: Added.
  • http/tests/lazyload/attribute.html: Added.
  • http/tests/lazyload/invisible-image-expected.txt: Added.
  • http/tests/lazyload/invisible-image.html: Added.
  • http/tests/lazyload/js-image-expected.txt: Added.
  • http/tests/lazyload/js-image.html: Added.
  • http/tests/lazyload/lazy-expected.txt: Added.
  • http/tests/lazyload/lazy-image-load-in-iframes-scripting-disabled-expected.txt: Added.
  • http/tests/lazyload/lazy-image-load-in-iframes-scripting-disabled.html: Added.
  • http/tests/lazyload/lazy-image-load-in-iframes-scripting-enabled-expected.txt: Added.
  • http/tests/lazyload/lazy-image-load-in-iframes-scripting-enabled.html: Added.
  • http/tests/lazyload/lazy.html: Added.
  • http/tests/lazyload/lazy2-expected.txt: Added.
  • http/tests/lazyload/placeholder.js: Added.

(is_image_fully_loaded):

  • http/tests/lazyload/resources/lazy-load-in-iframe.html: Added.
  • http/tests/lazyload/scroll-element-moved-from-document-expected.txt: Added.
  • http/tests/lazyload/scroll-element-moved-from-document.html: Added.
  • http/tests/lazyload/scroll-element-removed-from-document-expected.txt: Added.
  • http/tests/lazyload/scroll-element-removed-from-document.html: Added.
  • http/tests/lazyload/scroll-expected.txt: Added.
  • http/tests/lazyload/scroll.html: Added.
  • platform/mac-wk1/TestExpectations:
  • platform/win/TestExpectations:
8:15 AM Changeset in webkit [251636] by Antti Koivisto
  • 5 edits in trunk/Source/WebCore

Move StyleResolver::applyProperty to PropertyCascade
https://bugs.webkit.org/show_bug.cgi?id=203458

Reviewed by Zalan Bujtas.

Move the more of the property applying code out of StyleResolver.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyPropertyToCurrentStyle):
(WebCore::isValidVisitedLinkProperty): Deleted.
(WebCore::StyleResolver::applyProperty): Deleted.
(WebCore::StyleResolver::resolvedVariableValue const): Deleted.

  • css/StyleResolver.h:
  • style/PropertyCascade.cpp:

(WebCore::Style::isValidVisitedLinkProperty):
(WebCore::Style::PropertyCascade::applyCustomProperty):
(WebCore::Style::PropertyCascade::propertyCascadeForRollback):
(WebCore::Style::PropertyCascade::applyProperty):
(WebCore::Style::PropertyCascade::resolveValue):
(WebCore::Style::PropertyCascade::resolvedVariableValue):

  • style/PropertyCascade.h:

(WebCore::Style::PropertyCascade::property const):
(WebCore::Style::PropertyCascade::property): Deleted.
(WebCore::Style::PropertyCascade::hasAppliedProperty const): Deleted.

8:10 AM Changeset in webkit [251635] by Simon Fraser
  • 3 edits
    100 adds in trunk/LayoutTests/imported/w3c

Import css/css-syntax WPT tests
https://bugs.webkit.org/show_bug.cgi?id=203444

Reviewed by Antti Koivisto.

Imported from WPT at 5eebc927c57ec8c5e234fef8e4cc480ac339462c (Mon Oct 21 20:23:09 2019 +0100).

  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/css/css-syntax/META.yml: Added.
  • web-platform-tests/css/css-syntax/anb-parsing-expected.txt: Added.
  • web-platform-tests/css/css-syntax/anb-parsing.html: Added.
  • web-platform-tests/css/css-syntax/anb-serialization-expected.txt: Added.
  • web-platform-tests/css/css-syntax/anb-serialization.html: Added.
  • web-platform-tests/css/css-syntax/cdc-vs-ident-tokens-expected.txt: Added.
  • web-platform-tests/css/css-syntax/cdc-vs-ident-tokens.html: Added.
  • web-platform-tests/css/css-syntax/charset-is-not-a-rule-expected.txt: Added.
  • web-platform-tests/css/css-syntax/charset-is-not-a-rule.html: Added.
  • web-platform-tests/css/css-syntax/charset/.htaccess: Added.
  • web-platform-tests/css/css-syntax/charset/MANIFEST: Added.
  • web-platform-tests/css/css-syntax/charset/page-utf16-css-bomless-utf16-expected.txt: Added.
  • web-platform-tests/css/css-syntax/charset/page-utf16-css-bomless-utf16.html: Added.
  • web-platform-tests/css/css-syntax/charset/page-utf16-css-bomless-utf16be-expected.txt: Added.
  • web-platform-tests/css/css-syntax/charset/page-utf16-css-bomless-utf16be.html: Added.
  • web-platform-tests/css/css-syntax/charset/page-utf16-css-no-decl-ascii-only-expected.txt: Added.
  • web-platform-tests/css/css-syntax/charset/page-utf16-css-no-decl-ascii-only.html: Added.
  • web-platform-tests/css/css-syntax/charset/page-utf16-css-no-decl-expected.txt: Added.
  • web-platform-tests/css/css-syntax/charset/page-utf16-css-no-decl.html: Added.
  • web-platform-tests/css/css-syntax/charset/page-windows-1251-charset-attribute-bogus-expected.txt: Added.
  • web-platform-tests/css/css-syntax/charset/page-windows-1251-charset-attribute-bogus.html: Added.
  • web-platform-tests/css/css-syntax/charset/page-windows-1251-css-at-charset-1250-charset-attribute-windows-1253-expected.txt: Added.
  • web-platform-tests/css/css-syntax/charset/page-windows-1251-css-at-charset-1250-charset-attribute-windows-1253.html: Added.
  • web-platform-tests/css/css-syntax/charset/page-windows-1251-css-at-charset-bogus-charset-attribute-windows-1250-expected.txt: Added.
  • web-platform-tests/css/css-syntax/charset/page-windows-1251-css-at-charset-bogus-charset-attribute-windows-1250.html: Added.
  • web-platform-tests/css/css-syntax/charset/page-windows-1251-css-at-charset-bogus-expected.txt: Added.
  • web-platform-tests/css/css-syntax/charset/page-windows-1251-css-at-charset-bogus.html: Added.
  • web-platform-tests/css/css-syntax/charset/page-windows-1251-css-at-charset-utf16-ascii-only-expected.txt: Added.
  • web-platform-tests/css/css-syntax/charset/page-windows-1251-css-at-charset-utf16-ascii-only.html: Added.
  • web-platform-tests/css/css-syntax/charset/page-windows-1251-css-at-charset-utf16-expected.txt: Added.
  • web-platform-tests/css/css-syntax/charset/page-windows-1251-css-at-charset-utf16.html: Added.
  • web-platform-tests/css/css-syntax/charset/page-windows-1251-css-at-charset-utf16be-expected.txt: Added.
  • web-platform-tests/css/css-syntax/charset/page-windows-1251-css-at-charset-utf16be.html: Added.
  • web-platform-tests/css/css-syntax/charset/page-windows-1251-css-at-charset-windows-1250-in-utf16-expected.txt: Added.
  • web-platform-tests/css/css-syntax/charset/page-windows-1251-css-at-charset-windows-1250-in-utf16.html: Added.
  • web-platform-tests/css/css-syntax/charset/page-windows-1251-css-at-charset-windows-1250-in-utf16be-expected.txt: Added.
  • web-platform-tests/css/css-syntax/charset/page-windows-1251-css-at-charset-windows-1250-in-utf16be.html: Added.
  • web-platform-tests/css/css-syntax/charset/page-windows-1251-css-http-bogus-at-charset-windows-1250-expected.txt: Added.
  • web-platform-tests/css/css-syntax/charset/page-windows-1251-css-http-bogus-at-charset-windows-1250.html: Added.
  • web-platform-tests/css/css-syntax/charset/page-windows-1251-css-http-bogus-expected.txt: Added.
  • web-platform-tests/css/css-syntax/charset/page-windows-1251-css-http-bogus.html: Added.
  • web-platform-tests/css/css-syntax/charset/page-windows-1251-css-http-windows-1250-at-charset-windows-1253-expected.txt: Added.
  • web-platform-tests/css/css-syntax/charset/page-windows-1251-css-http-windows-1250-at-charset-windows-1253.html: Added.
  • web-platform-tests/css/css-syntax/charset/page-windows-1251-css-no-decl-expected.txt: Added.
  • web-platform-tests/css/css-syntax/charset/page-windows-1251-css-no-decl.html: Added.
  • web-platform-tests/css/css-syntax/charset/page-windows-1251-css-utf8-bom-expected.txt: Added.
  • web-platform-tests/css/css-syntax/charset/page-windows-1251-css-utf8-bom.html: Added.
  • web-platform-tests/css/css-syntax/charset/support/MANIFEST: Added.
  • web-platform-tests/css/css-syntax/charset/support/at-charset-bogus.css: Added.

(@charset "bogus";):

  • web-platform-tests/css/css-syntax/charset/support/at-charset-utf16-ascii-only.css: Added.

(@charset "utf-16";):

  • web-platform-tests/css/css-syntax/charset/support/at-charset-utf16.css: Added.

(@charset "utf-16";):

  • web-platform-tests/css/css-syntax/charset/support/at-charset-utf16be.css: Added.

(@charset "utf-16be";):

  • web-platform-tests/css/css-syntax/charset/support/at-charset-windows-1250-in-utf16.css: Added.
  • web-platform-tests/css/css-syntax/charset/support/at-charset-windows-1250-in-utf16be.css: Added.
  • web-platform-tests/css/css-syntax/charset/support/at-charset-windows-1250.css: Added.

(@charset "windows-1250";):

  • web-platform-tests/css/css-syntax/charset/support/bomless-utf16.css: Added.
  • web-platform-tests/css/css-syntax/charset/support/bomless-utf16be.css: Added.
  • web-platform-tests/css/css-syntax/charset/support/http-bogus-at-charset-windows-1250.bogus.css: Added.

(@charset "windows-1250";):

  • web-platform-tests/css/css-syntax/charset/support/http-bogus-at-charset-windows-1250.bogus.css.headers: Added.
  • web-platform-tests/css/css-syntax/charset/support/http-bogus.bogus.css: Added.

(#È):

  • web-platform-tests/css/css-syntax/charset/support/http-bogus.bogus.css.headers: Added.
  • web-platform-tests/css/css-syntax/charset/support/http-windows-1250-at-charset-windows-1253.windows1250.css: Added.

(@charset "windows-1253";):

  • web-platform-tests/css/css-syntax/charset/support/http-windows-1250-at-charset-windows-1253.windows1250.css.headers: Added.
  • web-platform-tests/css/css-syntax/charset/support/no-decl-ascii-only.css: Added.

(#foo):

  • web-platform-tests/css/css-syntax/charset/support/no-decl.css: Added.

(#È):

  • web-platform-tests/css/css-syntax/charset/support/utf8-bom.css: Added.

(#È):

  • web-platform-tests/css/css-syntax/charset/support/w3c-import.log: Added.
  • web-platform-tests/css/css-syntax/charset/w3c-import.log: Added.
  • web-platform-tests/css/css-syntax/charset/xml-stylesheet-page-windows-1251-charset-attribute-windows-1250-expected.txt: Added.
  • web-platform-tests/css/css-syntax/charset/xml-stylesheet-page-windows-1251-charset-attribute-windows-1250.xhtml: Added.
  • web-platform-tests/css/css-syntax/decimal-points-in-numbers-expected.txt: Added.
  • web-platform-tests/css/css-syntax/decimal-points-in-numbers.html: Added.
  • web-platform-tests/css/css-syntax/declarations-trim-whitespace-expected.txt: Added.
  • web-platform-tests/css/css-syntax/declarations-trim-whitespace.html: Added.
  • web-platform-tests/css/css-syntax/escaped-eof-expected.txt: Added.
  • web-platform-tests/css/css-syntax/escaped-eof.html: Added.
  • web-platform-tests/css/css-syntax/ident-three-code-points-expected.txt: Added.
  • web-platform-tests/css/css-syntax/ident-three-code-points.html: Added.
  • web-platform-tests/css/css-syntax/inclusive-ranges-expected.txt: Added.
  • web-platform-tests/css/css-syntax/inclusive-ranges.html: Added.
  • web-platform-tests/css/css-syntax/input-preprocessing-expected.txt: Added.
  • web-platform-tests/css/css-syntax/input-preprocessing.html: Added.
  • web-platform-tests/css/css-syntax/serialize-consecutive-tokens-expected.txt: Added.
  • web-platform-tests/css/css-syntax/serialize-consecutive-tokens.html: Added.
  • web-platform-tests/css/css-syntax/unclosed-constructs-expected.txt: Added.
  • web-platform-tests/css/css-syntax/unclosed-constructs.html: Added.
  • web-platform-tests/css/css-syntax/unclosed-url-at-eof-expected.txt: Added.
  • web-platform-tests/css/css-syntax/unclosed-url-at-eof.html: Added.
  • web-platform-tests/css/css-syntax/unicode-range-selector-expected.txt: Added.
  • web-platform-tests/css/css-syntax/unicode-range-selector.html: Added.
  • web-platform-tests/css/css-syntax/urange-parsing-expected.txt: Added.
  • web-platform-tests/css/css-syntax/urange-parsing.html: Added.
  • web-platform-tests/css/css-syntax/url-whitespace-consumption-expected.txt: Added.
  • web-platform-tests/css/css-syntax/url-whitespace-consumption.html: Added.
  • web-platform-tests/css/css-syntax/w3c-import.log: Added.
  • web-platform-tests/css/css-syntax/whitespace-expected.txt: Added.
  • web-platform-tests/css/css-syntax/whitespace.html: Added.
7:50 AM Changeset in webkit [251634] by Simon Fraser
  • 25 edits
    3 adds in trunk/LayoutTests/imported/w3c

Update css/support directory in WPT
https://bugs.webkit.org/show_bug.cgi?id=203452

Reviewed by Antti Koivisto.

Various WPT are relying on new functionality in css/support (e.g. test_shorthand_value).
In addition, the behavior for testing computed style of properties which don't exist has changed,
causing changes in test output.

  • resources/import-expectations.json:
  • web-platform-tests/css/css-animations/parsing/animation-computed-expected.txt:
  • web-platform-tests/css/css-animations/parsing/animation-shorthand-expected.txt:
  • web-platform-tests/css/css-animations/parsing/animation-timing-function-computed-expected.txt:
  • web-platform-tests/css/css-images/inheritance-expected.txt:
  • web-platform-tests/css/css-images/parsing/image-orientation-computed-expected.txt:
  • web-platform-tests/css/css-images/parsing/image-rendering-computed-expected.txt:
  • web-platform-tests/css/css-images/parsing/object-fit-computed-expected.txt:
  • web-platform-tests/css/css-masking/parsing/clip-path-computed-expected.txt:
  • web-platform-tests/css/css-overflow/inheritance-expected.txt:
  • web-platform-tests/css/css-overflow/parsing/overflow-computed-expected.txt:
  • web-platform-tests/css/css-overscroll-behavior/inheritance-expected.txt:
  • web-platform-tests/css/css-shapes/parsing/shape-outside-computed-expected.txt:
  • web-platform-tests/css/css-text/inheritance-expected.txt:
  • web-platform-tests/css/css-transitions/parsing/transition-shorthand-expected.txt:
  • web-platform-tests/css/css-transitions/parsing/transition-timing-function-computed-expected.txt:
  • web-platform-tests/css/css-values/clamp-length-computed-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/cssom-view/inheritance-expected.txt:
  • web-platform-tests/css/support/computed-testcommon.js:

(test_computed_value):

  • web-platform-tests/css/support/inheritance-testcommon.js:

(assert_initial):

  • web-platform-tests/css/support/parsing-testcommon.js:
  • web-platform-tests/css/support/w3c-import.log:
5:53 AM Changeset in webkit [251633] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

[LFC][IFC] Completely collapsed runs should not have advance width
https://bugs.webkit.org/show_bug.cgi?id=203457
<rdar://problem/56645024>

Reviewed by Antti Koivisto.

Let's reset the advance width for completely collapsed runs (any a collapsible space immediatelly following another
collapsible space).
https://drafts.csswg.org/css-text-3/#white-space-phase-1

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::setDisplayBoxesForLine):

  • layout/inlineformatting/InlineFormattingContextQuirks.cpp:

(WebCore::Layout::InlineFormattingContext::Quirks::lineDescentNeedsCollapsing const):

  • layout/inlineformatting/InlineLine.cpp:

(WebCore::Layout::Line::Run::canBeExtended const):
(WebCore::Layout::Line::isVisuallyEmpty const):
(WebCore::Layout::Line::removeTrailingTrimmableContent):
(WebCore::Layout::Line::trailingTrimmableWidth const):
(WebCore::Layout::Line::appendTextContent):

  • layout/inlineformatting/InlineLine.h:

(WebCore::Layout::Line::Run::expand):
(WebCore::Layout::Line::Run::isCollapsedToZeroAdvanceWidth const):
(WebCore::Layout::Line::Run::setCollapsesToZeroAdvanceWidth):
(WebCore::Layout::Line::Run::isVisuallyEmpty const): Deleted.
(WebCore::Layout::Line::Run::setVisuallyIsEmpty): Deleted.

5:47 AM Changeset in webkit [251632] by Antti Koivisto
  • 4 edits in trunk/Source/WebCore

Build cascade in PropertyCascade constructor
https://bugs.webkit.org/show_bug.cgi?id=203455

Reviewed by Zalan Bujtas.

Instead of calling addNormalMatches/addImportantMatches several times, clients now simply
pass the desired cascade levels to the constructor.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::applyMatchedProperties):
(WebCore::StyleResolver::applyPropertyToCurrentStyle):

  • style/PropertyCascade.cpp:

(WebCore::Style::PropertyCascade::PropertyCascade):
(WebCore::Style::PropertyCascade::addMatch):
(WebCore::Style::PropertyCascade::addNormalMatches):

Return if there were any important matches so we may skip the step later.

(WebCore::Style::PropertyCascade::addImportantMatches):
(WebCore::Style::PropertyCascade::applyDeferredProperties):
(WebCore::Style::PropertyCascade::applyPropertiesImpl):
(WebCore::Style::PropertyCascade::propertyCascadeForRollback):
(WebCore::Style::PropertyCascade::applyProperty):
(WebCore::Style::PropertyCascade::Property::apply): Deleted.

Also make this PropertyCascade::applyProperty

  • style/PropertyCascade.h:
12:31 AM Changeset in webkit [251631] by yurys@chromium.org
  • 1 edit
    1 copy
    1 delete in trunk/LayoutTests

[GTK] LayoutTests/inspector tests timeout
https://bugs.webkit.org/show_bug.cgi?id=147518

Unreviewed. Added missing generic test expectation (it was accidentally placed under platform/mac).

  • inspector/model/remote-object-dom-expected.txt: Renamed from LayoutTests/platform/mac/inspector/model/remote-object-dom-expected.txt.
12:12 AM Changeset in webkit [251630] by commit-queue@webkit.org
  • 63 edits
    11 copies
    5 adds
    2 deletes in trunk

Put OffscreenCanvas behind a build flag
https://bugs.webkit.org/show_bug.cgi?id=203146

Patch by Chris Lord <Chris Lord> on 2019-10-26
Reviewed by Ryosuke Niwa.

.:

Put OffscreenCanvas behind a build flag and enable building with
experimental features on GTK and WPE.

  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsWPE.cmake:
  • Source/cmake/WebKitFeatures.cmake:

LayoutTests/imported/w3c:

OffscreenCanvas is disabled by default, adjust expectations accordingly.

  • web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt:
  • web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt:
  • web-platform-tests/2dcontext/imagebitmap/createImageBitmap-serializable-expected.txt:
  • web-platform-tests/2dcontext/imagebitmap/createImageBitmap-transfer-expected.txt:
  • web-platform-tests/html/dom/idlharness.https-expected.txt:
  • web-platform-tests/html/infrastructure/safe-passing-of-structured-data/transfer-errors.window-expected.txt:

PerformanceTests:

  • StitchMarker/wtf/FeatureDefines.h:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

No new tests. No behavior changes.

  • Configurations/FeatureDefines.xcconfig:
  • bindings/js/JSEventTargetCustom.cpp:
  • bindings/js/JSOffscreenCanvasRenderingContext2DCustom.cpp:
  • dom/EventTargetFactory.in:
  • html/ImageBitmap.idl:
  • html/OffscreenCanvas.cpp:
  • html/OffscreenCanvas.h:
  • html/OffscreenCanvas.idl:
  • html/canvas/CanvasRenderingContext.cpp:
  • html/canvas/ImageBitmapRenderingContext.idl:
  • html/canvas/OffscreenCanvasRenderingContext2D.cpp:
  • html/canvas/OffscreenCanvasRenderingContext2D.h:
  • html/canvas/OffscreenCanvasRenderingContext2D.idl:
  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::canvas):

  • html/canvas/WebGLRenderingContextBase.h:
  • html/canvas/WebGLRenderingContextBase.idl:
  • inspector/agents/InspectorCanvasAgent.cpp:
  • page/PageConsoleClient.cpp:

(WebCore::canvasRenderingContext):

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setImageBitmapEnabled):
(WebCore::RuntimeEnabledFeatures::imageBitmapEnabled const):
(WebCore::RuntimeEnabledFeatures::setOffscreenCanvasEnabled):
(WebCore::RuntimeEnabledFeatures::offscreenCanvasEnabled const):

  • page/WindowOrWorkerGlobalScope.idl:

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

Split the ImageBitmapOffscreenCanvas setting into two separate
settings so OffscreenCanvas can be disabled at build time.

  • Configurations/FeatureDefines.xcconfig:
  • Shared/WebPreferences.yaml:
  • Shared/WebPreferencesDefaultValues.h:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

  • WebProcess/WebPage/WebInspectorUI.cpp:

(WebKit::WebInspectorUI::WebInspectorUI):

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

Put OffscreenCanvas behind a build flag and enable the runtime setting
when running tests on platforms where it's built (GTK and WPE).

  • Scripts/webkitperl/FeatureList.pm:
  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::beginTesting):

  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::setOffscreenCanvasEnabled):

  • WebKitTestRunner/InjectedBundle/TestRunner.h:

Websites/webkit.org:

Update to reflect split ImageBitmapOffscreenCanvas settings.

  • experimental-features.html:

LayoutTests:

OffscreenCanvas is disabled by default except on GTK/WPE. Adjust test
expectations accordingly.

  • TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt.
  • platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt.
  • platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-serializable-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-serializable-expected.txt.
  • platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-transfer-expected.txt: Renamed from LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-transfer-expected.txt.
  • platform/gtk/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt.
  • platform/gtk/imported/w3c/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/transfer-errors.window-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/transfer-errors.window-expected.txt.
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt:
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/wpe/TestExpectations:
  • platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt.
  • platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-serializable-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-serializable-expected.txt.
  • platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-transfer-expected.txt: Renamed from LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-transfer-expected.txt.
  • platform/wpe/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt.
  • platform/wpe/imported/w3c/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/transfer-errors.window-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/transfer-errors.window-expected.txt.

Oct 25, 2019:

11:45 PM Changeset in webkit [251629] by yurys@chromium.org
  • 1 edit
    1 delete in trunk/LayoutTests

Web Inspector: remove custom expectations from platform/gtk/inspector-protocol
https://bugs.webkit.org/show_bug.cgi?id=203453

Unreviewed, test expectations cleanup.

  • platform/gtk/inspector-protocol/debugger/setBreakpoint-dfg-and-modify-local-expected.txt: Removed.
  • platform/gtk/inspector-protocol/debugger/setBreakpoint-dfg-expected.txt: Removed.
  • platform/gtk/inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt: Removed.

Removed platform/gtk/inspector-protocol altogether as there is no LayoutTests/inspector-protocol
folder any more. Corresponding tests were either deleted or moved to LayoutTests/inspector a while ago.

11:12 PM Changeset in webkit [251628] by yurys@chromium.org
  • 6 edits in trunk/LayoutTests

[GTK] Layout test inspector-protocol/debugger/setBreakpoint-dfg-callee-and-examine-dfg-local.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=139359

Reviewed by Devin Rousso.

Renable the test on all platforms. With the current implementation of inspector client in tests
response to Debugger.resume is dispatched in the front-end synchronously and the front-end would
call InspectoTest.log when inspected script execution is not yet resumed.

  • inspector/debugger/setBreakpoint-dfg-callee-and-examine-dfg-local-expected.txt:
  • inspector/debugger/setBreakpoint-dfg-callee-and-examine-dfg-local.html:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:
9:53 PM Changeset in webkit [251627] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

REGRESSION(r251599): Crash in MobileSafari tests (ASSERTION FAILED: m_pendingRequestToSuspendID)
https://bugs.webkit.org/show_bug.cgi?id=203437
<rdar://problem/56633399>

Reviewed by Geoffrey Garen.

  • UIProcess/ProcessThrottler.cpp:

(WebKit::ProcessThrottler::updateAssertionIfNeeded):
Start the timer before sending the PrepareToSuspend IPC. The reason is that if the process has been
terminated, the completion handler may run synchronously and cancel the request to suspend / stop
the timer. Therefore, re-starting the timer after would be a mistake.

7:38 PM Changeset in webkit [251626] by eric.carlson@apple.com
  • 10 edits in trunk

Support for callbacks for manifest events
https://bugs.webkit.org/show_bug.cgi?id=202101
<rdar://problem/54277362>

Reviewed by Jer Noble.
Source/WebCore:

Use AVPlayerItemMetadataCollector to get manifest based time metadata. Use
AVPlayerItemMetadataOutput to get time metadata instead of listening for a "timedMetadata"
KVO on AVPlayer.

No new tests, existing test updated.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::globalMetadataProcessingQueue):
(WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem):
(WebCore::metadataType):
(WebCore::MediaPlayerPrivateAVFoundationObjC::metadataGroupDidArrive):
(WebCore::MediaPlayerPrivateAVFoundationObjC::metadataDidArrive):
(WebCore::itemKVOProperties):
(-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
(-[WebCoreAVFMovieObserver metadataOutput:didOutputTimedMetadataGroups:fromPlayerItemTrack:]):
(-[WebCoreAVFMovieObserver metadataCollector:didCollectDateRangeMetadataGroups:indexesOfNewGroups:indexesOfModifiedGroups:]):

Source/WebCore/PAL:

  • pal/cocoa/AVFoundationSoftLink.h:
  • pal/cocoa/AVFoundationSoftLink.mm:

LayoutTests:

  • http/tests/media/resources/hls/metadata/prog_index.m3u8:
  • http/tests/media/track-in-band-hls-metadata-expected.txt:
  • http/tests/media/track-in-band-hls-metadata.html:
7:36 PM Changeset in webkit [251625] by Wenson Hsieh
  • 6 edits in trunk/LayoutTests

[iOS WK2] fast/viewport/ios/use-minimum-device-width-for-page-without-viewport-meta.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=196298
<rdar://problem/49337021>

Reviewed by Simon Fraser.

  • fast/viewport/ios/use-minimum-device-width-for-page-without-viewport-meta-expected.txt:
  • fast/viewport/ios/use-minimum-device-width-for-page-without-viewport-meta.html:

Adjust this flaky layout test so that it's more robust:

  • Begin the test after the first visible content rect update following the load event.
  • Add an initial step to the test to sanity check the viewport dimensions when setting the minimum effective

device width to 0.

  • At each step, instead of waiting for the next visible content rect update and presentation update, simply

wait for the window width to reach the expected value.

From local testing, this brings the test failure rate down from ~25 failures in 1000 runs to 0 failures.

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

Remove the failing test expectations.

  • platform/ipad/fast/viewport/ios/use-minimum-device-width-for-page-without-viewport-meta-expected.txt:

Adjust the text expectations so that they contain an entry for setMinimumEffectiveWidth(0) as well.

6:57 PM Changeset in webkit [251624] by Devin Rousso
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Styles: un-experimentalize showing rule icons
https://bugs.webkit.org/show_bug.cgi?id=203308

Reviewed by Joseph Pecoraro.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Base/Setting.js:
  • UserInterface/Views/SettingsTabContentView.js:

(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:

(WI.SpreadsheetCSSStyleDeclarationSection.prototype.initialLayout):
(WI.SpreadsheetCSSStyleDeclarationSection.prototype._renderSelector):

6:48 PM Changeset in webkit [251623] by aestes@apple.com
  • 15 edits
    2 copies
    1 add in trunk/Source

[Quick Look] Move the QLPreviewConverter delegate into PreviewConverter and vend a C++ client interface
https://bugs.webkit.org/show_bug.cgi?id=203396

Reviewed by Alex Christensen.

Source/WebCore:

PreviewConverter existed as a thin wrapper around QLPreviewConverter for use by
LegacyPreviewLoader and Quick Look NSData loading in WebKitLegacy. This patch makes two
changes to this arrangement:

  1. The QLPreviewConverter delegate and the bulk of the conversion state machine was moved

into PreviewConverter, which now vends a C++ client interface. LegacyPreviewLoader is now a
client of its PreviewConverter, retaining the responsiility of interacting with the
ResourceLoader and LegacyPreviewLoaderClient.

  1. The Quick Look NSData loading code for WebKitLegacy now uses QLPreviewConverter API

directly rather than creating a PreviewConverter. This code path does not require a delegate
nor any of the other logic in PreviewConverter.

This change also organizes PreviewConverter into a cross-platform .cpp file and an
iOS-specific .mm file for the direct usage of QLPreviewConverter API. LegacyPreviewConverter
was also organized such that it can be changed from .mm to .cpp in a future patch.

No change in behavior. Covered by existing API and layout tests.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::setPreviewConverter):

  • loader/DocumentLoader.h: Changed m_previewConverter from std::unique_ptr to RefPtr.
  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didReceiveResponse): Used makeUnique directly instead of
LegacyPreviewLoader::create().

  • loader/ios/LegacyPreviewLoader.h: Privately inherited from PreviewConverterClient and

PreviewConverterProvider and migrated WebPreviewLoader ivars to member variables.

  • loader/ios/LegacyPreviewLoader.mm:

(WebCore::makeClient):
(WebCore::LegacyPreviewLoader::didReceiveBuffer):
(WebCore::LegacyPreviewLoader::didFinishLoading):
(WebCore::LegacyPreviewLoader::didFail):
(WebCore::LegacyPreviewLoader::previewConverterDidStartConverting):
(WebCore::LegacyPreviewLoader::previewConverterDidReceiveData):
(WebCore::LegacyPreviewLoader::previewConverterDidFinishConverting):
(WebCore::LegacyPreviewLoader::previewConverterDidFailUpdating):
(WebCore::LegacyPreviewLoader::previewConverterDidFailConverting):
(WebCore::LegacyPreviewLoader::providePasswordForPreviewConverter):
(WebCore::LegacyPreviewLoader::provideMainResourceForPreviewConverter):
(WebCore::LegacyPreviewLoader::LegacyPreviewLoader):
(WebCore::LegacyPreviewLoader::didReceiveData):
(WebCore::LegacyPreviewLoader::didReceiveResponse):
(testingClient): Deleted.
(emptyClient): Deleted.
(-[WebPreviewLoader initWithResourceLoader:resourceResponse:]): Deleted.
(-[WebPreviewLoader appendDataArray:]): Deleted.
(-[WebPreviewLoader finishedAppending]): Deleted.
(-[WebPreviewLoader failed]): Deleted.
(-[WebPreviewLoader _loadPreviewIfNeeded]): Deleted.
(-[WebPreviewLoader connection:didReceiveData:lengthReceived:]): Deleted.
(-[WebPreviewLoader connectionDidFinishLoading:]): Deleted.
(isQuickLookPasswordError): Deleted.
(-[WebPreviewLoader connection:didFailWithError:]): Deleted.
(WebCore::LegacyPreviewLoader::~LegacyPreviewLoader): Deleted.
(WebCore::LegacyPreviewLoader::create): Deleted.

  • platform/PreviewConverter.cpp: Added.

(WebCore::PreviewConverter::supportsMIMEType):
(WebCore::PreviewConverter::previewResponse const):
(WebCore::PreviewConverter::previewError const):
(WebCore::PreviewConverter::previewData const):
(WebCore::PreviewConverter::updateMainResource):
(WebCore::PreviewConverter::appendFromBuffer):
(WebCore::PreviewConverter::finishUpdating):
(WebCore::PreviewConverter::failedUpdating):
(WebCore::PreviewConverter::hasClient const):
(WebCore::PreviewConverter::addClient):
(WebCore::PreviewConverter::removeClient):
(WebCore::sharedPasswordForTesting):
(WebCore::PreviewConverter::passwordForTesting):
(WebCore::PreviewConverter::setPasswordForTesting):
(WebCore::PreviewConverter::iterateClients):
(WebCore::PreviewConverter::didAddClient):
(WebCore::PreviewConverter::didFailConvertingWithError):
(WebCore::PreviewConverter::didFailUpdating):
(WebCore::PreviewConverter::replayToClient):
(WebCore::PreviewConverter::delegateDidReceiveData):
(WebCore::PreviewConverter::delegateDidFinishLoading):
(WebCore::PreviewConverter::delegateDidFailWithError):

  • platform/PreviewConverter.h:

(WebCore::PreviewConverter::PreviewConverter): Deleted.
(WebCore::PreviewConverter::platformConverter const): Deleted.

  • platform/PreviewConverterClient.h: Copied from Source/WebCore/platform/PreviewConverter.h.
  • platform/PreviewConverterProvider.h: Copied from Source/WebCore/platform/PreviewConverter.h.
  • platform/ios/PreviewConverterIOS.mm:

(-[WebPreviewConverterDelegate initWithDelegate:]):
(-[WebPreviewConverterDelegate connection:didReceiveData:lengthReceived:]):
(-[WebPreviewConverterDelegate connectionDidFinishLoading:]):
(-[WebPreviewConverterDelegate connection:didFailWithError:]):
(WebCore::PreviewConverter::PreviewConverter):
(WebCore::PreviewConverter::platformSupportedMIMETypes):
(WebCore::PreviewConverter::safeRequest const):
(WebCore::PreviewConverter::platformPreviewResponse const):
(WebCore::PreviewConverter::platformAppend):
(WebCore::PreviewConverter::platformFinishedAppending):
(WebCore::PreviewConverter::platformFailedAppending):
(WebCore::PreviewConverter::isPlatformPasswordError const):
(WebCore::optionsWithPassword):
(WebCore::PreviewConverter::platformUnlockWithPassword):
(WebCore::PreviewConverter::supportsMIMEType): Deleted.
(WebCore::PreviewConverter::previewRequest const): Deleted.
(WebCore::PreviewConverter::previewResponse const): Deleted.

  • platform/ios/QuickLook.mm:

(WebCore::registerQLPreviewConverterIfNeeded): Used QLPreviewConverter directly.

Source/WebCore/PAL:

  • pal/spi/ios/QuickLookSPI.h:

Source/WTF:

  • wtf/FeatureDefines.h: Defined ENABLE_PREVIEW_CONVERTER.
6:40 PM Changeset in webkit [251622] by Wenson Hsieh
  • 2 edits in trunk/LayoutTests

Adjust a layout test after r251522
https://bugs.webkit.org/show_bug.cgi?id=202663

Reviewed by Simon Fraser.

Fix relative file paths when including ui-helper.js and basic-gestures.js.

  • fast/events/touch/ios/long-press-on-link.html:
6:21 PM Changeset in webkit [251621] by yurys@chromium.org
  • 4 edits in trunk/LayoutTests

[GTK] LayoutTests/inspector tests timeout
https://bugs.webkit.org/show_bug.cgi?id=147518

Reviewed by Devin Rousso.

Renable inspector/model tests on GTK.

  • TestExpectations: There are two real issues that actually happen on all platforms,

filed separate bugs for each of them.

  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
6:10 PM Changeset in webkit [251620] by yurys@chromium.org
  • 14 edits
    6 adds in trunk

Web Inspector: support emulateUserGesture parameter in Runtime.callFunctionOn
https://bugs.webkit.org/show_bug.cgi?id=200262

Reviewed by Devin Rousso.

Source/JavaScriptCore:

  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::InspectorRuntimeAgent::callFunctionOn):

  • inspector/agents/InspectorRuntimeAgent.h:
  • inspector/protocol/Runtime.json:

Source/WebCore:

Support emulateUserGesture in Runtime.callFunctionOn

Tests: inspector/runtime/callFunctionOn-emulateUserGesture-userIsInteracting.html

inspector/runtime/callFunctionOn-emulateUserGesture.html

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/agents/page/PageDebuggerAgent.cpp:

(WebCore::PageDebuggerAgent::evaluateOnCallFrame):

  • inspector/agents/page/PageRuntimeAgent.cpp:

(WebCore::asBool):
(WebCore::PageRuntimeAgent::evaluate):
(WebCore::PageRuntimeAgent::callFunctionOn):

  • inspector/agents/page/PageRuntimeAgent.h:
  • inspector/agents/page/UserGestureEmulationScope.cpp: Added.

(WebCore::UserGestureEmulationScope::UserGestureEmulationScope): Extracted logic
of overriding user gesture into the scope object to share it between evaluate and
callFunctionOn as well as PageDebuggerAgent::evaluateOnCallFrame.
(WebCore::UserGestureEmulationScope::~UserGestureEmulationScope):

  • inspector/agents/page/UserGestureEmulationScope.h: Added.

LayoutTests:

Supported emulateUserGesture in Runtime.callFunctionOn protocol command.

  • TestExpectations:
  • inspector/runtime/callFunctionOn-emulateUserGesture-expected.txt: Added.
  • inspector/runtime/callFunctionOn-emulateUserGesture-userIsInteracting-expected.txt: Added.
  • inspector/runtime/callFunctionOn-emulateUserGesture-userIsInteracting.html: Added.
  • inspector/runtime/callFunctionOn-emulateUserGesture.html: Added.
  • platform/wk2/TestExpectations:

Only enable the new test on WK2, as the user interaction state is only supported by WK2.

6:03 PM Changeset in webkit [251619] by Megan Gardner
  • 2 edits in trunk/LayoutTests

Fix autoscroll test specifically for iPad
https://bugs.webkit.org/show_bug.cgi?id=203392
<rdar://problem/51712479>

Reviewed by Wenson Hsieh.

On iPad, we only have one gesture that will set off the magnified caret gesture.
If we touch in the same point as where we touched to focus the element, in the
test environment, nothing resets the positionInformation, which then erroneously
thinks that there is no focused element, which then blocks the caret gesture from
starting. The easiest fix for this is to not have the point to focus the element
be the same point that we use to start the caret gesture.

  • fast/events/touch/ios/drag-to-autoscroll-in-single-line-editable.html:
5:53 PM Changeset in webkit [251618] by sihui_liu@apple.com
  • 3 edits in trunk/LayoutTests

REGRESSION (r251261?): Flaky Test: inspector/runtime/getProperties.html
https://bugs.webkit.org/show_bug.cgi?id=203271
<rdar://problem/56557216>

Reviewed by Devin Rousso.

r251261 was reverted and the test has become not so flaky, but the previous flakiness showed us a potential bug
in the test: it is possible that the console message for unhandled rejected promise gets dispatched after
dumping the results. To make the test more robust, stop showing that message in console.

  • inspector/runtime/getProperties-expected.txt:
  • inspector/runtime/getProperties.html:
5:46 PM Changeset in webkit [251617] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][IFC] Remove redundant LineLayout::LineInput c'tor
https://bugs.webkit.org/show_bug.cgi?id=203425
<rdar://problem/56624666>

Reviewed by Antti Koivisto.

Move the SkipAligment paramenter to the LineLayout from LineLayout::LineInput, because it's the property of the layout and not an input to the actual line.

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::lineLayout):
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthForConstraint const):

  • layout/inlineformatting/InlineLineLayout.cpp:

(WebCore::Layout::LineLayout::LineInput::LineInput):
(WebCore::Layout::LineLayout::LineLayout):

  • layout/inlineformatting/InlineLineLayout.h:
5:37 PM Changeset in webkit [251616] by ddkilzer@apple.com
  • 4 edits in trunk/Source/WebKit

Unused arguments in MESSAGE_CHECK_CONTEXTID() macros
<https://webkit.org/b/203389>
<rdar://problem/55935374>

Reviewed by Alex Christensen.

  • UIProcess/Cocoa/PlaybackSessionManagerProxy.mm:

(#define MESSAGE_CHECK_CONTEXTID):

  • Rename macro argument from contextID to identifier and change contextIdto identifier in the body of the macro so that the argument is always used.

(WebKit::PlaybackSessionManagerProxy::setUpPlaybackControlsManagerWithID):
(WebKit::PlaybackSessionManagerProxy::currentTimeChanged):
(WebKit::PlaybackSessionManagerProxy::bufferedTimeChanged):
(WebKit::PlaybackSessionManagerProxy::seekableRangesVectorChanged):
(WebKit::PlaybackSessionManagerProxy::canPlayFastReverseChanged):
(WebKit::PlaybackSessionManagerProxy::audioMediaSelectionOptionsChanged):
(WebKit::PlaybackSessionManagerProxy::legibleMediaSelectionOptionsChanged):
(WebKit::PlaybackSessionManagerProxy::audioMediaSelectionIndexChanged):
(WebKit::PlaybackSessionManagerProxy::legibleMediaSelectionIndexChanged):
(WebKit::PlaybackSessionManagerProxy::externalPlaybackPropertiesChanged):
(WebKit::PlaybackSessionManagerProxy::wirelessVideoPlaybackDisabledChanged):
(WebKit::PlaybackSessionManagerProxy::mutedChanged):
(WebKit::PlaybackSessionManagerProxy::volumeChanged):
(WebKit::PlaybackSessionManagerProxy::durationChanged):
(WebKit::PlaybackSessionManagerProxy::playbackStartedTimeChanged):
(WebKit::PlaybackSessionManagerProxy::rateChanged):
(WebKit::PlaybackSessionManagerProxy::pictureInPictureSupportedChanged):
(WebKit::PlaybackSessionManagerProxy::pictureInPictureActiveChanged):
(WebKit::PlaybackSessionManagerProxy::handleControlledElementIDResponse const):

  • Change contextID to contextId to match local variable name now that MESSAGE_CHECK_CONTEXTID() doesn't paper over this typo for us.
  • UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:

(#define MESSAGE_CHECK_CONTEXTID):

  • Rename macro argument from contextID to identifier and change contextIdto identifier in the body of the macro so that the argument is always used.
  • UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:

(#define MESSAGE_CHECK_CONTEXTID):

  • Rename macro argument and variable in the body of the macro from id to identifier for consistency.
5:21 PM Changeset in webkit [251615] by pvollan@apple.com
  • 6 edits in trunk/LayoutTests

REGRESSION: fast/css/paint-order.html and fast/css/paint-order-shadow.html are failing
https://bugs.webkit.org/show_bug.cgi?id=203313
<rdar://problem/52557916>

Reviewed by Alexey Proskuryakov.

Catalina introduced a regression, causing these tests to fail. This was not a regression related to the feature these
tests are testing, but a regression related to the rendering position and size of a specific glyph. Given this, the
tests are changed to take this into consideration, making them pass both on Catalina and previous versions of the OS.

  • fast/css/paint-order-expected.html:
  • fast/css/paint-order-shadow-expected.html:
  • fast/css/paint-order-shadow.html:
  • fast/css/paint-order.html:
  • platform/mac/TestExpectations:
5:16 PM Changeset in webkit [251614] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

macCatalyst: Build failures in projects that have both AppKit and WAK headers
https://bugs.webkit.org/show_bug.cgi?id=203429
<rdar://problem/56598370>

Reviewed by Sam Weinig.

  • platform/ios/wak/WAKAppKitStubs.h:

Slightly abuse the preprocessor to avoid errors due to redefining AppKit symbols.

5:00 PM Changeset in webkit [251613] by Jonathan Bedard
  • 9 edits in trunk/Tools

Python 3: Add support in webkitpy.common.checkout
https://bugs.webkit.org/show_bug.cgi?id=201956

Reviewed by Dewei Zhu.

  • Scripts/test-webkitpy-python3: Add webkitpy.common.checkout.
  • Scripts/webkitpy/common/checkout/changelog.py: Import Python 3 compatible unicdoe.
  • Scripts/webkitpy/common/checkout/changelog_unittest.py: Import Python 3 compatible StringIO.
  • Scripts/webkitpy/common/checkout/checkout.py: Use Python 3 compatible reduce.

(Checkout._modified_files_matching_predicate): Convert iterators into lists before returning.
(Checkout.suggested_reviewers): Ditto.

  • Scripts/webkitpy/common/checkout/checkout_mock.py: Use full import paths.
  • Scripts/webkitpy/common/checkout/checkout_unittest.py: Use full import paths, convert

iterators into lists.

  • Scripts/webkitpy/common/checkout/diff_parser_unittest.py: Use full import paths, use Python 3

compatible StringIO.

  • Scripts/webkitpy/common/config/committers.py:

(Contributor.hash): Committers need to be hashable to be inserted into a set.

5:00 PM Changeset in webkit [251612] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS] Fix sandbox violations seen while running layout tests
https://bugs.webkit.org/show_bug.cgi?id=203419

Reviewed by Brent Fulgham.

Deny mach lookup to 'com.apple.logd' and 'com.apple.logd.events' and suppress logs, since these are
believed to be unneeded in the WebContent process. Allow sysctl write to 'vm.footprint_suspend'.
Deny mach lookup to 'com.apple.system.notification_center' and suppress logs, since allowing this
is not believed to be needed in the WebContent process.

No new tests, covered by existing tests.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
4:22 PM Changeset in webkit [251611] by Antti Koivisto
  • 10 edits in trunk/Source/WebCore

Move more cascade related code from StyleResolver to PropertyCascade
https://bugs.webkit.org/show_bug.cgi?id=203409

Reviewed by Zalan Bujtas.

  • Move a bunch of StyleResolver member functions to PropertyCascade.
  • Make ApplyCascadedPropertyState part of the PropertyCascade internal state.
  • Pass around a reference to the PropertyCascade itself instead of the state object The state contained PropertyCascade member already so this is equivalent but simpler.
  • css/CSSVariableReferenceValue.cpp:

(WebCore::resolveVariableFallback):
(WebCore::resolveVariableReference):
(WebCore::resolveTokenRange):
(WebCore::CSSVariableReferenceValue::resolveVariableReferences const):

  • css/CSSVariableReferenceValue.h:
  • css/ElementRuleCollector.h:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::applyMatchedProperties):
(WebCore::StyleResolver::applyPropertyToCurrentStyle):
(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::resolvedVariableValue const):
(WebCore::StyleResolver::cascadedPropertiesForRollback): Deleted.
(WebCore::StyleResolver::applyCascadedCustomProperty): Deleted.
(WebCore::StyleResolver::applyCascadedProperties): Deleted.
(WebCore::StyleResolver::applyCascadedPropertiesImpl): Deleted.

These become PropertyCascade members.

  • css/StyleResolver.h:

(WebCore::StyleResolver::State::authorRollback const): Deleted.
(WebCore::StyleResolver::State::userRollback const): Deleted.
(WebCore::StyleResolver::State::setAuthorRollback): Deleted.
(WebCore::StyleResolver::State::setUserRollback): Deleted.

Rollbacks are now owned by PropertyCascade.

  • css/parser/CSSParser.cpp:

(WebCore::CSSParser::parseValueWithVariableReferences):

  • css/parser/CSSParser.h:
  • style/PropertyCascade.cpp:

(WebCore::Style::PropertyCascade::PropertyCascade):
(WebCore::Style::PropertyCascade::set):
(WebCore::Style::PropertyCascade::addNormalMatches):
(WebCore::Style::PropertyCascade::addImportantMatches):
(WebCore::Style::PropertyCascade::applyDeferredProperties):
(WebCore::Style::PropertyCascade::applyProperties):
(WebCore::Style::PropertyCascade::applyPropertiesImpl):
(WebCore::Style::PropertyCascade::applyCustomProperties):
(WebCore::Style::PropertyCascade::applyCustomProperty):
(WebCore::Style::PropertyCascade::propertyCascadeForRollback):
(WebCore::Style::PropertyCascade::Property::apply):

  • style/PropertyCascade.h:

(WebCore::Style::PropertyCascade::styleResolver):
(WebCore::Style::PropertyCascade::hasAppliedProperty const):
(WebCore::Style::PropertyCascade::customProperties): Deleted.

4:16 PM Changeset in webkit [251610] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][IFC] Add support for no-wrap
https://bugs.webkit.org/show_bug.cgi?id=203424
<rdar://problem/56624136>

Reviewed by Antti Koivisto.

Consult the white-space style property about line wrapping when the content overflows and can't be split.

  • layout/inlineformatting/InlineLineBreaker.cpp:

(WebCore::Layout::isContentWrappingAllowed):
(WebCore::Layout::LineBreaker::breakingContextForInlineContent):
(WebCore::Layout::LineBreaker::wordBreakingBehavior const):

  • layout/inlineformatting/InlineLineBreaker.h:
4:12 PM Changeset in webkit [251609] by Truitt Savell
  • 2 edits in trunk/LayoutTests

Adding expectations for editing/pasteboard/smart-paste-paragraph-003.html
https://bugs.webkit.org/show_bug.cgi?id=203264

Unreviewed test gardening

  • platform/ios-wk2/TestExpectations:
4:00 PM Changeset in webkit [251608] by Jonathan Bedard
  • 5 edits in trunk/Tools

Python 3: Add support in webkitpy.xcode
https://bugs.webkit.org/show_bug.cgi?id=203417

Reviewed by Dewei Zhu.

  • Scripts/test-webkitpy-python3: Add webkitpy.xcode.
  • Scripts/webkitpy/common/system/filesystem_mock.py:

(ReadableBinaryFileObject.seek): Add seek function to mirror actual binary file
behavior and support plistlib.

  • Scripts/webkitpy/xcode/simulated_device.py:

(SimulatedDeviceManager._disambiguate_device_type): Use values instead of itervalues.
(SimulatedDeviceManager._get_device_identifier_for_type): Use items instead of iteritems.
(SimulatedDeviceManager.device_count_for_type): Use values instead of itervalues.

  • Scripts/webkitpy/xcode/simulated_device_unittest.py:

(SimulatedDeviceTest.mock_host_for_simctl): Use items instead of iteritems.
(change_state_to): Explicitly use bytes to edit a binary file.

3:41 PM Changeset in webkit [251607] by Dewei Zhu
  • 4 edits in trunk/Websites/perf.webkit.org

Add SSL support for peformance dashboard database connection.
https://bugs.webkit.org/show_bug.cgi?id=203426

Reviewed by Ryosuke Niwa.

Performance dashboard should allow connecting Postgres database with SSL.

  • public/include/db.php: Add SSL configuration to connection string if specified.
  • tools/js/database.js: Add SSL configuration to connection string if specified.

(Database.prototype._prepareSSLConfig):
(Database.prototype.connect):

  • unit-tests/checkconfig.js: Added unit tests for optional ssl fields.
3:37 PM Changeset in webkit [251606] by yurys@chromium.org
  • 2 edits in trunk/LayoutTests

inspector/heap/getRemoteObject.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=156077
<rdar://problem/25469998>

Unreviewed test gardening. Skip the test on GTK in addition to Mac WK2 as it's
now failing and crashing.

  • platform/gtk/TestExpectations:
3:17 PM Changeset in webkit [251605] by rniwa@webkit.org
  • 11 edits
    4 deletes in trunk

Unreviewed, rolling out r251322.
https://bugs.webkit.org/show_bug.cgi?id=203430

Causing more test failures after the rollout of resize event
patch (Requested by rniwa on #webkit).

Reverted changeset:

"Integrate media query evaluation into HTML5 event loop"
https://bugs.webkit.org/show_bug.cgi?id=203134
https://trac.webkit.org/changeset/251322

Patch by Commit Queue <commit-queue@webkit.org> on 2019-10-25

3:07 PM Changeset in webkit [251604] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[EWS] Status page should show compiler ERRORS
https://bugs.webkit.org/show_bug.cgi?id=203418

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/steps.py:

(BuildLogLineObserver): Class for Analyzing build logs and extracting error logs.
(CompileWebKit.start): Initialize the log observer.
(CompileWebKit):
(CompileWebKit.errorReceived): Add the error to the errors log.

2:44 PM Changeset in webkit [251603] by youenn@apple.com
  • 4 edits in trunk/Source/WebCore

Introduce AudioTrackPrivateMediaStreamCocoa::clear()
https://bugs.webkit.org/show_bug.cgi?id=203369
<rdar://problem/49017262>

Reviewed by Jer Noble.

Introduce the clear method to make sure the AudioTrackPrivteMediaStreamCocoa is in a clean state.
This will help further simplifications.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::~MediaPlayerPrivateMediaStreamAVFObjC):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateTracks):

  • platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.cpp:

(WebCore::AudioTrackPrivateMediaStreamCocoa::~AudioTrackPrivateMediaStreamCocoa):
(WebCore::AudioTrackPrivateMediaStreamCocoa::clear):

  • platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.h:
2:28 PM Changeset in webkit [251602] by Matt Lewis
  • 32 edits
    2 deletes in trunk

Rolling out r251579,r251162,r251512,r251500, and r251498 for build failures
and test failures

Unreviewed rollout.

Source/WebCore:

  • Modules/webauthn/AuthenticatorCoordinator.cpp:
  • Modules/webauthn/WebAuthenticationConstants.h:
  • testing/MockWebAuthenticationConfiguration.h:

(WebCore::MockWebAuthenticationConfiguration::NfcConfiguration::encode const):
(WebCore::MockWebAuthenticationConfiguration::NfcConfiguration::decode):

  • testing/MockWebAuthenticationConfiguration.idl:

Source/WebKit:

  • Platform/spi/Cocoa/NearFieldSPI.h:
  • 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): Deleted.
(-[_WKWebAuthenticationPanel transports]): Deleted.
(wkWebAuthenticationType): Deleted.
(-[_WKWebAuthenticationPanel type]): Deleted.

  • UIProcess/WebAuthentication/AuthenticatorManager.cpp:

(WebKit::WebCore::collectTransports):
(WebKit::AuthenticatorManager::handleRequest):
(WebKit::AuthenticatorManager::respondReceived):
(WebKit::AuthenticatorManager::respondReceivedInternal):
(WebKit::AuthenticatorManager::startDiscovery):
(WebKit::AuthenticatorManager::initTimeOutTimer):
(WebKit::AuthenticatorManager::runPanel):
(WebKit::AuthenticatorManager::startRequest):
(WebKit::AuthenticatorManager::invokePendingCompletionHandler):
(WebKit::WebCore::getClientDataType): Deleted.
(WebKit::AuthenticatorManager::serviceStatusUpdated): Deleted.
(WebKit::AuthenticatorManager::filterTransports const): Deleted.
(WebKit::AuthenticatorManager::getTransports const): Deleted.
(WebKit::AuthenticatorManager::restartDiscovery): Deleted.

  • UIProcess/WebAuthentication/AuthenticatorManager.h:

(WebKit::AuthenticatorManager::respondReceivedInternal): Deleted.

  • UIProcess/WebAuthentication/AuthenticatorTransportService.cpp:

(WebKit::AuthenticatorTransportService::startDiscovery):
(WebKit::AuthenticatorTransportService::restartDiscovery): Deleted.

  • UIProcess/WebAuthentication/AuthenticatorTransportService.h:

(WebKit::AuthenticatorTransportService::restartDiscoveryInternal): Deleted.

  • UIProcess/WebAuthentication/Cocoa/NfcConnection.h:
  • UIProcess/WebAuthentication/Cocoa/NfcConnection.mm:

(WebKit::NfcConnection::NfcConnection):
(WebKit::NfcConnection::~NfcConnection):
(WebKit::NfcConnection::didDetectTags const):
(WebKit::NfcConnection::create): Deleted.
(WebKit::NfcConnection::stop const): Deleted.
(WebKit::NfcConnection::didDetectTags): Deleted.
(WebKit::NfcConnection::restartPolling): Deleted.
(WebKit::NfcConnection::startPolling): Deleted.

  • UIProcess/WebAuthentication/Cocoa/NfcService.h:
  • UIProcess/WebAuthentication/Cocoa/NfcService.mm:

(WebKit::NfcService::NfcService):
(WebKit::NfcService::didConnectTag):
(WebKit::NfcService::setDriver):
(WebKit::NfcService::platformStartDiscovery):
(WebKit::NfcService::isAvailable): Deleted.
(WebKit::NfcService::didDetectMultipleTags const): Deleted.
(WebKit::NfcService::setConnection): Deleted.
(WebKit::NfcService::restartDiscoveryInternal): Deleted.

  • UIProcess/WebAuthentication/Mock/MockAuthenticatorManager.cpp:

(WebKit::MockAuthenticatorManager::filterTransports const): Deleted.

  • UIProcess/WebAuthentication/Mock/MockAuthenticatorManager.h:
  • UIProcess/WebAuthentication/Mock/MockNfcService.h:
  • UIProcess/WebAuthentication/Mock/MockNfcService.mm:

(-[WKMockNFTag initWithNFTag:]):
(-[WKMockNFTag dealloc]):
(-[WKMockNFTag initWithType:]):
(WebKit::MockNfcService::platformStartDiscovery):
(WebKit::MockNfcService::detectTags const):
(-[WKMockNFTag tagID]): Deleted.
(-[WKMockNFTag initWithType:tagID:]): Deleted.
(WebKit::MockNfcService::receiveStopPolling): Deleted.
(WebKit::MockNfcService::receiveStartPolling): Deleted.

  • UIProcess/WebAuthentication/fido/CtapNfcDriver.cpp:

(WebKit::CtapNfcDriver::CtapNfcDriver):

  • UIProcess/WebAuthentication/fido/CtapNfcDriver.h:
  • UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp:

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:

(-[TestWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:]):
(-[TestWebAuthenticationPanelUIDelegate _webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]):
(TestWebKitAPI::TEST):
(-[TestWebAuthenticationPanelUIDelegate panel]): Deleted.

  • TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-nfc-multiple-tags.html: Removed.
  • TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-hid.html: Removed.

LayoutTests:

  • http/wpt/webauthn/public-key-credential-create-success-nfc.https-expected.txt:
  • http/wpt/webauthn/public-key-credential-create-success-nfc.https.html:
2:24 PM Changeset in webkit [251601] by Wenson Hsieh
  • 6 edits in trunk

[iOS 13] fast/forms/ios/accessory-bar-navigation.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=203294
<rdar://problem/54520848>

Reviewed by Tim Horton.

Source/WebKit:

Add an SPI declaration (as well as an internal-SKD-only header import) for UIKeyboardPreferencesController.
See Tools/ChangeLog for more details.

  • Platform/spi/ios/UIKitSPI.h:

Tools:

This layout test consistently fails when it is the first test to involve bringing up the keyboard that is run in
a newly created iOS simulator. This is because a software keyboard is presented when focusing the input fields
in the test, and the test expectation (which depends on the visual viewport) requires a hardware keyboard.

WebKitTestRunner already simulates the hardware keyboard being attached using the call to GraphicsServices SPI
in TestController::platformResetStateToConsistentValues. However, this was effectively a no-op in the case where
the simulated device has never (in its lifetime, even through reboots) brought up an input view. This is because
-[UIKeyboardImpl hardwareKeyboardAvailabilityChanged] is never called, due to UIInputResponderController never
having an active instance with an input view set. As a result, the automaticMinimizationEnabled property of
UIKeyboardImpl is never set to its correct initial value (which depends on GSEventIsHardwareKeyboardAttached()).

This leads to UIKeyboardImpl not automatically minimizing itself even though the hardware keyboard is attached
(but only until the next time the keyboard is shown, after a hardware keyboard availability change notification
has been sent, which occurs between every layout test).

To work around this source of flakiness, we ensure that the keyboard preference for enabling automatic
minimization has been set to @YES by the time we attempt to simulate connecting the hardware keyboard by calling
GSEventIsHardwareKeyboardAttached. Note that the extra step of writing the value to com.apple.Preferences is
necessary because logic in TextInput.framework exists that periodically wipes out any cached values for keyboard
preferences on UIInputResponderController, and then attempts to regenerate them by reading defaults in
com.apple.Preferences. However, the same logic also fails to actually update com.apple.Preferences before
reading from it, which results in a software keyboard *very* rarely appearing again when running layout tests
that don't expect to observe a software keyboard.

  • WebKitTestRunner/ios/TestControllerIOS.mm:

LayoutTests:

Upstream an iOS 13 layout test result into open source. Note that fast/forms/ios is not currently run in open
automation at all, so this expectation was unused anyways.

  • fast/forms/ios/accessory-bar-navigation-expected.txt:
1:41 PM Changeset in webkit [251600] by rniwa@webkit.org
  • 19 edits
    4 adds in trunk

Add exclusion rules to text manipulation SPI
https://bugs.webkit.org/show_bug.cgi?id=203398
<rdar://problem/56567256>

Reviewed by Wenson Hsieh.

Source/WebCore:

This patch adds the ability to define a ordered set of rules to exclude or include content an element of
a certain name or one with a certain attribute value.

Also made completeManipulation return more detailed errors for debugging purposes.

Tests: TextManipulation.StartTextManipulationApplySingleExcluionRuleForElement

TextManipulation.StartTextManipulationApplyInclusionExclusionRulesForAttributes
TextManipulation.CompleteTextManipulationFailWhenExclusionIsViolated

  • editing/TextManipulationController.cpp:

(WebCore::TextManipulationController::ExclusionRule::match const): Added.
(WebCore::ExclusionRuleMatcher): Added. This class is responsible for figuring out whether a given node
is excluded or included in the text manipulation.
(WebCore::ExclusionRuleMatcher::ExclusionRuleMatcher): Added.
(WebCore::ExclusionRuleMatcher::isExcluded): Added.
(WebCore::ExclusionRuleMatcher::typeForElement): Added.
(WebCore::TextManipulationController::startObservingParagraphs): Added a Vector of ExclusionRule as
an argument.
(WebCore::TextManipulationController::completeManipulation):
(WebCore::TextManipulationController::replace):

  • editing/TextManipulationController.h:

(WebCore::TextManipulationController::ExclusionRule): Added.
(WebCore::TextManipulationController::ManipulationResult): Added.
(WebCore::TextManipulationController::ManipulationToken::encode const): Include isExcluded boolean.
(WebCore::TextManipulationController::ManipulationToken::decode): Ditto.
(WebCore::TextManipulationController::ExclusionRule::encode const): Added.
(WebCore::TextManipulationController::ExclusionRule::decode): Added.
(WebCore::TextManipulationController::ExclusionRule::ElementRule::encode const): Added.
(WebCore::TextManipulationController::ExclusionRule::ElementRule::decode): Added.
(WebCore::TextManipulationController::ExclusionRule::AttributeRule::encode const): Added.
(WebCore::TextManipulationController::ExclusionRule::AttributeRule::decode): Added.

Source/WebKit:

Added SPI to specify the configuration for the text manipulation (see r251574), in particular, the set of rules
governing which content should be excluded or included in text manipulations.

Test: TextManipulation.StartTextManipulationExitEarlyWithoutDelegate

  • SourcesCocoa.txt:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _startTextManipulationsWithConfiguration:completion:]): Takes _WKTextManipulationConfiguration
as an argument. Also fixed a bug that we weren't calling the completion handler when the delegate was not set.
(-[WKWebView _completeTextManipulation:completion:]):
(-[WKWebView _startTextManipulationsWithCompletionHandler:]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/Cocoa/_WKTextManipulationConfiguration.h: Added.
  • UIProcess/API/Cocoa/_WKTextManipulationConfiguration.mm: Added.
  • UIProcess/API/Cocoa/_WKTextManipulationExclusionRule.h: Added.
  • UIProcess/API/Cocoa/_WKTextManipulationExclusionRule.mm: Added.

(-[_WKTextManipulationExclusionRule initExclusion:forElement:]): Added.
(-[_WKTextManipulationExclusionRule initExclusion:forAttribute:value:]): Added.
(-[_WKTextManipulationExclusionRule elementName]): Added.
(-[_WKTextManipulationExclusionRule attributeName]): Added.
(-[_WKTextManipulationExclusionRule attributeValue]): Added.

  • UIProcess/API/Cocoa/_WKTextManipulationToken.h: Added excluded boolean property.
  • UIProcess/API/Cocoa/_WKTextManipulationToken.mm: Removed the superflous import of RetainPtr.h
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::startTextManipulations):
(WebKit::WebPageProxy::completeTextManipulation):

  • UIProcess/WebPageProxy.h:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::startTextManipulations):
(WebKit::WebPage::completeTextManipulation):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Tools:

Added tests for including & excluding content based on element names and attribute values.

Also added a test to make sure _startTextManipulationsWithConfiguration calls the completion handler
even when the _WKTextManipulationDelegate isn't set.

  • TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
12:25 PM Changeset in webkit [251599] by Chris Dumez
  • 17 edits in trunk/Source/WebKit

[iOS][WK2] Use sendWithAsyncReply() to simplify the prepareToSuspend logic
https://bugs.webkit.org/show_bug.cgi?id=203422

Reviewed by Alex Christensen.

Use sendWithAsyncReply() to simplify the prepareToSuspend logic and make it easier to
understand.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::processWillSuspendImminentlyForTestingSync):
(WebKit::NetworkProcess::prepareToSuspend):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _processWillSuspendImminentlyForTesting]):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::sendPrepareToSuspend):
(WebKit::NetworkProcessProxy::processReadyToSuspend): Deleted.

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/Network/NetworkProcessProxy.messages.in:
  • UIProcess/ProcessThrottler.cpp:

(WebKit::ProcessThrottler::processReadyToSuspend):
(WebKit::ProcessThrottler::sendPrepareToSuspendIPC):

  • UIProcess/ProcessThrottler.h:
  • UIProcess/ProcessThrottlerClient.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::sendPrepareToSuspend):
(WebKit::WebProcessProxy::processReadyToSuspend): Deleted.

  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebProcessProxy.messages.in:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::prepareToSuspend):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
12:04 PM Changeset in webkit [251598] by youenn@apple.com
  • 7 edits in trunk

WebProcess should unregister its interest for a SWServerRegistration when all its corresponding ServiceWorkerRegistrations are destroyed
https://bugs.webkit.org/show_bug.cgi?id=203410

Reviewed by Chris Dumez.

Source/WebKit:

A SWServerRegistration is keeping a list of web processes that should be notified of change to its state.
Previously, WebProcesses were registering their interest to a SWServerRegistration on construction of a ServiceWorkerRegistration,
and unregistering their interest on destruction of a ServiceWorkerRegistration.

This does not work in case two ServiceWorkerRegistrations are created for the same SWServerRegistration in the same WebProcess.
In that case, when one of the two ServiceWorkerRegistration is destroyed, the WebProcess will no longer be notified of changes to the SWServerRegistration,
thus breaking the second ServiceWorkerRegistration behavior.

We introduce a map at WebProcess level to keep track of the number of ServiceWorkerRegistration created for a given SWServerRegistration.

Covered by re-enabled tests.

  • WebProcess/Storage/WebSWClientConnection.cpp:

(WebKit::WebSWClientConnection::addServiceWorkerRegistrationInServer):
(WebKit::WebSWClientConnection::removeServiceWorkerRegistrationInServer):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::addServiceWorkerRegistration):
(WebKit::WebProcess::removeServiceWorkerRegistration):

  • WebProcess/WebProcess.h:

LayoutTests:

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
11:22 AM Changeset in webkit [251597] by Truitt Savell
  • 4 edits in trunk/LayoutTests

Followup test gardening after r251591
https://bugs.webkit.org/show_bug.cgi?id=203291

Unreviewed test gardening.

  • platform/ios/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/mac/TestExpectations:
10:47 AM Changeset in webkit [251596] by achristensen@apple.com
  • 1 edit
    4 adds in trunk/LayoutTests

Rebase WK1 test after r251582
https://bugs.webkit.org/show_bug.cgi?id=203383

  • platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/scripting-1: Added.
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element: Added.
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module: Added.
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module/integrity-expected.txt: Added.
10:16 AM Changeset in webkit [251595] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Move code around in CSSCalculationValue.cpp
https://bugs.webkit.org/show_bug.cgi?id=203397

Reviewed by Zalan Bujtas.

Large amounts of code were in inline (but virtual) functions in CSSCalcPrimitiveValue, CSSCalcOperation
and CSSCalcExpressionNodeParser, making it hard to navigate around this file. Move code into
out-of-line functions. No behavior changes.

  • css/CSSCalculationValue.cpp:

(WebCore::CSSCalcPrimitiveValue::createCalcExpression const):
(WebCore::CSSCalcPrimitiveValue::doubleValue const):
(WebCore::CSSCalcPrimitiveValue::computeLengthPx const):
(WebCore::CSSCalcPrimitiveValue::collectDirectComputationalDependencies const):
(WebCore::CSSCalcPrimitiveValue::collectDirectRootComputationalDependencies const):
(WebCore::CSSCalcPrimitiveValue::equals const):
(WebCore::CSSCalcOperation::create):
(WebCore::CSSCalcOperation::createMinOrMax):
(WebCore::CSSCalcOperation::createSimplified):
(WebCore::CSSCalcOperation::primitiveType const):
(WebCore::CSSCalcOperation::createCalcExpression const):
(WebCore::CSSCalcOperation::doubleValue const):
(WebCore::CSSCalcOperation::computeLengthPx const):
(WebCore::CSSCalcOperation::collectDirectComputationalDependencies const):
(WebCore::CSSCalcOperation::collectDirectRootComputationalDependencies const):
(WebCore::CSSCalcOperation::buildCssText):
(WebCore::CSSCalcOperation::customCSSText const):
(WebCore::CSSCalcOperation::equals const):
(WebCore::CSSCalcOperation::evaluateOperator):
(WebCore::CSSCalcExpressionNodeParser::parseCalc):
(WebCore::CSSCalcExpressionNodeParser::parseValue):
(WebCore::checkDepthAndIndex):
(WebCore::CSSCalcExpressionNodeParser::parseValueTerm):
(WebCore::CSSCalcExpressionNodeParser::parseValueMultiplicativeExpression):
(WebCore::CSSCalcExpressionNodeParser::parseAdditiveValueExpression):
(WebCore::CSSCalcExpressionNodeParser::parseMinMaxExpression):
(WebCore::CSSCalcExpressionNodeParser::parseValueExpression):
(WebCore::CSSCalcValue::customCSSText const):
(WebCore::CSSCalcValue::equals const):
(WebCore::CSSCalcValue::clampToPermittedRange const):
(WebCore::CSSCalcValue::doubleValue const):
(WebCore::CSSCalcValue::computeLengthPx const):

9:20 AM Changeset in webkit [251594] by youenn@apple.com
  • 21 edits in trunk

mp4 video element broken with service worker
https://bugs.webkit.org/show_bug.cgi?id=184447
<rdar://problem/39313155>

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/fetch/range/sw.https.window-expected.txt:

Source/WebCore:

Update fetch header handling to properly handle range header as per https://fetch.spec.whatwg.org/#headers-class.
In particular, remove thre range header from a Request/Headers object whenever modified.
Add checks so that range responses are not reused for non range requests.
For that purpose, add a range-requested flag to ResourceResponse.
Ass helper routines implementing part of fetch spec.
Covered by enabled test.

  • Modules/fetch/FetchHeaders.cpp:

(WebCore::removePrivilegedNoCORSRequestHeaders):
(WebCore::appendToHeaderMap):
(WebCore::FetchHeaders::remove):
(WebCore::FetchHeaders::set):

  • Modules/fetch/FetchHeaders.h:

(WebCore::FetchHeaders::setInternalHeaders):

  • Modules/fetch/FetchRequest.cpp:

(WebCore::FetchRequest::initializeWith):

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didReceiveResponse):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):

  • platform/network/HTTPParsers.cpp:

(WebCore::isNoCORSSafelistedRequestHeaderName):
(WebCore::isPriviledgedNoCORSRequestHeaderName):

  • platform/network/HTTPParsers.h:
  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::crossThreadData const):
(WebCore::ResourceResponseBase::fromCrossThreadData):

  • platform/network/ResourceResponseBase.h:

(WebCore::ResourceResponseBase::isRangeRequested const):
(WebCore::ResourceResponseBase::setAsRangeRequested):
(WebCore::ResourceResponseBase::encode const):
(WebCore::ResourceResponseBase::decode):

Source/WebKit:

Make a response as range-requested as per https://fetch.spec.whatwg.org/#http-network-or-cache-fetch step 15.

  • NetworkProcess/NetworkLoadChecker.cpp:

(WebKit::NetworkLoadChecker::checkRedirection):
(WebKit::NetworkLoadChecker::validateResponse):

  • NetworkProcess/NetworkLoadChecker.h:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didReceiveResponse):
(WebKit::NetworkResourceLoader::didRetrieveCacheEntry):

LayoutTests:

Enable test for WK2, not WK1.

9:16 AM Changeset in webkit [251593] by Jonathan Bedard
  • 2 edits in trunk/Tools

results.webkit.org: Report the correct flavor for leaks
https://bugs.webkit.org/show_bug.cgi?id=203413

Reviewed by Aakash Jain.

  • BuildSlaveSupport/build.webkit.org-config/steps.py:

(RunWebKit1LeakTests.start):

8:44 AM Changeset in webkit [251592] by Chris Dumez
  • 11 edits in trunk

Unreviewed, rolling out r251586.

New test is flaky

Reverted changeset:

"DatabaseContext should not prevent entering the back/forward
cache"
https://bugs.webkit.org/show_bug.cgi?id=203103
https://trac.webkit.org/changeset/251586

8:29 AM Changeset in webkit [251591] by graouts@webkit.org
  • 33 edits
    11 copies
    30 moves
    312 adds
    43 deletes in trunk/LayoutTests

[Web Animations] Update WPT tests related to Web Animations and remove imported Mozilla tests
https://bugs.webkit.org/show_bug.cgi?id=203291
<rdar://problem/56577481>

Reviewed by Youenn Fablet.

LayoutTests/imported/mozilla:

  • css-animations/test_animation-cancel-expected.txt: Removed.
  • css-animations/test_animation-cancel.html: Removed.
  • css-animations/test_animation-currenttime-expected.txt: Removed.
  • css-animations/test_animation-currenttime.html: Removed.
  • css-animations/test_animation-finish-expected.txt: Removed.
  • css-animations/test_animation-finish.html: Removed.
  • css-animations/test_animation-finished-expected.txt: Removed.
  • css-animations/test_animation-finished.html: Removed.
  • css-animations/test_animation-id.html: Removed.
  • css-animations/test_animation-pausing.html: Removed.
  • css-animations/test_animation-playstate.html: Removed.
  • css-animations/test_animation-ready.html: Removed.
  • css-animations/test_animation-reverse-expected.txt: Removed.
  • css-animations/test_animation-reverse.html: Removed.
  • css-animations/test_animation-starttime-expected.txt: Removed.
  • css-animations/test_animation-starttime.html: Removed.
  • css-animations/test_animations-dynamic-changes.html: Removed.
  • css-animations/test_event-dispatch.html: Removed.
  • css-animations/test_event-order-expected.txt: Removed.
  • css-animations/test_event-order.html: Removed.
  • css-animations/test_setting-effect.html: Removed.
  • css-transitions/test_animation-cancel.html: Removed.
  • css-transitions/test_animation-currenttime-expected.txt: Removed.
  • css-transitions/test_animation-currenttime.html: Removed.
  • css-transitions/test_animation-finished-expected.txt: Removed.
  • css-transitions/test_animation-finished.html: Removed.
  • css-transitions/test_animation-pausing-expected.txt: Removed.
  • css-transitions/test_animation-pausing.html: Removed.
  • css-transitions/test_animation-ready-expected.txt: Removed.
  • css-transitions/test_animation-ready.html: Removed.
  • css-transitions/test_animation-starttime-expected.txt: Removed.
  • css-transitions/test_animation-starttime.html: Removed.
  • css-transitions/test_csstransition-transitionproperty.html: Removed.
  • css-transitions/test_document-get-animations-expected.txt: Removed.
  • css-transitions/test_document-get-animations.html: Removed.
  • css-transitions/test_element-get-animations-expected.txt: Removed.
  • css-transitions/test_element-get-animations.html: Removed.
  • css-transitions/test_event-dispatch.html: Removed.
  • css-transitions/test_keyframeeffect-getkeyframes-expected.txt: Removed.
  • css-transitions/test_keyframeeffect-getkeyframes.html: Removed.
  • css-transitions/test_setting-effect-expected.txt: Removed.
  • css-transitions/test_setting-effect.html: Removed.

LayoutTests/imported/w3c:

  • resources/import-expectations.json:
  • web-platform-tests/css/css-animations/AnimationEffect-getComputedTiming.tentative-expected.txt: Renamed from LayoutTests/imported/mozilla/css-animations/test_animation-computed-timing-expected.txt.
  • web-platform-tests/css/css-animations/AnimationEffect-getComputedTiming.tentative.html: Renamed from LayoutTests/imported/mozilla/css-animations/test_animation-computed-timing.html.
  • web-platform-tests/css/css-animations/CSSAnimation-animationName.tentative-expected.txt: Renamed from LayoutTests/imported/mozilla/css-animations/test_cssanimation-animationname-expected.txt.
  • web-platform-tests/css/css-animations/CSSAnimation-animationName.tentative.html: Renamed from LayoutTests/imported/mozilla/css-animations/test_cssanimation-animationname.html.
  • web-platform-tests/css/css-animations/CSSAnimation-canceling.tentative-expected.txt: Added.
  • web-platform-tests/css/css-animations/CSSAnimation-canceling.tentative.html: Added.
  • web-platform-tests/css/css-animations/CSSAnimation-effect.tentative-expected.txt: Renamed from LayoutTests/imported/mozilla/css-animations/test_setting-effect-expected.txt.
  • web-platform-tests/css/css-animations/CSSAnimation-effect.tentative.html: Added.
  • web-platform-tests/css/css-animations/CSSAnimation-finished.tentative-expected.txt: Added.
  • web-platform-tests/css/css-animations/CSSAnimation-finished.tentative.html: Added.
  • web-platform-tests/css/css-animations/CSSAnimation-getCurrentTime.tentative-expected.txt: Added.
  • web-platform-tests/css/css-animations/CSSAnimation-getCurrentTime.tentative.html: Added.
  • web-platform-tests/css/css-animations/CSSAnimation-id.tentative-expected.txt: Renamed from LayoutTests/imported/mozilla/css-animations/test_animation-id-expected.txt.
  • web-platform-tests/css/css-animations/CSSAnimation-id.tentative.html: Added.
  • web-platform-tests/css/css-animations/CSSAnimation-pausing.tentative-expected.txt: Renamed from LayoutTests/imported/mozilla/css-animations/test_animation-pausing-expected.txt.
  • web-platform-tests/css/css-animations/CSSAnimation-pausing.tentative.html: Added.
  • web-platform-tests/css/css-animations/CSSAnimation-playState.tentative-expected.txt: Renamed from LayoutTests/imported/mozilla/css-animations/test_animation-playstate-expected.txt.
  • web-platform-tests/css/css-animations/CSSAnimation-playState.tentative.html: Added.
  • web-platform-tests/css/css-animations/CSSAnimation-ready.tentative-expected.txt: Renamed from LayoutTests/imported/mozilla/css-animations/test_animation-ready-expected.txt.
  • web-platform-tests/css/css-animations/CSSAnimation-ready.tentative.html: Added.
  • web-platform-tests/css/css-animations/CSSAnimation-startTime.tentative-expected.txt: Added.
  • web-platform-tests/css/css-animations/CSSAnimation-startTime.tentative.html: Added.
  • web-platform-tests/css/css-animations/CSSPseudoElement-getAnimations.tentative-expected.txt: Renamed from LayoutTests/imported/mozilla/css-animations/test_pseudoElement-get-animations-expected.txt.
  • web-platform-tests/css/css-animations/CSSPseudoElement-getAnimations.tentative.html: Renamed from LayoutTests/imported/mozilla/css-animations/test_pseudoElement-get-animations.html.
  • web-platform-tests/css/css-animations/Document-getAnimations.tentative-expected.txt: Renamed from LayoutTests/imported/mozilla/css-animations/test_document-get-animations-expected.txt.
  • web-platform-tests/css/css-animations/Document-getAnimations.tentative.html: Renamed from LayoutTests/imported/mozilla/css-animations/test_document-get-animations.html.
  • web-platform-tests/css/css-animations/Element-getAnimations-dynamic-changes.tentative-expected.txt: Renamed from LayoutTests/imported/mozilla/css-animations/test_animations-dynamic-changes-expected.txt.
  • web-platform-tests/css/css-animations/Element-getAnimations-dynamic-changes.tentative.html: Added.
  • web-platform-tests/css/css-animations/Element-getAnimations.tentative-expected.txt: Renamed from LayoutTests/imported/mozilla/css-animations/test_element-get-animations-expected.txt.
  • web-platform-tests/css/css-animations/Element-getAnimations.tentative.html: Renamed from LayoutTests/imported/mozilla/css-animations/test_element-get-animations.html.
  • web-platform-tests/css/css-animations/KeyframeEffect-getKeyframes.tentative-expected.txt: Renamed from LayoutTests/imported/mozilla/css-animations/test_keyframeeffect-getkeyframes-expected.txt.
  • web-platform-tests/css/css-animations/KeyframeEffect-getKeyframes.tentative.html: Renamed from LayoutTests/imported/mozilla/css-animations/test_keyframeeffect-getkeyframes.html.
  • web-platform-tests/css/css-animations/KeyframeEffect-target.tentative-expected.txt: Renamed from LayoutTests/imported/mozilla/css-animations/test_effect-target-expected.txt.
  • web-platform-tests/css/css-animations/KeyframeEffect-target.tentative.html: Renamed from LayoutTests/imported/mozilla/css-animations/test_effect-target.html.
  • web-platform-tests/css/css-animations/META.yml: Added.
  • web-platform-tests/css/css-animations/OWNERS: Removed.
  • web-platform-tests/css/css-animations/animation-opacity-pause-and-set-time-expected.html: Added.
  • web-platform-tests/css/css-animations/animation-opacity-pause-and-set-time.html: Added.
  • web-platform-tests/css/css-animations/animation-pseudo-dynamic-001-expected.html: Added.
  • web-platform-tests/css/css-animations/animation-pseudo-dynamic-001.html: Added.
  • web-platform-tests/css/css-animations/animation-transform-pause-and-set-time-expected.html: Added.
  • web-platform-tests/css/css-animations/animation-transform-pause-and-set-time.html: Added.
  • web-platform-tests/css/css-animations/animationevent-interface-expected.txt:
  • web-platform-tests/css/css-animations/animationevent-interface.js:

(test):
(test.):

  • web-platform-tests/css/css-animations/animationevent-marker-pseudoelement-expected.txt: Added.
  • web-platform-tests/css/css-animations/animationevent-marker-pseudoelement.html: Added.
  • web-platform-tests/css/css-animations/computed-style-animation-parsing-expected.txt: Added.
  • web-platform-tests/css/css-animations/computed-style-animation-parsing.html: Added.
  • web-platform-tests/css/css-animations/event-dispatch.tentative-expected.txt: Renamed from LayoutTests/imported/mozilla/css-animations/test_event-dispatch-expected.txt.
  • web-platform-tests/css/css-animations/event-dispatch.tentative.html: Added.
  • web-platform-tests/css/css-animations/event-order.tentative-expected.txt: Added.
  • web-platform-tests/css/css-animations/event-order.tentative.html: Added.
  • web-platform-tests/css/css-animations/historical-expected.txt: Added.
  • web-platform-tests/css/css-animations/historical.html: Added.
  • web-platform-tests/css/css-animations/idlharness-expected.txt: Added.
  • web-platform-tests/css/css-animations/idlharness.html: Added.
  • web-platform-tests/css/css-animations/inheritance-expected.txt: Added.
  • web-platform-tests/css/css-animations/inheritance.html: Added.
  • web-platform-tests/css/css-animations/keyframes-remove-documentElement-crash-expected.txt: Added.
  • web-platform-tests/css/css-animations/keyframes-remove-documentElement-crash.html: Added.
  • web-platform-tests/css/css-animations/parsing/animation-computed-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-computed.html: Added.
  • web-platform-tests/css/css-animations/parsing/animation-delay-computed-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-delay-computed.html: Added.
  • web-platform-tests/css/css-animations/parsing/animation-delay-invalid-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-delay-invalid.html: Added.
  • web-platform-tests/css/css-animations/parsing/animation-delay-valid-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-delay-valid.html: Added.
  • web-platform-tests/css/css-animations/parsing/animation-direction-computed-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-direction-computed.html: Added.
  • web-platform-tests/css/css-animations/parsing/animation-direction-invalid-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-direction-invalid.html: Added.
  • web-platform-tests/css/css-animations/parsing/animation-direction-valid-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-direction-valid.html: Added.
  • web-platform-tests/css/css-animations/parsing/animation-duration-computed-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-duration-computed.html: Added.
  • web-platform-tests/css/css-animations/parsing/animation-duration-invalid-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-duration-invalid.html: Added.
  • web-platform-tests/css/css-animations/parsing/animation-duration-valid-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-duration-valid.html: Added.
  • web-platform-tests/css/css-animations/parsing/animation-fill-mode-computed-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-fill-mode-computed.html: Added.
  • web-platform-tests/css/css-animations/parsing/animation-fill-mode-invalid-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-fill-mode-invalid.html: Added.
  • web-platform-tests/css/css-animations/parsing/animation-fill-mode-valid-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-fill-mode-valid.html: Added.
  • web-platform-tests/css/css-animations/parsing/animation-invalid-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-invalid.html: Added.
  • web-platform-tests/css/css-animations/parsing/animation-iteration-count-computed-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-iteration-count-computed.html: Added.
  • web-platform-tests/css/css-animations/parsing/animation-iteration-count-invalid-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-iteration-count-invalid.html: Added.
  • web-platform-tests/css/css-animations/parsing/animation-iteration-count-valid-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-iteration-count-valid.html: Added.
  • web-platform-tests/css/css-animations/parsing/animation-name-computed-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-name-computed.html: Added.
  • web-platform-tests/css/css-animations/parsing/animation-name-invalid-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-name-invalid.html: Added.
  • web-platform-tests/css/css-animations/parsing/animation-name-valid-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-name-valid.html: Added.
  • web-platform-tests/css/css-animations/parsing/animation-play-state-computed-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-play-state-computed.html: Added.
  • web-platform-tests/css/css-animations/parsing/animation-play-state-invalid-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-play-state-invalid.html: Added.
  • web-platform-tests/css/css-animations/parsing/animation-play-state-valid-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-play-state-valid.html: Added.
  • web-platform-tests/css/css-animations/parsing/animation-shorthand-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-shorthand.html: Added.
  • web-platform-tests/css/css-animations/parsing/animation-timing-function-computed-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-timing-function-computed.html: Added.
  • web-platform-tests/css/css-animations/parsing/animation-timing-function-invalid-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-timing-function-invalid.html: Added.
  • web-platform-tests/css/css-animations/parsing/animation-timing-function-valid-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-timing-function-valid.html: Added.
  • web-platform-tests/css/css-animations/parsing/animation-valid-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-valid.html: Added.
  • web-platform-tests/css/css-animations/parsing/w3c-import.log: Added.
  • web-platform-tests/css/css-animations/responsive/column-rule-color-001-expected.txt: Added.
  • web-platform-tests/css/css-animations/responsive/column-rule-color-001.html: Added.
  • web-platform-tests/css/css-animations/responsive/column-width-001-expected.txt: Added.
  • web-platform-tests/css/css-animations/responsive/column-width-001.html: Added.
  • web-platform-tests/css/css-animations/responsive/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-animations/support/w3c-import.log.
  • web-platform-tests/css/css-animations/style-animation-parsing-expected.txt: Added.
  • web-platform-tests/css/css-animations/style-animation-parsing.html: Added.
  • web-platform-tests/css/css-animations/support/testcommon.js:
  • web-platform-tests/css/css-animations/support/w3c-import.log:
  • web-platform-tests/css/css-animations/w3c-import.log:
  • web-platform-tests/css/css-transitions/AnimationEffect-getComputedTiming.tentative-expected.txt: Renamed from LayoutTests/imported/mozilla/css-transitions/test_animation-computed-timing-expected.txt.
  • web-platform-tests/css/css-transitions/AnimationEffect-getComputedTiming.tentative.html: Renamed from LayoutTests/imported/mozilla/css-transitions/test_animation-computed-timing.html.
  • web-platform-tests/css/css-transitions/CSSPseudoElement-getAnimations.tentative-expected.txt: Renamed from LayoutTests/imported/mozilla/css-transitions/test_pseudoElement-get-animations-expected.txt.
  • web-platform-tests/css/css-transitions/CSSPseudoElement-getAnimations.tentative.html: Renamed from LayoutTests/imported/mozilla/css-transitions/test_pseudoElement-get-animations.html.
  • web-platform-tests/css/css-transitions/CSSTransition-canceling.tentative-expected.txt: Renamed from LayoutTests/imported/mozilla/css-transitions/test_animation-cancel-expected.txt.
  • web-platform-tests/css/css-transitions/CSSTransition-canceling.tentative.html: Added.
  • web-platform-tests/css/css-transitions/CSSTransition-currentTime.tentative-expected.txt: Added.
  • web-platform-tests/css/css-transitions/CSSTransition-currentTime.tentative.html: Added.
  • web-platform-tests/css/css-transitions/CSSTransition-effect.tentative-expected.txt: Added.
  • web-platform-tests/css/css-transitions/CSSTransition-effect.tentative.html: Added.
  • web-platform-tests/css/css-transitions/CSSTransition-finished.tentative-expected.txt: Added.
  • web-platform-tests/css/css-transitions/CSSTransition-finished.tentative.html: Added.
  • web-platform-tests/css/css-transitions/CSSTransition-ready.tentative-expected.txt: Added.
  • web-platform-tests/css/css-transitions/CSSTransition-ready.tentative.html: Added.
  • web-platform-tests/css/css-transitions/CSSTransition-startTime.tentative-expected.txt: Added.
  • web-platform-tests/css/css-transitions/CSSTransition-startTime.tentative.html: Added.
  • web-platform-tests/css/css-transitions/CSSTransition-transitionProperty.tentative-expected.txt: Renamed from LayoutTests/imported/mozilla/css-transitions/test_csstransition-transitionproperty-expected.txt.
  • web-platform-tests/css/css-transitions/CSSTransition-transitionProperty.tentative.html: Added.
  • web-platform-tests/css/css-transitions/Document-getAnimations.tentative-expected.txt: Added.
  • web-platform-tests/css/css-transitions/Document-getAnimations.tentative.html: Added.
  • web-platform-tests/css/css-transitions/Element-getAnimations.tentative-expected.txt: Added.
  • web-platform-tests/css/css-transitions/Element-getAnimations.tentative.html: Added.
  • web-platform-tests/css/css-transitions/KeyframeEffect-getKeyframes.tentative-expected.txt: Added.
  • web-platform-tests/css/css-transitions/KeyframeEffect-getKeyframes.tentative.html: Added.
  • web-platform-tests/css/css-transitions/KeyframeEffect-target.tentative-expected.txt: Renamed from LayoutTests/imported/mozilla/css-transitions/test_effect-target-expected.txt.
  • web-platform-tests/css/css-transitions/KeyframeEffect-target.tentative.html: Renamed from LayoutTests/imported/mozilla/css-transitions/test_effect-target.html.
  • web-platform-tests/css/css-transitions/META.yml: Added.
  • web-platform-tests/css/css-transitions/README.md: Added.
  • web-platform-tests/css/css-transitions/before-load-001-expected.txt: Added.
  • web-platform-tests/css/css-transitions/before-load-001.html: Added.
  • web-platform-tests/css/css-transitions/changing-while-transition-001-expected.txt: Added.
  • web-platform-tests/css/css-transitions/changing-while-transition-001.html: Added.
  • web-platform-tests/css/css-transitions/changing-while-transition-002-expected.txt: Added.
  • web-platform-tests/css/css-transitions/changing-while-transition-002.html: Added.
  • web-platform-tests/css/css-transitions/changing-while-transition-003-expected.txt: Added.
  • web-platform-tests/css/css-transitions/changing-while-transition-003.html: Added.
  • web-platform-tests/css/css-transitions/currentcolor-animation-001-expected.txt: Added.
  • web-platform-tests/css/css-transitions/currentcolor-animation-001.html: Added.
  • web-platform-tests/css/css-transitions/disconnected-element-001-expected.txt: Added.
  • web-platform-tests/css/css-transitions/disconnected-element-001.html: Added.
  • web-platform-tests/css/css-transitions/event-dispatch.tentative-expected.txt: Renamed from LayoutTests/imported/mozilla/css-transitions/test_event-dispatch-expected.txt.
  • web-platform-tests/css/css-transitions/event-dispatch.tentative.html: Added.
  • web-platform-tests/css/css-transitions/events-001-expected.txt: Added.
  • web-platform-tests/css/css-transitions/events-001.html: Added.
  • web-platform-tests/css/css-transitions/events-002-expected.txt: Added.
  • web-platform-tests/css/css-transitions/events-002.html: Added.
  • web-platform-tests/css/css-transitions/events-003-expected.txt: Added.
  • web-platform-tests/css/css-transitions/events-003.html: Added.
  • web-platform-tests/css/css-transitions/events-004-expected.txt: Added.
  • web-platform-tests/css/css-transitions/events-004.html: Added.
  • web-platform-tests/css/css-transitions/events-005-expected.txt: Added.
  • web-platform-tests/css/css-transitions/events-005.html: Added.
  • web-platform-tests/css/css-transitions/events-006-expected.txt: Added.
  • web-platform-tests/css/css-transitions/events-006.html: Added.
  • web-platform-tests/css/css-transitions/events-007-expected.txt: Added.
  • web-platform-tests/css/css-transitions/events-007.html: Added.
  • web-platform-tests/css/css-transitions/historical-expected.txt: Added.
  • web-platform-tests/css/css-transitions/historical.html: Added.
  • web-platform-tests/css/css-transitions/idlharness-expected.txt: Added.
  • web-platform-tests/css/css-transitions/idlharness.html: Added.
  • web-platform-tests/css/css-transitions/inherit-height-transition-expected.txt: Added.
  • web-platform-tests/css/css-transitions/inherit-height-transition.html: Added.
  • web-platform-tests/css/css-transitions/inheritance-expected.txt: Added.
  • web-platform-tests/css/css-transitions/inheritance.html: Added.
  • web-platform-tests/css/css-transitions/no-transition-from-ua-to-blocking-stylesheet-expected.html: Added.
  • web-platform-tests/css/css-transitions/no-transition-from-ua-to-blocking-stylesheet.html: Added.
  • web-platform-tests/css/css-transitions/non-rendered-element-001-expected.txt: Added.
  • web-platform-tests/css/css-transitions/non-rendered-element-001.html: Added.
  • web-platform-tests/css/css-transitions/non-rendered-element-002-expected.txt: Added.
  • web-platform-tests/css/css-transitions/non-rendered-element-002.html: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-computed-expected.txt: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-computed.html: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-delay-computed-expected.txt: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-delay-computed.html: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-delay-invalid-expected.txt: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-delay-invalid.html: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-delay-valid-expected.txt: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-delay-valid.html: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-duration-computed-expected.txt: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-duration-computed.html: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-duration-invalid-expected.txt: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-duration-invalid.html: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-duration-valid-expected.txt: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-duration-valid.html: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-invalid-expected.txt: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-invalid.html: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-property-computed-expected.txt: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-property-computed.html: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-property-invalid-expected.txt: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-property-invalid.html: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-property-valid-expected.txt: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-property-valid.html: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-shorthand-expected.txt: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-shorthand.html: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-timing-function-computed-expected.txt: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-timing-function-computed.html: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-timing-function-invalid-expected.txt: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-timing-function-invalid.html: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-timing-function-valid-expected.txt: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-timing-function-valid.html: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-valid-expected.txt: Added.
  • web-platform-tests/css/css-transitions/parsing/transition-valid.html: Added.
  • web-platform-tests/css/css-transitions/parsing/w3c-import.log: Added.
  • web-platform-tests/css/css-transitions/properties-value-001-expected.txt: Added.
  • web-platform-tests/css/css-transitions/properties-value-001.html: Added.
  • web-platform-tests/css/css-transitions/properties-value-002-expected.txt: Added.
  • web-platform-tests/css/css-transitions/properties-value-002.html: Added.
  • web-platform-tests/css/css-transitions/properties-value-003-expected.txt: Added.
  • web-platform-tests/css/css-transitions/properties-value-003.html: Added.
  • web-platform-tests/css/css-transitions/properties-value-auto-001-expected.txt: Added.
  • web-platform-tests/css/css-transitions/properties-value-auto-001.html: Added.
  • web-platform-tests/css/css-transitions/properties-value-implicit-001-expected.txt: Added.
  • web-platform-tests/css/css-transitions/properties-value-implicit-001.html: Added.
  • web-platform-tests/css/css-transitions/properties-value-inherit-001-expected.txt: Added.
  • web-platform-tests/css/css-transitions/properties-value-inherit-001.html: Added.
  • web-platform-tests/css/css-transitions/properties-value-inherit-002-expected.txt: Added.
  • web-platform-tests/css/css-transitions/properties-value-inherit-002.html: Added.
  • web-platform-tests/css/css-transitions/properties-value-inherit-003-expected.txt: Added.
  • web-platform-tests/css/css-transitions/properties-value-inherit-003.html: Added.
  • web-platform-tests/css/css-transitions/pseudo-elements-001-expected.txt: Added.
  • web-platform-tests/css/css-transitions/pseudo-elements-001.html: Added.
  • web-platform-tests/css/css-transitions/pseudo-elements-002-expected.txt: Added.
  • web-platform-tests/css/css-transitions/pseudo-elements-002.html: Added.
  • web-platform-tests/css/css-transitions/starting-of-transitions-001-expected.txt: Added.
  • web-platform-tests/css/css-transitions/starting-of-transitions-001.html: Added.
  • web-platform-tests/css/css-transitions/support/1x1-green.png: Added.
  • web-platform-tests/css/css-transitions/support/1x1-lime.png: Added.
  • web-platform-tests/css/css-transitions/support/1x1-maroon.png: Added.
  • web-platform-tests/css/css-transitions/support/1x1-navy.png: Added.
  • web-platform-tests/css/css-transitions/support/1x1-red.png: Added.
  • web-platform-tests/css/css-transitions/support/1x1-white.png: Added.
  • web-platform-tests/css/css-transitions/support/60x60-gg-rr.png: Added.
  • web-platform-tests/css/css-transitions/support/60x60-green.png: Added.
  • web-platform-tests/css/css-transitions/support/60x60-red.png: Added.
  • web-platform-tests/css/css-transitions/support/README: Added.
  • web-platform-tests/css/css-transitions/support/a-green-transition.css: Added.

(.a):

  • web-platform-tests/css/css-transitions/support/a-green.css: Added.

(.a):

  • web-platform-tests/css/css-transitions/support/b-green.css: Added.

(.b):

  • web-platform-tests/css/css-transitions/support/c-red.css: Added.

(.c):

  • web-platform-tests/css/css-transitions/support/cat.png: Added.
  • web-platform-tests/css/css-transitions/support/generalParallelTest.js: Added.

(suite.root.generalParallelTest.setup):
(suite.root.generalParallelTest.data.transition.computedStyle):
(suite.root.generalParallelTest.data.container.computedStyle):
(suite.root.generalParallelTest.data.pseudo.computedStyle):
(suite.root.generalParallelTest._setupDom):
(suite.root.generalParallelTest.):
(suite.root.generalParallelTest._setupEvents):
(suite.root.generalParallelTest.teardown):
(suite.root.generalParallelTest.sliceStart):
(suite.root.generalParallelTest.sliceDone):
(suite.root.generalParallelTest.done):
(suite.root.generalParallelTest.addStyles):
(suite.root.generalParallelTest.getStyle):
(suite.root.generalParallelTest._getStyleFor):
(suite.root.generalParallelTest._addClass):
(suite.root.generalParallelTest._removeClass):
(suite.root.generalParallelTest.startTransition):
(suite.root.generalParallelTest.runLoop):
(suite.root.generalParallelTest.startValueCollection):
(suite.root.generalParallelTest.stopValueCollection):
(suite.root.generalParallelTest.assertExpectedEventsFunc):
(suite.root.generalParallelTest.assertIntermediateValuesFunc):

  • web-platform-tests/css/css-transitions/support/helper.js: Added.

(root.setStyle):
(serializeStyles):
(root.computedStyle):
(root.reflow):
(root.extend):
(root.domFixture):
(root.assert_times_equal):
(root.assert_time_equals_literal):
(root.assert_end_events_equal):
(root.assert_end_event_batch_equal):
(root.addDiv):
(root.addStyle):
(root.waitForFrame):
(root.waitForAnimationFrames.return.new.Promise):
(root.waitForAnimationFrames):
(root.frameTimeout):

  • web-platform-tests/css/css-transitions/support/import-green.css: Added.

(.import):

  • web-platform-tests/css/css-transitions/support/import-red.css: Added.

(.import):

  • web-platform-tests/css/css-transitions/support/one.gif: Added.
  • web-platform-tests/css/css-transitions/support/pattern-grg-rgr-grg.png: Added.
  • web-platform-tests/css/css-transitions/support/pattern-grg-rrg-rgg.png: Added.
  • web-platform-tests/css/css-transitions/support/pattern-rgr-grg-rgr.png: Added.
  • web-platform-tests/css/css-transitions/support/pattern-tr.png: Added.
  • web-platform-tests/css/css-transitions/support/properties.js: Added.

(values.string_appeared_here):
(assemble.):
(assemble):
(root.getPropertyTests):
(root.getMissingPropertyTests):
(root.getUnspecifiedPropertyTests):
(root.getFontSizeRelativePropertyTests):
(root.getAutoPropertyTests):
(root.filterPropertyTests):

  • web-platform-tests/css/css-transitions/support/ruler-h-50%.png: Added.
  • web-platform-tests/css/css-transitions/support/ruler-h-50px.png: Added.
  • web-platform-tests/css/css-transitions/support/ruler-v-100px.png: Added.
  • web-platform-tests/css/css-transitions/support/ruler-v-50px.png: Added.
  • web-platform-tests/css/css-transitions/support/runParallelAsyncHarness.js: Added.

(noop):
(runLoop.concludeSlice):
(root.runParallelAsyncHarness):

  • web-platform-tests/css/css-transitions/support/square-purple.png: Added.
  • web-platform-tests/css/css-transitions/support/square-teal.png: Added.
  • web-platform-tests/css/css-transitions/support/square-white.png: Added.
  • web-platform-tests/css/css-transitions/support/support/README: Added.
  • web-platform-tests/css/css-transitions/support/support/swatch-green.png: Added.
  • web-platform-tests/css/css-transitions/support/support/swatch-red.png: Added.
  • web-platform-tests/css/css-transitions/support/support/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-animations/support/w3c-import.log.
  • web-platform-tests/css/css-transitions/support/swatch-blue.png: Added.
  • web-platform-tests/css/css-transitions/support/swatch-green.png: Added.
  • web-platform-tests/css/css-transitions/support/swatch-lime.png: Added.
  • web-platform-tests/css/css-transitions/support/swatch-orange.png: Added.
  • web-platform-tests/css/css-transitions/support/swatch-red.png: Added.
  • web-platform-tests/css/css-transitions/support/swatch-teal.png: Added.
  • web-platform-tests/css/css-transitions/support/swatch-white.png: Added.
  • web-platform-tests/css/css-transitions/support/swatch-yellow.png: Added.
  • web-platform-tests/css/css-transitions/support/test-bl.png: Added.
  • web-platform-tests/css/css-transitions/support/test-br.png: Added.
  • web-platform-tests/css/css-transitions/support/test-inner-half-size.png: Added.
  • web-platform-tests/css/css-transitions/support/test-outer.png: Added.
  • web-platform-tests/css/css-transitions/support/test-tl.png: Added.
  • web-platform-tests/css/css-transitions/support/test-tr.png: Added.
  • web-platform-tests/css/css-transitions/support/two.gif: Added.
  • web-platform-tests/css/css-transitions/support/vendorPrefix.js: Added.

(root.addVendorPrefix):
(root.addValueVendorPrefix):
(root.getVendorPrefix):
(root.getValueVendorPrefix):

  • web-platform-tests/css/css-transitions/support/w3c-import.log: Added.
  • web-platform-tests/css/css-transitions/transition-001-expected.txt: Added.
  • web-platform-tests/css/css-transitions/transition-001.html: Added.
  • web-platform-tests/css/css-transitions/transition-background-position-with-edge-offset-expected.txt: Added.
  • web-platform-tests/css/css-transitions/transition-background-position-with-edge-offset.html: Added.
  • web-platform-tests/css/css-transitions/transition-delay-001-expected.txt: Added.
  • web-platform-tests/css/css-transitions/transition-delay-001.html: Added.
  • web-platform-tests/css/css-transitions/transition-duration-001-expected.txt: Added.
  • web-platform-tests/css/css-transitions/transition-duration-001.html: Added.
  • web-platform-tests/css/css-transitions/transition-property-001-expected.txt: Added.
  • web-platform-tests/css/css-transitions/transition-property-001.html: Added.
  • web-platform-tests/css/css-transitions/transition-property-002-expected.txt: Added.
  • web-platform-tests/css/css-transitions/transition-property-002.html: Added.
  • web-platform-tests/css/css-transitions/transition-reparented-expected.txt: Added.
  • web-platform-tests/css/css-transitions/transition-reparented.html: Added.
  • web-platform-tests/css/css-transitions/transition-test-expected.html: Added.
  • web-platform-tests/css/css-transitions/transition-test.html: Added.
  • web-platform-tests/css/css-transitions/transitioncancel-001-expected.txt: Added.
  • web-platform-tests/css/css-transitions/transitioncancel-001.html: Added.
  • web-platform-tests/css/css-transitions/transitionevent-interface-expected.txt: Added.
  • web-platform-tests/css/css-transitions/transitionevent-interface.html: Added.
  • web-platform-tests/css/css-transitions/w3c-import.log: Added.
  • web-platform-tests/css/css-transitions/zero-duration-multiple-transition-expected.txt: Added.
  • web-platform-tests/css/css-transitions/zero-duration-multiple-transition.html: Added.
  • web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/property-types.js:

(const.visibilityType.testAdditionOrAccumulation):
(const.filterListType.testInterpolation):

  • web-platform-tests/web-animations/animation-model/animation-types/w3c-import.log: Added.
  • web-platform-tests/web-animations/animation-model/combining-effects/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-animations/support/w3c-import.log.
  • web-platform-tests/web-animations/animation-model/keyframe-effects/w3c-import.log: Added.
  • web-platform-tests/web-animations/interfaces/Animatable/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-animations/support/w3c-import.log.
  • web-platform-tests/web-animations/interfaces/Animation/idlharness.window-expected.txt: Added.
  • web-platform-tests/web-animations/interfaces/Animation/idlharness.window.html: Added.
  • web-platform-tests/web-animations/interfaces/Animation/oncancel.html:
  • web-platform-tests/web-animations/interfaces/Animation/w3c-import.log: Added.
  • web-platform-tests/web-animations/interfaces/AnimationEffect/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-animations/support/w3c-import.log.
  • web-platform-tests/web-animations/interfaces/AnimationPlaybackEvent/idlharness.window-expected.txt: Added.
  • web-platform-tests/web-animations/interfaces/AnimationPlaybackEvent/idlharness.window.html: Added.
  • web-platform-tests/web-animations/interfaces/AnimationPlaybackEvent/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-animations/support/w3c-import.log.
  • web-platform-tests/web-animations/interfaces/Document/getAnimations-expected.txt:
  • web-platform-tests/web-animations/interfaces/Document/getAnimations.html:
  • web-platform-tests/web-animations/interfaces/Document/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-animations/support/w3c-import.log.
  • web-platform-tests/web-animations/interfaces/DocumentTimeline/idlharness.window-expected.txt: Added.
  • web-platform-tests/web-animations/interfaces/DocumentTimeline/idlharness.window.html: Added.
  • web-platform-tests/web-animations/interfaces/DocumentTimeline/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-animations/support/w3c-import.log.
  • web-platform-tests/web-animations/interfaces/KeyframeEffect/idlharness.window-expected.txt: Added.
  • web-platform-tests/web-animations/interfaces/KeyframeEffect/idlharness.window.html: Added.
  • web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001-expected.txt:
  • web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001.html:
  • web-platform-tests/web-animations/interfaces/KeyframeEffect/w3c-import.log: Added.
  • web-platform-tests/web-animations/resources/w3c-import.log: Added.
  • web-platform-tests/web-animations/timing-model/animation-effects/w3c-import.log: Added.
  • web-platform-tests/web-animations/timing-model/animations/w3c-import.log: Added.
  • web-platform-tests/web-animations/timing-model/time-transformations/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-animations/support/w3c-import.log.
  • web-platform-tests/web-animations/timing-model/timelines/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-animations/support/w3c-import.log.
  • web-platform-tests/web-animations/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-animations/support/w3c-import.log.

LayoutTests:

  • TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/gtk/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt:
  • platform/ios/TestExpectations:
  • platform/ios/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt:
  • platform/mac-sierra/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt:
  • platform/mac-sierra/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt:
  • platform/mac-wk1/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wpe/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt:
  • tests-options.json:
8:12 AM Changeset in webkit [251590] by Alan Bujtas
  • 12 edits
    1 copy in trunk/Source/WebCore

[LFC][IFC] Add support for preserved new line (pre, pre-wrap, break-spaces, pre-line)
https://bugs.webkit.org/show_bug.cgi?id=203395
<rdar://problem/56606243>

Reviewed by Antti Koivisto.

<pre>Let's wrap the line
when the inline item's type is forced line break.</pre>

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • layout/LayoutContext.h:
  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::collectInlineContent):
(WebCore::Layout::InlineFormattingContext::setDisplayBoxesForLine):

  • layout/inlineformatting/InlineFormattingContextQuirks.cpp:

(WebCore::Layout::InlineFormattingContext::Quirks::lineDescentNeedsCollapsing const):

  • layout/inlineformatting/InlineItem.cpp: Copied from Source/WebCore/layout/tableformatting/TableInvalidation.cpp.

(WebCore::Layout::InlineItem::isForcedLineBreak const):
(WebCore::Layout::InlineItem::isText const):

  • layout/inlineformatting/InlineItem.h:

(WebCore::Layout::InlineItem::isBox const):
(WebCore::Layout::InlineItem::isText const): Deleted.
(WebCore::Layout::InlineItem::isHardLineBreak const): Deleted.
(WebCore::Layout::InlineItem::isLineBreak const): Deleted.

  • layout/inlineformatting/InlineLine.cpp:

(WebCore::Layout::Line::close):
(WebCore::Layout::Line::alignContentVertically):
(WebCore::Layout::Line::append):
(WebCore::Layout::Line::appendLineBreak):
(WebCore::Layout::Line::adjustBaselineAndLineHeight):
(WebCore::Layout::Line::inlineItemContentHeight const):
(WebCore::Layout::Line::appendHardLineBreak): Deleted.

  • layout/inlineformatting/InlineLine.h:

(WebCore::Layout::Line::Run::isText const):
(WebCore::Layout::Line::Run::isForcedLineBreak const):
(WebCore::Layout::Line::Run::isLineBreak const): Deleted.

  • layout/inlineformatting/InlineLineLayout.cpp:

(WebCore::Layout::inlineItemWidth):
(WebCore::Layout::LineLayout::placeInlineItem):
(WebCore::Layout::LineLayout::shouldProcessUncommittedContent const):

  • layout/inlineformatting/InlineTextItem.h:

(WebCore::Layout::InlineTextItem::isSegmentBreak const):

  • layout/tableformatting/TableInvalidation.cpp:
8:09 AM WebKitGTK/Debugging edited by clopez@igalia.com
(diff)
8:08 AM WebKitGTK/Debugging edited by clopez@igalia.com
(diff)
6:01 AM Changeset in webkit [251589] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

[iOS] Regression(r251067) WebProcesses with service workers no longer keep their network process alive
https://bugs.webkit.org/show_bug.cgi?id=203388
<rdar://problem/56600074>

Reviewed by Geoffrey Garen.

Historically, WebProcessProxy::didSetAssertionState() used to return early for service worker processes
because we did not want service worker processes to prevent the network process from suspending. The
WebProcesses using the service worker process would prevent the network process from suspending when
they are visible, so it would work fine.

However, after r251067, there is no longer a concept of service worker process per se. Service workers
will now sometimes run in regular WebProcesses where we have pages. In such cases, didSetAssertionState()
would still return early and fail to keep its network process alive, even when the page(s) in this process
are visible on screen.

To address the issue, we now only return early if the process has a service worker but no page.
This should restore pre-existing behavior.

Note that this was causing hangs such as <rdar://problem/56245136> because the WebProcess would be
stuck on sync IPC to a suspended network process.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::didSetAssertionState):

5:09 AM Changeset in webkit [251588] by Ross Kirsling
  • 5 edits in trunk

test262-runner should be able to pass JSC a feature flag
https://bugs.webkit.org/show_bug.cgi?id=203301

Reviewed by Keith Miller.

JSTests:

  • test262/config.yaml:

Add feature flag mapping.
Also skip a few forgotten features as well as BigInt TypedArray tests.

  • test262/expectations.yaml:

Regenerate expectations.

Tools:

  • Scripts/test262/Runner.pm:

Recognize mapping from 262 features to JSC runtime options.

2:11 AM Changeset in webkit [251587] by Jonathan Bedard
  • 10 edits in trunk/Tools

Python 3: Add support in webkitpy.common.checkout.scm
https://bugs.webkit.org/show_bug.cgi?id=203277

Reviewed by Stephanie Lewis.

  • Scripts/test-webkitpy-python3: Add webkitpy.common.checkout.scm, add --all flag.
  • Scripts/webkitpy/common/checkout/scm/detection.py: Use full import paths.
  • Scripts/webkitpy/common/checkout/scm/detection_unittest.py: Ditto.
  • Scripts/webkitpy/common/checkout/scm/git.py:

(Git.revisions_changing_file): Convert filter iterator to list.
(Git.prepend_svn_revision): Patches need to be bytes.

  • Scripts/webkitpy/common/checkout/scm/scm.py: Import unicode.
  • Scripts/webkitpy/common/checkout/scm/scm_unittest.py: Use full import paths,

differentiate between binary and text files, replace assertItemsEqual with sorted,
list fix regexes on byte arrays.

  • Scripts/webkitpy/common/checkout/scm/stub_repository.py: Use full import paths.
  • Scripts/webkitpy/common/checkout/scm/stub_repository_unittest.py: Use full import paths.
  • Scripts/webkitpy/common/checkout/scm/svn.py: Use full import paths.

(SVN.diff_for_revision): Diff for revision should be byte array.
(SVN.propget): Use Python 3 compatible encoding.

1:14 AM Changeset in webkit [251586] by Chris Dumez
  • 11 edits in trunk

DatabaseContext should not prevent entering the back/forward cache
https://bugs.webkit.org/show_bug.cgi?id=203103

Reviewed by Geoffrey Garen.

Source/WebCore:

Let pages with active webdatabase transactions into the back/forward cache. We make sure
to queue tasks that run script to the Window event loop, so that they get delayed when
the document is suspended.

No new tests, updated existing test.

  • Modules/webdatabase/Database.cpp:

(WebCore::Database::runTransaction):

  • Modules/webdatabase/DatabaseContext.cpp:

(WebCore::DatabaseContext::shouldPreventEnteringBackForwardCache_DEPRECATED const): Deleted.

  • Modules/webdatabase/DatabaseContext.h:
  • Modules/webdatabase/DatabaseManager.cpp:

(WebCore::DatabaseManager::openDatabase):

  • Modules/webdatabase/SQLTransaction.cpp:

(WebCore::SQLTransaction::performPendingCallback):

LayoutTests:

  • fast/history/page-cache-webdatabase-pending-transaction-expected.txt:
  • fast/history/page-cache-webdatabase-pending-transaction.html:

Update existing test to reflect behavior change.

  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:

Unmark test as flaky.

1:14 AM Changeset in webkit [251585] by Chris Dumez
  • 7 edits in trunk/Source/WebKit

Standardize "PageID=" vs "pageID =" in release logging
https://bugs.webkit.org/show_bug.cgi?id=203002

Reviewed by Geoffrey Garen.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didCommitLayerTree:]):
(-[WKWebView _updateVisibleContentRects]):
(-[WKWebView _cancelAnimatedResize]):
(-[WKWebView _didCompleteAnimatedResize]):
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
(-[WKWebView _endAnimatedResize]):
(-[WKWebView _resizeWhileHidingContentWithUpdates:]):

  • UIProcess/ProvisionalPageProxy.cpp:

(WebKit::ProvisionalPageProxy::ProvisionalPageProxy):
(WebKit::ProvisionalPageProxy::processDidTerminate):
(WebKit::ProvisionalPageProxy::cancel):
(WebKit::ProvisionalPageProxy::loadData):
(WebKit::ProvisionalPageProxy::loadRequest):
(WebKit::ProvisionalPageProxy::goToBackForwardItem):
(WebKit::ProvisionalPageProxy::didCreateMainFrame):
(WebKit::ProvisionalPageProxy::didStartProvisionalLoadForFrame):
(WebKit::ProvisionalPageProxy::didFailProvisionalLoadForFrame):
(WebKit::ProvisionalPageProxy::didCommitLoadForFrame):

  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::loadResource):
(WebKit::WebLoaderStrategy::scheduleLoad):
(WebKit::WebLoaderStrategy::tryLoadingUsingURLSchemeHandler):
(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):
(WebKit::WebLoaderStrategy::loadResourceSynchronously):

  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::willSendRequest):
(WebKit::WebResourceLoader::didReceiveResponse):
(WebKit::WebResourceLoader::didReceiveData):
(WebKit::WebResourceLoader::didFinishResourceLoad):
(WebKit::WebResourceLoader::serviceWorkerDidNotHandle):
(WebKit::WebResourceLoader::didFailResourceLoad):
(WebKit::WebResourceLoader::didBlockAuthenticationChallenge):
(WebKit::WebResourceLoader::stopLoadingAfterXFrameOptionsOrContentSecurityPolicyDenied):
(WebKit::WebResourceLoader::didReceiveResource):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
(WebKit::WebFrameLoaderClient::dispatchDidFailLoad):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::freezeLayerTree):
(WebKit::WebPage::unfreezeLayerTree):

Note: See TracTimeline for information about the timeline view.