⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



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.
Note: See TracTimeline for information about the timeline view.