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

Timeline



Apr 25, 2022:

11:57 PM Changeset in webkit [293417] by youenn@apple.com
  • 6 edits in trunk

Service workers should not intercept embed/object related loads
https://bugs.webkit.org/show_bug.cgi?id=239642

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/service-workers/service-worker/embed-and-object-are-not-intercepted.https-expected.txt:

Source/WebCore:

In case document loader or image loader are triggered by embed/object elements,
set service worker mode to none.

Covered by rebased test.

  • loader/DocumentLoader.cpp:
  • loader/DocumentLoader.h:
  • loader/ImageLoader.cpp:
11:43 PM Changeset in webkit [293416] by Russell Epstein
  • 1 copy in tags/WebKit-7613.2.7.2.3

Tag WebKit-7613.2.7.2.3.

11:41 PM Changeset in webkit [293415] by Russell Epstein
  • 9 edits in branches/safari-613.2.7.2-branch/Source

Versioning.

WebKit-7613.2.7.2.2

11:36 PM Changeset in webkit [293414] by Russell Epstein
  • 1 copy in tags/WebKit-7613.2.7.1.4

Tag WebKit-7613.2.7.1.4.

11:34 PM Changeset in webkit [293413] by Russell Epstein
  • 9 edits in branches/safari-613.2.7.1-branch/Source

Versioning.

WebKit-7613.2.7.1.4

11:31 PM Changeset in webkit [293412] by Russell Epstein
  • 1 copy in tags/WebKit-7613.2.7.0.3

Tag WebKit-7613.2.7.0.3.

11:28 PM Changeset in webkit [293411] by Russell Epstein
  • 9 edits in branches/safari-613.2.7.0-branch/Source

Versioning.

WebKit-7613.2.7.0.3

9:49 PM Changeset in webkit [293410] by Aditya Keerthi
  • 4 edits in trunk

[iOS] Add NSCoding support for findInteractionEnabled
https://bugs.webkit.org/show_bug.cgi?id=239733
rdar://87850648

Reviewed by Wenson Hsieh.

Source/WebKit:

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithCoder:]):
(-[WKWebView encodeWithCoder:]):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/Coding.mm:

(TEST):

9:07 PM Changeset in webkit [293409] by Devin Rousso
  • 31 edits
    3 adds
    2 deletes in trunk

Web Inspector: add UI for blocking requests
https://bugs.webkit.org/show_bug.cgi?id=239674

Reviewed by Patrick Angle.

Source/WebCore:

Test: http/tests/inspector/network/intercept-request-with-error.html

  • inspector/agents/InspectorNetworkAgent.h:

(WebCore::InspectorNetworkAgent::errorDomain): Added.

  • inspector/agents/InspectorNetworkAgent.cpp:

(WebCore::InspectorNetworkAgent::toResourceErrorType): Added.
(WebCore::InspectorNetworkAgent::interceptRequestWithError):
Unify the resource error message for consistency.
Mark the resource error as coming from Web Inspector so that it can identified (see below).

  • inspector/agents/WebConsoleAgent.cpp:

(WebCore::WebConsoleAgent::didFailLoading):

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::logErrorAndFail):

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didFail):
Don't add console messages for requests that were blocked by Web Inspector.

  • inspector/agents/page/PageNetworkAgent.h:
  • inspector/agents/page/PageNetworkAgent.cpp:

(WebCore::PageNetworkAgent::addConsoleMessage): Added.

  • inspector/agents/worker/WorkerNetworkAgent.h:
  • inspector/agents/worker/WorkerNetworkAgent.cpp:

(WebCore::WorkerNetworkAgent::addConsoleMessage): Added.
Add a virtual method so that InspectorNetworkAgent can log to the console (PageNetworkAgent
uses the Page, WorkerNetworkAgent uses the WorkerOrWorkletGlobalScope, etc.).

Source/WebInspectorUI:

  • UserInterface/Models/LocalResourceOverride.js:

(WI.LocalResourceOverride):
(WI.LocalResourceOverride.create):
(WI.LocalResourceOverride.displayNameForNetworkStageOfType): Added.
(WI.LocalResourceOverride.displayNameForType):
(WI.LocalResourceOverride.displayNameForResourceErrorType): Added.
(WI.LocalResourceOverride.fromJSON):
(WI.LocalResourceOverride.prototype.toJSON):
(WI.LocalResourceOverride.prototype.get resourceErrorType): Added.
(WI.LocalResourceOverride.prototype.set resourceErrorType): Added.
(WI.LocalResourceOverride.prototype.get canMapToFile):
Add WI.LocalResourceOverride.ResourceErrorType (and a corresponding member variable) that
is be used when blocking matching requests.

  • UserInterface/Controllers/NetworkManager.js:

(WI.NetworkManager.supportsBlockingRequests): Added.
(WI.NetworkManager.prototype.async requestIntercepted):
(WI.NetworkManager.prototype._handleResourceOverrideResourceErrorTypeChanged): Added.
Make sure to save WI.LocalResourceOverride.InterceptType.Block whenever the
WI.LocalResourceOverride.ResourceErrorType changes.

  • UserInterface/Views/ContextMenuUtilities.js:

(WI.appendContextMenuItemsForSourceCode):

  • UserInterface/Views/ResourceContentView.js:

(WI.ResourceContentView):
(WI.ResourceContentView.prototype._populateCreateLocalResourceOverrideContextMenu):
(WI.ResourceContentView.prototype._handleCreateLocalResourceOverride): Deleted.
Add contextmenu items for "Block Request URL".

  • UserInterface/Views/LocalResourceOverrideRequestContentView.js:

(WI.LocalResourceOverrideRequestContentView):
(WI.LocalResourceOverrideRequestContentView.prototype.initialLayout):
(WI.LocalResourceOverrideRequestContentView.prototype.initialLayout.addOption): Added.

  • UserInterface/Views/LocalResourceOverrideRequestContentView.css:

(.content-view.text.local-resource-override-request > .message-text-view select): Added.
There will be no request or response content for WI.LocalResourceOverride.InterceptType.Block
so show a <select> for choosing the WI.LocalResourceOverride.ResourceErrorType.

  • UserInterface/Views/LocalResourceOverridePopover.js:

(WI.LocalResourceOverridePopover.prototype.get serializedData):
(WI.LocalResourceOverridePopover.prototype.show):

  • UserInterface/Views/LocalResourceOverridePopover.css:

(.popover .local-resource-override-popover-content:is(.response, .block) .editor.url): Renamed from .popover .local-resource-override-popover-content.response .editor.url.
Only show the URL editor for WI.LocalResourceOverride.InterceptType.Block.

  • UserInterface/Models/Resource.js:

(WI.Resource.classNamesForResource):

  • UserInterface/Views/ResourceTreeElement.js:

(WI.ResourceTreeElement.prototype._updateResource):
(WI.ResourceTreeElement.prototype._updateIcon):
(WI.ResourceTreeElement.prototype._loadingDidFail): Added.

  • UserInterface/Views/ResourceIcons.css:

(.resource-icon.override.skip-network .icon): Added.
(body:not(.window-inactive, .window-docked-inactive) :is(.table, .data-grid):focus-within .selected .resource-icon.override.skip-network .icon, body:not(.window-inactive, .window-docked-inactive) .tree-outline:focus-within .selected.resource-icon.override.skip-network .icon): Added.
(@media (prefers-color-scheme: dark) .resource-icon.override.skip-network .icon): Added.

  • UserInterface/Images/SkipNetwork.svg: Added.

Add a new icon for when requests do not involve any network activity.

  • UserInterface/Views/ContentView.js:

(WI.ContentView.createFromRepresentedObject):
(WI.ContentView.resolvedRepresentedObjectForRepresentedObject):

  • UserInterface/Views/FontResourceContentView.js:

(WI.FontResourceContentView.prototype.dropZoneShouldAppearForDragEvent):

  • UserInterface/Views/ImageResourceContentView.js:

(WI.ImageResourceContentView.prototype.dropZoneShouldAppearForDragEvent):

  • UserInterface/Views/LocalResourceOverrideTreeElement.js:

(WI.LocalResourceOverrideTreeElement.prototype.willDismissPopover):
Use positive checks for the desired WI.LocalResourceOverride.InterceptType instead of
a negative check for the one value meant to be exlucded in the expectation that no new
enum values would get added (which this patch proves to be false).

  • UserInterface/Views/LocalResourceOverrideLabelView.js:

(WI.LocalResourceOverrideLabelView.prototype.initialLayout):
Use the new WI.LocalResourceOverride.displayNameForNetworkStageOfType instead of doing
that work here.

  • Localizations/en.lproj/localizedStrings.js:

LayoutTests:

  • http/tests/inspector/network/intercept-request-with-error.html: Added.
  • http/tests/inspector/network/intercept-request-with-error-expected.txt: Added.
  • inspector/network/interceptRequestWithError.html: Removed.
  • inspector/network/interceptRequestWithError-expected.txt: Removed.
  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk2/TestExpectations:

Reworked this test to use WI.LocalResourceOverride instead of the protocol.

8:53 PM Changeset in webkit [293408] by Elliott Williams
  • 2 edits in trunk/Source/WebKit

[XCBuild] Refactor WebKit resources to emit output tasks for dependency validation
https://bugs.webkit.org/show_bug.cgi?id=239556

Reviewed by Alexey Proskuryakov.

  • Source/WebKit/WebKit.xcodeproj/project.pbxproj:
    • Replace the script phase that calls generate-automation-atom.py with a build rule, and process those files as headers.
    • Clean up references and project metadata for deleted files.
    • Use WK_FRAMEWORK_VERSION_PREFIX in script output paths so that the realpaths are correct on macOS.

Canonical link: https://commits.webkit.org/249974@main

7:16 PM Changeset in webkit [293407] by Alan Coon
  • 1 copy in tags/WebKit-7613.2.7.3.2

Tag WebKit-7613.2.7.3.2.

7:14 PM Changeset in webkit [293406] by Alan Coon
  • 1 edit in branches/safari-613.2.7.3-branch/Source/JavaScriptCore/API/JSTypedArray.cpp

Apply patch. rdar://67069953

7:13 PM Changeset in webkit [293405] by Alan Coon
  • 9 edits in branches/safari-613.2.7.3-branch/Source

Versioning.

WebKit-7613.2.7.3.2

7:06 PM Changeset in webkit [293404] by Alan Coon
  • 1 copy in tags/WebKit-7613.2.7.0.2

Tag WebKit-7613.2.7.0.2.

7:03 PM Changeset in webkit [293403] by Alan Coon
  • 1 edit in branches/safari-613.2.7.0-branch/Source/JavaScriptCore/API/JSTypedArray.cpp

Apply patch. rdar://67069953

7:03 PM Changeset in webkit [293402] by Alan Coon
  • 1 edit in branches/safari-613.2.7.0-branch/Source/JavaScriptCore/API/JSTypedArray.cpp

Apply patch. rdar://67069953

7:03 PM Changeset in webkit [293401] by Alan Coon
  • 112 edits
    5 deletes in branches/safari-613.2.7.0-branch/Source

Apply patch. rdar://problem/67069953

6:55 PM Changeset in webkit [293400] by Alan Coon
  • 1 copy in tags/WebKit-7613.2.7.1.3

Tag WebKit-7613.2.7.1.3.

6:49 PM Changeset in webkit [293399] by Alan Coon
  • 1 edit in branches/safari-613.2.7.1-branch/Source/JavaScriptCore/API/JSTypedArray.cpp

Apply patch. rdar://67069953

6:49 PM Changeset in webkit [293398] by Alan Coon
  • 1 edit in branches/safari-613.2.7.1-branch/Source/JavaScriptCore/API/JSTypedArray.cpp

Apply patch. rdar://67069953

6:49 PM Changeset in webkit [293397] by Alan Coon
  • 112 edits
    5 deletes in branches/safari-613.2.7.1-branch/Source

Apply patch. rdar://problem/67069953

6:44 PM Changeset in webkit [293396] by Alan Coon
  • 1 copy in tags/WebKit-7613.2.7.2.1

Tag WebKit-7613.2.7.2.1.

6:41 PM Changeset in webkit [293395] by Alan Coon
  • 1 delete in tags/WebKit-7613.2.7.2.1

Delete tag.

6:40 PM Changeset in webkit [293394] by Alan Coon
  • 1 edit in branches/safari-613.2.7.2-branch/Source/JavaScriptCore/API/JSTypedArray.cpp

Apply patch. rdar://67069953

6:36 PM Changeset in webkit [293393] by keith_miller@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

structureIDToStructureWithScratch should only do things if ADDRESS64
https://bugs.webkit.org/show_bug.cgi?id=239749

Reviewed by Saam Barati.

  • llint/LowLevelInterpreter64.asm:
6:31 PM Changeset in webkit [293392] by Alan Coon
  • 1 edit in branches/safari-613-branch/Source/JavaScriptCore/API/JSTypedArray.cpp

Apply patch. rdar://67069953

6:22 PM BuildingCairoOnWindows edited by Fujii Hironori
(diff)
6:20 PM BuildingCairoOnWindows edited by Fujii Hironori
(diff)
6:16 PM Changeset in webkit [293391] by Alan Coon
  • 2 edits in branches/safari-613-branch/Source/WebCore

Cherry-pick r290860. rdar://problem/89291570

AX: Protect incoming object with Ref in AXObjectCache::textChanged
https://bugs.webkit.org/show_bug.cgi?id=237475

Reviewed by Chris Fleizach.

This is better practice as ascending the hierarchy could cause
the object to get deleted.

  • accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::textChanged):

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

6:13 PM Changeset in webkit [293390] by Alan Coon
  • 1 copy in tags/WebKit-7613.2.7.2.1

Tag WebKit-7613.2.7.2.1.

6:09 PM Changeset in webkit [293389] by Alan Coon
  • 1 edit in branches/safari-613.2.7.2-branch/Source/JavaScriptCore/API/JSTypedArray.cpp

Apply patch. rdar://67069953

6:09 PM Changeset in webkit [293388] by Alan Coon
  • 112 edits
    5 deletes in branches/safari-613.2.7.2-branch/Source

Apply patch. rdar://problem/67069953

6:02 PM Changeset in webkit [293387] by Alan Coon
  • 1 copy in tags/WebKit-7613.2.7.3.1

Tag WebKit-7613.2.7.3.1.

6:00 PM Changeset in webkit [293386] by Alan Coon
  • 1 edit in branches/safari-613.2.7.3-branch/Source/JavaScriptCore/API/JSTypedArray.cpp

Apply patch. rdar://67069953

6:00 PM Changeset in webkit [293385] by Alan Coon
  • 112 edits
    5 deletes in branches/safari-613.2.7.3-branch/Source

Apply patch. rdar://problem/67069953

5:57 PM Changeset in webkit [293384] by Alan Coon
  • 1 edit in branches/safari-613-branch/Source/JavaScriptCore/API/JSTypedArray.cpp

Apply patch. rdar://67069953

5:41 PM Changeset in webkit [293383] by Alan Coon
  • 112 edits
    5 deletes in branches/safari-613-branch/Source

Apply patch. rdar://problem/67069953

5:25 PM Changeset in webkit [293382] by Jonathan Bedard
  • 3 edits in trunk/Tools

[Merge-Queue] Differentiate gardening commits in bug comments
https://bugs.webkit.org/show_bug.cgi?id=239740
<rdar://problem/92293298>

Reviewed by Ryan Haddad.

  • Tools/CISupport/ews-build/steps.py:

(DetermineLandedIdentifier.comment_text_for_bug):

  • Tools/CISupport/ews-build/steps_unittest.py:

Canonical link: https://commits.webkit.org/249972@main

5:21 PM Changeset in webkit [293381] by Jonathan Bedard
  • 2 edits in trunk/Tools

GitHub EWS is confused with prior PR's merge-blocked label
https://bugs.webkit.org/show_bug.cgi?id=239411
<rdar://problem/92196846>

Reviewed by Aakash Jain.

  • Tools/CISupport/ews-build/steps.py:

(BlockPullRequest.start): Only apply blocked label if tested hash and current hash match.

Canonical link: https://commits.webkit.org/249971@main

5:16 PM Changeset in webkit [293380] by Brent Fulgham
  • 6 edits in trunk/Source/WebKit

HARDENING: Add MESSAGE_CHECK in some Captive Portal cases
https://bugs.webkit.org/show_bug.cgi?id=239551
<rdar://91478748>

Reviewed by Darin Adler.

Add MESSAGE_CHECK protections to a set of message handlers for API prohibited when
sent from a Captive Portal process. This change also adds a flag to the GPUProcessConnectionParameters
struct so that GPU Process connections can be marked as being associated with a Captive Portal
process.

  • GPUProcess/GPUConnectionToWebProcess.cpp:

(WebKit::GPUConnectionToWebProcess::GPUConnectionToWebProcess):
(WebKit::GPUConnectionToWebProcess::createGraphicsContextGL):
(WebKit::GPUConnectionToWebProcess::releaseGraphicsContextGL):

  • GPUProcess/GPUConnectionToWebProcess.h:

(WebKit::GPUConnectionToWebProcess::isCaptivePortalModeEnabled const):

  • GPUProcess/media/RemoteAudioDestinationManager.cpp:

(WebKit::RemoteAudioDestinationManager::createAudioDestination):
(WebKit::RemoteAudioDestinationManager::deleteAudioDestination):
(WebKit::RemoteAudioDestinationManager::startAudioDestination):
(WebKit::RemoteAudioDestinationManager::stopAudioDestination):

  • Shared/GPUProcessConnectionParameters.h:

(WebKit::GPUProcessConnectionParameters::encode const):
(WebKit::GPUProcessConnectionParameters::decode):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::getGPUProcessConnection):

5:12 PM Changeset in webkit [293379] by Chris Dumez
  • 8 edits in trunk/Source

Introduce new makeStringByReplacingAll(StringView, UChar, UChar) function
https://bugs.webkit.org/show_bug.cgi?id=239728

Reviewed by Darin Adler.

Introduce new makeStringByReplacingAll(StringView, UChar, UChar) function, to complement
the existing makeStringByReplacingAll(const String&, UChar, UChar). This allows several
call sites to avoid a temporary String constructing since they have a StringView.

  • Source/WebCore/PAL/pal/text/TextCodecICU.cpp:

(PAL::TextCodecICU::encode const):

  • Source/WTF/wtf/URLParser.cpp:

(WTF::URLParser::parseURLEncodedForm):

  • Source/WTF/wtf/text/StringImpl.cpp:

(WTF::StringImpl::replace):

  • Source/WTF/wtf/text/StringImpl.h:

(WTF::StringImpl::createByReplacingInCharacters):

  • Source/WTF/wtf/text/StringView.cpp:

(WTF::makeStringByReplacingAll):

  • Source/WTF/wtf/text/StringView.h:
  • Source/WebCore/Modules/plugins/YouTubePluginReplacement.cpp:

(WebCore::queryKeysAndValues):

  • Source/WebCore/editing/cocoa/HTMLConverter.mm:

(WebCore::editingAttributedString):

Canonical link: https://commits.webkit.org/249969@main

5:03 PM Changeset in webkit [293378] by Russell Epstein
  • 1 edit in branches/safari-613-branch/Source/WebCore/page/Page.cpp

Unreviewed build fix. rdar://80544133

./page/Page.cpp:389:9: error: incomplete type 'WebCore::FontCache' named in nested name specifier

5:03 PM Changeset in webkit [293377] by Russell Epstein
  • 3 edits in branches/safari-613-branch

Cherry-pick r292274. rdar://problem/80544133

[Cocoa] Automatically relayout the page when new fonts are installed
https://bugs.webkit.org/show_bug.cgi?id=238483
<rdar://problem/80544133>

Reviewed by Chris Dumez.

Source/WebCore:

This patch simply calls setNeedsRecalcStyleInAllFrames on every Page when we receive a
kCTFontManagerRegisteredFontsChangedNotification.

FontCache::invalidateAllFontCaches() can't do this directly because it's in platform/ and
therefore isn't allowed to know what Pages are. Instead, this patch takes a process-global
callback and calls that instead. This callback is set at initialization time.

Test: fast/text/install-font-style-recalc.html

  • page/Page.cpp: (WebCore::m_contentSecurityPolicyModeForExtension): (WebCore::Page::firstTimeInitialization):
  • page/Page.h:
  • platform/graphics/FontCache.cpp: (WebCore::Function<void): (WebCore::FontCache::registerFontCacheInvalidationCallback): (WebCore::FontCache::invalidateAllFontCaches):
  • platform/graphics/FontCache.h:

Tools:

Make TestRunner::dumpResourceLoadStatistics() clear any currently-recorded statistics.
This avoids the problem where spurious layouts during the time when the page has been created but
before the test has begun record irrelevant statistics.

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::beginTesting): (WTR::InjectedBundle::clearResourceLoadStatistics):
  • WebKitTestRunner/InjectedBundle/InjectedBundle.h:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::dumpResourceLoadStatistics):

LayoutTests:

  • TestExpectations:
  • fast/text/install-font-style-recalc-expected.txt: Added.
  • fast/text/install-font-style-recalc.html: Added.
  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:

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

5:02 PM Changeset in webkit [293376] by Russell Epstein
  • 3 edits in branches/safari-613-branch

Cherry-pick r292274. rdar://problem/80544133

[Cocoa] Automatically relayout the page when new fonts are installed
https://bugs.webkit.org/show_bug.cgi?id=238483
<rdar://problem/80544133>

Reviewed by Chris Dumez.

Source/WebCore:

This patch simply calls setNeedsRecalcStyleInAllFrames on every Page when we receive a
kCTFontManagerRegisteredFontsChangedNotification.

FontCache::invalidateAllFontCaches() can't do this directly because it's in platform/ and
therefore isn't allowed to know what Pages are. Instead, this patch takes a process-global
callback and calls that instead. This callback is set at initialization time.

Test: fast/text/install-font-style-recalc.html

  • page/Page.cpp: (WebCore::m_contentSecurityPolicyModeForExtension): (WebCore::Page::firstTimeInitialization):
  • page/Page.h:
  • platform/graphics/FontCache.cpp: (WebCore::Function<void): (WebCore::FontCache::registerFontCacheInvalidationCallback): (WebCore::FontCache::invalidateAllFontCaches):
  • platform/graphics/FontCache.h:

Tools:

Make TestRunner::dumpResourceLoadStatistics() clear any currently-recorded statistics.
This avoids the problem where spurious layouts during the time when the page has been created but
before the test has begun record irrelevant statistics.

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::beginTesting): (WTR::InjectedBundle::clearResourceLoadStatistics):
  • WebKitTestRunner/InjectedBundle/InjectedBundle.h:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::dumpResourceLoadStatistics):

LayoutTests:

  • TestExpectations:
  • fast/text/install-font-style-recalc-expected.txt: Added.
  • fast/text/install-font-style-recalc.html: Added.
  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:

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

5:02 PM Changeset in webkit [293375] by Russell Epstein
  • 4 edits
    2 adds in branches/safari-613-branch

Cherry-pick r291724. rdar://problem/91975589

Expose the AX tree of PDFs loaded via iframes on the Mac
https://bugs.webkit.org/show_bug.cgi?id=238168

Reviewed by Chris Fleizach.

Source/WebKit:

Given this markup:

<iframe src="/path/to/paystub.pdf">

An accessibility tree is built for paystub.pdf, but we don't expose it
to AX clients, making the PDF entirely inaccessible.

This happens because we were setting the AX parent to be the webpage
for full-frame PDF plugins (which an iframe with this markup is).
This behavior is correct only for main-frame (i.e. not iframe)
full-frame plugins, so this patch adds an extra condition to that logic.

Test: accessibility/mac/iframe-pdf.html

  • WebProcess/Plugins/PDF/PDFPlugin.mm: (WebKit::PDFPlugin::PDFPlugin):

LayoutTests:

  • accessibility/mac/iframe-pdf-expected.txt: Added.
  • accessibility/mac/iframe-pdf.html: Added.
  • platform/mac-wk1/TestExpectations: Skip new test as it always times out in WK1 (similar to accessibility/mac/basic-embed-pdf-accessibility.html)

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

5:02 PM Changeset in webkit [293374] by Russell Epstein
  • 2 edits in branches/safari-613-branch

Apply patch. rdar://problem/91590827

5:02 PM Changeset in webkit [293373] by Russell Epstein
  • 10 edits in branches/safari-613-branch

Apply patch. rdar://problem/91288849

5:02 PM Changeset in webkit [293372] by Russell Epstein
  • 20 edits
    3 adds in branches/safari-613-branch

Cherry-pick r291589. rdar://problem/90511155

LayoutTests/imported/w3c:
BroadcastChannel instances in distinct opaque origins can communicate
https://bugs.webkit.org/show_bug.cgi?id=238090
<rdar://problem/90511155>

Reviewed by Alex Christensen.

Import web-platform-tests test coverage.

  • web-platform-tests/webmessaging/broadcastchannel/opaque-origin-expected.txt: Added.
  • web-platform-tests/webmessaging/broadcastchannel/opaque-origin.html: Added.
  • web-platform-tests/webmessaging/broadcastchannel/w3c-import.log:

Source/WebCore:
BroadcastChannel instances in distinct opaque origins can communicate
https://bugs.webkit.org/show_bug.cgi?id=238090
<rdar://problem/90511155>

Reviewed by Alex Christensen.

The issue is that we would use a ClientOrigin to distinguish origins for BroadcastChannel,
which relies on SecurityOriginData internally. A unique/opaque SecurityOrigin becomes an empty
SecurityOriginData upon conversion. As a result, when comparing ClientOrigin objects from
unique SecurityOrigins, they would compare as equal.

To address the issue, I introduced a new PartitionedSecurityOrigin type which is similar
to ClientOrigin but stores SecurityOrigin objects internally, instead of SecurityOriginData
objects. PartitionedSecurityOrigin's operator==() is such that different SecurityOrigins
would not be equal but the same unique SecurityOrigin would be. I then used this new
PartitionedSecurityOrigin type as key in our HashMap on the WebProcess side instead of
ClientOrigin. This allows communication between several BroadcastChannels from the same
unique origin, while preventing communication between distinct opaque origins.

When the PartitionedSecurityOrigin contains an opaque security origin, we don't involve
the Network Process at all since the destination can only be in the same WebProcess.

Test: imported/w3c/web-platform-tests/webmessaging/broadcastchannel/opaque-origin.html

  • Headers.cmake:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/BroadcastChannel.cpp: (WebCore::shouldPartitionOrigin): (WebCore::BroadcastChannel::MainThreadBridge::registerChannel): (WebCore::BroadcastChannel::MainThreadBridge::unregisterChannel): (WebCore::BroadcastChannel::MainThreadBridge::postMessage):
  • dom/BroadcastChannelRegistry.h:
  • loader/EmptyClients.cpp:
  • page/PartitionedSecurityOrigin.h: Added. (WebCore::PartitionedSecurityOrigin::PartitionedSecurityOrigin): (WebCore::PartitionedSecurityOrigin::isHashTableDeletedValue const): (WebCore::PartitionedSecurityOrigin::isHashTableEmptyValue const): (WebCore::operator==): (WTF::add): (WTF::PartitionedSecurityOriginHash::hash): (WTF::PartitionedSecurityOriginHash::equal): (WTF::HashTraits<WebCore::PartitionedSecurityOrigin>::emptyValue): (WTF::HashTraits<WebCore::PartitionedSecurityOrigin>::constructEmptyValue): (WTF::HashTraits<WebCore::PartitionedSecurityOrigin>::isEmptyValue): (WTF::HashTraits<WebCore::PartitionedSecurityOrigin>::peek): (WTF::HashTraits<WebCore::PartitionedSecurityOrigin>::take):

Source/WebKit:
BroadcastChannel instances in distinct opaque origins can communicate
https://bugs.webkit.org/show_bug.cgi?id=238090
<rdar://problem/90511155>

Reviewed by Alex Christensen.

The issue is that we would use a ClientOrigin to distinguish origins for BroadcastChannel,
which relies on SecurityOriginData internally. A unique/opaque SecurityOrigin becomes an empty
SecurityOriginData upon conversion. As a result, when comparing ClientOrigin objects from
unique SecurityOrigins, they would compare as equal.

To address the issue, I introduced a new PartitionedSecurityOrigin type which is similar
to ClientOrigin but stores SecurityOrigin objects internally, instead of SecurityOriginData
objects. PartitionedSecurityOrigin's operator==() is such that different SecurityOrigins
would not be equal but the same unique SecurityOrigin would be. I then used this new
PartitionedSecurityOrigin type as key in our HashMap on the WebProcess side instead of
ClientOrigin. This allows communication between several BroadcastChannels from the same
unique origin, while preventing communication between distinct opaque origins.

When the PartitionedSecurityOrigin contains an opaque security origin, we don't involve
the Network Process at all since the destination can only be in the same WebProcess.

  • WebProcess/WebCoreSupport/WebBroadcastChannelRegistry.cpp: (WebKit::toClientOrigin): (WebKit::WebBroadcastChannelRegistry::registerChannel): (WebKit::WebBroadcastChannelRegistry::unregisterChannel): (WebKit::WebBroadcastChannelRegistry::postMessage): (WebKit::WebBroadcastChannelRegistry::postMessageLocally): (WebKit::WebBroadcastChannelRegistry::postMessageToRemote): (WebKit::WebBroadcastChannelRegistry::networkProcessCrashed):
  • WebProcess/WebCoreSupport/WebBroadcastChannelRegistry.h:

Source/WebKitLegacy:
Dust off Mac CMake build
https://bugs.webkit.org/show_bug.cgi?id=238121

Reviewed by Yusuke Suzuki.

  • PlatformMac.cmake:

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

5:02 PM Changeset in webkit [293371] by Russell Epstein
  • 11 edits in branches/safari-613-branch

Cherry-pick r292274. rdar://problem/80544133

[Cocoa] Automatically relayout the page when new fonts are installed
https://bugs.webkit.org/show_bug.cgi?id=238483
<rdar://problem/80544133>

Reviewed by Chris Dumez.

Source/WebCore:

This patch simply calls setNeedsRecalcStyleInAllFrames on every Page when we receive a
kCTFontManagerRegisteredFontsChangedNotification.

FontCache::invalidateAllFontCaches() can't do this directly because it's in platform/ and
therefore isn't allowed to know what Pages are. Instead, this patch takes a process-global
callback and calls that instead. This callback is set at initialization time.

Test: fast/text/install-font-style-recalc.html

  • page/Page.cpp: (WebCore::m_contentSecurityPolicyModeForExtension): (WebCore::Page::firstTimeInitialization):
  • page/Page.h:
  • platform/graphics/FontCache.cpp: (WebCore::Function<void): (WebCore::FontCache::registerFontCacheInvalidationCallback): (WebCore::FontCache::invalidateAllFontCaches):
  • platform/graphics/FontCache.h:

Tools:

Make TestRunner::dumpResourceLoadStatistics() clear any currently-recorded statistics.
This avoids the problem where spurious layouts during the time when the page has been created but
before the test has begun record irrelevant statistics.

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::beginTesting): (WTR::InjectedBundle::clearResourceLoadStatistics):
  • WebKitTestRunner/InjectedBundle/InjectedBundle.h:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::dumpResourceLoadStatistics):

LayoutTests:

  • TestExpectations:
  • fast/text/install-font-style-recalc-expected.txt: Added.
  • fast/text/install-font-style-recalc.html: Added.
  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:

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

5:02 PM Changeset in webkit [293370] by Russell Epstein
  • 8 edits
    2 adds in branches/safari-613-branch

Cherry-pick r292072. rdar://problem/80544133

[Cocoa] Automatically relayout the page when new fonts are installed
https://bugs.webkit.org/show_bug.cgi?id=238483
<rdar://problem/80544133>

Reviewed by Chris Dumez.

Source/WebCore:

This patch simply calls setNeedsRecalcStyleInAllFrames on every Page when we receive a
kCTFontManagerRegisteredFontsChangedNotification.

FontCache::invalidateAllFontCaches() can't do this directly because it's in platform/ and
therefore isn't allowed to know what Pages are. Instead, this patch takes a process-global
callback and calls that instead. This callback is set at initialization time.

Test: fast/text/install-font-style-recalc.html

  • page/Page.cpp: (WebCore::m_attachmentElementClient):
  • platform/graphics/FontCache.cpp: (WebCore::Function<void): (WebCore::FontCache::registerFontCacheInvalidationCallback): (WebCore::FontCache::invalidateAllFontCaches):
  • platform/graphics/FontCache.h:

LayoutTests:

  • fast/text/install-font-style-recalc-expected.txt: Added.
  • fast/text/install-font-style-recalc.html: Added.

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

5:02 PM Changeset in webkit [293369] by Russell Epstein
  • 2 edits in branches/safari-613-branch/Source

Apply patch. rdar://problem/90968687

4:14 PM Changeset in webkit [293368] by Devin Rousso
  • 9 edits in trunk/Source

Web Inspector: request interception should not be guarded based on service workers
https://bugs.webkit.org/show_bug.cgi?id=239677

Reviewed by Patrick Angle.

Source/WebCore:

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::shouldInterceptRequest):
(WebCore::InspectorInstrumentation::interceptRequest):

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::shouldInterceptRequestImpl):

  • inspector/InspectorInstrumentationWebKit.h:

(WebCore::InspectorInstrumentationWebKit::shouldInterceptRequest):
(WebCore::InspectorInstrumentationWebKit::interceptRequest):

  • inspector/InspectorInstrumentationWebKit.cpp:

(WebCore::InspectorInstrumentationWebKit::shouldInterceptRequestInternal):
Pass along ResourceLoader instead of ResourceRequest so that InspectorNetworkAgent::shouldInterceptRequest
can look at the configuration of the load (e.g. serviceWorkerRegistrationIdentifier), not
just the request configuration.

  • inspector/agents/InspectorNetworkAgent.h:
  • inspector/agents/InspectorNetworkAgent.cpp:

(WebCore::InspectorNetworkAgent::shouldInterceptRequest):
Move the #if ENABLE(SERVICE_WORKER) here.

Source/WebKit:

  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::scheduleLoad):
Move the #if ENABLE(SERVICE_WORKER) to WebCore::InspectorNetworkAgent::shouldInterceptRequest.

3:56 PM Changeset in webkit [293367] by Devin Rousso
  • 4 edits
    2 adds in trunk

Web Inspector: crash when a subresource is intercepted by a skip network local override with an error status code
https://bugs.webkit.org/show_bug.cgi?id=239675

Reviewed by Patrick Angle.

Source/WebCore:

Test: http/tests/inspector/network/intercept-request-subresource-with-response-error-status-code.html

  • inspector/agents/InspectorNetworkAgent.cpp:

(WebCore::InspectorNetworkAgent::interceptRequestWithResponse):
SubresourceLoader::didReceiveResponse will eventually cause releaseResources (via cancel),
which will clear the m_resource, which is needed in order to provide the response content.
We should only provide the response content if we're still processing the load.

LayoutTests:

  • http/tests/inspector/network/intercept-request-subresource-with-response-error-status-code.html: Added.
  • http/tests/inspector/network/intercept-request-subresource-with-response-error-status-code-expected.txt: Added.
  • platform/mac-wk1/TestExpectations:
3:55 PM Changeset in webkit [293366] by Russell Epstein
  • 3 edits in branches/safari-614.1.11-branch/Source/WebKit

Cherry-pick r293339. rdar://problem/92283605

Fix the tvOS and watchOS builds after r293231
https://bugs.webkit.org/show_bug.cgi?id=239736
rdar://92283605

Reviewed by Wenson Hsieh.

  • UIProcess/API/Cocoa/WKWebView.h:

UIFindInteraction is marked unavailable on watchOS and tvOS.

  • UIProcess/API/Cocoa/WKWebView.mm:

Use platform-checks rather than the existing HAVE macro, so that these
methods are still implemented in older builds. There are no version
checks in WKWebView.h.

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

3:45 PM Changeset in webkit [293365] by Russell Epstein
  • 1 copy in branches/safari-614.1.11-branch

New branch.

3:44 PM Changeset in webkit [293364] by Russell Epstein
  • 9 edits in trunk/Source

Versioning.

WebKit-7614.1.12

3:24 PM Changeset in webkit [293363] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKit

Unreviewed, fix the macOS Monterey build after r293340
https://bugs.webkit.org/show_bug.cgi?id=239712

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::getContextMenuFromItems):

Put some of the "Copy Cropped Image" logic here behind ENABLE(IMAGE_ANALYSIS_ENHANCEMENTS), instead of just
ENABLE(IMAGE_ANALYSIS).

3:03 PM Changeset in webkit [293362] by Alan Coon
  • 2 edits in branches/safari-613.2.7.1-branch/Source/WebCore

Cherry-pick r291968. rdar://problem/91681393

AccessibilityObject::listMarkerTextForNodeAndPosition should check for presence of list item before anything else
https://bugs.webkit.org/show_bug.cgi?id=238341

Reviewed by Andres Gonzalez.

The first thing AccessibilityObject::listMarkerTextForNodeAndPosition
does is check to see that the given range isStartOfLine. We
should instead check if there's an actual list item to work with
before doing this, since isStartOfLine can cause crashes.

Covered by test
accessibility/mac/attributed-string-with-listitem-multiple-lines.html.

  • accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::listMarkerTextForNodeAndPosition):

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

3:03 PM Changeset in webkit [293361] by Alan Coon
  • 2 edits in branches/safari-613.2.7.0-branch/Source/WebCore

Cherry-pick r291968. rdar://problem/91681393

AccessibilityObject::listMarkerTextForNodeAndPosition should check for presence of list item before anything else
https://bugs.webkit.org/show_bug.cgi?id=238341

Reviewed by Andres Gonzalez.

The first thing AccessibilityObject::listMarkerTextForNodeAndPosition
does is check to see that the given range isStartOfLine. We
should instead check if there's an actual list item to work with
before doing this, since isStartOfLine can cause crashes.

Covered by test
accessibility/mac/attributed-string-with-listitem-multiple-lines.html.

  • accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::listMarkerTextForNodeAndPosition):

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

2:35 PM Changeset in webkit [293360] by Alan Coon
  • 2 edits in branches/safari-613.2.7.3-branch/Source/WebCore

Cherry-pick r290860. rdar://problem/89291570

AX: Protect incoming object with Ref in AXObjectCache::textChanged
https://bugs.webkit.org/show_bug.cgi?id=237475

Reviewed by Chris Fleizach.

This is better practice as ascending the hierarchy could cause
the object to get deleted.

  • accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::textChanged):

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

2:35 PM Changeset in webkit [293359] by Russell Epstein
  • 1 copy in tags/WebKit-7614.1.9.7

Tag WebKit-7614.1.9.7.

2:33 PM Changeset in webkit [293358] by Alan Coon
  • 9 edits in branches/safari-613.2.7.3-branch/Source

Versioning.

WebKit-7613.2.7.3.1

2:28 PM Changeset in webkit [293357] by Alan Coon
  • 2 edits in branches/safari-613.2.7.2-branch/Source/WebCore

Cherry-pick r290860. rdar://problem/89291570

AX: Protect incoming object with Ref in AXObjectCache::textChanged
https://bugs.webkit.org/show_bug.cgi?id=237475

Reviewed by Chris Fleizach.

This is better practice as ascending the hierarchy could cause
the object to get deleted.

  • accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::textChanged):

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

2:27 PM Changeset in webkit [293356] by Alan Coon
  • 9 edits in branches/safari-613.2.7.2-branch/Source

Versioning.

WebKit-7613.2.7.2.1

2:25 PM Changeset in webkit [293355] by Russell Epstein
  • 9 edits in branches/safari-614.1.9-branch/Source

Versioning.

WebKit-7614.1.9.7

2:24 PM Changeset in webkit [293354] by Alan Coon
  • 2 edits in branches/safari-613.2.7.1-branch/Source/WebCore

Cherry-pick r290860. rdar://problem/89291570

AX: Protect incoming object with Ref in AXObjectCache::textChanged
https://bugs.webkit.org/show_bug.cgi?id=237475

Reviewed by Chris Fleizach.

This is better practice as ascending the hierarchy could cause
the object to get deleted.

  • accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::textChanged):

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

2:18 PM Changeset in webkit [293353] by Alan Coon
  • 2 edits in branches/safari-613.2.7.0-branch/Source/WebCore

Revert r293286. rdar://problem/92198272

This reverts r293343.

2:18 PM Changeset in webkit [293352] by Alan Coon
  • 2 edits in branches/safari-613.2.7.0-branch/Source/WebCore

Cherry-pick r290860. rdar://problem/89291570

AX: Protect incoming object with Ref in AXObjectCache::textChanged
https://bugs.webkit.org/show_bug.cgi?id=237475

Reviewed by Chris Fleizach.

This is better practice as ascending the hierarchy could cause
the object to get deleted.

  • accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::textChanged):

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

1:59 PM Changeset in webkit [293351] by Russell Epstein
  • 1 copy in tags/WebKit-7614.1.9.6

Tag WebKit-7614.1.9.6.

1:59 PM Changeset in webkit [293350] by Alan Coon
  • 9 edits in branches/safari-613.2.7.1-branch/Source

Versioning.

WebKit-7613.2.7.1.3

1:57 PM Changeset in webkit [293349] by Russell Epstein
  • 9 edits in branches/safari-614.1.9-branch/Source

Versioning.

WebKit-7614.1.9.6

1:55 PM Changeset in webkit [293348] by ysuzuki@apple.com
  • 8 edits in trunk

[JSC] Enable change-array-by-copy
https://bugs.webkit.org/show_bug.cgi?id=239678

Reviewed by Saam Barati.

  • Source/JavaScriptCore/runtime/OptionsList.h:

Canonical link: https://commits.webkit.org/249964@main

1:52 PM Changeset in webkit [293347] by Alan Coon
  • 2 edits in branches/safari-613.2.7.1-branch/Source/WebCore

Cherry-pick r292430. rdar://problem/92204558

[Cocoa] Video is sometimes not visible after r292049
https://bugs.webkit.org/show_bug.cgi?id=238826

Reviewed by Jer Noble.

RenderVideo::willBeDestroyed calls MediaPlayer::setPageIsVisible, which causes
MediaPlayerPrivateAVFoundationObjC::platformSetVisible to hide the AVPlayerLayer.
HTMLMediaElement::visibilityStateChanged is the only other thing that calls
MediaPlayer::setPageIsVisible, and it only calls it when the page visibility changes,
so if that doesn't happen the AVPlayerLayer is not shown when the renderer is
recreated.

  • rendering/RenderVideo.cpp: (WebCore::RenderVideo::willBeDestroyed): Don't call MediaPlayer::setPageIsVisible(false), the page visibility has not changed.

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

1:52 PM Changeset in webkit [293346] by Alan Coon
  • 2 edits in branches/safari-613.2.7.1-branch/Source/WebCore

Cherry-pick r293286. rdar://problem/92198272

Crash under AsyncScrollingCoordinator::scrollingThreadAddedPendingUpdate()
https://bugs.webkit.org/show_bug.cgi?id=239683
<rdar://92198272>

Reviewed by Alan Bujtas.

Crash data suggest that m_page can be null in
AsyncScrollingCoordinator::scheduleRenderingUpdate(), which does seem possible because
scheduleRenderingUpdate() is a dispatch from the scrolling thread, and
ScrollingCoordinator::pageDestroyed() may have run before it runs.

  • page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::scheduleRenderingUpdate):

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

1:49 PM Changeset in webkit [293345] by Chris Fleizach
  • 6 edits
    2 adds in trunk

AX: Don't expose aria-roledescription value on "generic" elements (e.g. div and span) unless explicit role value is also defined
https://bugs.webkit.org/show_bug.cgi?id=174248
<rdar://problem/33178050>

Reviewed by Andres Gonzalez.

Source/WebCore:

ARIA spec states to not expose the role description on "generic" elements.
https://www.w3.org/TR/wai-aria/#aria-roledescription

Test: accessibility/ignored-aria-role-description.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::supportsARIARoleDescription const):
(WebCore::AccessibilityObject::roleDescription const):

  • accessibility/AccessibilityObject.h:

LayoutTests:

  • accessibility/ignored-aria-role-description-expected.txt: Added.
  • accessibility/ignored-aria-role-description.html: Added.
1:48 PM Changeset in webkit [293344] by Alan Coon
  • 2 edits in branches/safari-613.2.7.0-branch/Source/WebCore

Cherry-pick r292430. rdar://problem/92204558

[Cocoa] Video is sometimes not visible after r292049
https://bugs.webkit.org/show_bug.cgi?id=238826

Reviewed by Jer Noble.

RenderVideo::willBeDestroyed calls MediaPlayer::setPageIsVisible, which causes
MediaPlayerPrivateAVFoundationObjC::platformSetVisible to hide the AVPlayerLayer.
HTMLMediaElement::visibilityStateChanged is the only other thing that calls
MediaPlayer::setPageIsVisible, and it only calls it when the page visibility changes,
so if that doesn't happen the AVPlayerLayer is not shown when the renderer is
recreated.

  • rendering/RenderVideo.cpp: (WebCore::RenderVideo::willBeDestroyed): Don't call MediaPlayer::setPageIsVisible(false), the page visibility has not changed.

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

1:44 PM Changeset in webkit [293343] by Alan Coon
  • 2 edits in branches/safari-613.2.7.0-branch/Source/WebCore

Cherry-pick r293286. rdar://problem/92198272

Crash under AsyncScrollingCoordinator::scrollingThreadAddedPendingUpdate()
https://bugs.webkit.org/show_bug.cgi?id=239683
<rdar://92198272>

Reviewed by Alan Bujtas.

Crash data suggest that m_page can be null in
AsyncScrollingCoordinator::scheduleRenderingUpdate(), which does seem possible because
scheduleRenderingUpdate() is a dispatch from the scrolling thread, and
ScrollingCoordinator::pageDestroyed() may have run before it runs.

  • page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::scheduleRenderingUpdate):

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

1:36 PM Changeset in webkit [293342] by Alan Coon
  • 9 edits in branches/safari-613.2.7.0-branch/Source

Versioning.

WebKit-7613.2.7.0.2

1:09 PM Changeset in webkit [293341] by timothy_horton@apple.com
  • 2 edits in trunk/Source/ThirdParty/libwebrtc

Fix duplicate headers warning in libwebrtc Copy Headers phase
https://bugs.webkit.org/show_bug.cgi?id=239415

Reviewed by Sam Weinig.

  • libwebrtc.xcodeproj/project.pbxproj:

Remove and re-add these files (Xcode won't delete just one copy of them,
because they have the same identifiers).

1:00 PM Changeset in webkit [293340] by Wenson Hsieh
  • 5 edits in trunk/Source/WebKit

[macOS] Only show a context menu action to "Copy Cropped Image" when appropriate
https://bugs.webkit.org/show_bug.cgi?id=239712
rdar://92239384

Reviewed by Darin Adler.

Implement gating for the "Copy Cropped Image" context menu item. This is similar to the current gating mechanism
used for visual look up, wherein the Look Up menu item is asynchronously appended to the context menu.

In this case, we only append the "Copy Cropped Image" menu item in the case where requestImageAnalysisMarkup
completes with a non-null result.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::showContextMenu):
(WebKit::WebPageProxy::contextMenuItemSelected):

  • UIProcess/WebPageProxy.h:

Cache the image analysis results for "Copy Cropped Image" in a member variable, m_croppedImageForContextMenu.

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::getContextMenuFromItems):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::setCroppedImageForContextMenu):
(WebKit::WebPageProxy::handleContextMenuCopyCroppedImage):

12:58 PM Changeset in webkit [293339] by Aditya Keerthi
  • 3 edits in trunk/Source/WebKit

Fix the tvOS and watchOS builds after r293231
https://bugs.webkit.org/show_bug.cgi?id=239736
rdar://92283605

Reviewed by Wenson Hsieh.

  • UIProcess/API/Cocoa/WKWebView.h:

UIFindInteraction is marked unavailable on watchOS and tvOS.

  • UIProcess/API/Cocoa/WKWebView.mm:

Use platform-checks rather than the existing HAVE macro, so that these
methods are still implemented in older builds. There are no version
checks in WKWebView.h.

12:54 PM Changeset in webkit [293338] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: response overrides with an error status code should indicate that somewhere
https://bugs.webkit.org/show_bug.cgi?id=239676

Reviewed by Patrick Angle.

  • UserInterface/Views/LocalResourceOverrideTreeElement.js:

(WI.LocalResourceOverrideTreeElement.prototype.updateStatus):
Also have the WI.LocalResourceOverrideTreeElement add/remove the "error" CSS class
depening on the state of the related WI.LocalResource (which is what's done for "regular"
WI.ResourceTreeElement and WI.Resource).

12:09 PM Changeset in webkit [293337] by ntim@apple.com
  • 4 edits in trunk/Source/WebCore

Unprefix html.css, fullscreen.css and pdfjs-extras
https://bugs.webkit.org/show_bug.cgi?id=239725

Reviewed by Brent Fulgham.

Use unprefixed versions of CSS values & properties.
Excluded text-align: -webkit-center which has different behavior than text-align: center.

  • Modules/pdfjs-extras/adwaita/style.css:

(.dropdownToolbarButton > select):

  • css/fullscreen.css:

(:-webkit-full-screen-ancestor:not(iframe)):

  • css/html.css:

(input, textarea, select, button, meter, progress):
(#if defined(ENABLE_DATE_AND_TIME_INPUT_TYPES) && ENABLE_DATE_AND_TIME_INPUT_TYPES):
(input::-webkit-credentials-auto-fill-button):
(input::-webkit-contacts-auto-fill-button):
(input::-webkit-credit-card-auto-fill-button):
(::-webkit-validation-bubble-message):
(::-webkit-validation-bubble-arrow):

11:49 AM Changeset in webkit [293336] by Alan Coon
  • 1 copy in tags/WebKit-7613.2.7.1.2

Tag WebKit-7613.2.7.1.2.

11:33 AM Changeset in webkit [293335] by Alan Coon
  • 9 edits in branches/safari-613.2.7.1-branch/Source

Versioning.

WebKit-7613.2.7.1.2

11:29 AM Changeset in webkit [293334] by ntim@apple.com
  • 59 edits in trunk/Source/WebInspectorUI

Web Inspector: Unprefix CSS properties in source code
https://bugs.webkit.org/show_bug.cgi?id=239517

Reviewed by Patrick Angle.

Properties:
-webkit-appearance
-webkit-mask-image
-webkit-clip-path
-webkit-text-decoration-*
-webkit-user-select

Values:
cursor: -webkit-grab/grabbing
-webkit-fill-available

JS Properties:
webkitTransform

Media queries:
-webkit-device-pixel-ratio
-webkit-min-device-pixel-ratio
-webkit-max-device-pixel-ratio

Also used shorthand properties there and there.

  • UserInterface/Debug/UncaughtExceptionReporter.css:

(.sheet-container):
(.uncaught-exception-sheet li):

  • UserInterface/Views/AuditTestCaseContentView.css:

(.content-view.audit-test-case > section table > tr > td > :not(.tree-outline)):

  • UserInterface/Views/AuditTestContentView.css:

(.content-view.audit-test.manager-editing > header :is(.name, .description)[contenteditable]):

  • UserInterface/Views/BoxShadowEditor.css:

(.box-shadow-editor > table > tr > td > input[type="text"]):

  • UserInterface/Views/BreakpointActionView.css:

(.breakpoint-action-eval-editor):

  • UserInterface/Views/BreakpointPopover.css:

(.popover .edit-breakpoint-popover-content > table > tr.condition > td > .editor):

  • UserInterface/Views/BreakpointTreeElement.css:

(.item.breakpoint .status > .status-image.auto-continue::after):

  • UserInterface/Views/CPUTimelineView.css:

(.timeline-view.cpu > .content > .overview .legend):
(.timeline-view.cpu > .content > .overview > .chart > .container.stats):

  • UserInterface/Views/CPUUsageCombinedView.css:

(.cpu-usage-combined-view > .details):

  • UserInterface/Views/ChangesDetailsSidebarPanel.css:

(.sidebar > .panel.changes-panel .css-rule):

  • UserInterface/Views/CodeMirrorOverrides.css:

(.CodeMirror-linewidget):

  • UserInterface/Views/ColorSquare.css:

(@media (-webkit-device-pixel-ratio: 1) .color-square > .srgb-edge): Deleted.

  • UserInterface/Views/ComputedStyleSection.css:

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

  • UserInterface/Views/ConsoleMessageView.css:

(.console-user-command.special-user-log > .console-message-body):
(.console-message-body > span):
(.console-message-body > span > :matches(.console-message-enclosed, .console-message-preview, .console-message-preview-divider)):
(.console-message .console-message-extra-parameters-container > li,):
(.console-user-command > .console-message-body):

  • UserInterface/Views/CookiePopover.css:

(.popover .cookie-popover-content > table > tr > td > input:matches([type="text"], [type="datetime-local"])):

  • UserInterface/Views/DOMEventsBreakdownView.css:

(.waterfall-popover-content .dom-events-breakdown):

  • UserInterface/Views/DOMTreeOutline.css:

(.tree-outline.dom.non-selectable):
(.tree-outline.dom li .selection-area):

  • UserInterface/Views/DatabaseContentView.css:

(:matches(.database-user-query, .database-query-result)::before):
(.database-query-text):
(.database-query-result.error):
(.database-query-result.no-results):

  • UserInterface/Views/DetailsSection.css:

(.details-section > .content > .group > .row.simple > .value):
(.details-section > .content > .group > .row.text):
(@media (-webkit-min-device-pixel-ratio: 2) .details-section,): Deleted.

  • UserInterface/Views/Editing.css:

(.editing):

  • UserInterface/Views/EventBreakpointPopover.css:

(.popover .edit-breakpoint-popover-content .event input):

  • UserInterface/Views/FilterBar.css:

(:matches(.filter-bar, .search-bar) > input[type="search"]):
(:matches(.filter-bar, .search-bar) > input[type="search"]::-webkit-search-decoration):

  • UserInterface/Views/FindBanner.css:

(.find-banner > input[type="search"]):
(.find-banner > button):

  • UserInterface/Views/FontResourceContentView.css:

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

  • UserInterface/Views/FormattedValue.css:

(.formatted-node > .tree-outline.dom li):

  • UserInterface/Views/GeneralStyleDetailsSidebarPanel.css:

(.sidebar > .panel.details.css-style > .content ~ .options-container > .filter-bar):
(.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle):

  • UserInterface/Views/GoToLineDialog.css:

(.go-to-line-dialog > div > input):

  • UserInterface/Views/GradientEditor.css:

(.gradient-editor > .gradient-angle > input::-webkit-inner-spin-button):

  • UserInterface/Views/GradientSlider.js:

(WI.GradientSliderKnob.prototype._updateTransform):
(WI.GradientSliderKnob):

  • UserInterface/Views/ImageResourceContentView.css:

(.content-view.resource.image img):

  • UserInterface/Views/IndexedDatabaseContentView.css:

(.indexed-database.content-view):

  • UserInterface/Views/InlineSwatch.css:

(@media (-webkit-max-device-pixel-ratio: 1) .inline-swatch): Deleted.

  • UserInterface/Views/InputPopover.css:

(.popover .input-popover-content > .editor):

  • UserInterface/Views/LocalResourceOverrideLabelView.css:

(.local-resource-override-label-view > div > .url):

  • UserInterface/Views/LocalResourceOverridePopover.css:

(.popover .local-resource-override-popover-content .editor):

  • UserInterface/Views/Main.css:

(body):
(input[type=range]):
(.message-text-view):
(.resource-link,):
(.go-to-arrow):
(.css-documentation-button):
(.search-settings):
(.expand-list-button):
(.bouncy-highlight):
(@media (-webkit-device-pixel-ratio: 1) .reference-page-link): Deleted.

  • UserInterface/Views/NetworkResourceDetailView.css:

(.content-view.resource-details):

  • UserInterface/Views/NetworkTableContentView.css:

(.network-table > .statistics > .statistic > .text):

  • UserInterface/Views/ObjectTreeView.css:

(.tree-outline.object li):

  • UserInterface/Views/OpenResourceDialog.css:

(.open-resource-dialog > .field > input):

  • UserInterface/Views/RecordingContentView.css:

(.content-view.recording > .preview-container):

  • UserInterface/Views/ResourceCookiesContentView.css:

(.resource-cookies .table > .header):

  • UserInterface/Views/ResourceHeadersContentView.css:

(.resource-headers .go-to-link):
(.resource-headers .call-stack):

  • UserInterface/Views/ResourceTimingBreakdownView.css:

(.waterfall-popover-content .resource-timing-breakdown):

  • UserInterface/Views/ResourceTreeElement.css:

(.item.resource.resource-type-websocket .status > .ready-state):

  • UserInterface/Views/ScopeChainDetailsSidebarPanel.css:

(.watch-expression-editor):

  • UserInterface/Views/Slider.css:

(@media (-webkit-min-device-pixel-ratio: 2) .slider): Deleted.

  • UserInterface/Views/SourceCodeTextEditor.css:

(.source-code.text-editor > .CodeMirror .line-indicator-widget.inline):
(@media (-webkit-min-device-pixel-ratio: 2) .popover .debugger-popover-content > .body): Deleted.

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:

(.spreadsheet-style-declaration-editor):
(.spreadsheet-style-declaration-editor > .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) > .content > *:not(.name, .value-container),):
(.spreadsheet-style-declaration-editor > .property.invalid-name:not(.disabled) > .content > *:not(.name, .value-container),):
(body:not(.meta-key-pressed) .spreadsheet-style-declaration-editor > .property.invalid-value:not(.disabled) > .content .value:not(.editing),):
(.spreadsheet-style-declaration-editor .property.has-warning .warning):

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:

(.spreadsheet-css-declaration):
(.spreadsheet-css-declaration.selecting,):
(.spreadsheet-css-declaration .selector > .icon):

  • UserInterface/Views/SpringEditor.css:

(.spring-editor > .number-input-container > .number-input-row > input::-webkit-inner-spin-button):

  • UserInterface/Views/TextEditor.css:

(.text-editor > .CodeMirror .has-breakpoint .CodeMirror-linenumber::before):
(.text-editor > .CodeMirror .breakpoint-auto-continue:not(.execution-line.primary) .CodeMirror-linenumber::after):

  • UserInterface/Views/TimelineRecordFrame.css:

(.timeline-record-frame.tall):

  • UserInterface/Views/TimelineRuler.css:

(.timeline-ruler:not(.disabled, .resizing-selection) > .selection-drag):
(.timeline-ruler:not(.disabled, .resizing-selection) > .selection-drag:active):

  • UserInterface/Views/TreeOutline.css:

(.tree-outline .item .disclosure-button):

  • UserInterface/Views/TypeTreeElement.css:

(.item.type-tree-element > .disclosure-button):

  • UserInterface/Views/TypeTreeView.css:

(.tree-outline.type li):

  • UserInterface/Views/URLBreakpointPopover.css:

(.popover .edit-breakpoint-popover-content .url .editor):
(@media (prefers-color-scheme: dark) .popover .edit-breakpoint-popover-content .url .editor):

11:25 AM Changeset in webkit [293333] by Antti Koivisto
  • 4 edits
    2 adds in trunk

[CSS Typed OM] Fix AttributeStyleMap.get for list values
https://bugs.webkit.org/show_bug.cgi?id=239716

Reviewed by Alan Bujtas.

Source/WebCore:

Test: css-typedom/typed-om-perspective-value.html

  • css/typedom/CSSStyleValueFactory.cpp:

(WebCore::CSSStyleValueFactory::reifyValue):

The list here hasn't been deep copied. Don't move away a member.

  • css/typedom/CSSStyleValueFactory.h:

Passing Ref<>&& instead of Ref<> here is a bug-prone over-optimization.

LayoutTests:

  • css-typedom/typed-om-perspective-value-expected.txt: Added.
  • css-typedom/typed-om-perspective-value.html: Added.
11:19 AM Changeset in webkit [293332] by ntim@apple.com
  • 7 edits in trunk/Source/WebCore

Unprefix modern-media-controls CSS properties
https://bugs.webkit.org/show_bug.cgi?id=239726

Reviewed by Eric Carlson.

  • Modules/modern-media-controls/controls/button.css:

(button):
(button > picture):

  • Modules/modern-media-controls/controls/button.js:

(Button.prototype.commitProperty):

  • Modules/modern-media-controls/controls/media-controls.css:

(.media-controls > *):

  • Modules/modern-media-controls/controls/slider.css:

(.slider > input):
(.ios .slider > input):
(.slider > input::-webkit-slider-thumb):

  • Modules/modern-media-controls/controls/text-tracks.css:

(video::-webkit-media-text-track-container):

  • Modules/modern-media-controls/controls/watchos-activity-indicator.css:

(button.watchos-activity-indicator > picture):

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

[build.webkit.org] Use GitHub checkouts (Follow-up)
https://bugs.webkit.org/show_bug.cgi?id=239072
<rdar://problem/91567092>

Unreviewed follow-up fix.

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

(CheckOutSource.init): Use the specified commit, not the latest.

10:20 AM WebKitGTK/2.36.x edited by Michael Catanzaro
(diff)
9:41 AM Changeset in webkit [293330] by Claudio Saavedra
  • 2 edits in trunk/Source/WebCore

[GStreamer] Remove unused rtc variable
https://bugs.webkit.org/show_bug.cgi?id=239727

Reviewed by Philippe Normand.

  • Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp:

(WebCore::GStreamerMediaEndpoint::addTrack):

9:10 AM Changeset in webkit [293329] by Chris Dumez
  • 35 edits
    5 adds in trunk

Web Locks held in a Worker are not released on page refresh or exit
https://bugs.webkit.org/show_bug.cgi?id=239614
<rdar://problem/92173575>

Reviewed by Alex Christensen.

Before a web worker olding a lock would terminate, WebLockManager::stop() would get called
and it would attempt to release all locks held by the worker. However, because we're off
the main thread and because the lock registry was held by the Page on the main thread,
we would rely on a call to workerLoaderProxy().postTaskToLoader() to get back to the
main thread and access the lock registry via the Document's page. However, this wasn't
reliable because the task posted to postTaskToLoader() could get dropped if the worker's
Document is also going away (which is the case when reloading or navigating away).

To address the issue, the WebLockRegistry can now be accessed directly (on the main thread),
without having to go through a Page. As a result, we can simply do a callOnMainThread()
and then access WebLockRegistry::shared(), which is always reliable. To maintain the
previous behavior for WebKitLegacy, I also partitioned the WebLockRegistry per sessionID
since we don't want views sharing the same locks if one is using the default session and
the other is using a private session. This wasn't an issue for modern WebKit since there
is a single session per WebProcess.

To achieve this, I had to made sure that WorkerOrWorkletGlobalScope::sessionID() was returning
a valid value. This worked for ServiceWorkerGlobalScope but not for other types or workers /
worklets global scopes.

Test: workers/worker-web-lock-released-on-reload.html

  • Source/WebKit/UIProcess/WebLockRegistryProxy.cpp:

(WebKit::WebLockRegistryProxy::requestLock):
(WebKit::WebLockRegistryProxy::releaseLock):
(WebKit::WebLockRegistryProxy::abortLockRequest):
(WebKit::WebLockRegistryProxy::snapshot):
(WebKit::WebLockRegistryProxy::clientIsGoingAway):

  • Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp:

(WebKit::WebSWContextManagerConnection::installServiceWorker):

  • Source/WebKit/WebProcess/Storage/WebSharedWorkerContextManagerConnection.cpp:

(WebKit::WebSharedWorkerContextManagerConnection::launchSharedWorker):

  • Source/WebKit/WebProcess/WebCoreSupport/RemoteWebLockRegistry.cpp:

(WebKit::RemoteWebLockRegistry::requestLock):
(WebKit::RemoteWebLockRegistry::releaseLock):
(WebKit::RemoteWebLockRegistry::abortLockRequest):
(WebKit::RemoteWebLockRegistry::snapshot):
(WebKit::RemoteWebLockRegistry::clientIsGoingAway):

  • Source/WebKit/WebProcess/WebCoreSupport/RemoteWebLockRegistry.h:
  • Source/WebKit/WebProcess/WebPage/WebPage.cpp:

(WebKit::m_appHighlightsVisible):

  • Source/WebKit/WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess):

  • Source/WebKit/WebProcess/WebProcess.h:

(WebKit::WebProcess::broadcastChannelRegistry):
(WebKit::WebProcess::webLockRegistry): Deleted.

  • Source/WebKitLegacy/mac/WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
(getOrCreateWebLockRegistry): Deleted.

  • Source/WebKitLegacy/win/WebView.cpp:

(WebView::initWithFrame):
(getOrCreateWebLockRegistry): Deleted.
Test: workers/worker-web-lock-released-on-reload.html

  • Source/WebCore/Modules/web-locks/WebLockManager.cpp:

(WebCore::WebLockManager::MainThreadBridge::create):
(WebCore::WebLockManager::MainThreadBridge::MainThreadBridge):
(WebCore::WebLockManager::MainThreadBridge::requestLock):
(WebCore::WebLockManager::MainThreadBridge::releaseLock):
(WebCore::WebLockManager::MainThreadBridge::abortLockRequest):
(WebCore::WebLockManager::MainThreadBridge::query):
(WebCore::WebLockManager::MainThreadBridge::clientIsGoingAway):
(WebCore::WebLockManager::MainThreadBridge::ensureOnMainThread): Deleted.

  • Source/WebCore/Modules/web-locks/WebLockRegistry.cpp:

(WebCore::sharedRegistry):
(WebCore::WebLockRegistry::shared):
(WebCore::WebLockRegistry::setSharedRegistry):
(WebCore::LocalWebLockRegistry::ensureRegistryForOrigin):
(WebCore::LocalWebLockRegistry::existingRegistryForOrigin const):
(WebCore::LocalWebLockRegistry::PerOriginRegistry::create):
(WebCore::LocalWebLockRegistry::PerOriginRegistry::PerOriginRegistry):
(WebCore::LocalWebLockRegistry::PerOriginRegistry::~PerOriginRegistry):
(WebCore::LocalWebLockRegistry::requestLock):
(WebCore::LocalWebLockRegistry::releaseLock):
(WebCore::LocalWebLockRegistry::abortLockRequest):
(WebCore::LocalWebLockRegistry::snapshot):
(WebCore::LocalWebLockRegistry::clientIsGoingAway):
(WebCore::LocalWebLockRegistry::clientsAreGoingAway):

  • Source/WebCore/Modules/web-locks/WebLockRegistry.h:
  • Source/WebCore/Modules/webaudio/AudioWorkletMessagingProxy.cpp:

(WebCore::generateWorkletParameters):

  • Source/WebCore/dom/Document.h:
  • Source/WebCore/loader/EmptyClients.cpp:

(WebCore::pageConfigurationWithEmptyClients):

  • Source/WebCore/page/Page.cpp:

(WebCore::Page::Page):

  • Source/WebCore/page/Page.h:

(WebCore::Page::webLockRegistry): Deleted.

  • Source/WebCore/page/PageConfiguration.cpp:

(WebCore::PageConfiguration::PageConfiguration):

  • Source/WebCore/page/PageConfiguration.h:
  • Source/WebCore/workers/Worker.cpp:

(WebCore::Worker::notifyFinished):

  • Source/WebCore/workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::WorkerGlobalScope):

  • Source/WebCore/workers/WorkerGlobalScopeProxy.h:
  • Source/WebCore/workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerMessagingProxy::startWorkerGlobalScope):

  • Source/WebCore/workers/WorkerMessagingProxy.h:
  • Source/WebCore/workers/WorkerOrWorkletGlobalScope.cpp:

(WebCore::WorkerOrWorkletGlobalScope::WorkerOrWorkletGlobalScope):

  • Source/WebCore/workers/WorkerOrWorkletGlobalScope.h:

(WebCore::WorkerOrWorkletGlobalScope::WorkerOrWorkletGlobalScope):

  • Source/WebCore/workers/WorkerThread.h:
  • Source/WebCore/workers/service/ServiceWorkerGlobalScope.cpp:

(WebCore::ServiceWorkerGlobalScope::create):
(WebCore::ServiceWorkerGlobalScope::ServiceWorkerGlobalScope):

  • Source/WebCore/workers/service/ServiceWorkerGlobalScope.h:
  • Source/WebCore/workers/service/context/ServiceWorkerThread.cpp:

(WebCore::ServiceWorkerThread::createWorkerGlobalScope):

  • Source/WebCore/workers/shared/context/SharedWorkerThreadProxy.cpp:

(WebCore::generateWorkerParameters):

  • Source/WebCore/worklets/WorkletGlobalScope.cpp:

(WebCore::WorkletGlobalScope::WorkletGlobalScope):

  • Source/WebCore/worklets/WorkletParameters.h:

(WebCore::WorkletParameters::isolatedCopy const):
(WebCore::WorkletParameters::isolatedCopy):

  • LayoutTests/workers/resources/worker-web-lock-released-on-reload-popup.html: Added.
  • LayoutTests/workers/resources/worker-web-lock-released-on-reload-worker.js: Added.
  • LayoutTests/workers/worker-web-lock-released-on-reload-expected.txt: Added.
  • LayoutTests/workers/worker-web-lock-released-on-reload.html: Added.

Canonical link: https://commits.webkit.org/249952@main

8:37 AM Changeset in webkit [293328] by Claudio Saavedra
  • 2 edits in trunk/Source/WebKit

[GLIB] Default-handle recently-added ProcessTerminationReason values
https://bugs.webkit.org/show_bug.cgi?id=239720

Reviewed by Philippe Normand.

  • UIProcess/API/glib/WebKitNavigationClient.cpp: Add a couple of

new values for ProcessTerminationReason that were added on r292912
to silent some compile-time warnings.

8:25 AM Changeset in webkit [293327] by Jonathan Bedard
  • 4 edits in trunk/Tools

[ews-build.webkit.org] Support alternative remotes
https://bugs.webkit.org/show_bug.cgi?id=239617
<rdar://problem/92115230>

Reviewed by Aakash Jain.

  • Tools/CISupport/ews-build/events.py:

(GitHubEventHandlerNoEdits):
(GitHubEventHandlerNoEdits.extractProperties): Remove sensative fields from non-public
pull requests.
(GitHubEventHandlerNoEdits.handle_pull_request): Generalize label process sleep.

  • Tools/CISupport/ews-build/steps.py:

(CheckOutPullRequest.run): Checkout with EWS credentials.

  • Tools/CISupport/ews-build/steps_unittest.py:

Canonical link: https://commits.webkit.org/249949@main

8:25 AM Changeset in webkit [293326] by Chris Dumez
  • 81 edits in trunk

Replace String::replace() functions with makeStringByReplacingAll() free functions
https://bugs.webkit.org/show_bug.cgi?id=239685

Reviewed by Darin Adler.

Replace String::replace() functions with makeStringByReplacingAll() free functions.

"All" is added to the name since every instance is replaced, not just the first one.
Making it a free function that returns a new String is a step towards making String
immutable.

In the future, we may want to add a makeStringByReplacingAll() that takes in a
StringView instead of a const String. Some call sites would benefit from that.

  • Tools/TestWebKitAPI/Tests/WTF/StringBuilder.cpp:

(TestWebKitAPI::TEST):

  • Tools/TestWebKitAPI/Tests/WTF/WTFString.cpp:

(TestWebKitAPI::TEST):

  • Tools/TestWebKitAPI/Tests/WebKit/OverrideAppleLanguagesPreference.mm:

(AppleLanguagesTest::AppleLanguagesTest):

  • Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp:

(WTR::AccessibilityUIElement::stringValue):
(WTR::AccessibilityUIElement::attributedStringForRange):

  • Source/JavaScriptCore/inspector/agents/InspectorAuditAgent.cpp:

(Inspector::InspectorAuditAgent::run):

  • Source/JavaScriptCore/jit/ExecutableAllocator.cpp:

(JSC::dumpJITMemory):

  • Source/JavaScriptCore/runtime/TypeProfiler.cpp:

(JSC::TypeProfiler::logTypesForTypeLocation):

  • Source/JavaScriptCore/runtime/TypeSet.cpp:

(JSC::StructureShape::propertyHash):

  • Source/JavaScriptCore/yarr/RegularExpression.cpp:

(JSC::Yarr::replace):

  • Source/WebCore/PAL/pal/text/TextCodecICU.cpp:

(PAL::TextCodecICU::encode const):

  • Source/WebKit/NetworkProcess/DatabaseUtilities.cpp:

(WebKit::DatabaseUtilities::stripIndexQueryToMatchStoredValue):

  • Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::escapeForJSON):

  • Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp:

(webkit_web_context_set_preferred_languages):

  • Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::insertText):

  • Source/WebKit/WebProcess/WebCoreSupport/WebContextMenuClient.cpp:

(WebKit::WebContextMenuClient::searchWithGoogle):

  • Source/WebKit/WebProcess/WebCoreSupport/WebResourceLoadObserver.cpp:

(WebKit::WebResourceLoadObserver::logUserInteractionWithReducedTimeResolution):

  • Source/WebKitLegacy/mac/WebView/WebHTMLRepresentation.mm:

(matchLabelsAgainstString):

  • Source/WebKitLegacy/mac/WebView/WebHTMLView.mm:

(-[WebHTMLView insertText:]):

  • Source/WebKitLegacy/win/DOMHTMLClasses.cpp:

(DOMHTMLInputElement::replaceCharactersInRange):

  • Source/WebKitLegacy/win/WebCoreSupport/WebContextMenuClient.cpp:

(WebContextMenuClient::searchWithGoogle):

  • Source/WebKitLegacy/win/WebLocalizableStrings.cpp:

(LocalizedString::operator LPCTSTR const):

  • Source/WTF/wtf/Language.cpp:

(WTF::canonicalLanguageIdentifier):

  • Source/WTF/wtf/URLHelpers.cpp:

(WTF::URLHelpers::mapHostNames):

  • Source/WTF/wtf/URLParser.cpp:

(WTF::URLParser::parseURLEncodedForm):

  • Source/WTF/wtf/text/StringView.h:

(WTF::makeStringByReplacingAll):
(WTF::makeStringByReplacing):
(WTF::String::replace): Deleted.

  • Source/WTF/wtf/text/WTFString.h:

(WTF::makeStringByReplacingAll):
(WTF::String::replace): Deleted.

  • Source/WTF/wtf/unix/LanguageUnix.cpp:

(WTF::platformLanguage):

  • Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:

(WebCore::IDBServer::SQLiteIDBBackingStore::encodeDatabaseName):
(WebCore::IDBServer::SQLiteIDBBackingStore::decodeDatabaseName):

  • Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp:

(WebCore::GStreamerMediaEndpoint::setConfiguration):

  • Source/WebCore/Modules/plugins/YouTubePluginReplacement.cpp:

(WebCore::queryKeysAndValues):

  • Source/WebCore/accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::determineDropEffects const):

  • Source/WebCore/accessibility/atspi/AccessibilityAtspi.cpp:

(WebCore::AccessibilityAtspi::registerRoot):
(WebCore::AccessibilityAtspi::registerObject):
(WebCore::AccessibilityAtspi::registerHyperlink):

  • Source/WebCore/contentextensions/ContentExtensionActions.cpp:

(WebCore::ContentExtensions::RedirectAction::RegexSubstitutionAction::applyToURL const):

  • Source/WebCore/contentextensions/ContentExtensionParser.cpp:

(WebCore::ContentExtensions::getDomainList):

  • Source/WebCore/css/parser/CSSTokenizer.cpp:

(WebCore::CSSTokenizer::preprocessString):

  • Source/WebCore/display/css/DisplayTextBox.cpp:

(WebCore::Display::TextBox::debugDescription const):

  • Source/WebCore/dom/Document.cpp:

(WebCore::Document::displayStringModifiedByEncoding const):

  • Source/WebCore/dom/Node.cpp:

(WebCore::Node::showNode const):

  • Source/WebCore/dom/Text.cpp:

(WebCore::appendTextRepresentation):

  • Source/WebCore/dom/ViewportArguments.cpp:

(WebCore::viewportErrorMessage):

  • Source/WebCore/editing/EditingStyle.cpp:

(WebCore::StyleChange::extractTextStyles):

  • Source/WebCore/editing/Editor.cpp:

(WebCore::Editor::selectedText const):

  • Source/WebCore/editing/FrameSelection.cpp:

(WebCore::FrameSelection::debugRenderer const):

  • Source/WebCore/editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):

  • Source/WebCore/editing/TextIterator.cpp:

(WebCore::foldQuoteMarks):

  • Source/WebCore/editing/VisibleUnits.cpp:

(WebCore::charactersAroundPosition):

  • Source/WebCore/editing/cocoa/EditorCocoa.mm:

(WebCore::Editor::stringSelectionForPasteboard):
(WebCore::Editor::stringSelectionForPasteboardWithImageAltText):

  • Source/WebCore/editing/cocoa/HTMLConverter.mm:

(WebCore::editingAttributedString):

  • Source/WebCore/editing/markup.cpp:

(WebCore::StyledMarkupAccumulator::takeResults):
(WebCore::createFragmentFromText):

  • Source/WebCore/html/HTMLElement.cpp:

(WebCore::HTMLElement::setInnerText):

  • Source/WebCore/html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::setValueCommon):

  • Source/WebCore/html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::setRangeText):

  • Source/WebCore/html/LinkRelAttribute.cpp:

(WebCore::LinkRelAttribute::LinkRelAttribute):

  • Source/WebCore/html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):

  • Source/WebCore/html/URLDecomposition.cpp:

(WebCore::URLDecomposition::setSearch):

  • Source/WebCore/inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheet::setRuleSelector):
(WebCore::InspectorStyleSheet::styleSheetTextWithChangedStyle):

  • Source/WebCore/layout/layouttree/LayoutTreeBuilder.cpp:

(WebCore::Layout::outputLayoutBox):

  • Source/WebCore/loader/FormSubmission.cpp:

(WebCore::appendMailtoPostFormDataToURL):
(WebCore::encodingFromAcceptCharset):

  • Source/WebCore/page/Frame.cpp:

(WebCore::matchLabelsAgainstString):

  • Source/WebCore/platform/LocalizedStrings.cpp:

(WebCore::contextMenuItemTagLookUpInDictionary):
(WebCore::imageTitle):
(WebCore::webCryptoMasterKeyKeychainLabel):

  • Source/WebCore/platform/graphics/avfoundation/objc/AVStreamDataParserMIMETypeCache.mm:

(WebCore::AVStreamDataParserMIMETypeCache::canDecodeExtendedType):

  • Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::configureDownloadBuffer):

  • Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:

(WebCore::AppendPipeline::AppendPipeline):
(WebCore::AppendPipeline::handleStateChangeMessage):

  • Source/WebCore/platform/gtk/SelectionData.cpp:

(WebCore::replaceNonBreakingSpaceWithSpace):

  • Source/WebCore/platform/mediastream/gstreamer/GStreamerDisplayCaptureDeviceManager.cpp:

(WebCore::GStreamerDisplayCaptureDeviceManager::createDisplayCaptureSource):

  • Source/WebCore/platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::sanitizeSuggestedFilename):

  • Source/WebCore/platform/network/soup/ResourceRequestSoup.cpp:

(WebCore::ResourceRequest::createSoupURI const):

  • Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp:

(WebCore::sanitizeFilename):

  • Source/WebCore/platform/text/DateTimeFormat.cpp:

(WebCore::DateTimeFormat::quoteAndAppendLiteral):

  • Source/WebCore/platform/text/LocaleToScriptMapping.cpp:

(WebCore::localeToScriptCodeForFontSelection):

  • Source/WebCore/platform/text/hyphen/HyphenationLibHyphen.cpp:

(WebCore::scanDirectoryForDictionaries):

  • Source/WebCore/platform/text/win/LocaleWin.cpp:

(WebCore::LocaleWin::shortMonthFormat):

  • Source/WebCore/platform/win/ClipboardUtilitiesWin.cpp:

(WebCore::replaceNBSPWithSpace):

  • Source/WebCore/rendering/LegacyInlineTextBox.cpp:

(WebCore::LegacyInlineTextBox::outputLineBox const):

  • Source/WebCore/rendering/RenderBlock.cpp:

(WebCore::RenderBlock::updateSecurityDiscCharacters):

  • Source/WebCore/rendering/RenderObject.cpp:

(WebCore::RenderObject::outputRenderObject const):

  • Source/WebCore/rendering/RenderText.cpp:

(WebCore::RenderText::setRenderedText):

  • Source/WebCore/rendering/svg/RenderSVGInlineText.cpp:

(WebCore::applySVGWhitespaceRules):

  • Source/WebCore/xml/XSLTProcessor.cpp:

(WebCore::transformTextStringToXHTMLDocumentString):

Canonical link: https://commits.webkit.org/249949@main

7:12 AM Changeset in webkit [293325] by aakash_jain@apple.com
  • 1 edit in trunk/Tools/CISupport/build-webkit-org/config.json

[build.webkit.org] Delete builddir key from config.json
https://bugs.webkit.org/show_bug.cgi?id=239718

Reviewed by Jonathan Bedard.

  • Tools/CISupport/build-webkit-org/config.json:

Canonical link: https://commits.webkit.org/249948@main

6:58 AM Changeset in webkit [293324] by Claudio Saavedra
  • 2 edits in trunk/Source/JavaScriptCore

[GLIB] Remove leftover unused variable from r292929
https://bugs.webkit.org/show_bug.cgi?id=239715

Reviewed by Philippe Normand.

  • API/glib/JSCWrapperMap.cpp:

(JSC::WrapperMap::wrappedObject const): VM& vm is unused,
remove.

6:31 AM Changeset in webkit [293323] by Jonathan Bedard
  • 6 edits in trunk/Tools

[build.webkit.org] Use GitHub checkouts
https://bugs.webkit.org/show_bug.cgi?id=239072
<rdar://problem/91567092>

Reviewed by Ryan Haddad.

  • Tools/CISupport/build-webkit-org/config.json: Convert schedulers to GitHub based branch names.
  • Tools/CISupport/build-webkit-org/loadConfig.py: Ditto.
  • Tools/CISupport/build-webkit-org/master.cfg: Enable incoming hooks from GitHub.

(load_password): Added.

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

(CheckOutSource): Replace with GitHub based checkout.
(CleanUpGitIndexLock): Replaced SVNCleanup.
(SVNCleanup): Replace with CleanUpGitIndexLock.
(ShowIdentifier.start): got_revision will bet hash, not subversion revision.

  • Tools/CISupport/build-webkit-org/steps_unittest.py:

(TestShowIdentifier.test_success):
(TestShowIdentifier.test_failure):

Canonical link: https://commits.webkit.org/249946@main

6:06 AM Changeset in webkit [293322] by Ziran Sun
  • 7 edits in trunk

UA stylesheet should include table { text-indent: initial } to conform with HTML standard
https://bugs.webkit.org/show_bug.cgi?id=201297

Reviewed by Tim Nguyen.

LayoutTests/imported/w3c:

  • web-platform-tests/html/rendering/non-replaced-elements/form-controls/resets-expected.txt:
  • web-platform-tests/html/rendering/non-replaced-elements/tables/table-ua-stylesheet-expected.txt:

Source/WebCore:

As per [1], text-indent for table should be initial.
[1] https://html.spec.whatwg.org/multipage/rendering.html#tables-2

  • css/html.css:

(table):

LayoutTests:

  • platform/glib/imported/w3c/web-platform-tests/html/rendering/non-replaced-elements/form-controls/resets-expected.txt:
5:56 AM Changeset in webkit [293321] by ntim@apple.com
  • 2 edits in trunk/Tools

Fix typo in Tools/CISupport/ews-build/steps.py

Unreviewed.

  • CISupport/ews-build/steps.py:

(UpdateWorkingDirectory):

4:47 AM Changeset in webkit [293320] by commit-queue@webkit.org
  • 7 edits
    2 adds in trunk

REGRESSION (249585@main): TestWebKitAPI.IPCTestingAPI.CanReceiveIPCSemaphore is timing out
https://bugs.webkit.org/show_bug.cgi?id=239507

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-04-25
Reviewed by Wenson Hsieh.

Source/WebKit:

Add purpose-built test interfaces for testing sending IPC::Semaphore via the IPC.

Test: ipc/send-semaphore.html

  • Shared/IPCTester.cpp:

(WebKit::IPCTester::sendSameSemaphoreBack):
(WebKit::IPCTester::sendSemaphoreBackAndSignalProtocol):

  • Shared/IPCTester.h:
  • Shared/IPCTester.messages.in:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:

Move CanReceiveIPCSemaphore and CanSendIPCSemaphore test logic
to LayoutTests/ipc/send-semaphore.html
The tests were using audio and canvas implementation detail
messages to test that IPC system can send IPC::Semaphore via IPC.
Canvas implementation details changed and the test started
to fail.

The new tests use IPC messages that are purpose-built to test this
feature. The new tests also actually test that the sent semaphores
work.

LayoutTests:

  • ipc/send-semaphore-expected.txt: Added.
  • ipc/send-semaphore.html: Added.
2:20 AM Changeset in webkit [293319] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer] Disable new demuxers based on adaptivedemux2
https://bugs.webkit.org/show_bug.cgi?id=239701

Patch by Philippe Normand <pnormand@igalia.com> on 2022-04-25
Reviewed by Xabier Rodriguez-Calvar.

The new demuxers based on adaptivedemux2 cannot be used in WebKit yet because this new base
class does not abstract away network access. They can't work in a sandboxed media process,
so demote their rank in order to prevent decodebin3 from auto-plugging them.

  • platform/graphics/gstreamer/GStreamerCommon.cpp:

(WebCore::registerWebKitGStreamerElements):

Canonical link: https://commits.webkit.org/249942@main

12:57 AM Changeset in webkit [293318] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[git] Allow pre-commit hook to feed from staged ChangeLogs
https://bugs.webkit.org/show_bug.cgi?id=239419

Patch by Philippe Normand <pnormand@igalia.com> on 2022-04-25
Reviewed by Jonathan Bedard.

In workflows where prepare-ChangeLog is executed manually before staging and committing
changes the prepare-commit-msg hook can now read the curated ChangeLog from the git stage
and present it in the editor for validation. In case no ChangeLog was staged, the hook will
generate a message itself.

  • Scripts/hooks/prepare-commit-msg:

Canonical link: https://commits.webkit.org/249941@main

12:04 AM Changeset in webkit [293317] by commit-queue@webkit.org
  • 3 edits in trunk/Source/ThirdParty/ANGLE

REGRESSION (Safari 15.4) Performance regression after uploading WebGL buffers
https://bugs.webkit.org/show_bug.cgi?id=239015

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-04-25
Reviewed by Dean Jackson.

BufferMtl::getRestartIndices() would recalculate restart indices on each
draw because RestartRangeCache::operator bool() would return m_isDirty
instead of the intended !m_isDirty.

Use std::optional to hold the RestartRangeCache instead of
maintaining m_isDirty. This allows the type system to contribute to the
correctness of the code. Dirty restart range cache is not useful and takes
up memory.

Re-apply hunks from r281550 "ANGLE Metal index buffer left mapped when building primitive restart ranges".

These were overwritten in r286638 "Roll ANGLE to include upstreamed Metal backend".

  • src/libANGLE/renderer/metal/BufferMtl.h:

(rx::BufferMtl::RestartRangeCache::RestartRangeCache):

  • src/libANGLE/renderer/metal/BufferMtl.mm:

(rx::BufferMtl::markConversionBuffersDirty):
(rx::BufferMtl::clearConversionBuffers):
(rx::BufferMtl::getRestartIndices):

Apr 24, 2022:

11:54 PM Changeset in webkit [293316] by zan@falconsigh.net
  • 4 edits in trunk

[RISCV64] Enable Baseline JIT
https://bugs.webkit.org/show_bug.cgi?id=239708

Reviewed by Yusuke Suzuki.

.:

Turn on the CMake defaults for ENABLE(JIT) and ENABLE(FTL_JIT) options
for RISCV64. These are enabled together to avoid having to worry about
a 64-bit platform that would want to allow compiling with Baseline JIT
enabled and FTL JIT disabled at the same time. But because FTL JIT
support for RISCV64 isn't complete yet, it's still disabled at runtime.

  • Source/cmake/WebKitFeatures.cmake:

Source/JavaScriptCore:

  • runtime/Options.cpp:

(JSC::Options::recomputeDependentOptions):
Disable FTL JIT at runtime under CPU(RISCV64) since the support is still
incomplete. This is necessary due to Baseline JIT and FTL JIT still
being enabled at build-time on this platform for pure convenience.

11:41 PM Changeset in webkit [293315] by Diego Pino Garcia
  • 2 edits in trunk/Source/JavaScriptCore

[GCC] Unreviewed, build fix for Ubuntu LTS/Debian after r293265

  • wasm/WasmTypeDefinition.h:

(JSC::Wasm::FunctionSignature::operator!= const):

11:36 PM Changeset in webkit [293314] by dbezhetskov
  • 2 edits in trunk/Source/JavaScriptCore

[Wasm] Remove confusing isFuncref and isExternref
https://bugs.webkit.org/show_bug.cgi?id=239699

Reviewed by Yusuke Suzuki.

There are two functions with the same name Wasm::Type::isFuncref and
Wasm::isFuncref but with different behaviour, and so,
this brings confusion into the codebase.
The first function checks that .kind == funcref and the second one checks
for the same but with respect to typed function references proposal.
The second one should be used when we want to check that type is funcref,
so the first one is not needed and actually not used, so this patch removes it.

The same situation is for isExternref.

  • wasm/generateWasmOpsHeader.py:

(typeMacroizer):
(typeMacroizerFiltered):

11:29 PM Changeset in webkit [293313] by zan@falconsigh.net
  • 2 edits in trunk/Source/JavaScriptCore

[RISCV64] Implement MacroAssemblerRISCV64 fencing methods
https://bugs.webkit.org/show_bug.cgi?id=239706

Reviewed by Yusuke Suzuki.

Provide MacroAssemblerRISCV64 implementations for the tree fencing
methods, using the fence instruction but with different corresponding
combinations of the predecessor and successor operation sets.

  • assembler/MacroAssemblerRISCV64.h:

(JSC::MacroAssemblerRISCV64::memoryFence):
(JSC::MacroAssemblerRISCV64::storeFence):
(JSC::MacroAssemblerRISCV64::loadFence):

11:26 PM Changeset in webkit [293312] by zan@falconsigh.net
  • 5 edits in trunk/JSTests

Skip microbenchmarks/memcpy-wasm.js and friends on non-FTL (i.e. non-WASM) platforms
https://bugs.webkit.org/show_bug.cgi?id=239705

Reviewed by Yusuke Suzuki.

Mark microbenchmarks/memcpy-wasm.js and related tests as skipped on
non-FTL platforms since WASM tests are not run there, resulting in
failures when they're executed.

  • microbenchmarks/memcpy-wasm-large.js:
  • microbenchmarks/memcpy-wasm-medium.js:
  • microbenchmarks/memcpy-wasm-small.js:
  • microbenchmarks/memcpy-wasm.js:
11:02 PM Changeset in webkit [293311] by youenn@apple.com
  • 13 edits
    1 add in trunk

TextTrackLoader should use SameOrigin mode by default
https://bugs.webkit.org/show_bug.cgi?id=239381

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cloneNode-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-data-url-expected.txt:
  • web-platform-tests/service-workers/service-worker/webvtt-cross-origin.https-expected.txt:

Source/WebCore:

Covered by updated test.

  • loader/TextTrackLoader.cpp:

LayoutTests:

  • http/tests/security/contentSecurityPolicy/resources/track.vtt.py: Added.
  • http/tests/security/contentSecurityPolicy/track-redirect-allowed.html:
  • http/tests/security/contentSecurityPolicy/track-redirect-allowed2.html:
  • http/tests/security/contentSecurityPolicy/track-redirect-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/track-redirect-blocked.html:
  • http/tests/security/text-track-crossorigin-expected.txt:
  • http/tests/security/text-track-crossorigin.html:
10:56 PM Changeset in webkit [293310] by youenn@apple.com
  • 4 edits in trunk/Source/WebKit

Make NetworkResourceLoader.m_parameters non const
https://bugs.webkit.org/show_bug.cgi?id=239603

Reviewed by Anders Carlsson.

Now that NetworkResourceLoader can be transitioned through WebProcesses,
several NetworkResourceLoaderParameters might need to be changed over time.
For that reason, it no longer makes sense to have m_parameters const.

Covered by existing tests.

  • NetworkProcess/NetworkLoadParameters.h:
  • NetworkProcess/NetworkResourceLoadParameters.h:
  • NetworkProcess/NetworkResourceLoader.h:
9:45 PM Changeset in webkit [293309] by Chris Dumez
  • 43 edits in trunk/Source

Use equalLettersIgnoringASCIICase() and SortedArrayMap in more places
https://bugs.webkit.org/show_bug.cgi?id=239714

Reviewed by Darin Adler.

Use equalLettersIgnoringASCIICase() and SortedArrayMap in more places, for performance.

  • Source/WebKit/NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::preconnectTo):

  • Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didReceiveResponse):

  • Source/WTF/wtf/unix/LanguageUnix.cpp:

(WTF::platformLanguage):

  • Source/WebCore/Modules/applepay/PaymentCoordinator.cpp:

(WebCore::PaymentCoordinator::validatedPaymentNetwork const):

  • Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp:

(WebCore::FetchBodyConsumer::packageFormData):

  • Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp:

(WebCore::PropertySetCSSStyleDeclaration::setProperty):

  • Source/WebCore/css/parser/CSSAtRuleID.cpp:

(WebCore::cssAtRuleID):

  • Source/WebCore/css/parser/CSSParserImpl.cpp:

(WebCore::consumeStringOrURI):
(WebCore::CSSParserImpl::consumeImportRule):
(WebCore::CSSParserImpl::consumeDeclaration):
(WebCore::CSSParserImpl::consumeKeyframeKeyList):

  • Source/WebCore/css/parser/CSSPropertyParser.cpp:

(WebCore::consumeAnimationName):

  • Source/WebCore/css/parser/CSSSelectorParser.cpp:

(WebCore::CSSSelectorParser::consumePseudo):
(WebCore::CSSSelectorParser::consumeAttributeFlags):
(WebCore::consumeANPlusB):

  • Source/WebCore/css/parser/CSSSupportsParser.cpp:

(WebCore::CSSSupportsParser::consumeCondition):

  • Source/WebCore/css/parser/CSSTokenizer.cpp:

(WebCore::CSSTokenizer::consumeIdentLikeToken):

  • Source/WebCore/css/parser/MediaQueryParser.cpp:

(WebCore::MediaQueryParser::readMediaNot):
(WebCore::isRestrictorOrLogicalOperator):
(WebCore::MediaQueryParser::readMediaType):
(WebCore::MediaQueryParser::readAnd):

  • Source/WebCore/css/parser/SizesCalcParser.cpp:

(WebCore::SizesCalcParser::calcToReversePolishNotation):

  • Source/WebCore/css/typedom/transform/CSSPerspective.cpp:

(WebCore::checkLength):

  • Source/WebCore/editing/cocoa/DataDetection.mm:

(WebCore::DataDetection::requiresExtendedContext):
(WebCore::removeResultLinksFromAnchor):
(WebCore::searchForLinkRemovingExistingDDLinks):
(WebCore::DataDetection::isDataDetectorElement):

  • Source/WebCore/html/Autofill.cpp:

(WebCore::AutofillData::createFromHTMLFormControlElement):

  • Source/WebCore/html/EnterKeyHint.cpp:

(WebCore::enterKeyHintForAttributeValue):

  • Source/WebCore/html/EnterKeyHint.h:
  • Source/WebCore/html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::relList):

  • Source/WebCore/html/HTMLFormElement.cpp:

(WebCore::parseFormRelAttributes):
(WebCore::HTMLFormElement::relList):

  • Source/WebCore/html/HTMLImageElement.cpp:

(WebCore::parseCrossoriginState):

  • Source/WebCore/html/InputType.cpp:

(WebCore::InputType::applyStep):

  • Source/WebCore/html/LinkRelAttribute.cpp:

(WebCore::LinkRelAttribute::isSupported):

  • Source/WebCore/html/parser/HTMLParserIdioms.cpp:

(WebCore::parseCORSSettingsAttribute):

  • Source/WebCore/loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::loadApplicationManifest):

  • Source/WebCore/loader/LinkLoader.cpp:

(WebCore::LinkLoader::preconnectIfNeeded):

  • Source/WebCore/loader/ServerTiming.cpp:

(WebCore::ServerTiming::setParameter):

  • Source/WebCore/page/PageConsoleClient.cpp:

(WebCore::PageConsoleClient::screenshot):

  • Source/WebCore/page/Quirks.cpp:

(WebCore::Quirks::isGoogleMaps const):
(WebCore::Quirks::shouldDispatchSimulatedMouseEvents const):
(WebCore::Quirks::needsDeferKeyDownAndKeyPressTimersUntilNextEditingCommand const):

  • Source/WebCore/page/SecurityOriginData.cpp:

(WebCore::SecurityOriginData::databaseIdentifier const):

  • Source/WebCore/page/csp/ContentSecurityPolicySourceList.cpp:

(WebCore::schemeIsInHttpFamily):
(WebCore::ContentSecurityPolicySourceList::isValidSourceForExtensionMode):

  • Source/WebCore/platform/graphics/FontGenericFamilies.cpp:

(WebCore::computeUserPrefersSimplified):

  • Source/WebCore/platform/graphics/MIMETypeCache.cpp:

(WebCore::MIMETypeCache::shouldOverrideExtendedType):

  • Source/WebCore/platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::supportsType):

  • Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::willUseWebMFormatReaderForType):
(WebCore::keySystemIsSupported):
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsKeySystem):

  • Source/WebCore/platform/graphics/cocoa/SourceBufferParserWebM.cpp:

(WebCore::SourceBufferParserWebM::isContentTypeSupported):

  • Source/WebCore/platform/graphics/freetype/SimpleFontDataFreeType.cpp:

(WebCore::Font::platformInit):

  • Source/WebCore/platform/graphics/gstreamer/DMABufVideoSinkGStreamer.cpp:

(webKitDMABufVideoSinkIsEnabled):

  • Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:

(WebCore::isThunderRanked):

  • Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:

(WebCore::LibWebRTCProvider::createDecodingConfiguration):
(WebCore::LibWebRTCProvider::createEncodingConfiguration):

  • Source/WebCore/platform/network/curl/CookieUtil.cpp:

(WebCore::CookieUtil::parseCookieAttributes):

  • Source/WebCore/platform/network/curl/CurlMultipartHandle.cpp:

(WebCore::CurlMultipartHandle::extractBoundary):

  • Source/WebCore/rendering/RenderThemeMac.mm:

(WebCore::iconForAttachment):

  • Source/WebCore/svg/SVGAElement.cpp:

(WebCore::SVGAElement::relList):

  • Source/WebCore/testing/MockCDMFactory.cpp:

(WebCore::MockCDMFactory::supportsKeySystem):
(WebCore::MockCDMInstance::setServerCertificate):

Canonical link: https://commits.webkit.org/249932@main

8:54 PM Changeset in webkit [293308] by Diego Pino Garcia
  • 2 edits in trunk/Source/WebCore

Unreviewed, non-unified build fixes after r293285

  • html/track/TextTrack.cpp:
2:16 PM Changeset in webkit [293307] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Use utf-8 for text mode files in generate-automation-atom.py
https://bugs.webkit.org/show_bug.cgi?id=239542

Patch by Daniel Kolesa <Daniel Kolesa> on 2022-04-24
Reviewed by Adrian Perez de Castro.

At least with older versions of python (3.6), this will otherwise
be ascii, which will break input files that contain non-ascii
characters, e.g. Source/WebKit/UIProcess/Automation/atoms/FindNodes.js

  • Scripts/generate-automation-atom.py:

(main):

1:28 PM Changeset in webkit [293306] by Fujii Hironori
  • 2 edits in trunk/Source/WebCore

[Win][WinCairo] Unreviewed build fix
https://bugs.webkit.org/show_bug.cgi?id=239692
<rdar://problem/92222456>

  • Headers.cmake: Added necessary headers of WebCore/layout.
11:00 AM Changeset in webkit [293305] by Russell Epstein
  • 1 copy in tags/WebKit-7613.2.7.1.1

Tag WebKit-7613.2.7.1.1.

10:58 AM Changeset in webkit [293304] by Russell Epstein
  • 1 copy in tags/WebKit-7613.2.7.0.1

Tag WebKit-7613.2.7.0.1.

8:21 AM Changeset in webkit [293303] by Alan Bujtas
  • 7 edits in trunk/Source/WebCore

Fix a typo (r293297)
https://bugs.webkit.org/show_bug.cgi?id=239704

Unreviewed.

  • layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):
(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntergration): Deleted.

  • layout/formattingContexts/flex/FlexFormattingContext.h:
  • layout/formattingContexts/inline/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::layoutInFlowContentForIntegration):
(WebCore::Layout::InlineFormattingContext::layoutInFlowContentForIntergration): Deleted.

  • layout/formattingContexts/inline/InlineFormattingContext.h:
  • layout/integration/flex/LayoutIntegrationFlexLayout.cpp:

(WebCore::LayoutIntegration::FlexLayout::layout):

  • layout/integration/inline/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::layout):

Note: See TracTimeline for information about the timeline view.