Timeline
Apr 25, 2022:
- 11:57 PM Changeset in webkit [293417] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 31 edits3 adds2 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 avirtual
method so thatInspectorNetworkAgent
can log to the console (PageNetworkAgent
uses thePage
,WorkerNetworkAgent
uses theWorkerOrWorkletGlobalScope
, 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):
AddWI.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 saveWI.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 forWI.LocalResourceOverride.InterceptType.Block
so show a<select>
for choosing theWI.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 forWI.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 desiredWI.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 newWI.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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 112 edits5 deletes in branches/safari-613.2.7.0-branch/Source
Apply patch. rdar://problem/67069953
- 6:55 PM Changeset in webkit [293400] by
-
- 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
-
- 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
-
- 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
-
- 112 edits5 deletes in branches/safari-613.2.7.1-branch/Source
Apply patch. rdar://problem/67069953
- 6:44 PM Changeset in webkit [293396] by
-
- 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
-
- 1 delete in tags/WebKit-7613.2.7.2.1
Delete tag.
- 6:40 PM Changeset in webkit [293394] by
-
- 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
-
- 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
-
- 1 edit in branches/safari-613-branch/Source/JavaScriptCore/API/JSTypedArray.cpp
Apply patch. rdar://67069953
- 6:22 PM BuildingCairoOnWindows edited by
- (diff)
- 6:20 PM BuildingCairoOnWindows edited by
- (diff)
- 6:16 PM Changeset in webkit [293391] by
-
- 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
-
- 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
-
- 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
-
- 112 edits5 deletes in branches/safari-613.2.7.2-branch/Source
Apply patch. rdar://problem/67069953
- 6:02 PM Changeset in webkit [293387] by
-
- 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
-
- 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
-
- 112 edits5 deletes in branches/safari-613.2.7.3-branch/Source
Apply patch. rdar://problem/67069953
- 5:57 PM Changeset in webkit [293384] by
-
- 1 edit in branches/safari-613-branch/Source/JavaScriptCore/API/JSTypedArray.cpp
Apply patch. rdar://67069953
- 5:41 PM Changeset in webkit [293383] by
-
- 112 edits5 deletes in branches/safari-613-branch/Source
Apply patch. rdar://problem/67069953
- 5:25 PM Changeset in webkit [293382] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 4 edits2 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
-
- 2 edits in branches/safari-613-branch
Apply patch. rdar://problem/91590827
- 5:02 PM Changeset in webkit [293373] by
-
- 10 edits in branches/safari-613-branch
Apply patch. rdar://problem/91288849
- 5:02 PM Changeset in webkit [293372] by
-
- 20 edits3 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
-
- 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
-
- 8 edits2 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
-
- 2 edits in branches/safari-613-branch/Source
Apply patch. rdar://problem/90968687
- 4:14 PM Changeset in webkit [293368] by
-
- 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 alongResourceLoader
instead ofResourceRequest
so thatInspectorNetworkAgent::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)
toWebCore::InspectorNetworkAgent::shouldInterceptRequest
.
- 3:56 PM Changeset in webkit [293367] by
-
- 4 edits2 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 causereleaseResources
(viacancel
),
which will clear them_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
-
- 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
-
- 1 copy in branches/safari-614.1.11-branch
New branch.
- 3:44 PM Changeset in webkit [293364] by
-
- 9 edits in trunk/Source
Versioning.
WebKit-7614.1.12
- 3:24 PM Changeset in webkit [293363] by
-
- 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
-
- 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 rangeisStartOfLine
. We
should instead check if there's an actual list item to work with
before doing this, sinceisStartOfLine
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
-
- 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 rangeisStartOfLine
. We
should instead check if there's an actual list item to work with
before doing this, sinceisStartOfLine
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
-
- 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
-
- 1 copy in tags/WebKit-7614.1.9.7
Tag WebKit-7614.1.9.7.
- 2:33 PM Changeset in webkit [293358] by
-
- 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
-
- 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
-
- 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
-
- 9 edits in branches/safari-614.1.9-branch/Source
Versioning.
WebKit-7614.1.9.7
- 2:24 PM Changeset in webkit [293354] by
-
- 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
-
- 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
-
- 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
-
- 1 copy in tags/WebKit-7614.1.9.6
Tag WebKit-7614.1.9.6.
- 1:59 PM Changeset in webkit [293350] by
-
- 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
-
- 9 edits in branches/safari-614.1.9-branch/Source
Versioning.
WebKit-7614.1.9.6
- 1:55 PM Changeset in webkit [293348] by
-
- 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
-
- 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
-
- 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
-
- 6 edits2 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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 theWI.LocalResourceOverrideTreeElement
add/remove the"error"
CSS class
depening on the state of the relatedWI.LocalResource
(which is what's done for "regular"
WI.ResourceTreeElement
andWI.Resource
).
- 12:09 PM Changeset in webkit [293337] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 4 edits2 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
-
- 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
-
- 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
- (diff)
- 9:41 AM Changeset in webkit [293330] by
-
- 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
-
- 35 edits5 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 toworkerLoaderProxy().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
-
- 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
-
- 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
-
- 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 aconst 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 7 edits2 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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 thefence
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
-
- 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
-
- 13 edits1 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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):
Apr 23, 2022:
- 10:49 PM Changeset in webkit [293302] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed build fix after r293301.
- bindings/js/JSDOMConvertStrings.h:
(WebCore::Converter<IDLAtomStringAdaptor<IDLByteString>>::convert):
- 9:48 PM Changeset in webkit [293301] by
-
- 12 edits in trunk/Source
[IDL] Add support for [AtomString] with USVString & ByteString types
https://bugs.webkit.org/show_bug.cgi?id=239695
Reviewed by Cameron McCormack.
Add support for [AtomString] with USVString and ByteString types in our WebIDL
bindings. This is needed to mark the AtomString(const String&) constructor
explicit.
- Source/WTF/wtf/text/AtomString.cpp:
(WTF::replaceUnpairedSurrogatesWithReplacementCharacterInternal):
(WTF::replaceUnpairedSurrogatesWithReplacementCharacter):
- Source/WTF/wtf/text/AtomString.h:
- Source/WTF/wtf/text/WTFString.cpp:
(WTF::replaceUnpairedSurrogatesWithReplacementCharacter): Deleted.
- Source/WTF/wtf/text/WTFString.h:
- Source/WebCore/Modules/fetch/FetchResponse.h:
- Source/WebCore/Modules/fetch/FetchResponse.idl:
- Source/WebCore/bindings/js/JSDOMConvertStrings.cpp:
(WebCore::throwIfInvalidByteString):
(WebCore::identifierToByteString):
(WebCore::valueToByteString):
(WebCore::valueToByteAtomString):
(WebCore::valueToUSVAtomString):
(WebCore::stringToByteString): Deleted.
- Source/WebCore/bindings/js/JSDOMConvertStrings.h:
(WebCore::Converter<IDLAtomStringAdaptor<T>>::convert):
(WebCore::Converter<IDLAtomStringAdaptor<IDLUSVString>>::convert):
(WebCore::Converter<IDLAtomStringAdaptor<IDLByteString>>::convert):
(WebCore::JSConverter<IDLAtomStringAdaptor<T>>::convert):
(WebCore::JSConverter<IDLAtomStringAdaptor<IDLUSVString>>::convert):
(WebCore::JSConverter<IDLAtomStringAdaptor<IDLByteString>>::convert):
- Source/WebCore/html/HTMLAnchorElement.idl:
- Source/WebCore/html/HTMLAreaElement.idl:
- Source/WebCore/platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::crossThreadData const):
(WebCore::ResourceResponseBase::fromCrossThreadData):
(WebCore::ResourceResponseBase::httpStatusText const):
(WebCore::ResourceResponseBase::setHTTPStatusText):
- Source/WebCore/platform/network/ResourceResponseBase.h:
Canonical link: https://commits.webkit.org/249926@main
- 8:54 PM Changeset in webkit [293300] by
-
- 2 edits in trunk/Source/WebCore
[Win] Unreviewed build fix.
- Headers.cmake:
- 8:45 PM Changeset in webkit [293299] by
-
- 28 edits1 delete in trunk/Source
Remove the
PreferInlineTextSelectionInImages
internal feature flag
https://bugs.webkit.org/show_bug.cgi?id=234849
Reviewed by Sam Weinig.
Source/WebCore:
See WebKit/ChangeLog for more details.
- en.lproj/Localizable.strings:
- page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
(WebCore::ContextMenuController::populate):
(WebCore::ContextMenuController::checkOrEnableIfNeeded const):
- page/EventHandler.cpp:
(WebCore::EventHandler::updateMouseEventTargetNode):
- platform/ContextMenuItem.cpp:
(WebCore::isValidContextMenuAction):
- platform/ContextMenuItem.h:
- platform/LocalizedStrings.h:
- platform/cocoa/LocalizedStringsCocoa.mm:
(WebCore::contextMenuItemTagQuickLookImage): Deleted.
(WebCore::contextMenuItemTagQuickLookImageForTextSelection): Deleted.
(WebCore::contextMenuItemTagQuickLookImageForVisualSearch): Deleted.
Source/WebKit:
This patch reverts r279164, which introduced an internal feature to avoid Live Text analysis when hovering over
images, and instead added a new context menu item to reveal selectable text in the image by launching the
QuickLook panel in Live Text mode.
This alternate Live Text experience was originally devised as a way to mitigate the power and performance impact
of passively triggering Live Text analysis when hovering over images on pre-M1 devices, but this mitigation was
ultimately deemed unnecessary in macOS 12.
- Shared/API/c/WKSharedAPICast.h:
(WebKit::toAPI):
(WebKit::toImpl):
- UIProcess/Cocoa/QuickLookPreviewActivity.h: Removed.
- UIProcess/Cocoa/WebViewImpl.h:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::computeHasVisualSearchResults):
(WebKit::WebViewImpl::computeHasImageAnalysisResults): Deleted.
- UIProcess/PageClient.h:
(WebKit::PageClient::computeHasVisualSearchResults):
(WebKit::PageClient::computeHasImageAnalysisResults): Deleted.
- UIProcess/WebContextMenuProxy.h:
(WebKit::WebContextMenuProxy::quickLookPreviewActivity const): Deleted.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::contextMenuItemSelected):
(WebKit::WebPageProxy::computeHasVisualSearchResults):
(WebKit::WebPageProxy::computeHasImageAnalysisResults): Deleted.
- UIProcess/WebPageProxy.h:
- UIProcess/mac/PageClientImplMac.h:
- UIProcess/mac/PageClientImplMac.mm:
(WebKit::PageClientImpl::computeHasVisualSearchResults):
(WebKit::PageClientImpl::computeHasImageAnalysisResults): Deleted.
- UIProcess/mac/WKQuickLookPreviewController.h:
- UIProcess/mac/WKQuickLookPreviewController.mm:
- UIProcess/mac/WebContextMenuProxyMac.h:
- UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::menuItemIdentifier):
(WebKit::WebContextMenuProxyMac::getContextMenuFromItems):
(WebKit::WebContextMenuProxyMac::insertOrUpdateQuickLookImageItem): Deleted.
(WebKit::WebContextMenuProxyMac::updateQuickLookContextMenuItemTitle): Deleted.
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::handleContextMenuLookUpImage):
(WebKit::WebPageProxy::handleContextMenuQuickLookImage): Deleted.
- WebKit.xcodeproj/project.pbxproj:
Source/WebKitLegacy/mac:
See WebKit/ChangeLog for more details.
- WebView/WebHTMLView.mm:
(toTag):
Source/WTF:
See WebKit/ChangeLog for more details.
- Scripts/Preferences/WebPreferencesInternal.yaml:
- 7:27 PM Changeset in webkit [293298] by
-
- 11 edits in trunk/Source/WebCore
Code cleanup in preparation for optimizing use of AccessibilityObject::elementsFromAttribute.
https://bugs.webkit.org/show_bug.cgi?id=239664
<rdar://problem/92180286>
Reviewed by Chris Fleizach.
No new functionality.
AccessibilityObject::elementsFromAttribute now returns a vector as
opposed to taking an out parameter. This makes the code more concise
and possibly more efficient.
Removed this method from the AXCoreObject interface, since this method
should not be exposed to an AT client. The Inspector is an exception
that accesses AccessibilityObjects directly and not through the
AXCoreObject interface.
All these changes are entirely code cleanup and modernization, no change
in functionality.
- accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::ariaLabeledByText const):
(WebCore::AccessibilityNodeObject::textUnderElement const):
(WebCore::AccessibilityNodeObject::descriptionForElements const):
(WebCore::AccessibilityNodeObject::ariaDescribedByAttribute const):
(WebCore::AccessibilityNodeObject::ariaLabeledByAttribute const):
(WebCore::AccessibilityNodeObject::accessibilityDescriptionForElements const): Renamed.
(WebCore::AccessibilityNodeObject::ariaLabeledByElements const): Deleted.
- accessibility/AccessibilityNodeObject.h:
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::ariaElementsFromAttribute const):
(WebCore::AccessibilityObject::elementsFromAttribute const):
- accessibility/AccessibilityObject.h:
- accessibility/AccessibilityObjectInterface.h:
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isTabItemSelected const):
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::elementsFromAttribute const): Deleted.
- accessibility/isolatedtree/AXIsolatedObject.h:
- inspector/InspectorAuditAccessibilityObject.cpp:
(WebCore::accessiblityObjectForNode):
(WebCore::InspectorAuditAccessibilityObject::getControlledNodes):
(WebCore::InspectorAuditAccessibilityObject::getFlowedNodes):
(WebCore::InspectorAuditAccessibilityObject::getMouseEventNode):
(WebCore::InspectorAuditAccessibilityObject::getOwnedNodes):
- inspector/agents/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
- 4:03 PM Changeset in webkit [293297] by
-
- 8 edits in trunk/Source/WebCore
[FFC][Integration] Add integration API to FlexFormattingContext
https://bugs.webkit.org/show_bug.cgi?id=239692
Reviewed by Antti Koivisto.
The integration codepath needs dedicated (and temporary)APIs on the formatting contexts.
(This is exactly how inline layout has been integrated.)
- layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntergration):
(WebCore::Layout::FlexFormattingContext::computedIntrinsicWidthConstraintsForIntegration):
- layout/formattingContexts/flex/FlexFormattingContext.h:
- layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::layoutInFlowContentForIntergration):
(WebCore::Layout::InlineFormattingContext::lineLayoutForIntergration): Deleted.
- layout/formattingContexts/inline/InlineFormattingContext.h:
- layout/integration/flex/LayoutIntegrationFlexLayout.cpp:
(WebCore::LayoutIntegration::FlexLayout::FlexLayout):
(WebCore::LayoutIntegration::FlexLayout::computeIntrinsicWidthConstraints):
(WebCore::LayoutIntegration::FlexLayout::layout):
- layout/integration/flex/LayoutIntegrationFlexLayout.h:
(WebCore::LayoutIntegration::FlexLayout::rootLayoutBox const):
(WebCore::LayoutIntegration::FlexLayout::rootLayoutBox):
- layout/integration/inline/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::layout):
- 3:26 PM Changeset in webkit [293296] by
-
- 30 edits3 copies1 add in trunk
Add WKNotification and WKWebsiteDataStore SPI for handling click/close of persistent notifications
https://bugs.webkit.org/show_bug.cgi
Reviewed by Chris Dumez.
Source/WebCore:
Covered by existing tests with WKTR changes.
In Cocoa, expose the dictionary representation of a notification as an NSDictionary,
as it is meant to be used as an NSUserNotification userInfo value.
- Modules/notifications/NotificationData.h:
- Modules/notifications/NotificationDataCocoa.mm: Added.
(WebCore::NotificationData::fromDictionary):
(WebCore::NotificationData::dictionaryRepresentation const):
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::processNotificationEvent):
- workers/service/server/SWServer.h:
Source/WebKit:
For notifications that are persistent, add WKWebsiteDataStore SPI to handle click/close operations,
as the WKNotificationManager's runtime record of such notifications might be gone.
WebKitTestRunner exercises this new SPI in existing tests.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::processNotificationEvent):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- SourcesCocoa.txt:
- UIProcess/API/C/WKNotification.cpp:
(WKNotificationGetIsPersistent):
- UIProcess/API/C/WKNotification.h:
- UIProcess/API/C/mac/WKNotificationPrivateMac.h: Copied from Source/WebKit/UIProcess/API/Cocoa/_WKDownloadInternal.h.
- UIProcess/API/C/mac/WKNotificationPrivateMac.mm: Copied from Source/WebKit/UIProcess/API/Cocoa/_WKDownloadInternal.h.
(WKNotificationCopyDictionaryRepresentation):
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _processPersistentNotificationClick:completionHandler:]):
(-[WKWebsiteDataStore _processPersistentNotificationClose:completionHandler:]):
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
- UIProcess/API/Cocoa/_WKDownload.mm:
- UIProcess/API/Cocoa/_WKDownloadInternal.h:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::processNotificationEvent):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Notifications/WebNotification.cpp:
- UIProcess/Notifications/WebNotification.h:
- UIProcess/Notifications/WebNotificationManagerProxy.cpp:
(WebKit::dispatchDidClickNotification):
(WebKit::WebNotificationManagerProxy::providerDidCloseNotifications):
- WebKit.xcodeproj/project.pbxproj:
Tools:
Teach WKTR to use the new SPI by keeping a set of notifications that are persistent.
- WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
- WebKitTestRunner/WebNotificationProvider.cpp:
(WTR::WebNotificationProvider::showWebNotification):
(WTR::WebNotificationProvider::closeWebNotification):
(WTR::WebNotificationProvider::reset):
- WebKitTestRunner/WebNotificationProvider.h:
- WebKitTestRunner/cocoa/WebNotificationProviderCocoa.mm:
(WTR::WebNotificationProvider::simulateWebNotificationClickForServiceWorkerNotifications):
- 2:47 PM Changeset in webkit [293295] by
-
- 2 edits in trunk/Source/WebCore
Fix build error caused by LTO + Unified Sources
https://bugs.webkit.org/show_bug.cgi?id=239679
Reviewed by Alex Christensen.
This hopefully fixes the following build error:
Undefined symbols for architecture x86_64:
"JSC::GenericTypedArrayView<JSC::Uint8ClampedAdaptor>::tryCreateUninitialized(unsigned long)", referenced from:
WebCore::FEGaussianBlurSoftwareApplier::apply(WebCore::Filter const&, WTF::Vector<WTF::Ref<WebCore::FilterImage, WTF::RawPtrTraits<WebCore::FilterImage> >, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, WebCore::FilterImage&) const in lto.o
ld: symbol(s) not found for architecture x86_64
- platform/graphics/filters/software/FEGaussianBlurSoftwareApplier.cpp:
- 2:13 PM Changeset in webkit [293294] by
-
- 3 edits in trunk/Tools
[buildbot] Increase the EWS compile timeout to account for delayed output from clang/XCBuild
https://bugs.webkit.org/show_bug.cgi?id=239455
Reviewed by Ryan Haddad.
Same as https://commits.webkit.org/249737@main, needed to work around
delayed output bugs in Xcode/XCBuild.
- Tools/CISupport/ews-build/steps.py:
(CompileWebKit.init):
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/249919@main
- 1:25 PM Changeset in webkit [293293] by
-
- 8 edits in trunk/Source/WebCore
[FFC][Integration] Construct and update the layout tree for the flex items
https://bugs.webkit.org/show_bug.cgi?id=239684
Reviewed by Antti Koivisto.
This patch implements the usual flow of preparing a subtree for integration layout.
- Take the direct children of a RenderFlexibleBox (flex items) and construct Layout::ContainerBox objects.
- Run layout on the direct children (RenderBlocks) first and update the associated Layout::ContainerBoxes' geometries.
- Call LayoutIntegration::FlexLayout::layout (not yet implemented) to run flex layout on the flex items.
- layout/integration/LayoutIntegrationBoxTree.cpp:
(WebCore::LayoutIntegration::BoxTree::buildTreeForFlexContent):
- layout/integration/LayoutIntegrationBoxTree.h:
- layout/integration/flex/LayoutIntegrationFlexLayout.cpp:
(WebCore::LayoutIntegration::FlexLayout::FlexLayout):
(WebCore::LayoutIntegration::FlexLayout::updateFlexItemDimensions):
- layout/integration/flex/LayoutIntegrationFlexLayout.h:
- rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutUsingFlexFormattingContext):
- rendering/RenderFlexibleBox.h:
- 10:36 AM Changeset in webkit [293292] by
-
- 123 edits in trunk/Source
Start preparing the code base for making the AtomString(const String&) constructor explicit
https://bugs.webkit.org/show_bug.cgi?id=239658
Reviewed by Darin Adler.
Start preparing the code base for making the AtomString(const String&) constructor explicit.
This helps us find cases where we atomize unnecessarily or not early enough, thus causing
unnecessary String allocations.
- Source/JavaScriptCore/runtime/JSString.cpp:
(JSC::JSRopeString::resolveRopeToAtomString const):
- Source/WebKit/WebProcess/Plugins/Plugin.h:
- Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::createPlugin):
- Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- Source/WebKitLegacy/mac/DOM/DOMCustomXPathNSResolver.h:
- Source/WebKitLegacy/mac/DOM/DOMCustomXPathNSResolver.mm:
(DOMCustomXPathNSResolver::lookupNamespaceURI):
- Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h:
- Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm:
(parameterValue):
(WebFrameLoaderClient::createPlugin):
- Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::createPlugin):
- Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.h:
- Source/WTF/wtf/persistence/PersistentCoders.cpp:
(WTF::Persistence::Coder<AtomString>::decode):
- Source/WTF/wtf/text/StringBuilder.h:
(WTF::StringBuilder::toAtomString const):
- Source/WTF/wtf/text/StringConcatenate.h:
(WTF::tryMakeAtomStringFromAdapters):
- Source/WTF/wtf/text/StringView.cpp:
(WTF::convertASCIILowercaseAtom):
- Source/WebCore/Modules/gamepad/GamepadEvent.idl:
- Source/WebCore/Modules/mediasession/MediaMetadata.cpp:
(WebCore::ArtworkImageLoader::requestImageResource):
- Source/WebCore/Modules/plugins/PluginReplacement.h:
(WebCore::ReplacementPlugin::create const):
- Source/WebCore/Modules/plugins/YouTubePluginReplacement.cpp:
(WebCore::YouTubePluginReplacement::create):
(WebCore::YouTubePluginReplacement::YouTubePluginReplacement):
(WebCore::YouTubePluginReplacement::youTubeURL):
(WebCore::YouTubePluginReplacement::youTubeURLFromAbsoluteURL):
- Source/WebCore/Modules/plugins/YouTubePluginReplacement.h:
- Source/WebCore/Modules/websockets/CloseEvent.idl:
- Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::handleLiveRegionCreated):
- Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::supportsLiveRegion const):
(WebCore::AccessibilityObject::tagName const):
- Source/WebCore/accessibility/AccessibilityObject.h:
- Source/WebCore/accessibility/AccessibilityObjectInterface.h:
- Source/WebCore/accessibility/AccessibilityRole.idl:
- Source/WebCore/accessibility/AriaAttributes.idl:
- Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeProperties):
- Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h:
- Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
- Source/WebCore/animation/KeyframeEffect.cpp:
(WebCore::IDLAttributeNameToAnimationPropertyName):
(WebCore::KeyframeEffect::copyPropertiesFromSource):
(WebCore::KeyframeEffect::updateBlendingKeyframes):
(WebCore::KeyframeEffect::computeCSSAnimationBlendingKeyframes):
(WebCore::KeyframeEffect::computeCSSTransitionBlendingKeyframes):
- Source/WebCore/animation/KeyframeEffect.h:
- Source/WebCore/animation/WebAnimation.cpp:
(WebCore::WebAnimation::commitStyles):
- Source/WebCore/bindings/js/JSCustomElementInterface.cpp:
(WebCore::JSCustomElementInterface::setAttributeChangedCallback):
- Source/WebCore/bindings/js/JSCustomElementInterface.h:
- Source/WebCore/bindings/js/JSCustomElementRegistryCustom.cpp:
(WebCore::JSCustomElementRegistry::define):
- Source/WebCore/bindings/js/JSExtendableMessageEventCustom.cpp:
(WebCore::constructJSExtendableMessageEvent):
- Source/WebCore/css/CSSFontFaceSet.cpp:
(WebCore::CSSFontFaceSet::ensureLocalFontFacesForFamilyRegistered):
(WebCore::CSSFontFaceSet::matchingFacesExcludingPreinstalledFonts):
- Source/WebCore/dom/Attr.cpp:
(WebCore::Attr::setNodeValue):
- Source/WebCore/dom/ClipboardEvent.idl:
- Source/WebCore/dom/CompositionEvent.idl:
- Source/WebCore/dom/CustomElementRegistry.idl:
- Source/WebCore/dom/CustomEvent.idl:
- Source/WebCore/dom/Document+HTML.idl:
- Source/WebCore/dom/DragEvent.idl:
- Source/WebCore/dom/Element.idl:
- Source/WebCore/dom/ErrorEvent.idl:
- Source/WebCore/domjit/DOMJITIDLConvert.h:
(WebCore::DOMJIT::DirectConverter<IDLAtomStringAdaptor<IDLDOMString>>::directConvert):
(WebCore::DOMJIT::DirectConverter<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>::directConvert):
- Source/WebCore/editing/cocoa/DataDetection.mm:
(WebCore::DataDetection::createElementForImageOverlay):
- Source/WebCore/editing/cocoa/WebContentReaderCocoa.mm:
(WebCore::createFragmentForImageAttachment):
- Source/WebCore/html/HTMLAnchorElement.h:
- Source/WebCore/html/HTMLAnchorElement.idl:
- Source/WebCore/html/HTMLAreaElement.idl:
- Source/WebCore/html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::parametersForPlugin):
(WebCore::HTMLEmbedElement::updateWidget):
- Source/WebCore/html/HTMLEmbedElement.h:
- Source/WebCore/html/HTMLObjectElement.cpp:
(WebCore::mapDataParamToSrc):
(WebCore::HTMLObjectElement::parametersForPlugin):
(WebCore::HTMLObjectElement::updateWidget):
- Source/WebCore/html/HTMLObjectElement.h:
- Source/WebCore/html/HTMLParamElement.cpp:
(WebCore::HTMLParamElement::name const):
(WebCore::HTMLParamElement::value const):
- Source/WebCore/html/HTMLParamElement.h:
- Source/WebCore/html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::requestObject):
- Source/WebCore/html/HTMLPlugInElement.h:
- Source/WebCore/html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::requestObject):
- Source/WebCore/html/HTMLPlugInImageElement.h:
- Source/WebCore/html/track/TextTrack.h:
(WebCore::TextTrack::inBandMetadataTrackDispatchType const):
- Source/WebCore/loader/EmptyClients.cpp:
(WebCore::EmptyFrameLoaderClient::createPlugin):
- Source/WebCore/loader/EmptyFrameLoaderClient.h:
- Source/WebCore/loader/FrameLoaderClient.h:
- Source/WebCore/loader/SubframeLoader.cpp:
(WebCore::FrameLoader::SubframeLoader::requestPlugin):
(WebCore::FrameLoader::SubframeLoader::requestObject):
(WebCore::FrameLoader::SubframeLoader::loadPlugin):
- Source/WebCore/loader/SubframeLoader.h:
- Source/WebCore/platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:
(WebCore::AVTrackPrivateAVFObjCImpl::language const):
- Source/WebCore/platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:
(WebCore::CDMPrivateFairPlayStreaming::supportsConfiguration const):
- Source/WebCore/platform/graphics/avfoundation/objc/InbandChapterTrackPrivateAVFObjC.h:
- Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::rendererWasAutomaticallyFlushed):
- Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::settings):
(WebCore::AVVideoCaptureSource::capabilities):
- Source/WebCore/platform/network/ResourceResponseBase.h:
(WebCore::ResourceResponseBase::decode):
- Source/WebCore/platform/network/cocoa/ResourceResponseCocoa.mm:
(WebCore::stripLeadingAndTrailingDoubleQuote):
(WebCore::ResourceResponse::platformLazyInit):
- Source/WebCore/platform/text/PlatformLocale.h:
(WebCore::Locale::createDefault):
- Source/WebCore/plugins/DOMMimeTypeArray.idl:
- Source/WebCore/plugins/DOMPlugin.idl:
- Source/WebCore/plugins/DOMPluginArray.idl:
- Source/WebCore/rendering/RenderThemeCocoa.mm:
(WebCore::RenderThemeCocoa::paintApplePayButton):
- Source/WebCore/style/PropertyCascade.h:
(WebCore::Style::PropertyCascade::hasCustomProperty const):
(WebCore::Style::PropertyCascade::customProperty const):
- Source/WebCore/style/StyleBuilderConverter.h:
(WebCore::Style::BuilderConverter::convertFontPalette):
(WebCore::Style::BuilderConverter::convertContainerName):
- Source/WebCore/svg/SVGFEBlendElement.h:
- Source/WebCore/svg/SVGFEColorMatrixElement.h:
- Source/WebCore/svg/SVGFEComponentTransferElement.h:
- Source/WebCore/svg/SVGFECompositeElement.h:
- Source/WebCore/svg/SVGFEConvolveMatrixElement.h:
- Source/WebCore/svg/SVGFEDiffuseLightingElement.h:
- Source/WebCore/svg/SVGFEDisplacementMapElement.h:
- Source/WebCore/svg/SVGFEDropShadowElement.h:
- Source/WebCore/svg/SVGFEGaussianBlurElement.h:
- Source/WebCore/svg/SVGFEMorphologyElement.h:
- Source/WebCore/svg/SVGFEOffsetElement.h:
- Source/WebCore/svg/SVGFESpecularLightingElement.h:
- Source/WebCore/svg/SVGFETileElement.h:
- Source/WebCore/svg/SVGScriptElement.h:
- Source/WebCore/svg/graphics/filters/SVGFilterBuilder.cpp:
(WebCore::SVGFilterBuilder::buildFilterExpression):
- Source/WebCore/xml/CustomXPathNSResolver.cpp:
(WebCore::CustomXPathNSResolver::lookupNamespaceURI):
- Source/WebCore/xml/CustomXPathNSResolver.h:
- Source/WebCore/xml/CustomXPathNSResolver.idl:
- Source/WebCore/xml/NativeXPathNSResolver.cpp:
(WebCore::NativeXPathNSResolver::lookupNamespaceURI):
- Source/WebCore/xml/NativeXPathNSResolver.h:
- Source/WebCore/xml/XPathGrammar.cpp:
- Source/WebCore/xml/XPathNSResolver.h:
- Source/WebCore/xml/XPathNSResolver.idl:
- Source/WebCore/xml/XPathParser.cpp:
(WebCore::XPath::Parser::expandQualifiedName):
- Source/WebCore/xml/XPathParser.h:
- Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::handleNamespaceAttributes):
(WebCore::handleElementAttributes):
Canonical link: https://commits.webkit.org/249917@main
- 9:30 AM Changeset in webkit [293291] by
-
- 15 edits in trunk
AX ITM: Table row objects should return a non-null unignored parent even when a table object is not found in its ancestry.
https://bugs.webkit.org/show_bug.cgi?id=239606
<rdar://problem/92094205>
Reviewed by Chris Fleizach.
Source/WebCore:
Test: accessibility/aria-expanded-supported-roles.html.
In addition, fixed test accessibility/mac/heading-clickpoint.html.
AccessibilityARIAGridRow::parentObjectUnignored was returning nullptr
if there was no table ancestor. This caused problems in isolated tree
mode where only the root object should have a null parent. With this
patch this method will return the table ancestor if one exists, its
parent in the AX tree otherwise.
Changed all classes in the AXObject hierarchy to return an AXObject for
the parentObjectUnignored method instead of an AXCoreObject.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::focusedObjectForPage):
Removed unnecessary downcast.
- accessibility/AccessibilityARIAGridRow.cpp:
(WebCore::AccessibilityARIAGridRow::parentObjectUnignored const):
(WebCore::AccessibilityARIAGridRow::parentTable const):
Rewrote this method using Accessibility::findAncestor.
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::parentObjectUnignored const):
- accessibility/AccessibilityObject.h:
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::parentObjectUnignored const):
- accessibility/AccessibilityRenderObject.h:
- accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::parentObjectUnignored const):
- accessibility/AccessibilityTableCell.h:
LayoutTests:
- accessibility/aria-expanded-supported-roles.html:
- accessibility/mac/heading-clickpoint-expected.txt:
- accessibility/mac/heading-clickpoint.html:
- platform/mac/accessibility/aria-expanded-supported-roles-expected.txt:
- 8:09 AM Changeset in webkit [293290] by
-
- 4 edits in trunk/Source/WebCore
fix a few ObjC memory management issues after r291361
https://bugs.webkit.org/show_bug.cgi?id=239686
<rdar://problem/91008058>
Reviewed by Eric Carlson.
- platform/ios/PlaybackSessionInterfaceAVKit.mm:
(WebCore::mediaSelectionOptions):
- platform/ios/WebAVPlayerController.h:
- platform/ios/WebAVPlayerController.mm:
(-[WebAVMediaSelectionOption localizedDisplayName]): Added.
(-[WebAVMediaSelectionOption dealloc]): Deleted.
- 1:10 AM Changeset in webkit [293289] by
-
- 5 edits1 delete in trunk
[ATSPI] WTR: add implementation for AccessibilityUIElement::domIdentifier
https://bugs.webkit.org/show_bug.cgi?id=239598
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2022-04-23
Reviewed by Andres Gonzalez.
Tools:
- WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::domIdentifier const): Deleted.
- WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp:
(WTR::AccessibilityUIElement::domIdentifier const):
- WebKitTestRunner/InjectedBundle/win/AccessibilityUIElementWin.cpp:
(WTR::AccessibilityUIElement::domIdentifier const):
LayoutTests:
- platform/glib/accessibility/table-add-remove-row-expected.txt: Removed.
Apr 22, 2022:
- 11:44 PM Changeset in webkit [293288] by
-
- 8 edits4 adds in trunk
The layout is not updated when style.contain is changed from "size"/"inline-size" to empty string
https://bugs.webkit.org/show_bug.cgi?id=239489
Reviewed by Rob Buis.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/contain-inline-size-removed-expected.html: Added.
- web-platform-tests/css/css-contain/contain-inline-size-removed.html: Added.
- web-platform-tests/css/css-contain/contain-size-removed-expected.html: Added.
- web-platform-tests/css/css-contain/contain-size-removed.html: Added.
- web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-004-expected.txt:
- web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-005-expected.txt:
Source/WebCore:
Unlike "layout", "paint" and "style" containment, being a "size" and "inline-size" containment or not affects the layout size of the element.
So it should require layout when a normal element becomes a "size"/"inline-size" containment, vice versa.
Tests: imported/w3c/web-platform-tests/css/css-contain/contain-inline-size-removed.html
imported/w3c/web-platform-tests/css/css-contain/contain-size-removed.html
- rendering/style/RenderStyle.cpp:
(WebCore::rareNonInheritedDataChangeRequiresLayout):
(WebCore::RenderStyle::effectiveContainment const): Deleted. Moved to StyleRareNonInheritedData.
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::effectiveContainment const):
- rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::effectiveContainment const):
- rendering/style/StyleRareNonInheritedData.h:
- 11:27 PM Changeset in webkit [293287] by
-
- 3 edits2 adds in trunk
Should never be reached failure in WebCore::RenderElement::visibleInViewportStateChanged
https://bugs.webkit.org/show_bug.cgi?id=191824
Patch by Rob Buis <rbuis@igalia.com> on 2022-04-22
Reviewed by Eric Carlson.
Source/WebCore:
Provide an empty visibleInViewportStateChanged implementation
for RenderMedia to prevent hitting the ASSERT.
Test: media/audio-viewport-state-change-crash.html
- rendering/RenderMedia.h:
LayoutTests:
- media/audio-viewport-state-change-crash-expected.txt: Added.
- media/audio-viewport-state-change-crash.html: Added.
- 9:40 PM Changeset in webkit [293286] by
-
- 2 edits in trunk/Source/WebCore
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):
- 9:21 PM Changeset in webkit [293285] by
-
- 88 edits2 copies in trunk
Move global AtomStrings to a common header to promote reuse
https://bugs.webkit.org/show_bug.cgi?id=239585
Reviewed by Geoff Garen and Darin Adler.
Source/WebCore:
- Headers.cmake:
- Modules/async-clipboard/Clipboard.cpp:
(WebCore::Clipboard::getType):
- Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::contentHint const):
(WebCore::MediaStreamTrack::setContentHint):
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- animation/AnimationEffect.cpp:
(WebCore::AnimationEffect::getTiming const):
(WebCore::AnimationEffect::updateTiming):
- animation/EffectTiming.h:
- contentextensions/ContentExtensionParser.cpp:
(WebCore::ContentExtensions::isValidCSSSelector):
- css/CSSStyleSheet.h:
- css/FontFace.cpp:
(WebCore::FontFace::display const):
- css/MediaFeatureNames.cpp:
(WebCore::MediaFeatureNames::init):
- dom/DataTransfer.cpp:
(WebCore::normalizeType):
(WebCore::DataTransfer::setDataFromItemList):
(WebCore::DataTransfer::createForInputEvent):
(WebCore::DataTransfer::dropEffect const):
- dom/Document.cpp:
(WebCore::Document::designMode const):
- dom/InlineStyleSheetOwner.cpp:
(WebCore::isValidCSSContentType):
- dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::checkStyleSheet):
- dom/mac/ImageControlsMac.cpp:
- editing/FontShadow.cpp:
(WebCore::serializationForCSS):
- editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
- editing/cocoa/DataDetection.mm:
- editing/cocoa/HTMLConverter.mm:
(HTMLConverterCaches::propertyValueForNode):
(HTMLConverter::computedAttributesForElement):
(HTMLConverter::_enterElement):
(HTMLConverter::_processElement):
- editing/markup.cpp:
(WebCore::createFragmentForTransformToFragment):
- html/Autocapitalize.cpp:
(WebCore::stringForAutocapitalizeType):
- html/Autofill.cpp:
(WebCore::AutofillData::createFromHTMLFormControlElement):
- html/BaseCheckableInputType.cpp:
(WebCore::BaseCheckableInputType::saveFormControlState const):
(WebCore::BaseCheckableInputType::restoreFormControlState):
(WebCore::BaseCheckableInputType::fallbackValue const):
- html/EnterKeyHint.cpp:
(WebCore::attributeValueForEnterKeyHint):
- html/HTMLAudioElement.cpp:
(WebCore::HTMLAudioElement::createForLegacyFactoryFunction):
- html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::formControlType const):
- html/HTMLElement.cpp:
(WebCore::toValidDirValue):
(WebCore::HTMLElement::contentEditable const):
(WebCore::HTMLElement::setContentEditable):
(WebCore::HTMLElement::setAutocorrect):
(WebCore::plaintextOnlyName): Deleted.
- html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::autocomplete const):
- html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::loadingForBindings const):
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::decoding const):
(WebCore::HTMLImageElement::loadingForBindings const):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::preload const):
- html/HTMLTextFormControlElement.cpp:
(WebCore::directionString):
- html/InputMode.cpp:
(WebCore::InputModeNames::none):
(WebCore::InputModeNames::text):
(WebCore::InputModeNames::tel):
(WebCore::InputModeNames::url):
(WebCore::InputModeNames::email):
(WebCore::InputModeNames::search):
- html/InputTypeNames.cpp:
(WebCore::InputTypeNames::email):
(WebCore::InputTypeNames::reset):
(WebCore::InputTypeNames::search):
(WebCore::InputTypeNames::submit):
(WebCore::InputTypeNames::telephone):
(WebCore::InputTypeNames::text):
(WebCore::InputTypeNames::url):
- html/shadow/TextControlInnerElements.cpp:
(WebCore::TextControlInnerTextElement::updateInnerTextElementEditabilityImpl):
- html/track/AudioTrack.cpp:
(WebCore::AudioTrack::isValidKind const):
(WebCore::AudioTrack::updateKindFromPrivate):
(WebCore::AudioTrack::alternativeKeyword): Deleted.
(WebCore::AudioTrack::mainKeyword): Deleted.
(WebCore::AudioTrack::commentaryKeyword): Deleted.
- html/track/AudioTrack.h:
- html/track/TextTrack.cpp:
(WebCore::TextTrack::TextTrack):
(WebCore::TextTrack::isValidKindKeyword):
(WebCore::TextTrack::kindKeyword const):
(WebCore::TextTrack::subtitlesKeyword): Deleted.
(WebCore::captionsKeyword): Deleted.
- html/track/TextTrack.h:
- html/track/VTTCue.cpp:
(WebCore::VTTCue::positionAlign const):
(WebCore::VTTCue::setPositionAlign):
(WebCore::VTTCue::toJSON const):
(WebCore::autoKeyword): Deleted.
- html/track/VideoTrack.cpp:
(WebCore::VideoTrack::isValidKind const):
(WebCore::VideoTrack::updateKindFromPrivate):
(WebCore::VideoTrack::alternativeKeyword): Deleted.
(WebCore::VideoTrack::captionsKeyword): Deleted.
(WebCore::VideoTrack::mainKeyword): Deleted.
(WebCore::VideoTrack::subtitlesKeyword): Deleted.
(WebCore::VideoTrack::commentaryKeyword): Deleted.
- html/track/VideoTrack.h:
- html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::WebVTTParser):
- inspector/agents/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::createInspectorStyleSheetForDocument):
- loader/FormSubmission.cpp:
(WebCore::FormSubmission::Attributes::parseEncodingType):
- loader/NavigationScheduler.cpp:
- loader/TextResourceDecoder.cpp:
(WebCore::TextResourceDecoder::textFromUTF8):
- loader/archive/mhtml/MHTMLParser.cpp:
(WebCore::MHTMLParser::addResourceToArchive):
- loader/cache/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
- mathml/MathMLPresentationElement.cpp:
- page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::addAudioTrackKindDisplayNameIfNeeded):
- page/EventSource.cpp:
(WebCore::EventSource::EventSource):
- page/Page.cpp:
(WebCore::Page::userStyleSheet const):
- page/PageSerializer.cpp:
(WebCore::PageSerializer::serializeCSSStyleSheet):
- page/PrintContext.cpp:
(WebCore::PrintContext::pageProperty):
- page/ProcessWarming.cpp:
(WebCore::ProcessWarming::initializeNames):
- platform/CommonAtomStrings.cpp: Added.
(WebCore::initializeCommonAtomStrings):
- platform/CommonAtomStrings.h: Added.
(WebCore::alternativeAtom):
(WebCore::autoAtom):
(WebCore::captionsAtom):
(WebCore::commentaryAtom):
(WebCore::cssContentTypeAtom):
(WebCore::eagerAtom):
(WebCore::emailAtom):
(WebCore::falseAtom):
(WebCore::lazyAtom):
(WebCore::mainAtom):
(WebCore::noneAtom):
(WebCore::offAtom):
(WebCore::onAtom):
(WebCore::plaintextOnlyAtom):
(WebCore::resetAtom):
(WebCore::searchAtom):
(WebCore::submitAtom):
(WebCore::subtitlesAtom):
(WebCore::telAtom):
(WebCore::textAtom):
(WebCore::textPlainContentTypeAtom):
(WebCore::trueAtom):
(WebCore::urlAtom):
- platform/Pasteboard.cpp:
(WebCore::Pasteboard::isSafeTypeForDOMToReadAndWrite):
- platform/StaticPasteboard.cpp:
(WebCore::StaticPasteboard::writePlainText):
- platform/animation/Animation.cpp:
(WebCore::Animation::initialName const):
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::load):
(WebCore::textPlain): Deleted.
- platform/ios/wak/WebCoreThread.mm:
(StartWebThread):
- platform/network/HTTPParsers.cpp:
- platform/network/ios/WebCoreURLResponseIOS.h:
(WebCore::shouldUseQuickLookForMIMEType):
- style/Styleable.cpp:
(WebCore::Styleable::animationListContainsNewlyValidAnimation const):
(WebCore::Styleable::updateCSSAnimations const):
- svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::rotateMode const):
- svg/SVGAnimationElement.cpp:
(WebCore::sumAtom):
(WebCore::SVGAnimationElement::isAdditive const):
(WebCore::SVGAnimationElement::isAccumulated const):
- svg/SVGFEConvolveMatrixElement.cpp:
- svg/SVGFEConvolveMatrixElement.h:
(WebCore::SVGPropertyTraits<EdgeModeType>::toString):
(WebCore::SVGPropertyTraits<EdgeModeType>::fromString):
- svg/SVGMarkerTypes.h:
(WebCore::SVGPropertyTraits<SVGMarkerOrientType>::fromString):
(WebCore::SVGPropertyTraits<SVGMarkerOrientType>::toString):
(WebCore::SVGPropertyTraits<SVGMarkerOrientType>::autoString): Deleted.
- svg/SVGStyleElement.cpp:
(WebCore::SVGStyleElement::type const):
- svg/SVGTextPathElement.h:
(WebCore::SVGPropertyTraits<SVGTextPathSpacingType>::toString):
(WebCore::SVGPropertyTraits<SVGTextPathSpacingType>::fromString):
- svg/animation/SVGSMILElement.cpp:
(WebCore::indefiniteAtom):
(WebCore::SVGSMILElement::parseClockValue):
(WebCore::SVGSMILElement::repeatCount const):
- svg/properties/SVGPropertyTraits.h:
- workers/service/context/ServiceWorkerThread.cpp:
(WebCore::m_notificationClient):
- xml/XPathValue.cpp:
Source/WebKit:
- GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::initializeGPUProcess):
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
- Shared/Cocoa/WebKit2InitializeCocoa.mm:
(WebKit::runInitializationCode):
- Shared/WebKit2Initialize.cpp:
(WebKit::InitializeWebKit2):
- UIProcess/API/APIContentRuleListStore.cpp:
(API::ContentRuleListStore::compileContentRuleList):
Source/WebKitLegacy/win:
- WebKitGraphics.cpp:
(makeFont):
Source/WTF:
- wtf/text/AtomString.cpp:
(WTF::AtomString::init):
- wtf/text/AtomString.h:
(WTF::xmlnsAtom):
(WTF::trueAtom): Deleted.
(WTF::falseAtom): Deleted.
Tools:
- TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::makeBackend):
- 8:28 PM Changeset in webkit [293284] by
-
- 1 edit in branches/safari-613.2.7.1-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
- 8:27 PM Changeset in webkit [293283] by
-
- 1 edit in branches/safari-613.2.7.0-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
- 7:58 PM Changeset in webkit [293282] by
-
- 2 edits in branches/safari-613.2.7.1-branch/Source
Apply patch. rdar://problem/90968687
- 7:54 PM Changeset in webkit [293281] by
-
- 18 edits in branches/safari-613.2.7.1-branch
Revert "Apply patch. rdar://problem/88904160"
This reverts commit r293269.
- 7:42 PM Changeset in webkit [293280] by
-
- 9 edits2 copies in branches/safari-614.1.10-branch/Source
Cherry-pick r293106. rdar://problem/91740931
[WebGPU] WebKit and WebKitLegacy shouldn't need to know about WebGPU.framework
https://bugs.webkit.org/show_bug.cgi?id=239528
<rdar://problem/91740931>
Unreviewed build fix.
Source/WebCore/PAL:
WebKit and WebKitLegacy create a WebGPU implementation from pal/graphics/WebGPU/Impl. This implementation
knows about WebGPU.framework. However, the create() function doesn't need to know about WebGPU.framework,
and its header doesn't need to include <WebGPU/WebGPU.h>. Only the .cpp files need to know about
<WebGPU/WebGPU.h>, and those .cpp files are invisible from WebKit and WebKitLegacy's points of view. So,
this patch splits the PAL header into:
- A header which includes a creation function, but doesn't know about WebGPU.framework, and
- A header which knows about WebGPU.framework, but doesn't hold the creation function used by WebKit or
WebKitLegacy.
This fixes one of Apple's internal builds.
- PAL.xcodeproj/project.pbxproj:
- pal/graphics/WebGPU/Impl/WebGPUCreateImpl.cpp: Copied from Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUImpl.cpp. (PAL::WebGPU::create):
- pal/graphics/WebGPU/Impl/WebGPUCreateImpl.h: Copied from Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUImpl.h.
- pal/graphics/WebGPU/Impl/WebGPUImpl.cpp: (PAL::WebGPU::GPUImpl::create): Deleted.
- pal/graphics/WebGPU/Impl/WebGPUImpl.h:
Source/WebKit:
- GPUProcess/graphics/WebGPU/RemoteGPU.cpp: (WebKit::RemoteGPU::workQueueInitialize):
- WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::createGPUForWebGPU const):
Source/WebKitLegacy/mac:
- WebCoreSupport/WebChromeClient.mm: (WebChromeClient::createGPUForWebGPU const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293106 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:23 PM Changeset in webkit [293279] by
-
- 6 edits in trunk/Source
Unreviewed, non-unified build fixes after r293203
Source/JavaScriptCore:
- jit/ScratchRegisterAllocator.h:
Source/WebCore:
- page/PageConfiguration.h:
Source/WTF:
- wtf/RobinHoodHashTable.h:
- 7:15 PM Changeset in webkit [293278] by
-
- 4 edits in trunk/Source/WebCore
Reduce sizeof(CSSNumericType)
https://bugs.webkit.org/show_bug.cgi?id=239680
Patch by Alex Christensen <achristensen@webkit.org> on 2022-04-22
Reviewed by Yusuke Suzuki.
- bindings/IDLTypes.h:
(WebCore::IDLType::nullValue):
(WebCore::IDLType::isNullType):
(WebCore::IDLType::extractValueFromNullable):
- css/typedom/numeric/CSSMathProduct.cpp:
(WebCore::multiplyTypes):
- css/typedom/numeric/CSSNumericType.h:
(WebCore::CSSNumericType::valueForType):
(WebCore::CSSNumericType::valueForType const):
- 7:05 PM Changeset in webkit [293277] by
-
- 1 edit in branches/safari-613.2.7.1-branch/Source/WebCore/page/SecurityOrigin.h
Unreviewed build fix. rdar://90511155
WebCore/page/SecurityOrigin.h:309:13: note: candidate function not viable: requires 2 arguments, but 4 were provided inline void add(Hasher& hasher, const SecurityOrigin& origin)
- 7:02 PM Changeset in webkit [293276] by
-
- 1 edit in branches/safari-613.2.7.0-branch/Source/WebCore/page/SecurityOrigin.h
Unreviewed build fix. rdar://90511155
WebCore/page/SecurityOrigin.h:309:13: note: candidate function not viable: requires 2 arguments, but 4 were provided inline void add(Hasher& hasher, const SecurityOrigin& origin)
- 5:44 PM Changeset in webkit [293275] by
-
- 18 edits in branches/safari-613.2.7.0-branch
Revert "Apply patch. rdar://problem/88904160"
This reverts commit r293258.
- 5:44 PM Changeset in webkit [293274] by
-
- 5 edits in branches/safari-613.2.7.0-branch/Source/WebKit
Revert "Apply patch. rdar://problem/88904160"
This reverts commit r293259.
- 5:37 PM Changeset in webkit [293273] by
-
- 5 edits in branches/safari-613.2.7.1-branch/Source/WebKit
Revert "Apply patch. rdar://problem/88904160"
This reverts commit r293270.
- 5:37 PM Changeset in webkit [293272] by
-
- 2 edits in branches/safari-613.2.7.1-branch/Source
Revert "Apply patch. rdar://problem/90968687"
This reverts commit r293271.
- 5:06 PM Changeset in webkit [293271] by
-
- 2 edits in branches/safari-613.2.7.1-branch/Source
Apply patch. rdar://problem/90968687
- 5:04 PM Changeset in webkit [293270] by
-
- 5 edits in branches/safari-613.2.7.1-branch/Source/WebKit
Apply patch. rdar://problem/88904160
- 5:04 PM Changeset in webkit [293269] by
-
- 18 edits in branches/safari-613.2.7.1-branch
Apply patch. rdar://problem/88904160
- 4:59 PM Changeset in webkit [293268] by
-
- 10 edits in branches/safari-613.2.7.1-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
- 4:59 PM Changeset in webkit [293267] by
-
- 8 edits2 adds in branches/safari-613.2.7.1-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
- 4:39 PM Changeset in webkit [293266] by
-
- 37 edits5 copies24 adds in trunk
Revert "[WebAuthn] Clean up WebAuthenticationModern and WebAuthnProcess"
This reverts commit 6ced3b519689536e6e4d36b9e46e78be9e6f4706.
Unreviewed test gardening.
Canonical link: https://commits.webkit.org/249907@main
- 4:21 PM Changeset in webkit [293265] by
-
- 4 edits in trunk/Source/JavaScriptCore
[Refactoring] Reduce number of const and reinterpret casts
https://bugs.webkit.org/show_bug.cgi?id=239648
Reviewed by Yusuke Suzuki.
The statement
"reinterpret_cast<TypeDefinition*>(const_cast<char*>(functionType.m_payload)
- sizeof(TypeDefinition))"
is dangerous and it produces warning on some platfroms.
There is way to avoid it and this patch is doint that.
- wasm/WasmSlowPaths.cpp:
(JSC::LLInt::doWasmCallIndirect):
(JSC::LLInt::doWasmCallRef):
- wasm/WasmTypeDefinition.h:
(JSC::Wasm::FunctionSignature::operator== const):
- wasm/WasmTypeDefinitionInlines.h:
- 4:19 PM Changeset in webkit [293264] by
-
- 9 edits in trunk
Web Inspector: Regression(r287684) Resources from the memory cache show empty content in Network, Sources, and Search tabs
https://bugs.webkit.org/show_bug.cgi?id=239667
Reviewed by Devin Rousso.
Source/WebCore:
Updated tests:
- http/tests/inspector/network/resource-response-source-disk-cache.html
- http/tests/inspector/network/resource-response-source-memory-cache.html
r287684 introduced a subtle bug when calling InspectorInstrumentation::didReceiveData. We rely
on there being a difference between real, but empty, data buffer and not having a data buffer,
but after r287684 an empty SharedBuffer would be passed in the later case. Instead, we should
continue to pass nullptr if there is no buffer so that InspectorNetworkAgent::didReceiveData
can distiguish between the two.
The bug is the result of having a non-nullptr
data
inInspectorNetworkAgent::didReceiveData
,
which causes us to callmaybeAddResourceData
, which means by the time
InspectorNetworkAgent::getResponseBody
is called, the ResourceData for the request will have
an empty, not non-existant,content()
, which means we will return the empty content instead,
since we believe the response had actual content.
- inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didReceiveDataImpl):
- inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didReceiveData):
- loader/ResourceLoadNotifier.cpp:
(WebCore::ResourceLoadNotifier::dispatchDidReceiveData):
LayoutTests:
Add test steps to ensure that the resource has content, and that the base64Encoded value matches our
expectations. While only the memory cache was affected by this regression, add the test steps to both
the memory and disk caches to defend this functionality.
- http/tests/inspector/network/resource-response-source-memory-cache-expected.txt:
- http/tests/inspector/network/resource-response-source-memory-cache.html:
- http/tests/inspector/network/resource-response-source-disk-cache-expected.txt:
- http/tests/inspector/network/resource-response-source-disk-cache.html:
- 4:06 PM Changeset in webkit [293263] by
-
- 10 edits in branches/safari-613.2.7.0-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
- 4:06 PM Changeset in webkit [293262] by
-
- 8 edits2 adds in branches/safari-613.2.7.0-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
- 4:02 PM Changeset in webkit [293261] by
-
- 20 edits4 adds in branches/safari-613.2.7.1-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
- 3:52 PM Changeset in webkit [293260] by
-
- 7 edits2 adds in trunk
Focusing scroll container before scrolling breaks smooth scrolling
https://bugs.webkit.org/show_bug.cgi?id=239605
Reviewed by Wenson Hsieh.
Source/WebCore:
If script calls focus() and then scrollTo({ behavior: smooth }) in the same runloop, the
scrollToFocusedElementInternal() that happens on a zero-delay timer in FrameView will stop
the animated scroll.
Fix by having programmatic scrolls on Element and DOMWindow cancel any pending focus-related
scroll.
Test: fast/scrolling/programmatic-smooth-scroll-after-focus.html
- dom/Element.cpp:
(WebCore::Element::scrollTo):
- page/DOMWindow.cpp:
(WebCore::DOMWindow::scrollTo const):
- page/FrameView.cpp:
(WebCore::FrameView::maintainScrollPositionAtAnchor):
(WebCore::FrameView::setScrollPosition):
(WebCore::FrameView::cancelScheduledScrollToFocusedElement):
(WebCore::FrameView::scrollToAnchor):
(WebCore::FrameView::setWasScrolledByUser):
- page/FrameView.h:
LayoutTests:
- fast/scrolling/programmatic-smooth-scroll-after-focus-expected.txt: Added.
- fast/scrolling/programmatic-smooth-scroll-after-focus.html: Added.
- platform/win/TestExpectations:
- 3:45 PM Changeset in webkit [293259] by
-
- 5 edits in branches/safari-613.2.7.0-branch/Source/WebKit
Apply patch. rdar://problem/88904160
- 3:45 PM Changeset in webkit [293258] by
-
- 18 edits in branches/safari-613.2.7.0-branch
Apply patch. rdar://problem/88904160
- 3:05 PM Changeset in webkit [293257] by
-
- 4 edits2 adds in branches/safari-613.2.7.0-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
- 2:56 PM Changeset in webkit [293256] by
-
- 2 edits in branches/safari-613.2.7.0-branch/Source
Apply patch. rdar://problem/90968687
- 2:53 PM Changeset in webkit [293255] by
-
- 20 edits3 adds in branches/safari-613.2.7.0-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
- 2:24 PM Changeset in webkit [293254] by
-
- 2 edits1 copy in trunk/LayoutTests
REBASLINE: [ Monterey ] fast/text/khmer-lao-font.html is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=238917
Unreviewed test gardening.
- platform/mac-bigsur/fast/text/khmer-lao-font-expected.txt: Copied from LayoutTests/platform/mac/fast/text/khmer-lao-font-expected.txt.
- platform/mac/fast/text/khmer-lao-font-expected.txt:
Canonical link: https://commits.webkit.org/249903@main
- 2:08 PM Changeset in webkit [293253] by
-
- 2 edits in trunk
Add my github account name
https://bugs.webkit.org/show_bug.cgi?id=239671
Patch by Alex Christensen <achristensen@webkit.org> on 2022-04-22
Reviewed by Chris Dumez.
- metadata/contributors.json:
- 1:58 PM Changeset in webkit [293252] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC]Throw consistent exceptions for memory.init and memory.copy
https://bugs.webkit.org/show_bug.cgi?id=239592
Patch by Geza Lore <Geza Lore> on 2022-04-22
Reviewed by Yusuke Suzuki.
For a trapping Wasm memory.init and memory.copy instruction, the LLInt
used to throw OutOfBoundsMemoryAccess, but BBQ/OMG used to throw
OutOfBoundsTableAccess.
Changed BBQ/OMG to throw OutOfBoundsMemoryAccess as well.
- wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::addMemoryCopy):
(JSC::Wasm::AirIRGenerator::addMemoryInit):
- wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::addMemoryInit):
(JSC::Wasm::B3IRGenerator::addMemoryCopy):
- 1:48 PM Changeset in webkit [293251] by
-
- 5 edits3 adds in trunk/Source/WebCore
[LFC][Integration] Add blank LayoutIntegration::FlexLayout
https://bugs.webkit.org/show_bug.cgi?id=239663
Reviewed by Antti Koivisto.
This is in preparation for adding flex formatting context integration.
- CMakeLists.txt:
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- layout/integration/flex/LayoutIntegrationFlexLayout.cpp: Added.
(WebCore::LayoutIntegration::FlexLayout::FlexLayout):
(WebCore::LayoutIntegration::FlexLayout::updateFormattingRootGeometryAndInvalidate):
(WebCore::LayoutIntegration::FlexLayout::updateFlexItemDimensions):
(WebCore::LayoutIntegration::FlexLayout::updateStyle):
(WebCore::LayoutIntegration::FlexLayout::computeIntrinsicWidthConstraints):
(WebCore::LayoutIntegration::FlexLayout::layout):
(WebCore::LayoutIntegration::FlexLayout::paint):
(WebCore::LayoutIntegration::FlexLayout::hitTest):
(WebCore::LayoutIntegration::FlexLayout::collectOverflow):
(WebCore::LayoutIntegration::FlexLayout::contentLogicalHeight const):
- layout/integration/flex/LayoutIntegrationFlexLayout.h: Added.
- 1:43 PM Changeset in webkit [293250] by
-
- 2 edits in branches/safari-613.2.7.1-branch/Source/WebCore
Cherry-pick r292878. rdar://problem/90248865
ScriptDisallowedScope::isEventAllowedInMainThread assert failure when activating AudioSession
https://bugs.webkit.org/show_bug.cgi?id=239343
Reviewed by Eric Carlson.
As part of HTMLMediaElement::clearMediaPlayer we call PlatformMediaSession::canProduceAudioChanged
which can result in activating the AudioSession when the page is capturing audio.
This sends a synchronous IPC message to the GPU process. As part of IPC::Connection::waitForSyncReply,
we also end up dispatching enqueued messages, including a WebPage_EndPrinting message that
fires an event listener on the main thread.
This patch will instead queue the PlatformMediaSession::canProduceAudioChanged as a task to avoid
firing the event listener on the main thread, which results in assertion failure.
- html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::clearMediaPlayer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292878 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:43 PM Changeset in webkit [293249] by
-
- 2 edits in branches/safari-613.2.7.0-branch/Source/WebCore
Cherry-pick r292878. rdar://problem/90248865
ScriptDisallowedScope::isEventAllowedInMainThread assert failure when activating AudioSession
https://bugs.webkit.org/show_bug.cgi?id=239343
Reviewed by Eric Carlson.
As part of HTMLMediaElement::clearMediaPlayer we call PlatformMediaSession::canProduceAudioChanged
which can result in activating the AudioSession when the page is capturing audio.
This sends a synchronous IPC message to the GPU process. As part of IPC::Connection::waitForSyncReply,
we also end up dispatching enqueued messages, including a WebPage_EndPrinting message that
fires an event listener on the main thread.
This patch will instead queue the PlatformMediaSession::canProduceAudioChanged as a task to avoid
firing the event listener on the main thread, which results in assertion failure.
- html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::clearMediaPlayer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292878 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:39 PM Changeset in webkit [293248] by
-
- 6 edits in branches/safari-613.2.7.1-branch
Apply patch. rdar://problem/91446317
- 1:39 PM Changeset in webkit [293247] by
-
- 6 edits in branches/safari-613.2.7.1-branch
Revert "Cherry-pick r291606. rdar://problem/91446317"
This reverts commit r293072.
- 1:39 PM Changeset in webkit [293246] by
-
- 1 edit in branches/safari-613.2.7.1-branch/Source/WebKit/UIProcess/WebPageProxy.cpp
Revert "Unreviewed build fix. rdar://91446317"
This reverts commit r293144.
- 1:35 PM Changeset in webkit [293245] by
-
- 6 edits in branches/safari-613.2.7.0-branch
Apply patch. rdar://problem/91446317
- 1:35 PM Changeset in webkit [293244] by
-
- 6 edits in branches/safari-613.2.7.0-branch
Revert "Cherry-pick r291606. rdar://problem/91446317"
This reverts commit r293072.
- 1:35 PM Changeset in webkit [293243] by
-
- 1 edit in branches/safari-613.2.7.0-branch/Source/WebKit/UIProcess/WebPageProxy.cpp
Revert "Unreviewed build fix. rdar://91446317"
This reverts commit r293144.
- 1:18 PM Changeset in webkit [293242] by
-
- 2 edits in trunk
Unreviewed, add Geoff's github username to contributors.json so he can review patches
- metadata/contributors.json:
- 1:14 PM Changeset in webkit [293241] by
-
- 10 edits in branches/safari-613.2.7.1-branch
Apply patch. rdar://problem/91288849
- 1:14 PM Changeset in webkit [293240] by
-
- 10 edits in branches/safari-613.2.7.0-branch
Apply patch. rdar://problem/91288849
- 1:08 PM Changeset in webkit [293239] by
-
- 2 edits in branches/safari-613.2.7.1-branch
Apply patch. rdar://problem/91590827
- 1:08 PM Changeset in webkit [293238] by
-
- 2 edits in branches/safari-613.2.7.0-branch
Apply patch. rdar://problem/91590827
- 12:58 PM Changeset in webkit [293237] by
-
- 5 edits in trunk/Source
Modernize Text::replaceWholeText() https://bugs.webkit.org/show_bug.cgi?id=239637
Reviewed by Ryosuke Niwa.
Modernize Text::replaceWholeText():
- Drop unnecessary return value.
- Ref the Text node at call sites instead of using an internal protectedThis variable.
- Use node instead of n for variable name.
- Use modern template deduction for Ref / RefPtr.
- Source/WebKitLegacy/mac/DOM/DOMText.mm:
(-[DOMText replaceWholeText:]):
- Source/WebCore/dom/Text.cpp:
(WebCore::Text::replaceWholeText):
- Source/WebCore/dom/Text.h:
- Source/WebCore/html/shadow/DateTimeFieldElement.cpp:
(WebCore::DateTimeFieldElement::updateVisibleValue):
Canonical link: https://commits.webkit.org/249898@main
- 12:02 PM Changeset in webkit [293236] by
-
- 4 edits2 adds in branches/safari-613.2.7.1-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
- 11:46 AM Changeset in webkit [293235] by
-
- 9 edits in branches/safari-613.2.7.1-branch/Source
Versioning.
WebKit-7613.2.7.1.1
- 11:46 AM Changeset in webkit [293234] by
-
- 9 edits in branches/safari-613.2.7.0-branch/Source
Versioning.
WebKit-7613.2.7.0.1
- 11:25 AM Changeset in webkit [293233] by
-
- 7 edits in trunk/Source
[LFC][Integration] Add FlexFormattingContextIntegrationEnabled setting
https://bugs.webkit.org/show_bug.cgi?id=239654
Reviewed by Antti Koivisto.
Source/WebCore:
This is in preparation for supporting flex formatting context through integration.
- layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::canUseForFlexLayout):
- layout/integration/LayoutIntegrationCoverage.h:
- rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutFlexItems):
(WebCore::RenderFlexibleBox::layoutUsingFlexFormattingContext):
- rendering/RenderFlexibleBox.h:
Source/WTF:
- Scripts/Preferences/WebPreferencesInternal.yaml:
- 11:02 AM Changeset in webkit [293232] by
-
- 5 edits in trunk/Source/WebCore
Store StyleScope during CSSStyleSheet Creation
https://bugs.webkit.org/show_bug.cgi?id=239659
Reviewed by Antti Koivisto.
To ensure that we can always access the style scope, we shall ensure we store the style scope
at CSSStyleSheet creation time. It was possible before that a style sheet could become disconnected
and then a rule would later be mutated. This resulted in the unfortunate side effect of being unable to find
the style scope.
- css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::CSSStyleSheet):
(WebCore::CSSStyleSheet::styleScope):
- css/CSSStyleSheet.h:
- style/StyleScope.cpp:
(WebCore::Style::Scope::collectResolverScopes):
- style/StyleScope.h:
- 10:46 AM Changeset in webkit [293231] by
-
- 12 edits in trunk
[iOS] Add find interaction API to WKWebView
https://bugs.webkit.org/show_bug.cgi?id=239612
rdar://88442918
Reviewed by Alex Christensen.
Source/WebKit:
Promote the
_findInteraction
and_findInteractionEnabled
SPI to
findInteraction
andfindInteractionEnabled
API.
In order to make this change, new UIKit objects and protocols must be
adopted. Existing (deprecated) protocol conformance is kept around to
avoid breaking internal clients.
- UIProcess/API/Cocoa/WKWebView.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView findInteractionEnabled]):
(-[WKWebView setFindInteractionEnabled:]):
(-[WKWebView findInteraction]):
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
Declare conformance to three protocols: _UITextSearching, UITextSearching, UIFindInteractionDelegate.
_UITextSearching: Conformance is kept around to avoid breaking internal clients.
UITextSearching: Conformance is declared for clients to migrate off of _UITextSearching.
UIFindInteractionDelegate: Conformance is necessary to begin a UIFindSession.
- UIProcess/API/ios/WKWebViewIOS.h:
- UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _didCommitLoadForMainFrame]):
The "searchable object" does not need to be reset anymore, as UIKit
will do that in-[WKWebView findInteraction:sessionForView:]
the next
time a find session begins.
(-[WKWebView _searchableObject]):
(-[WKWebView _setFindInteractionEnabled:]):
(-[WKWebView _findInteraction]):
It is safe to cast between the SPI and API version of this object. UIKit
has guaranteed compatibility.
(-[WKWebView offsetFromPosition:toPosition:inDocument:]):
(-[WKWebView compareFoundRange:toRange:inDocument:]):
(-[WKWebView performTextSearchWithQueryString:usingOptions:resultAggregator:]):
(-[WKWebView replaceFoundTextInRange:inDocument:withText:]):
(-[WKWebView decorateFoundTextRange:inDocument:usingStyle:]):
(-[WKWebView scrollRangeToVisible:inDocument:]):
(-[WKWebView findInteraction:sessionForView:]):
(-[WKWebView findInteraction:didBeginFindSession:]):
Custom content views do not need to be aware that a find session has
begun, as they do not draw an overlay.
(-[WKWebView findInteraction:didEndFindSession:]):
Custom content views do not need to be aware that a find session has
begun, as they do not draw an overlay.
- UIProcess/ios/WKContentViewInteraction.h:
Declare the old _UITextSearching methods explicitly, as we need to
maintain support for internal clients.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView performTextSearchWithQueryString:usingOptions:resultAggregator:]):
(-[WKContentView replaceFoundTextInRange:inDocument:withText:]):
(-[WKContentView decorateFoundTextRange:inDocument:usingStyle:]):
(-[WKContentView scrollRangeToVisible:inDocument:]):
(-[WKContentView offsetFromPosition:toPosition:inDocument:]):
(-[WKContentView compareFoundRange:toRange:inDocument:]):
- UIProcess/ios/WKPDFView.mm:
(-[WKPDFView compareFoundRange:toRange:inDocument:]):
(-[WKPDFView performTextSearchWithQueryString:usingOptions:resultAggregator:]):
(-[WKPDFView decorateFoundTextRange:inDocument:usingStyle:]):
Tools:
Augment an existing API test to use the new API, in addition to the
existing SPI.
The find-and-replace test is updated to account for the fact that a
find interaction no longer exposes a searchableObject. Instead, use
test-only SPI on WKWebView to perform the replace.
- TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm:
(TEST):
- 10:28 AM Changeset in webkit [293230] by
-
- 9 edits in trunk
[iOS]
-selectWordForReplacement
should select dictation alternatives that span multiple words
https://bugs.webkit.org/show_bug.cgi?id=239622
rdar://91416535
Reviewed by Aditya Keerthi.
Source/WebKit:
Currently,
-selectWordForReplacement
(which is invoked by UIKit when the tapping on spelling corrections and
dictation alternatives to reveal the callout bar with text suggestions) handles multi-word dictation ranges by
only selecting one of the words (i.e., whichever word is closest to the tapped location). This makes it
impossible to handle dictation ranges that span multiple words, since only part of the range is replaced with
the chosen alternative.
To address this, instead of using the existing
extendSelection
method (which is still exercised when tapping
the "Select" action in the callout bar with a caret selection), we addextendSelectionForReplacement
, which
extends the selection to include any dictation alternative range that encompasses the selection (and otherwise
falls back to selecting the current word).
Test: SelectionTests.SelectWordForReplacementWithDictationAlternative
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView selectWordForReplacement]):
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::extendSelectionForReplacement):
Add a new IPC message,
WebPage::ExtendSelectionForReplacement
, and use it to implement `-[WKContentView
selectWordForReplacement]`.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::extendSelectionForReplacement):
Add logic to select the enclosing dictation alternative marker range (if it exists), or the current word at the
start of the selection if there is no enclosing marker range. Note that we first grab a Vector of all the marker
ranges instead of creating them as we iterate through the list ofRenderedDocumentMarker*
, since creating
visible position ranges from each marker range triggers layout, and eachRenderedDocumentMarker*
is not
ref-counted, so it's possible that a reentrant call to update the document marker controller during layout could
destroy the nextRenderedDocumentMarker*
during iteration.
(WebKit::WebPage::extendSelection):
(WebKit::WebPage::setSelectedRangeDispatchingSyntheticMouseEventsIfNeeded):
Pull out logic for dispatching synthetic mouse events when selecting text into a separate helper method, which
is now called from bothextendSelection
andextendSelectionForReplacement
.
Tools:
Add an API test to exercise the change.
- TestWebKitAPI/Tests/ios/SelectionByWord.mm:
(TEST):
- 9:44 AM Changeset in webkit [293229] by
-
- 9 edits in branches/safari-614.1.10-branch/Source
Versioning.
WebKit-7614.1.10.6
- 9:36 AM Changeset in webkit [293228] by
-
- 3 edits in trunk/Source/WebCore/PAL
Adjust SPI headers to fix build with non-internal SDK
https://bugs.webkit.org/show_bug.cgi?id=239626
Patch by Alex Christensen <achristensen@webkit.org> on 2022-04-22
Reviewed by Chris Dumez.
- pal/spi/cocoa/PassKitSPI.h:
- pal/spi/mac/ScreenCaptureKitSPI.h:
- 9:33 AM Changeset in webkit [293227] by
-
- 1 copy in branches/safari-613.2.7.3-branch
New branch.
- 9:33 AM Changeset in webkit [293226] by
-
- 1 copy in branches/safari-613.2.7.2-branch
New branch.
- 9:33 AM Changeset in webkit [293225] by
-
- 1 copy in branches/safari-613.2.7.1-branch
New branch.
- 9:33 AM Changeset in webkit [293224] by
-
- 1 copy in branches/safari-613.2.7.0-branch
New branch.
- 9:11 AM Changeset in webkit [293223] by
-
- 2 edits in trunk/LayoutTests
[ macOS wk2 arm64 ] imported/w3c/web-platform-tests/infrastructure/reftest-wait.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=230488
Unreviewed test gardening.
Updated text expectations in include Monterey wk2 arm64
- LayoutTests/platform/mac-wk2/TestExpectations:
Canonical link: https://commits.webkit.org/249892@main
- 8:57 AM Changeset in webkit [293222] by
-
- 4 edits in trunk/Source/WebCore
[LFC][Integration] BoxTree should be able to build non-inline content tree
https://bugs.webkit.org/show_bug.cgi?id=239653
Reviewed by Antti Koivisto.
This is in preparation for supporting non-IFC content (e.g. flex).
- layout/integration/LayoutIntegrationBoxTree.cpp:
(WebCore::LayoutIntegration::rootBoxFirstLineStyle):
(WebCore::LayoutIntegration::BoxTree::BoxTree):
(WebCore::LayoutIntegration::BoxTree::buildTreeForInlineContent):
(WebCore::LayoutIntegration::BoxTree::layoutBoxForRenderer):
(WebCore::LayoutIntegration::BoxTree::rendererForLayoutBox):
(WebCore::LayoutIntegration::BoxTree::buildTree): Deleted.
- layout/integration/LayoutIntegrationBoxTree.h:
(WebCore::LayoutIntegration::BoxTree::rootRenderer const):
(WebCore::LayoutIntegration::BoxTree::rootRenderer):
(WebCore::LayoutIntegration::BoxTree::flow const): Deleted.
(WebCore::LayoutIntegration::BoxTree::flow): Deleted.
- layout/integration/inline/LayoutIntegrationLineLayout.h:
(WebCore::LayoutIntegration::LineLayout::flow const):
(WebCore::LayoutIntegration::LineLayout::flow):
- 8:13 AM Changeset in webkit [293221] by
-
- 2 edits in trunk/LayoutTests
[ macOS Release arm64 ] imported/w3c/web-platform-tests/resource-timing/resource_timing.worker.html is a flakey text failure
https://bugs.webkit.org/show_bug.cgi?id=223472
Unreviewed test gardening.
Updated test expectation [ Release arm64 ]
- LayoutTests/platform/mac/TestExpectations:
Canonical link: https://commits.webkit.org/249890@main
- 7:03 AM Changeset in webkit [293220] by
-
- 7 edits in trunk/Source
Apply purifyNaN in more places.
https://bugs.webkit.org/show_bug.cgi?id=239619
<rdar://problem/91924480>
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
- wasm/js/JSWebAssemblyHelpers.h:
(JSC::toJSValue):
Source/WebCore:
- bindings/js/IDBBindingUtilities.cpp:
(WebCore::toJS):
- bindings/js/JSDOMConvertWebGL.cpp:
(WebCore::convertToJSValue):
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::readTerminal):
- bridge/objc/objc_utility.mm:
(JSC::Bindings::convertObjcValueToValue):
- 6:29 AM Changeset in webkit [293219] by
-
- 9 edits in trunk
Fix for accessibility/aria-grid-with-aria-owns-rows.html in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=239498
<rdar://problem/91961398>
Reviewed by Chris Fleizach and Tyler Wilcock.
Source/WebCore:
Test: accessibility/aria-grid-with-aria-owns-rows.html.
When creating AXIsolatedObjects, we were passing the object ID of the
parent to the constructor in a parent to child traversal, and storing
that parent ID in the object. This assumed that all AX objects have a
parent-child reflexive relationship, i.e., if A is a child of B, B is
the parent of A. But that is not true in several cases in the
accessibility hierarchy.
One example where the parent-child relationship is not reflexive is for table cells, where a cell can be the child of an object with role column, but its parent is an object with role row.
Another case is when aria-owns is used.
This patch fixes the problem by letting the live object determine its
own parent, instead of having the traversal algorithm pass the parent ID
to the AXIsolatedObject constructor.
A previous attempt to fix this problem was made in
https://bugs.webkit.org/show_bug.cgi?id=236156.
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::AXIsolatedObject):
(WebCore::AXIsolatedObject::create):
(WebCore::AXIsolatedObject::initializeProperties):
(WebCore::AXIsolatedObject::initializeAttributeData): Renamed.
- accessibility/isolatedtree/AXIsolatedObject.h:
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::create):
(WebCore::AXIsolatedTree::generateSubtree):
(WebCore::AXIsolatedTree::nodeChangeForObject):
(WebCore::AXIsolatedTree::queueRemovalsAndUnresolvedChanges):
(WebCore::AXIsolatedTree::collectNodeChangesForSubtree):
(WebCore::AXIsolatedTree::updateNode):
(WebCore::AXIsolatedTree::updateChildren):
(WebCore::AXIsolatedTree::parentIDForObject): Deleted.
- accessibility/isolatedtree/AXIsolatedTree.h:
- accessibility/isolatedtree/mac/AXIsolatedObjectMac.mm:
(WebCore::AXIsolatedObject::initializePlatformProperties):
LayoutTests:
- accessibility/aria-grid-with-aria-owns-rows-expected.txt:
- accessibility/aria-grid-with-aria-owns-rows.html:
- 6:27 AM Changeset in webkit [293218] by
-
- 5 edits2 adds in trunk
Book content is clipped at page boundary when displaying list with bullet points
https://bugs.webkit.org/show_bug.cgi?id=239638
<rdar://89257768>
Reviewed by Antti Koivisto.
Source/WebCore:
Table cell content needs special handling when does not fit the page.
When a table cell's first line does not fit the page, instead of the normal, "let's add a flow level pagination strut"
we have to handle it as a line level strut (not sure why it is implemted this way but this is the expected behavior).
-also implment LineBoxIteratorModernPath::isFirstAfterPageBreak.
Test: fast/multicol/pagination/table-cell-one-line-pagination.html
- layout/integration/inline/InlineIteratorLineBoxModernPath.h:
(WebCore::InlineIterator::LineBoxIteratorModernPath::isFirstAfterPageBreak const):
- layout/integration/inline/LayoutIntegrationLine.h:
(WebCore::LayoutIntegration::Line::Line):
(WebCore::LayoutIntegration::Line::isFirstAfterPageBreak const):
- layout/integration/inline/LayoutIntegrationPagination.cpp:
(WebCore::LayoutIntegration::setPageBreakForLine): According to RenderBlockFlow::adjustLinePositionForPagination, we
have to call setPageBreak, even when the first line does not fit.
(WebCore::LayoutIntegration::makeAdjustedContent):
(WebCore::LayoutIntegration::adjustLinePositionsForPagination):
LayoutTests:
- fast/multicol/pagination/table-cell-one-line-pagination-expected.html: Added.
- fast/multicol/pagination/table-cell-one-line-pagination.html: Added.
- 5:02 AM Changeset in webkit [293217] by
-
- 4 edits in trunk/Source/WebCore
Bail out from text decoration computation if none is requested
https://bugs.webkit.org/show_bug.cgi?id=239641
Reviewed by Tim Nguyen.
- rendering/TextDecorationPainter.cpp:
(WebCore::collectStylesForRenderer):
Also avoid resolving colors unnecessarily.
(WebCore::TextDecorationPainter::stylesForRenderer):
- rendering/style/RenderStyleConstants.cpp:
(WebCore::operator<<):
- rendering/style/RenderStyleConstants.h:
Remove unused 'None' value.
- 4:40 AM Changeset in webkit [293216] by
-
- 5 edits in trunk/Source/WebCore
[MSE] Improve SourceBuffer memory cost reporting
https://bugs.webkit.org/show_bug.cgi?id=238948
Reviewed by Xabier Rodriguez-Calvar.
Properly implementing the memoryCost() API in SourceBuffer would improve memory
awareness when garbage collecting.
This patch extends the SourceBuffer interface with the ReportExtraMemoryCost
attribute, implements memoryCost() method for the interface and fixes
calculations for removed buffers. It distinguishes the amount of memory
increases reported (extraMemoryCostDelta, what was reported until now, can
only grow) from the total amount of memory reported (can grow and shrink).
This patch is co-authored by Andrzej Surdej (https://github.com/asurdej-comcast)
See: https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/827
- Modules/mediasource/SourceBuffer.cpp: Implement memoryCost() interface and hold the absolute memory consumed as m_extraMemoryCost, keeping the original m_reportedExtraMemoryCost behaviour.
- Modules/mediasource/SourceBuffer.h: Added memoryCost() and m_extraMemoryCost.
- Modules/mediasource/SourceBuffer.idl: Require the ReportExtraMemoryCost feature.
- platform/graphics/SourceBufferPrivate.cpp: Also report the memory change to SourceBuffer when evicting frames (memory reduction).
- 4:08 AM Changeset in webkit [293215] by
-
- 2 edits in trunk/Source/WebKit
[GLib] Make WebKitSettings XSS auditor functions no-op
https://bugs.webkit.org/show_bug.cgi?id=239651
Reviewed by Adrian Perez de Castro.
With the XSS auditor feature being deprecated and removed, and the
preference entries removed in r293199, the GLib API for this feature
has to be adjusted as well. In both getter and setter, a warning is
printed out when invoked.
- UIProcess/API/glib/WebKitSettings.cpp:
(webkit_settings_get_enable_xss_auditor):
(webkit_settings_set_enable_xss_auditor):
- 12:25 AM Changeset in webkit [293214] by
-
- 1 copy in releases/WPE WebKit/webkit-2.36.1
WPE WebKit 2.36.1
- 12:22 AM Changeset in webkit [293213] by
-
- 4 edits in releases/WebKitGTK/webkit-2.36
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.36.1 release
.:
- Source/cmake/OptionsWPE.cmake: Bump version numbers.
Source/WebKit:
- wpe/NEWS: Add release notes for 2.36.1.
- 12:02 AM Changeset in webkit [293212] by
-
- 5 edits in trunk
AX: The isolated tree is not updated after role changes in AccessibilityRenderObject::updateRoleAfterChildrenCreation()
https://bugs.webkit.org/show_bug.cgi?id=239549
Reviewed by Chris Fleizach and Andres Gonzalez.
Source/WebCore:
In AccessibilityRenderObject::updateRoleAfterChildrenCreation(), if the objects role changes,
we need to inform the cache via AXObjectCache::handleRoleChange which in turn will
update the isolated tree.
Fixes accessibility/mac/invalid-menu-role-does-not-send-notification.html in isolated tree mode.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::updateRoleAfterChildrenCreation):
LayoutTests:
- accessibility/mac/invalid-menu-role-does-not-send-notification-expected.txt:
- accessibility/mac/invalid-menu-role-does-not-send-notification.html:
Update test to use async-await to actually wait for changes to happen,
which is required to make the test pass in isolated tree mode.
Apr 21, 2022:
- 11:08 PM Changeset in webkit [293211] by
-
- 21 edits1 add in trunk
Use GCGLSpanTuple to pass buffer parameters to multidraw calls.
https://bugs.webkit.org/show_bug.cgi?id=239154
Patch by John Cunningham <johncunningham@apple.com> on 2022-04-21
Reviewed by Kimmo Kinnunen.
Source/WebCore:
- html/canvas/WebGLMultiDraw.cpp:
(WebCore::WebGLMultiDraw::multiDrawArraysWEBGL):
(WebCore::WebGLMultiDraw::multiDrawArraysInstancedWEBGL):
(WebCore::WebGLMultiDraw::multiDrawElementsWEBGL):
(WebCore::WebGLMultiDraw::multiDrawElementsInstancedWEBGL):
(WebCore::makeSpanWithOffset): Deleted.
- platform/graphics/GraphicsContextGL.h:
- platform/graphics/GraphicsTypesGL.h:
- platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::multiDrawArraysANGLE):
(WebCore::GraphicsContextGLANGLE::multiDrawArraysInstancedANGLE):
(WebCore::GraphicsContextGLANGLE::multiDrawElementsANGLE):
(WebCore::GraphicsContextGLANGLE::multiDrawElementsInstancedANGLE):
- platform/graphics/angle/GraphicsContextGLANGLE.h:
- platform/graphics/opengl/GraphicsContextGLOpenGL.h:
Source/WebKit:
- GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::WebCore::vectorCopyCast):
(WebKit::RemoteGraphicsContextGL::multiDrawArraysANGLE):
(WebKit::RemoteGraphicsContextGL::multiDrawArraysInstancedANGLE):
(WebKit::RemoteGraphicsContextGL::multiDrawElementsANGLE):
(WebKit::RemoteGraphicsContextGL::multiDrawElementsInstancedANGLE):
- GPUProcess/graphics/RemoteGraphicsContextGL.h:
- GPUProcess/graphics/RemoteGraphicsContextGL.messages.in:
- GPUProcess/graphics/RemoteGraphicsContextGLFunctionsGenerated.h:
(getInternalformativ):
(multiDrawArraysANGLE): Deleted.
(multiDrawArraysInstancedANGLE): Deleted.
(multiDrawElementsANGLE): Deleted.
(multiDrawElementsInstancedANGLE): Deleted.
- Platform/IPC/ArgumentCoders.h:
- Platform/IPC/ArrayReferenceTuple.h: Added.
- Scripts/webkit/messages.py:
(class_template_headers):
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:
(WebKit::RemoteGraphicsContextGLProxy::multiDrawArraysANGLE):
(WebKit::RemoteGraphicsContextGLProxy::multiDrawArraysInstancedANGLE):
(WebKit::RemoteGraphicsContextGLProxy::multiDrawElementsANGLE):
(WebKit::RemoteGraphicsContextGLProxy::multiDrawElementsInstancedANGLE):
- WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
- WebProcess/GPU/graphics/RemoteGraphicsContextGLProxyFunctionsGenerated.cpp:
(WebKit::RemoteGraphicsContextGLProxy::multiDrawArraysANGLE): Deleted.
(WebKit::RemoteGraphicsContextGLProxy::multiDrawArraysInstancedANGLE): Deleted.
(WebKit::RemoteGraphicsContextGLProxy::multiDrawElementsANGLE): Deleted.
(WebKit::RemoteGraphicsContextGLProxy::multiDrawElementsInstancedANGLE): Deleted.
Tools:
- Scripts/generate-gpup-webgl:
- 10:41 PM Changeset in webkit [293210] by
-
- 27 edits2 adds in trunk
[JSC] PropertyTable should have compact mode
https://bugs.webkit.org/show_bug.cgi?id=239451
Reviewed by Saam Barati.
This patch introduces "compact" version of PropertyTable. PropertyTable needs to hold two kind of integers: index and property offset.
But for most of objects, both are pretty small and they can fit in uint8_t. If we can use uint8_t for both, we can significantly reduce
size of allocated memory for PropertyTable (only 40% of memory is required!). This is good for memory, but also good for performance.
Now each CompactPropertyTableEntry is 8bytes while original PropertyMapEntry was 16bytes, so CompactPropertyTableEntry can fit in CPU cache well.
Also, not allocating large amount of memory can reduce memory allocation / deallocation cost. One of costly destruction of GC-managed objects is
PropertyTable (and CodeBlock), and we can reduce that cost by not allocating much memory.
The approach is following.
- For index vector, we use uint8_t if index can fit within uint8_t.
- For proprety offset, we use uint8_t and CompactPropertyTableEntry if it is suitable.
- Once the table gets non-compact, we keep it non-compact since we could have deleted index which has larger than uint8_t. We could improve this strategy when deleted indexes are cleared, but for now, we are taking simple approach.
- We store isCompactFlag 1 bit in the pointer to the table.
- We encapsulate functions modifying property table entry in PropertyTable itself, so we do not leak internal compact / non-compact mode to the user of PropertyTable. We remove begin() / end() iterators and instead use forEachproperty, which can implement iteration for each mode more efficiently.
We have a further opportunity to improve this further: we can deploy 75% load factor only for compact table. Then we can increase threshold of
compact table further and keep more and more tables compact mode. Plus, for small sized tables, small backing memory is better in terms of
CPU cache hit (and that's measured in WTF::HashTable, and that's why WTF::Hashtable deploys 75% load factor only for small tables). This is left
for the subsequent change.
This change is neutral in JetStream2, 0.3% improvement in Speedometer2 with 80% confidence, and 0.41% improvement in RAMification with 95% confidence.
- JSTests/stress/change-attribute-structure-transition.js:
(shouldBe.JSON.stringify.sd):
- Source/JavaScriptCore/bytecode/ObjectAllocationProfileInlines.h:
(JSC::ObjectAllocationProfileBase<Derived>::initializeProfile):
- Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
- Source/JavaScriptCore/dfg/DFGOperations.cpp:
(JSC::DFG::JSC_DEFINE_JIT_OPERATION):
- Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:
- Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
- Source/JavaScriptCore/ftl/FTLOperations.cpp:
(JSC::FTL::JSC_DEFINE_JIT_OPERATION):
- Source/JavaScriptCore/runtime/ClonedArguments.h:
- Source/JavaScriptCore/runtime/IteratorOperations.cpp:
(JSC::createIteratorResultObjectStructure):
- Source/JavaScriptCore/runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- Source/JavaScriptCore/runtime/JSONObject.cpp:
(JSC::Stringifier::Holder::appendNextProperty):
- Source/JavaScriptCore/runtime/JSObject.cpp:
(JSC::JSObject::analyzeHeap):
- Source/JavaScriptCore/runtime/JSObject.h:
- Source/JavaScriptCore/runtime/ObjectConstructor.h:
(JSC::constructEmptyObject):
(JSC::createDataPropertyDescriptorObjectStructure):
(JSC::createAccessorPropertyDescriptorObjectStructure):
- Source/JavaScriptCore/runtime/ObjectConstructorInlines.h:
(JSC::objectAssignFast):
- Source/JavaScriptCore/runtime/PropertyOffset.h:
- Source/JavaScriptCore/runtime/PropertySlot.h:
- Source/JavaScriptCore/runtime/PropertyTable.cpp:
(JSC::PropertyTable::PropertyTable):
(JSC::PropertyTable::finishCreation):
(JSC::PropertyTable::visitChildrenImpl):
(JSC::PropertyTable::~PropertyTable):
(JSC::PropertyTable::seal):
(JSC::PropertyTable::freeze):
(JSC::PropertyTable::isSealed const):
(JSC::PropertyTable::isFrozen const):
(JSC::PropertyTable::renumberPropertyOffsets):
- Source/JavaScriptCore/runtime/PropertyTable.h:
(JSC::isPowerOf2):
(JSC::nextPowerOf2):
(JSC::PropertyTable::findImpl):
(JSC::PropertyTable::find):
(JSC::PropertyTable::get):
(JSC::PropertyTable::add):
(JSC::PropertyTable::remove):
(JSC::PropertyTable::take):
(JSC::PropertyTable::updateAttributeIfExists):
(JSC::PropertyTable::sizeInMemory):
(JSC::PropertyTable::reinsert):
(JSC::PropertyTable::rehash):
(JSC::PropertyTable::skipDeletedEntries):
(JSC::PropertyTable::dataSize):
(JSC::PropertyTable::canInsert):
(JSC::PropertyTable::forEachProperty const):
(JSC::PropertyTable::forEachPropertyMutable):
(JSC::PropertyTable::begin): Deleted.
(JSC::PropertyTable::end): Deleted.
(JSC::PropertyTable::begin const): Deleted.
(JSC::PropertyTable::end const): Deleted.
(JSC::PropertyTable::table): Deleted.
(JSC::PropertyTable::table const): Deleted.
- Source/JavaScriptCore/runtime/RegExpMatchesArray.h:
- Source/JavaScriptCore/runtime/Structure.cpp:
(JSC::Structure::dumpStatistics):
(JSC::Structure::Structure):
(JSC::Structure::materializePropertyTable):
(JSC::Structure::nonPropertyTransitionSlow):
(JSC::Structure::isSealed):
(JSC::Structure::isFrozen):
(JSC::Structure::flattenDictionaryStructure):
(JSC::PropertyTableStatisticsExitLogger::~PropertyTableStatisticsExitLogger):
(JSC::Structure::getConcurrently):
(JSC::Structure::getPropertiesConcurrently):
(JSC::Structure::getPropertyNamesFromStructure):
(JSC::Structure::toStructureShape):
(JSC::Structure::dump const):
- Source/JavaScriptCore/runtime/Structure.h:
(JSC::CompactPropertyTableEntry::CompactPropertyTableEntry):
(JSC::CompactPropertyTableEntry::key const):
(JSC::CompactPropertyTableEntry::setKey):
(JSC::CompactPropertyTableEntry::offset const):
(JSC::CompactPropertyTableEntry::setOffset):
(JSC::CompactPropertyTableEntry::attributes const):
(JSC::CompactPropertyTableEntry::setAttributes):
(JSC::PropertyTableEntry::PropertyTableEntry):
(JSC::PropertyTableEntry::key const):
(JSC::PropertyTableEntry::setKey):
(JSC::PropertyTableEntry::offset const):
(JSC::PropertyTableEntry::setOffset):
(JSC::PropertyTableEntry::attributes const):
(JSC::PropertyTableEntry::setAttributes):
(JSC::PropertyMapEntry::PropertyMapEntry): Deleted.
- Source/JavaScriptCore/runtime/StructureInlines.h:
(JSC::Structure::get):
(JSC::Structure::forEachPropertyConcurrently):
(JSC::Structure::forEachProperty):
(JSC::Structure::add):
(JSC::Structure::remove):
(JSC::Structure::attributeChange):
Canonical link: https://commits.webkit.org/249881@main
- 10:35 PM Changeset in webkit [293209] by
-
- 4 edits4 adds in trunk
contain: layout
on the html element should change position:fixed behavior
https://bugs.webkit.org/show_bug.cgi?id=238560
Patch by Rob Buis <rbuis@igalia.com> on 2022-04-21
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/contain-layout-021-expected.html: Added.
- web-platform-tests/css/css-contain/contain-layout-021.html: Added.
- web-platform-tests/css/css-contain/reference/contain-layout-021-ref.html: Added.
Source/WebCore:
The mapLocalToContainer/mapAbsoluteToLocalPoint methods need to not only consider boxes
having transforms but need to include all checks in canContainFixedPositionObjects to
determine if the box acts as a fixed position containing block.
Tests: imported/w3c/web-platform-tests/css/css-contain/contain-layout-021.html
imported/w3c/web-platform-tests/css/css-contain/reference/contain-layout-021-ref.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::mapLocalToContainer const):
(WebCore::RenderBox::mapAbsoluteToLocalPoint const):
- rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::mapLocalToContainer const):
- 10:21 PM Changeset in webkit [293208] by
-
- 5 edits2 adds in trunk
No-op, instead of throwing, on dataTransfer.items.remove()
https://bugs.webkit.org/show_bug.cgi?id=239618
Reviewed by Wenson Hsieh.
LayoutTests/imported/w3c:
Import test coverage from upstream WPT.
- web-platform-tests/html/editing/dnd/datastore/datatransferitemlist-remove-expected.txt: Added.
- web-platform-tests/html/editing/dnd/datastore/datatransferitemlist-remove.html: Added.
Source/WebCore:
Calling dataTransfer.items.remove() with an out-of-range index should be a no-op instead of
throwing as per the latest HTML specification:
We were the only browser behaving this way so this was a compatibility risk.
Test: imported/w3c/web-platform-tests/html/editing/dnd/datastore/datatransferitemlist-remove.html
- dom/DataTransferItemList.cpp:
(WebCore::DataTransferItemList::remove):
- 8:56 PM Changeset in webkit [293207] by
-
- 2 edits in trunk/Tools
[PGO] Fix perl warnings cause by PGO for real this time.
https://bugs.webkit.org/show_bug.cgi?id=239633
Reviewed by Yusuke Suzuki.
Add a missing 'defined' check before reading the PGO environment variable.
- Tools/Scripts/check-for-weak-vtables-and-externals:
Canonical link: https://commits.webkit.org/249878@main
- 8:27 PM Changeset in webkit [293206] by
-
- 9 edits in trunk/LayoutTests
AX ITM: Fix for multiple flaky tests in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=239583
<rdar://problem/92064483>
Reviewed by Chris Fleizach.
Rewrote these flaky tests so that now pass in isolated tree mode:
- Use expect() instead of shouldBe*() and log the output at the end of
the test.
- Avoid setting focus to an element just to get the accessible element.
- accessibility/legend-children-are-visible-expected.txt:
- accessibility/legend-children-are-visible.html:
- accessibility/mac/aria-label-overrides-visible-text-expected.txt:
- accessibility/mac/aria-label-overrides-visible-text.html:
- accessibility/mac/aria-popup-buttons-on-native-elements-expected.txt:
- accessibility/mac/aria-popup-buttons-on-native-elements.html:
- accessibility/mac/link-with-title-expected.txt:
- accessibility/mac/link-with-title.html:
- 7:48 PM Changeset in webkit [293205] by
-
- 4 edits in trunk/Source/WebKitLegacy/win
Unreviewed build fix after r293199.
https://bugs.webkit.org/show_bug.cgi?id=239628
Remove unused references to XSS Auditor.
- WebPreferenceKeysPrivate.h:
- WebPreferences.cpp:
(WebPreferences::initializeDefaultSettings):
(WebPreferences::isXSSAuditorEnabled):
(WebPreferences::setXSSAuditorEnabled):
- WebView.cpp:
(WebView::notifyPreferencesChanged):
- 6:21 PM Changeset in webkit [293204] by
-
- 2 edits in trunk/LayoutTests
[ macOS wk2 arm64 ] media/modern-media-controls/tracks-support/text-track-selected-via-media-api.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=239634
Unreviewed test gardening.
- LayoutTests/platform/mac-wk2/TestExpectations:
Canonical link: https://commits.webkit.org/249875@main
- 5:51 PM Changeset in webkit [293203] by
-
- 12 edits2 deletes in trunk/Source/JavaScriptCore
[JSC] Remove TempRegisterSet
https://bugs.webkit.org/show_bug.cgi?id=239578
Reviewed by Mark Lam.
We can always use RegisterSet. TempRegisterSet can save several bytes, but we have no code using TempRegisterSet in
heap-allocated classes. So, this does not make sense anymore. Instead of TempRegisterSet, we will consistently use
RegisterSet to pass register info and ScratchRegisterAllocator to manage allocation of temp / scratch registers.
We also remove the copyCalleeSavesToEntryFrameCalleeSavesBuffer function which takes no scratch register. It was
using TempRegisterSet to allocate a scratch register, but the caller of this function was making assumptions on how
TempRegisterSet will allocate that scratch. This is very fragile and dangerous. We should explicitly pass a scratch
register instead in that case.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::lower):
- jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::copyLLIntBaselineCalleeSavesFromFrameOrRegisterToEntryFrameCalleeSavesBuffer):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::copyLLIntBaselineCalleeSavesFromFrameOrRegisterToEntryFrameCalleeSavesBuffer): Deleted.
- jit/RegisterSet.h:
- jit/ScratchRegisterAllocator.cpp:
(JSC::ScratchRegisterAllocator::lock):
(JSC::ScratchRegisterAllocator::allocateScratch):
(JSC::ScratchRegisterAllocator::preserveReusedRegistersByPushing):
(JSC::ScratchRegisterAllocator::restoreReusedRegistersByPopping):
- jit/ScratchRegisterAllocator.h:
- jit/TempRegisterSet.cpp: Removed.
- jit/TempRegisterSet.h: Removed.
- jit/ThunkGenerators.cpp:
(JSC::handleExceptionGenerator):
(JSC::handleExceptionWithCallFrameRollbackGenerator):
(JSC::throwExceptionFromCallSlowPathGenerator):
(JSC::nativeForGenerator):
(JSC::boundFunctionCallGenerator):
(JSC::remoteFunctionCallGenerator):
- wasm/js/WasmToJS.cpp:
(JSC::Wasm::wasmToJS):
- 5:17 PM Changeset in webkit [293202] by
-
- 24 edits in trunk
[WTF] Add string concatenate adapter for UUID
https://bugs.webkit.org/show_bug.cgi?id=239590
Reviewed by Chris Dumez and Darin Adler.
This patch adds string concatenate adapter for UUID.
UUID's stringifier consists of multiple string concatenate adapters.
This patch adds WTF::handleWithAdapters so that we can define adapters
once, and we can semi-automatically define length() and writeTo method for UUID.
And we use UUID + makeString instead of createVersion4UUIDString. This is more
efficient since we do not need to allocate string twice.
- Source/WTF/wtf/UUID.cpp:
(WTF::UUID::generateWeakRandomUUIDVersion4):
(WTF::createVersion4UUIDString):
(WTF::generateWeakRandomUUIDVersion4): Deleted.
(WTF::UUID::toString const): Deleted.
(WTF::createVersion4UUIDStringWeak): Deleted.
- Source/WTF/wtf/UUID.h:
(WTF::UUID::createVersion4Weak):
(WTF::UUID::isHashTableDeletedValue const):
(WTF::UUID::data const):
(WTF::StringTypeAdapter<UUID>::StringTypeAdapter):
(WTF::StringTypeAdapter<UUID>::length const):
(WTF::StringTypeAdapter<UUID>::is8Bit const):
(WTF::StringTypeAdapter<UUID>::writeTo const):
- Source/WebCore/animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::copyPropertiesFromSource):
(WebCore::KeyframeEffect::updateBlendingKeyframes):
(WebCore::KeyframeEffect::computeCSSTransitionBlendingKeyframes):
- Tools/TestWebKitAPI/Tests/WTF/UUID.cpp:
(TEST):
Canonical link: https://commits.webkit.org/249873@main
- 5:09 PM Changeset in webkit [293201] by
-
- 1 copy in tags/WebKit-7613.2.7
Tag WebKit-7613.2.7.
- 5:09 PM Changeset in webkit [293200] by
-
- 1 delete in tags/WebKit-7613.2.7
Delete tag.
- 5:05 PM Changeset in webkit [293199] by
-
- 4 edits in trunk/Source
Remove XSS Auditor: Part 4 (Settings)
https://bugs.webkit.org/show_bug.cgi?id=239628
Reviewed by Alex Christensen.
This change is a follow-up to Bug 230661 that removes the unused
Source/WebKitLegacy/mac:
WebKitXSSAuditorEnabledPreferenceKey.
- WebView/WebPreferenceKeysPrivate.h:
Source/WTF:
WebPreferences.yaml content.
- Scripts/Preferences/WebPreferences.yaml:
- 5:02 PM Changeset in webkit [293198] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r292095. rdar://problem/90240658
Ensure m_layerRulesBeforeImportRules is properly copied during StyleSheetContents instantiation
https://bugs.webkit.org/show_bug.cgi?id=238537
Reviewed by Antti Koivisto.
During the instantiation of the StyleSheetContents the m_layerRulesBeforeImportRules was not being
properly copied.
- css/StyleSheetContents.cpp: (WebCore::StyleSheetContents::StyleSheetContents):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292095 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:01 PM Changeset in webkit [293197] by
-
- 4 edits in trunk/Source/WebCore
Simplify FrameSelection::textWasReplaced() and callers
https://bugs.webkit.org/show_bug.cgi?id=239620
Reviewed by Geoffrey Garen.
- dom/CharacterData.cpp:
(WebCore::CharacterData::setData):
- Cache document().frame()
- Call textWasReplaced() with *this instead of this
- Use modern template deduction for Ref<>.
(WebCore::CharacterData::setDataAndUpdate):
- Use WTFMove() for m_data to avoid ref-counting churn. We're about to overwrite m_data anyway.
- Use
else if
for the ProcessingInstruction branch instead ofif
to avoid this check in the common case where |this| is a Text node. A Text node cannot be a ProcessingInstruction node. - Cache document().frame()
- Call textWasReplaced() with *this instead of this
- editing/FrameSelection.cpp:
(WebCore::updatePositionAfterAdoptingTextReplacement):
- Pass node by reference now that the caller now has a reference instead of a pointer
- Drop !position.anchorNode() check. It is not necessary as the position.anchorNode() != &node check would already be true if the anchorNode were null.
(WebCore::FrameSelection::textWasReplaced):
- Drop outdated comment about a fragment check since there is no such check anymore
- Pass node by reference instead of pointer as all call sites have a non-null pointer
- Drop null check for node that is no longer necessary
- editing/FrameSelection.h:
- 4:55 PM Changeset in webkit [293196] by
-
- 1 copy in tags/WebKit-7613.2.7
Tag WebKit-7613.2.7.
- 4:27 PM Changeset in webkit [293195] by
-
- 85 edits in trunk/Source
Adopt RobinHoodHashMap / RobinHoodHashSet more broadly in WebCore
https://bugs.webkit.org/show_bug.cgi?id=239576
Reviewed by Yusuke Suzuki.
Source/WebCore:
Adopt RobinHoodHashMap / RobinHoodHashSet more broadly in WebCore to avoid wasting memory in hash tables.
RobinHoodHashMap / RobinHoodHashSet have more restrictions on what key types they work with and may result
in slightly lower performance but they have a much higher load factor that the regular HashMap / HashSet,
thus reducing memory usage. This patch adopts RobinHoodHashMap / RobinHoodHashSet on non performance
sensitive maps / sets in WebCore that have compatible keys (String / AtomString / URL because they cache
their hash).
This is perf-neutral on all our benchmarks according to A/B testing.
- Modules/encryptedmedia/InitDataRegistry.h:
- Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.h:
- Modules/indexeddb/server/SQLiteIDBTransaction.h:
- Modules/mediasource/MediaSourceRegistry.h:
- Modules/mediastream/MediaDevices.h:
- Modules/mediastream/MediaStream.h:
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:
- Modules/web-locks/WebLockRegistry.cpp:
- Modules/webaudio/AudioWorkletGlobalScope.h:
- Modules/webaudio/AudioWorkletNode.h:
- Modules/webaudio/AudioWorkletProcessor.cpp:
(WebCore::constructFrozenKeyValueObject):
(WebCore::copyDataFromParameterMapToJSObject):
(WebCore::AudioWorkletProcessor::buildJSArguments):
(WebCore::AudioWorkletProcessor::process):
- Modules/webaudio/AudioWorkletProcessor.h:
- Modules/webaudio/BaseAudioContext.h:
(WebCore::BaseAudioContext::parameterDescriptorMap const):
- Modules/webdatabase/Database.cpp:
(WebCore::WTF_REQUIRES_LOCK):
- Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::recordDeletingDatabase):
- Modules/webdatabase/DatabaseTracker.h:
- bindings/js/JSCustomElementInterface.h:
- bindings/js/ScriptModuleLoader.h:
- dom/CustomElementRegistry.h:
(WebCore::CustomElementRegistry::promiseMap):
- dom/ExtensionStyleSheets.h:
- dom/MutationObserver.cpp:
(WebCore::MutationObserver::observe):
- dom/MutationObserverRegistration.cpp:
(WebCore::MutationObserverRegistration::MutationObserverRegistration):
(WebCore::MutationObserverRegistration::resetObservation):
- dom/MutationObserverRegistration.h:
- dom/Node.cpp:
(WebCore::Node::registerMutationObserver):
- dom/Node.h:
- dom/WindowEventLoop.cpp:
- editing/Editor.h:
- inspector/InspectorAuditResourcesObject.h:
- inspector/NetworkResourcesData.cpp:
(WebCore::NetworkResourcesData::clear):
- inspector/NetworkResourcesData.h:
- inspector/agents/InspectorAnimationAgent.h:
- inspector/agents/InspectorCanvasAgent.h:
- inspector/agents/InspectorDOMDebuggerAgent.h:
- inspector/agents/InspectorDatabaseAgent.h:
- inspector/agents/InspectorNetworkAgent.h:
- inspector/agents/InspectorPageAgent.h:
- inspector/agents/InspectorWorkerAgent.h:
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::setActiveContentRuleListActionPatterns):
- loader/DocumentLoader.h:
- loader/cache/CachedResourceLoader.h:
- page/Page.h:
- page/PageConfiguration.h:
- page/csp/ContentSecurityPolicyMediaListDirective.h:
- page/csp/ContentSecurityPolicySourceList.h:
- platform/LegacySchemeRegistry.cpp:
(WebCore::WTF_REQUIRES_LOCK):
- platform/StaticPasteboard.h:
- platform/graphics/SourceBufferPrivate.h:
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::updateTracksOfKind):
- platform/graphics/cg/UTIRegistry.cpp:
(WebCore::additionalSupportedImageTypes):
- platform/graphics/cg/UTIRegistry.h:
- platform/graphics/cocoa/FontCacheCoreText.cpp:
- platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp:
(WebCore::genericFamily):
- platform/graphics/cocoa/SystemFontDatabaseCoreText.h:
- platform/mac/ThreadCheck.mm:
(WebCoreReportThreadViolation):
- platform/mediastream/MediaStreamPrivate.h:
- platform/network/BlobRegistryImpl.h:
- platform/network/CredentialStorage.h:
- platform/network/NetworkStorageSession.h:
- rendering/ReferencedSVGResources.h:
- svg/SVGDocumentExtensions.h:
- workers/Worker.h:
- workers/WorkerGlobalScope.h:
- workers/service/ServiceWorkerContextData.h:
(WebCore::ServiceWorkerContextData::decode):
- workers/service/server/RegistrationDatabase.cpp:
(WebCore::stripScriptSources):
(WebCore::populateScriptSourcesFromDisk):
(WebCore::RegistrationDatabase::doPushChanges):
(WebCore::RegistrationDatabase::importRecords):
- workers/service/server/RegistrationStore.cpp:
(WebCore::RegistrationStore::didSaveWorkerScriptsToDisk):
- workers/service/server/RegistrationStore.h:
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::didSaveWorkerScriptsToDisk):
(WebCore::SWServer::updateWorker):
(WebCore::SWServer::installContextData):
- workers/service/server/SWServer.h:
- workers/service/server/SWServerToContextConnection.h:
- workers/service/server/SWServerWorker.cpp:
(WebCore::SWServerWorker::SWServerWorker):
(WebCore::SWServerWorker::didSaveScriptsToDisk):
- workers/service/server/SWServerWorker.h:
Source/WebKit:
Adopt RobinHoodHashMap / RobinHoodHashSet more broadly in WebKit to avoid wasting memory in hash tables.
RobinHoodHashMap / RobinHoodHashSet have more restrictions on what key types they work with and may result
in slightly lower performance but they have a much higher load factor that the regular HashMap / HashSet,
thus reducing memory usage. This patch adopts RobinHoodHashMap / RobinHoodHashSet on non performance
sensitive maps / sets in WebCore that have compatible keys (String / AtomString / URL because they cache
their hash).
- NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp:
(WebKit::WebSWServerToContextConnection::didSaveScriptsToDisk):
- NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h:
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- UIProcess/API/APIPageConfiguration.h:
(API::PageConfiguration::allowedNetworkHosts const):
(API::PageConfiguration::setAllowedNetworkHosts):
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration _setLoadsFromNetwork:]):
(-[WKWebViewConfiguration _setAllowedNetworkHosts:]):
Source/WTF:
Allow using RobinHoodHashMap / RobinHoodHashSet with URL keys since a URL wraps a String
and uses its internal String's cached hash as hash.
- wtf/URLHash.h:
- 4:11 PM Changeset in webkit [293194] by
-
- 2 edits in trunk/LayoutTests
[ macOS wk2 arm64 ] fast/scrolling/mac/adjust-scroll-snap-during-gesture.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=239627
Unreviewed test gardening.
- LayoutTests/platform/mac-wk2/TestExpectations:
Canonical link: https://commits.webkit.org/249869@main
- 3:56 PM Changeset in webkit [293193] by
-
- 2 edits in trunk/LayoutTests
[ iOS 15.4 ] imported/w3c/web-platform-tests/css/css-color/opacity-overlapping-letters.html is failing
https://bugs.webkit.org/show_bug.cgi?id=239625
Unreviewed test gardening.
- LayoutTests/platform/ios/TestExpectations:
Canonical link: https://commits.webkit.org/249868@main
- 3:31 PM Changeset in webkit [293192] by
-
- 2 edits in trunk/LayoutTests
[ macOS wk2 arm64 ] REGRESSION (r242313): Layout Test scrollingcoordinator/mac/multiple-fixed.html is a flaky time out and image diff
https://bugs.webkit.org/show_bug.cgi?id=195635
Unreviewed test gardening.
Adding new test expectation.
- LayoutTests/platform/mac-wk2/TestExpectations:
Canonical link: https://commits.webkit.org/249867@main
- 3:07 PM Changeset in webkit [293191] by
-
- 2 edits in trunk/Source/WebKit
Build is broken on shipping macOS due to TBA annotations replacement in API headers
https://bugs.webkit.org/show_bug.cgi?id=239623
Unreviewed, bump versions in WebKit.xcconfig too to disable TBA annotation replacement on shipping OS
so that we don't get warnings about API not yet being available.
- Configurations/WebKit.xcconfig:
- 3:07 PM Changeset in webkit [293190] by
-
- 1 copy in tags/WebKit-7614.1.10.5
Tag WebKit-7614.1.10.5.
- 2:46 PM Changeset in webkit [293189] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Elements: Layout: hovering over a node should highlight it in the page
https://bugs.webkit.org/show_bug.cgi?id=239621
Reviewed by Patrick Angle.
- UserInterface/Views/NodeOverlayListSection.js:
(WI.NodeOverlayListSection.prototype.layout):
Use the existingWI.linkifyNodeReference
to create the UI for theWI.DOMNode
.
- UserInterface/Base/DOMUtilities.js:
(WI.linkifyNodeReferenceElement):
Don't style the UI as a link if clicking it doesn't do anything.
- 2:03 PM Changeset in webkit [293188] by
-
- 4 edits in trunk
<body> with overflow:hidden CSS is scrollable on iOS standalone web app
https://bugs.webkit.org/show_bug.cgi?id=220908
<rdar://73574797>
Reviewed by Devin Rousso.
Source/WebKit:
overflow:hidden
failed to make the primary scroll view unscrollable in a home screen web
app because of logic in _updateScrollViewForTransaction: that was intended to ensure that if
the current unobscured rect is equal to the max unobscured rect (i.e. testing for collapsed
UI in MobileSafari), the user could scroll to expand the UI.
This failed in Web.app because there is no collapsible UI there, i.e.
minUnobscuredSize == maxUnobscuredSize. So test for that scenario.
Tested by new API tests.
- UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _updateScrollViewForTransaction:]):
Tools:
New API tests for various configurations of insets and size overrides.
- TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm:
(TestWebKitAPI::TEST):
- 1:57 PM Changeset in webkit [293187] by
-
- 10 edits in trunk/Tools
[git-webkit] Allow caller to specify remote for PR
https://bugs.webkit.org/show_bug.cgi?id=239452
<rdar://problem/91897384>
Reviewed by Dewei Zhu.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git.init): Allow caller to define remotes.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:
(PullRequest.parser): Add '--remote' option.
(PullRequest.main): Allow options to specify the remote we're making a PR against.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/revert.py:
(Revert.add_comment_to_reverted_commit_bug_tracker): Derive remote from argument.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.PRGenerator.find): Support finding PRs if label doesn't contain username.
(GitHub.PRGenerator.create): Error 422 is a validation error, usually caused by another PR pointing to the same branch.
(GitHub.PRGenerator.update): Extract error message for more actionable errors.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/clean_unittest.py:
(TestClean.test_clean_pr): Add fork remote.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/revert_unittest.py:
Canonical link: https://commits.webkit.org/249863@main
- 1:51 PM Changeset in webkit [293186] by
-
- 2 edits in trunk/Source/WebCore
Only AXIsolatedTree::update{Children,Node} once when processing notifications in AXObjectCache::updateIsolatedTree
https://bugs.webkit.org/show_bug.cgi?id=239499
Reviewed by Andres Gonzalez.
Currently, we do try to prevent performing duplicate updates, but we do so only
if we have an exact match for a previous notification for any given object.
However, multiple notifications trigger AXIsolatedTree::updateNode and children,
so we'll still duplicate work if we get multiple notifications in the same group.
For example, before this patch, if the same object got both an AXValueChanged and
AXTextChanged notification, we'd call AXIsolatedTree::updateNode twice.
With this patch, we instead keep track of whether or not we've
performed a node or children update for each object to prevent
duplicate work.
No new tests because there is no behavior change.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::updateIsolatedTree):
(WebCore::appendIfNotContainsMatching): Deleted.
- 1:48 PM Changeset in webkit [293185] by
-
- 9 edits in branches/safari-614.1.10-branch/Source
Versioning.
WebKit-7614.1.10.5
- 1:40 PM Changeset in webkit [293184] by
-
- 1 copy in tags/WebKit-7614.1.10.4
Tag WebKit-7614.1.10.4.
- 1:33 PM Changeset in webkit [293183] by
-
- 2 edits in trunk/LayoutTests
Implement ElementInternals
https://bugs.webkit.org/show_bug.cgi?id=197960
Unreviewed test gardening.
- LayoutTests/platform/ipad/TestExpectations:
Canonical link: https://commits.webkit.org/249861@main
- 1:11 PM Changeset in webkit [293182] by
-
- 1 edit in branches/safari-613-branch/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm
Unreviewed build fix. rdar://91584856
WebPageProxyIOS.mm:572:31: error: use of undeclared identifier 'createVersion4UUIDString'; did you mean 'createVersion4UUIDStringWeak'?
- 1:11 PM Changeset in webkit [293181] by
-
- 1 edit in branches/safari-613-branch/Source/WebKit/WebProcess/WebPage/WebPage.messages.in
Unreviewed build fix. rdar://72058321
DerivedSources/WebKit/WebPageMessageReceiver.cpp:4038:99: error: indirection requires pointer operand ('UniqueRef<IPC::Encoder>' invalid)
return IPC::handleMessage<Messages::WebPage::PerformActionOnElement>(connection, decoder, *replyEncoder, this, &WebPage::performActionOnElement);
- 1:11 PM Changeset in webkit [293180] by
-
- 8 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r291371. rdar://problem/72058321
- 1:11 PM Changeset in webkit [293179] by
-
- 8 edits in branches/safari-613-branch/Source/WebKit
Revert r291371. rdar://problem/72058321
This reverts r293069.
- 10:51 AM Changeset in webkit [293178] by
-
- 23 edits in trunk/Source/WebInspectorUI
Web Inspector: add reference page links for the Timelines Tab
https://bugs.webkit.org/show_bug.cgi?id=239580
Reviewed by Patrick Angle.
- UserInterface/Views/TimelineView.js:
(WI.TimelineView.prototype.initialLayout): Added.
- UserInterface/Views/TimelineView.css:
(.timeline-view > .reference-page-link-container): Added.
Add a reference page link to the bottom-right of each timeline view.
- UserInterface/Views/CPUTimelineView.js:
(WI.CPUTimelineView.prototype.initialLayout):
- UserInterface/Views/HeapAllocationsTimelineView.js:
- UserInterface/Views/LayoutTimelineView.js:
- UserInterface/Views/MediaTimelineView.js:
- UserInterface/Views/MemoryTimelineView.js:
- UserInterface/Views/NetworkTimelineView.js:
- UserInterface/Views/OverviewTimelineView.js:
- UserInterface/Views/RenderingFrameTimelineView.js:
- UserInterface/Views/ScriptDetailsTimelineView.js:
- UserInterface/Views/ScriptProfileTimelineView.js:
Add
WI.*.ReferencePage = WI.ReferencePage.*
relationships for each timeline view.
- UserInterface/Base/ReferencePage.js:
(WI.ReferencePage): Added.
(WI.ReferencePage.prototype.get page): Added.
(WI.ReferencePage.prototype.get topic): Added.
(WI.ReferencePage.prototype.createLinkElement): Added.
- UserInterface/Base/Main.js:
(WI.createReferencePageLink): Moved to
WI.ReferencePage.prototype.createLinkElement
.
Create aWI.ReferencePage
class that knows how to generate a<a>
.
- UserInterface/Views/AuditNavigationSidebarPanel.js:
(WI.AuditNavigationSidebarPanel.prototype.showDefaultContentView):
- UserInterface/Views/AuditTestCaseContentView.js:
(WI.AuditTestCaseContentView.prototype.showRunningPlaceholder):
- UserInterface/Views/AuditTestContentView.js:
(WI.AuditTestContentView.prototype.showStoppingPlaceholder):
(WI.AuditTestContentView.prototype.showNoResultPlaceholder):
(WI.AuditTestContentView.prototype.showNoResultDataPlaceholder):
(WI.AuditTestContentView.prototype.showFilteredPlaceholder):
- UserInterface/Views/AuditTestGroupContentView.js:
(WI.AuditTestGroupContentView.prototype.showRunningPlaceholder):
- UserInterface/Views/BreakpointPopover.js:
(WI.BreakpointPopover.prototype.show):
- UserInterface/Views/CreateAuditPopover.js:
(WI.CreateAuditPopover.prototype.show):
- UserInterface/Views/Layers3DContentView.js:
(WI.Layers3DContentView.prototype.initialLayout):
- UserInterface/Views/LocalResourceOverridePopover.js:
(WI.LocalResourceOverridePopover.prototype.show):
ReplaceWI.createReferencePageLink
withWI.ReferencePage.*.createLinkElement
- 10:43 AM Changeset in webkit [293177] by
-
- 2 edits in trunk/Source/WebCore
[GBM] Debug build broken
https://bugs.webkit.org/show_bug.cgi?id=239609
Patch by Philippe Normand <pnormand@igalia.com> on 2022-04-21
Reviewed by Adrian Perez de Castro.
- platform/graphics/gbm/GraphicsContextGLGBM.cpp: Include Logging.h enabling use of logging facilities.
Canonical link: https://commits.webkit.org/249859@main
- 10:32 AM Changeset in webkit [293176] by
-
- 9 edits2 adds in trunk/Source/JavaScriptCore
Unreviewed, reverting r293146.
https://bugs.webkit.org/show_bug.cgi?id=239613
Broke JSC tests. Looks like EWS was blocked by label
<https://bugs.webkit.org/show_bug.cgi?id=239411>
Reverted changeset:
"[JSC] Remove TempRegisterSet"
https://bugs.webkit.org/show_bug.cgi?id=239578
https://commits.webkit.org/r293146
- 10:16 AM Changeset in webkit [293175] by
-
- 6 edits2 adds in trunk
[git-webkit] Add revert command (237663)
https://bugs.webkit.org/show_bug.cgi?id=237663
rdar://90039948
Reviewed by Jonathan Bedard.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py: Break the pull request creation into serval differnt funtions so that other action can reuse it easily.
(PullRequest):
(PullRequest.check_pull_request_args):
(PullRequest.pull_request_branch_point):
(PullRequest.create_pull_request):
(PullRequest.main):
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/revert.py: Added.
(Revert):
(Revert.parser):
(Revert.revert_commit):
(Revert.main):
Canonical link: https://commits.webkit.org/249857@main
- 10:10 AM Changeset in webkit [293174] by
-
- 3 edits in trunk/Tools
[Merge-Queue] Don't close bugs associated with test gardening
https://bugs.webkit.org/show_bug.cgi?id=239604
<rdar://problem/92093456>
Reviewed by Ryan Haddad.
- Tools/CISupport/ews-build/steps.py:
(CloseBug.doStepIf): Skip step if we're a test gardening change.
(UpdatePullRequest):
(UpdatePullRequest.is_test_gardening): Check for "Unreviewed test gardening" in the commit message.
(UpdatePullRequest.evaluateCommand):
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/249856@main
- 9:55 AM Changeset in webkit [293173] by
-
- 9 edits in trunk
A suspended remote shared worker should resume when a new SharedWorker is added
https://bugs.webkit.org/show_bug.cgi?id=239325
Reviewed by Chris Dumez.
Source/WebKit:
Check whether resuming/suspending remote shared worker in case of added/removed SharedWorker object.
Make sure to suspend the remote shared worker at launch time if needed.
Covered by updated test.
- NetworkProcess/SharedWorker/WebSharedWorker.cpp:
- NetworkProcess/SharedWorker/WebSharedWorker.h:
- NetworkProcess/SharedWorker/WebSharedWorkerServer.cpp:
LayoutTests:
- http/tests/navigation/page-cache-shared-worker-expected.txt:
- http/tests/navigation/page-cache-shared-worker.html:
- http/tests/navigation/resources/page-cache-helper-for-sharedworker.html:
- http/tests/navigation/resources/shared-worker-script.js:
- 9:28 AM Changeset in webkit [293172] by
-
- 4 edits in trunk/Tools
[commits.webkit.org] Disable CORS
https://bugs.webkit.org/show_bug.cgi?id=239607
Reviewed by Aakash Jain.
- Tools/Scripts/libraries/reporelaypy/reporelaypy/init.py: Bump version.
- Tools/Scripts/libraries/reporelaypy/reporelaypy/webserver.py: Disable CORS.
- Tools/Scripts/libraries/reporelaypy/setup.py: Bump version.
Canonical link: https://commits.webkit.org/249853@main
- 9:28 AM Changeset in webkit [293171] by
-
- 2 edits in trunk/LayoutTests
[ macOS Release ] webanimations/css-transition-retargeting-during-ready-promise.html is a flaky failure
Updating test expectations to include Monterey Release
https://bugs.webkit.org/show_bug.cgi?id=215335
Unreviewed test gardening.
- LayoutTests/platform/mac/TestExpectations:
Canonical link: https://commits.webkit.org/249853@main
- 9:21 AM Changeset in webkit [293170] by
-
- 7 edits2 adds in trunk
AVSampleBufferRenderSynchronizer timeline sometimes goes backwards when playback begins
https://bugs.webkit.org/show_bug.cgi?id=239471
rdar://91117803
Reviewed by Jer Noble.
Source/WebCore:
Test: media/media-source/media-source-current-time.html
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Log current time and requested
playback rate.
(WebCore::HTMLMediaElement::setPausedInternal): Log.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
If time has gone backward, clamp to the most recent seek time.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playInternal): INFO_LOG -> ALWAYS_LOG
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pauseInternal): Ditto.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::currentMediaTime const): Use clampTimeToLastSeekTime.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::clampTimeToLastSeekTime const): New,
clamp time value to the most recent seek time.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setCurrentTimeDidChangeCallback):
Use clampTimeToLastSeekTime.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance): INFO_LOG -> ALWAYS_LOG
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal): INFO_LOG -> ALWAYS_LOG
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::updateLastPixelBuffer): INFO_LOG -> ALWAYS_LOG
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setHasAvailableVideoFrame): INFO_LOG -> ALWAYS_LOG
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationChanged): INFO_LOG -> ALWAYS_LOG
Source/WebKit:
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::currentTimeChanged): Log when time jumps backwards.
LayoutTests:
- media/media-source/media-source-current-time-expected.txt: Added.
- media/media-source/media-source-current-time.html: Added.
- 8:21 AM Changeset in webkit [293169] by
-
- 5 edits in trunk/Source/WebCore
[LFC][Integration] Add direct style accessor to inline iterator
https://bugs.webkit.org/show_bug.cgi?id=239593
Reviewed by Alan Bujtas.
The current implementation fetches the line and the renderer and is pretty expensive.
- layout/integration/inline/InlineIteratorBox.cpp:
(WebCore::InlineIterator::Box::style const): Deleted.
- layout/integration/inline/InlineIteratorBox.h:
(WebCore::InlineIterator::Box::style const):
- layout/integration/inline/InlineIteratorBoxLegacyPath.h:
(WebCore::InlineIterator::BoxLegacyPath::style const):
- layout/integration/inline/InlineIteratorBoxModernPath.h:
(WebCore::InlineIterator::BoxModernPath::style const):
- 7:46 AM Changeset in webkit [293168] by
-
- 3 edits in trunk/Tools
[Merge-Queue] Allow "Rubber-stamped" as review message
https://bugs.webkit.org/show_bug.cgi?id=239601
<rdar://problem/92091819>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(ValidateCommitMessage.evaluateCommand): Allow "Rubber-stamped by."
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/249850@main
- 6:20 AM Changeset in webkit [293167] by
-
- 10 edits2 copies in trunk/Tools
[build.webkit.org] Support identifiers on dashboard
https://bugs.webkit.org/show_bug.cgi?id=239473
<rdar://problem/76852365>
Reviewed by Aakash Jain.
- Tools/CISupport/build-webkit-org/public_html/dashboard/Scripts/Buildbot.js:
(Buildbot.prototype.layoutTestResultsDirectoryURLForIteration): Remove leading r.
- Tools/CISupport/build-webkit-org/public_html/dashboard/Scripts/BuildbotIteration.js:
(BuildbotIteration.prototype.get buildURL): Request identifier.
- Tools/CISupport/build-webkit-org/public_html/dashboard/Scripts/Dashboard.js: OpenSource should be considered a git checkout.
- Tools/CISupport/build-webkit-org/public_html/dashboard/Scripts/Initialization.js: Add Commit interface.
- Tools/CISupport/build-webkit-org/public_html/dashboard/Scripts/Main.js: Kick off periodic commits.webkit.org refresh.
- Tools/CISupport/build-webkit-org/public_html/dashboard/Scripts/QueueView.js:
(QueueView.prototype._appendPendingRevisionCount): Use commit.webkit.org interface instead of trac.
(QueueView.prototype._formatRevisionForDisplay): Don't truncate identifiers.
- Tools/CISupport/build-webkit-org/public_html/dashboard/Scripts/tests/index.html: Import Commits.js.
- Tools/CISupport/build-webkit-org/public_html/dashboard/Scripts/tests/resources/MockCommits.js:
(MockCommits): Add mock commits.webkit.org interface.
- Tools/CISupport/build-webkit-org/public_html/dashboard/Scripts/tests/resources/tests.js:
(setup): Add commits.webkit.org interface.
(this.view._latestProductiveIteration):
- Tools/CISupport/build-webkit-org/public_html/dashboard/index.html:
Canonical link: https://commits.webkit.org/249849@main
- 5:14 AM Changeset in webkit [293166] by
-
- 1 copy in releases/WebKitGTK/webkit-2.36.1
WebKitGTK 2.36.1
- 5:13 AM Changeset in webkit [293165] by
-
- 4 edits in releases/WebKitGTK/webkit-2.36
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.36.1 release
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit:
- gtk/NEWS: Add release notes for 2.36.1.
- 4:41 AM Changeset in webkit [293164] by
-
- 2 edits in releases/WebKitGTK/webkit-2.36/Tools
Merge r293163 - [GTK][WPE] Make make-dist script python3 only
https://bugs.webkit.org/show_bug.cgi?id=239596
Reviewed by Adrian Perez de Castro.
It fails with python2 since r291934.
- Scripts/make-dist:
- 4:40 AM Changeset in webkit [293163] by
-
- 2 edits in trunk/Tools
[GTK][WPE] Make make-dist script python3 only
https://bugs.webkit.org/show_bug.cgi?id=239596
Reviewed by Adrian Perez de Castro.
It fails with python2 since r291934.
- Scripts/make-dist:
- 3:53 AM Changeset in webkit [293162] by
-
- 2 edits1 add in trunk/LayoutTests
[iOS] Rebaseline fast/attachment/attachment-disabled-rendering.html expectations
https://bugs.webkit.org/show_bug.cgi?id=238960
Unreviewed test gardening.
The page dimensions are slightly different, but the <attachment> has 0 size as expected.
- platform/ios-wk2/TestExpectations:
- platform/ios/fast/attachment/attachment-disabled-rendering-expected.txt: Added.
- 3:37 AM Changeset in webkit [293161] by
-
- 2 edits in trunk/Source/WebCore
Small cleanups to StyleBuilderCustom.cpp
https://bugs.webkit.org/show_bug.cgi?id=239595
Reviewed by Antti Koivisto.
- Make use of DECLARE_PROPERTY_CUSTOM_HANDLERS more often
- Make code style for the containIntrinsic*Size methods consistent with
applyInitialContainIntrinsicBlockSize (use auto and better variable name)
- A bit of extra sorting
- style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyValueContainIntrinsicBlockSize):
(WebCore::Style::BuilderCustom::applyInitialContainIntrinsicInlineSize):
(WebCore::Style::BuilderCustom::applyValueContainIntrinsicInlineSize):
- 2:51 AM Changeset in webkit [293160] by
-
- 3 edits in releases/WebKitGTK/webkit-2.36/Source/WebCore
Merge r292901 - [GTK] AddressSanitizer: heap-buffer-overflow in WebCore::Length::ref()
https://bugs.webkit.org/show_bug.cgi?id=237389
Reviewed by Žan Doberšek.
- platform/graphics/nicosia/NicosiaAnimation.cpp:
(Nicosia::createThreadsafeKeyFrames): Convert Length members of transform functions to
the fixed variety before they are moved to separate threads.
(Nicosia::Animation::Animation): Use the new helper.
- platform/graphics/transforms/TranslateTransformOperation.h: Added setters.
- 2:51 AM Changeset in webkit [293159] by
-
- 2 edits in releases/WebKitGTK/webkit-2.36/Source/WebKit
Merge r292628 - [WPE][2.36] Build with a11y disabled fails
https://bugs.webkit.org/show_bug.cgi?id=239004
Patch by Philippe Normand <pnormand@igalia.com> on 2022-04-08
Reviewed by Michael Catanzaro.
Add accessibility build guards.
- UIProcess/Launcher/glib/XDGDBusProxy.cpp:
(WebKit::XDGDBusProxy::XDGDBusProxy):
(WebKit::XDGDBusProxy::launch const):
- 2:51 AM WebKitGTK/2.36.x edited by
- (diff)
- 2:51 AM Changeset in webkit [293158] by
-
- 11 edits in releases/WebKitGTK/webkit-2.36/Source
Merge r292211 - REGRESSION(r290360): [GLX] Crash on process exit
https://bugs.webkit.org/show_bug.cgi?id=238494
Reviewed by Michael Catanzaro.
Source/WebCore:
When creating a PlatformDisplay from a shared GdkDisplay, we need to keep a reference to the display and connect
to closed signal to release our display dependent resources. Closed signal is emitted right before the native
display is actually closed by GDK. We also need to make sure that the sharing GL context is released before the
PlatformDisplay is destroyed. This is always happening for EGL because the sharing GL context is cleared before
terminating the EGL display in the atexit handler, but that's not the case of GLX. Since X11 only allows one
PlatformDisplay, which is always the shared one, we can just install an atexit handler in the constructor to
clear the sharing context before the destructor is called.
- platform/graphics/PlatformDisplay.cpp:
(WebCore::PlatformDisplay::createPlatformDisplay):
(WebCore::PlatformDisplay::PlatformDisplay):
(WebCore::PlatformDisplay::sharedDisplayDidClose):
(WebCore::PlatformDisplay::~PlatformDisplay):
(WebCore::PlatformDisplay::clearSharingGLContext):
(WebCore::PlatformDisplay::terminateEGLDisplay):
- platform/graphics/PlatformDisplay.h:
- platform/graphics/libwpe/PlatformDisplayLibWPE.cpp:
(WebCore::PlatformDisplayLibWPE::PlatformDisplayLibWPE):
- platform/graphics/wayland/PlatformDisplayWayland.cpp:
(WebCore::PlatformDisplayWayland::create):
(WebCore::PlatformDisplayWayland::PlatformDisplayWayland):
(WebCore::PlatformDisplayWayland::~PlatformDisplayWayland):
(WebCore::PlatformDisplayWayland::sharedDisplayDidClose):
- platform/graphics/wayland/PlatformDisplayWayland.h:
- platform/graphics/win/PlatformDisplayWin.h:
- platform/graphics/x11/PlatformDisplayX11.cpp:
(WebCore::PlatformDisplayX11::create):
(WebCore::clearSharingGLContextAtExit):
(WebCore::PlatformDisplayX11::PlatformDisplayX11):
(WebCore::PlatformDisplayX11::~PlatformDisplayX11):
(WebCore::PlatformDisplayX11::sharedDisplayDidClose):
- platform/graphics/x11/PlatformDisplayX11.h:
Source/WebKit:
- WebProcess/gtk/WaylandCompositorDisplay.cpp:
(WebKit::WaylandCompositorDisplay::WaylandCompositorDisplay):
- 2:51 AM Changeset in webkit [293157] by
-
- 1 edit1 add in releases/WebKitGTK/webkit-2.36/Source/WebCore/platform/gtk/po
Merge r292212 - Croatian translation for WebKitGTK
https://bugs.webkit.org/show_bug.cgi?id=238611
Patch by gogo <trebelnik2@gmail.com> on 2022-04-01
Rubber-stamped by Carlos Garcia Campos.
- hr.po: Added.
- 2:51 AM Changeset in webkit [293156] by
-
- 2 edits in releases/WebKitGTK/webkit-2.36/Source/WebKit
Merge r292099 - [GTK][WPE] Exit cleanly if Connection to UIProcess severed. Regression (r214307)
https://bugs.webkit.org/show_bug.cgi?id=235224
This patch reverts the WPE and GTK specific code removed in '[WK2] Make
establishing a connection between the WebProcess and the Network process more
robust' (r12345):
GTK+ and WPE ports don't exit on send sync message failure. In those particular
cases, the network process can be terminated by the UI process while the
Web process is still initializing, so we always want to exit instead of crashing. This can
happen when the WebView is created and then destroyed quickly.
See https://bugs.webkit.org/show_bug.cgi?id=183348.
Reviewed by Carlos Garcia Campos.
- WebProcess/WebProcess.cpp:
(WebKit::getNetworkProcessConnection):
(WebKit::WebProcess::getGPUProcessConnection):
(WebKit::getWebAuthnProcessConnection):
- 2:51 AM Changeset in webkit [293155] by
-
- 2 edits in releases/WebKitGTK/webkit-2.36/Source/WebCore
Merge r292684 - Include locale.h for LC_MESSAGES definition.
https://bugs.webkit.org/show_bug.cgi?id=239030
Patch by Khem Raj <raj.khem@gmail.com> on 2022-04-09
Reviewed by Michael Catanzaro.
- accessibility/atspi/AccessibilityRootAtspi.cpp:
- 2:51 AM Changeset in webkit [293154] by
-
- 4 edits in releases/WebKitGTK/webkit-2.36/Source/JavaScriptCore
Merge r291815 - [JSC] JSRemoteFunction thunk should materialize code-pointer
https://bugs.webkit.org/show_bug.cgi?id=238313
Reviewed by Mark Lam.
When invoking a JSRemoteFunction, we must first wrap the arguments passed to it.
The wrapping operation may trigger a GC, and GC can jettison JIT code. As a result,
even though we know that the target JSFunction has JIT code that we want to execute,
the JIT code may be jettisoned (while wrapping the arguments for it) before we get
to the call. This resulted in occasional crashes on the JSTests/stress/shadow-realm-evaluate.js test.
This patch fixes this by doing a null check on the JIT code just before calling it,
and if null (i.e. the JIT code has been jettisoned), re-materializing the JIT code
first before making the call.
- jit/JITOperations.cpp:
(JSC::JSC_DEFINE_JIT_OPERATION):
- jit/JITOperations.h:
- jit/ThunkGenerators.cpp:
(JSC::remoteFunctionCallGenerator):
- 2:51 AM Changeset in webkit [293153] by
-
- 4 edits in releases/WebKitGTK/webkit-2.36
Merge r291785 - [JSC] Fix remoteFunctionCallGenerator on MIPS
https://bugs.webkit.org/show_bug.cgi?id=238274
Patch by Geza Lore <Geza Lore> on 2022-03-23
Reviewed by Yusuke Suzuki.
JSTests:
- stress/shadow-realm-evaluate.js:
Source/JavaScriptCore:
Eliminate register conflict (nonArgGPR0 == regT4, which is used in
valueRegs)
- jit/ThunkGenerators.cpp:
(JSC::remoteFunctionCallGenerator):
- 2:51 AM Changeset in webkit [293152] by
-
- 13 edits in releases/WebKitGTK/webkit-2.36/Source/JavaScriptCore
Merge r290788 - Add a DeferTraps scope
https://bugs.webkit.org/show_bug.cgi?id=237306
<rdar://83494949>
Reviewed by Mark Lam.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::jettison):
(JSC::CodeBlock::noticeIncomingCall):
- bytecode/CodeBlock.h:
- bytecode/RepatchInlines.h:
(JSC::linkFor):
(JSC::virtualForWithFunction):
- dfg/DFGOperations.cpp:
(JSC::DFG::JSC_DEFINE_JIT_OPERATION):
- interpreter/Interpreter.cpp:
(JSC::Interpreter::executeProgram):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeModuleProgram):
- interpreter/InterpreterInlines.h:
(JSC::Interpreter::execute):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::setUpCall):
- runtime/ExceptionScope.h:
- runtime/ScriptExecutable.cpp:
(JSC::ScriptExecutable::installCode):
- runtime/VMTraps.cpp:
(JSC::VMTraps::handleTraps):
(JSC::VMTraps::takeTopPriorityTrap):
- runtime/VMTraps.h:
(JSC::VMTraps::needHandling const):
(JSC::VMTraps::maybeNeedHandling const):
(JSC::VMTraps::hasTrapBit):
(JSC::VMTraps::setTrapBit):
- runtime/VMTrapsInlines.h:
(JSC::DeferTraps::DeferTraps):
(JSC::DeferTraps::~DeferTraps):
- 2:51 AM Changeset in webkit [293151] by
-
- 5 edits4 adds in releases/WebKitGTK/webkit-2.36
Merge r291813 - Safari can't play video completely at bilibili.com
https://bugs.webkit.org/show_bug.cgi?id=236440
rdar://88761053
Reviewed by Jer Noble.
Source/WebCore:
Video frames were incorrectly evicted during a call to appendBuffer
as the Source Buffer incorrectly assumed a discontinuity was present.
When appending data to a source buffer, the MSE specs describe a method
to detect discontinuities in the Coded Frame Processing algorithm
(https://www.w3.org/TR/media-source/#sourcebuffer-coded-frame-processing)
step 6:
"
- If last decode timestamp for track buffer is set and decode timestamp is less than last decode timestamp:
OR
- If last decode timestamp for track buffer is set and the difference between decode timestamp and last decode timestamp is greater than 2 times last frame duration.
"
The issue being what defines the last frame duration.
Is it the frame last seen in the coded frame processing loop or the frame
whose presentation timestamp is just before the one we are currently
processing.
H264 and HEVC have a concept of b-frames: that is a frame that depends
on a future frame to be decoded.
Those frames are found in the container and can be identified by their
presentation timestamp higher than the frame following in decode order.
Those present a challenge as the frame prior the current one in
presentation order, may actually only be found several frames back in
decode order.
Bug 181891 attempted to fix a similar issue, and used the longest
"decode duration" as a workaround to detect discontinuity in the content.
It mentioned adopting the same technique as in Mozilla's MSE
implementation, but Mozilla also skip discontinuity detection within a
media segment (https://www.w3.org/TR/media-source/#media-segment which for
fMP4 is a single moof box) an approach that can't be achieved with
CoreMedia's AVStreamDataParser.
As mentioned in bug 181891, CoreMedia ignore the decode timestamps' delta
and juggles with the sample's duration so that there's no discontinuity
in the demuxed samples' presentation time, causing false positive in the
gap detection algorithm.
Bilibili uses HEVC content, and uses an encoding that generate lots
of b-frames, with a very wide sliding window (seen up to 12 frames).
By using the longest frame duration found in either presentation or
decode duration as threshold to identify a discontinuity, we can
properly parse the content and not incorrectly evict appended frames.
(As a side note, the use of HEVC with B-Frames is peculiar as not all
hardware support it.)
It is difficult to identify here if the issue is within the bilibili's
content or CoreMedia's output, though the responsibility more than
likely lies with bilibili.
Test: media/media-source/media-mp4-hevc-bframes.html
- platform/graphics/SourceBufferPrivate.cpp:
(WebCore::SourceBufferPrivate::TrackBuffer::TrackBuffer):
(WebCore::SourceBufferPrivate::resetTrackBuffers):
(WebCore::SourceBufferPrivate::didReceiveSample):
- platform/graphics/SourceBufferPrivate.h:
LayoutTests:
- media/media-source/content/test-bframes-hevc-manifest.json: Added.
- media/media-source/content/test-bframes-hevc.mp4: Added.
- media/media-source/media-mp4-hevc-bframes-expected.txt: Added.
- media/media-source/media-mp4-hevc-bframes.html: Added.
- 2:50 AM Changeset in webkit [293150] by
-
- 2 edits in releases/WebKitGTK/webkit-2.36/Source/WebKit
Merge r291621 - Ensure that proxies are invalidated before destroying them.
https://bugs.webkit.org/show_bug.cgi?id=237187
Reviewed by Carlos Garcia Campos.
- Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
(WebKit::CoordinatedGraphicsScene::updateSceneState):
- 2:35 AM Changeset in webkit [293149] by
-
- 3 edits in trunk/Source/WebCore
[GTK][WPE] Update libwebrtc API usage for video encoder factory
https://bugs.webkit.org/show_bug.cgi?id=239558
Reviewed by Philippe Normand.
Update GstreamerVideoEncoderFactory with current libwebrtc API.
No new tests required.
- platform/mediastream/libwebrtc/gstreamer/GStreamerVideoEncoderFactory.cpp:
(WebCore::GStreamerVideoEncoder::GStreamerVideoEncoder): Chain main constructor rather to
copy its initializations.
Update InitEncode method signature.
Remove deprecated attributes of EncoderInfo.
Fix code-style.
(WebCore::GStreamerH264Encoder::GStreamerH264Encoder): Remove unused class attribute and fix
a memleak.
- platform/mediastream/libwebrtc/gstreamer/GStreamerVideoEncoderFactory.h: Remove deprecated
method.
- 2:28 AM Changeset in webkit [293148] by
-
- 2 edits in trunk/Source/WTF
REGRESSION(r292863): std::remove_cvref_t not defined in GCC9<
https://bugs.webkit.org/show_bug.cgi?id=239482
Reviewed by Žan Doberšek.
std::remove_cvref_t is only available since GCC9 onwards:
- wtf/StdLibExtras.h: add remove_cvref_t to std namespace if not defined.
- 1:39 AM Changeset in webkit [293147] by
-
- 2 edits in trunk/Source/WebCore
Skip release assert during container query resolution
https://bugs.webkit.org/show_bug.cgi?id=239537
Patch by Rob Buis <rbuis@igalia.com> on 2022-04-21
Reviewed by Antti Koivisto.
Skip release assert during container query resolution
since resolveStyle will be a no-op as the container
query resolution was started in resolveStyle, so calling
resolveStyle the second time will bail right away.
- dom/Document.cpp:
(WebCore::Document::updateStyleIfNeeded):