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

Timeline



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.

Oct 28, 2020:

11:31 PM Changeset in webkit [269140] by Russell Epstein
  • 4 edits in branches/safari-610-branch

Cherry-pick r269094. rdar://problem/70795299

Use _CFURLConnectionSetFrameworkStubs for SecItemShim instead of DYLD_INTERPOSE on Apple Silicon Macs
https://bugs.webkit.org/show_bug.cgi?id=218269
<rdar://problem/70491533>

Reviewed by Darin Adler.

Source/WebKit:

r171066 introduced the use of _CFURLConnectionSetFrameworkStubs on iOS for CFNetwork to be able
to get and set credentials as the UI process. This is also needed on Apple Silicon Macs.
We should eventually replace it with an even cleaner per-NSURLSession solution, but this is a step
in the right direction, and I verified manually that it fixes the radar.

Covered by an API test that used to fail on Apple Silicon Macs.

  • Shared/mac/SecItemShim.cpp: (WebKit::initializeSecItemShim):

Tools:

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

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

11:31 PM Changeset in webkit [269139] by Russell Epstein
  • 14 edits
    4 adds in branches/safari-610-branch

Cherry-pick r268952. rdar://problem/70795327

[BigSur] Appending a new WebM init segment between Cluster elements throws an error
https://bugs.webkit.org/show_bug.cgi?id=218149
<rdar://problem/70416537>

Reviewed by Eric Carlson.

Source/ThirdParty/libwebrtc:

Add an "OnElementEnd()" callback to libwebm.

  • Source/third_party/libwebm/webm_parser/include/webm/callback.h:
  • Source/third_party/libwebm/webm_parser/src/callback.cc:
  • Source/third_party/libwebm/webm_parser/src/master_parser.cc:
  • Source/third_party/libwebm/webm_parser/src/webm_parser.cc:

Source/WebCore:

Test: media/media-source/media-source-webm-init-inside-segment.html

The WebM Byte Stream Format specification states that an "initialization segment" consists
of both a leading Ebml element and Segment element, and a "media segment" consists of a
single Cluster element. However, while both Ebml and Segment elements are top-level, Cluster
elements are contained within a Segment. This means if a client pushes a new "initialization
segment" after parsing some-but-not-all Clusters within a Segment, the new Ebml and Segment
elements will be parsed as children of the preceeding Segment, and the subsquent Segment
will overflow its "parent's" size.

In order to support appending a new "initialization segment" while still in the middle of
parsing the previous Segment element, first improve our state tracking in order to determine
what the current parent element is. Then, when we detect that an Ebml element is parsed
while still inside a Segment, abort with a simulated error, which when caught, will indicate
that the parser needs to be reset, and the reader "rewound" to the Ebml's position.

To allow the reader to rewind, we must not throw away appended data as we iterate over them.
Instead, we will only discard read samples once each parsing pass is fully complete. This
allows us to "rewind" across appended segment boundaries, if necessary.

Because all WTF::Deque iterators are invalidated whenever any element is removed, and
because we do not need random-access to the elements in the deque, replace the Deque with a
StdList to store the incoming data.

  • platform/graphics/avfoundation/objc/SourceBufferParserAVFObjC.h:
  • platform/graphics/avfoundation/objc/SourceBufferParserAVFObjC.mm: (WebCore::SourceBufferParserAVFObjC::setLogger):
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: (WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):
  • platform/graphics/cocoa/SourceBufferParser.h:
  • platform/graphics/cocoa/SourceBufferParserWebM.cpp: (WTF::LogArgument<webm::Id>::toString): (WTF::LogArgument<WebCore::SourceBufferParserWebM::State>::toString): (WebCore::logChannel): (WebCore::logClassName): (WebCore::SourceBufferParserWebM::appendData): (WebCore::SourceBufferParserWebM::resetParserState): (WebCore::SourceBufferParserWebM::invalidate): (WebCore::SourceBufferParserWebM::setLogger): (WebCore::SourceBufferParserWebM::OnElementBegin): (WebCore::SourceBufferParserWebM::OnElementEnd): (WebCore::SourceBufferParserWebM::OnEbml): (WebCore::SourceBufferParserWebM::OnSegmentBegin): (WebCore::SourceBufferParserWebM::OnInfo): (WebCore::SourceBufferParserWebM::OnTrackEntry):
  • platform/graphics/cocoa/SourceBufferParserWebM.h:

LayoutTests:

  • media/media-source/content/test-vp9-long-manifest.json: Added.
  • media/media-source/content/test-vp9-long.webm: Added.
  • media/media-source/media-source-webm-init-inside-segment-expected.txt: Added.
  • media/media-source/media-source-webm-init-inside-segment.html: Added.
  • platform/mac/TestExpectations:

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

11:13 PM Changeset in webkit [269138] by Russell Epstein
  • 4 edits in branches/safari-610-branch

Cherry-pick r268791. rdar://problem/70795323

[iOS] Disable audio capture in the background for non Safari applications
https://bugs.webkit.org/show_bug.cgi?id=217948
<rdar://problem/70241557>

Reviewed by Eric Carlson.

Source/WebCore:

We do not have good OS support when capturing audio in a WebProcess for a backgrounded application.
Until we have proper support, it seems best to mute audio capture when being backgrounded.
Manually tested.

  • platform/mediastream/mac/RealtimeMediaSourceCenterMac.mm: (WebCore::RealtimeMediaSourceCenter::shouldInterruptAudioOnPageVisibilityChange):

LayoutTests:

  • platform/ios/mediastream/video-muted-in-background-tab.html: By default, audio capture will be muted in WTR if page goes to background. Update the test to explicitly request for audio capture to continue while in background.

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

10:26 PM Changeset in webkit [269137] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Null dereference in CompositeEditCommand::cloneParagraphUnderNewElement() due to not checking for top of DOM tree
https://bugs.webkit.org/show_bug.cgi?id=218132

Patch by Julian Gonzalez <julian_a_gonzalez@apple.com> on 2020-10-28
Reviewed by Ryosuke Niwa.

Source/WebCore:

When iterating through parent nodes, cloneParagraphUnderNewElement()
has to be careful to check for the top of the DOM tree (where
parentNode() returns nullptr) and stop iterating.

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):

LayoutTests:

Add a test to verify that we don't iterate outside the DOM tree while cloning a paragraph.
Thanks to Ryosuke Niwa for helping minimize the test and make it more stable.

  • editing/deleting/move-paragraph-crash-expected.txt: Added.
  • editing/deleting/move-paragraph-crash.html: Added.
8:53 PM Changeset in webkit [269136] by rniwa@webkit.org
  • 4 edits
    2 adds in trunk

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.
7:58 PM Changeset in webkit [269135] by clopez@igalia.com
  • 11 edits
    1 copy
    1 move
    1 delete in trunk/LayoutTests

[GTK][WPE] Rebaseline of tests and gardening of failures.

Rebaselines some tests and mark some tests as failing after recent changes.

Unreviewed gardening.

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/gtk/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt:
  • platform/gtk/editing/input/reveal-caret-of-multiline-input-expected.txt:
  • platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.txt:
  • platform/gtk/fast/css/word-space-extra-expected.txt: Copied from LayoutTests/platform/glib/fast/css/word-space-extra-expected.txt.
  • platform/gtk/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
  • platform/gtk/fast/html/tab-order-expected.txt: Removed.
  • platform/gtk/fast/text/basic/generic-family-reset-expected.txt:
  • platform/gtk/http/tests/navigation/javascriptlink-frames-expected.txt:
  • platform/wpe/fast/css/word-space-extra-expected.txt: Renamed from LayoutTests/platform/glib/fast/css/word-space-extra-expected.txt.
  • platform/wpe/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
  • platform/wpe/fast/text/basic/generic-family-reset-expected.txt:
7:40 PM Changeset in webkit [269134] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Web Audio broken on iOS 14 after switching app
https://bugs.webkit.org/show_bug.cgi?id=217606
<rdar://problem/70231769>

Reviewed by Eric Carlson.

When we call AudioOutputUnitStart(), AVFoundation checks if we are allowed to play by
making sure that our application is foreground. In order to do that, AVFoundation
needs the PID of our hosting application. We provide this PID whenever the following
function is called:
MediaSessionManageriOS::providePresentingApplicationPIDIfNecessary()

The issue was that we were not calling providePresentingApplicationPIDIfNecessary()
before starting WebAudio playback. As a result, AVFoundation was relying on the
visibility of the WebContent process itself. This was causing a race because
RunningBoard gets notified that the WebContent process is visible a little later
than for the UIProcess. When the UIProcess would become foreground, we would send
the SetApplicationState IPC to the WebProcess, which would update the page's
visibility and cause us to stop the media session interruption. This would cause
us to call AudioOutputUnitStart(), which would fail because AVFoundation would
ask RunningBoard if the WebContent process is foreground. At this point,
RunningBoard would not necessarily know yet that the WebContent process is
visible. However, RunningBoard reliably knows the UIProcess is visible at this
point.

We now call this function inside MediaSessionManageriOS::sessionWillBeginPlayback()
since this gets called by WebAudio code before starting the playback.

  • platform/audio/cocoa/AudioOutputUnitAdaptor.cpp:

(WebCore::AudioOutputUnitAdaptor::start):
Add some error logging when the call to AudioOutputUnitStart() fails to facilitate
debugging such issues in the future.

  • platform/audio/ios/MediaSessionManagerIOS.mm:

(WebCore::MediaSessionManageriOS::sessionWillBeginPlayback):

5:51 PM Changeset in webkit [269133] by Chris Dumez
  • 5 edits
    2 moves
    6 adds
    2 deletes in trunk/LayoutTests

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

Reviewed by Alex Christensen.

Resync web-platform-tests/webaudio tests from upstream 5fe9553936ab4d7ba2b4.

  • web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/audiocontext-detached-execution-context-expected.txt: Added.
  • web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/audiocontext-detached-execution-context.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/audiocontext-detached-execution-context.tentative.html.
  • web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/audiocontext-detached-execution-context.tentative-expected.txt: Removed.
  • web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/promise-methods-after-discard-expected.txt: Added.
  • web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/promise-methods-after-discard.html: Added.
  • web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/w3c-import.log:
  • web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/mediaElementAudioSourceToScriptProcessorTest.html:
  • web-platform-tests/webaudio/the-audio-api/the-offlineaudiocontext-interface/offlineaudiocontext-detached-execution-context-expected.txt: Added.
  • web-platform-tests/webaudio/the-audio-api/the-offlineaudiocontext-interface/offlineaudiocontext-detached-execution-context.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-offlineaudiocontext-interface/offlineaudiocontext-detached-execution-context.tentative.html.
  • web-platform-tests/webaudio/the-audio-api/the-offlineaudiocontext-interface/offlineaudiocontext-detached-execution-context.tentative-expected.txt: Removed.
  • web-platform-tests/webaudio/the-audio-api/the-offlineaudiocontext-interface/startrendering-after-discard-expected.txt: Added.
  • web-platform-tests/webaudio/the-audio-api/the-offlineaudiocontext-interface/startrendering-after-discard.html: Added.
  • web-platform-tests/webaudio/the-audio-api/the-offlineaudiocontext-interface/w3c-import.log:
5:10 PM Changeset in webkit [269132] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[build.webkit.org] loadConfig unittest fail depending on locally installed version of buildbot
https://bugs.webkit.org/show_bug.cgi?id=218234

Reviewed by Jonathan Bedard.

  • CISupport/build-webkit-org/loadConfig_unittest.py:
5:10 PM Changeset in webkit [269131] by Russell Epstein
  • 1 copy in tags/Safari-610.2.11.51.7

Tag Safari-610.2.11.51.7.

5:02 PM Changeset in webkit [269130] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[build.webkit.org] Use -q and -o while unzipping layout-test-results.zip
https://bugs.webkit.org/show_bug.cgi?id=218230

Reviewed by Jonathan Bedard.

  • CISupport/build-webkit-org/steps.py:

(ExtractTestResults.start):

5:00 PM Changeset in webkit [269129] by wilander@apple.com
  • 6 edits
    3 adds in trunk

PCM: Accept ad click data when the link opens a new window
https://bugs.webkit.org/show_bug.cgi?id=214176
<rdar://problem/65358005>

Reviewed by Brent Fulgham.

A link with the attribute target="_blank" takes another code path for
navigation which involves the creation of a new window and webpage. That
code path needs to transfer ad click attribution data to the new webpage
Source/WebKit:

where it can be picked up in WebPageProxy::didCommitLoadForFrame().
The ad click attribution data sits in the NavigationAction which is not
available in the completion handler WebPageProxy::createNewPage().
The client, which differs between TestRunner and e.g. Safari, consumes
the NavigationAction. I don't want to risk a regression in e.g. Safari
while still passing the test because TestRunner hasn't regressed.

Test: http/tests/adClickAttribution/attribution-conversion-through-image-redirect-in-new-window.html

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didCommitLoadForFrame):

Now also checks for pending ad click attribution data in its new
member variable m_newPageNavigationAdClickAttribution.

(WebKit::WebPageProxy::createNewPage):

Now forwards optional ad click attribution data to the completion
handler where it can be stored on the newly created webpage in the
new member variable m_newPageNavigationAdClickAttribution.

  • UIProcess/WebPageProxy.h:

Added m_newPageNavigationAdClickAttribution.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::createWindow):

Added missing navigationAction.adClickAttribution() copy.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):

Added missing navigationAction.adClickAttribution() copy.

LayoutTests:

where it can be picked up.

  • http/tests/adClickAttribution/attribution-conversion-through-image-redirect-in-new-window-expected.txt: Added.
  • http/tests/adClickAttribution/attribution-conversion-through-image-redirect-in-new-window.html: Added.
  • http/tests/adClickAttribution/resources/convertAndPostMessageBack.html: Added.
4:51 PM Changeset in webkit [269128] by basuke.suzuki@sony.com
  • 7 edits in trunk/Source

[WinCairo][PlayStation] Add handling for accept failure case
https://bugs.webkit.org/show_bug.cgi?id=217353

Reviewed by Alex Christensen.

Source/JavaScriptCore:

It is rare to happen, but listening socket can be invalid state (i.e. cable disconnection, interface error),
and accept() will be called because of the poll's false report. In that situation, it is required to rebuild
the listening socket from the scratch. The failure of accept is the good place to capture this situation.

This patch moves listening duty into Listener internal calss and it is possible to make the invalid state
while maintained by SocketEndpoint. Also in case of failure continues, the retry will be gradually increasing
the intervals.

  • inspector/remote/socket/RemoteInspectorServer.h:
  • inspector/remote/socket/RemoteInspectorSocketEndpoint.cpp:

(Inspector::RemoteInspectorSocketEndpoint::listenInet):
(Inspector::RemoteInspectorSocketEndpoint::pollingTimeout):
(Inspector::RemoteInspectorSocketEndpoint::workerThread):
(Inspector::RemoteInspectorSocketEndpoint::createClient):
(Inspector::RemoteInspectorSocketEndpoint::disconnect):
(Inspector::RemoteInspectorSocketEndpoint::acceptInetSocketIfEnabled):

  • inspector/remote/socket/RemoteInspectorSocketEndpoint.h:

Source/WebDriver:

Following the interface change.

  • HTTPServer.h:
  • socket/HTTPServerSocket.cpp:

(WebDriver::HTTPServer::didStatusChanged):

2:34 PM Changeset in webkit [269127] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Network: background color of rows from previous session is wrong
https://bugs.webkit.org/show_bug.cgi?id=218058
<rdar://problem/70550459>

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

  • UserInterface/Views/NetworkTableContentView.css:

(.network-table > .table li:not(.filler, .selected) .cell:not(.name, .current-session),):
(.network-table > .table li:not(.filler, .selected) .cell:not(.current-session)): Deleted.

2:30 PM Changeset in webkit [269126] by Truitt Savell
  • 2 edits in trunk/LayoutTests

Rebase for fast/forms/input-appearance-spinbutton.html on Catalina after changes in r269036
https://bugs.webkit.org/show_bug.cgi?id=218151

Unreviewed test gardening.

  • platform/mac-catalina/fast/forms/input-appearance-spinbutton-expected.txt:
2:27 PM Changeset in webkit [269125] by Truitt Savell
  • 2 edits in trunk/LayoutTests

Unreviewed, reverting r269122.

Checked in Change markers

Reverted changeset:

"Rebase for fast/forms/input-appearance-spinbutton.html on
Catalina after changes in r269036"
https://bugs.webkit.org/show_bug.cgi?id=218151
https://trac.webkit.org/changeset/269122

2:16 PM Changeset in webkit [269124] by Conrad Shultz
  • 5 edits in trunk/Source/WebCore

Remove diagnostic logging for plug-ins
https://bugs.webkit.org/show_bug.cgi?id=218304

Reviewed by Tim Horton.

There's no longer a need to pipe diagnostic logging up to clients.

  • history/BackForwardCache.cpp:

(WebCore::canCacheFrame):

  • loader/SubframeLoader.cpp:

(WebCore::logPluginRequest):
Remove a now-unused parameter.
(WebCore::FrameLoader::SubframeLoader::requestObject):
(WebCore::FrameLoader::SubframeLoader::createJavaAppletWidget):

  • page/DiagnosticLoggingKeys.cpp:

(WebCore::DiagnosticLoggingKeys::pluginLoadedKey): Deleted.
(WebCore::DiagnosticLoggingKeys::pluginLoadingFailedKey): Deleted.
(WebCore::DiagnosticLoggingKeys::pageContainsPluginKey): Deleted.
(WebCore::DiagnosticLoggingKeys::pageContainsAtLeastOnePluginKey): Deleted.
(WebCore::DiagnosticLoggingKeys::hasPluginsKey): Deleted.

  • page/DiagnosticLoggingKeys.h:
2:09 PM Changeset in webkit [269123] by Said Abou-Hallawa
  • 2 edits in trunk/Source/WebKit

[GPU Process] Eagerly flush the PutImageData item to the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=218116

Reviewed by Simon Fraser.

Flush the DrawingContext of the RemoteImageBufferProxy once the PutImageData
item is recorded. So no expensive operation is going to block the painting.

  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
2:04 PM Changeset in webkit [269122] by Truitt Savell
  • 2 edits in trunk/LayoutTests

Rebase for fast/forms/input-appearance-spinbutton.html on Catalina after changes in r269036
https://bugs.webkit.org/show_bug.cgi?id=218151

Unreviewed test gardening.

  • platform/mac-catalina/fast/forms/input-appearance-spinbutton-expected.txt:
1:42 PM Changeset in webkit [269121] by jer.noble@apple.com
  • 6 edits
    2 adds in trunk

[MSE] Handle trackId changing across Initialization Segments
https://bugs.webkit.org/show_bug.cgi?id=218294
<rdar://problem/70771306>

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/media-source/media-source-trackid-change.html

When appending an initialization segment after the receivedFirstInitializationSegment flag is
true, and when the number of video or audio tracks is 1, the trackId is allowed to change across
initialiaztion segments. When this occurs, move the TrackBuffer inside the trackBufferMap to
refer to the new trackId, so that when MediaSamples are parsed, they're put into the correct
TrackBuffer.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):

  • html/track/AudioTrack.cpp:

(WebCore::AudioTrack::setPrivate):

  • html/track/InbandTextTrack.cpp:

(WebCore::InbandTextTrack::setPrivate):

  • html/track/VideoTrack.cpp:

(WebCore::VideoTrack::setPrivate):

LayoutTests:

  • media/media-source/media-source-trackid-change-expected.txt: Added.
  • media/media-source/media-source-trackid-change.html: Added.
1:39 PM Changeset in webkit [269120] by aakash_jain@apple.com
  • 13 edits
    1 move in trunk/Tools

Rename build.webkit.org-config directory to build-webkit-org
https://bugs.webkit.org/show_bug.cgi?id=218302

Reviewed by Jonathan Bedard.

  • CISupport/build-webkit-org: Copied from Tools/CISupport/build.webkit.org-config.
  • CISupport/build-webkit-org/htdigestparser_unittest.py:
  • CISupport/build-webkit-org/public_html/TestFailures/scripts/builders_unittests.js:
  • CISupport/build-webkit-org/steps.py:
  • CISupport/build-webkit-org/steps_unittest.py:
  • CISupport/build-webkit-org/wkbuild.py:
  • CISupport/build-webkit-org/wkbuild_unittest.py:
  • CISupport/build.webkit.org-config: Removed.
  • CISupport/ews-build/steps.py:
  • CISupport/ews-build/steps_unittest.py:
  • Scripts/run-dashboard-tests:
  • Scripts/webkitpy/layout_tests/views/buildbot_results.py:
  • Scripts/webkitpy/style/checker_unittest.py:
  • Scripts/webkitpy/tool/servers/gardeningserver.py:
1:28 PM Changeset in webkit [269119] by Russell Epstein
  • 1 edit in branches/safari-610-branch/Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaMutedState.mm

Unreviewed debug build fix, rdar://problem/70733353

Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaMutedState.mm:32:9: fatal error: WebKit/WKMediaPlaybackState.h file not found.

1:26 PM Changeset in webkit [269118] by timothy_horton@apple.com
  • 11 edits in trunk/Source

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.

1:06 PM Changeset in webkit [269117] by Jonathan Bedard
  • 10 edits in trunk/Tools

[webkitscmpy] Support finding commit by tag
https://bugs.webkit.org/show_bug.cgi?id=218212
<rdar://problem/70700121>

Reviewed by Dewei Zhu.

  • Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Bump version.
  • Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:

(Git.commit): Find a commit referred to by a provided tag.

  • Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:

(Scm.find): Find a commit by tag, if applicable.
(Scm.commit):

  • Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:

(Svn.info): Pull information by tag, support non-standard branches.
(Svn._cache_revisions): Support non-standard branches.
(Svn._branch_for): Return the non-standard branch name for tags.
(Svn.commit): Find a commit referred to by a provided tag.

  • Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:

(Git): Support tags.

  • Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py:

(Svn.init): Support tags.
(Svn.tags): Tags are simply specialized branches, return the names of those tags
based on the commit mapping.

  • Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py:
  • Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:

(TestGit):
(TestGit.test_tag):

  • Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:

(TestSvn):
(TestSvn.test_tag):

1:01 PM Changeset in webkit [269116] by Fujii Hironori
  • 3 edits in trunk/Source/WebCore

TextureMapperLayer::paintWithIntermediateSurface: Reduce BitmapTextures by unifying replicaSurface and mainSurface
https://bugs.webkit.org/show_bug.cgi?id=217943

Reviewed by Don Olmstead.

TextureMapperLayer::paintWithIntermediateSurface was using two
BitmapTextures for the main layer and replica layer. But, a single
BitmapTexture suffices. Create a BitmapTexture and render both
layers onto it.

No new tests, no behavior changes.

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::paintIntoSurface):
(WebCore::TextureMapperLayer::paintWithIntermediateSurface):

  • platform/graphics/texmap/TextureMapperLayer.h:
12:25 PM Changeset in webkit [269115] by sbarati@apple.com
  • 24 edits
    1 add in trunk

Better cache our serialization of the outer TDZ environment when creating FunctionExecutables during bytecode generation
https://bugs.webkit.org/show_bug.cgi?id=199866
<rdar://problem/53333108>

Reviewed by Tadeu Zagallo.

JSTests:

  • microbenchmarks/let-const-tdz-environment-parsing-and-hash-consing-speed.js: Added.

Source/JavaScriptCore:

This patch removes performance pathologies regarding programs with
many variables under TDZ (let/const). We had an algorithm for caching
the results of gathering all variables under TDZ, but that algorithm
wasn't nearly aggressive enough in its caching. This lead us to worst
case quadratic runtime, which could happens in practice for large functions.

There are a few fixes here:

  • Instead of flattening the entire TDZ stack, and caching that result,

we now cache each stack entry individually. So as you push/pop to the
TDZ environment stack, we no longer invalidate everything. Instead, we
will just need to cache the newly pushed entry. We also no longer invalidate
the cache for lifting a TDZ check. The compromise here is we may emit
more runtime TDZ checks for closure variables. This is better than N2
bytecode compile time perf, since a well predicted branch for a TDZ
check is essentially free.

  • We no longer transform the CompactTDZEnvironment (formerly CompactVariableEnvironment)

from a Vector into a HashSet each time we generate code for an inner function. Instead,
CompactTDZEnvironment can be in two modes: compact and inflated. It starts life off in
compact mode (a vector), and will turn into an inflated mode if it's ever needed. Once
inflated, it'll stay this way until it's destructed. This improves our algorithm from being
O(EnvSize * NumFunctions) to O(EnvSize) at the cost of using more space in a HashTable versus a
Vector. In the future, we could consider just binary searching through this Vector, and never using
a hash table.

  • bytecode/UnlinkedFunctionExecutable.cpp:

(JSC::generateUnlinkedFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):

  • bytecode/UnlinkedFunctionExecutable.h:
  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::popLexicalScopeInternal):
(JSC::BytecodeGenerator::needsTDZCheck):
(JSC::BytecodeGenerator::liftTDZCheckIfPossible):
(JSC::BytecodeGenerator::pushTDZVariables):
(JSC::BytecodeGenerator::getVariablesUnderTDZ):
(JSC::BytecodeGenerator::preserveTDZStack):
(JSC::BytecodeGenerator::restoreTDZStack):
(JSC::BytecodeGenerator::emitNewInstanceFieldInitializerFunction):

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::makeFunction):

  • debugger/DebuggerCallFrame.cpp:

(JSC::DebuggerCallFrame::evaluateWithScopeExtension):

  • interpreter/Interpreter.cpp:

(JSC::eval):

  • parser/Parser.h:

(JSC::Parser<LexerType>::parse):
(JSC::parse):

  • parser/VariableEnvironment.cpp:

(JSC::CompactTDZEnvironment::sortCompact):
(JSC::CompactTDZEnvironment::CompactTDZEnvironment):
(JSC::CompactTDZEnvironment::operator== const):
(JSC::CompactTDZEnvironment::toTDZEnvironmentSlow const):
(JSC::CompactTDZEnvironmentMap::get):
(JSC::CompactTDZEnvironmentMap::Handle::~Handle):
(JSC::CompactTDZEnvironmentMap::Handle::Handle):
(JSC::CompactVariableEnvironment::CompactVariableEnvironment): Deleted.
(JSC::CompactVariableEnvironment::operator== const): Deleted.
(JSC::CompactVariableEnvironment::toVariableEnvironment const): Deleted.
(JSC::CompactVariableMap::get): Deleted.
(JSC::CompactVariableMap::Handle::~Handle): Deleted.
(JSC::CompactVariableMap::Handle::Handle): Deleted.

  • parser/VariableEnvironment.h:

(JSC::CompactTDZEnvironment::toTDZEnvironment const):
(JSC::CompactTDZEnvironmentKey::CompactTDZEnvironmentKey):
(JSC::CompactTDZEnvironmentKey::hash):
(JSC::CompactTDZEnvironmentKey::equal):
(JSC::CompactTDZEnvironmentKey::makeDeletedValue):
(JSC::CompactTDZEnvironmentKey::isHashTableDeletedValue const):
(JSC::CompactTDZEnvironmentKey::environment):
(WTF::HashTraits<JSC::CompactTDZEnvironmentKey>::emptyValue):
(WTF::HashTraits<JSC::CompactTDZEnvironmentKey>::isEmptyValue):
(WTF::HashTraits<JSC::CompactTDZEnvironmentKey>::constructDeletedValue):
(WTF::HashTraits<JSC::CompactTDZEnvironmentKey>::isDeletedValue):
(JSC::CompactTDZEnvironmentMap::Handle::environment const):
(JSC::CompactVariableEnvironment::hash const): Deleted.
(JSC::CompactVariableMapKey::CompactVariableMapKey): Deleted.
(JSC::CompactVariableMapKey::hash): Deleted.
(JSC::CompactVariableMapKey::equal): Deleted.
(JSC::CompactVariableMapKey::makeDeletedValue): Deleted.
(JSC::CompactVariableMapKey::isHashTableDeletedValue const): Deleted.
(JSC::CompactVariableMapKey::isHashTableEmptyValue const): Deleted.
(JSC::CompactVariableMapKey::environment): Deleted.
(WTF::HashTraits<JSC::CompactVariableMapKey>::emptyValue): Deleted.
(WTF::HashTraits<JSC::CompactVariableMapKey>::isEmptyValue): Deleted.
(WTF::HashTraits<JSC::CompactVariableMapKey>::constructDeletedValue): Deleted.
(WTF::HashTraits<JSC::CompactVariableMapKey>::isDeletedValue): Deleted.
(JSC::CompactVariableMap::Handle::Handle): Deleted.
(JSC::CompactVariableMap::Handle::operator=): Deleted.
(JSC::CompactVariableMap::Handle::operator bool const): Deleted.
(JSC::CompactVariableMap::Handle::environment const): Deleted.
(JSC::CompactVariableMap::Handle::swap): Deleted.

  • runtime/CachedTypes.cpp:

(JSC::Decoder::handleForTDZEnvironment const):
(JSC::Decoder::setHandleForTDZEnvironment):
(JSC::CachedCompactTDZEnvironment::encode):
(JSC::CachedCompactTDZEnvironment::decode const):
(JSC::CachedCompactTDZEnvironmentMapHandle::encode):
(JSC::CachedCompactTDZEnvironmentMapHandle::decode const):
(JSC::CachedFunctionExecutableRareData::decode const):
(JSC::Decoder::handleForEnvironment const): Deleted.
(JSC::Decoder::setHandleForEnvironment): Deleted.
(JSC::CachedCompactVariableEnvironment::encode): Deleted.
(JSC::CachedCompactVariableEnvironment::decode const): Deleted.
(JSC::CachedCompactVariableMapHandle::encode): Deleted.
(JSC::CachedCompactVariableMapHandle::decode const): Deleted.

  • runtime/CachedTypes.h:
  • runtime/CodeCache.cpp:

(JSC::generateUnlinkedCodeBlockImpl):
(JSC::generateUnlinkedCodeBlock):
(JSC::generateUnlinkedCodeBlockForDirectEval):
(JSC::recursivelyGenerateUnlinkedCodeBlockForProgram):
(JSC::recursivelyGenerateUnlinkedCodeBlockForModuleProgram):
(JSC::CodeCache::getUnlinkedGlobalCodeBlock):

  • runtime/CodeCache.h:
  • runtime/Completion.cpp:

(JSC::generateProgramBytecode):
(JSC::generateModuleBytecode):

  • runtime/DirectEvalExecutable.cpp:

(JSC::DirectEvalExecutable::create):

  • runtime/DirectEvalExecutable.h:
  • runtime/JSScope.cpp:

(JSC::JSScope::collectClosureVariablesUnderTDZ):

  • runtime/JSScope.h:
  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

Source/WTF:

  • wtf/RefPtr.h:

(WTF::swap): Deleted.
This function is no longer necessary, and causes ADL (https://en.cppreference.com/w/cpp/language/adl)
compile errors when not using DumbPtrTraits and calling sort on a vector of that type.

12:08 PM Changeset in webkit [269114] by Jonathan Bedard
  • 18 edits
    2 copies
    2 moves
    4 adds in trunk/Tools

[webkitflaskpy] Create shared library for WebKit's flask tooling
https://bugs.webkit.org/show_bug.cgi?id=218257
<rdar://problem/70736269>

Rubber-stamped by Aakash Jain.

  • Scripts/libraries/resultsdbpy/resultsdbpy/init.py:

(_maybe_add_webkit_python_library_paths): Add webkitcorepy and webkitflaskpy.
(_maybe_add_webkitcorepy_path): Renamed _maybe_add_webkit_python_library_paths.

  • Scripts/libraries/resultsdbpy/resultsdbpy/flask_support/util.py: Moved to webkitflaskpy/util.py.
  • Scripts/libraries/resultsdbpy/resultsdbpy/flask_support/util_unittest.py: Moved to webkitflaskpy/util_unittest.py.
  • Scripts/libraries/webkitflaskpy: Added.
  • Scripts/libraries/webkitflaskpy/MANIFEST.in: Added.
  • Scripts/libraries/webkitflaskpy/README.md: Added.
  • Scripts/libraries/webkitflaskpy/setup.py: Added.
  • Scripts/libraries/webkitflaskpy/webkitflaskpy: Added.
  • Scripts/libraries/webkitflaskpy/webkitflaskpy/init.py: Added.
  • Scripts/libraries/webkitflaskpy/webkitflaskpy/util.py: Moved from resultsdpy/flask_support/util.py.
  • Scripts/libraries/webkitflaskpy/webkitflaskpy/util_unittest.py: Moved from resultsdpy/flask_support/util_unittest.py.
  • Scripts/webkitpy/test/main.py:

(main): Add

11:59 AM Changeset in webkit [269113] by Russell Epstein
  • 4 edits in branches/safari-610.2.11.51-branch

Cherry-pick r269094. rdar://problem/70769706

Use _CFURLConnectionSetFrameworkStubs for SecItemShim instead of DYLD_INTERPOSE on Apple Silicon Macs
https://bugs.webkit.org/show_bug.cgi?id=218269
<rdar://problem/70491533>

Reviewed by Darin Adler.

Source/WebKit:

r171066 introduced the use of _CFURLConnectionSetFrameworkStubs on iOS for CFNetwork to be able
to get and set credentials as the UI process. This is also needed on Apple Silicon Macs.
We should eventually replace it with an even cleaner per-NSURLSession solution, but this is a step
in the right direction, and I verified manually that it fixes the radar.

Covered by an API test that used to fail on Apple Silicon Macs.

  • Shared/mac/SecItemShim.cpp: (WebKit::initializeSecItemShim):

Tools:

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

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

11:46 AM Changeset in webkit [269112] by Russell Epstein
  • 8 edits in branches/safari-610.2.11.51-branch/Source

Versioning.

WebKit-7610.2.11.51.7

11:33 AM Changeset in webkit [269111] by weinig@apple.com
  • 75 edits in trunk

Reduce Preference Override Methods: TabsToLinks/SpatialNavigation
https://bugs.webkit.org/show_bug.cgi?id=218288

Reviewed by Tim Horton.

Source/WebKit:

Removes WKPreferencesGet/SetTabToLinksEnabled preference as it duplicates functionality of
WKPreferencesGet/SetTabsToLinks. The former was added for https://bugs.webkit.org/show_bug.cgi?id=95329
but was redundant even at the time. We can now use test header commands for all of its
use cases.

Also removes testing only bundle SPI for enabling spatial navigation which also can be
set via test headers instead.

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetTabToLinksEnabled): Deleted.
(WKPreferencesGetTabToLinksEnabled): Deleted.

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • WebProcess/InjectedBundle/API/c/WKBundle.cpp:

(WKBundleSetSpatialNavigationEnabled): Deleted.

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

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
(WebKit::InjectedBundle::setSpatialNavigationEnabled): Deleted.

  • WebProcess/InjectedBundle/InjectedBundle.h:
  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::setTabToLinksEnabled): Deleted.
(WebKit::WebPage::tabToLinksEnabled const): Deleted.

Source/WTF:

  • Scripts/Preferences/WebPreferences.yaml:

Unify TabToLinksEnabled and TabsToLinks. TabToLinksEnabled was added for https://bugs.webkit.org/show_bug.cgi?id=95329
and has never actually been needed.

Tools:

Replace uses of testRunner.overridePreference("WebKitTabToLinksPreferenceKey", ...) and
testRunner.setSpatialNavigationEnabled(...) with test header commands, helping to reduce
the number of different ways we have to override preferences in LayoutTests.

  • DumpRenderTree/TestOptions.cpp:

(WTR::TestOptions::defaults):

  • DumpRenderTree/TestRunner.cpp:

(TestRunner::staticFunctions):
(setSpatialNavigationEnabledCallback): Deleted.

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

(resetWebPreferencesToConsistentValues):

  • DumpRenderTree/mac/TestRunnerMac.mm:

(TestRunner::setSpatialNavigationEnabled): Deleted.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetWebPreferencesToConsistentValues):
(setWebPreferencesForTestOptions):

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

(WTR::InjectedBundle::beginTesting):

  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::setSpatialNavigationEnabled): Deleted.

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

(WTR::TestController::resetPreferencesToConsistentValues):

LayoutTests:

Replace uses of testRunner.overridePreference("WebKitTabToLinksPreferenceKey", ...) and
testRunner.setSpatialNavigationEnabled(...) with test header commands, helping to reduce
the number of different ways we have to override preferences in LayoutTests.

  • accessibility/mac/caret-browsing-tab-selection.html:
  • accessibility/mac/focus-setting-selection-syncronizing-not-clearing.html:
  • accessibility/mac/selection-element-tabbing-to-link.html:
  • accessibility/mac/selection-notification-focus-change.html:
  • accessibility/mac/tab-focus-post-notification.html:
  • fast/events/tab-focus-anchor.html:
  • fast/events/tab-focus-link-in-canvas.html:
  • fast/spatial-navigation/snav-1st-stop.html:
  • fast/spatial-navigation/snav-clipped-overflowed-content.html:
  • fast/spatial-navigation/snav-container-only-white-space.html:
  • fast/spatial-navigation/snav-container-white-space.html:
  • fast/spatial-navigation/snav-display-contents-crash.html:
  • fast/spatial-navigation/snav-div-overflow-scrol-hidden.html:
  • fast/spatial-navigation/snav-div-scrollable-but-without-focusable-content.html:
  • fast/spatial-navigation/snav-fully-aligned-horizontally.html:
  • fast/spatial-navigation/snav-fully-aligned-vertically.html:
  • fast/spatial-navigation/snav-hidden-focusable-element.html:
  • fast/spatial-navigation/snav-hidden-iframe-zero-size.html:
  • fast/spatial-navigation/snav-hidden-iframe.html:
  • fast/spatial-navigation/snav-iframe-flattening-simple.html:
  • fast/spatial-navigation/snav-iframe-nested.html:
  • fast/spatial-navigation/snav-iframe-no-focusable-content.html:
  • fast/spatial-navigation/snav-iframe-no-scrollable-content.html:
  • fast/spatial-navigation/snav-iframe-recursive-offset-parent.html:
  • fast/spatial-navigation/snav-iframe-with-offscreen-focusable-element.html:
  • fast/spatial-navigation/snav-imagemap-area-not-focusable.html:
  • fast/spatial-navigation/snav-imagemap-area-without-image.html:
  • fast/spatial-navigation/snav-imagemap-overlapped-areas.html:
  • fast/spatial-navigation/snav-imagemap-simple.html:
  • fast/spatial-navigation/snav-input.html:
  • fast/spatial-navigation/snav-media-elements.html:
  • fast/spatial-navigation/snav-multiple-select-focusring.html:
  • fast/spatial-navigation/snav-multiple-select-optgroup.html:
  • fast/spatial-navigation/snav-multiple-select.html:
  • fast/spatial-navigation/snav-offscreen-content.html:
  • fast/spatial-navigation/snav-only-clipped-overflow-content.html:
  • fast/spatial-navigation/snav-radio-group.html:
  • fast/spatial-navigation/snav-radio.html:
  • fast/spatial-navigation/snav-search-optimization.html:
  • fast/spatial-navigation/snav-simple-content-overflow.html:
  • fast/spatial-navigation/snav-single-select-list.html:
  • fast/spatial-navigation/snav-single-select.html:
  • fast/spatial-navigation/snav-table-traversal.html:
  • fast/spatial-navigation/snav-textarea.html:
  • fast/spatial-navigation/snav-tiny-table-traversal.html:
  • fast/spatial-navigation/snav-two-elements-one-line.html:
  • fast/spatial-navigation/snav-unit-overflow-and-scroll-in-direction.html:
  • fast/spatial-navigation/snav-z-index.html:
  • fast/spatial-navigation/snav-zero-margin-content.html:
  • media/media-controls-accessibility.html:
  • media/tab-focus-inside-media-elements.html:
11:17 AM Changeset in webkit [269110] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

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

10:41 AM Changeset in webkit [269109] by Aditya Keerthi
  • 3 edits in trunk/Source/WebKit

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

Reviewed by Geoff Garen.

Since Contacts.framework does not depend on WebKit and soft linking is
discouraged, WebKit should link Contacts.framework normally.

Soft linking requires running the linker at runtime, leading to an
unwanted performance cost. By normally linking (on iOS) and weak linking
(on macOS), the linkage is declared at build time, which enables running
the linker at build/update/install time and avoiding the runtime cost.

  • Configurations/WebKit.xcconfig:

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

  • Platform/cocoa/PaymentAuthorizationPresenter.mm:

(WebKit::toNSError):

10:40 AM Changeset in webkit [269108] by Chris Dumez
  • 12 edits in trunk

AudioBuffer channels should be neuterable / detachable
https://bugs.webkit.org/show_bug.cgi?id=218286

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

Rebaseline WPT test that is now passing. This test is also passing in Firefox. It is crashing in Blink.

  • web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/transferred-buffer-output-expected.txt:

Source/WebCore:

AudioBuffer channels should be neuterable / detachable:

When the one of the channels' buffers gets detached/neutered, the array returned by
getChannelData(0) is neutered and thus has zero length. Internally though, if
channelData() gets called and ANY of the channels' buffers are detached, we return
a new empty array, as per the specification. This makes sure we end up with silence
on all channels when any of the channels gets detached, which is consistent with the
specification and Firefox (Blink seems to crash).

To make the AudioBuffer API less error-prone when used natively, I updated length()
and duration() to return 0 whenever any of the channels is detached. This is safer
since channelData() returns 0-length arrays in this case. The Web API keeps returning
the original values though so they rely on new originalLength() / originalDuration()
getters.

No new tests, rebaselined / updated existing tests.

  • Modules/webaudio/AudioBuffer.cpp:

(WebCore::AudioBuffer::create):
(WebCore::AudioBuffer::AudioBuffer):
(WebCore::AudioBuffer::invalidate):
(WebCore::AudioBuffer::channelData):
(WebCore::AudioBuffer::zero):
(WebCore::AudioBuffer::hasDetachedChannelBuffer const):

  • Modules/webaudio/AudioBuffer.h:

(WebCore::AudioBuffer::originalLength const):
(WebCore::AudioBuffer::originalDuration const):
(WebCore::AudioBuffer::length const):
(WebCore::AudioBuffer::duration const):

  • Modules/webaudio/AudioBuffer.idl:
  • Modules/webaudio/ConvolverNode.cpp:

(WebCore::ConvolverNode::setBuffer):

  • Modules/webaudio/ScriptProcessorNode.cpp:

(WebCore::ScriptProcessorNode::initialize):

LayoutTests:

  • webaudio/audiobuffer-neuter-expected.txt:
  • webaudio/audiobuffer-neuter.html:

Extend layout test coverage. I have verified that this new version of the test is fully passing in
Gecko. In Blink, the initial checks all pass but it then crashes during rendering.

  • webaudio/resources/audio-testing.js:

(createConstantBuffer):
Improve createConstantBuffer() so that it can construct buffers with multiple channels.

10:32 AM Changeset in webkit [269107] by rmorisset@apple.com
  • 3 edits
    1 add in trunk

DFGIntegerRangeOptimization is wrong for Upsilon (as 'shadow' nodes are not in SSA form)
https://bugs.webkit.org/show_bug.cgi?id=218073

Reviewed by Saam Barati.

JSTests:

The only testcase I managed to get for this bug loops forever when not crashing.
So I use a 1s timeout through --watchdog=1000.

  • stress/bounds-checking-in-cold-loop.js: Added.

(true.vm.ftlTrue):

Source/JavaScriptCore:

In DFGIntegerRangeOptimization, when visiting an Upsilon node, we call setEquivalence, that calls setRelationship.
But despite its name, this function does not overwrite a pre-existing relationship, it simply replaces it by an over-approximation of the intersection of the old and new relationship (see the filter method).
Since the old relationship is always (by definition) an over-approximation of this intersection, it will often do nothing at all if it cannot find a closer approximation.
This is a problem specifically for Upsilon nodes, because several of them can store to the same "shadow node" corresponding to a given Phi, so they are the only case where there can already be a completely different relationship for the same nodes (coming from a different Upsilon).

The fix is very simple thanks to a suggestion by Phil: we just remove all relationships referring to the shadow node just before executing an Upsilon.
This is correct since the upsilon effectively kills that shadow node, before making it live again with a different value, and we already aggressively prune the relationshipMaps by liveness.

  • dfg/DFGIntegerRangeOptimizationPhase.cpp:
9:17 AM Changeset in webkit [269106] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews] Ensure that uat instance doesn't send emails
https://bugs.webkit.org/show_bug.cgi?id=218227

Reviewed by Jonathan Bedard.

  • CISupport/ews-build/send_email.py:
8:57 AM Changeset in webkit [269105] by weinig@apple.com
  • 13 edits
    1 add in trunk

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

Reviewed by Simon Fraser.

Source/WebKitLegacy/mac:

Expose a set of setters to for DumpRenderTree to use when setting preferences
by string.

  • WebView/WebPreferences.mm:

(-[WebPreferences _setBoolPreferenceForTestingWithValue:forKey:]):
(-[WebPreferences _setUInt32PreferenceForTestingWithValue:forKey:]):
(-[WebPreferences _setDoublePreferenceForTestingWithValue:forKey:]):
(-[WebPreferences _setStringPreferenceForTestingWithValue:forKey:]):

  • WebView/WebPreferencesPrivate.h:

Tools:

Removes the requirement for WebKitLegacy (macOS), which has already been lifted for
modern WebKit, that testing new preferences requires new WebPreferences SPI. Instead,
new testing specific SPI ([WebPreferences _set*PreferenceForTestingWithValue:forKey:])
are used to allow string based setting.

To make this work with the shared WebPreferences*.yaml names, a helper is generated to
map from the shared name to the WebKitLegacy specific name.

This still doesn't quite take us all the way to supporting any WebPreferences*.yaml name
in test headers, as is supported in WebKitTestRunner, as we still need a viable mechanism
to fully reset WebPreferences between tests. Right now, each preference must be set on
each test run, requiring the complete set of preferences to be known up front.

  • DumpRenderTree/CMakeLists.txt:
  • DumpRenderTree/DerivedSources-input.xcfilelist:
  • DumpRenderTree/DerivedSources-output.xcfilelist:
  • DumpRenderTree/DerivedSources.make:
  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • DumpRenderTree/Scripts/PreferencesTemplates/TestOptionsGeneratedWebKitLegacyKeyMapping.cpp.erb: Added.
  • DumpRenderTree/TestOptions.cpp:

(WTR::TestOptions::supportedBoolWebPreferenceFeatures):

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

(setWebPreferencesForTestOptions):

  • DumpRenderTree/mac/TestRunnerMac.mm:

(TestRunner::overridePreference):

8:28 AM Changeset in webkit [269104] by Philippe Normand
  • 4 edits
    9 adds
    6 deletes in trunk

[GStreamer] Multi-channel (>2) support for the AudioFileReader
https://bugs.webkit.org/show_bug.cgi?id=215255

Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

The audio file reader used to handle up to stereo audio layouts. It can now handle up to 5.1
surround layouts. This patch also modernizes the coding style of this module in various
parts.

  • platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:

(WebCore::initializeDebugCategory):
(WebCore::AudioFileReader::handleSample):
(WebCore::AudioFileReader::handleMessage):
(WebCore::AudioFileReader::handleNewDeinterleavePad):
(WebCore::AudioFileReader::plugDeinterleave):
(WebCore::AudioFileReader::decodeAudioForBusCreation):
(WebCore::AudioFileReader::createBus):
(WebCore::createBusFromAudioFile):
(WebCore::createBusFromInMemoryAudioFile):

LayoutTests:

  • platform/glib/TestExpectations: audiobuffersource-multi-channels.html is now passing.
  • platform/glib/webaudio/codec-tests/aac/vbr-128kbps-44khz-expected.wav: Added.
  • platform/glib/webaudio/codec-tests/vorbis/vbr-128kbps-44khz-expected.wav: Added.
  • platform/glib/webaudio/codec-tests/vorbis/vbr-70kbps-44khz-expected.wav: Added.
  • platform/glib/webaudio/codec-tests/vorbis/vbr-96kbps-44khz-expected.wav: Added.
  • platform/glib/webaudio/codec-tests/wav/24bit-22khz-resample-expected.wav: Added.
  • platform/gtk/webaudio/codec-tests/aac/vbr-128kbps-44khz-expected.wav: Removed.
  • platform/gtk/webaudio/codec-tests/mp3/128kbps-44khz-expected.wav: Removed.
  • platform/gtk/webaudio/codec-tests/vorbis/vbr-128kbps-44khz-expected.wav: Removed.
  • platform/gtk/webaudio/codec-tests/vorbis/vbr-70kbps-44khz-expected.wav: Removed.
  • platform/gtk/webaudio/codec-tests/vorbis/vbr-96kbps-44khz-expected.wav: Removed.
  • platform/gtk/webaudio/codec-tests/wav/24bit-44khz-expected.wav: Removed.
8:24 AM Changeset in webkit [269103] by calvaris@igalia.com
  • 6 edits in trunk/Source/WebCore

[GStreamer][EME][Thunder] Do not sanitize CENC init data
https://bugs.webkit.org/show_bug.cgi?id=218182

Reviewed by Philippe Normand.

In certain cases, like smoothstreaming with PlayReady, the init
datas we are getting are correct but are not in PSSH box format
they would be "sanitized away". In this patch you can enable
sanitization customization depending on the CDM you're using.

  • Modules/encryptedmedia/CDM.cpp:

(WebCore::CDM::sanitizeInitData):

  • platform/encryptedmedia/CDMPrivate.cpp:

(WebCore::CDMPrivate::sanitizeInitData const):

  • platform/encryptedmedia/CDMPrivate.h:
  • platform/graphics/gstreamer/eme/CDMThunder.cpp:

(WebCore::CDMPrivateThunder::sanitizeInitData const):

  • platform/graphics/gstreamer/eme/CDMThunder.h:
6:14 AM Changeset in webkit [269102] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] Add support for case when nested vertical alignment affects the root inlinebox vertical position
https://bugs.webkit.org/show_bug.cgi?id=218271

Reviewed by Antti Koivisto.

Let's start tracking the nested vertical alignment offsets from the root's baseline.
It enables us to find out how much offset the root inlinebox's baseline is required inside the line box.
e.g.
<div style="font-size: 50px;">

root inlinebox text content
<span style="font-size: 10px; vertical-align: text-bottom">and some nested text with an image

<img src="broken.jpg" style="vertical-align: baseline; height: 100px; width: 100px;">

</span>

</div>
In this case, the nested inline box (<span>) has 'text-bottom' vertical alignment which may stretch the line box and
may push the root inlinebox downwards so as the nested <img> (aligned with the <span>'s baseline).

We simply compute the absolute offset value for each inline level boxes as we walk the "tree" and hold on to the maximum value.

  • layout/inlineformatting/InlineFormattingContextGeometry.cpp:

(WebCore::Layout::LineBoxBuilder::alignInlineLevelBoxesVerticallyAndComputeLineBoxHeight):

6:13 AM Changeset in webkit [269101] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[GStreamer] Mock video source doesn't set framerate on its caps
https://bugs.webkit.org/show_bug.cgi?id=218248

Patch by Philippe Normand <pnormand@igalia.com> on 2020-10-28
Reviewed by Xabier Rodriguez-Calvar.

Set framerate on the sample caps and reduce code duplication.

  • platform/graphics/gstreamer/MediaSampleGStreamer.cpp:

(WebCore::MediaSampleGStreamer::createImageSample):

  • platform/graphics/gstreamer/MediaSampleGStreamer.h:
  • platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.cpp:

(WebCore::MockRealtimeVideoSourceGStreamer::updateSampleBuffer):

6:13 AM Changeset in webkit [269100] by commit-queue@webkit.org
  • 4 edits
    2 adds
    3 deletes in trunk/Tools

[Flatpak SDK] Update Mesa and GTK4 dependencies
https://bugs.webkit.org/show_bug.cgi?id=218281

Patch by Philippe Normand <pnormand@igalia.com> on 2020-10-28
Reviewed by Carlos Alberto Lopez Perez.

  • buildstream/elements/flatpak/sdk.bst: Switch to app-debug-link as in the upstream FDO SDK.
  • buildstream/elements/freedesktop-sdk.bst: Bump junction ref.
  • buildstream/elements/sdk/mesa.bst: Update to 20.1.10 and add patch not present in stable release yet.
  • buildstream/patches/fdo-0001-pango-Bump-to-1.47.patch: Added.
  • buildstream/patches/mesa/0001-mesa-rename-_mesa_free_errors_data.patch: Removed.
  • buildstream/patches/mesa/0002-mesa-add-bool-param-to-_mesa_free_context_data.patch: Removed.
  • buildstream/patches/mesa/0003-mesa-st-release-debug_output-after-destroying-the-co.patch: Removed.
  • buildstream/patches/mesa/0004-mesa-clear-texture-s-views-when-texture-is-remove.patch: Added.
5:47 AM Changeset in webkit [269099] by Philippe Normand
  • 2 edits in trunk/Source/WebCore

[GStreamer] Using audio files for the <img> tag triggers warnings
https://bugs.webkit.org/show_bug.cgi?id=218245

Reviewed by Xabier Rodriguez-Calvar.

Plug non-video pads to a fake sink in order to maintain a valid pipeline. Later we should
switch to decodebin3 and rely on the stream selection facilities.

  • platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:

(WebCore::ImageDecoderGStreamer::InnerDecoder::connectDecoderPad):
(WebCore::ImageDecoderGStreamer::InnerDecoder::preparePipeline):

4:41 AM Changeset in webkit [269098] by calvaris@igalia.com
  • 2 edits in trunk/LayoutTests

Unreviewed, reverting r269043.

Original patch was revert, should revert expectations as well

Reverted changeset:

"Unreviewed, GStreamer gardening"
https://trac.webkit.org/changeset/269043

4:40 AM Changeset in webkit [269097] by calvaris@igalia.com
  • 2 edits in trunk/Source/WebCore

Unreviewed, reverting r269033.

269043

Reverted changeset:

"[EME][GStreamer] Decode base64 init data if needed"
https://bugs.webkit.org/show_bug.cgi?id=218175
https://trac.webkit.org/changeset/269033

2:31 AM Changeset in webkit [269096] by Adrian Perez de Castro
  • 6 edits in trunk

[GTK4] Build broken with GTK 3.99.3
https://bugs.webkit.org/show_bug.cgi?id=218270

Reviewed by Carlos Garcia Campos.

Source/WebKit:

No new tests needed.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(toplevelWindowStateChanged): Replace GDK_SURFACE_STATE_MINIMIZED with GDK_TOPLEVEL_STATE_MINIMIZED.

  • UIProcess/API/gtk/WebKitWebViewGtk.cpp:

(surfaceStateChangedCallback): Ditto, and GDK_SURFACE_STATE_MAXIMIZED with GDK_TOPLEVEL_STATE_MAXIMIZED.

  • UIProcess/Gamepad/gtk/UIGamepadProviderGtk.cpp:

(WebKit::getWebPageProxy): Write an implementation which works for GTK4.
(WebKit::UIGamepadProvider::platformWebPageProxyForGamepadInput): Accomodate for windows
being a bit less special in GTK4 and use gtk_widget_has_focus() directly.

Tools:

  • buildstream/elements/sdk/gtk.bst: Bump GTK4 version to 3.99.4
Note: See TracTimeline for information about the timeline view.