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

Timeline



Nov 1, 2020:

7:50 PM Changeset in webkit [269242] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

REGRESSION (r252689): box-shadow with inset and negative spread renders incorrectly
https://bugs.webkit.org/show_bug.cgi?id=209930

Patch by Mason Xiao <me@masonx.ca> on 2020-11-01
Reviewed by Simon Fraser.

Source/WebCore:

r252689 introduced a typo when refactoring the calculation of xOffset.
Instead of subtracting the shadowSpread, it was added.
This caused issues when the shadowSpread was greater than approximately half of the enclosing element's width.

Test: fast/box-shadow/negative-inset-box-shadow.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintBoxShadow): Change sign of shadowSpread in xOffset calculation for inset

LayoutTests:

  • fast/box-shadow/negative-inset-box-shadow-expected.html: Added.
  • fast/box-shadow/negative-inset-box-shadow.html: Added.
6:49 PM Changeset in webkit [269241] by Diego Pino Garcia
  • 3 edits
    3 adds in trunk/LayoutTests

Emit baselines for WPT css-sizing/aspect-ratio/quirks-mode* tests after resync in r269187

Unreviewed test gardening.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-001-expected.txt: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-002-expected.txt: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-003-expected.txt: Added.

LayoutTests:

5:43 PM Changeset in webkit [269240] by Diego Pino Garcia
  • 3 edits
    2 copies
    1 delete in trunk/LayoutTests

[GTK][WPE] Unreviewed test gardening. Update baselines of WPT test 'html/dom/idlharness' after r269214.

  • platform/gtk/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt.
  • platform/wpe/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt:
5:39 PM Changeset in webkit [269239] by Simon Fraser
  • 7 edits
    1 copy in trunk/Source/WebCore

[LFC Display] Pass deviceScaleFactor around with GraphicsContext at paint time
https://bugs.webkit.org/show_bug.cgi?id=218423

Reviewed by Zalan Bujtas.

Border painting code will need to use deviceScaleFactor at paint time, so make a small
struct that bundles GraphicsContext& and deviceScaleFactor together, and pass that to
paint functions.

  • WebCore.xcodeproj/project.pbxproj:
  • display/DisplayLayerController.cpp:

(WebCore::Display::LayerController::RootLayerClient::paintContents):

  • display/css/DisplayBoxPainter.cpp:

(WebCore::Display::BoxPainter::paintFillLayer):
(WebCore::Display::BoxPainter::paintBackgroundImages):
(WebCore::Display::BoxPainter::paintBoxDecorations):
(WebCore::Display::BoxPainter::paintBoxContent):
(WebCore::Display::BoxPainter::paintBox):

  • display/css/DisplayBoxPainter.h:
  • display/css/DisplayCSSPainter.cpp:

(WebCore::Display::CSSPainter::recursivePaintDescendants):
(WebCore::Display::CSSPainter::paintStackingContext):
(WebCore::Display::CSSPainter::paintTree):

  • display/css/DisplayCSSPainter.h:
  • display/css/DisplayPaintingContext.h: Copied from Source/WebCore/display/css/DisplayBoxPainter.h.
2:03 PM Changeset in webkit [269238] by Alan Bujtas
  • 5 edits
    2 adds in trunk

[LegacyInlineLayout] Remove collapsible trailing whitespace when it is followed by a hard line break
https://bugs.webkit.org/show_bug.cgi?id=216902
<rdar://problem/69812136>

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-text/white-space/trailing-space-before-br-001-expected.txt:

Source/WebCore:

Ignore collapsible trailing whitespace followed by hard linebreak while computing the preferred width.
Such content is input to the trimming logic, and it should be handled accordingly.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths const):

LayoutTests:

  • fast/text/trimmable-whitespace-followed-by-br-expected.html: Added.
  • fast/text/trimmable-whitespace-followed-by-br.html: Added.
12:14 PM Changeset in webkit [269237] by commit-queue@webkit.org
  • 7 edits in trunk

background-size should not accept negative values
https://bugs.webkit.org/show_bug.cgi?id=183990

Patch by Tyler Wilcock <Tyler Wilcock> on 2020-11-01
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

We now reject negative values for background-size. Update newly
passing test expectations to reflect this.

  • web-platform-tests/css/css-backgrounds/parsing/background-size-computed-expected.txt:
  • web-platform-tests/css/css-backgrounds/parsing/background-size-invalid-expected.txt:

Source/WebCore:

Reject negative background-size length-percentage values,
as these are explicitly disallowed by the spec.

https://www.w3.org/TR/2017/CR-css-backgrounds-3-20171017/#the-background-size

Change is covered by existing tests that now pass.

  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeBackgroundSize): Reject negative length-percentage
values as is mandated by the spec.

LayoutTests:

We now reject negative background-size values. Update newly passing
test expectations to reflect this.

12:09 PM Changeset in webkit [269236] by weinig@apple.com
  • 345 edits in trunk

Remove remaining alternative preference setting mechanisms from LayoutTests
https://bugs.webkit.org/show_bug.cgi?id=218417

Reviewed by Simon Fraser.

Source/WebKit:

Remove now unused bundle SPI that was only used by the WebKitTestRuner.

  • WebProcess/InjectedBundle/API/c/WKBundle.cpp:

(WKBundleOverrideBoolPreferenceForTestRunner): Deleted.
(WKBundleSetAllowUniversalAccessFromFileURLs): Deleted.
(WKBundleSetAllowFileAccessFromFileURLs): Deleted.
(WKBundleSetAllowStorageAccessFromFileURLS): Deleted.
(WKBundleSetMinimumLogicalFontSize): Deleted.
(WKBundleSetFrameFlatteningEnabled): Deleted.
(WKBundleSetJavaScriptCanAccessClipboard): Deleted.
(WKBundleSetPopupBlockingEnabled): Deleted.
(WKBundleSetAuthorAndUserStylesEnabled): Deleted.

  • WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::addOriginAccessAllowListEntry):
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Deleted.
(WebKit::InjectedBundle::setAllowUniversalAccessFromFileURLs): Deleted.
(WebKit::InjectedBundle::setAllowFileAccessFromFileURLs): Deleted.
(WebKit::InjectedBundle::setNeedsStorageAccessFromFileURLsQuirk): Deleted.
(WebKit::InjectedBundle::setMinimumLogicalFontSize): Deleted.
(WebKit::InjectedBundle::setFrameFlatteningEnabled): Deleted.
(WebKit::InjectedBundle::setAsyncFrameScrollingEnabled): Deleted.
(WebKit::InjectedBundle::setJavaScriptCanAccessClipboard): Deleted.
(WebKit::InjectedBundle::setPopupBlockingEnabled): Deleted.
(WebKit::InjectedBundle::setAuthorAndUserStylesEnabled): Deleted.

  • WebProcess/InjectedBundle/InjectedBundle.h:

Source/WebKitLegacy/win:

  • WebPreferenceKeysPrivate.h:

Update key to match cocoa WebKitLegacy for shared use by DumpRenderTree.

Tools:

Remove various one off solutions for setting preferences in WebKitTestRunner and DumpRenderTree
keeping only test header commands (which can be set without JS and can be in place before the
inital load) and internals.settings, which can be used when dynamic changing is required.

  • DumpRenderTree/TestOptions.cpp:

(WTR::TestOptions::supportedUInt32WebPreferenceFeatures):
(WTR::TestOptions::defaults):

  • DumpRenderTree/TestOptions.h:
  • DumpRenderTree/TestRunner.cpp:

(setPagePausedCallback):
(TestRunner::staticFunctions):
(setAuthorAndUserStylesEnabledCallback): Deleted.
(setJavaScriptCanAccessClipboardCallback): Deleted.
(setXSSAuditorEnabledCallback): Deleted.
(setAllowUniversalAccessFromFileURLsCallback): Deleted.
(setAllowFileAccessFromFileURLsCallback): Deleted.
(setNeedsStorageAccessFromFileURLsQuirkCallback): Deleted.
(setTelephoneNumberParsingEnabledCallback): Deleted.
(setPopupBlockingEnabledCallback): Deleted.
(setPluginsEnabledCallback): Deleted.

  • DumpRenderTree/TestRunner.h:
  • DumpRenderTree/mac/DumpRenderTree.mm:

(enableExperimentalFeatures):
(resetWebPreferencesToConsistentValues):
(webPreferenceFeatureValue):
(setWebPreferencesForTestOptions):
(runTest):
(boolWebPreferenceFeatureValue): Deleted.
(shouldEnableDeveloperExtras): Deleted.

  • DumpRenderTree/mac/TestRunnerMac.mm:

(TestRunner::setAuthorAndUserStylesEnabled): Deleted.
(TestRunner::setXSSAuditorEnabled): Deleted.
(TestRunner::setAllowUniversalAccessFromFileURLs): Deleted.
(TestRunner::setAllowFileAccessFromFileURLs): Deleted.
(TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted.
(TestRunner::setPopupBlockingEnabled): Deleted.
(TestRunner::setPluginsEnabled): Deleted.
(TestRunner::setJavaScriptCanAccessClipboard): Deleted.
(TestRunner::setTelephoneNumberParsingEnabled): Deleted.
(TestRunner::setDeveloperExtrasEnabled): Deleted.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetWebPreferencesToConsistentValues):
(webPreferenceFeatureValue):
(setWebPreferencesForTestOptions):
(runTest):
(shouldEnableDeveloperExtras): Deleted.
(boolWebPreferenceFeatureValue): Deleted.

  • DumpRenderTree/win/TestRunnerWin.cpp:

(TestRunner::setAuthorAndUserStylesEnabled): Deleted.
(TestRunner::setXSSAuditorEnabled): Deleted.
(TestRunner::setAllowUniversalAccessFromFileURLs): Deleted.
(TestRunner::setAllowFileAccessFromFileURLs): Deleted.
(TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted.
(TestRunner::setPopupBlockingEnabled): Deleted.
(TestRunner::setPluginsEnabled): Deleted.
(TestRunner::setJavaScriptCanAccessClipboard): Deleted.
(TestRunner::setDeveloperExtrasEnabled): Deleted.

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::beginTesting):

  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::overridePreference): Deleted.
(WTR::TestRunner::setXSSAuditorEnabled): Deleted.
(WTR::TestRunner::setMediaDevicesEnabled): Deleted.
(WTR::TestRunner::setWebRTCMDNSICECandidatesEnabled): Deleted.
(WTR::TestRunner::setWebAPIStatisticsEnabled): Deleted.
(WTR::TestRunner::setModernMediaControlsEnabled): Deleted.
(WTR::TestRunner::setWebGL2Enabled): Deleted.
(WTR::TestRunner::setWritableStreamAPIEnabled): Deleted.
(WTR::TestRunner::setTransformStreamAPIEnabled): Deleted.
(WTR::TestRunner::setReadableByteStreamAPIEnabled): Deleted.
(WTR::TestRunner::setEncryptedMediaAPIEnabled): Deleted.
(WTR::TestRunner::setPictureInPictureAPIEnabled): Deleted.
(WTR::TestRunner::setGenericCueAPIEnabled): Deleted.
(WTR::TestRunner::setAllowUniversalAccessFromFileURLs): Deleted.
(WTR::TestRunner::setAllowFileAccessFromFileURLs): Deleted.
(WTR::TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted.
(WTR::TestRunner::setPluginsEnabled): Deleted.
(WTR::TestRunner::setJavaScriptCanAccessClipboard): Deleted.
(WTR::TestRunner::setPopupBlockingEnabled): Deleted.
(WTR::TestRunner::setAuthorAndUserStylesEnabled): Deleted.
(WTR::TestRunner::setOffscreenCanvasEnabled): Deleted.

  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetPreferencesToConsistentValues):

  • WebKitTestRunner/TestOptions.cpp:

(WTR::TestOptions::defaults):

LayoutTests:

Update tests to only rely on test header commands and internals.settings for
changing preferences to simplify test writing.

  • editing/async-clipboard/clipboard-do-not-read-text-from-platform-if-text-changes.html:
  • editing/async-clipboard/clipboard-read-text-from-platform.html:
  • editing/async-clipboard/clipboard-read-text-same-origin.html:
  • editing/async-clipboard/clipboard-write-in-copy-event-handler-in-subframe.html:
  • editing/async-clipboard/clipboard-write-in-copy-event-handler.html:
  • editing/async-clipboard/clipboard-write-text-requires-user-gesture.html:
  • editing/execCommand/clipboard-access-with-user-gesture.html:
  • editing/execCommand/clipboard-access.html:
  • fast/css/disabled-author-styles.html:
  • fast/css/object-fit/object-fit-embed-expected.html:
  • fast/css/object-fit/object-fit-embed.html:
  • fast/css/object-position/object-position-embed.html:
  • fast/events/before-unload-navigate-different-window.html:
  • fast/events/before-unload-open-window.html:
  • fast/events/ios/submit-form-target-blank-using-return-key.html:
  • fast/events/open-window-from-another-frame.html:
  • fast/events/popup-allowed-from-gesture-initiated-event.html:
  • fast/events/popup-allowed-from-gesture-initiated-form-submit.html:
  • fast/events/popup-blocked-from-fake-button-click.html:
  • fast/events/popup-blocked-from-fake-focus.html:
  • fast/events/popup-blocked-from-fake-user-gesture.html:
  • fast/events/popup-blocked-from-history-reload.html:
  • fast/events/popup-blocked-from-iframe-script.html:
  • fast/events/popup-blocked-from-iframe-src.html:
  • fast/events/popup-blocked-from-mousemove.html:
  • fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame.html:
  • fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame2.html:
  • fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html:
  • fast/events/popup-blocked-from-untrusted-mouse-click.html:
  • fast/events/popup-blocked-from-window-open.html:
  • fast/events/popup-blocked-to-post-blank.html:
  • fast/events/popup-blocking-click-in-iframe.html:
  • fast/events/popup-blocking-timers1.html:
  • fast/events/popup-blocking-timers2.html:
  • fast/events/popup-blocking-timers3.html:
  • fast/events/popup-blocking-timers5.html:
  • fast/events/popup-blocking-timers6.html:
  • fast/events/popup-when-select-change.html:
  • fast/files/file-reader-file-url.html:
  • fast/files/file-reader-sandbox-iframe.html:
  • fast/files/workers/inline-worker-via-blob-url.html:
  • fast/forms/formtarget-attribute-button-html.html:
  • fast/forms/formtarget-attribute-input-2.html:
  • fast/forms/formtarget-attribute-input-html.html:
  • fast/forms/xss-auditor-doesnt-crash-on-post-submit.html:
  • fast/frames/resources/no-file-access-frame-1.html:
  • fast/frames/xss-auditor-handles-file-urls.html:
  • fast/images/embed-image.html:
  • fast/images/move-image-to-new-document.html:
  • fast/loader/url-selected-user-gesture.html:
  • fast/replaced/border-radius-clip-content-edge.html:
  • fast/replaced/outline-replaced-elements.html:
  • fast/replaced/pdf-as-embed-with-no-mime-type-is-not-blank.html:
  • fast/xmlhttprequest/xmlhttprequest-no-file-access.html:
  • fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html:
  • fullscreen/full-screen-request-rejected.html:
  • fullscreen/full-screen-request-removed.html:
  • fullscreen/full-screen-restrictions.html:
  • http/tests/cookies/resources/cookie-utilities.js:
  • http/tests/dom/window-open-about-blank-and-access-document.html:
  • http/tests/dom/window-open-about-uppercase-blank-and-access-document.html:
  • http/tests/dom/window-open-about-webkit-org-and-access-document-async-delegates.html:
  • http/tests/dom/window-open-about-webkit-org-and-access-document.html:
  • http/tests/download/convert-cached-load-to-download.html:
  • http/tests/security/popup-blocked-from-fake-event.html:
  • http/tests/security/popup-blocked-from-window-open.html:
  • http/tests/security/window-opened-from-sandboxed-iframe-should-inherit-sandbox.html:
  • http/tests/security/xss-DENIED-click-and-form-submission-from-inactive-domwindow.html:
  • http/tests/security/xss-DENIED-script-inject-into-inactive-window.html:
  • http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html:
  • http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html:
  • http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event.html:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location.html:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location2.html:
  • http/tests/security/xssAuditor/base-href-control-char.html:
  • http/tests/security/xssAuditor/base-href-direct.html:
  • http/tests/security/xssAuditor/base-href-null-char.html:
  • http/tests/security/xssAuditor/base-href-safe.html:
  • http/tests/security/xssAuditor/base-href-safe2.html:
  • http/tests/security/xssAuditor/base-href-safe3.html:
  • http/tests/security/xssAuditor/base-href-scheme-relative.html:
  • http/tests/security/xssAuditor/base-href.html:
  • http/tests/security/xssAuditor/block-does-not-leak-location.html:
  • http/tests/security/xssAuditor/block-does-not-leak-referrer.html:
  • http/tests/security/xssAuditor/block-does-not-leak-that-page-was-blocked-using-empty-data-url.html:
  • http/tests/security/xssAuditor/cached-frame.html:
  • http/tests/security/xssAuditor/cookie-injection.html:
  • http/tests/security/xssAuditor/crash-while-loading-tag-with-pause.html:
  • http/tests/security/xssAuditor/data-urls-work.html:
  • http/tests/security/xssAuditor/dom-write-URL.html:
  • http/tests/security/xssAuditor/dom-write-innerHTML.html:
  • http/tests/security/xssAuditor/dom-write-location-dom-write-open-img-onerror.html:
  • http/tests/security/xssAuditor/dom-write-location-inline-event.html:
  • http/tests/security/xssAuditor/dom-write-location-javascript-URL.html:
  • http/tests/security/xssAuditor/dom-write-location-open-img-onerror.html:
  • http/tests/security/xssAuditor/dom-write-location.html:
  • http/tests/security/xssAuditor/embed-tag-code-attribute-2.html:
  • http/tests/security/xssAuditor/embed-tag-code-attribute.html:
  • http/tests/security/xssAuditor/embed-tag-control-char.html:
  • http/tests/security/xssAuditor/embed-tag-in-path-unterminated.html:
  • http/tests/security/xssAuditor/embed-tag-javascript-url.html:
  • http/tests/security/xssAuditor/embed-tag-null-char.html:
  • http/tests/security/xssAuditor/embed-tag.html:
  • http/tests/security/xssAuditor/faux-script1.html:
  • http/tests/security/xssAuditor/faux-script2.html:
  • http/tests/security/xssAuditor/faux-script3.html:
  • http/tests/security/xssAuditor/form-action.html:
  • http/tests/security/xssAuditor/formaction-on-button.html:
  • http/tests/security/xssAuditor/formaction-on-input.html:
  • http/tests/security/xssAuditor/frameset-injection.html:
  • http/tests/security/xssAuditor/full-block-base-href.html:
  • http/tests/security/xssAuditor/full-block-get-from-iframe.html:
  • http/tests/security/xssAuditor/full-block-iframe-javascript-url.html:
  • http/tests/security/xssAuditor/full-block-iframe-no-inherit.php:
  • http/tests/security/xssAuditor/full-block-javascript-link.html:
  • http/tests/security/xssAuditor/full-block-link-onclick.html:
  • http/tests/security/xssAuditor/full-block-object-tag.html:
  • http/tests/security/xssAuditor/full-block-post-from-iframe.html:
  • http/tests/security/xssAuditor/full-block-script-tag-cross-domain.html:
  • http/tests/security/xssAuditor/full-block-script-tag-with-source.html:
  • http/tests/security/xssAuditor/full-block-script-tag.html:
  • http/tests/security/xssAuditor/get-from-iframe.html:
  • http/tests/security/xssAuditor/iframe-injection-allowed-2.html:
  • http/tests/security/xssAuditor/iframe-injection-allowed-3.html:
  • http/tests/security/xssAuditor/iframe-injection-allowed.html:
  • http/tests/security/xssAuditor/iframe-injection.html:
  • http/tests/security/xssAuditor/iframe-javascript-url-more-encoding.html:
  • http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode.html:
  • http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2.html:
  • http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3.html:
  • http/tests/security/xssAuditor/iframe-javascript-url-url-encoded.html:
  • http/tests/security/xssAuditor/iframe-javascript-url.html:
  • http/tests/security/xssAuditor/iframe-onload-GBK-char.html:
  • http/tests/security/xssAuditor/iframe-onload-in-svg-tag.html:
  • http/tests/security/xssAuditor/iframe-srcdoc-property-blocked.html:
  • http/tests/security/xssAuditor/iframe-srcdoc.html:
  • http/tests/security/xssAuditor/img-onerror-GBK-char.html:
  • http/tests/security/xssAuditor/img-onerror-accented-char.html:
  • http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding.html:
  • http/tests/security/xssAuditor/img-onerror-non-ASCII-char.html:
  • http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-default-encoding.html:
  • http/tests/security/xssAuditor/img-onerror-non-ASCII-char2.html:
  • http/tests/security/xssAuditor/img-onerror-tricky.html:
  • http/tests/security/xssAuditor/img-tag-with-comma.html:
  • http/tests/security/xssAuditor/inline-event-HTML-entities.html:
  • http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char.html:
  • http/tests/security/xssAuditor/javascript-link-HTML-entities-named.html:
  • http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char.html:
  • http/tests/security/xssAuditor/javascript-link-HTML-entities.html:
  • http/tests/security/xssAuditor/javascript-link-ampersand.html:
  • http/tests/security/xssAuditor/javascript-link-control-char.html:
  • http/tests/security/xssAuditor/javascript-link-control-char2.html:
  • http/tests/security/xssAuditor/javascript-link-null-char.html:
  • http/tests/security/xssAuditor/javascript-link-one-plus-one.html:
  • http/tests/security/xssAuditor/javascript-link-safe.html:
  • http/tests/security/xssAuditor/javascript-link-url-encoded.html:
  • http/tests/security/xssAuditor/javascript-link.html:
  • http/tests/security/xssAuditor/link-onclick-ampersand.html:
  • http/tests/security/xssAuditor/link-onclick-control-char.html:
  • http/tests/security/xssAuditor/link-onclick-entities.html:
  • http/tests/security/xssAuditor/link-onclick-null-char.html:
  • http/tests/security/xssAuditor/link-onclick.html:
  • http/tests/security/xssAuditor/link-opens-new-window.html:
  • http/tests/security/xssAuditor/malformed-HTML.html:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-1.html:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-2.html:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-3.html:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-4.html:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-5.html:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-6.html:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-7.html:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-8.html:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-9.html:
  • http/tests/security/xssAuditor/meta-tag-http-refresh-javascript-url.html:
  • http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options-ignored.html:
  • http/tests/security/xssAuditor/nested-dom-write-location-open-img-onerror.html:
  • http/tests/security/xssAuditor/no-protection-script-tag.html:
  • http/tests/security/xssAuditor/non-block-javascript-url-frame.html:
  • http/tests/security/xssAuditor/object-embed-tag-control-char.html:
  • http/tests/security/xssAuditor/object-embed-tag-null-char.html:
  • http/tests/security/xssAuditor/object-embed-tag.html:
  • http/tests/security/xssAuditor/object-src-inject.html:
  • http/tests/security/xssAuditor/object-tag-javascript-url.html:
  • http/tests/security/xssAuditor/object-tag.html:
  • http/tests/security/xssAuditor/open-attribute-body.html:
  • http/tests/security/xssAuditor/open-event-handler-iframe.html:
  • http/tests/security/xssAuditor/open-iframe-src-01.html:
  • http/tests/security/xssAuditor/open-iframe-src-02.html:
  • http/tests/security/xssAuditor/open-iframe-src-03.html:
  • http/tests/security/xssAuditor/open-script-src-01.html:
  • http/tests/security/xssAuditor/open-script-src-02.html:
  • http/tests/security/xssAuditor/open-script-src-03.html:
  • http/tests/security/xssAuditor/open-script-src-04.html:
  • http/tests/security/xssAuditor/post-from-iframe.html:
  • http/tests/security/xssAuditor/property-escape-comment-01.html:
  • http/tests/security/xssAuditor/property-escape-comment-02.html:
  • http/tests/security/xssAuditor/property-escape-comment-03.html:
  • http/tests/security/xssAuditor/property-escape-entity-01.html:
  • http/tests/security/xssAuditor/property-escape-entity-02.html:
  • http/tests/security/xssAuditor/property-escape-entity-03.html:
  • http/tests/security/xssAuditor/property-escape-long.html:
  • http/tests/security/xssAuditor/property-escape-noquotes-tab-slash-chars.html:
  • http/tests/security/xssAuditor/property-escape-noquotes.html:
  • http/tests/security/xssAuditor/property-escape-quote-01.html:
  • http/tests/security/xssAuditor/property-escape-quote-02.html:
  • http/tests/security/xssAuditor/property-escape-quote-03.html:
  • http/tests/security/xssAuditor/property-escape.html:
  • http/tests/security/xssAuditor/property-inject.html:
  • http/tests/security/xssAuditor/reflection-in-path.html:
  • http/tests/security/xssAuditor/regress-167121.html:
  • http/tests/security/xssAuditor/report-script-tag-and-do-not-follow-redirect-when-sending-report.html:
  • http/tests/security/xssAuditor/report-script-tag-full-block-and-do-not-follow-redirect-when-sending-report.html:
  • http/tests/security/xssAuditor/report-script-tag-full-block.html:
  • http/tests/security/xssAuditor/report-script-tag-replace-state.html:
  • http/tests/security/xssAuditor/report-script-tag.html:
  • http/tests/security/xssAuditor/resources/base-href/base-href-safe2.html:
  • http/tests/security/xssAuditor/resources/base-href/base-href-safe3.html:
  • http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode.html:
  • http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode.html:
  • http/tests/security/xssAuditor/script-tag-Big5-char.html:
  • http/tests/security/xssAuditor/script-tag-Big5-char2.html:
  • http/tests/security/xssAuditor/script-tag-addslashes-backslash.html:
  • http/tests/security/xssAuditor/script-tag-addslashes-double-quote.html:
  • http/tests/security/xssAuditor/script-tag-addslashes-null-char.html:
  • http/tests/security/xssAuditor/script-tag-addslashes-single-quote.html:
  • http/tests/security/xssAuditor/script-tag-control-char.html:
  • http/tests/security/xssAuditor/script-tag-convoluted.html:
  • http/tests/security/xssAuditor/script-tag-entities.html:
  • http/tests/security/xssAuditor/script-tag-expression-follows.html:
  • http/tests/security/xssAuditor/script-tag-inside-svg-tag.html:
  • http/tests/security/xssAuditor/script-tag-inside-svg-tag2.html:
  • http/tests/security/xssAuditor/script-tag-inside-svg-tag3.html:
  • http/tests/security/xssAuditor/script-tag-near-start.html:
  • http/tests/security/xssAuditor/script-tag-null-char.html:
  • http/tests/security/xssAuditor/script-tag-open-redirect.html:
  • http/tests/security/xssAuditor/script-tag-post-control-char.html:
  • http/tests/security/xssAuditor/script-tag-post-null-char.html:
  • http/tests/security/xssAuditor/script-tag-post.html:
  • http/tests/security/xssAuditor/script-tag-redirect.html:
  • http/tests/security/xssAuditor/script-tag-safe.html:
  • http/tests/security/xssAuditor/script-tag-safe2.html:
  • http/tests/security/xssAuditor/script-tag-safe3.html:
  • http/tests/security/xssAuditor/script-tag-safe4.html:
  • http/tests/security/xssAuditor/script-tag-src-redirect-safe.html:
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair.html:
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode.html:
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode2.html:
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode3.html:
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode4.html:
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode5.html:
  • http/tests/security/xssAuditor/script-tag-with-actual-comma.html:
  • http/tests/security/xssAuditor/script-tag-with-callbacks.html:
  • http/tests/security/xssAuditor/script-tag-with-comma-01.html:
  • http/tests/security/xssAuditor/script-tag-with-comma-02.html:
  • http/tests/security/xssAuditor/script-tag-with-fancy-unicode.html:
  • http/tests/security/xssAuditor/script-tag-with-injected-comment.html:
  • http/tests/security/xssAuditor/script-tag-with-invalid-closing-tag.html:
  • http/tests/security/xssAuditor/script-tag-with-invalid-url-encoding.html:
  • http/tests/security/xssAuditor/script-tag-with-source-control-char.html:
  • http/tests/security/xssAuditor/script-tag-with-source-data-url.html:
  • http/tests/security/xssAuditor/script-tag-with-source-data-url2.html:
  • http/tests/security/xssAuditor/script-tag-with-source-data-url3.html:
  • http/tests/security/xssAuditor/script-tag-with-source-data-url4.html:
  • http/tests/security/xssAuditor/script-tag-with-source-data-url5.html:
  • http/tests/security/xssAuditor/script-tag-with-source-double-quote.html:
  • http/tests/security/xssAuditor/script-tag-with-source-entities.html:
  • http/tests/security/xssAuditor/script-tag-with-source-no-quote.html:
  • http/tests/security/xssAuditor/script-tag-with-source-null-char.html:
  • http/tests/security/xssAuditor/script-tag-with-source-relative-scheme.html:
  • http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query.html:
  • http/tests/security/xssAuditor/script-tag-with-source-same-host.html:
  • http/tests/security/xssAuditor/script-tag-with-source-unterminated-01.html:
  • http/tests/security/xssAuditor/script-tag-with-source-unterminated-02.html:
  • http/tests/security/xssAuditor/script-tag-with-source-unterminated-03.html:
  • http/tests/security/xssAuditor/script-tag-with-source.html:
  • http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode.html:
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028.html:
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment.html:
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment2.html:
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment3.html:
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment4.html:
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment5.html:
  • http/tests/security/xssAuditor/script-tag-with-trailing-script-and-urlencode.html:
  • http/tests/security/xssAuditor/script-tag.html:
  • http/tests/security/xssAuditor/svg-animate.html:
  • http/tests/security/xssAuditor/svg-script-tag.html:
  • http/tests/security/xssAuditor/window-open-without-url-should-not-assert.html:
  • http/tests/security/xssAuditor/xss-filter-bypass-big5.html:
  • http/tests/security/xssAuditor/xss-filter-bypass-long-string.html:
  • http/tests/security/xssAuditor/xss-filter-bypass-sjis.html:
  • http/tests/security/xssAuditor/xss-protection-parsing-01.html:
  • http/tests/security/xssAuditor/xss-protection-parsing-02.html:
  • http/tests/security/xssAuditor/xss-protection-parsing-03.html:
  • http/tests/security/xssAuditor/xss-protection-parsing-04.html:
  • http/tests/storageAccess/deny-with-prompt-does-not-preserve-gesture.html:
  • http/tests/storageAccess/deny-without-prompt-preserves-gesture.html:
  • http/tests/storageAccess/grant-with-prompt-preserves-gesture.html:
  • http/tests/storageAccess/resources/request-storage-access-iframe-and-pop-window.html:
  • http/tests/webAPIStatistics/canvas-read-and-write-data-collection.html:
  • http/tests/webAPIStatistics/font-load-data-collection.html:
  • http/tests/webAPIStatistics/navigator-functions-accessed-data-collection.html:
  • http/tests/webAPIStatistics/screen-functions-accessed-data-collection.html:
  • imported/blink/fast/events/popup-forwarded-gesture.html:
  • imported/blink/fast/workers/worker-shared-asm-buffer.html:
  • platform/ios/ios/fast/text/data-detectors/phone-disabled.html:
  • platform/ios/ios/fast/text/data-detectors/phone.html:
  • platform/mac/plugins/disable-plugins.html:
  • plugins/js-from-destroy.html:
  • plugins/navigator-plugin-crash.html:
  • plugins/navigator-plugins-disabled.html:
  • plugins/plugin-initiate-popup-window.html:
  • security/cannot-read-self-from-file.html:
  • storage/domstorage/localstorage/blocked-file-access-permitted-by-quirk.html:
  • storage/domstorage/localstorage/blocked-file-access.html:
  • storage/domstorage/localstorage/file-can-access.html:
  • storage/domstorage/sessionstorage/blocked-file-access.html:
  • webrtc/datachannel/mdns-ice-candidates.html:
  • webrtc/peerconnection-new-candidate-page-cache.html:
10:24 AM Changeset in webkit [269235] by Chris Dumez
  • 243 edits
    30 copies
    1 move
    318 adds
    3 deletes in trunk/LayoutTests

Resync web-platform-tests/tools tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=218352

Reviewed by Sam Weinig.

Resync web-platform-tests/tools tests from upstream 5dbb0a3fa631ef73da0.

  • web-platform-tests/tools/*: Updated.
9:57 AM Changeset in webkit [269234] by Karl Rackler
  • 1 edit
    2 adds in trunk/LayoutTests

REGRESSION (r269070): [ Big Sur ] editing/input/reveal-caret-of-multiline-input.html is a constant failure
rdar://70819245
Re-baseline for Catalina after r269174.

Unreviewed test gardening.

  • platform/mac-catalina/editing/input/reveal-caret-of-multiline-input-expected.txt: Added.
9:52 AM Changeset in webkit [269233] by Karl Rackler
  • 1 edit
    1 delete in trunk/LayoutTests

REGRESSION (r269070): [ Big Sur ] editing/input/reveal-caret-of-multiline-input.html is a constant failure
rdar://70819245
Re-baseline for Catalina after r269174. Capital letter in Input folder.

Unreviewed test gardening.

  • platform/mac-catalina/editing/Input/reveal-caret-of-multiline-input-expected.txt: Removed.
8:41 AM Changeset in webkit [269232] by Chris Fleizach
  • 4 edits in trunk/Source/WebCore

AX: Provide build workaround while isSystemVoice is not in all SDKs
https://bugs.webkit.org/show_bug.cgi?id=218414

Reviewed by Tim Horton.

Source/WebCore:

  • platform/ios/PlatformSpeechSynthesizerIOS.mm:

(WebCore::PlatformSpeechSynthesizer::initializeVoiceList):

Source/WebCore/PAL:

  • pal/spi/cocoa/AXSpeechManagerSPI.h:
5:57 AM Changeset in webkit [269231] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][IFC] InlineLevelBox logical rect should only be accessed through LineBox
https://bugs.webkit.org/show_bug.cgi?id=218418

Reviewed by Antti Koivisto.

InlineLevelBox logical rect is relative to the parent inline box. Calling InlineLevelBox::logicalRect
and expect a line relative rect is an easy mistake to make (and one I made myself).
Only the LineBuilder and the LineBox should really need access to the relative rect, others should
continue to use LineBox::logicalRectForInlineLevelBox.

  • layout/inlineformatting/InlineLineBox.cpp:

(WebCore::Layout::LineBox::logicalRectForInlineLevelBox const):

  • layout/inlineformatting/InlineLineBox.h:

(WebCore::Layout::LineBox::InlineLevelBox::logicalTop const):
(WebCore::Layout::LineBox::InlineLevelBox::logicalBottom const):
(WebCore::Layout::LineBox::InlineLevelBox::logicalLeft const):
(WebCore::Layout::LineBox::InlineLevelBox::logicalWidth const):
(WebCore::Layout::LineBox::InlineLevelBox::logicalHeight const):
(WebCore::Layout::LineBox::InlineLevelBox::logicalRect const): Deleted.

5:55 AM Changeset in webkit [269230] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] Set the descent layout bounds for atomic inline level boxes
https://bugs.webkit.org/show_bug.cgi?id=218421

Reviewed by Antti Koivisto.

In most cases the layout bounds descent is 0, but in case of inline-block (or inline table) the decent value may be greater than 0.

  • layout/inlineformatting/InlineFormattingContextGeometry.cpp:

(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):

Oct 31, 2020:

2:11 PM Changeset in webkit [269229] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][Integration] LineIteratorModernPath::top/bottom map to Line::enclosingRect::top/bottom
https://bugs.webkit.org/show_bug.cgi?id=218415

Reviewed by Antti Koivisto.

Line::enclosingRect includes all the inline level boxes on the line.

  • layout/integration/LayoutIntegrationLineIteratorModernPath.h:

(WebCore::LayoutIntegration::LineIteratorModernPath::top const):
(WebCore::LayoutIntegration::LineIteratorModernPath::bottom const):
(WebCore::LayoutIntegration::LineIteratorModernPath::selectionTop const):
(WebCore::LayoutIntegration::LineIteratorModernPath::selectionTopForHitTesting const):
(WebCore::LayoutIntegration::LineIteratorModernPath::selectionBottom const):
(WebCore::LayoutIntegration::LineIteratorModernPath::lineBoxTop const):
(WebCore::LayoutIntegration::LineIteratorModernPath::lineBoxBottom const):
(WebCore::LayoutIntegration::LineIteratorModernPath::y const):

12:06 PM Changeset in webkit [269228] by Simon Fraser
  • 19 edits in trunk/Source

Clean up BoxSide and BorderEdge code
https://bugs.webkit.org/show_bug.cgi?id=218197

Reviewed by Sam Weinig.

Source/WebCore:

Change border-drawing functions in RenderBoxModelObject which took BorderEdge[] to
use RectEdges<BorderEdge>. In addition, make BoxSide an enum class, and remove the redundant
PhysicalBoxSide. Also make BorderEdgeFlags an OptionSet<>.

I renamed PhysicalBoxSide to BoxSide because "physical" is a loaded term (it could mean
either locally top/right/bottom/left, or refer to absolute "physical coordinates").
This allowed BoxSide to be used in RectEdges, therefore making RectEdges<BorderEdge>
the right way to represent the set of edges for a box.

An equivalent set of bit flags, BoxSideFlag, allows use in an OptionSet<>.

Use more enumeration of sides in the border painting code.

  • page/IntersectionObserver.cpp:

(WebCore::IntersectionObserver::rootMargin const):

  • platform/RectEdges.h:

(WebCore::RectEdges::at):
(WebCore::RectEdges::top):
(WebCore::RectEdges::right):
(WebCore::RectEdges::bottom):
(WebCore::RectEdges::left):
(WebCore::RectEdges::at const):
(WebCore::RectEdges::top const):
(WebCore::RectEdges::right const):
(WebCore::RectEdges::bottom const):
(WebCore::RectEdges::left const):
(WebCore::RectEdges::setAt):
(WebCore::RectEdges::setTop):
(WebCore::RectEdges::setRight):
(WebCore::RectEdges::setBottom):
(WebCore::RectEdges::setLeft):

  • platform/text/WritingMode.h:

(WebCore::isHorizontalPhysicalSide):
(WebCore::mirrorPhysicalSide):
(WebCore::rotatePhysicalSide):
(WebCore::mapLogicalSideToPhysicalSide):

  • rendering/BorderEdge.cpp:

(WebCore::borderEdges):
(WebCore::BorderEdge::getBorderEdgeInfo): Deleted.

  • rendering/BorderEdge.h:

(WebCore::edgeFlagForSide):
(WebCore::includesEdge):
(WebCore::includesAdjacentEdges):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::borderWillArcInnerEdge):
(WebCore::borderStyleHasUnmatchedColorsAtCorner):
(WebCore::colorsMatchAtCorner):
(WebCore::colorNeedsAntiAliasAtCorner):
(WebCore::willBeOverdrawn):
(WebCore::joinRequiresMitre):
(WebCore::calculateAdjustedInnerBorder):
(WebCore::RenderBoxModelObject::paintOneBorderSide):
(WebCore::calculateSideRect):
(WebCore::RenderBoxModelObject::paintBorderSides):
(WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
(WebCore::RenderBoxModelObject::paintBorder):
(WebCore::RenderBoxModelObject::drawBoxSideFromPath):
(WebCore::RenderBoxModelObject::clipBorderSidePolygon):
(WebCore::RenderBoxModelObject::borderObscuresBackgroundEdge const):
(WebCore::RenderBoxModelObject::borderObscuresBackground const):

  • rendering/RenderBoxModelObject.h:
  • rendering/RenderElement.cpp:

(WebCore::RenderElement::drawLineForBoxSide const):
(WebCore::RenderElement::paintOutline):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::paintOutlineForLine):

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::paintColumnRules):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::calculateBorderStyleColor):

  • rendering/RenderObjectEnums.h:
  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::paintCollapsedBorders):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::offsetTopForRowGroupBorder):
(WebCore::RenderTableSection::paintRowGroupBorderIfRequired):
(WebCore::physicalBorderForDirection):

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::paintMenuListButtonDecorations):

  • rendering/style/NinePieceImage.h:

(WebCore::imagePieceHorizontalSide):
(WebCore::imagePieceVerticalSide):

Source/WebKit:

  • UIProcess/ios/WKKeyboardScrollingAnimator.mm:

(boxSide):

9:11 AM Changeset in webkit [269227] by Chris Dumez
  • 21 edits
    7 adds in trunk

Promises returned by our DOM API have the caller's global instead of the callee's
https://bugs.webkit.org/show_bug.cgi?id=218363

Reviewed by Darin Adler and Ryosuke Niwa.

LayoutTests/imported/w3c:

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

Re-import latest version of the test from upstream. Without those upstream changes, there would be a testharness error
when running this test.

  • web-platform-tests/html/cross-origin-embedder-policy/coep-on-response-from-service-worker.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/controller-with-no-fetch-event-handler.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-event-redirect.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-request-resources.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-response-taint.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/redirected-response.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/promise-methods-after-discard-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-offlineaudiocontext-interface/startrendering-after-discard-expected.txt:

Rebaseline WPT tests that are now passing.

Source/WebCore:

Promises returned by our DOM APIs were using the caller's global instead of the
callee's global. This behavior was inconsistent with Chrome and Firefox, and was
causing failures in web-platform-tests. Because the global of the promise was
wrong, the global of the values passed when settling the promise (e.g. the global
of the exception used to reject a promise) was also wrong. This patch fixes this.

After fixing the global of DOM promises, some tests started failing because they
expect the promises coming from subframes to still get settled *after* their
iframe has been removed from the document. Such promises get settled properly
in Firefox and Chrome. They also used to settle properly in WebKit because we
were incorrectly using the caller's global. The issue was that after an iframe
gets detached, Document::stopActiveDOMObjects() would get called, which would
stop the EventLoopTaskGroup associated with the document and clear all pending
tasks from this group in the event loop. To address this, when a
Document::stopActiveDOMObjects(), we now mark the Document's EventLoopTaskGroup
as "ready to stop" instead of stopping it. Only once ALL groups in the EventLoop
are ready to stop, do we actually stop all those groups. This is important
because each document has its own group but all documents of similar origins
share the same EventLoop.

Tests: fast/js-promise-from-detached-iframe.html

http/tests/eventloop/promise-from-cross-origin-detached-iframe.html
webaudio/promise-global-object.html

  • bindings/js/JSDOMPromiseDeferred.h:

(WebCore::DeferredPromise::shouldIgnoreRequestToFulfill const):
(WebCore::callPromiseFunction):

  • dom/Document.cpp:

(WebCore::Document::stopActiveDOMObjects):
(WebCore::Document::eventLoop):

  • dom/EventLoop.cpp:

(WebCore::EventLoop::registerGroup):
(WebCore::EventLoop::unregisterGroup):
(WebCore::EventLoop::stopAssociatedGroupsIfNecessary):

  • dom/EventLoop.h:

(WebCore::EventLoopTaskGroup::EventLoopTaskGroup):
(WebCore::EventLoopTaskGroup::~EventLoopTaskGroup):
(WebCore::EventLoopTaskGroup::isReadyToStop const):
(WebCore::EventLoopTaskGroup::markAsReadyToStop):
(WebCore::EventLoopTaskGroup::stopAndDiscardAllTasks):

  • workers/WorkerOrWorkletGlobalScope.cpp:

(WebCore::WorkerOrWorkletGlobalScope::prepareForDestruction):

LayoutTests:

  • fast/js-promise-from-detached-iframe-expected.txt: Added.
  • fast/js-promise-from-detached-iframe.html: Added.

Add layout test to verify that JS promises from iframes properly get settled after the
the iframe gets removed from the doucment. I have verified that this test passes in
both Firefox and Chrome.

  • http/tests/eventloop/promise-from-cross-origin-detached-iframe-expected.txt: Added.
  • http/tests/eventloop/promise-from-cross-origin-detached-iframe.html: Added.
  • http/tests/eventloop/resources/promise-from-cross-origin-detached-iframe-subframe.html: Added.

Similar test as above but in a cross-origin iframe. Ryosuke recommended adding this test
since event loops only shared between documents of similar origins. I have verified that this
test passes in both Firefox and Chrome.

  • platform/mac/editing/input/reveal-caret-of-multiline-input-expected.txt:

Rebaseline existing test that has slightly different output.

  • requestidlecallback/requestidlecallback-document-gc-expected.txt:
  • requestidlecallback/requestidlecallback-document-gc.html:

Tweak test to check that enough documents are gc's at regular intervals, instead of expecting
them to be collected in a 0-timer.

  • webaudio/promise-global-object-expected.txt: Added.
  • webaudio/promise-global-object.html: Added.

Add test to verify that the global object of the promise is correct when the promise comes
from calling a DOM API in an subframe. Previously, we would incorrectly use the caller's
global instead of the callee's global. I have verified that this test passes in both Firefox
and Chrome.

9:08 AM Changeset in webkit [269226] by weinig@apple.com
  • 22 edits
    4 deletes in trunk

Remove all remaining testRunner.overridePreference calls
https://bugs.webkit.org/show_bug.cgi?id=218373

Reviewed by Simon Fraser.

Tools:

Remove implementations of testRunner.overridePreference. Adds testRunner.setShouldInvertColors,
which is a windows only preference. When we generate preferences for Windows, we can convert
this to use test header commands instead.

Also add default for MinimumFontSize so it can be used as test header commands for DumpRenderTree.

  • DumpRenderTree/TestOptions.cpp:

(WTR::TestOptions::defaults):

  • DumpRenderTree/TestRunner.cpp:

(setShouldInvertColors):
(TestRunner::staticFunctions):
(overridePreferenceCallback): Deleted.

  • DumpRenderTree/TestRunner.h:
  • DumpRenderTree/mac/TestRunnerMac.mm:

(TestRunner::overridePreference): Deleted.

  • DumpRenderTree/win/TestRunnerWin.cpp:

(TestRunner::setShouldInvertColors):
(TestRunner::overridePreference): Deleted.

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::toBool): Deleted.
(WTR::TestRunner::overridePreference): Deleted.

LayoutTests:

Removes remaining uses of testRunner.overridePreference and addresses some
recent feedback by removing some unnecessary "window." uses.

Also removed test cross-origin-local-storage-wk1.html as it is redundant with
other tests such as cross-origin-local-storage.html which uses internals instead.

  • fast/loader/display-image-unset-can-block-image-and-can-reload-in-place.html:
  • fast/parser/noscript-with-javascript-disabled.html:
  • fast/text/international/locale-sensitive-fonts.html:
  • fast/text/zero-font-size.html:
  • http/tests/download/default-encoding.html:
  • http/tests/misc/favicon-loads-with-images-disabled.html:
  • http/tests/security/cross-origin-local-storage-wk1-expected.txt: Removed.
  • http/tests/security/cross-origin-local-storage-wk1.html: Removed.
  • http/tests/security/resources/load-local-storage.html:
  • http/tests/xsl/xslt-transform-with-javascript-disabled.html:
  • platform/ios-wk1/TestExpectations:
  • platform/mac-wk2/http/tests/security/cross-origin-local-storage-wk1-expected.txt: Removed.
  • platform/mac/http/tests/security/cross-origin-local-storage-wk1-expected.txt: Removed.
  • platform/win/TestExpectations:
  • platform/win/inverted-colors/non-composited.html:
  • platform/wk2/TestExpectations:
  • svg/as-image/svg-image-with-data-uri-images-disabled.html:
8:21 AM EarlyWarningSystem edited by aakash_jain@apple.com
(diff)
7:29 AM Changeset in webkit [269225] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][IFC] Split inline level box alignment process into multiple phases
https://bugs.webkit.org/show_bug.cgi?id=218397

Reviewed by Antti Koivisto.

Inline level box alignment inside the line box is described at https://www.w3.org/TR/css-inline-3/#line-layout.
The alignment process involves 3 distinct steps:

  1. Computing the line box's logical height. This step solely uses the layout bounds geometry of the inline level boxes.
  2. Finding the root inline box vertical position. This step is somewhat similar to the final, alignment phase but instead of

the logical top, here we compute the baseline offsets. It helps to figure out the root inline box's baseline positing inside the line box.

  1. Aligning the inline level boxes by computing their logical top position.

These 3 steps are implemented by the following 3 functions:

  1. computeLineBoxLogicalHeight()
  2. computeRootInlineBoxVerticalPosition()
  3. alignInlineLevelBoxes()

While some of the code in these functions may look redundant, they work with different type of geometries (layout bounds vs. normal ascent/descent/logical height).

  • layout/inlineformatting/InlineFormattingContextGeometry.cpp:

(WebCore::Layout::LineBoxBuilder::setVerticalGeometryForInlineBox const):
(WebCore::Layout::LineBoxBuilder::alignInlineLevelBoxesVerticallyAndComputeLineBoxHeight):

  • layout/inlineformatting/InlineLineBox.cpp:

(WebCore::Layout::LineBox::logicalRectForTextRun const):
(WebCore::Layout::LineBox::logicalRectForInlineLevelBox const):

  • layout/inlineformatting/InlineLineBox.h:

(WebCore::Layout::LineBox::InlineLevelBox::style const):
(WebCore::Layout::LineBox::InlineLevelBox::fontMetrics const): Deleted.

5:53 AM Changeset in webkit [269224] by Alan Bujtas
  • 5 edits in trunk/LayoutTests

Remove unneeded whitespace between content and <br>
https://bugs.webkit.org/show_bug.cgi?id=218151
<rdar://problem/70662471>

Reviewed by Antti Koivisto.

Missed these files in r268958.

  • editing/inserting/paragraph-separator-in-table-1.html:
  • platform/mac/editing/inserting/paragraph-separator-in-table-1-expected.txt:
5:19 AM Changeset in webkit [269223] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][Integration] Generate RootInlineBox::lineTop/lineBottom matching geometries
https://bugs.webkit.org/show_bug.cgi?id=218412

Reviewed by Antti Koivisto.

Line::enclosingRect's y() and maxY() match RootInlineBox::lineTop() and lineBottom() vertical coordinates.
It is required by the line iterator as some clients are apparently interested in the overflown area.

  • layout/integration/LayoutIntegrationLine.h:

(WebCore::LayoutIntegration::Line::Line):
(WebCore::LayoutIntegration::Line::enclosingRect const):

  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::constructContent):

  • layout/integration/LayoutIntegrationPagination.cpp:

(WebCore::LayoutIntegration::makeAdjustedContent):

5:18 AM Changeset in webkit [269222] by Alan Bujtas
  • 8 edits in trunk/Source/WebCore

[LFC][IFC] Rename ContainerStart/End to InlineBoxStart/End
https://bugs.webkit.org/show_bug.cgi?id=218410

Reviewed by Antti Koivisto.

ContainerStart/End inline items are triggered by inline boxes.

"An inline box is one that is both inline-level and whose contents participate in its containing inline formatting context."

  • layout/inlineformatting/InlineContentBreaker.cpp:

(WebCore::Layout::isTextContent):
(WebCore::Layout::isVisuallyEmptyWhitespaceContent):
(WebCore::Layout::isNonContentRunsOnly):
(WebCore::Layout::InlineContentBreaker::processOverflowingTextContent const):

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::collectInlineContentIfNeeded):

  • layout/inlineformatting/InlineFormattingContextGeometry.cpp:

(WebCore::Layout::collectHangingTrailingWhitespaceContent):
(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):

  • layout/inlineformatting/InlineItem.h:

(WebCore::Layout::InlineItem::isInlineBoxStart const):
(WebCore::Layout::InlineItem::isInlineBoxEnd const):
(WebCore::Layout::InlineItem::isContainerStart const): Deleted.
(WebCore::Layout::InlineItem::isContainerEnd const): Deleted.

  • layout/inlineformatting/InlineLine.cpp:

(WebCore::Layout::Line::visuallyCollapsePreWrapOverflowContent):
(WebCore::Layout::Line::append):
(WebCore::Layout::Line::appendInlineBoxStart):
(WebCore::Layout::Line::appendInlineBoxEnd):
(WebCore::Layout::Line::appendTextContent):
(WebCore::Layout::Line::isRunVisuallyNonEmpty const):
(WebCore::Layout::Line::TrimmableTrailingContent::remove):
(WebCore::Layout::Line::appendInlineContainerStart): Deleted.
(WebCore::Layout::Line::appendInlineContainerEnd): Deleted.

  • layout/inlineformatting/InlineLine.h:

(WebCore::Layout::Line::Run::isInlineBoxStart const):
(WebCore::Layout::Line::Run::isInlineBoxEnd const):
(WebCore::Layout::Line::Run::isContainerStart const): Deleted.
(WebCore::Layout::Line::Run::isContainerEnd const): Deleted.

  • layout/inlineformatting/InlineLineBuilder.cpp:

(WebCore::Layout::LineCandidate::InlineContent::appendInlineItem):
(WebCore::Layout::LineBuilder::inlineItemWidth const):
(WebCore::Layout::LineBuilder::nextContentForLine):
(WebCore::Layout::LineBuilder::nextWrapOpportunity const):

Oct 30, 2020:

11:52 PM Changeset in webkit [269221] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Usage of allWorkletGlobalScopesSet() in WorkletGlobalScope is not thread-safe
https://bugs.webkit.org/show_bug.cgi?id=218408

Reviewed by Geoff Garen.

The WorkletGlobalScope constructor / destructor were adding / removing themselves
in allWorkletGlobalScopesSet(), without locking. This used to be safe when we
only had paint worklets, because those are main-thread only. However,
AudioWorketGlobalScopes get constructed / destroyed on background thread so this
is no longer safe.

Since this is only used by Internals for layout tests to figure out how many
worklet instances are alive, I replaced the map with an std::atomic<unsigned>.

No new tests, found when running existing tests with GuardMalloc.

  • testing/Internals.cpp:

(WebCore::Internals::isAnyWorkletGlobalScopeAlive const):

  • worklets/WorkletGlobalScope.cpp:

(WebCore::WorkletGlobalScope::WorkletGlobalScope):
(WebCore::WorkletGlobalScope::~WorkletGlobalScope):
(WebCore::WorkletGlobalScope::numberOfWorkletGlobalScopes):

  • worklets/WorkletGlobalScope.h:
8:34 PM Changeset in webkit [269220] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore/PAL

Fix internal watchOS and tvOS builds after r269211
https://bugs.webkit.org/show_bug.cgi?id=217506

Unreviewed build fix.

  • pal/spi/cg/CoreGraphicsSPI.h:
8:21 PM Changeset in webkit [269219] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WTF

REGRESSION (r267689): Rise of the Tomb Raider gets stuck while launching
https://bugs.webkit.org/show_bug.cgi?id=218411
<rdar://problem/70622557>

Reviewed by Zalan Bujtas.

  • Scripts/Preferences/WebPreferences.yaml:

Sam accidentally changed the default of RequiresUserGestureForMediaPlayback
in r267689; previously it was @YES only in PLATFORM(IOS_FAMILY), he made
it true globally.

Go back to the old, and intended, behavior.

7:00 PM Changeset in webkit [269218] by Karl Rackler
  • 2 edits in trunk/LayoutTests

REGRESSION (r269070): [ Big Sur ] editing/input/reveal-caret-of-multiline-input.html is a constant failure
rdar://70819245
Re-baseline for Big Sur.

Unreviewed test gardening.

  • platform/mac/editing/input/reveal-caret-of-multiline-input-expected.txt:
6:34 PM Changeset in webkit [269217] by Karl Rackler
  • 2 edits in trunk/LayoutTests

REGRESSION (r268178): [iOS] imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-multiple-times.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=217741
Remove test expectation after revert of r268178.

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
6:21 PM Changeset in webkit [269216] by Karl Rackler
  • 2 edits in trunk/LayoutTests

REGRESSION (iOS 14): [ iOS wk2 ] imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml.html is a constant failure (217419)
https://bugs.webkit.org/show_bug.cgi?id=217419
Re-baseline

Unreviewed test gardening.

  • platform/ios/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
5:54 PM Changeset in webkit [269215] by Karl Rackler
  • 2 edits in trunk/LayoutTests

REGRESSION (r268958): [ Big Sur ] fast/forms/basic-inputs.html is a constant failure
rdar://70904424
Re-baseline after r268958
Unreviewed test gardening.

  • platform/mac/fast/forms/basic-inputs-expected.txt:
5:29 PM Changeset in webkit [269214] by Chris Dumez
  • 192 edits
    3 moves
    10 adds
    3 deletes in trunk/LayoutTests

Resync web-platform-tests/interfaces tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=218394

Reviewed by Sam Weinig.

Resync web-platform-tests/interfaces tests from upstream 5dbb0a3fa631ef73da06.

  • web-platform-tests/audio-output/idlharness.https.window-expected.txt:
  • web-platform-tests/encoding/idlharness.any-expected.txt:
  • web-platform-tests/encoding/idlharness.any.js:
  • web-platform-tests/encoding/idlharness.any.worker-expected.txt:
  • web-platform-tests/html/dom/idlharness.https.html:
  • web-platform-tests/html/dom/idlharness.worker.js:
  • web-platform-tests/payment-request/idlharness.https.window-expected.txt:
  • web-platform-tests/resize-observer/idlharness.window-expected.txt:
  • web-platform-tests/streams/idlharness.any-expected.txt:
  • web-platform-tests/streams/idlharness.any.worker-expected.txt:
  • web-platform-tests/web-animations/idlharness.window-expected.txt:
  • web-platform-tests/webaudio/idlharness.https.window-expected.txt:
  • web-platform-tests/webaudio/idlharness.https.window.js:

Rebaseline some WPT tests whose output has changed. Some of the tests had
to be resync'd from upstream to keep running.

  • web-platform-tests/interfaces/*: Updated.
5:15 PM Changeset in webkit [269213] by Russell Epstein
  • 3 edits in branches/safari-611.1.4-branch/Source/WebKit

Cherry-pick r269202. rdar://problem/70901517

Correct sandbox violations in GPU Process
https://bugs.webkit.org/show_bug.cgi?id=218356
<rdar://problem/70574999>

Reviewed by Eric Carlson.

The new GPU Process sandbox is missing 'sysctl.name2oid' from the allow list, even though
we allow it everywhere else. We need this for proper function.

  • GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:

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

5:15 PM Changeset in webkit [269212] by Russell Epstein
  • 2 edits in branches/safari-611.1.4-branch/Source/WebCore

Cherry-pick r269188. rdar://problem/70901497

REGRESSION (r269146): ASSERTION FAILED: didNeedLayout
logicalHeight() == oldHeight in WebCore::RenderBlockFlow::ensureLineBoxes

https://bugs.webkit.org/show_bug.cgi?id=218350
<rdar://problem/70822708>

Reviewed by Zalan Bujtas.

Dropping of ensureLineBoxes call revealed a bug in text control style updates.

RenderTextControlSingleLine mutates style of the innerTextElement() renderer by altering the height property.
On style update this mutation is lost which causes ensureLineBoxes for innerTextElement() to miscompute block height
if RenderTextControlSingleLine layout has not happened before.

  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::styleDidChange):

Don't zero the dimension properties of the innerTextElement() unnecessarily. Instead see of the underlying style has
actually changed and set the style only in that case. That will then trigger layout as needed.

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

5:01 PM Changeset in webkit [269211] by mmaxfield@apple.com
  • 13 edits
    4 adds in trunk/Source/WebCore

[Cocoa] [GPU Process] Perform image decoding of color fonts in the Web Process
https://bugs.webkit.org/show_bug.cgi?id=217506

Reviewed by Simon Fraser.

Source/WebCore:

Core Text itself doesn't know how to draw things; it has to rely on Core Graphics to do that.
However, Core Graphics only understands the simplest of text drawing concepts; it doesn't understand
things like color fonts or emoji. Core Text sits between the application and Core Graphics, and is
responsible for splitting up an arbitrary draw command into individual simple pieces which Core
Graphics can understand. For example, when you ask Core Text to draw a string which is of the form
"outlines emoji outlines", Core Text will end up telling Core Graphics to draw the first outlines, then
draw the emoji image (using Core Graphics's normal image drawing routines), then draw the remaining
outlines.

This is exactly the same kind of filtering we want to do for the GPU Process. We want to be able to
separate out the glyphs which are rendered using outlines from the emoji glyphs which are rendered
using images. We want to handle the image glyphs ourself in WebKit using our own image drawing display
list facilities, which will cause images to be decoded in the Web Process, thereby increasing the
security of the GPU Process.

So, this patch implements a custom CGContext, backed by a function table that is populated in WebKit.
We pass this custom CGContext into Core Text, which does its normal splitting up of outlines / images,
and calls glyph / image drawing functions on our CGContext. Because these functions are implemented by
WebKit, this effectively makes WebKit able to intercept the drawing calls, and implement them ourself
by appending items to the current display list. So, when Core Text tells our CGContext to draw an emoji,
our callback runs and we "just" append a DrawImage display list item.

I use scare-quotes around "just" because it is a bit more complicated than that. Core Text internally
can change the fill/stroke color (for COLR glyphs), the text matrix (it should be updated between
adjacent runs), the CTM, and the shadow state (because Core Text sometimes will implement shadows itself
by just drawing the text two times). So, in our CGContext callback, we have to look at the state of
the CGContext, figure out if anything changed (because we're not notified when changes happen), and
if things did change, append additional display list items to make a parallel change happen at draw
time.

Tests added in https://trac.webkit.org/r269177

  • Headers.cmake:
  • PlatformAppleWin.cmake:
  • PlatformWinCairo.cmake:
  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/FreeType.cmake:
  • platform/graphics/cg/ImageBufferCGBackend.cpp:

(WebCore::ImageBufferCGBackend::setupContext):

  • platform/graphics/coretext/FontCascadeCoreText.cpp:

(WebCore::fillVectorWithHorizontalGlyphPositions):

  • platform/graphics/displaylists/DisplayListDrawGlyphsRecorder.h: Added.
  • platform/graphics/displaylists/DisplayListDrawGlyphsRecorderCoreText.cpp: Added.

(WebCore::DisplayList::beginLayer): VTable callback for creating a transparency layer.
(WebCore::DisplayList::endLayer): Ditto for ending a transparency layer.
(WebCore::DisplayList::drawGlyphs): VTable callback for drawing outline glyphs.
(WebCore::DisplayList::drawImage): VTable callback for drawing an image.
(WebCore::DisplayList::DrawGlyphsRecorder::createInternalContext): Set up the custom CGContext
infrastructure. Hook up the VTable callbacks.
(WebCore::DisplayList::DrawGlyphsRecorder::DrawGlyphsRecorder):
(WebCore::DisplayList::DrawGlyphsRecorder::populateInternalState): We need to save the GraphicsContext
state at the beginning of the entry point, so we can restore anything that changed when we're done.
(WebCore::DisplayList::DrawGlyphsRecorder::populateInternalContext): Because Core Text internally
interrogates the CGContext to see if it needs to do things like draw shadows itself, we need to make
sure that the recorder's state is mirrored in our custom CGContext. This applies all the relevant
state to our CGContext so it's ready when Core Text asks for it.
(WebCore::DisplayList::DrawGlyphsRecorder::prepareInternalContext): Call the above two functions.
(WebCore::DisplayList::DrawGlyphsRecorder::concludeInternalContext): Called once when we're done.
This function cleans up, by possibly appending additional display list items to restore the state
back to what it was when we started.
(WebCore::DisplayList::DrawGlyphsRecorder::updateFillColor): Detect a changed fill color, and if it has
changed, append a display list item to make a parallel change at drawing time.
(WebCore::DisplayList::DrawGlyphsRecorder::updateStrokeColor): Ditto for the stroke color.
(WebCore::DisplayList::DrawGlyphsRecorder::updateCTM): Ditto for the CTM.
(WebCore::DisplayList::shadowIsCleared):
(WebCore::DisplayList::DrawGlyphsRecorder::updateShadow): Ditto for the shadow state.
(WebCore::DisplayList::DrawGlyphsRecorder::recordBeginLayer): Hook this up to beginTransparencyLayer().
(WebCore::DisplayList::DrawGlyphsRecorder::recordEndLayer): Hook this up to endTransparencyLayer().
(WebCore::DisplayList::computeAdvancesFromPositions): CGContext gives us positions, but our display list
infrastructure requires advances. Simply subtract to convert between them.
(WebCore::DisplayList::DrawGlyphsRecorder::recordDrawGlyphs): The callback that appends a DrawGlyphs
display list item. Note it has to call the various update() functions to detect changes in the CGContext
state.
(WebCore::DisplayList::DrawGlyphsRecorder::recordDrawImage): Ditto for a DrawImage display list item.
(WebCore::DisplayList::DrawGlyphsRecorder::drawGlyphs): The main entry point. Simply set up, do the work,
then clean up.

  • platform/graphics/displaylists/DisplayListDrawGlyphsRecorderHarfBuzz.cpp: Added. Dummy implementation

to make the other ports continue to compile.
(WebCore::DisplayList::DrawGlyphsRecorder::DrawGlyphsRecorder):
(WebCore::DisplayList::DrawGlyphsRecorder::drawGlyphs):

  • platform/graphics/displaylists/DisplayListRecorder.cpp:

(WebCore::DisplayList::Recorder::Recorder):
(WebCore::DisplayList::Recorder::drawGlyphs): Call m_drawGlyphsRecorder.drawGlyphs() instead of just
appending a DrawGlyphs command.
(WebCore::DisplayList::Recorder::concatCTM): Tiny optimization.
(WebCore::DisplayList::Recorder::clipToDrawingCommands): The current clipToDrawingCommands's context
CTM didn't match the parallel one used during playback. In order to make the CTMs match are recording
and playback time, we have to make sure they start off the same.

  • platform/graphics/displaylists/DisplayListRecorder.h: DisplayList::Recorder owns a DrawGlyphsRecorder,

whose lifetime equals that of the DisplayList::Recorder. Rather than destroying / recreating the
DrawGlyphsRecorder, the DrawGlyphsRecorder class is smart enough to clean up after itself so it can be
reused multiple times.

Source/WebCore/PAL:

Add some new entry points, and do some various cleanup.

  • pal/spi/cg/CoreGraphicsSPI.h:
4:56 PM Changeset in webkit [269210] by BJ Burg
  • 31 edits
    2 adds
    2 deletes in trunk

Web Inspector: move InspectorFrontendAPIDispatcher to WebCore, clean up uses
https://bugs.webkit.org/show_bug.cgi?id=217835
<rdar://problem/70384407>

Reviewed by Devin Rousso.

Source/WebCore:

Expose the dispatcher as part of the InspectorFrontendClient API so that other code
can use the dispatcher regardless of whether it's a WebInspectorUI or RemoteWebInspectorUI.

Add an InspectorFrontendAPIDispatcher instance and getter to InspectorFrontendClientLocal.

Adopt the JSONValue-based InspectorFrontendAPIDispatcher::dispatch() method
in InspectorFrontendClientLocal. Remove the redundant parallel queuing implementation.
Remove redundant public methods that are available on InspectorFrontendAPIDispatcher.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:

Moved files.

  • inspector/InspectorFrontendAPIDispatcher.cpp: Renamed from Source/WebKit/WebProcess/Inspector/WebInspectorFrontendAPIDispatcher.cpp.

(WebCore::InspectorFrontendAPIDispatcher::InspectorFrontendAPIDispatcher):
(WebCore::InspectorFrontendAPIDispatcher::reset):
(WebCore::InspectorFrontendAPIDispatcher::frontendLoaded):
(WebCore::InspectorFrontendAPIDispatcher::suspend):
(WebCore::InspectorFrontendAPIDispatcher::unsuspend):
(WebCore::InspectorFrontendAPIDispatcher::dispatchCommand):
(WebCore::InspectorFrontendAPIDispatcher::dispatchMessageAsync):
(WebCore::InspectorFrontendAPIDispatcher::evaluateOrQueueExpression):
(WebCore::InspectorFrontendAPIDispatcher::evaluateQueuedExpressions):
(WebCore::InspectorFrontendAPIDispatcher::evaluateExpression):
(WebCore::InspectorFrontendAPIDispatcher::evaluateExpressionForTesting):
Add new dispatch() method. Remove other dispatch methods that can be expressed
using the new JSON::Value-based method. If it's not possible to evaluate JS
immediately, schedule a one-shot task to try again on a different event loop turn.

  • inspector/InspectorFrontendAPIDispatcher.h: Renamed from Source/WebKit/WebProcess/Inspector/WebInspectorFrontendAPIDispatcher.h.

Add new dispatch() method which takes a vector of JSON::Value objects and
serializes them into command arguments for the frontend.

  • inspector/InspectorFrontendClient.h:
  • inspector/InspectorFrontendClientLocal.h:
  • inspector/InspectorFrontendClientLocal.cpp:

(WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
(WebCore::InspectorFrontendClientLocal::frontendLoaded):
(WebCore::InspectorFrontendClientLocal::pagePaused):
(WebCore::InspectorFrontendClientLocal::pageUnpaused):
(WebCore::InspectorFrontendClientLocal::setDockingUnavailable):
(WebCore::InspectorFrontendClientLocal::setAttachedWindow):
(WebCore::InspectorFrontendClientLocal::setDebuggingEnabled):
(WebCore::InspectorFrontendClientLocal::setTimelineProfilingEnabled):
(WebCore::InspectorFrontendClientLocal::startProfilingJavaScript):
(WebCore::InspectorFrontendClientLocal::stopProfilingJavaScript):
(WebCore::InspectorFrontendClientLocal::showConsole):
(WebCore::InspectorFrontendClientLocal::showResources):
(WebCore::InspectorFrontendClientLocal::showMainResourceForFrame):
Use InspectorFrontendAPIDispatcher to dispatch commands to the frontend.

(WebCore::InspectorFrontendClientLocal::dispatch): Deleted.
(WebCore::InspectorFrontendClientLocal::dispatchMessage): Deleted.
(WebCore::InspectorFrontendClientLocal::dispatchMessageAsync): Deleted.
(WebCore::InspectorFrontendClientLocal::evaluateOnLoad): Deleted.
These are redundant with InspectorFrontendAPIDispatcher.

  • testing/Internals.cpp:

(WebCore::InspectorStubFrontend::sendMessageToFrontend): Use frontend dispatcher directly.

Source/WebKit:

Adopt the JSONValue-based InspectorFrontendAPIDispatcher::dispatch() method
in WebInspectorUI and RemoteInspectorUI methods that dispatch to the frontend.

  • Sources.txt:
  • WebKit.xcodeproj/project.pbxproj: Move files.
  • WebProcess/Inspector/RemoteWebInspectorUI.h:
  • WebProcess/Inspector/RemoteWebInspectorUI.cpp:

(WebKit::RemoteWebInspectorUI::RemoteWebInspectorUI):
(WebKit::RemoteWebInspectorUI::initialize):
(WebKit::RemoteWebInspectorUI::updateFindString):
(WebKit::RemoteWebInspectorUI::didSave):
(WebKit::RemoteWebInspectorUI::didAppend):
(WebKit::RemoteWebInspectorUI::frontendLoaded):
(WebKit::RemoteWebInspectorUI::sendMessageToFrontend):
(WebKit::RemoteWebInspectorUI::pagePaused):
(WebKit::RemoteWebInspectorUI::pageUnpaused):
(WebKit::RemoteWebInspectorUI::setDiagnosticLoggingAvailable):

  • WebProcess/Inspector/WebInspectorUI.h:
  • WebProcess/Inspector/WebInspectorUI.cpp:

(WebKit::WebInspectorUI::WebInspectorUI):
(WebKit::WebInspectorUI::setDockSide):
(WebKit::WebInspectorUI::setDockingUnavailable):
(WebKit::WebInspectorUI::setIsVisible):
(WebKit::WebInspectorUI::updateFindString):
(WebKit::WebInspectorUI::setDiagnosticLoggingAvailable):
(WebKit::WebInspectorUI::showConsole):
(WebKit::WebInspectorUI::showResources):
(WebKit::WebInspectorUI::showMainResourceForFrame):
(WebKit::WebInspectorUI::startPageProfiling):
(WebKit::WebInspectorUI::stopPageProfiling):
(WebKit::WebInspectorUI::startElementSelection):
(WebKit::WebInspectorUI::stopElementSelection):
(WebKit::WebInspectorUI::didSave):
(WebKit::WebInspectorUI::didAppend):
(WebKit::WebInspectorUI::sendMessageToFrontend):
(WebKit::WebInspectorUI::evaluateInFrontendForTesting):
(WebKit::WebInspectorUI::pagePaused):
(WebKit::WebInspectorUI::pageUnpaused):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

Add missing header includes (related to unified sources changes from r269168).

Source/WebKitLegacy/cf:

  • WebCoreSupport/WebInspectorClientCF.cpp:

(WebInspectorClient::sendMessageToFrontend):

LayoutTests:

  • inspector/dom/dom-remove-events.html:
  • inspector/dom/remove-multiple-nodes.html:

The order of events received has changed slightly due to the new auto-suspend behavior
in InspectorFrontendAPIDispatcher. Remove event handlers when the test is complete to
ensure that events which arrive after the test has finished do not stomp on the expected results.

  • inspector/debugger/call-frame-function-name.html:
  • inspector/debugger/call-frame-this-host.html:
  • inspector/debugger/hit-breakpoint-from-console.html:
  • inspector/debugger/setBreakpoint-autoContinue.html:
  • inspector/debugger/setBreakpoint-column.html:
  • inspector/debugger/setBreakpoint-condition.html:
  • inspector/debugger/setBreakpoint.html:
  • inspector/debugger/setBreakpointByUrl-sourceURL.html:

Some tests seem to call ProtocolTest.completeTest() from the handler of Debugger.paused, when
the debugger is still paused. This causes timeouts after this refactoring, since not resuming means that
we'll get stuck in the debugger's nested run loop and never return.

4:52 PM Changeset in webkit [269209] by rniwa@webkit.org
  • 1 edit
    11 adds in trunk

Add Introduction to WebKit
https://bugs.webkit.org/show_bug.cgi?id=217017

Rubber-stamped by Simon Fraser.

Added the basic introductory documentation for WebKit.

  • Introduction.md: Added.
  • resources/js-wrapper.png: Added.
  • resources/webkit2-process-architecture.png: Added.
  • resources/xcode-add-file.png: Added.
  • resources/xcode-build-settings-for-run.png: Added.
  • resources/xcode-export-header.png: Added.
  • resources/xcode-scheme-dumprendertree.png: Added.
  • resources/xcode-scheme-layout-test.png: Added.
  • resources/xcode-workspace-build-location.png: Added.
  • resources/xcode-workspace-settings.png: Added.
3:59 PM Changeset in webkit [269208] by Chris Fleizach
  • 7 edits
    1 add in trunk/Source

AX: Incorrect list of voices being displayed on iOS
https://bugs.webkit.org/show_bug.cgi?id=218293

Reviewed by Per Arne Vollan.

Source/WebCore:

Limit the voices that we display in WebSpeech to only built-in system voices. This was the intention of the "compact"
decision, but some mobile assets have compact voices, which are not available WebContent.

  • platform/ios/PlatformSpeechSynthesizerIOS.mm:

(WebCore::PlatformSpeechSynthesizer::initializeVoiceList):

Source/WebCore/PAL:

  • PAL.xcodeproj/project.pbxproj:
  • pal/PlatformMac.cmake:
  • pal/spi/cocoa/AXSpeechManagerSPI.h: Added.

Source/WTF:

  • wtf/PlatformHave.h:
3:26 PM Changeset in webkit [269207] by Russell Epstein
  • 1 copy in tags/Safari-610.3.6

Tag Safari-610.3.6.

1:34 PM Changeset in webkit [269206] by Keith Rollin
  • 2 edits in trunk/Source/WebCore

Further lessen reliance on VPATH in WebCore/DerivedSources.make
https://bugs.webkit.org/show_bug.cgi?id=218378
<rdar://problem/70730895>

Reviewed by Darin Adler.

Bug 217696 updated WebCore/DerivedSources.make to rely less on VPATH
and make more use of explicit partial or full paths. The solution
there, however, did not go far enough, and led to failures when
building WebKit for Safari Tech Preview and using old SDKs that
contains files that have since been "upstreamed" into WebKit. Address
this problem by taking further control of how DerivedSources.make
finds needed files instead of using the VPATH mechanism.

No new tests -- this is a build fix.

  • DerivedSources.make:
1:32 PM Changeset in webkit [269205] by Jonathan Bedard
  • 5 edits in trunk/Tools

[webkitpy] Use allowlist and blocklist
https://bugs.webkit.org/show_bug.cgi?id=217985
<rdar://problem/70499499>

Reviewed by Aakash Jain.

  • Scripts/webkitpy/pylintrc:
  • Scripts/webkitpy/style/checkers/cpp.py:

(check_namespace_indentation):

  • Scripts/webkitpy/w3c/common.py:

(is_basename_skipped):

  • flatpak/flatpakutils.py:

(WebkitFlatpak.setup_gstbuild):

1:27 PM Changeset in webkit [269204] by Fujii Hironori
  • 4 edits
    2 adds in trunk

[TextureMapper] Replica layers don't blend correctly because computeOverlapRegions doesn't take TextureMapperPaintOptions::transform into account
https://bugs.webkit.org/show_bug.cgi?id=218307

Reviewed by Don Olmstead.

Source/WebCore:

Blending in replica layers didn't work as expected because
computeOverlapRegions didn't take the transform of
TextureMapperPaintOptions into account. Rendering replica layers
are achieved by using the transform.

TextureMapperLayer::paintWithIntermediateSurface also should take
the transform. commitSurface no longer needs to transform by it.

Test: compositing/reflections/opacity-in-reflection.html

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::computeOverlapRegions):
(WebCore::TextureMapperLayer::paintUsingOverlapRegions):
(WebCore::commitSurface):
(WebCore::TextureMapperLayer::paintWithIntermediateSurface):

  • platform/graphics/texmap/TextureMapperLayer.h:

LayoutTests:

  • compositing/reflections/opacity-in-reflection-expected.html: Added.
  • compositing/reflections/opacity-in-reflection.html: Added.
1:09 PM Changeset in webkit [269203] by Chris Dumez
  • 5 edits in trunk

BaseAudioContext.decodeAudioData() should throw an InvalidStateError when document is not fully active
https://bugs.webkit.org/show_bug.cgi?id=218400

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline WPT tests that are now passing.

  • web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/audiocontext-detached-execution-context-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-offlineaudiocontext-interface/offlineaudiocontext-detached-execution-context-expected.txt:

Source/WebCore:

BaseAudioContext.decodeAudioData() should throw an InvalidStateError when document is not fully active:

We were previously throwing a NotAllowedError instead.

No new tests, rebaselined existing tests.

  • Modules/webaudio/BaseAudioContext.cpp:

(WebCore::BaseAudioContext::decodeAudioData):

11:06 AM Changeset in webkit [269202] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit

Correct sandbox violations in GPU Process
https://bugs.webkit.org/show_bug.cgi?id=218356
<rdar://problem/70574999>

Reviewed by Eric Carlson.

The new GPU Process sandbox is missing 'sysctl.name2oid' from the allow list, even though
we allow it everywhere else. We need this for proper function.

  • GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:
11:06 AM Changeset in webkit [269201] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Extra closing parenthesis added after var in styles panel
https://bugs.webkit.org/show_bug.cgi?id=218295
<rdar://problem/70771314>

Reviewed by Devin Rousso.

  • UserInterface/Views/SpreadsheetStyleProperty.js:

(WI.SpreadsheetStyleProperty.prototype._addVariableTokens):
Remove contents.push(token) which was adding ). The closing parenthesis that was already
included in rawTokens above.
Drive-by: rawTokens.slice() should never include i as the 2nd argument. i is an index of an item
in the tokens - a different array.

10:42 AM Changeset in webkit [269200] by Alan Coon
  • 11 edits in branches/safari-611.1.4-branch

Cherry-pick r269173. rdar://problem/70831161

[Cocoa] Remove soft linking of NetworkExtension.framework
https://bugs.webkit.org/show_bug.cgi?id=218314
<rdar://problem/70785239>

Reviewed by Andy Estes.

Source/WebCore:

WebCore should link NetworkExtension.framework normally, to avoid the
runtime cost associated with soft linking.

  • Configurations/WebCore.xcconfig:

On macOS, weak link the framework since NetworkExtension.framework is
not available on the Base System.

  • platform/cocoa/NetworkExtensionContentFilter.h:

Added the isRequired static method to avoid soft linking
NetworkExtension.framework in WebKit.

  • platform/cocoa/NetworkExtensionContentFilter.mm:

Only compile this file in the ENABLE(CONTENT_FILTERING) build, as its
functionality is unavailable on tvOS.

(WebCore::NetworkExtensionContentFilter::enabled):
(WebCore::NetworkExtensionContentFilter::initialize):
(WebCore::NetworkExtensionContentFilter::unblockHandler const):
(WebCore::NetworkExtensionContentFilter::isRequired):

Source/WebKit:

  • UIProcess/Cocoa/WebPageProxyCocoa.mm: (WebKit::WebPageProxy::addPlatformLoadParameters):

Replaced the soft linked method call with a new method exported from
WebCore.

  • WebProcess/WebPage/Cocoa/WebPageCocoa.mm: (WebKit::WebPage::platformDidReceiveLoadParameters):

Tools:

Updated a test to reflect that NetworkExtension.framework is no longer
loaded at runtime. This test was failing on Catalina after r269109,
as the Contacts framework was loading NetworkExtension.

  • TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.h:
  • TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm: (-[LazilyLoadPlatformFrameworksController expectParentalControlsLoaded:]): (TEST):
  • TestWebKitAPI/Tests/WebKitCocoa/ContentFilteringPlugIn.mm: (-[ContentFilteringPlugIn checkIfPlatformFrameworksAreLoaded:]):

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

10:42 AM Changeset in webkit [269199] by Alan Coon
  • 5 edits
    1 delete in branches/safari-611.1.4-branch

Cherry-pick r269160. rdar://problem/70831130

Unreviewed, reverting r268192.

PLT regression - rdar://problem/70141350

Reverted changeset:

"Adjust heuristic for checking whether view reaches visually
non-empty state"
https://bugs.webkit.org/show_bug.cgi?id=217400
https://trac.webkit.org/changeset/268192

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

10:42 AM Changeset in webkit [269198] by Alan Coon
  • 4 edits
    2 adds in branches/safari-611.1.4-branch

Cherry-pick r269136. rdar://problem/70831153

REGRESSION(r267329): Crash in VisibleSelection::toNormalizedRange()
https://bugs.webkit.org/show_bug.cgi?id=218276

Reviewed by Wenson Hsieh.

Source/WebCore:

The crash was a symptom of the issue that m_extent or m_base could be null but not the other
when canonicalizing a non-null Position with VisiblePosition will make it null.

Fixed the bug by making sure base and extent's nullness match.

Test: editing/selection/delete-selection-with-disconnected-extent.html

  • editing/VisibleSelection.cpp: (WebCore::VisibleSelection::setBaseAndExtentToDeepEquivalents):

LayoutTests:

Added a regression test and rebaselined the test now that we got the pre-r267329 behavior back.

  • editing/execCommand/insert-list-nested-with-orphaned-expected.txt: Reverted the rebaseline in r267329.
  • editing/selection/delete-selection-with-disconnected-extent-expected.txt: Added.
  • editing/selection/delete-selection-with-disconnected-extent.html: Added.

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

10:42 AM Changeset in webkit [269197] by Alan Coon
  • 2 edits in branches/safari-611.1.4-branch/Source/WebCore

Cherry-pick r269110. rdar://problem/70831200

[LFC][IFC] horizontalAlignmentOffset should check for empty run list
https://bugs.webkit.org/show_bug.cgi?id=218285
<rdar://problem/70730722>

Reviewed by Antti Koivisto.

LineBoxBuilder functions check for empty run list except this static helper.

  • layout/inlineformatting/InlineFormattingContextGeometry.cpp: (WebCore::Layout::horizontalAlignmentOffset):

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

10:42 AM Changeset in webkit [269196] by Alan Coon
  • 6 edits in branches/safari-611.1.4-branch/Source

Cherry-pick r269082. rdar://problem/70831193

Adopt the UIPointerInteraction API
https://bugs.webkit.org/show_bug.cgi?id=218266
<rdar://problem/70732850>

Reviewed by Wenson Hsieh.

Source/WebKit:

No new tests, just moving from deprecated SPI to API.

  • Platform/spi/ios/UIKitSPI.h:
  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView setUpInteraction]): (-[WKContentView cleanUpInteraction]): (-[WKContentView setUpPointerInteraction]): (-[WKContentView _pointerInteraction:regionForRequest:defaultRegion:completion:]): (-[WKContentView pointerRegionForPositionInformation:point:]): (-[WKContentView pointerInteraction:styleForRegion:]): (-[WKContentView setUpCursorInteraction]): Deleted. (-[WKContentView _cursorInteraction:regionForLocation:defaultRegion:completion:]): Deleted. (-[WKContentView cursorRegionForPositionInformation:point:]): Deleted. (-[WKContentView cursorInteraction:styleForRegion:modifiers:]): Deleted.

Source/WTF:

  • wtf/PlatformHave.h:

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

10:42 AM Changeset in webkit [269195] by Alan Coon
  • 3 edits in branches/safari-611.1.4-branch/Source/WebCore

Cherry-pick r269078. rdar://problem/70831181

Remove leftover DiagnosticLoggingKey after r268458
https://bugs.webkit.org/show_bug.cgi?id=218263
<rdar://problem/70738034>

Reviewed by Darin Adler.

Remove the leftover DiagnosticKey for ResourceLoadStatistics telemetry now that the
actual data is no longer generated.

  • page/DiagnosticLoggingKeys.cpp: (WebCore::DiagnosticLoggingKeys::resourceLoadStatisticsTelemetryKey): Deleted.
  • page/DiagnosticLoggingKeys.h:

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

10:42 AM Changeset in webkit [269194] by Alan Coon
  • 2 edits in branches/safari-611.1.4-branch/Source/WebInspectorUI

Cherry-pick r269071. rdar://problem/70831166

Web Inspector: REGRESSION(r266669): Uncaught Exception: TypeError: node.nodeType is not a function. (In 'node.nodeType()', 'node.nodeType' is undefined)
https://bugs.webkit.org/show_bug.cgi?id=218254

Reviewed by Joseph Pecoraro.

r266669 changed WI.DOMBreakpoint to use WI.DOMNode instead of DOM.NodeId, meaning that
WI.DOMTreeContentView.prototype._updateBreakpointStatus now expects a WI.DOMNode.

  • UserInterface/Views/DOMTreeContentView.js: (WI.DOMTreeContentView.prototype._domTreeElementAdded):

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

10:42 AM Changeset in webkit [269193] by Alan Coon
  • 8 edits in branches/safari-611.1.4-branch

Cherry-pick r268904. rdar://problem/70831149

Null check platformStrategies when making blob read stream for an NSURLRequest
https://bugs.webkit.org/show_bug.cgi?id=218112
<rdar://problem/70507102>

Patch by Alex Christensen <achristensen@webkit.org> on 2020-10-22
Reviewed by Wenson Hsieh.

Source/WebCore:

r266187 made it possible to create a DataTransfer without a user event, which allows you to make a FileList,
which allows you to submit a multipart form without a user event that calls decidePolicyForNavigationAction
with a request that has a form data body that would make a blob upload stream. This causes us to use
platformStrategies in the UI process, which dereferences null. Since the blob only really exists in the network
process, just return a nil HTTPBody in such an exotic case instead of crashing.

Covered by an API test that would hit this crash. Web platform tests were insufficient because WebKitTestRunner does not
access WKNavigationAction.request, but Safari does.

  • platform/PlatformStrategies.cpp: (WebCore::hasPlatformStrategies):
  • platform/PlatformStrategies.h:
  • platform/network/FormData.cpp: (WebCore::FormData::containsBlobElement const): (WebCore::FormData::resolveBlobReferences):
  • platform/network/FormData.h:
  • platform/network/cf/FormDataStreamCFNet.cpp: (WebCore::createHTTPBodyCFReadStream):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/NavigationAction.mm: (TEST):

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

10:42 AM Changeset in webkit [269192] by Alan Coon
  • 7 edits
    1 add in branches/safari-611.1.4-branch

Cherry-pick r268878. rdar://problem/70831133

UIClient isn't notified when page muted state changes
https://bugs.webkit.org/show_bug.cgi?id=218085
<rdar://problem/70462420>

Reviewed by Youenn Fablet.

Source/WebKit:

API test: WKWebView.MediaMuted

  • UIProcess/API/C/WKPage.cpp: (WKPageGetMediaState): reportedMediaCaptureState -> reportedMediaState.
  • UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _mediaCaptureState]): Ditto.
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::updateReportedMediaCaptureState): Only record current capture state in m_reportedMediaCaptureState. m_delayStopCapturingReporting isn't necessary, remove it.
  • UIProcess/WebPageProxy.h: (WebKit::WebPageProxy::reportedMediaState const): Renamed from reportedMediaCaptureState to reflect what it returns. (WebKit::WebPageProxy::mediaStateFlags const): Deleted. (WebKit::WebPageProxy::reportedMediaCaptureState const): Deleted.

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/xcshareddata/xcschemes/TestWebKitAPI.xcscheme:
  • TestWebKitAPI/Tests/WebKitCocoa/MediaMutedState.mm: Added. (-[AudioStateObserver initWithWebView:]): (-[AudioStateObserver observeValueForKeyPath:ofObject:change:context:]): (-[AudioStateTestView setMuted:]): (TestWebKitAPI::TEST):

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

10:42 AM Changeset in webkit [269191] by Alan Coon
  • 11 edits
    1 copy
    1 add in branches/safari-611.1.4-branch/Source

Cherry-pick r268386. rdar://problem/70831174

Cocoa: Make WebGLLayer not dependent on GraphicsContextGLOpenGL
https://bugs.webkit.org/show_bug.cgi?id=217212
<rdar://problem/69876022>

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2020-10-13
Reviewed by Dean Jackson.

Source/WebCore:

WebGLLayer was needlessly using GraphicsContextGLOpenGL.
This is problematic because WebGLLayer should work with
upcoming remote GraphicsContextGL implementation.

The prepare callgraph was:

GCGLOpenGL -> WebGLLayer -> GCGLOpenGL

Refactor it to be:

GCGLOpenGL -> WebGLLayer

Move the back buffer ownership to the GraphicsContextGLOpenGL.
Make the front buffer ownership explicit in WebGLLayer.
Move the EGL bindings ownerships of all buffers to
GraphicsContextGLOpenGL.

Make the WebGLLayer not use EGL or OpenGL, it does not
need and cannot use it as not all of its clients use OpenGL
(i.e. the above mentioned remote use-case).

Improves the memory usage by not allocating front buffers
unless needed. In case the canvas does not present, will
not allocate front buffers at all.

Improves error handling of the allocations and EGL bindings.

No new tests, a refactor.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/angle/GraphicsContextGLANGLE.cpp: (WebCore::GraphicsContextGLOpenGL::reshapeFBOs): (WebCore::GraphicsContextGLOpenGL::prepareTexture): (WebCore::GraphicsContextGLOpenGL::prepareTextureImpl):
  • platform/graphics/angle/GraphicsContextGLANGLEUtilities.h: Added. (WebCore::ScopedRestoreTextureBinding::ScopedRestoreTextureBinding): (WebCore::ScopedRestoreTextureBinding::~ScopedRestoreTextureBinding):
  • platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm: (WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL): (WebCore::GraphicsContextGLOpenGL::~GraphicsContextGLOpenGL): (WebCore::GraphicsContextGLOpenGL::makeContextCurrent): (WebCore::GraphicsContextGLOpenGL::reshapeDisplayBufferBacking): (WebCore::GraphicsContextGLOpenGL::bindDisplayBufferBacking): (WebCore::GraphicsContextGLOpenGL::prepareForDisplay): (WebCore::GraphicsContextGLOpenGL::didDisplay):
  • platform/graphics/cocoa/WebGLLayer.h:
  • platform/graphics/cocoa/WebGLLayer.mm: (-[WebGLLayer initWithClient:devicePixelRatio:]): (-[WebGLLayer copyImageSnapshotWithColorSpace:]): (-[WebGLLayer recycleBuffer]): (-[WebGLLayer prepareForDisplayWithContents:]): (-[WebGLLayer display]): (-[WebGLLayer detachClient]):
  • platform/graphics/cocoa/WebGLLayerClient.h: Copied from Source/WebCore/platform/graphics/cocoa/WebGLLayer.h. (WebCore::WebGLLayerClient::~WebGLLayerClient):
  • platform/graphics/opengl/GraphicsContextGLOpenGL.h:
  • platform/graphics/opengl/GraphicsContextGLOpenGLBase.cpp: (WebCore::GraphicsContextGLOpenGL::reshapeFBOs):

Source/WebKit:

Removed unneeded inclusions of GraphicsContextGLOpenGL.h. The
file is now using non-public headers.

  • WebProcess/WebPage/WebPage.cpp:
  • WebProcess/WebPage/mac/WebPageMac.mm:

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

10:02 AM Changeset in webkit [269190] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

Increase camera failing timer to 30 seconds
https://bugs.webkit.org/show_bug.cgi?id=218389

Reviewed by Eric Carlson.

From testing, 3 seconds is not always enough if getUserMedia is quickly called multiple times.
Let's increase to 30 seconds to give room for slow systems while still being able to identify failures.

  • platform/mediastream/mac/AVVideoCaptureSource.h:
9:52 AM Changeset in webkit [269189] by Jonathan Bedard
  • 2 edits in trunk

Github mirror ReadMe need to update
https://bugs.webkit.org/show_bug.cgi?id=218120
<rdar://problem/70861595>

Reviewed by Aakash Jain.

  • ReadMe.md:
9:04 AM Changeset in webkit [269188] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore
REGRESSION (r269146): ASSERTION FAILED: didNeedLayout
logicalHeight() == oldHeight in WebCore::RenderBlockFlow::ensureLineBoxes

https://bugs.webkit.org/show_bug.cgi?id=218350
<rdar://problem/70822708>

Reviewed by Zalan Bujtas.

Dropping of ensureLineBoxes call revealed a bug in text control style updates.

RenderTextControlSingleLine mutates style of the innerTextElement() renderer by altering the height property.
On style update this mutation is lost which causes ensureLineBoxes for innerTextElement() to miscompute block height
if RenderTextControlSingleLine layout has not happened before.

  • rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::styleDidChange):

Don't zero the dimension properties of the innerTextElement() unnecessarily. Instead see of the underlying style has
actually changed and set the style only in that case. That will then trigger layout as needed.

8:34 AM Changeset in webkit [269187] by commit-queue@webkit.org
  • 10 edits
    65 copies
    129 moves
    26 adds
    3 deletes in trunk/LayoutTests

Resync web-platform-tests/css/css-sizing/aspect-ratio from upstream
https://bugs.webkit.org/show_bug.cgi?id=218377

Patch by Rob Buis <rbuis@igalia.com> on 2020-10-30
Reviewed by Frédéric Wang.

Resync web-platform-tests/css/css-sizing/aspect-ratio from upstream f8941337b6.

  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/css/css-sizing/aspect-ratio/abspos-001-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/abspos-002-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-002.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/abspos-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-002.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/abspos-003-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-003.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/abspos-003.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-003.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/abspos-004-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-004.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/abspos-004.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-004.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/abspos-005-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-005.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/abspos-005.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-005.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/abspos-006-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-006.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/abspos-006.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-006.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/abspos-007-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-007.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/abspos-007.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-007.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/abspos-008-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-008.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/abspos-008.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-008.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/abspos-009-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/auto-margins-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/abspos-009.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-006.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/abspos-010-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/abspos-010.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/abspos-011-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-002.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/abspos-011.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-003.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/abspos-012-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-003.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/abspos-012.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-009.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/abspos-013-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-004.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/abspos-013.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-015.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/abspos-014-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-005.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/abspos-014.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/auto-margins-001-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-006.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/auto-margins-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/auto-margins-001.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-001-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-007.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-001.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-002-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-008.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-002.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-003-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-009.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-003.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-003.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-004-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-010.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-004.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-004.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-005-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-013.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-005.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-005.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-006-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-014.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-006.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-006.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-007-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-015.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-007.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-007.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-008-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-016.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-008.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-008.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-009-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-017.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-009.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-009.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-010-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-018.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-010.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-010.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-011-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-011.tentative-expected.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-011.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-011.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-012-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-012.tentative-expected.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-012.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-012.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-013-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-019.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-013.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-013.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-014-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-020.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-014.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-014.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-015-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-015.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-015.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-016-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-002.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-016.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-016.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-017-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-003.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-017.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-017.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-018-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-004.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-018.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-018.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-019-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-005.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-019.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-019.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-020-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-006.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-020.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-020.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-021-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-007.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-021.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-022-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-008.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-022.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-023-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-009.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-023.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-024-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-010.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-024.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-025-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-025.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-026-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-002.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-026.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-020.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-027-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-003.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-027.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-020.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-028-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-004.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-028.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-with-margin-collapsing-001-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-005.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-with-margin-collapsing-001.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-with-margin-collapsing-002-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-006.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-with-margin-collapsing-002.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-001-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-007.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-001.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-001.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-002-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-008.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-002.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-003-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-003.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-003.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-004-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-002.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-004.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-004.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-005-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-003.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-005.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-005.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-006-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-004.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-006.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-006.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-007-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-007.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-007.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-008-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-002.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-008.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-008.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-009-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-003.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-009.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-009.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-010-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-004.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-010.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-010.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-011-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-005.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-011.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-001.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-012-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-006.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-012.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-001.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-013-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-007.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-013.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-009.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-014-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-008.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-014.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-009.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-015-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-009.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-015.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-001.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-016-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-010.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-016.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-003.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-017-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-011.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-017.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-005.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-018-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-012.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-018.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-003.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-019-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-019.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-020-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-020.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-021-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-021.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-022-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-022.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-023-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-023.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-024-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-024.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-001-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-001.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-002-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-002.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-003-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-003.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-003.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-004-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-004.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-004.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-005-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-005.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-005.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-006-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-006.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-006.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-007-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-007.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-007.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-008-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-008.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-008.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/parsing/contain-intrinsic-size-computed.html:
  • web-platform-tests/css/css-sizing/aspect-ratio/parsing/contain-intrinsic-size-invalid.html:
  • web-platform-tests/css/css-sizing/aspect-ratio/parsing/contain-intrinsic-size-valid.html:
  • web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-001-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-001.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-002-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-002.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-003-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-003.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-003.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-004-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-004.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-004.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-001.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-001.tentative-expected.txt: Removed.
  • web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-002.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-002.tentative-expected.txt: Removed.
  • web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-003.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-003.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-003.tentative-expected.txt: Removed.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-001-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-001.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-001.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-002-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-002.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-003-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-003.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-003.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-004-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-004.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-004.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-005-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-005.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-005.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-006-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-006.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-006.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-007-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-007.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-007.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-008-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-008.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-008.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-009-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-009.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-009.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-010-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-010.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-010.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-011-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-011.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-011.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-012-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-012.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-012.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-013-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-013.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-001.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-014-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-014.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-001.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-015-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-015.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-011.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-016-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-016.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-001.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-017-expected.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-017.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-018-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-018.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-001.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-019-expected.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-019.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-020-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-020.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-006.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-021-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-021.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-006.tentative.html.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-022-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-022.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-023-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-023.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-024-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-024.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-025-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-025.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-026-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-026.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-027-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht.
  • web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-027.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/small-aspect-ratio-crash.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/w3c-import.log:
8:32 AM Changeset in webkit [269186] by Chris Dumez
  • 39 edits
    2 copies
    2 adds
    1 delete in trunk/LayoutTests

Resync web-platform-tests/resources tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=218351

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Resync web-platform-tests/resources tests from upstream 5dbb0a3fa631ef73da0.

  • web-platform-tests/resources/*: Updated.
  • web-platform-tests/console/idlharness.any-expected.txt:
  • web-platform-tests/console/idlharness.any.worker-expected.txt:
  • web-platform-tests/content-security-policy/frame-src/frame-src-same-document-meta.sub.html:
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-long-crash-expected.txt:
  • web-platform-tests/css/css-text/text-indent/text-indent-long-line-crash-expected.txt:
  • web-platform-tests/css/cssom/idlharness-expected.txt:
  • web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/anchor-fragment-form-submit-withpath.html:
  • web-platform-tests/html/cross-origin-embedder-policy/reporting-navigation.https.html:
  • web-platform-tests/html/cross-origin-embedder-policy/require-corp-about-blank.https-expected.txt:
  • web-platform-tests/html/cross-origin-embedder-policy/require-corp-about-srcdoc.https-expected.txt:
  • web-platform-tests/html/cross-origin-embedder-policy/require-corp.https-expected.txt:
  • web-platform-tests/wasm/jsapi/idlharness.any-expected.txt:
  • web-platform-tests/web-share/share-url-invalid.https.html:
  • web-platform-tests/webrtc/RTCPeerConnection-getStats.https.html:
  • web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-replaceTrack.https.html:
  • web-platform-tests/webrtc/RTCPeerConnection-track-stats.https-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnection-track-stats.https.html:
  • web-platform-tests/webrtc/legacy/RTCPeerConnection-addStream.https.html:
  • Rebaseline a few tests that have different output.
  • I resync'd from upstream a few tests that would have stopped running properly after the resources/ folder resync.

LayoutTests:

Rebaseline test that has different output.

  • platform/mac-wk2/imported/w3c/web-platform-tests/web-share/share-url-invalid.https-expected.txt:
7:02 AM Changeset in webkit [269185] by Karl Rackler
  • 2 edits
    1 delete in trunk/LayoutTests

REGRESSION (r269070): [ Big Sur ] editing/input/reveal-caret-of-multiline-input.html is a constant failure
rdar://70819245
Re-baseline for Mojave after r269174.

Unreviewed test gardening.

  • platform/mac-bigsur/editing/input/reveal-caret-of-multiline-input-expected.txt: Removed.
  • platform/mac-mojave/editing/input/reveal-caret-of-multiline-input-expected.txt:
6:59 AM Changeset in webkit [269184] by Simon Fraser
  • 42 edits in trunk/Source

Convert ScrollingTreeNode change flags to an OptionSet<>
https://bugs.webkit.org/show_bug.cgi?id=218374

Reviewed by Antti Koivisto.

Address the FIXME in ScrollingStateNode.h and use an OptionSet<> for the
ScrollingState tree change flags. This required moving them all into
the same enum class in ScrollingStateNode.

Source/WebCore:

  • page/scrolling/ScrollingStateFixedNode.cpp:

(WebCore::ScrollingStateFixedNode::setPropertyChangesAfterReattach):
(WebCore::ScrollingStateFixedNode::updateConstraints):
(WebCore::ScrollingStateFixedNode::setPropertyChangedBitsAfterReattach): Deleted.

  • page/scrolling/ScrollingStateFixedNode.h:
  • page/scrolling/ScrollingStateFrameScrollingNode.cpp:

(WebCore::ScrollingStateFrameScrollingNode::ScrollingStateFrameScrollingNode):
(WebCore::ScrollingStateFrameScrollingNode::setPropertyChangesAfterReattach):
(WebCore::ScrollingStateFrameScrollingNode::setFrameScaleFactor):
(WebCore::ScrollingStateFrameScrollingNode::setEventTrackingRegions):
(WebCore::ScrollingStateFrameScrollingNode::setScrollBehaviorForFixedElements):
(WebCore::ScrollingStateFrameScrollingNode::setLayoutViewport):
(WebCore::ScrollingStateFrameScrollingNode::setMinLayoutViewportOrigin):
(WebCore::ScrollingStateFrameScrollingNode::setMaxLayoutViewportOrigin):
(WebCore::ScrollingStateFrameScrollingNode::setOverrideVisualViewportSize):
(WebCore::ScrollingStateFrameScrollingNode::setHeaderHeight):
(WebCore::ScrollingStateFrameScrollingNode::setFooterHeight):
(WebCore::ScrollingStateFrameScrollingNode::setTopContentInset):
(WebCore::ScrollingStateFrameScrollingNode::setRootContentsLayer):
(WebCore::ScrollingStateFrameScrollingNode::setCounterScrollingLayer):
(WebCore::ScrollingStateFrameScrollingNode::setInsetClipLayer):
(WebCore::ScrollingStateFrameScrollingNode::setContentShadowLayer):
(WebCore::ScrollingStateFrameScrollingNode::setHeaderLayer):
(WebCore::ScrollingStateFrameScrollingNode::setFooterLayer):
(WebCore::ScrollingStateFrameScrollingNode::setVisualViewportIsSmallerThanLayoutViewport):
(WebCore::ScrollingStateFrameScrollingNode::setFixedElementsLayoutRelativeToFrame):
(WebCore::ScrollingStateFrameScrollingNode::setAsyncFrameOrOverflowScrollingEnabled):
(WebCore::ScrollingStateFrameScrollingNode::setPropertyChangedBitsAfterReattach): Deleted.

  • page/scrolling/ScrollingStateFrameScrollingNode.h:
  • page/scrolling/ScrollingStateNode.cpp:

(WebCore::ScrollingStateNode::ScrollingStateNode):
(WebCore::ScrollingStateNode::setPropertyChanged):
(WebCore::ScrollingStateNode::setPropertyChangesAfterReattach):
(WebCore::ScrollingStateNode::appendChild):
(WebCore::ScrollingStateNode::insertChild):
(WebCore::ScrollingStateNode::removeChildAtIndex):
(WebCore::ScrollingStateNode::setLayer):
(WebCore::ScrollingStateNode::setPropertyChangedBitsAfterReattach): Deleted.

  • page/scrolling/ScrollingStateNode.h:

(WebCore::ScrollingStateNode::hasChangedProperties const):
(WebCore::ScrollingStateNode::hasChangedProperty const):
(WebCore::ScrollingStateNode::resetChangedProperties):
(WebCore::ScrollingStateNode::changedProperties const):
(WebCore::ScrollingStateNode::setChangedProperties):
(WebCore::ScrollingStateNode::setPropertyChangedInternal):
(WebCore::ScrollingStateNode::setPropertyChangedBit): Deleted.

  • page/scrolling/ScrollingStateOverflowScrollProxyNode.cpp:

(WebCore::ScrollingStateOverflowScrollProxyNode::setPropertyChangesAfterReattach):
(WebCore::ScrollingStateOverflowScrollProxyNode::setOverflowScrollingNode):
(WebCore::ScrollingStateOverflowScrollProxyNode::setPropertyChangedBitsAfterReattach): Deleted.

  • page/scrolling/ScrollingStateOverflowScrollProxyNode.h:
  • page/scrolling/ScrollingStatePositionedNode.cpp:

(WebCore::ScrollingStatePositionedNode::setPropertyChangesAfterReattach):
(WebCore::ScrollingStatePositionedNode::setRelatedOverflowScrollingNodes):
(WebCore::ScrollingStatePositionedNode::updateConstraints):
(WebCore::ScrollingStatePositionedNode::setPropertyChangedBitsAfterReattach): Deleted.

  • page/scrolling/ScrollingStatePositionedNode.h:
  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setPropertyChangesAfterReattach):
(WebCore::ScrollingStateScrollingNode::setScrollableAreaSize):
(WebCore::ScrollingStateScrollingNode::setTotalContentsSize):
(WebCore::ScrollingStateScrollingNode::setReachableContentsSize):
(WebCore::ScrollingStateScrollingNode::setScrollPosition):
(WebCore::ScrollingStateScrollingNode::setScrollOrigin):
(WebCore::ScrollingStateScrollingNode::setHorizontalSnapOffsets):
(WebCore::ScrollingStateScrollingNode::setVerticalSnapOffsets):
(WebCore::ScrollingStateScrollingNode::setHorizontalSnapOffsetRanges):
(WebCore::ScrollingStateScrollingNode::setVerticalSnapOffsetRanges):
(WebCore::ScrollingStateScrollingNode::setCurrentHorizontalSnapPointIndex):
(WebCore::ScrollingStateScrollingNode::setCurrentVerticalSnapPointIndex):
(WebCore::ScrollingStateScrollingNode::setScrollableAreaParameters):
(WebCore::ScrollingStateScrollingNode::setSynchronousScrollingReasons):
(WebCore::ScrollingStateScrollingNode::setRequestedScrollData):
(WebCore::ScrollingStateScrollingNode::setIsMonitoringWheelEvents):
(WebCore::ScrollingStateScrollingNode::setScrollContainerLayer):
(WebCore::ScrollingStateScrollingNode::setScrolledContentsLayer):
(WebCore::ScrollingStateScrollingNode::setHorizontalScrollbarLayer):
(WebCore::ScrollingStateScrollingNode::setVerticalScrollbarLayer):
(WebCore::ScrollingStateScrollingNode::setPropertyChangedBitsAfterReattach): Deleted.

  • page/scrolling/ScrollingStateScrollingNode.h:
  • page/scrolling/ScrollingStateStickyNode.cpp:

(WebCore::ScrollingStateStickyNode::setPropertyChangesAfterReattach):
(WebCore::ScrollingStateStickyNode::updateConstraints):
(WebCore::ScrollingStateStickyNode::setPropertyChangedBitsAfterReattach): Deleted.

  • page/scrolling/ScrollingStateStickyNode.h:
  • page/scrolling/ScrollingStateTree.cpp:

(WebCore::ScrollingStateTree::nodeWasReattachedRecursive):

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::commitTreeState):

  • page/scrolling/ScrollingTreeFrameScrollingNode.cpp:

(WebCore::ScrollingTreeFrameScrollingNode::commitStateBeforeChildren):

  • page/scrolling/ScrollingTreeScrollingNode.cpp:

(WebCore::ScrollingTreeScrollingNode::commitStateBeforeChildren):
(WebCore::ScrollingTreeScrollingNode::commitStateAfterChildren):

  • page/scrolling/cocoa/ScrollingTreeFixedNode.mm:

(WebCore::ScrollingTreeFixedNode::commitStateBeforeChildren):

  • page/scrolling/cocoa/ScrollingTreeOverflowScrollProxyNode.mm:

(WebCore::ScrollingTreeOverflowScrollProxyNode::commitStateBeforeChildren):

  • page/scrolling/cocoa/ScrollingTreePositionedNode.mm:

(WebCore::ScrollingTreePositionedNode::commitStateBeforeChildren):

  • page/scrolling/cocoa/ScrollingTreeStickyNode.mm:

(WebCore::ScrollingTreeStickyNode::commitStateBeforeChildren):

  • page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:

(WebCore::ScrollingStateScrollingNode::setScrollerImpsFromScrollbars):

  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::commitStateBeforeChildren):
(WebCore::ScrollingTreeFrameScrollingNodeMac::commitStateAfterChildren):

  • page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.mm:

(WebCore::ScrollingTreeOverflowScrollingNodeMac::commitStateAfterChildren):

  • page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:

(WebCore::ScrollingTreeScrollingNodeDelegateMac::updateFromStateNode):

  • page/scrolling/nicosia/ScrollingTreeFixedNode.cpp:

(WebCore::ScrollingTreeFixedNode::commitStateBeforeChildren):

  • page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.cpp:

(WebCore::ScrollingTreeFrameScrollingNodeNicosia::commitStateBeforeChildren):
(WebCore::ScrollingTreeFrameScrollingNodeNicosia::commitStateAfterChildren):

  • page/scrolling/nicosia/ScrollingTreeOverflowScrollProxyNode.cpp:

(WebCore::ScrollingTreeOverflowScrollProxyNode::commitStateBeforeChildren):

  • page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.cpp:

(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::commitStateAfterChildren):

  • page/scrolling/nicosia/ScrollingTreePositionedNode.cpp:

(WebCore::ScrollingTreePositionedNode::commitStateBeforeChildren):

  • page/scrolling/nicosia/ScrollingTreeStickyNode.cpp:

(WebCore::ScrollingTreeStickyNode::commitStateBeforeChildren):

Source/WebKit:

  • Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp:

(ArgumentCoder<ScrollingStateNode>::encode):
(ArgumentCoder<ScrollingStateNode>::decode):
(ArgumentCoder<ScrollingStateScrollingNode>::encode):
(ArgumentCoder<ScrollingStateFrameScrollingNode>::encode):
(ArgumentCoder<ScrollingStateOverflowScrollProxyNode>::encode):
(ArgumentCoder<ScrollingStateScrollingNode>::decode):
(ArgumentCoder<ScrollingStateFrameScrollingNode>::decode):
(ArgumentCoder<ScrollingStateOverflowScrollProxyNode>::decode):
(ArgumentCoder<ScrollingStateFixedNode>::encode):
(ArgumentCoder<ScrollingStateFixedNode>::decode):
(ArgumentCoder<ScrollingStateStickyNode>::encode):
(ArgumentCoder<ScrollingStateStickyNode>::decode):
(ArgumentCoder<ScrollingStatePositionedNode>::encode):
(ArgumentCoder<ScrollingStatePositionedNode>::decode):
(WebKit::dump):

  • UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:

(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):

  • UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm:

(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):

  • UIProcess/RemoteLayerTree/ios/ScrollingTreeFrameScrollingNodeRemoteIOS.mm:

(WebKit::ScrollingTreeFrameScrollingNodeRemoteIOS::commitStateBeforeChildren):
(WebKit::ScrollingTreeFrameScrollingNodeRemoteIOS::commitStateAfterChildren):

  • UIProcess/RemoteLayerTree/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:

(WebKit::ScrollingTreeOverflowScrollingNodeIOS::commitStateBeforeChildren):

  • UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm:

(WebKit::ScrollingTreeScrollingNodeDelegateIOS::commitStateBeforeChildren):
(WebKit::ScrollingTreeScrollingNodeDelegateIOS::commitStateAfterChildren):

  • UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.cpp:

(WebKit::ScrollingTreeFrameScrollingNodeRemoteMac::commitStateBeforeChildren):

  • UIProcess/RemoteLayerTree/mac/ScrollingTreeOverflowScrollingNodeRemoteMac.cpp:

(WebKit::ScrollingTreeOverflowScrollingNodeRemoteMac::commitStateBeforeChildren):

5:32 AM Changeset in webkit [269183] by Lauro Moura
  • 2 edits in trunk/Tools

webkitpy: Sync package versions with WPT suite
https://bugs.webkit.org/show_bug.cgi?id=217826
<rdar://problem/70619091>

Reviewed by Carlos Garcia Campos.

Sync most packages. funcsics is already imported with a newer version
in webkitcorepy.

  • Scripts/webkitpy/init.py:
5:28 AM Changeset in webkit [269182] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Re-add Martin Robinson as a committer
https://bugs.webkit.org/show_bug.cgi?id=218376

Patch by Martin Robinson <mrobinson@igalia.com> on 2020-10-30
Reviewed by Žan Doberšek.

  • Scripts/webkitpy/common/config/contributors.json: Updated with new status.
3:27 AM Changeset in webkit [269181] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix build error with release build with -DLOG_DISABLED=0
https://bugs.webkit.org/show_bug.cgi?id=218338

Add the proper ifdefs to solve it.

Patch by Alejandro G. Castro <alex@igalia.com> on 2020-10-30
Reviewed by Adrian Perez de Castro.

  • display/DisplayTreeBuilder.cpp:

(WebCore::Display::TreeBuilder::build const):

3:27 AM Changeset in webkit [269180] by Philippe Normand
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening

Remove tests marked as flaky for bug #198830 that have been consistently passing in the last
4000 GTK Release builds.

  • platform/gtk/TestExpectations:
1:40 AM Changeset in webkit [269179] by magomez@igalia.com
  • 4 edits in trunk/Source/WebCore

[GTK] Direct composited images may not be rendered after a window resize
https://bugs.webkit.org/show_bug.cgi?id=218292

Reviewed by Carlos Garcia Campos.

Ensure that valid buffers passed for ImageBackings are not destroyed until the
CoordinatedGraphicsScene consumes them.

  • platform/graphics/nicosia/texmap/NicosiaImageBackingTextureMapperImpl.cpp:

(Nicosia::ImageBackingTextureMapperImpl::flushUpdate):

  • platform/graphics/nicosia/texmap/NicosiaImageBackingTextureMapperImpl.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
(WebCore::CoordinatedGraphicsLayer::purgeBackingStores):

Oct 29, 2020:

8:26 PM Changeset in webkit [269178] by clopez@igalia.com
  • 3 edits in trunk/LayoutTests

[GTK][WPE] Gardening of new failures after r269177 and mark more flaky tests.

Unreviewed gardening.

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
7:27 PM Changeset in webkit [269177] by mmaxfield@apple.com
  • 3 edits
    94 adds in trunk/LayoutTests

[GPU Process] Add tests for sbix and COLR fonts in canvas
https://bugs.webkit.org/show_bug.cgi?id=218346

Reviewed by Simon Fraser.

Test all the relevant combinations of:
{CTM, no CTM} x
{line dash, no line dash} x
{color style, gradient style} x
{shadow, no shadow} x
{fill, stroke} x
{sbix, COLR}.

We actually care about the combinations because we have some codepaths (e.g. emulated shadows)
that only are triggered when 2 or more of the above are active.

Image orientation only works in http tests, so the sbix font is used in http/tests/.
See https://bugs.webkit.org/show_bug.cgi?id=217808 for more information.

  • fast/text/canvas-color-fonts/COLR-expected.html: Added.
  • fast/text/canvas-color-fonts/COLR.html: Added.
  • fast/text/canvas-color-fonts/ctm-COLR-expected.html: Added.
  • fast/text/canvas-color-fonts/ctm-COLR.html: Added.
  • fast/text/canvas-color-fonts/fill-color-COLR-expected.html: Added.
  • fast/text/canvas-color-fonts/fill-color-COLR.html: Added.
  • fast/text/canvas-color-fonts/fill-color-shadow-COLR-expected.html: Added.
  • fast/text/canvas-color-fonts/fill-color-shadow-COLR.html: Added.
  • fast/text/canvas-color-fonts/fill-color-shadow-ctm-COLR-expected.html: Added.
  • fast/text/canvas-color-fonts/fill-color-shadow-ctm-COLR.html: Added.
  • fast/text/canvas-color-fonts/fill-gradient-COLR-2-expected-mismatch.html: Added.
  • fast/text/canvas-color-fonts/fill-gradient-COLR-2.html: Added.
  • fast/text/canvas-color-fonts/fill-gradient-COLR-expected.html: Added.
  • fast/text/canvas-color-fonts/fill-gradient-COLR.html: Added.
  • fast/text/canvas-color-fonts/linedash-COLR-expected-mismatch.html: Added.
  • fast/text/canvas-color-fonts/linedash-COLR.html: Added.
  • fast/text/canvas-color-fonts/linedash-outlines-expected-mismatch.html: Added.
  • fast/text/canvas-color-fonts/linedash-outlines.html: Added.
  • fast/text/canvas-color-fonts/resources/Ahem-COLR.ttf: Added.
  • fast/text/canvas-color-fonts/stroke-color-COLR-expected.html: Added.
  • fast/text/canvas-color-fonts/stroke-color-COLR.html: Added.
  • fast/text/canvas-color-fonts/stroke-color-shadow-COLR-expected.html: Added.
  • fast/text/canvas-color-fonts/stroke-color-shadow-COLR.html: Added.
  • fast/text/canvas-color-fonts/stroke-color-shadow-ctm-COLR-expected.html: Added.
  • fast/text/canvas-color-fonts/stroke-color-shadow-ctm-COLR.html: Added.
  • fast/text/canvas-color-fonts/stroke-gradient-COLR-2-expected-mismatch.html: Added.
  • fast/text/canvas-color-fonts/stroke-gradient-COLR-2.html: Added.
  • fast/text/canvas-color-fonts/stroke-gradient-COLR-3-expected-mismatch.html: Added.
  • fast/text/canvas-color-fonts/stroke-gradient-COLR-3.html: Added.
  • fast/text/canvas-color-fonts/stroke-gradient-COLR-4-expected-mismatch.html: Added.
  • fast/text/canvas-color-fonts/stroke-gradient-COLR-4.html: Added.
  • fast/text/canvas-color-fonts/stroke-gradient-COLR-5-expected-mismatch.html: Added.
  • fast/text/canvas-color-fonts/stroke-gradient-COLR-5.html: Added.
  • fast/text/canvas-color-fonts/stroke-gradient-COLR-expected.html: Added.
  • fast/text/canvas-color-fonts/stroke-gradient-COLR.html: Added.
  • http/tests/canvas/color-fonts/ctm-sbix-2-expected-mismatch.html: Added.
  • http/tests/canvas/color-fonts/ctm-sbix-2.html: Added.
  • http/tests/canvas/color-fonts/ctm-sbix-3-expected-mismatch.html: Added.
  • http/tests/canvas/color-fonts/ctm-sbix-3.html: Added.
  • http/tests/canvas/color-fonts/ctm-sbix-4-expected-mismatch.html: Added.
  • http/tests/canvas/color-fonts/ctm-sbix-4.html: Added.
  • http/tests/canvas/color-fonts/ctm-sbix-expected.html: Added.
  • http/tests/canvas/color-fonts/ctm-sbix.html: Added.
  • http/tests/canvas/color-fonts/fill-color-sbix-2-expected-mismatch.html: Added.
  • http/tests/canvas/color-fonts/fill-color-sbix-2.html: Added.
  • http/tests/canvas/color-fonts/fill-color-sbix-3-expected-mismatch.html: Added.
  • http/tests/canvas/color-fonts/fill-color-sbix-3.html: Added.
  • http/tests/canvas/color-fonts/fill-color-sbix-4-expected-mismatch.html: Added.
  • http/tests/canvas/color-fonts/fill-color-sbix-4.html: Added.
  • http/tests/canvas/color-fonts/fill-color-sbix-expected.html: Added.
  • http/tests/canvas/color-fonts/fill-color-sbix.html: Added.
  • http/tests/canvas/color-fonts/fill-color-shadow-ctm-sbix-expected.html: Added.
  • http/tests/canvas/color-fonts/fill-color-shadow-ctm-sbix.html: Added.
  • http/tests/canvas/color-fonts/fill-color-shadow-sbix-expected.html: Added.
  • http/tests/canvas/color-fonts/fill-color-shadow-sbix.html: Added.
  • http/tests/canvas/color-fonts/fill-gradient-sbix-2-expected-mismatch.html: Added.
  • http/tests/canvas/color-fonts/fill-gradient-sbix-2.html: Added.
  • http/tests/canvas/color-fonts/fill-gradient-sbix-3-expected-mismatch.html: Added.
  • http/tests/canvas/color-fonts/fill-gradient-sbix-3.html: Added.
  • http/tests/canvas/color-fonts/fill-gradient-sbix-4-expected-mismatch.html: Added.
  • http/tests/canvas/color-fonts/fill-gradient-sbix-4.html: Added.
  • http/tests/canvas/color-fonts/fill-gradient-sbix-expected.html: Added.
  • http/tests/canvas/color-fonts/fill-gradient-sbix.html: Added.
  • http/tests/canvas/color-fonts/linedash-sbix-expected.html: Added.
  • http/tests/canvas/color-fonts/linedash-sbix.html: Added.
  • http/tests/canvas/color-fonts/resources/Ahem-sbix.ttf: Added.
  • http/tests/canvas/color-fonts/resources/image1.jpg: Added.
  • http/tests/canvas/color-fonts/resources/image2.jpg: Added.
  • http/tests/canvas/color-fonts/stroke-color-sbix-expected.html: Added.
  • http/tests/canvas/color-fonts/stroke-color-sbix.html: Added.
  • http/tests/canvas/color-fonts/stroke-color-shadow-ctm-sbix-expected.html: Added.
  • http/tests/canvas/color-fonts/stroke-color-shadow-ctm-sbix.html: Added.
  • http/tests/canvas/color-fonts/stroke-color-shadow-sbix-expected.html: Added.
  • http/tests/canvas/color-fonts/stroke-color-shadow-sbix.html: Added.
  • http/tests/canvas/color-fonts/stroke-gradient-sbix-2-expected-mismatch.html: Added.
  • http/tests/canvas/color-fonts/stroke-gradient-sbix-2.html: Added.
  • http/tests/canvas/color-fonts/stroke-gradient-sbix-3-expected-mismatch.html: Added.
  • http/tests/canvas/color-fonts/stroke-gradient-sbix-3.html: Added.
  • http/tests/canvas/color-fonts/stroke-gradient-sbix-4-expected-mismatch.html: Added.
  • http/tests/canvas/color-fonts/stroke-gradient-sbix-4.html: Added.
  • http/tests/canvas/color-fonts/stroke-gradient-sbix-expected.html: Added.
  • http/tests/canvas/color-fonts/stroke-gradient-sbix.html: Added.
  • http/tests/canvas/color-fonts/text-sbix-2-expected-mismatch.html: Added.
  • http/tests/canvas/color-fonts/text-sbix-2.html: Added.
  • http/tests/canvas/color-fonts/text-sbix-3-expected-mismatch.html: Added.
  • http/tests/canvas/color-fonts/text-sbix-3.html: Added.
  • http/tests/canvas/color-fonts/text-sbix-4-expected-mismatch.html: Added.
  • http/tests/canvas/color-fonts/text-sbix-4.html: Added.
  • http/tests/canvas/color-fonts/text-sbix-expected.html: Added.
  • http/tests/canvas/color-fonts/text-sbix.html: Added.
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:
6:17 PM Changeset in webkit [269176] by weinig@apple.com
  • 33 edits
    4 deletes in trunk

Remove all remaining boolean overridePreference calls
https://bugs.webkit.org/show_bug.cgi?id=218355

Reviewed by Darin Adler.
Tools:

Add a few more defaults for DumpRenderTree to allow them to be
used as test header commands.

  • DumpRenderTree/TestOptions.cpp:

(WTR::TestOptions::defaults):

LayoutTests:

Remove unnecessary testRunner.overridePreference calls (for features on
by default) and replace others with test header commands or internals.settings
as appropriate.

  • fast/canvas/webgl/resources/js-test-pre.js:
  • fast/dom/timer-throttling-hidden-page-non-nested.html:
  • fast/dom/timer-throttling-hidden-page.html:
  • fast/events/resources/tabindex-focus-blur-all.js:
  • fast/harness/override-preferences-2-expected.txt: Removed.
  • fast/harness/override-preferences-2.html: Removed.
  • fast/harness/override-preferences-expected.txt: Removed.
  • fast/harness/override-preferences.html: Removed.
  • fast/loader/display-image-unset-can-block-image-and-can-reload-in-place.html:
  • fast/loader/images-enabled-unset-can-block-image-and-can-reload-in-place.html:
  • fast/mediacapturefromelement/resources/webgl-test.js:
  • fast/parser/noscript-with-javascript-disabled.html:
  • fast/parser/noscript-with-javascript-enabled.html:
  • http/tests/cache/display-image-unset-allows-cached-image-load.html:
  • http/tests/misc/favicon-loads-with-icon-loading-override.html:
  • http/tests/misc/favicon-loads-with-images-disabled.html:
  • http/tests/xsl/xslt-transform-with-javascript-disabled.html:
  • media/remove-video-best-media-element-in-main-frame-crash.html:
  • platform/mac-wk2/plugins/asychronous-deadlock-with-timer-and-evaluate.html:
  • platform/mac-wk2/plugins/asynchronous-destroy-before-initialization.html:
  • platform/mac-wk2/plugins/destroy-during-async-npp-new.html:
  • platform/mac-wk2/plugins/script-object-access-fails-during-slow-initialization.html:
  • platform/mac-wk2/plugins/slow/asynchronous-plugin-initialization-multiple.html:
  • platform/mac-wk2/plugins/slow/asynchronous-plugin-initialization.html:
  • svg/as-image/svg-image-with-data-uri-images-disabled.html:
  • webaudio/resources/audio-testing.js:
  • webgl/1.0.3/resources/webgl_test_files/conformance/more/unit.js:
  • webgl/1.0.3/resources/webgl_test_files/resources/js-test-pre.js:
  • webgl/2.0.0/resources/webgl_test_files/conformance/more/unit.js:
  • webgl/2.0.0/resources/webgl_test_files/js/js-test-pre.js:
  • webgl/resources/js-test-pre.js:
  • webgl/resources/webgl_test_files/js/js-test-pre.js:
5:55 PM Changeset in webkit [269175] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Uncaught Exception: undefined is not an object (evaluating 'value.truncate')
https://bugs.webkit.org/show_bug.cgi?id=218061
<rdar://problem/70551334>

Patch by Federico Bucchi <Federico Bucchi> on 2020-10-29
Reviewed by Devin Rousso.

  • UserInterface/Views/DOMStorageContentView.js:

(WI.DOMStorageContentView.prototype.itemUpdated):

3:58 PM Changeset in webkit [269174] by Karl Rackler
  • 2 edits
    2 copies
    2 adds in trunk/LayoutTests

REGRESSION (r269070): [ Big Sur ] editing/input/reveal-caret-of-multiline-input.html is a constant failure
rdar://70819245
Re-baseline for Big Sur.

Unreviewed test gardening.

  • platform/mac-bigsur/editing/input/reveal-caret-of-multiline-input-expected.txt:
  • platform/mac-catalina/editing/Input/reveal-caret-of-multiline-input-expected.txt: Copied from LayoutTests/platform/mac-bigsur/editing/input/reveal-caret-of-multiline-input-expected.txt.
  • platform/mac-mojave/editing/input/reveal-caret-of-multiline-input-expected.txt: Copied from LayoutTests/platform/mac-bigsur/editing/input/reveal-caret-of-multiline-input-expected.txt.
3:26 PM Changeset in webkit [269173] by Aditya Keerthi
  • 11 edits in trunk

[Cocoa] Remove soft linking of NetworkExtension.framework
https://bugs.webkit.org/show_bug.cgi?id=218314
<rdar://problem/70785239>

Reviewed by Andy Estes.

Source/WebCore:

WebCore should link NetworkExtension.framework normally, to avoid the
runtime cost associated with soft linking.

  • Configurations/WebCore.xcconfig:

On macOS, weak link the framework since NetworkExtension.framework is
not available on the Base System.

  • platform/cocoa/NetworkExtensionContentFilter.h:

Added the isRequired static method to avoid soft linking
NetworkExtension.framework in WebKit.

  • platform/cocoa/NetworkExtensionContentFilter.mm:

Only compile this file in the ENABLE(CONTENT_FILTERING) build, as its
functionality is unavailable on tvOS.

(WebCore::NetworkExtensionContentFilter::enabled):
(WebCore::NetworkExtensionContentFilter::initialize):
(WebCore::NetworkExtensionContentFilter::unblockHandler const):
(WebCore::NetworkExtensionContentFilter::isRequired):

Source/WebKit:

  • UIProcess/Cocoa/WebPageProxyCocoa.mm:

(WebKit::WebPageProxy::addPlatformLoadParameters):

Replaced the soft linked method call with a new method exported from
WebCore.

  • WebProcess/WebPage/Cocoa/WebPageCocoa.mm:

(WebKit::WebPage::platformDidReceiveLoadParameters):

Tools:

Updated a test to reflect that NetworkExtension.framework is no longer
loaded at runtime. This test was failing on Catalina after r269109,
as the Contacts framework was loading NetworkExtension.

  • TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.h:
  • TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm:

(-[LazilyLoadPlatformFrameworksController expectParentalControlsLoaded:]):
(TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/ContentFilteringPlugIn.mm:

(-[ContentFilteringPlugIn checkIfPlatformFrameworksAreLoaded:]):

3:01 PM Changeset in webkit [269172] by Lauro Moura
  • 2 edits in trunk/LayoutTests

[GLIB] Gardening scroll failure

Unreviewed test gardening.

  • platform/glib/TestExpectations:
2:38 PM Changeset in webkit [269171] by commit-queue@webkit.org
  • 6 edits in trunk/Source/JavaScriptCore

JavaScriptCore should support multiple build variants
<https://webkit.org/b/218347>
<rdar://problem/70786057>

Patch by Jérôme Decoodt <jdecoodt@apple.com> on 2020-10-29
Reviewed by Keith Miller.

Update JavaScriptCore to handle BUILD_VARIANTS properly by
passing the value to build phase scripts and handling all
variants set during the build. For engineering builds,
BUILD_VARIANTS=normal.

  • CMakeLists.txt:
  • Update to pass equivalent ${BUILD_VARIANTS} for non-Apple platforms to asm.rb and generate_offset_extractor.rb.

(LLInt Offsets | Generate Derived Sources):
(Offline Assembler | Offline Assemble):

  • Update build phase script to pass "${BUILD_VARIANTS}" as an argument to scripts.
  • offlineasm/asm.rb:
  • Parse BUILD_VARIANTS argument to pass to offsetsAndConfigurationIndexForVariants().
  • offlineasm/generate_offset_extractor.rb:
  • Parse BUILD_VARIANTS argument to pass to configurationIndicesForVariants().
  • offlineasm/offsets.rb:

(offsetsAndConfigurationIndex):

  • Update argument list in comment block.

(offsetsAndConfigurationIndexForVariants): Add.

  • Invoke offsetsAndConfigurationIndex() for each build variant.

(configurationIndices):

  • Update argument list in comment block.

(configurationIndicesForVariants): Add.

  • Invoke configurationIndices() for each build variant.
2:35 PM Changeset in webkit [269170] by Chris Dumez
  • 7 edits in trunk

Source/WebCore:
Regression(PSON): Back/forward navigation may hang
https://bugs.webkit.org/show_bug.cgi?id=216611
<rdar://problem/68992714>

Reviewed by Geoffrey Garen.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadItem):
Add assertion that would have hit when reproducing the bug. A crash in debug is better than
hanging.

Source/WebKit:
Regression(PSON): Back/forward navigation may hang
https://bugs.webkit.org/show_bug.cgi?id=216611
<rdar://problem/68992714>

Reviewed by Geoffrey Garen.

The scenario was as follows:

  1. Load A in Process P1
  2. Load A#foo in Process P1 (fragment navigation)
  3. Load B in Process P2
  4. history.go(-2) to load A again in P1
  5. history.go(2) to load B again in P2
  6. history.back() to go back to A#foo in P1

-> Hang

We doing the process swap at step 3, we would suspend the page containing A#foo
in P1 when doing the new load in P2. When process swapping again at step 4,
we would go back to process P1 (because it is same origin) but we did not have
any suspended WebPage for A so we would create a new WebPage (with a new
WebPageIdentifier). The reason we do this is to allow the suspended WebPage
for A#foo to remain in process, as we may want it for another back/forward
navigation later.

The issue was that when constructing the new WebPage in P1 for A at step 4,
we would restore all history items from the WebPageProxy's BackForwardList
and overwrite any existing HistoryItems with the same IDs in the WebProcess.
This meant that WebKit layer would construct new HistoryItems for
HistoryItems that already existing and are used by the Suspended WebPage
containing A#foo.

Later on, at step 6, when trying to go back A#foo in P1, we would ask
the Suspended WebPage in P1 to load a given HistoryItem. This HistoryItem
is supposed to be present in the Page's back/forward list and is supposed
to have an associated back/forward cache entry. However, it was not the
case here because we ended up with a new HistoryItem instance that was
restored from the UIProcess earlier.

To address the issue, The WebPage constructor no longer overwrites
existing HistoryItems. Note that before prior to r231048, the WebPage
constructor was NOT overwriting existing HistoryItems so this restores
previous behavior. Presumably, we started overwriting to stop hitting
the assertion in WebBackForwardListProxy::addItemFromUIProcess() that
checked that we either wanted to overwrite or that there was no
existing HistoryItem with the given ID. This is no longer an issue
since I replaced this assertion with an if-check and an early return.

  • WebProcess/WebPage/WebBackForwardListProxy.cpp:

(WebKit::WebBackForwardListProxy::addItemFromUIProcess):

  • WebProcess/WebPage/WebPage.cpp:

Tools:
Regression(PSON): Back/forward navigation may hang
https://bugs.webkit.org/show_bug.cgi?id=216611
<rdar://problem/68992714>

Reviewed by Geoffrey Garen.

Add API test coverage.

  • TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2:22 PM Changeset in webkit [269169] by Karl Rackler
  • 2 edits in trunk/LayoutTests

Unreviewed, reverting r269167.

This reverts commit 269167 because it was in the incorrect
location.

Reverted changeset:

"REGRESSION (r269070): [ Big Sur ] editing/input/reveal-caret-
of-multiline-input.html is a constant failure"
https://trac.webkit.org/changeset/269167

2:10 PM Changeset in webkit [269168] by jiewen_tan@apple.com
  • 50 edits in trunk

[WebAuthn] Make WebContent process talk to the WebAuthn process for WebAuthn requests
https://bugs.webkit.org/show_bug.cgi?id=218070
<rdar://problem/70384404>

Reviewed by Brent Fulgham.

Source/WebCore:

Covered by existing tests.

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setWebAuthenticationModernEnabled):
(WebCore::RuntimeEnabledFeatures::webAuthenticationModernEnabled const):
Adds bindings in WebCore.

Source/WebKit:

Once modern web authentication is enabled, let WebContent process talk to the WebAuthn process
for WebAuthn requests.

  • Scripts/process-entitlements.sh:

Adds necessary entitlements for the WebAuthn process.

  • UIProcess/WebAuthentication/AuthenticatorManager.cpp:

(WebKit::AuthenticatorManager::handleRequest):
Adds a way to distinguish if itself is in the UI Process or in the WebAuthn process.

  • WebAuthnProcess/WebAuthnConnectionToWebProcess.cpp:

(WebKit::WebAuthnConnectionToWebProcess::makeCredential):
(WebKit::WebAuthnConnectionToWebProcess::getAssertion):
(WebKit::WebAuthnConnectionToWebProcess::handleRequest):
(WebKit::WebAuthnConnectionToWebProcess::isUserVerifyingPlatformAuthenticatorAvailable):
(WebKit::WebAuthnConnectionToWebProcess::setMockWebAuthenticationConfiguration):

  • WebAuthnProcess/WebAuthnConnectionToWebProcess.h:
  • WebAuthnProcess/WebAuthnConnectionToWebProcess.messages.in:

Adds receivers for messages coming from the web content processes.

  • WebAuthnProcess/WebAuthnProcess.cpp:

(WebKit::WebAuthnProcess::WebAuthnProcess):
(WebKit::WebAuthnProcess::setMockWebAuthenticationConfiguration):

  • WebAuthnProcess/WebAuthnProcess.h:

(WebKit::WebAuthnProcess::authenticatorManager):
Handles the authenticator managers.

  • WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in:

Relaxes sandbox for necessary hardware accesses.

  • WebProcess/WebAuthentication/WebAuthenticatorCoordinator.cpp:

(WebKit::WebAuthenticatorCoordinator::makeCredential):
(WebKit::WebAuthenticatorCoordinator::getAssertion):
(WebKit::WebAuthenticatorCoordinator::isUserVerifyingPlatformAuthenticatorAvailable):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::setMockWebAuthenticationConfiguration):
Sends messages to the WebAuthn process accordingly.

Source/WTF:

  • Scripts/Preferences/WebPreferencesExperimental.yaml:

Adds bindings in WebCore.

LayoutTests:

Modifies tests that can run on the new WebAuthn process run on it. Some tests will require
mock UI interactions which is not currently supported for the new WebAuthn process. Therefore,
they still run on the UI process.

  • 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-create-with-invalid-parameters.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/public-key-credential-get-with-invalid-parameters.https.html:
  • http/wpt/webauthn/public-key-credential-ip-address.html:
  • http/wpt/webauthn/public-key-credential-is-user-verifying-platform-authenticator-available.html:
  • http/wpt/webauthn/public-key-credential-same-origin-with-ancestors.https.html:
  • http/wpt/webauthn/public-key-credential-unfocused-document.https.html:
2:07 PM Changeset in webkit [269167] by Karl Rackler
  • 2 edits in trunk/LayoutTests

REGRESSION (r269070): [ Big Sur ] editing/input/reveal-caret-of-multiline-input.html is a constant failure
rdar://70819245
Re-baseline for Big Sur.

Unreviewed test gardening.

  • platform/mac-bigsur/editing/input/reveal-caret-of-multiline-input-expected.txt:
2:00 PM Changeset in webkit [269166] by commit-queue@webkit.org
  • 81 edits in trunk/Source/WebInspectorUI

Web Inspector: update styles to use CSS properties with neutral directionality
https://bugs.webkit.org/show_bug.cgi?id=217447
<rdar://problem/70064975>

Patch by Federico Bucchi <Federico Bucchi> on 2020-10-29
Reviewed by Devin Rousso.

  • UserInterface/Debug/UncaughtExceptionReporter.css:

(.uncaught-exception-sheet):
(.uncaught-exception-sheet h1 > img):
(.uncaught-exception-sheet h2 > img):
(.uncaught-exception-sheet dd):
(.uncaught-exception-sheet ul):

  • UserInterface/Views/AuditNavigationSidebarPanel.css:

(.content-view.tab.audit .content-view .reference-page-link-container):
(body[dir=ltr] .content-view.tab.audit .content-view .reference-page-link-container): Deleted.
(body[dir=rtl] .content-view.tab.audit .content-view .reference-page-link-container): Deleted.

  • UserInterface/Views/AuditTestCaseContentView.css:

(.content-view.audit-test-case > header):
(.content-view.audit-test-case > header h1 > img):
(.content-view.audit-test-case > header > .metadata > .source):
(.content-view.audit-test-case > header > .metadata > .duration):

  • UserInterface/Views/AuditTestContentView.css:

(.content-view.audit-test > header):

  • UserInterface/Views/AuditTestGroupContentView.css:

(.content-view.audit-test-group > header):
(.content-view.audit-test-group > header > nav > .scope-bar > li:last-child):
(.content-view.audit-test-group > header > nav > .scope-bar > li > img):
(.content-view.audit-test-group > header > .percentage-pass):

  • UserInterface/Views/BezierEditor.css:

(.bezier-editor > .bezier-preview-timing):

  • UserInterface/Views/BlackboxSettingsView.css:

(.settings-view.blackbox > table > tbody td.remove-blackbox > .remove-blackbox-button):

  • UserInterface/Views/BoxModelDetailsSectionRow.css:

(.details-section .row.box-model .box.border > .label):

  • UserInterface/Views/BoxShadowEditor.css:

(.box-shadow-editor > table > tr > td):
(.box-shadow-editor > table > tr.offset-x > td > svg):

  • UserInterface/Views/BreakpointActionView.css:

(:matches(.breakpoint-action-append-button, .breakpoint-action-remove-button)):
(.breakpoint-action-block-body > .description):

  • UserInterface/Views/BreakpointPopover.css:

(.popover .edit-breakpoint-popover-content input:is(#edit-breakpoint-popover-ignore-count, #edit-breakpoint-popover-auto-continue)):
(.popover .edit-breakpoint-popover-content > .reference-page-link-container):
(body[dir=ltr] .popover .edit-breakpoint-popover-content > .reference-page-link-container): Deleted.
(body[dir=rtl] .popover .edit-breakpoint-popover-content > .reference-page-link-container): Deleted.

  • UserInterface/Views/ButtonNavigationItem.css:

(.navigation-bar .item.button.image-and-text > span):

  • UserInterface/Views/CPUTimelineOverviewGraph.css:

(.timeline-overview-graph.cpu > .legend):
(body[dir=ltr] .timeline-overview-graph.cpu > .legend): Deleted.
(body[dir=rtl] .timeline-overview-graph.cpu > .legend): Deleted.

  • UserInterface/Views/CPUTimelineView.css:

(.timeline-view.cpu > .content .subtitle > .info):
(.timeline-view.cpu > .content > .details > .timeline-ruler):
(.timeline-view.cpu > .content > .overview > .divider):
(.timeline-view.cpu > .content > .overview .legend):
(.timeline-view.cpu > .content > .overview .legend .swatch):
(.timeline-view.cpu > .content > .overview > .chart > .container.stats > table .filter.active + .filter.active):
(body[dir=ltr] .timeline-view.cpu > .content > .details > .timeline-ruler): Deleted.
(body[dir=rtl] .timeline-view.cpu > .content > .details > .timeline-ruler): Deleted.
(body[dir=ltr] .timeline-view.cpu > .content > .overview > .divider): Deleted.
(body[dir=rtl] .timeline-view.cpu > .content > .overview > .divider): Deleted.

  • UserInterface/Views/CPUUsageCombinedView.css:

(.cpu-usage-combined-view > .details):
(.cpu-usage-combined-view > .details > .legend-container > .row > .swatch):
(body[dir=ltr] .cpu-usage-combined-view > .details): Deleted.
(body[dir=rtl] .cpu-usage-combined-view > .details): Deleted.

  • UserInterface/Views/CPUUsageView.css:

(.cpu-usage-view > .details):
(body[dir=ltr] .cpu-usage-view > .details): Deleted.
(body[dir=rtl] .cpu-usage-view > .details): Deleted.

  • UserInterface/Views/CallFrameTreeElement.css:

(.tree-outline .item.call-frame .status):
(body[dir=rtl] .tree-outline .item.call-frame .status):
(.tree-outline:not(.single-thread) > .children > .item.call-frame.async-boundary):
(.tree-outline .item.call-frame.async-boundary .icon):
(.tree-outline .item.call-frame.async-boundary::after):
(.tree-outline .item.call-frame.async-boundary::before):
(body[dir=ltr] .tree-outline .item.call-frame .status): Deleted.

  • UserInterface/Views/CallFrameView.css:

(.call-frame .icon):

  • UserInterface/Views/CanvasDetailsSidebarPanel.css:

(.sidebar > .panel.details.canvas .details-section.canvas-extensions .content > ul):

  • UserInterface/Views/CanvasOverviewContentView.css:

(.content-view.canvas-overview > .content-view.canvas > footer > .view-related-items > img + img):
(.content-view.canvas-overview > .content-view.canvas > footer .memory-cost):

  • UserInterface/Views/CheckboxNavigationItem.css:

(.navigation-bar .item.checkbox label):

  • UserInterface/Views/ColorPicker.css:

(.color-picker .slider):
(.color-picker > .color-inputs > div + div):

  • UserInterface/Views/ComputedStyleSection.css:

(.computed-style-section .computed-property-item .disclosure-button):

  • UserInterface/Views/ConsoleMessageView.css:

(.console-message.expandable .console-top-level-message::before):

  • UserInterface/Views/CookiePopover.css:

(.popover .cookie-popover-content > table > tr > td):

  • UserInterface/Views/CreateAuditPopover.css:

(.popover .create-audit-content > .editor-wrapper > .reference-page-link):

  • UserInterface/Views/DOMNodeDetailsSidebarPanel.css:

(.sidebar > .panel.dom-node-details .details-section.dom-node-associated-data > .content .row):

  • UserInterface/Views/DOMTreeContentView.css:

(.content-view.dom-tree .tree-outline.dom):
(.content-view.dom-tree.show-gutter .tree-outline.dom):
(.content-view.dom-tree .tree-outline.dom li .status-image):
(body[dir=rtl] .content-view.dom-tree .tree-outline.dom li .status-image):
(body[dir=ltr] .content-view.dom-tree .tree-outline.dom li .status-image): Deleted.

  • UserInterface/Views/DOMTreeOutline.css:

(.tree-outline.dom ol):
(.tree-outline.dom li:matches(.hovered, .selected) + ol.children.expanded):

  • UserInterface/Views/DataGrid.css:

(.data-grid th:matches(.sort-ascending, .sort-descending) > .header-cell-content:first-child::after):
(.data-grid td .icon):
(.data-grid td .go-to-arrow):
(body[dir=ltr] .data-grid th:matches(.sort-ascending, .sort-descending) > .header-cell-content:first-child::after): Deleted.
(body[dir=rtl] .data-grid th:matches(.sort-ascending, .sort-descending) > .header-cell-content:first-child::after): Deleted.

  • UserInterface/Views/DetailsSection.css:

(.details-section > .header):
(.details-section > .header > label > input[type="checkbox"]):
(.details-section > .header .go-to-arrow):
(.details-section > .content > .group > .row.simple > .label):
(.details-section > .content > .group > .row.simple > .value):
(.details-section > .content > .group > .row.simple > .value .go-to-arrow):

  • UserInterface/Views/ErrorObjectView.css:

(.error-object > .formatted-error::before):
(.error-object .content):

  • UserInterface/Views/FilterBar.css:

(.filter-bar > input[type="search"]):
(:matches(.filter-bar, .search-bar) > input[type="search"]::-webkit-search-results-button):
(:matches(.filter-bar, .search-bar) > .navigation-bar + input[type="search"]):
(:matches(.filter-bar, .search-bar) > input[type="search"]:focus):
(:matches(.filter-bar, .search-bar) > input[type="search"] + :empty):
(:matches(.filter-bar, .search-bar) > input[type="search"] + .navigation-bar > .item.scope-bar:last-child):

  • UserInterface/Views/FindBanner.css:

(.find-banner > :first-child):
(.find-banner > :last-child):
(.find-banner > input[type="search"]):
(.find-banner > button.segmented):
(.find-banner > button.segmented.previous-result):
(.find-banner > button.segmented.next-result):
(body[dir=ltr] .find-banner > button.segmented.next-result):
(body[dir=rtl] .find-banner > button.segmented.next-result):
(.find-banner > button.segmented.next-result > .glyph):
(.find-banner.console-find-banner > input[type="search"]::-webkit-textfield-decoration-container):
(body[dir=ltr] .find-banner > button.segmented.previous-result): Deleted.
(body[dir=rtl] .find-banner > button.segmented.previous-result): Deleted.

  • UserInterface/Views/FlexibleSpaceNavigationItem.css:

(.navigation-bar .item.flexible-space.align-start > .item):
(.navigation-bar .item.flexible-space.align-end > .item):

  • UserInterface/Views/FontResourceContentView.css:

(.content-view.resource.font .preview > .line > .metric):

  • UserInterface/Views/GeneralStyleDetailsSidebarPanel.css:

(.sidebar > .panel.details.css-style > .content ~ .options-container > .new-rule):
(.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle):
(.panel.exclusive-presentation.details.css-style > .content > .rules):

  • UserInterface/Views/GraphicsOverviewContentView.css:

(.content-view.graphics-overview > section > .header):

  • UserInterface/Views/HierarchicalPathComponent.css:

(.hierarchical-path-component > :matches(.icon, .selector-arrows)):
(.hierarchical-path-component > select):
(.hierarchical-path-component > .separator):
(.hierarchical-path-component.text-only):
(body[dir=ltr] .hierarchical-path-component > select): Deleted.
(body[dir=rtl] .hierarchical-path-component > select): Deleted.
(body[dir=ltr] .hierarchical-path-component.text-only > select): Deleted.
(body[dir=rtl] .hierarchical-path-component.text-only > select): Deleted.

  • UserInterface/Views/LayerTreeDetailsSidebarPanel.css:

(.layer-tree-popover ul):

  • UserInterface/Views/Layers3DContentView.css:

(.content-view.layers-3d .layer-info ul):

  • UserInterface/Views/LocalResourceOverridePopover.css:

(.popover .local-resource-override-popover-content label.is-case-sensitive):
(.popover .local-resource-override-popover-content .editor.status-text):

  • UserInterface/Views/LogContentView.css:

(.content-view.log > .hidden-messages-banner > button):
(.content-view.log > .hidden-messages-banner > .dismiss):
(.console-group-title::before):
(body[dir=rtl] .console-group-title::before):
(body[dir=ltr] .content-view.log > .hidden-messages-banner > .dismiss): Deleted.
(body[dir=rtl] .content-view.log > .hidden-messages-banner > .dismiss): Deleted.
(body[dir=ltr] .console-group-title::before): Deleted.

  • UserInterface/Views/Main.css:

(.go-to-link:not(.dont-float)):
(@media (-webkit-device-pixel-ratio: 1) .reference-page-link):
(.device-settings-content .container > * + *):
(.device-settings-content label > input):
(.device-settings-content > .reference-page-link-container):
(body[dir=ltr] .device-settings-content > .reference-page-link-container): Deleted.
(body[dir=rtl] .device-settings-content > .reference-page-link-container): Deleted.

  • UserInterface/Views/MemoryCategoryView.css:

(.memory-category-view > .details):
(body[dir=ltr] .memory-category-view > .details): Deleted.
(body[dir=rtl] .memory-category-view > .details): Deleted.

  • UserInterface/Views/MemoryTimelineOverviewGraph.css:

(.timeline-overview-graph.memory > .legend):
(.timeline-overview-graph.memory .memory-pressure-event):
(body[dir=ltr] .timeline-overview-graph.memory > .legend): Deleted.
(body[dir=rtl] .timeline-overview-graph.memory > .legend): Deleted.
(body[dir=ltr] .timeline-overview-graph.memory .memory-pressure-event): Deleted.
(body[dir=rtl] .timeline-overview-graph.memory .memory-pressure-event): Deleted.

  • UserInterface/Views/MemoryTimelineView.css:

(.timeline-view.memory > .content > .details > .timeline-ruler):
(.timeline-view.memory > .content > .overview > .divider):
(.timeline-view.memory .legend):
(.timeline-view.memory .legend .swatch):
(body[dir=ltr] .timeline-view.memory > .content > .details > .timeline-ruler): Deleted.
(body[dir=rtl] .timeline-view.memory > .content > .details > .timeline-ruler): Deleted.
(body[dir=ltr] .timeline-view.memory > .content > .overview > .divider): Deleted.
(body[dir=rtl] .timeline-view.memory > .content > .overview > .divider): Deleted.

  • UserInterface/Views/NetworkTableContentView.css:

(.content-view.tab.network > .content-browser > .navigation-bar .hierarchical-path .icon):
(.content-view.network .network-table > .table .icon):
(.network-table > .table.grouped .data-container .cell:not(.parent).name):
(.network-table > .table.grouped .data-container .cell.child.name):
(.network-table > .table .cell.domain > .lock):
(.network-table > .table .cell.name > .status):
(.network-table > .table :not(.header) .cell.waterfall):
(.network-table > .statistics > .statistic > .text):
(body[dir=ltr] .network-table > .table :not(.header) .cell.waterfall): Deleted.
(body[dir=rtl] .network-table > .table :not(.header) .cell.waterfall): Deleted.

  • UserInterface/Views/ObjectTreeArrayIndexTreeElement.css:

(.object-tree-array-index .index-value .object-tree .tree-outline.object):
(.object-tree-array-index .index-value .formatted-node .tree-outline.dom):

  • UserInterface/Views/ObjectTreePropertyTreeElement.css:

(.item.object-tree-property.prototype-property + ol):

  • UserInterface/Views/ObjectTreeView.css:

(.tree-outline.object ol):
(.tree-outline.object li > button[disabled] + .indeterminate-progress-spinner):

  • UserInterface/Views/OpenResourceDialog.css:

(.open-resource-dialog > .field):
(.open-resource-dialog > .field::before):
(.open-resource-dialog > .field > input):
(.open-resource-dialog > .field > img):
(.open-resource-dialog > .tree-outline .item):
(body[dir=ltr] .open-resource-dialog > .field::before): Deleted.
(body[dir=rtl] .open-resource-dialog > .field::before): Deleted.
(body[dir=ltr] .open-resource-dialog > .field > img): Deleted.
(body[dir=rtl] .open-resource-dialog > .field > img): Deleted.

  • UserInterface/Views/QuickConsole.css:

(.quick-console > .navigation-bar .active-execution-context):
(.quick-console > .navigation-bar .active-execution-context > .selector-arrows):
(.quick-console > .navigation-bar .active-execution-context:not(.automatic)):

  • UserInterface/Views/RecordingActionTreeElement.css:

(.item.recording-action:not(.initial-state)::before):
(.tree-outline:not(.hide-disclosure-buttons) .item.recording-action:not(.initial-state, .parent) > .icon):

  • UserInterface/Views/RecordingStateDetailsSidebarPanel.css:

(.sidebar > .panel.details.recording-state > .content .details-section > .header .source):

  • UserInterface/Views/ResourceDetailsSection.css:

(.resource-details > section > .details):
(.resource-details > section > .details > p):
(.resource-details > section > .details > .pair):
(.resource-details > section > .details > .pair > .key):
(body[dir=ltr] .resource-details > section > .details): Deleted.
(body[dir=rtl] .resource-details > section > .details): Deleted.

  • UserInterface/Views/ResourceSecurityContentView.css:

(.resource-security .details > .show-certificate > .key > .error):

  • UserInterface/Views/ResourceSizesContentView.css:

(.resource-sizes > .content > section.network .warning):

  • UserInterface/Views/ResourceTimingBreakdownView.css:

(.resource-timing-breakdown > table > tr > td.time):

  • UserInterface/Views/ScopeBar.css:

(.scope-bar > li.multiple > select):
(.scope-bar > li.multiple > .arrows):
(body[dir=ltr] .scope-bar > li.multiple > select): Deleted.
(body[dir=rtl] .scope-bar > li.multiple > select): Deleted.

  • UserInterface/Views/SearchSidebarPanel.css:

(.sidebar > .panel.navigation.search > .search-bar > .search-settings):

  • UserInterface/Views/SettingsTabContentView.css:

(.content-view.tab.settings > .settings-view > .container button):
(.content-view.tab.settings > .settings-view > .container > .title):
(.content-view.tab.settings > .settings-view > .container > .editor-group > .editor input[type="checkbox"]):
(.content-view.tab.settings > .settings-view > .container > .editor-group > .editor input[type="number"]):
(.content-view.tab.settings > .settings-view > .container.reference > a):

  • UserInterface/Views/ShaderProgramContentView.css:

(.content-view.shader-program > .shader.compute,):
(body[dir=ltr] .content-view.shader-program > .shader.vertex:not(.shares-vertex-fragment-shader),):
(body[dir=ltr] .content-view.shader-program > .shader.fragment,):

  • UserInterface/Views/SingleSidebar.css:

(.single-sidebar.trailing > .resizer):
(.single-sidebar.leading > .resizer):
(body[dir=ltr] .single-sidebar.trailing > .resizer,): Deleted.
(body[dir=ltr] .single-sidebar.leading > .resizer,): Deleted.

  • UserInterface/Views/SourcesNavigationSidebarPanel.css:

(.sidebar > .panel.navigation.sources > .content .tree-outline.single-thread):

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:

(.spreadsheet-style-declaration-editor .property .select-variable-property):

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:

(.spreadsheet-css-declaration .selector > .icon):
(.spreadsheet-css-declaration .selector > .icon + *):
(.spreadsheet-css-declaration .selector.style-attribute > span):

  • UserInterface/Views/SpringEditor.css:

(.spring-editor > .spring-timing):
(.spring-editor > .spring-timing::before):
(.spring-editor > .spring-timing::after):
(body[dir=ltr] .spring-editor > .spring-timing::before,): Deleted.
(body[dir=ltr] .spring-editor > .spring-timing::after,): Deleted.

  • UserInterface/Views/TabBar.css:

(.tab-bar > .navigation-bar > .item.group > .item:nth-child(1 of :not(.hidden))):
(.tab-bar > .navigation-bar > .item.group > .item:nth-last-child(1 of :not(.hidden))):
(body:not(.docked) .tab-bar > .tabs > .item:nth-child(n + 3 of :not(.hidden)),):
(body:not(.docked) .tab-bar > .tabs:not(.hide-border-end) > .item:nth-last-child(1 of :not(.hidden))):
(body:not(.docked) .tab-bar > .tabs:not(.animating) > .item:not(.selected, .disabled):hover,):
(body:not(.docked) .tab-bar > .tabs:not(.animating) > .item:last-child:not(.selected, .disabled):hover):
(.tab-bar > .tabs > .item > .name):
(body[dir=ltr]:not(.docked) .tab-bar > .tabs > .item:nth-child(n + 3 of :not(.hidden)),): Deleted.
(body[dir=ltr]:not(.docked) .tab-bar > .tabs:not(.hide-border-end) > .item:nth-last-child(1 of :not(.hidden)),): Deleted.
(body[dir=ltr]:not(.docked) .tab-bar > .tabs:not(.animating) > .item:not(.selected, .disabled):hover,): Deleted.
(body[dir=ltr]:not(.docked) .tab-bar > .tabs:not(.animating) > .item:last-child:not(.selected, .disabled):hover,): Deleted.

  • UserInterface/Views/Table.css:

(.table > .header > :matches(.sort-ascending, .sort-descending)):
(.table > .header > :matches(.sort-ascending, .sort-descending)::after):
(.table > .header .cell:not(:first-child)::before):
(body[dir=ltr] .table > .header > :matches(.sort-ascending, .sort-descending)::after): Deleted.
(body[dir=rtl] .table > .header > :matches(.sort-ascending, .sort-descending)::after): Deleted.
(body[dir=ltr] .table > .header .cell:not(:first-child)::before): Deleted.
(body[dir=rtl] .table > .header .cell:not(:first-child)::before): Deleted.

  • UserInterface/Views/ThreadTreeElement.css:

(.tree-outline > .item.thread + ol > .item.truncated-call-frames):
(.tree-outline > .item.thread + ol > .item.truncated-call-frames .icon):

  • UserInterface/Views/TimelineOverview.css:

(.timeline-overview > :matches(.navigation-bar.timelines, .tree-outline.timelines)):
(.timeline-overview:not(.frames) > :matches(.scroll-container, .timeline-ruler, .graphs-container)):
(.timeline-overview > .scroll-container > .scroll-width-sizer):
(body[dir=ltr] .timeline-overview > :matches(.navigation-bar.timelines, .tree-outline.timelines)): Deleted.
(body[dir=rtl] .timeline-overview > :matches(.navigation-bar.timelines, .tree-outline.timelines)): Deleted.
(body[dir=ltr] .timeline-overview:not(.frames) > :matches(.scroll-container, .timeline-ruler, .graphs-container)): Deleted.
(body[dir=rtl] .timeline-overview:not(.frames) > :matches(.scroll-container, .timeline-ruler, .graphs-container)): Deleted.
(body[dir=ltr] .timeline-overview > .scroll-container > .scroll-width-sizer): Deleted.
(body[dir=rtl] .timeline-overview > .scroll-container > .scroll-width-sizer): Deleted.

  • UserInterface/Views/TimelineRecordBar.css:

(.timeline-record-bar > img):
(.timeline-record-bar > .segment):
(body[dir=ltr] .timeline-record-bar > .segment:last-of-type):
(body[dir=ltr] .timeline-record-bar > .segment): Deleted.
(body[dir=rtl] .timeline-record-bar > .segment): Deleted.

  • UserInterface/Views/TimelineRecordingContentView.css:

(.content-view.timeline-recording > .content-browser .recording-progress > .status > .indeterminate-progress-spinner):

  • UserInterface/Views/TimelineRuler.css:

(.timeline-ruler > .header > .divider > .label):
(.timeline-ruler > .markers > .marker):
(.timeline-ruler > .markers > .marker::before):
(.timeline-ruler > .markers > .marker::after):
(.timeline-ruler > .shaded-area.left):
(.timeline-ruler > .shaded-area.right):
(body[dir=ltr] .timeline-ruler > .header > .divider > .label): Deleted.
(body[dir=rtl] .timeline-ruler > .header > .divider > .label): Deleted.
(body[dir=ltr] .timeline-ruler > .markers > .marker): Deleted.
(body[dir=rtl] .timeline-ruler > .markers > .marker): Deleted.
(body[dir=ltr] .timeline-ruler > .markers > .marker::before): Deleted.
(body[dir=rtl] .timeline-ruler > .markers > .marker::before): Deleted.
(body[dir=ltr] .timeline-ruler > .markers > .marker::after): Deleted.
(body[dir=rtl] .timeline-ruler > .markers > .marker::after): Deleted.
(body[dir=ltr] .timeline-ruler > .shaded-area.left,): Deleted.
(body[dir=ltr] .timeline-ruler > .shaded-area.right,): Deleted.

  • UserInterface/Views/TreeOutline.css:

(.tree-outline:not(.hide-disclosure-buttons) .item:not(.parent) > .icon):
(.tree-outline .item .icon):
(.tree-outline .item .status):

  • UserInterface/Views/TreeOutline.js:

(WI.TreeOutline._generateStyleRulesIfNeeded):

  • UserInterface/Views/TypeTreeElement.css:

(.item.type-tree-element.prototype):
(.item.type-tree-element.prototype + ol):

  • UserInterface/Views/TypeTreeView.css:

(.tree-outline.type):
(.tree-outline.type ol):
(.tree-outline.type li .empty-message):

  • UserInterface/Views/WebSocketContentView.css:

(.web-socket.content-view > .data-grid .data-column > div):
(.web-socket.content-view .icon):
(body[dir=ltr] .web-socket.content-view .icon): Deleted.
(body[dir=rtl] .web-socket.content-view .icon): Deleted.

1:51 PM Changeset in webkit [269165] by Lauro Moura
  • 4 edits in trunk/LayoutTests

[GLIB] Gardening some failures

Unreviewed test gardening.

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.txt: Rebaseline
1:23 PM Changeset in webkit [269164] by Chris Dumez
  • 16 edits
    1 move
    23 adds
    47 deletes in trunk/LayoutTests

Resync web-platform-tests/payment-request tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=218308

Reviewed by Geoff Garen.

LayoutTests/imported/w3c:

Resync web-platform-tests/payment-request tests from upstream 326f137f2c3d23c.

It drops a lot of manual tests too, now that our test importer is smart enough not to
import them.

  • resources/resource-files.json:
  • web-platform-tests/payment-request/*: Updated.

LayoutTests:

Skip a few new tests that are failing.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
1:23 PM Changeset in webkit [269163] by pvollan@apple.com
  • 3 edits in trunk/Source/WebKit

[macOS] Add required entitlement for message filtering
https://bugs.webkit.org/show_bug.cgi?id=218342
<rdar://problem/70810567>

Reviewed by Brent Fulgham.

The entitlement 'com.apple.private.security.message-filter' needs to be set to YES. This patch also
adds telemetry for mach-bootstrap filtering.

  • Scripts/process-entitlements.sh:
  • WebProcess/com.apple.WebProcess.sb.in:
1:20 PM Changeset in webkit [269162] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Don't look in the keychain for a preferred client certificate in the network process
https://bugs.webkit.org/show_bug.cgi?id=218322
<rdar://problem/64931374>

Patch by Alex Christensen <achristensen@webkit.org> on 2020-10-29
Reviewed by Geoffrey Garen.

Often, based on a race condition of preconnecting to a server we have just been told to load and
the use of Safari's BackgroundLoad class when navigating to a page we have not received any data from yet,
and with an installed client certificate and an identity preference in the keychain, the user will be asked
if com.apple.WebKit.Networking can access a private key in the keychain instead of if Safari can access a
private key in the keychain. If the user types in the password and clicks "Always Allow" this does not make
it always allowed, but it would have if Safari had asked instead of com.apple.WebKit.Networking.
This is because Safari is responding to WKNavigationDelegate's didReceiveAuthenticationChallenge with
NSURLSessionAuthChallengeUseCredential and nil, which would cause CFNetwork to search in the keychain as the network
process for the preferred client certificate. What we want Safari's network process to do is not search in the keychain
for this preconnect request's challenge but wait until the actual request, at which time Safari will use its proper logic
to find the correct client certificate and AuthenticationManager::initializeConnection will create a SecKeyProxy
to do the signing in the UI process. Third party applications will not be affected because the SecKeyProxy path is the
only one that works for applications lacking Safari's entitlements. I used the steps in the radar to verify that this
is fixed. Unfortunately, it is not practical to make a unit test that installs a system client certificate and an
identity preference because doing so would require the entry of the login keychain password while running the unit test.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::configurationForSessionID):
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):

12:24 PM Changeset in webkit [269161] by commit-queue@webkit.org
  • 19 edits in trunk/Source/WebCore

Make WebCore::ContainerNode::ChildChangeType enum class
https://bugs.webkit.org/show_bug.cgi?id=218298
Patch by Tetsuharu Ohzeki <Tetsuharu Ohzeki> on 2020-10-29
Reviewed by Darin Adler.

And this patch moved to ChildChangeType to under ChildChange.
This patch also move ChildChangeSource to under ChildChange and specify a base type.

  • dom/CharacterData.cpp:

(WebCore::CharacterData::parserAppendData):
(WebCore::CharacterData::setDataAndUpdate):
(WebCore::CharacterData::notifyParentAfterChange):

  • dom/CharacterData.h:
  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::removeAllChildrenWithScriptAssertion):
(WebCore::ContainerNode::removeNodeWithScriptAssertion):
(WebCore::executeNodeInsertionWithScriptAssertion):
(WebCore::ContainerNode::takeAllChildrenFrom):
(WebCore::ContainerNode::insertBefore):
(WebCore::ContainerNode::parserInsertBefore):
(WebCore::ContainerNode::replaceChild):
(WebCore::ContainerNode::removeChild):
(WebCore::ContainerNode::parserRemoveChild):
(WebCore::ContainerNode::replaceAllChildrenWithNewText):
(WebCore::ContainerNode::removeChildren):
(WebCore::ContainerNode::appendChildWithoutPreInsertionValidityCheck):
(WebCore::ContainerNode::parserAppendChild):
(WebCore::affectsElements):
(WebCore::ContainerNode::childrenChanged):
(WebCore::ContainerNode::replaceChildren):

  • dom/ContainerNode.h:

(WebCore::ContainerNode::ChildChange::isInsertion const):

  • dom/Element.cpp:

(WebCore::Element::childrenChanged):

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::childrenChanged):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):

  • html/HTMLElement.h:
  • html/HTMLOutputElement.cpp:

(WebCore::HTMLOutputElement::childrenChanged):

  • svg/SVGClipPathElement.cpp:

(WebCore::SVGClipPathElement::childrenChanged):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::childrenChanged):

  • svg/SVGFELightElement.cpp:

(WebCore::SVGFELightElement::childrenChanged):

  • svg/SVGFilterElement.cpp:

(WebCore::SVGFilterElement::childrenChanged):

  • svg/SVGFilterPrimitiveStandardAttributes.cpp:

(WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):

  • svg/SVGGradientElement.cpp:

(WebCore::SVGGradientElement::childrenChanged):

  • svg/SVGMarkerElement.cpp:

(WebCore::SVGMarkerElement::childrenChanged):

  • svg/SVGMaskElement.cpp:

(WebCore::SVGMaskElement::childrenChanged):

  • svg/SVGPatternElement.cpp:

(WebCore::SVGPatternElement::childrenChanged):

12:15 PM Changeset in webkit [269160] by sihui_liu@apple.com
  • 5 edits
    1 delete in trunk

Unreviewed, reverting r268192.

PLT regression - rdar://problem/70141350

Reverted changeset:

"Adjust heuristic for checking whether view reaches visually
non-empty state"
https://bugs.webkit.org/show_bug.cgi?id=217400
https://trac.webkit.org/changeset/268192

11:35 AM Changeset in webkit [269159] by Said Abou-Hallawa
  • 6 edits
    2 adds in trunk

REGRESSION(269065): [GPU Process]: Order of drawing has to be preserved when drawing a canvas to another canvas
https://bugs.webkit.org/show_bug.cgi?id=218324

Reviewed by Simon Fraser.

Source/WebCore:

Allow DisplayList::Recorder::Delegate to take an action after appending
a DisplayList::Item to its DisplayList::DisplayList.

Test: fast/canvas/canvas-draw-canvas-on-canvas-flushing-order.html

  • platform/graphics/displaylists/DisplayListRecorder.cpp:

(WebCore::DisplayList::Recorder::didAppendItem):
(WebCore::DisplayList::Recorder::appendItemAndUpdateExtent):
(WebCore::DisplayList::Recorder::appendItem):

  • platform/graphics/displaylists/DisplayListRecorder.h:

(WebCore::DisplayList::Recorder::Delegate::didAppendItem):

Source/WebKit:

When drawing an ImageBuffer to another ImageBuffer, the DrawingContext of
the source and the destination ImageBuffers have to be flushed immediately.
Otherwise an older version or a newer version of the source ImageBuffer
might be drawn to the destination ImageBuffer.

  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:

LayoutTests:

  • fast/canvas/canvas-draw-canvas-on-canvas-flushing-order-expected.html: Added.
  • fast/canvas/canvas-draw-canvas-on-canvas-flushing-order.html: Added.
11:32 AM Changeset in webkit [269158] by Russell Epstein
  • 11 edits in branches/safari-610-branch/Source

Cherry-pick r269118. rdar://problem/70795320

macCatalyst WebGL on Apple Silicon devices is using a software renderer
https://bugs.webkit.org/show_bug.cgi?id=218303
<rdar://problem/70587571>

Reviewed by Geoffrey Garen.

Source/ThirdParty/ANGLE:

  • src/gpu_info_util/SystemInfo.h:
  • src/gpu_info_util/SystemInfo_apple.mm: (angle::GetSystemInfo): We can just use the macOS version of GetSystemInfo in macCatalyst.
  • src/gpu_info_util/SystemInfo_macos.mm: (angle::GetSystemInfo_mac):
  • src/libANGLE/Display.cpp:
  • src/libANGLE/formatutils.cpp: (gl::BuildInternalFormatInfoMap):
  • src/libANGLE/renderer/gl/renderergl_utils.cpp: (rx::nativegl_gl::GenerateCaps): It turns out we must use EAGL in macCatalyst on Apple Silicon in all cases, not just in-process in iOS apps (the problem is not just about coexistence of the two GLs, but actually about our ability to load the accelerated renderer /at all/ in macCatalyst processes).

I left the runtime switching in place, because there is a future in which
we /can/ use CGL in non-iOS-app processes, but that future is not now.

Source/WebCore:

  • platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm: (WebCore::needsEAGLOnMac): (WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL): (WebCore::GraphicsContextGLOpenGL::IOSurfaceTextureTarget): (WebCore::GraphicsContextGLOpenGL::IOSurfaceTextureTargetQuery): (WebCore::GraphicsContextGLOpenGL::EGLIOSurfaceTextureTarget): (WebCore::isiOSAppOnMac): Deleted. See ANGLE ChangeLog.

Source/WebKit:

  • UIProcess/mac/HighPerformanceGPUManager.mm: (WebKit::HighPerformanceGPUManager::addProcessRequiringHighPerformance): (WebKit::HighPerformanceGPUManager::removeProcessRequiringHighPerformance): (WebKit::HighPerformanceGPUManager::updateState): (WebKit::isiOSAppOnMac): Deleted. HighPerformanceGPUManager is PLATFORM(MAC)-only, which is not true for MACCATALYST, so delete this dead code.

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

11:18 AM Changeset in webkit [269157] by weinig@apple.com
  • 7 edits in trunk

[Testing] Remove requirement of adding new SPI for each preference that needs testing (WebKitLegacy Windows)
https://bugs.webkit.org/show_bug.cgi?id=218291

Reviewed by Brent Fulgham.

Source/WebKitLegacy/win:

Expose a set of setters for DumpRenderTree to use when setting preferences
by string, matching WebKitLegacy for cocoa platforms and modern WebKit.

  • Interfaces/IWebPreferencesPrivate.idl:
  • WebPreferences.cpp:

(WebPreferences::setBoolPreferenceForTesting):
(WebPreferences::setUInt32PreferenceForTesting):
(WebPreferences::setDoublePreferenceForTesting):
(WebPreferences::setStringPreferenceForTesting):

  • WebPreferences.h:

Tools:

Adopt set*PreferenceForTesting functions to match DumpRenderTree for cocoa platforms, and
make it so that only TestOptions.cpp needs to be touched to add support for new preference
in tests.

Also adds some helpers to convert between string types and use RetainPtr in a few more places.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(toUTF8):
(toBSTR):
(resetWebPreferencesToConsistentValues):
(boolWebPreferenceFeatureValue):
(setWebPreferencesForTestOptions):
(runTest):

11:10 AM Changeset in webkit [269156] by youenn@apple.com
  • 2 edits in trunk/Source/ThirdParty/libwebrtc

Add some logging to SequenceCheckerImpl::IsCurrent
https://bugs.webkit.org/show_bug.cgi?id=218328

Reviewed by Eric Carlson.

  • Source/webrtc/rtc_base/synchronization/sequence_checker.cc:

This might help debugging https://bugs.webkit.org/show_bug.cgi?id=218063.

10:53 AM Changeset in webkit [269155] by Noam Rosenthal
  • 3 edits
    4 adds in trunk

REGRESSION(r268249): image-orientation:none is broken for local (file://) urls
https://bugs.webkit.org/show_bug.cgi?id=217808
<rdar://problem/70603407>

Reviewed by Myles C. Maxfield.

Source/WebCore:

Use isCORSSameOrigin() instead of isOriginClean(), it's a more accureate method
for this purpose.
Allow image-orientation: none overriding when the image is local or a data-url.

Test: fast/images/image-orientation-none-local.html

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::allowsOrientationOverride const):

LayoutTests:

Added a tests that ensure image-orientation: none is supported in file and data URLs.

  • fast/images/image-orientation-none-local-expected.txt: Added.
  • fast/images/image-orientation-none-local.html: Added.
  • fast/images/image-orientation-none-data-url-expected.txt: Added.
  • fast/images/image-orientation-none-data-url.html: Added.
10:47 AM Changeset in webkit [269154] by Ryan Haddad
  • 3 edits in trunk/Source/WebKit

Unreviewed, reverting r269109.

Introduced dependency cycle

Reverted changeset:

"[Cocoa] Remove soft linking of Contacts.framework"
https://bugs.webkit.org/show_bug.cgi?id=218289
https://trac.webkit.org/changeset/269109

10:21 AM Changeset in webkit [269153] by Antti Koivisto
  • 9 edits in trunk/Source/WebCore

[LFC][Integration] Rename text run localStart/EndOffset to start/end
https://bugs.webkit.org/show_bug.cgi?id=218344

Reviewed by Zalan Bujtas.

There is no danger of confusion and these are called just start/end elsewhere.

  • dom/Position.cpp:

(WebCore::Position::upstream const):
(WebCore::Position::downstream const):

  • editing/TextIterator.cpp:

(WebCore::TextIterator::handleTextRun):

  • editing/VisibleUnits.cpp:

(WebCore::startPositionForLine):
(WebCore::endPositionForLine):

  • layout/integration/LayoutIntegrationRunIterator.h:

(WebCore::LayoutIntegration::PathTextRun::start const):
(WebCore::LayoutIntegration::PathTextRun::end const):
(WebCore::LayoutIntegration::PathTextRun::localStartOffset const): Deleted.
(WebCore::LayoutIntegration::PathTextRun::localEndOffset const): Deleted.

  • layout/integration/LayoutIntegrationRunIteratorLegacyPath.h:

(WebCore::LayoutIntegration::RunIteratorLegacyPath::start const):
(WebCore::LayoutIntegration::RunIteratorLegacyPath::end const):
(WebCore::LayoutIntegration::RunIteratorLegacyPath::localStartOffset const): Deleted.
(WebCore::LayoutIntegration::RunIteratorLegacyPath::localEndOffset const): Deleted.

  • layout/integration/LayoutIntegrationRunIteratorModernPath.h:

(WebCore::LayoutIntegration::RunIteratorModernPath::minimumCaretOffset const):
(WebCore::LayoutIntegration::RunIteratorModernPath::maximumCaretOffset const):
(WebCore::LayoutIntegration::RunIteratorModernPath::start const):
(WebCore::LayoutIntegration::RunIteratorModernPath::end const):
(WebCore::LayoutIntegration::RunIteratorModernPath::localStartOffset const): Deleted.
(WebCore::LayoutIntegration::RunIteratorModernPath::localEndOffset const): Deleted.

  • rendering/RenderBlockFlow.cpp:

(WebCore::positionForRun):

  • rendering/RenderText.cpp:

(WebCore::createVisiblePositionAfterAdjustingOffsetForBiDi):
(WebCore::RenderText::positionForPoint):
(WebCore::RenderText::caretMinOffset const):
(WebCore::RenderText::caretMaxOffset const):
(WebCore::RenderText::countRenderedCharacterOffsetsUntil const):
(WebCore::containsOffset):

10:10 AM Changeset in webkit [269152] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[macOS] Add telemetry for IOKit use
https://bugs.webkit.org/show_bug.cgi?id=218343
<rdar://problem/70811875>

Reviewed by Geoffrey Garen.

Add telemetry with backtrace for IOKIt use in the WebContent process.

  • WebProcess/com.apple.WebProcess.sb.in:
9:53 AM Changeset in webkit [269151] by Chris Lord
  • 3 edits in trunk/Source/WebKit

[WPE] Add axis-locking to kinetic scrolling
https://bugs.webkit.org/show_bug.cgi?id=209729

Reviewed by Adrian Perez de Castro.

Add axis-locking to scroll gestures on WPE, and new WPE-specific
settings to control the process.

  • UIProcess/API/wpe/ScrollGestureController.cpp:

(WebKit::ScrollGestureController::handleEvent):

  • UIProcess/API/wpe/ScrollGestureController.h:
9:20 AM Changeset in webkit [269150] by youenn@apple.com
  • 2 edits in trunk/Source/WebKit

Improve LibWebRTCSocketClient logging
https://bugs.webkit.org/show_bug.cgi?id=218336

Reviewed by Eric Carlson.

Output webrtc socket identifier in case of error.
Fix the case of LibWebRTCSocketClient::sendTo that can log too much.

No observable change of behavior.

  • NetworkProcess/webrtc/LibWebRTCSocketClient.cpp:

(WebKit::LibWebRTCSocketClient::sendTo):
(WebKit::LibWebRTCSocketClient::close):
(WebKit::LibWebRTCSocketClient::setOption):

8:51 AM Changeset in webkit [269149] by Antti Koivisto
  • 12 edits in trunk/Source/WebCore

[LFC][Integration] Rename top/bottomWithLeading to lineBoxTop/Bottom
https://bugs.webkit.org/show_bug.cgi?id=218340

Reviewed by Zalan Bujtas.

These match the spec concept of line box.
For clarity rename the legacy fields and functions in RootInlineBox too.

  • layout/integration/LayoutIntegrationLineIterator.h:

(WebCore::LayoutIntegration::PathLine::lineBoxTop const):
(WebCore::LayoutIntegration::PathLine::lineBoxBottom const):
(WebCore::LayoutIntegration::PathLine::topWithLeading const): Deleted.
(WebCore::LayoutIntegration::PathLine::bottomWithLeading const): Deleted.

  • layout/integration/LayoutIntegrationLineIteratorLegacyPath.h:

(WebCore::LayoutIntegration::LineIteratorLegacyPath::lineBoxTop const):
(WebCore::LayoutIntegration::LineIteratorLegacyPath::lineBoxBottom const):
(WebCore::LayoutIntegration::LineIteratorLegacyPath::topWithLeading const): Deleted.
(WebCore::LayoutIntegration::LineIteratorLegacyPath::bottomWithLeading const): Deleted.

  • layout/integration/LayoutIntegrationLineIteratorModernPath.h:

(WebCore::LayoutIntegration::LineIteratorModernPath::lineBoxTop const):
(WebCore::LayoutIntegration::LineIteratorModernPath::lineBoxBottom const):
(WebCore::LayoutIntegration::LineIteratorModernPath::topWithLeading const): Deleted.
(WebCore::LayoutIntegration::LineIteratorModernPath::bottomWithLeading const): Deleted.

  • rendering/ComplexLineLayout.cpp:

(WebCore::ComplexLineLayout::layoutRunsAndFloatsInRange):
(WebCore::ComplexLineLayout::linkToEndLineIfNeeded):
(WebCore::ComplexLineLayout::checkFloatInCleanLine):
(WebCore::ComplexLineLayout::determineStartPosition):
(WebCore::ComplexLineLayout::determineEndPosition):
(WebCore::ComplexLineLayout::checkPaginationAndFloatsAtEndLine):
(WebCore::ComplexLineLayout::lineWidthForPaginatedLineChanged const):
(WebCore::ComplexLineLayout::matchedEndLine):
(WebCore::ComplexLineLayout::updateFragmentForLine const):

  • rendering/RenderBlockFlow.cpp:

(WebCore::calculateMinimumPageHeight):
(WebCore::RenderBlockFlow::adjustLinePositionForPagination):
(WebCore::RenderBlockFlow::markLinesDirtyInBlockRange):
(WebCore::RenderBlockFlow::positionForPointWithInlineChildren):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::positionLineBox):

  • rendering/RenderLayoutState.cpp:

(WebCore::RenderLayoutState::computeLineGridPaginationOrigin):

  • rendering/RenderLineBreak.cpp:

(WebCore::RenderLineBreak::collectSelectionRects):

  • rendering/RenderText.cpp:

(WebCore::RenderText::collectSelectionRects):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::adjustPosition):
(WebCore::RootInlineBox::alignBoxesInBlockDirection):
(WebCore::RootInlineBox::lineSnapAdjustment const):
(WebCore::RootInlineBox::outputLineBox const):

  • rendering/RootInlineBox.h:

(WebCore::RootInlineBox::lineBoxTop const):
(WebCore::RootInlineBox::lineBoxBottom const):
(WebCore::RootInlineBox::setLineTopBottomPositions):
(WebCore::RootInlineBox::lineTopWithLeading const): Deleted.
(WebCore::RootInlineBox::lineBottomWithLeading const): Deleted.

8:16 AM Changeset in webkit [269148] by Karl Rackler
  • 3 edits in trunk/LayoutTests

REGRESSION: [ Mojave+ ] inspector/dom-debugger/attribute-modified-style.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=218341

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk2/TestExpectations:
7:29 AM Changeset in webkit [269147] by youenn@apple.com
  • 2 edits in trunk/Source/ThirdParty/libwebrtc

Disable VP9 VTB hardware decoding
https://bugs.webkit.org/show_bug.cgi?id=218326

Reviewed by Alex Christensen.

VP9 hardware decoder does not work properly yet as used in WebRTC pipeline.
Disable hardware support for now and use software based VP9 through VTB.

  • Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderVTBVP9.mm:

(-[RTCVideoDecoderVTBVP9 resetDecompressionSession]):

7:21 AM Changeset in webkit [269146] by Antti Koivisto
  • 9 edits in trunk/Source/WebCore

[LFC][Integration] RenderBlockFlow::positionForPointWithInlineChildren should use iterator
https://bugs.webkit.org/show_bug.cgi?id=218283

Reviewed by Zalan Bujtas.

Reduce InlineBox access and eliminate one ensureLineBoxes() call.

  • layout/integration/LayoutIntegrationLineIterator.h:

(WebCore::LayoutIntegration::PathLine::topWithLeading const):
(WebCore::LayoutIntegration::PathLine::bottomWithLeading const):
(WebCore::LayoutIntegration::PathLine::legacyRootInlineBox const):

  • layout/integration/LayoutIntegrationLineIteratorLegacyPath.h:

(WebCore::LayoutIntegration::LineIteratorLegacyPath::topWithLeading const):
(WebCore::LayoutIntegration::LineIteratorLegacyPath::bottomWithLeading const):
(WebCore::LayoutIntegration::LineIteratorLegacyPath::legacyRootInlineBox const):

  • layout/integration/LayoutIntegrationLineIteratorModernPath.h:

(WebCore::LayoutIntegration::LineIteratorModernPath::topWithLeading const):
(WebCore::LayoutIntegration::LineIteratorModernPath::bottomWithLeading const):
(WebCore::LayoutIntegration::LineIteratorModernPath::legacyRootInlineBox const):

  • layout/integration/LayoutIntegrationRunIteratorModernPath.h:

(WebCore::LayoutIntegration::RunIteratorModernPath::legacyInlineBox const):

  • rendering/RenderBlockFlow.cpp:

(WebCore::positionForRun):
(WebCore::RenderBlockFlow::positionForPointWithInlineChildren):
(WebCore::RenderBlockFlow::positionForBox const): Deleted.

  • rendering/RenderBlockFlow.h:
6:17 AM Changeset in webkit [269145] by Alan Bujtas
  • 7 edits in trunk/Source/WebCore

[LFC][Integration] Implement outputLineTreeAndMark for IFC
https://bugs.webkit.org/show_bug.cgi?id=218310

Reviewed by Antti Koivisto.

Add a legacy like inline tree output. This helps when comparing legacy and modern line tree geometries.

"<div>before<img>after<div>" generates the following output:

DIV RenderBlock at (x, y) size width x height renderer->(address) node->(address)

line at (x, y) size (width x height) baseline (y)

Inline level boxes:

Root inline box at (x, y) size (width x height) baseline (y) ascent (ascent/layout bounds ascent) descent (descent/layout bounds descent)
Atomic inline level box at (x, y) size (width x height) baseline (y) ascent (ascent/layout bounds ascent) descent (descent/layout bounds descent)

Runs:

text run at (x, y) size (width x height) run(start, end)
box run at (x, y) size (width x height)
text run at (x, y) size (width x height) run(start, end)

  • layout/inlineformatting/InlineLineBox.h:

(WebCore::Layout::LineBox::InlineLevelBox::LayoutBounds::height const):
(WebCore::Layout::LineBox::InlineLevelBox::layoutBounds const):
(WebCore::Layout::LineBox::InlineLevelBox::isRootInlineBox const):

  • layout/integration/LayoutIntegrationCoverage.cpp:
  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::outputLineTree const):

  • layout/integration/LayoutIntegrationLineLayout.h:
  • layout/layouttree/LayoutTreeBuilder.cpp:

(WebCore::Layout::showInlineTreeAndRuns):
(WebCore::Layout::outputLayoutTree):
(WebCore::Layout::outputInlineRuns): Deleted.

  • layout/layouttree/LayoutTreeBuilder.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::outputLineTreeAndMark const):

4:37 AM Changeset in webkit [269144] by commit-queue@webkit.org
  • 18 edits in trunk

Make scroll-margin independent of scroll snapping and have it apply when scrolling to anchors
https://bugs.webkit.org/show_bug.cgi?id=218076

Patch by Martin Robinson <mrobinson@igalia.com> on 2020-10-29
Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/css/cssom-view/scrollIntoView-scrollMargin-expected.txt: Updated expectation to note new pass.

Source/WebCore:

  • dom/Element.cpp:

(WebCore::Element::scrollIntoView): Use absoluteAnchorRectWithScrollMargin, taking into
account scroll-margin.
(WebCore::Element::scrollIntoViewIfNeeded): Ditto.
(WebCore::Element::scrollIntoViewIfNotVisible): Ditto.

  • page/FrameView.cpp:

(WebCore::FrameView::scrollToAnchor): Ditto.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::absoluteAnchorRectWithScrollMargin const): Added this override
which properly converts the scroll-margin to LayoutUnits and applies it to absoluteAnchorRect.

  • rendering/RenderBox.h: Added method declaration.
  • rendering/RenderElement.cpp:

(WebCore::RenderElement::absoluteAnchorRectWithScrollMargin const): Added implementation
that simply calls absoluteAnchorRect.

  • rendering/RenderElement.h: Added declaration of new virtual

absoluteAnchorRectWithScrollMargin.

  • rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::styleDidChange): Get the scroll-margin directly from the
style instead of the now-removed ScrollSnapArea.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::scrollMargin const): Move scroll-margin and scroll-snap-align to
m_rareNonInheritedData and get rid of intermediate ScrollSnapArea. These two properties
are no independent.
(WebCore::RenderStyle::scrollMarginTop const): Ditto.
(WebCore::RenderStyle::scrollMarginBottom const): Ditto.
(WebCore::RenderStyle::scrollMarginLeft const): Ditto.
(WebCore::RenderStyle::scrollMarginRight const): Ditto.
(WebCore::RenderStyle::setScrollMarginTop): Ditto.
(WebCore::RenderStyle::setScrollMarginBottom): Ditto.
(WebCore::RenderStyle::setScrollMarginLeft): Ditto.
(WebCore::RenderStyle::setScrollMarginRight): Ditto.
(WebCore::RenderStyle::scrollSnapAlign const): Ditto.
(WebCore::RenderStyle::setScrollSnapAlign): Ditto.
(WebCore::RenderStyle::hasSnapPosition const): Ditto.
(WebCore::RenderStyle::scrollSnapArea const): Deleted.

  • rendering/style/RenderStyle.h: Add accessors for scroll-margin and moved hasSnapPosition

from ScrollSnapArea.

  • rendering/style/StyleRareNonInheritedData.cpp: Removed intermediate ScrollSnapArea data

structure and moved members here.
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): Ditto.
(WebCore::StyleRareNonInheritedData::operator== const): Ditto.

  • rendering/style/StyleRareNonInheritedData.h: Ditto.
  • rendering/style/StyleScrollSnapPoints.cpp: Ditto.

(WebCore::StyleScrollSnapArea::copy const): Deleted.
(WebCore::StyleScrollSnapArea::StyleScrollSnapArea): Deleted.

  • rendering/style/StyleScrollSnapPoints.h: Removed ScrollSnapArea.

(WebCore::StyleScrollSnapArea::create): Deleted.
(WebCore::StyleScrollSnapArea::hasSnapPosition const): Deleted.

LayoutTests:

  • TestExpectations: Updated expectations for newly passing tests and marked some tests

as flaky.

4:23 AM Changeset in webkit [269143] by Chris Lord
  • 8 edits
    1 delete in trunk/Source

[GTK] Smooth scrolling should not apply to continuous scrolling with sync scrolling
https://bugs.webkit.org/show_bug.cgi?id=218133

Reviewed by Adrian Perez de Castro.

Source/WebCore:

Respect PlatformWheelEvent.hasPreciseScrollingDeltas in the base
ScrollAnimator class, and make sure the flag is set correctly for
GdkEvent.

  • SourcesGTK.txt:
  • platform/PlatformWheelEvent.h:

(WebCore::PlatformWheelEvent::setHasPreciseScrollingDeltas):

  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::scroll):
(WebCore::ScrollAnimator::scrollWithoutAnimation):
(WebCore::ScrollAnimator::handleWheelEvent):

  • platform/ScrollAnimator.h:
  • platform/gtk/GtkVersioning.h:

(gdk_event_get_source_device):

  • platform/gtk/PlatformWheelEventGtk.cpp: Removed.

Source/WebKit:

Set hasPreciseScrollDeltas appropriately on scroll events created from GdkEvent.

  • Shared/gtk/WebEventFactory.cpp:

(WebKit::WebEventFactory::createWebWheelEvent):

2:19 AM Changeset in webkit [269142] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.30.2

WebKitGTK 2.30.2

1:15 AM Changeset in webkit [269141] by cathiechen
  • 8 edits
    1 copy
    4 adds in trunk

Source/WebCore:
IntersectionObserverCallback leaks
https://bugs.webkit.org/show_bug.cgi?id=218225

Reviewed by Ryosuke Niwa.

Unless the page is unloaded, JSIntersectionObserverCallback and objects inside it can not be garbage collected properly.
To fix this, make IntersectionObserverCallback as a weak callback. To keep it alive, in JSIntersectionObserver::visitAdditionalChildren
add the callback to visitor.

Test: intersection-observer/intersection-observer-callback-leak.html

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSIntersectionObserverCustom.cpp: Copied from Source/WebCore/page/IntersectionObserverCallback.idl.

(WebCore::JSIntersectionObserver::visitAdditionalChildren):

  • page/IntersectionObserver.h:

(WebCore::IntersectionObserver::callbackConcurrently):

  • page/IntersectionObserver.idl:
  • page/IntersectionObserverCallback.h:

(WebCore::IntersectionObserverCallback::hasCallback const):

  • page/IntersectionObserverCallback.idl:

LayoutTests:
IntersectionObserverCallback leak
https://bugs.webkit.org/show_bug.cgi?id=218225

Reviewed by Ryosuke Niwa.

In intersection-observer-callback-after-gc.html, the callbacks with observed targets deleted should stay alive as long as observers are alive.
In intersection-observer-callback-leak.html, use internals.numberOfLiveNodes to check that the objects inside JSIntersectionObserverCallback
can be garbage collected.

  • intersection-observer/intersection-observer-callback-after-gc-expected.txt: Added.
  • intersection-observer/intersection-observer-callback-after-gc.html: Added.
  • intersection-observer/intersection-observer-callback-leak-expected.txt: Added.
  • intersection-observer/intersection-observer-callback-leak.html: Added.
Note: See TracTimeline for information about the timeline view.