Timeline
Jun 24, 2022:
- 1:04 PM HackingWebInspector edited by
- Update for git, recommend minibrowser instead of Safari given … (diff)
- 8:10 AM WebKitGTK/2.36.x edited by
- (diff)
Jun 23, 2022:
- 9:44 AM Changeset in webkit [295779] by
-
- 3 edits in trunk/Source/WebCore/accessibility
AX: AXIsolatedTree::updateChildren sometimes fails to update isolated subtrees when the given live object is ignored
https://bugs.webkit.org/show_bug.cgi?id=241735
Reviewed by Andres Gonzalez.
Our current algorithm in AXIsolatedTree::updateChildren is:
- If the object we got an AXChildrenChanged notification for is in the isolated tree, update its isolated children
- Otherwise, ascend the ancestry to the nearest in-isolated-tree ancestor, and update the children of that object
This is not always adequate when the object passed to updateChildren
is ignored, as in some cases the ancestor has no children changes
but the subtrees of the ignored object do.
This patch fixes this by also checking the live-children of the ignored
object for any that have unitialized children. If so, we call
AXIsolatedTree::updateChildren on those too.
- Source/WebCore/accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::childrenInitialized const):
Move from private to public.
- Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::updateChildren):
Canonical link: https://commits.webkit.org/251784@main
- 9:16 AM Changeset in webkit [295778] by
-
- 12 edits in trunk
Ignore history items added by JS without user interaction when navigation back/forward via the WKWebView API
https://bugs.webkit.org/show_bug.cgi?id=241885
<rdar://94838657>
Reviewed by Geoffrey Garen.
Ignore history items added by JS without user interaction when navigation
back/forward via the WKWebView API. This is a behavior similar to the
intervention made in Chrome (https://bugs.chromium.org/p/chromium/issues/detail?id=907167)
to prevent websites from hijacking the back/forward list.
When an history item is added by JS via history.pushState() and without a user
gesture, we now set a flag on that HistoryItem to remember this. Later on, when
calling [WKWebView goBack] or [WKWebView goForward], we will skip the history
item that have this flag set. This behavior occurs behind a linked-on-after
check to reduce the compatibility risk.
Also, navigations via other means (e.g. via JavaScript) are not impacted and will
ignore this new flag.
- Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.h:
- Source/WebCore/history/HistoryItem.h:
(WebCore::HistoryItem::setWasCreatedByJSWithoutUserInteraction):
(WebCore::HistoryItem::wasCreatedByJSWithoutUserInteraction const):
- Source/WebCore/loader/HistoryController.cpp:
(WebCore::FrameLoader::HistoryController::pushState):
- Source/WebKit/Shared/SessionState.cpp:
(WebKit::PageState::encode const):
(WebKit::PageState::decode):
- Source/WebKit/Shared/SessionState.h:
- Source/WebKit/Shared/WebBackForwardListItem.h:
(WebKit::WebBackForwardListItem::wasCreatedByJSWithoutUserInteraction const):
- Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::itemSkippingBackForwardItemsAddedByJSWithoutUserGesture):
(WebKit::WebPageProxy::goForward):
(WebKit::WebPageProxy::goBack):
- Source/WebKit/WebProcess/WebCoreSupport/SessionStateConversion.cpp:
(WebKit::toBackForwardListItemState):
- Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- Tools/TestWebKitAPI/Tests/WebKit/WKBackForwardList.mm:
(TEST):
- Tools/TestWebKitAPI/cocoa/TestNavigationDelegate.h:
- Tools/TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
(-[TestNavigationDelegate _webView:navigation:didSameDocumentNavigation:]):
(-[TestNavigationDelegate waitForDidFinishNavigationOrSameDocumentNavigation]):
(-[WKWebView _test_waitForDidFinishNavigationOrSameDocumentNavigation]):
Canonical link: https://commits.webkit.org/251783@main
- 9:14 AM Changeset in webkit [295777] by
-
- 4 edits in trunk/Tools/CISupport/ews-build
[Merge-Queue] Commit directly to GitHub
https://bugs.webkit.org/show_bug.cgi?id=241899
<rdar://93108587>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/factories.py:
(CommitQueueFactory.init): Remove git-svn steps.
(MergeQueueFactoryBase.init): Ditto.
(MergeQueueFactory.init): Update pull-request before pushing commit to main.
(UnsafeMergeQueueFactory.init): Ditto.
- Tools/CISupport/ews-build/factories_unittest.py:
(TestExpectedBuildSteps):
- Tools/CISupport/ews-build/steps.py:
(PushCommitToWebKitRepo):
(PushCommitToWebKitRepo.init):
(PushCommitToWebKitRepo.start): Push commit to 'origin'.
(PushCommitToWebKitRepo.evaluateCommand): Remove git-svn, replace revision with hash.
Pull requests are updated before landing instead of after.
(PushCommitToWebKitRepo.hash_from_commit_text): Extract hash from git command.
(DetermineLandedIdentifier.evaluateCommand): Use hash instead of revision.
(DetermineLandedIdentifier.url_for_hash_details): Ditto.
(DetermineLandedIdentifier.identifier_for_hash): Ditto.
(DetermineLandedIdentifier.comment_text_for_bug): Use hash instead of revision, use
identifier as the default commit format.
(Canonicalize.run): Delete identifiers.json to ensure canonicalization is correct,
reset the commit and author time.
(PushCommitToWebKitRepo.svn_revision_from_commit_text): Deleted.
(DetermineLandedIdentifier.url_for_revision_details): Deleted.
(DetermineLandedIdentifier.identifier_for_revision): Deleted.
(AddAuthorToCommitMessage): Deleted.
(GitSvnFetch): Deleted.
(ResetGitSvn): Deleted.
(DetermineAuthor): Deleted.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/251782@main
- 5:43 AM Changeset in webkit [295776] by
-
- 3 edits4 adds in trunk
[ Mac EWS ] imported/w3c/web-platform-tests/workers/semantics/multiple-workers/004.html is a flaky text failure
https://bugs.webkit.org/show_bug.cgi?id=237095
rdar://problem/89367636
Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-23
Reviewed by Chris Dumez.
As per https://html.spec.whatwg.org/multipage/workers.html#concept-WorkerGlobalScope-owner-set,
a WorkerGlobalScope owner set should preserve the insertion order.
imported/w3c/web-platform-tests/workers/semantics/multiple-workers/004.html might be flakky as we sometimes do not run the shared worker synchronously.
In that case, we will send the connect event on the shared worker set.
Before the patch, the shared worker set would not be ordered so it might happen that the first connect event is related to an iframe SharedWorker.
After the patch, we ensure that the first SharedWorker (NetworkProcess being the place where insertion happens) will be the first to trigger the connect event.
This is done by changing the SharedWorker object set from a Map to a ListHashSet.
Covered by added LayoutTests/http/wpt/service-workers/shared-workers/connect-event-ordering.html
- LayoutTests/http/wpt/service-workers/shared-workers: Added.
- LayoutTests/platform/mac-wk2/TestExpectations:
- Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorker.cpp:
- Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorker.h:
Canonical link: https://commits.webkit.org/251781@main
- 5:40 AM Changeset in webkit [295775] by
-
- 2 edits in trunk
REGRESSION (251257@main): [ macOS wk1 ] fast/replaced/encrypted-pdf-as-object-and-embed.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=241879
<rdar://95728601>
Reviewed by Antoine Quint.
- LayoutTests/platform/mac-wk1/TestExpectations:
- Source/WebCore/style/StyleScope.cpp:
(WebCore::Style::Scope::updateQueryContainerState):
Null test the view. It can be null on WK1.
Canonical link: https://commits.webkit.org/251780@main
- 4:58 AM Changeset in webkit [295774] by
-
- 2 edits in trunk/Source/WebCore/platform/audio/glib
[GLIB] MediaSessionGlib shows multiple players for a single video
https://bugs.webkit.org/show_bug.cgi?id=241857
Patch by Philippe Normand <philn@igalia.com> on 2022-06-23
Reviewed by Carlos Garcia Campos.
The MediaSession is now registered on DBus lazily, only if any of its properties changes.
- Source/WebCore/platform/audio/glib/MediaSessionGLib.cpp:
(WebCore::MediaSessionGLib::MediaSessionGLib):
(WebCore::MediaSessionGLib::~MediaSessionGLib):
(WebCore::MediaSessionGLib::ensureMprisSessionRegistered):
(WebCore::MediaSessionGLib::emitPositionChanged):
(WebCore::MediaSessionGLib::emitPropertiesChanged):
- Source/WebCore/platform/audio/glib/MediaSessionGLib.h:
Canonical link: https://commits.webkit.org/251779@main
- 3:01 AM Changeset in webkit [295773] by
-
- 3 edits in trunk
RTCInboundRtpStreamStats should have a framesDropped property
https://bugs.webkit.org/show_bug.cgi?id=241844
rdar://problem/95669239
Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-23
Reviewed by Eric Carlson.
We should add framesDropped to RTCReceivedRtpStreamStats as per spec but our WebRC backend only supports it in RTCInboundRtpStreamStats.
Let's add this property there since this is used by some applications.
- LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-mandatory-getStats.https.html:
- LayoutTests/webrtc/video-stats.html:
- Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCStatsCollector.cpp:
(WebCore::fillReceivedRtpStreamStats):
(WebCore::fillInboundRtpStreamStats):
Canonical link: https://commits.webkit.org/251778@main
- 2:56 AM Changeset in webkit [295772] by
-
- 10 edits in trunk/Source
Use correct offsets type in multiDrawElements* functions
https://bugs.webkit.org/show_bug.cgi?id=241802
Patch by Alexey Knyazev <3479527+lexaknyazev@users.noreply.github.com> on 2022-06-23
Reviewed by Kimmo Kinnunen.
The spec defines
offsetsas arrays of GLsizei, not GLint.
Both types are aliases ofintanyway.
Fixed a typo in multiDrawElementsInstancedWEBGL validation message.
Query for extension support on WebGL 2.0 contexts. No functional
changes implied because WebGL 2.0 is ANGLE-only.
- Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::getExtension):
- Source/WebCore/html/canvas/WebGLMultiDraw.cpp:
(WebCore::WebGLMultiDraw::multiDrawElementsInstancedWEBGL):
- Source/WebCore/platform/graphics/GraphicsContextGL.h:
- Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::multiDrawElementsANGLE):
(WebCore::GraphicsContextGLANGLE::multiDrawElementsInstancedANGLE):
- Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.h:
- Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGL.cpp:
(WebCore::GraphicsContextGLOpenGL::multiDrawElementsANGLE):
(WebCore::GraphicsContextGLOpenGL::multiDrawElementsInstancedANGLE):
- Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGL.h:
- Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::RemoteGraphicsContextGL::multiDrawElementsANGLE):
(WebKit::RemoteGraphicsContextGL::multiDrawElementsInstancedANGLE):
- Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:
(WebKit::RemoteGraphicsContextGLProxy::multiDrawElementsANGLE):
(WebKit::RemoteGraphicsContextGLProxy::multiDrawElementsInstancedANGLE):
- Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
Canonical link: https://commits.webkit.org/251777@main
- 1:23 AM Changeset in webkit [295771] by
-
- 6 edits in trunk
[WTF] Use CompactPtr in AtomStringTable if it is more efficient
https://bugs.webkit.org/show_bug.cgi?id=241883
Reviewed by Darin Adler.
- We add HashTable support for CompactPtr. Correctly setting up HashTraits and Hashers so that we can have HashSet<CompactPtr<T>>.
- Use CompactPtr in AtomStringTable if it is more efficient than PackedPtr<StringImpl>. Typically, this means we are in iOS.
- Source/WTF/wtf/CompactPtr.h:
(WTF::CompactPtr::CompactPtr):
(WTF::CompactPtr::encode):
(WTF::CompactPtr::decode):
(WTF::CompactPtr::isHashTableDeletedValue const):
(WTF::CompactPtrTraits::hashTableDeletedValue):
(WTF::CompactPtrTraits::isHashTableDeletedValue):
- Source/WTF/wtf/Forward.h:
- Source/WTF/wtf/HashTraits.h:
(WTF::HashTraits<CompactPtr<P>>::emptyValue):
(WTF::HashTraits<CompactPtr<P>>::isEmptyValue):
(WTF::HashTraits<CompactPtr<P>>::peek):
- Source/WTF/wtf/text/AtomStringImpl.cpp:
(WTF::UCharBufferTranslator::equal):
(WTF::UCharBufferTranslator::translate):
(WTF::HashAndUTF8CharactersTranslator::equal):
(WTF::HashAndUTF8CharactersTranslator::translate):
(WTF::SubstringTranslator::translate):
(WTF::SubstringTranslator8::equal):
(WTF::SubstringTranslator16::equal):
(WTF::LCharBufferTranslator::equal):
(WTF::LCharBufferTranslator::translate):
(WTF::BufferFromStaticDataTranslator::equal):
(WTF::BufferFromStaticDataTranslator::translate):
- Source/WTF/wtf/text/AtomStringTable.h:
- Tools/TestWebKitAPI/Tests/WTF/CompactPtr.cpp:
(TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/251776@main
- 12:45 AM Changeset in webkit [295770] by
-
- 1 edit in trunk/Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp
[JSC] Set up wasm stack |this| first
https://bugs.webkit.org/show_bug.cgi?id=241907
rdar://problem/94397072
Reviewed by Mark Lam.
We should set up the stack's |thisValue| first.
- Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::AirIRGenerator):
Canonical link: https://commits.webkit.org/251775@main
Jun 22, 2022:
- 11:35 PM Changeset in webkit [295769] by
-
- 2 edits in trunk/LayoutTests/webrtc/datachannel
Make sure to close connections in webrtc/datachannel/mdns-ice-candidates.html
https://bugs.webkit.org/show_bug.cgi?id=241846
Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-22
Reviewed by Eric Carlson.
Make sure to close connections by using await instead of return.
Add some logging to further check the failing test in bots.
Remove some unnecessary code.
- LayoutTests/webrtc/datachannel/mdns-ice-candidates-expected.txt:
- LayoutTests/webrtc/datachannel/mdns-ice-candidates.html:
Canonical link: https://commits.webkit.org/251774@main
- 8:45 PM Changeset in webkit [295768] by
-
- 1 edit in trunk/Source/WTF/wtf/PlatformHave.h
Partially revert r295530
https://bugs.webkit.org/show_bug.cgi?id=241900
Unreviewed, partially revert r295530 since the system part is not ready.
- Source/WTF/wtf/PlatformHave.h:
Canonical link: https://commits.webkit.org/251773@main
- 8:22 PM Changeset in webkit [295767] by
-
- 2 edits in trunk/Source/WebCore/rendering
RenderElement::addLayers should check for dialog content before inserting layers
https://bugs.webkit.org/show_bug.cgi?id=241874
Reviewed by Simon Fraser.
addLayers stops (recursive) descending in the render tree soon after it finds a root (R) with layer.
It says that if a subtree root (R) has a layer then all layers in this subtree must have already been inserted into the layer tree at an earlier time.
(it simply assumes that any layer in the subtree is a child of (R), or some other layers in the subtree)
<div id=container>
<div id=R>
<div id=child>
The insertion is bottom to top; we attach
1, (child) to (R) first
2, followed by (R) to (container)
addLayers assumes that when (R) is being inserted (#2), we don't have to descend into (R)'s subtree since any renderer's layer that was inserted before (at #1) must have already been parented.
However toplayer/backdrop content is an exception where the parent layer may be outside of the subtree but still accessible. In such cases subsequent insertions (and the recursive nature of finding layer parents) could lead to double parenting where we try to insert the same layer into the layer tree multiple times.
- Source/WebCore/rendering/RenderElement.cpp:
(WebCore::addLayers):
(WebCore::RenderElement::insertedIntoTree):
(WebCore::RenderElement::addLayers): Deleted.
- Source/WebCore/rendering/RenderElement.h:
Canonical link: https://commits.webkit.org/251772@main
- 7:56 PM Changeset in webkit [295766] by
-
- 1 edit in trunk/Source/JavaScriptCore/offlineasm/arm64.rb
Change offlineasm to emit more efficient LLInt code.
https://bugs.webkit.org/show_bug.cgi?id=241856
Reviewed by Yusuke Suzuki.
- Ruby treats numeric 0 as truthy. However, there's a test in arm64LowerMalformedLoadStoreAddresses which assumes a value of 0 would be false. As a result, we see offlineasm emit inefficient LLInt code like this:
".loc 3 821\n" "movz x16, #0 \n" LowLevelInterpreter64.asm:821
"add x13, x3, x16 \n"
"ldr x0, [x13] \n"
... instead of this:
".loc 3 821\n" "ldr x0, [x3] \n" LowLevelInterpreter64.asm:821
This patch fixes this.
- offlineasm's emitARM64MoveImmediate chooses to use
movninstead ofmovzbased on whether a 64-bit value is negative or not. Instead, it should be making that decision based on the number of halfwords (16-bits) in the value that is 0xffff vs 0. As a result, offlineasm emits code like this:
".loc 1 1638\n" "movn x27, #1, lsl #48 \n" LowLevelInterpreter.asm:1638
"movk x27, #0, lsl #32 \n"
"movk x27, #0, lsl #16 \n"
"movk x27, #0 \n"
... instead of this:
".loc 1 1638\n" "movz x27, #65534, lsl #48 \n" LowLevelInterpreter.asm:1638
This patch fixes this.
- offlineasm is trivially assuming the range of immediate offsets for ldr/str instructions is [-255..4095]. However, that's only the range for byte sized load-stores. For 32-bit, the range is actually [-255..16380]. For 64-bit, the range is actually [-255..32760]. As a result,
offlineasm emits code like this:
".loc 1 633\n" "movn x16, #16383 \n" LowLevelInterpreter.asm:633
".loc 1 1518\n" "and x3, x3, x16 \n" LowLevelInterpreter.asm:1518
".loc 1 1519\n" "movz x16, #16088 \n" LowLevelInterpreter.asm:1519
"add x17, x3, x16 \n"
"ldr x3, [x17] \n"
... instead of this:
".loc 1 633\n" "movn x17, #16383 \n" LowLevelInterpreter.asm:633
".loc 1 1518\n" "and x3, x3, x17 \n" LowLevelInterpreter.asm:1518
".loc 1 1519\n" "ldr x3, [x3, #16088] \n" LowLevelInterpreter.asm:1519
This patch fixes this for 64-bit and 32-bit load-stores. 16-bit load-stores also has a wider
range, but for now, it will continue to use the conservative range.
This patch also introduces an
isMalformedArm64LoadAStoreAddressso that this range check can be
done consistently in all the places that checks for it.
- offlineasm is eagerly emitting no-op arguments in instructions, e.g. "lsl #0", and adding 0. As a result, offlineasm emits code like this:
".loc 3 220\n" "movz x13, #51168, lsl #0 \n" LowLevelInterpreter64.asm:220
"add x17, x1, x13, lsl #0 \n"
"ldr w4, [x17, #0] \n"
... instead of this:
".loc 3 220\n" "movz x13, #51168 \n" LowLevelInterpreter64.asm:220
"add x17, x1, x13 \n"
"ldr w4, [x17] \n"
This unnecessary arguments are actually very common throughout the emitted LLIntAssembly.h.
This patch removes these unnecessary arguments, which makes the emitted LLInt code more human
readable due to less clutter.
This patch has passed the testapi and JSC stress tests with a Release build on an M1 Mac.
I also manually verified that the emitARM64MoveImmediate code is working properly by
hacking up LowLevelInterpreter64.asm to emit moves of constants of different values in
the ranges, and for load-store instructions of different sizes, and visually inspecting
the emitted code.
- Source/JavaScriptCore/offlineasm/arm64.rb:
Canonical link: https://commits.webkit.org/251771@main
- 7:54 PM Changeset in webkit [295765] by
-
- 2 edits2 adds in trunk
Adding padding on a horizontal scroller prevents last item from being fully viewable
https://bugs.webkit.org/show_bug.cgi?id=236142
<rdar://problem/88495053>
Reviewed by Simon Fraser.
Flex box's padding end should be taken into account when computing scrollable overflow.
- LayoutTests/fast/overflow/flex-box-overflow-with-padding-end-expected.html: Added.
- LayoutTests/fast/overflow/flex-box-overflow-with-padding-end.html: Added.
- Source/WebCore/rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeOverflow):
css3/flexbox/overflow-and-padding.html: matching Blink.
Canonical link: https://commits.webkit.org/251770@main
- 6:48 PM Changeset in webkit [295764] by
-
- 2 edits in trunk/Source/WebCore/editing
Null check parent node in InsertListCommand::unlistifyParagraph
https://bugs.webkit.org/show_bug.cgi?id=241889
Reviewed by Wenson Hsieh.
- Source/WebCore/editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::doApplyForSingleParagraph):
(WebCore::InsertListCommand::unlistifyParagraph):
- Source/WebCore/editing/InsertListCommand.h:
Canonical link: https://commits.webkit.org/251769@main
- 6:19 PM Changeset in webkit [295763] by
-
- 1 edit in trunk/.github/CODEOWNERS
Unreviewed, update .github/CODEOWNERS for TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=241897
Update .github/CODEOWNERS to more correctly add reviewer requests for TestWebKitAPI.
- .github/CODEOWNERS:
Canonical link: https://commits.webkit.org/251768@main
- 6:03 PM Changeset in webkit [295762] by
-
- 12 edits2 adds in trunk/Source
[Cocoa] Register Alternate WebM Player skeleton
https://bugs.webkit.org/show_bug.cgi?id=241769
<rdar://95542551>
Patch by Youssef Soliman <youssefdevelops@gmail.com> on 2022-06-22
Reviewed by Eric Carlson.
Added the alternate WebM player skeleton and registered it behind
the internal feature flag.
- Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml:
- Source/WebCore/PlatformMac.cmake:
- Source/WebCore/SourcesCocoa.txt:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebCore/page/RuntimeEnabledFeatures.cpp:
(WebCore::RuntimeEnabledFeatures::setAlternateWebMPlayerEnabled):
- Source/WebCore/page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::alternateWebMPlayerEnabled const):
- Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp:
(WebCore::PlatformMediaSessionManager::setAlternateWebMPlayerEnabled):
(WebCore::PlatformMediaSessionManager::alternateWebMPlayerEnabled):
- Source/WebCore/platform/audio/PlatformMediaSessionManager.h:
- Source/WebCore/platform/graphics/MediaPlayer.cpp:
(WebCore::WTF_REQUIRES_LOCK):
- Source/WebCore/platform/graphics/MediaPlayerEnums.h:
- Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.h: Added.
- Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.mm: Added.
(WebCore::MediaPlayerPrivateWebM::MediaPlayerPrivateWebM):
(WebCore::MediaPlayerPrivateWebM::~MediaPlayerPrivateWebM):
(WebCore::mimeTypeCache):
(WebCore::MediaPlayerPrivateWebM::getSupportedTypes):
(WebCore::MediaPlayerPrivateWebM::supportsType):
(WebCore::MediaPlayerPrivateWebM::load):
(WebCore::MediaPlayerPrivateWebM::cancelLoad):
(WebCore::MediaPlayerPrivateWebM::platformLayer const):
(WebCore::MediaPlayerPrivateWebM::play):
(WebCore::MediaPlayerPrivateWebM::pause):
(WebCore::MediaPlayerPrivateWebM::setPageIsVisible):
(WebCore::MediaPlayerPrivateWebM::currentMediaTime const):
(WebCore::MediaPlayerPrivateWebM::buffered const):
(WebCore::MediaPlayerPrivateWebM::didLoadingProgress const):
(WebCore::MediaPlayerPrivateWebM::logChannel const):
(WebCore::MediaPlayerPrivateWebM::registerMediaEngine):
Changes were done to the GPUProcessPreferences object to consolidate
all changes when adding a new feature to just one file.
- Source/WebKit/GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::updateGPUProcessPreferences):
- Source/WebKit/GPUProcess/GPUProcessPreferences.cpp:
(WebKit::GPUProcessPreferences::GPUProcessPreferences):
(WebKit::GPUProcessPreferences::copyEnabledWebPreferences):
(WebKit::GPUProcessPreferences::encode const):
(WebKit::GPUProcessPreferences::decode):
- Source/WebKit/GPUProcess/GPUProcessPreferences.h:
- Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::GPUProcessProxy::updatePreferences):
- Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
- Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
Canonical link: https://commits.webkit.org/251767@main
- 6:02 PM Changeset in webkit [295761] by
-
- 11 edits in trunk/Tools/Scripts/libraries
git-webkit land should apply the merge-queue label
https://bugs.webkit.org/show_bug.cgi?id=240308
<rdar://problem/93501363>
Reviewed by Ryan Haddad.
- Tools/Scripts/libraries/webkitcorepy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Ditto.
- Tools/Scripts/libraries/webkitcorepy/webkitcorepy/arguments.py:
(NoAction.call): Support --un along with --no- to invert option.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/land.py:
(Land.parser): Invoke PullRequest's parser.
(Land.merge_queue): Update (or create) pull-request and add merge-queue label to.
(Land.main): Support PullRequest options including automatic commit creation, squashing and PR creation.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:
(PullRequest): Add merge-queue and unsafe-merge-queue labels.
(PullRequest.parser): Add --no-squash option.
(PullRequest.create_pull_request): Remove merge-queue labels, allow caller to specify a callback.
(PullRequest.main): Create commit even when squashing.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/land_unittest.py:
(repository):
(TestLand.test_with_oops):
(TestLand.test_default):
(TestLand.test_canonicalize):
(TestLand.test_svn):
(TestLand.test_default_with_radar):
(TestLand.test_canonicalize_with_bugzilla):
(TestLand.test_svn_with_bugzilla):
(TestLandGitHub.webserver):
(TestLandGitHub):
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/revert_unittest.py:
(test_update):
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/squash_unittest.py:
(TestSquash.test_github_with_previous_history):
(TestSquash.test_github_without_previous_history):
Canonical link: https://commits.webkit.org/251766@main
- 5:51 PM Changeset in webkit [295760] by
-
- 4 edits in trunk
[PlayStation] Turn on WebP support
https://bugs.webkit.org/show_bug.cgi?id=241887
Reviewed by Ross Kirsling.
Turn USE_WEBP to ON. Load WebP as a shared library if applicable.
- Source/WebKit/WebProcess/EntryPoint/playstation/WebProcessMain.cpp:
- Source/cmake/OptionsPlayStation.cmake:
- Tools/MiniBrowser/playstation/main.cpp:
- Tools/TestWebKitAPI/playstation/main.cpp:
Canonical link: https://commits.webkit.org/251765@main
- 5:49 PM Changeset in webkit [295759] by
-
- 1 edit in trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in
Add mach_port_get_refs to the iOS WebContent sandbox on older iOS versions.
https://bugs.webkit.org/show_bug.cgi?id=241882
Reviewed by Per Arne Vollan.
- Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
Canonical link: https://commits.webkit.org/251764@main
- 5:16 PM Changeset in webkit [295758] by
-
- 1 edit in trunk/metadata/contributors.json
Change contributor status of Dan Glastonbury to committer
Patch by Dan Glastonbury <djg@apple.com> on 2022-06-22
Unreviewed change.
- metadata/contributors.json:
Canonical link: https://commits.webkit.org/251763@main
- 5:05 PM Changeset in webkit [295757] by
-
- 14 edits in trunk
Mute capture when disconnected from hardware console
rdar://87794804
Reviewed by Brent Fulgham
- Source/WebCore/PAL/pal/spi/cg/CoreGraphicsSPI.h
- Source/WebCore/page/ActivityState.cpp
- Source/WebCore/page/ActivityState.h
- Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h
- Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm
- Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm
- Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm
- Source/WebKit/UIProcess/WebPageProxy.cpp
- Source/WebKit/UIProcess/WebPageProxy.h
- Source/WebKit/UIProcess/WebProcessPool.h
- Source/WebKit/UIProcess/WebProcessProxy.h
- Source/WebKit/UIProcess/mac/WindowServerConnection.h
- Source/WebKit/UIProcess/mac/WindowServerConnection.mm
- Tools/TestWebKitAPI/Tests/WebKit/GetUserMedia.mm
Canonical link: https://commits.webkit.org/251761@main
- 5:04 PM Changeset in webkit [295756] by
-
- 14 edits in trunk/Source
Implement painting for MSE videos using -[AVSampleBufferDisplayLayer copyDisplayedPixelBuffer]
https://bugs.webkit.org/show_bug.cgi?id=241788
rdar://94325004
Reviewed by Eric Carlson.
In r292811, we enabled MSE inline painting on iOS 16 and macOS Ventura; this was intentionally
limited to these versions, since CoreMedia made refinements in these OS versions to prune the
AVSampleBufferVideoOutputqueue more frequently, in order to avoid a large increase in memory use
while playing MSE videos, due to accumulating excess video output frame data. However, this more
frequent pruning interval has led to significantly increased power use when playing MSE video, due
to the extra work done every time the pruning timer fires.
To ensure that Live Text in MSE video and MSE to canvas painting still work in iOS 16 and macOS
Ventura, we instead adopt new AVFoundation SPI that allows us to askAVSampleBufferDisplayLayer
directly for the currently displayed pixel buffer. As opposed to theAVSampleBufferVideoOutput-
based approach, this will only kick in if MSE video inline painting is actually requested (either by
the page, or from within the engine, in the case of Live Text), which avoids both increased memory
use and power use.
On versions of macOS and iOS that don't have the new SPI, we simply fall back to the
AVSampleBufferVideoOutput-based snapshotting approach that we currently use. We also fall back to
using the video output if the display layer is empty, in which case the backingCAImageQueuewon't
contain _any_ displayed surfaces (which means-copyDisplayedPixelBufferwill always end up
returning null). By refactoring logic to create and setm_videoOutputout into a helper method
(updateVideoOutput) that's invoked after we've finished setting up the sample buffer display
layer, we can transition as needed between setting and unsetting the video output, based on whether
or not the display layer is actually displaying any content.
There should be no change in behavior, apart from less memory and power use due to not spinning up
theAVSampleBufferVideoOutputqueue whenever we play MSE videos. See below for more details.
- Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml:
Gate MSE inline painting on
HAVE(AVSAMPLEBUFFERDISPLAYLAYER_COPYDISPLAYEDPIXELBUFFER), instead of
HAVE(LOW_AV_SAMPLE_BUFFER_PRUNING_INTERVAL).
- Source/WTF/wtf/PlatformHave.h:
Add a new feature flag to guard the availability of the new AVFoundation SPI,
-[AVSampleBufferDisplayLayer copyDisplayedPixelBuffer].
- Source/WebCore/PAL/pal/spi/cocoa/AVFoundationSPI.h:
Add a staging declaration for
-copyDisplayedPixelBuffer, so that we can maintain source
compatibility when building against older versions of the iOS 16 or macOS Ventura SDKs.
- Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::texImageSourceHelper):
- Source/WebCore/platform/graphics/MediaPlayer.cpp:
- Source/WebCore/platform/graphics/MediaPlayer.h:
- Source/WebCore/platform/graphics/MediaPlayerPrivate.h:
Replace more uses of
HAVE(LOW_AV_SAMPLE_BUFFER_PRUNING_INTERVAL)with the new flag
HAVE(AVSAMPLEBUFFERDISPLAYLAYER_COPYDISPLAYEDPIXELBUFFER), which is now used to guard availability
of MSE inline painting. The purpose of guarding this logic behind
!HAVE(LOW_AV_SAMPLE_BUFFER_PRUNING_INTERVAL)in the first place seems to have been to limit the
willBeAskedToPaintGL()codepaths to versions of macOS and iOS, where we can't enable MSE inline
painting due to lack of system support. Since "system support" now depends on the availability of
-copyDisplayedPixelBuffer, we should change to use that flag instead of one about pruning interval
frequency. This also allows us to remove theHAVE(LOW_AV_SAMPLE_BUFFER_PRUNING_INTERVAL)flag
altogether, now that there isn't any code that needs to be guarded by it.
- Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
- Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::updateLastPixelBuffer):
Adjust this logic to ask
m_sampleBufferDisplayLayerfor a copy of the last displayed pixel buffer,
instead of grabbing it from the video output, if possible.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::shouldEnsureLayer const):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::acceleratedRenderingStateChanged):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::updateVideoOutput):
Factor out logic for creating or destroying the video output into a separate helper method, that's
invoked after updating the display layer.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::ensureLayer):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::readbackMethod const):
Replace
isVideoOutputAvailable()with another helper method, that returns a strongly typed enum
indicating which readback method to use.Noneindicates that readback isn't supported,
CopyPixelBufferFromDisplayLayerindicates that we'll use the new AVFoundation SPI method, and
UseVideoOutputindicates that we'll fall back toAVSampleBufferVideoOutput.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::isVideoOutputAvailable const): Deleted.
- Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.h:
- Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
- Source/WebKit/GPUProcess/media/cocoa/RemoteMediaPlayerProxyCocoa.mm:
- Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
- Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
Canonical link: https://commits.webkit.org/251761@main
- 4:33 PM Changeset in webkit [295755] by
-
- 1 edit in trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
Fix CodeSign error caused by Product Dependencies phase
https://bugs.webkit.org/show_bug.cgi?id=241713
Unreviewed build fix.
Product Dependencies phases must be set to the "Products Directory"
destination. Otherwise, they unintentionally embed the dependencies into
their target's build product. This one must have been a default setting
that got overlooked.
- Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/251760@main
- 4:01 PM Changeset in webkit [295754] by
-
- 1 edit in trunk/Source/WebKit/Shared/cg/ShareableBitmapCG.cpp
Build is broken: bitwise operation between different enumeration types in ShareableBitmapCG.cpp
https://bugs.webkit.org/show_bug.cgi?id=241876
Unreviewed build fix.
- Source/WebKit/Shared/cg/ShareableBitmapCG.cpp:
(WebKit::bitmapInfo):
Add some casts.
Canonical link: https://commits.webkit.org/251759@main
- 3:48 PM Changeset in webkit [295753] by
-
- 1 edit in trunk/LayoutTests/platform/mac-wk1/TestExpectations
[Gardening]: REGRESSION (251257@main): [ macOS wk1 ] fast/replaced/encrypted-pdf-as-object-and-embed.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=241879
<rdar://95728601>
Unreviewed test gardening.
- LayoutTests/platform/mac-wk1/TestExpectations:
Canonical link: https://commits.webkit.org/251758@main
- 3:44 PM Changeset in webkit [295752] by
-
- 3 edits in trunk/Source
[XCBuild] Fix validation errors caused by copying to symlink framework bundle directories
Unreviewed build fix.
Prefix a few destination paths with $(WK_FRAMEWORK_VERSION_PREFIX). The
build system needs to know the real paths these items are copied to for
it to be able to schedule them ahead of tasks which depend on them.
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebKit/WebKit.xcodeproj/project.pbxproj:
- Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj: Remove "Copy Mig Files into Private Framework Headers" because it has no members. The files were removed in https://bugs.webkit.org/show_bug.cgi?id=232462.
Canonical link: https://commits.webkit.org/251757@main
- 3:42 PM Changeset in webkit [295751] by
-
- 5 edits in trunk
REGRESSION (iOS 16): System controls overlap website controls (affects SquareSpace, medium.com, and others)
https://bugs.webkit.org/show_bug.cgi?id=241837
rdar://95658478
Reviewed by Aditya Keerthi.
On iOS 16, the callout bar (which is now built on top of
UIEditMenuInteraction) no longer respects
evasion rects, passed in through theUIWKInteractionViewProtocoldelegate method
-requestRectsToEvadeForSelectionCommandsWithCompletionHandler:. This was previously used to avoid
overlapping interactable controls on the page when presenting the callout bar, which the layout
testediting/selection/ios/avoid-showing-callout-menu-over-controls.htmlexercises.
To fix this, we're adding a replacement SPI in UIKit, allowing WebKit to vend a preferred
UIEditMenuArrowDirectionwhich will be consulted when presenting the edit menu interaction in
order to show the callout bar.
For more details, see: rdar://95652872.
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView requestPreferredArrowDirectionForEditMenuWithCompletionHandler:]):
In the case where there are clickable controls above the selection, use
UIEditMenuArrowDirectionUp
to make the callout bar present _below_ the selection instead of above; otherwise, simply go with
the default behavior, which puts the callout bar above the selection.
(-[WKContentView requestRectsToEvadeForSelectionCommandsWithCompletionHandler:]):
Pull out common logic for requesting a list of rects to evade into a separate internal helper
method, and use this common helper method to implement both the legacy delegate method (which no
longer works on iOS 16), as well as the new delegate method in iOS 16. For now, I opted to still
implement both methods, such that this test will pass on both iOS 15 and iOS 16 (but only with the
changes in rdar://95652872).
(-[WKContentView _requestEvasionRectsAboveSelectionIfNeeded:]):
- Tools/TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm:
Also, adopt the new SPI in an API test that simulates callout bar appearance on iOS 16.
(TestWebKitAPI::simulateCalloutBarAppearance):
- Tools/TestWebKitAPI/cocoa/TestWKWebView.h:
- Tools/TestWebKitAPI/ios/UIKitSPI.h:
- Tools/WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::internalClassNamed):
(WTR::UIScriptControllerIOS::menuRect const):
(WTR::UIScriptControllerIOS::contextMenuRect const):
Additionally tweak a couple of script controller hooks, to work with the new
UIEditMenuInteraction
-based callout bars on iOS 16.
Canonical link: https://commits.webkit.org/251756@main
- 3:07 PM Changeset in webkit [295750] by
-
- 6 edits in trunk/Source/WebCore
Rename attributeContainsJavascriptURL to attributeContainsJavaScriptURL
https://bugs.webkit.org/show_bug.cgi?id=241872
Reviewed by Wenson Hsieh.
with a capital S
- Source/WebCore/dom/Element.cpp:
(WebCore::Element::attributeContainsJavaScriptURL const):
(WebCore::Element::stripScriptingAttributes const):
(WebCore::Element::attributeContainsJavascriptURL const): Deleted.
- Source/WebCore/dom/Element.h:
- Source/WebCore/editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplacementFragment::removeContentsWithSideEffects):
- Source/WebCore/editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::appendStartTag):
- Source/WebCore/svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::attributeContainsJavaScriptURL const):
(WebCore::SVGAnimationElement::attributeContainsJavascriptURL const): Deleted.
- Source/WebCore/svg/SVGAnimationElement.h:
Canonical link: https://commits.webkit.org/251755@main
- 2:41 PM Changeset in webkit [295749] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxyGL.cpp
[GTK] Crash in WebCore::TextureMapperLayer::paintSelf
https://bugs.webkit.org/show_bug.cgi?id=240283
Reviewed by Carlos Garcia Campos.
There are 4 cases that can happen after there has been a layerFlush and
we're adopting the new state in the composition stage:
- The layer is removed from the tree and the proxy is not assigned to any other layer: the deletion of the layer causes an invalidation of the proxy and both are destroyed afterwards. This works fine.
- The layer is removed from the tree and the proxy is reassigned to a new layer: the deletion of the first layer causes the invalidation of the proxy, which is then activated on the second layer. As the first layer is destroyed, we don't have to worry about dangling references from it to the proxy's currentBuffer. This works fine.
- The layer is kept in the tree and the proxy gets disassociated from it and not used by any other layer: we detect that the proxy is not used anymore and call invalidate on it, but the layer keeps a reference to the proxy's currentBuffer, which has been deleted during invalidate, which leads to a crash when trying to render the layer.
- The layer is kept in the tree and the proxy gets associated to a new layer: as we detect that the proxy is still being used it's not invalidated, but it gets activated on the second layer. The first layer keeps a reference to the proxy's currentBuffer, which will be destroyed a bit later when swapBuffers is called on the proxy. This leads to a crash when trying to render the first layer.
This patch addresses cases 3. and 4. described above.
- Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxyGL.cpp:
(WebCore::TextureMapperPlatformLayerProxyGL::activateOnCompositingThread):
Ensure that the layer no longer keeps a reference to the current buffer if the
proxy is already active on a different layer.
(WebCore::TextureMapperPlatformLayerProxyGL::invalidate): Ensure that
the invalidated layer does not keep a reference to the current buffer.
Canonical link: https://commits.webkit.org/251754@main
- 2:01 PM Changeset in webkit [295748] by
-
- 24 edits in trunk
Don't install webpushd on catalyst
https://bugs.webkit.org/show_bug.cgi?id=241860
Reviewed by Alexey Proskuryakov.
- Source/JavaScriptCore/Configurations/SDKVariant.xcconfig:
- Source/ThirdParty/ANGLE/Configurations/SDKVariant.xcconfig:
- Source/ThirdParty/gtest/xcode/Config/SDKVariant.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/SDKVariant.xcconfig:
- Source/WTF/Configurations/SDKVariant.xcconfig:
- Source/WebCore/Configurations/SDKVariant.xcconfig:
- Source/WebCore/PAL/Configurations/SDKVariant.xcconfig:
- Source/WebGPU/Configurations/SDKVariant.xcconfig:
- Source/WebInspectorUI/Configurations/SDKVariant.xcconfig:
- Source/WebKit/Configurations/BaseTarget.xcconfig:
- Source/WebKit/Configurations/SDKVariant.xcconfig:
- Source/WebKitLegacy/mac/Configurations/SDKVariant.xcconfig:
- Source/bmalloc/Configurations/SDKVariant.xcconfig:
Canonical link: https://commits.webkit.org/251753@main
- 1:11 PM Changeset in webkit [295747] by
-
- 7 edits in trunk
Make SVGAnimateElement respect javascriptMarkupEnabled
https://bugs.webkit.org/show_bug.cgi?id=241820
<rdar://92834618 >
Reviewed by Said Abou-Hallawa.
from/to/values attributes should be stripped in presence of javascript URLs with the pref on.
- Source/WebCore/dom/Element.cpp:
(WebCore::Element::attributeContainsJavascriptURL const):
(WebCore::Element::stripScriptingAttributes const):
(WebCore::Element::isJavaScriptURLAttribute const): Deleted.
- Source/WebCore/dom/Element.h:
- Source/WebCore/editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplacementFragment::removeContentsWithSideEffects):
- Source/WebCore/editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::appendStartTag):
- Source/WebCore/svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::attributeContainsJavascriptURL const):
- Source/WebCore/svg/SVGAnimationElement.h:
- Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebViewConfiguration.mm:
(TEST):
Canonical link: https://commits.webkit.org/251752@main
- 12:59 PM Changeset in webkit [295746] by
-
- 5 edits2 adds in trunk
REGRESSION(r294536): NativeImages copied from ImageBufferIOSurfaceBackend are mutated after copy
https://bugs.webkit.org/show_bug.cgi?id=241367
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-06-22
Reviewed by Said Abou-Hallawa.
With GPUP, ImageBuffer IOSurface modifications happen in the GPUP.
In r294536 it was changed that WP creates NativeImage instances with CGImage instances
created from IOSurfaces mapped in WP. These CGImages do not know that the underlying IOSurface changes
in the other process.
Detach the CGImages from the IOSurface before the first write to the ImageBuffer
is being sent to GPUP. This is done with the ensureNativeImagesHaveCopiedBackingStore() call.
- LayoutTests/fast/canvas/canvas-pattern-from-modified-canvas-expected.txt: Added.
- LayoutTests/fast/canvas/canvas-pattern-from-modified-canvas.html: Added.
- Source/WebCore/platform/graphics/ImageBuffer.h:
(WebCore::ImageBuffer::backingStoreWillChange):
(WebCore::ImageBuffer::setNeedsFlush): Deleted.
- Source/WebCore/platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp:
(WebCore::ImageBufferIOSurfaceBackend::~ImageBufferIOSurfaceBackend):
(WebCore::ImageBufferIOSurfaceBackend::invalidateCachedNativeImage const):
(WebCore::ImageBufferIOSurfaceBackend::copyNativeImage const):
(WebCore::ImageBufferIOSurfaceBackend::ensureNativeImagesHaveCopiedBackingStore):
- Source/WebCore/platform/graphics/cg/ImageBufferIOSurfaceBackend.h:
- Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
(WebKit::RemoteDisplayListRecorderProxy::send):
- Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
(WebKit::RemoteImageBufferProxy::setNeedsFlush):
(WebKit::RemoteImageBufferProxy::prepareForBackingStoreChange):
Canonical link: https://commits.webkit.org/251751@main
- 12:43 PM Changeset in webkit [295745] by
-
- 16 edits in trunk
[git-webkit] Redact certain bug details
https://bugs.webkit.org/show_bug.cgi?id=241833
<rdar://problem/95421487>
Reviewed by Ryan Haddad.
- Tools/Scripts/libraries/webkitbugspy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/init.py: Ditto.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/bugzilla.py:
(Tracker.init): Pass redaction map to base class.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py:
(Tracker.init): Ditto.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/issue.py:
(Issue.redacted): Check if the issue matches any redaction filters.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/radar.py:
(Tracker.init): Pass redaction map to base class.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/tests/bugzilla_unittest.py:
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/tests/github_unittest.py:
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/tests/radar_unittest.py:
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/tracker.py:
(Tracker.from_json): Pass redaction map if it's defined.
(Tracker.init): Populate redaction map with regexes.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py:
(Branch.main): Redact branch name if the issue is a redacted configuration.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/commit.py:
(Commit.main): Redact issue title if the issue is a redacted configuration.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
- metadata/trackers.json: Redact all radars and security bugs.
Canonical link: https://commits.webkit.org/251750@main
- 12:25 PM Changeset in webkit [295744] by
-
- 4 adds in trunk/LayoutTests/resize-observer
Add more GC tests for ResizeObserver
https://bugs.webkit.org/show_bug.cgi?id=231260
<rdar://84168766>
Reviewed by Ryosuke Niwa.
Add more GC tests for ResizeObserver, matching the ones we have for IntersectionObserver.
- LayoutTests/resize-observer/observe-disconnected-target-crash-expected.txt: Added.
- LayoutTests/resize-observer/observe-disconnected-target-crash.html: Added.
- LayoutTests/resize-observer/observe-then-disconnect-target-expected.txt: Added.
- LayoutTests/resize-observer/observe-then-disconnect-target.html: Added.
Canonical link: https://commits.webkit.org/251748@main
- 12:25 PM Changeset in webkit [295743] by
-
- 238 edits24 moves269 adds6 deletes in trunk/JSTests/test262
Update test262 (2021.06.21)
https://bugs.webkit.org/show_bug.cgi?id=241840
Reviewed by Yusuke Suzuki.
- JSTests/test262/config.yaml:
- JSTests/test262/expectations.yaml:
- JSTests/test262/harness/temporalHelpers.js:
- JSTests/test262/latest-changes-summary.txt:
- JSTests/test262/test/:
- JSTests/test262/test262-Revision.txt:
Canonical link: https://commits.webkit.org/251748@main
- 11:49 AM Changeset in webkit [295742] by
-
- 1 edit in trunk/metadata/contributors.json
Add cathiechen GitHub account to contributors.json.
https://bugs.webkit.org/show_bug.cgi?id=241861
Unreviewed.
- metadata/contributors.json:
Add cathiechen GitHub account.
Canonical link: https://commits.webkit.org/251747@main
- 11:36 AM Changeset in webkit [295741] by
-
- 5 edits in trunk/Tools/Scripts/libraries/webkitscmpy
[git-webkit] Support ranges in find
https://bugs.webkit.org/show_bug.cgi?id=241806
<rdar://95601346>
Reviewed by Ryan Haddad.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.commits): Use '.. instead of '...'
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/find.py:
(Info.main): Support .. based range queries.
(Find): Add 'list' alias.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py:
Canonical link: https://commits.webkit.org/251746@main
- 11:35 AM Changeset in webkit [295740] by
-
- 2 edits in trunk/Source
Make sure return value of dispatch_source_create is memory managed correctly
https://bugs.webkit.org/show_bug.cgi?id=241836
rdar://95625990
Reviewed by Chris Dumez.
- Source/WTF/wtf/cocoa/MemoryPressureHandlerCocoa.mm:
(WTF::memoryPressureEventSource):
(WTF::timerEventSource):
(WTF::MemoryPressureHandler::install):
(WTF::MemoryPressureHandler::uninstall):
(WTF::MemoryPressureHandler::holdOff):
- Source/WTF/wtf/threads/Signals.cpp:
(WTF::startMachExceptionHandlerThread):
- Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.mm:
(WebKit::setOSTransaction):
Canonical link: https://commits.webkit.org/251745@main
- 11:12 AM Changeset in webkit [295739] by
-
- 1 edit in trunk/Source/WebCore/platform/audio/glib/MediaSessionGLib.cpp
[GLIB] Fix invalid D-Bus name for MPRIS
https://bugs.webkit.org/show_bug.cgi?id=241807
Reviewed by Philippe Normand.
A mistake introduced in #1651 used a bus name where a segment started with
a number which is not allowed. Change this to.instance-$INSTANCE_IDto fix that.
- Source/WebCore/platform/audio/glib/MediaSessionGLib.cpp:
(WebCore::MediaSessionGLib::MediaSessionGLib):
Canonical link: https://commits.webkit.org/251744@main
- 11:02 AM Changeset in webkit [295738] by
-
- 4 edits in trunk/Tools/CISupport/ews-build
[ews-build.webkit.org] Remove check-github-integrity (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=241859
<rdar://93108238>
Reviewed by Ryan Haddad.
- Tools/CISupport/ews-build/factories.py:
(CommitQueueFactory.init): Remove VerifyGitHubIntegrity.
(MergeQueueFactoryBase.init): Ditto.
- Tools/CISupport/ews-build/factories_unittest.py:
(TestExpectedBuildSteps):
- Tools/CISupport/ews-build/steps.py:
(VerifyGitHubIntegrity): Deleted.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/251743@main
- 10:57 AM Changeset in webkit [295737] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r293506): [ iOS ][ macOS ] imported/w3c/web-platform-tests/service-workers/service-worker/registration-updateviacache.https.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=240074
rdar://problem/92742526
Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-22
Reviewed by Chris Dumez.
Before r293506, we were refreshing the imported scripts from network process only.
We are now correctly refreshing them from the caller of update.
This makes it possible to load the same scripts from various processes (web process, service worker process), which have different memory caches.
The failure happened due to the fact that different subtests were importing the same subscript with various options.
This triggered storing the subscript in different memory caches.
Some tests expect cache to kick in and expect in that case to have the same resource.
If the cache kicks in, but on different memory caches, we end up with different resources.
To prevent this in the test, we simply append the test name to each subscript import.
- LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/update-max-aged-worker.py:
(main):
- LayoutTests/platform/mac/TestExpectations:
Canonical link: https://commits.webkit.org/251742@main
- 10:23 AM Changeset in webkit [295736] by
-
- 2 edits in trunk/LayoutTests
[ WK2 ] Layout Test http/wpt/service-workers/update-service-worker.https.html is a flaky Timeout
https://bugs.webkit.org/show_bug.cgi?id=187766
rdar://problem/59459120
Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-22
Reviewed by Darin Adler.
Make sure scope is fine with script URL.
- LayoutTests/http/wpt/service-workers/update-service-worker.https.html:
- LayoutTests/platform/wk2/TestExpectations:
Canonical link: https://commits.webkit.org/251741@main
- 10:13 AM Changeset in webkit [295735] by
-
- 1 edit in trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp
[GPUP] Avoid race in GPUP teardown
https://bugs.webkit.org/show_bug.cgi?id=241770
Reviewed by Simon Fraser.
When there's a low memory warning, the GPU process runs GPUProcess::tryExitIfUnused(), which sends a message
to the UI process to kill the GPU process. The Web process notices this, and runs
RemoteRenderingBackendProxy::disconnectGPUProcess(), which doesn't destroy the RemoteRenderingBackendProxy,
but does set it's internal m_gpuProcessConnection to nullptr.
However, we may be in the middle of a rendering update in the web process. If there's a rendering update
pending, WebPage::finalizeRenderingUpdate() runs, which calls finalizeRenderingUpdate() on the
RemoteRenderingBackendProxy if it exists, which then immediately tries to send a stream message to the GPU
process. Sending a message to the GPU process of course runs ensureGPUProcessConnection() to lazily create
the GPU process.
Therefore, if the low memory warning happens in the middle of a rendering update, the GPU process is killed,
but then it is immediately respawned, just to do 0 work and live forever. This is contrary to the point of
killing the GPU process under memory pressure.
This patch changes the logic of RemoteRenderingBackendProxy::finalizeRenderingUpdate() to avoid restarting
the GPU Process if the connection to it is destroyed. Philosophically, it doesn't make much sense for the
_finalization_ routine of a rendering update to start up the whole GPU process. If we're in the middle of an
animation or something, the GPU process probably won't get killed (because it isn't idle), but even if it does,
the next frame of the animation will start up the GPU process again. This patch just modifies the behavior of
the finalization routine.
I hit this when working on https://github.com/WebKit/WebKit/pull/1464. With this patch applied, the failure
rate of GPUProcess.ExitsUnderMemoryPressureCanvasCase goes from 60% to 0%.
Test: GPUProcess.ExitsUnderMemoryPressureCanvasCase
- Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::finalizeRenderingUpdate):
Canonical link: https://commits.webkit.org/251740@main
- 10:11 AM Changeset in webkit [295734] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/cv/PixelBufferConformerCV.cpp
CVPixelBufferGetBytePointerCallback should check for CVPixelBufferGetBaseAddress returning nullptr
https://bugs.webkit.org/show_bug.cgi?id=241845
rdar://95622853
Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-22
Reviewed by Eric Carlson.
CVPixelBufferGetBaseAddress may return nullptr in some cases.
In that case, return early.
- Source/WebCore/platform/graphics/cv/PixelBufferConformerCV.cpp:
(WebCore::CVPixelBufferGetBytePointerCallback):
Canonical link: https://commits.webkit.org/251739@main
- 9:33 AM Changeset in webkit [295733] by
-
- 1 edit2 adds in trunk
Web Inspector: Some CSS rules for Cocoa media controls defined in inline styles inside user agent shadow root are not correctly parsed
https://bugs.webkit.org/show_bug.cgi?id=241815
rdar://85053718
Reviewed by Devin Rousso.
New test case: inspector/css/getMatchedStylesForNodeUserAgentShadowRoot.html
CSSSelectorParser has an exception that allows it to parse the following rules when the parser is in UASheetMode:
video[controls]::-webkit-media-text-track-container.visible-controls-bar
video::-webkit-media-text-track-container b
video::-webkit-media-text-track-container u
video::-webkit-media-text-track-container i
video::-webkit-media-text-track-container .hidden
These are technically invalid CSS selectors because only user action pseudo classes should be allowed after pseudo
element selectors, however exceptions exist in CSSSelectorParser to explicitly allow these otherwise invalid selectors
when the pseudo element is a WebKit-specific selector and the parsing mode is UASheetMode.
Web Inspector's InspectorStyleSheet did not previously set any special parsing mode because in a majority of cases we
never need to do this parsing of UA styles text because we do not need to resolve the actual locations of rules in a
source file since they are uneditable. These rules, being declared in the shadow root, are actually editable. To support
these rules, we now check if the owner node of the style sheet is part of a user agent shadow root, and set the parsing
mode to UASheetMode if it is.
- Source/WebCore/inspector/InspectorStyleSheet.cpp:
(ParsedStyleSheet::isInUserAgentShadowTree const):
(ParsedStyleSheet::ParsedStyleSheet):
(WebCore::InspectorStyleSheet::InspectorStyleSheet):
(WebCore::InspectorStyleSheet::ensureSourceData):
- LayoutTests/inspector/css/getMatchedStylesForNodeUserAgentShadowRoot-expected.txt: Added.
- LayoutTests/inspector/css/getMatchedStylesForNodeUserAgentShadowRoot.html: Added.
Canonical link: https://commits.webkit.org/251738@main
- 9:07 AM Changeset in webkit [295732] by
-
- 8 edits2 adds in trunk
[ iOS ] editing/selection/ios/show-callout-bar-after-selecting-word.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=240544
rdar://93458507
Reviewed by Aditya Keerthi.
Currently, any LayoutTest that attempts to wait for (or interact with) the callout bar after
selecting text fails, due to the fact that on iOS 16, the callout bar is implemented using a
UIEditMenuInteractionon the content view, which doesn't use the extant classes for managing and
observing callout bar UI -- i.e.UIMenuController,UICalloutBarand the associated global
notifications.
Unfortunately, when using iOS 16, there are no longer any global notifications that the test harness
can listen for to detect when the callout bar has been presented or dismissed. To keep these tests
passing on iOS 16, we introduce a mechanism to the test harness to intercept edit menu interaction
delegate method calls, and notifyTestControllerwhen the edit menu has completed its presention
or dismissal animations.
Also, tweak a flaky layout test that exercises this logic to be more robust — see below for more
detail.
- LayoutTests/editing/selection/ios/show-callout-bar-after-selecting-word.html:
Additionally, adjust this layout test to explicitly wait for the 'Select' menu action before trying
to select that item -- this might mitigate potential flakiness on iOS 15, due to calling
UIHelper.chooseMenuAction()too early.
- Source/WTF/wtf/PlatformHave.h:
Add a new build-time flag to guard the availability of
UIEditMenuInteraction.
- Tools/WebKitTestRunner/TestController.h:
- Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
- Tools/WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
- Tools/WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView textEffectsWindow]):
Add a helper method to return the web view's associated text effects window. This is used below in
TestControllerwhen recursively searching the view hierarchy for callout menu buttons with a given
label string (e.g. "Select", "Select All", "Copy", etc.), because these buttons and labels now exist
within the view hierarchy of theUITextEffectsWindowon iOS 16, when using the edit menu
interaction.
(-[TestRunnerWKWebView currentEditMenuInteraction]):
Add a helper method to grab the edit menu interaction corresponding to text selection on the content
view.
(-[TestRunnerWKWebView didPresentEditMenuInteraction:]):
(-[TestRunnerWKWebView didDismissEditMenuInteraction:]):
Plumb into the existing
-_didHideMenuand-_didShowMenumethods, which we currently use to
observe callout bar presentation and dismissal. This allows the test harness to simultaneously
support iOS 15 and iOS 16, for layout tests that exercise the callout bar.
(-[TestRunnerWKWebView immediatelyDismissEditMenuInteractionIfNeeded]):
Add a hook to immediately dismiss the callout bar between layout tests, that is compatible with
UIEditMenuInteraction-backed callout bars.
- Tools/WebKitTestRunner/ios/EditMenuInteractionSwizzler.h: Added.
- Tools/WebKitTestRunner/ios/EditMenuInteractionSwizzler.mm: Added.
Add a helper class to swizzle
-[UIEditMenuInteraction initWithDelegate:], and call the original
method implementation with an object that wraps the givenUIEditMenuInteractionDelegatein another
object (EditMenuInteractionDelegateWrapper) that forwards all selector invocations to the original
delegate (in practice:_UIContextMenuInteractionBasedTextContextInteraction), but additionally
implements the-willPresentMenuForConfiguration:and-willDismissMenuForConfiguration:delegate
hooks and adds animation completion blocks that call out to the globalTestController.
This allows us to passively observe calls to
-editMenuInteraction:(will|did)PresentMenuForConfiguration:animator:, without affecting the
internal UIKit implementation of the text interaction assistant's edit menu interaction.
(-[EditMenuInteractionDelegateWrapper initWithDelegate:]):
(-[EditMenuInteractionDelegateWrapper forwardInvocation:]):
(-[EditMenuInteractionDelegateWrapper respondsToSelector:]):
(-[EditMenuInteractionDelegateWrapper methodSignatureForSelector:]):
(-[EditMenuInteractionDelegateWrapper editMenuInteraction:willPresentMenuForConfiguration:animator:]):
(-[EditMenuInteractionDelegateWrapper editMenuInteraction:willDismissMenuForConfiguration:animator:]):
(-[UIEditMenuInteraction swizzled_initWithDelegate:]):
(WTR::EditMenuInteractionSwizzler::EditMenuInteractionSwizzler):
(WTR::EditMenuInteractionSwizzler::~EditMenuInteractionSwizzler):
- Tools/WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformInitialize):
Initialize the edit menu interaction swizzler.
(WTR::TestController::platformResetStateToConsistentValues):
(WTR::TestController::didPresentEditMenuInteraction):
(WTR::TestController::didDismissEditMenuInteraction):
- Tools/WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::rectForMenuAction const):
Canonical link: https://commits.webkit.org/251737@main
- 8:56 AM Changeset in webkit [295731] by
-
- 10 edits1 move in trunk
Downloading DMG using WKDownload errors with "You do not have permission"
https://bugs.webkit.org/show_bug.cgi?id=234249
Reviewed by Chris Dumez.
Applications downloaded from the sandboxed network process can't be opened
on macOS because they have QTN_FLAG_HARD set. The network process can't remove
this and shouldn't be given such permission. However, WKDownload may be used
by unsandboxed applications such as TestWebKitAPI that do have permission to
remove QTN_FLAG_HARD. If this is the case, we should try to make the application
able to be opened when finishing the download. I verified you still get the warning
"Application Name" is an app downloaded from the Internet. Are you sure you want to open it?
but you no longer get the warning that can't be bypassed.
- Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj:
- Source/WebCore/PAL/pal/spi/mac/QuarantineSPI.h: Renamed from Source/WebKit/Platform/spi/mac/QuarantineSPI.h.
(QuarantineFileDeleter::operator ()):
Added helper for std::unique_ptr use with qtn_file_t
- Source/WebKit/NetworkProcess/Downloads/Download.cpp:
(WebKit::Download::Download):
- Source/WebKit/NetworkProcess/Downloads/Download.h:
(WebKit::Download::sessionID const):
(WebKit::Download::suggestedName const): Deleted.
- Source/WebKit/Shared/mac/AuxiliaryProcessMac.mm:
- Source/WebKit/UIProcess/Cocoa/WKShareSheet.mm:
- Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:
- Source/WebKit/UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::updateQuarantinePropertiesIfPossible):
(WebKit::DownloadProxy::didFinish):
- Source/WebKit/UIProcess/Downloads/DownloadProxy.h:
- Source/WebKit/WebKit.xcodeproj/project.pbxproj:
- Tools/TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(tempFileThatDoesNotExist):
Introduce a non-ASCII character to make sure file system representation code works as expected
Canonical link: https://commits.webkit.org/251736@main
- 8:16 AM Changeset in webkit [295730] by
-
- 1 edit in trunk/Source/WebCore/editing/cocoa/DataDetection.mm
Crash under WebCore::DataDetection::detectContentInRange()
https://bugs.webkit.org/show_bug.cgi?id=241823
<rdar://95110928>
Reviewed by Wenson Hsieh.
The crash occurs in the wild when calling TextIterator::range() and
TextIterator::m_positionNode is null. Do some hardening and early return before
calling TextIterator::range() and TextIterator::atEnd() returns true to avoid
the issue.
- Source/WebCore/editing/cocoa/DataDetection.mm:
(WebCore::DataDetection::detectContentInRange):
Canonical link: https://commits.webkit.org/251735@main
- 6:40 AM Changeset in webkit [295729] by
-
- 3 edits in trunk
[CSS Container Queries] rem units don't work in queries
https://bugs.webkit.org/show_bug.cgi?id=241852
Reviewed by Antoine Quint.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/font-relative-units-dynamic-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/font-relative-units-expected.txt:
- Source/WebCore/style/ContainerQueryEvaluator.cpp:
(WebCore::Style::ContainerQueryEvaluator::selectContainer const):
Correctly pass the document element style instead of the view style.
Canonical link: https://commits.webkit.org/251734@main
- 6:36 AM Changeset in webkit [295728] by
-
- 14 edits in trunk
[web-animations] support custom properties in @keyframes rules
https://bugs.webkit.org/show_bug.cgi?id=241843
Reviewed by Antti Koivisto.
We start work towards broad support of custom properties in animations by adding support
for custom properties in @keyframes rules.
The first thing required is to allow KeyframeList and KeyframeValue to track custom properties
on top of common properties (CSSPropertyID). To that end, we add HashSet<AtomString> members
to both those classes and ensure KeyframeList::insert() adds any new custom property found
on the inserted KeyframeValue to the KeyframeList. Dedicated methods, such as
KeyframeValue::addCustomProperty() allow setting what custom properties are found on the
KeyframeValue.
Then, we need to detect that we have custom properties set in @keyframes rules. We update
Style::Resolver::styleForKeyframe() to determine whether a property in a keyframe is a
CSSCustomPropertyValue, and if it is, we get its name and use KeyframeValue::addCustomProperty()
to add it to the keyframe.
Finally, we must actually blend custom properties. Since custom properties are only animated
discretely, the logic here is simple and we add a new CSSPropertyAnimation::blendCustomProperty()
method which simply gets the custom property from either the from or to style depending on what side
of the 0.5 boundary we are.
We call this new method from KeyframeEffect::setAnimatedPropertiesInStyle() where we must now not
only iterate through common properties (CSSPropertyID) but also custom properties. We now wrap much
of that function's logic into a lambda which takes in an std::variant<CSSPropertyID, AtomString> type
with some simple checks to deal with either type in the lambda body.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-inner-at-rules-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-longhand-animation-type-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-animation-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/font-size-animation-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-revert-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/css-variables/variable-animation-from-to-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/css-variables/variable-animation-over-transition-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/css-variables/variable-animation-to-only-expected.txt:
- Source/WebCore/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimation::blendProperties):
(WebCore::CSSPropertyAnimation::blendCustomProperty):
- Source/WebCore/animation/CSSPropertyAnimation.h:
- Source/WebCore/animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::setAnimatedPropertiesInStyle):
- Source/WebCore/rendering/style/KeyframeList.cpp:
(WebCore::KeyframeList::insert):
(WebCore::KeyframeList::copyKeyframes):
(WebCore::KeyframeList::containsAnimatableProperty const): Any and all custom properties is considered animatable.
- Source/WebCore/rendering/style/KeyframeList.h:
(WebCore::KeyframeValue::addCustomProperty):
(WebCore::KeyframeValue::containsCustomProperty const):
(WebCore::KeyframeValue::customProperties const):
(WebCore::KeyframeList::addCustomProperty):
(WebCore::KeyframeList::containsCustomProperty const):
(WebCore::KeyframeList::customProperties const):
- Source/WebCore/style/StyleResolver.cpp:
(WebCore::Style::Resolver::styleForKeyframe):
Canonical link: https://commits.webkit.org/251733@main
- 5:41 AM Changeset in webkit [295727] by
-
- 4 edits in trunk
AX ITM: Update the target node of a ChildrenChanged notification in addition of updating its children.
https://bugs.webkit.org/show_bug.cgi?id=241834
Reviewed by Chris Fleizach.
Fixes several tests in isolated tree mode, including:
accessibility/mac/figure-element.html [ Failure ]
accessibility/mac/progress-with-label-element.html [ Failure ]
accessibility/mac/label-element-changing-children-string-value.html [ Timeout ]
accessibility/mac/label-element-changing-textcontent-string-value.html [ Timeout ]
accessibility/visible-elements.html [ Timeout ]
In updateChildren, replaced AXIsolatedTree::updateRelatedProperties with updateNodeAndDependetnProperties to replace the whole object instead of individual properties. This will update several properties that depend on the children of any given object such as those properties that compute textUnderElement. The added cost should be marginal given that updating the children is a lot more costly.
- LayoutTests/accessibility/mac/label-element-changing-children-string-value-expected.txt:
- LayoutTests/accessibility/mac/label-element-changing-children-string-value.html:
- Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::updateNodeAndDependentProperties):
(WebCore::AXIsolatedTree::updateChildren):
(WebCore::AXIsolatedTree::updateTableProperties): Deleted.
(WebCore::AXIsolatedTree::updateTreeItemProperties): Deleted.
(WebCore::AXIsolatedTree::updateRelatedProperties): Deleted.
- Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h:
Canonical link: https://commits.webkit.org/251732@main
- 5:20 AM Changeset in webkit [295726] by
-
- 1 edit2 adds in trunk
[CSS Container Queries] Improper style sharing with container queries
https://bugs.webkit.org/show_bug.cgi?id=241848
Reviewed by Antoine Quint.
Elements affected by container queries may get different style even though DOM is perfectly symmetric because containers have different sizes.
- LayoutTests/fast/css/container-query-style-sharing-expected.html: Added.
- LayoutTests/fast/css/container-query-style-sharing.html: Added.
- Source/WebCore/style/StyleSharingResolver.cpp:
(WebCore::Style::SharingResolver::canShareStyleWithElement const):
Canonical link: https://commits.webkit.org/251731@main
- 2:20 AM Changeset in webkit [295725] by
-
- 2 edits in trunk/Source
[GLIB] Change MPRIS bus name to be sandbox friendly
https://bugs.webkit.org/show_bug.cgi?id=241807
Reviewed by Philippe Normand.
When an application has an ID this changes the name to be
org.mpris.MediaPlayer2.$APP_ID.$INSTANCE_ID which is permitted
by default with flatpak and now with our bubblewrap sandbox.
Instead of the previous org.mpris.MediaPlayer2.$APP_ID-$INSTANCE_ID
which would be blocked by sandboxes unless they allowed an
overly broad org.mpris.MediaPlayer2.* permission.
- Source/WebCore/platform/audio/glib/MediaSessionGLib.cpp:
(WebCore::MediaSessionGLib::MediaSessionGLib):
Canonical link: https://commits.webkit.org/251730@main
- 1:31 AM Changeset in webkit [295724] by
-
- 1 edit in trunk/Source/WebInspectorUI/UserInterface/Base/BrowserInspectorFrontendHost.js
[GTK][WPE] Timeline recording not working properly on new HTTP inspector
https://bugs.webkit.org/show_bug.cgi?id=240792
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2022-06-22
Reviewed by Michael Catanzaro.
The remote inspector calls setIsVisible on frontendLoaded. In case of
HTTP server we should do the same when the frontend is loaded.
- Source/WebInspectorUI/UserInterface/Base/BrowserInspectorFrontendHost.js:
(window.InspectorFrontendHost.WI.BrowserInspectorFrontendHost.prototype.loaded):
Canonical link: https://commits.webkit.org/251729@main
Jun 21, 2022:
- 11:25 PM Changeset in webkit [295723] by
-
- 2 edits in trunk/Source/WebCore
Remove KeyframeList::addProperty()
https://bugs.webkit.org/show_bug.cgi?id=241805
Patch by Antoine Quint <Antoine Quint> on 2022-06-21
Reviewed by Dean Jackson.
This method is not needed since KeyframeList::insert() already adds the properties
of the newly inserted keyframe to KeyframeList::m_properties.
- Source/WebCore/animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::updateBlendingKeyframes):
(WebCore::KeyframeEffect::computeCSSTransitionBlendingKeyframes):
- Source/WebCore/rendering/style/KeyframeList.h:
(WebCore::KeyframeList::addProperty): Deleted.
Canonical link: https://commits.webkit.org/251728@main
- 10:58 PM Changeset in webkit [295722] by
-
- 1 edit in trunk/Source/WebCore/rendering/svg/SVGResourcesCache.cpp
Eliminate one repaint from SVGResourcesCache::clientLayoutChanged
https://bugs.webkit.org/show_bug.cgi?id=241822
Reviewed by Simon Fraser.
SVGResourcesCache::clientLayoutChanged is called under all of the SVG
render object layout functions, to invalidate the SVG resource and
repaint the element. But all of the layout functions will already
repaint the element due to their LayoutRepainter on the stack.
This repaint can be expensive due to the rectangle calculations. We can
skip it by passing false into clientLayoutChanged.
This is an improvement of 3% on the MotionMark Suits sub-test on some
devices.
- Source/WebCore/rendering/svg/SVGResourcesCache.cpp:
(WebCore::SVGResourcesCache::clientLayoutChanged):
Canonical link: https://commits.webkit.org/251727@main
- 9:11 PM Changeset in webkit [295721] by
-
- 5 edits in trunk/Source/WebCore/accessibility/isolatedtree
AX: Live AX objects can be destroyed while building a node change for them
https://bugs.webkit.org/show_bug.cgi?id=241810
Reviewed by Chris Fleizach.
While building a node change in AXIsolatedTree::nodeChangeForObject,
the initialization of several differentAXPropertyNames can cause layout,
which in turn can cause the backing live object to be deleted. This
causes a crash.
This patch fixes this by holding a
Refto the AccessibilityObject,
ensuring it stays alive for as long we need it.
I wasn't able to make a layout test for this, as the circumstances to
reproduce the issue are complex.
- Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::AXIsolatedObject):
(WebCore::AXIsolatedObject::create):
(WebCore::AXIsolatedObject::initializeProperties):
- Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h:
- Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::nodeChangeForObject):
- Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h:
- Source/WebCore/accessibility/isolatedtree/mac/AXIsolatedObjectMac.mm:
(WebCore::AXIsolatedObject::initializePlatformProperties):
Canonical link: https://commits.webkit.org/251726@main
- 8:50 PM Changeset in webkit [295720] by
-
- 2 edits in trunk/LayoutTests/accessibility/mac
AX ITM: Fix for accessibility/mac/details-summary.html in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=241804
Reviewed by Darin Adler.
Need to check for null the accessible object in the waitFor function before calling isExpanded. Also buffering the output in a variable makes the test run faster.
- LayoutTests/accessibility/mac/details-summary-expected.txt:
- LayoutTests/accessibility/mac/details-summary.html:
Canonical link: https://commits.webkit.org/251725@main
- 8:22 PM Changeset in webkit [295719] by
-
- 1 edit in trunk/Source/WebKit/Platform/IPC/ArgumentCoders.h
std::variant decoding with out-of-bounds index should fail instead of decoding the 0'th type
https://bugs.webkit.org/show_bug.cgi?id=241813
Reviewed by Chris Dumez.
- Source/WebKit/Platform/IPC/ArgumentCoders.h:
Canonical link: https://commits.webkit.org/251724@main
- 8:12 PM Changeset in webkit [295718] by
-
- 10 edits18 adds in trunk
Don't allocate device pixel ratio scaled backing stores for layers that contain only unscaled bitmap content
https://bugs.webkit.org/show_bug.cgi?id=241450
Reviewed by Simon Fraser.
- Source/WebCore/platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::GraphicsLayer):
- Source/WebCore/platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::setAppliesDeviceScale):
(WebCore::GraphicsLayer::appliesDeviceScale const):
(WebCore::GraphicsLayer::deviceScaleFactor const):
- Source/WebCore/rendering/RenderLayerBacking.cpp:
(WebCore::PaintedContentsInfo::isUnscaledBitmapOnly):
(WebCore::PaintedContentsInfo::contentsTypeDetermination):
(WebCore::RenderLayerBacking::updateConfiguration):
(WebCore::RenderLayerBacking::isUnscaledBitmapOnly const):
- Source/WebCore/rendering/RenderLayerBacking.h:
Adds isUnscaledBitmapOnly to check if a layer contains only a <canvas>/image,
and no other rasterized content, and that the bitmap is drawn unscaled.
If so, uses setAppliesDeviceScale to disable hidpi backing stores for this layer.
- Source/WebCore/platform/graphics/LayerTreeAsTextOptions.h:
- Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::dumpAdditionalProperties const):
- Source/WebCore/testing/Internals.cpp:
(WebCore::toLayerTreeAsTextOptions):
- Source/WebCore/testing/Internals.h:
- Source/WebCore/testing/Internals.idl:
Adds new internals.LAYER_TREE_INCLUDES_DEVICE_SCALE flag for layer tree dumping, in order
to test whether a layer has a high dpi backing store or not.
- LayoutTests/compositing/canvas/hidpi-canvas-backing-store-expected.txt: Added.
- LayoutTests/compositing/canvas/hidpi-canvas-backing-store-invalidation-expected.txt: Added.
- LayoutTests/compositing/canvas/hidpi-canvas-backing-store-invalidation.html: Added.
- LayoutTests/compositing/canvas/hidpi-canvas-backing-store.html: Added.
Adds new test for low-dpi backing store for a layer containing only a canvas, and an invalidation
test to check that we go back to hidpi when we add a rasterized outline.
Canonical link: https://commits.webkit.org/251723@main
- 8:09 PM Changeset in webkit [295717] by
-
- 4 edits2 adds in trunk
TextureMapper: mask should be applied after filter is applied
https://bugs.webkit.org/show_bug.cgi?id=241772
Reviewed by Don Olmstead.
If an element has both a mask-image and filters, the mask should be
applied after the filters.
BitmapTextureGL::applyFilters didn't actually apply the last filter.
It stored the last filter information in it, and applied the last
filter when blitting onto the target. If the element has a mask,
applyFilters should apply all filters before applying the mask.
- LayoutTests/compositing/masks/mask-and-drop-shadow-expected.html: Added.
- LayoutTests/compositing/masks/mask-and-drop-shadow.html: Added.
- Source/WebCore/platform/graphics/texmap/BitmapTexture.h:
(WebCore::BitmapTexture::applyFilters):
- Source/WebCore/platform/graphics/texmap/BitmapTextureGL.cpp:
(WebCore::BitmapTextureGL::applyFilters):
- Source/WebCore/platform/graphics/texmap/BitmapTextureGL.h:
- Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::computeOverlapRegions):
(WebCore::TextureMapperLayer::paintIntoSurface):
Canonical link: https://commits.webkit.org/251722@main
- 8:00 PM Changeset in webkit [295716] by
-
- 16 edits in trunk
Implement CSSNumericValue.equals
https://bugs.webkit.org/show_bug.cgi?id=241378
Reviewed by Chris Dumez.
This is an off-by-default experimental feature.
- LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/equals.tentative-expected.txt:
- Source/WebCore/bindings/js/JSCSSStyleValueCustom.cpp:
(WebCore::toJSNewlyCreated):
- Source/WebCore/css/typedom/CSSNumericValue.cpp:
(WebCore::CSSNumericValue::equals):
- Source/WebCore/css/typedom/CSSNumericValue.h:
(): Deleted.
- Source/WebCore/css/typedom/CSSStyleValue.h:
(WebCore::isCSSNumericValue):
(WebCore::isCSSMathValue):
- Source/WebCore/css/typedom/CSSUnitValue.cpp:
(WebCore::CSSUnitValue::equals const):
- Source/WebCore/css/typedom/CSSUnitValue.h:
- Source/WebCore/css/typedom/numeric/CSSMathInvert.cpp:
(WebCore::CSSMathInvert::CSSMathInvert):
(WebCore::CSSMathInvert::equals const):
- Source/WebCore/css/typedom/numeric/CSSMathInvert.h:
- Source/WebCore/css/typedom/numeric/CSSMathMax.h:
- Source/WebCore/css/typedom/numeric/CSSMathMin.h:
- Source/WebCore/css/typedom/numeric/CSSMathNegate.cpp:
(WebCore::CSSMathNegate::CSSMathNegate):
(WebCore::CSSMathNegate::equals const):
- Source/WebCore/css/typedom/numeric/CSSMathNegate.h:
- Source/WebCore/css/typedom/numeric/CSSMathProduct.h:
- Source/WebCore/css/typedom/numeric/CSSMathSum.h:
- Source/WebCore/css/typedom/numeric/CSSMathValue.h:
(WebCore::CSSMathValue::CSSMathValue):
(WebCore::CSSMathValue::equalsImpl const):
Canonical link: https://commits.webkit.org/251721@main
- 7:41 PM Changeset in webkit [295715] by
-
- 1 edit4 adds in trunk
RenderBox::hasHorizontalLayoutOverflow/hasVerticalLayoutOverflow use incorrect coordinate space
https://bugs.webkit.org/show_bug.cgi?id=241796
Reviewed by Simon Fraser.
RenderBox::x() and y() are in the coordinate space of the containing block while layoutOverflowRect is relative to the box's border box. These functions would compute overflow true if the box happens to have some offset (through margin or positioning) even without actual overflow.
- LayoutTests/fast/overflow/horizontal-overflow-with-offset-expected.txt: Added.
- LayoutTests/fast/overflow/horizontal-overflow-with-offset.html: Added.
- LayoutTests/fast/overflow/vertical-overflow-with-offset-expected.txt: Added.
- LayoutTests/fast/overflow/vertical-overflow-with-offset.html: Added.
- Source/WebCore/rendering/RenderBox.h:
(WebCore::RenderBox::hasHorizontalLayoutOverflow const):
(WebCore::RenderBox::hasVerticalLayoutOverflow const):
Canonical link: https://commits.webkit.org/251720@main
- 7:38 PM Changeset in webkit [295714] by
-
- 3 edits in trunk/Source/JavaScriptCore/dfg
[JSC] Use m_structureCacheClearedWatchpoint in more DFG nodes
https://bugs.webkit.org/show_bug.cgi?id=241575
Reviewed by Yusuke Suzuki.
Not sure if this is observable, but it's worth to align with ObjectCreate for consistency.
- Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::handleCreateInternalFieldObject):
- Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
Canonical link: https://commits.webkit.org/251719@main
- 7:14 PM Changeset in webkit [295713] by
-
- 1 edit in trunk/LayoutTests/media/video-test.js
Support waiting for event in custom element
https://bugs.webkit.org/show_bug.cgi?id=241812
Patch by Youssef Soliman <youssefdevelops@gmail.com> on 2022-06-21
Reviewed by Eric Carlson.
Some media related layout tests require event listeners on custom HTML elements.
- LayoutTests/media/video-test.js:
(waitForEventAndFailFor):
(waitForEventAndTest):
(waitForEventAndTestFor):
Canonical link: https://commits.webkit.org/251718@main
- 6:58 PM Changeset in webkit [295712] by
-
- 2 edits1 add in trunk/Source/WebGPU
[WebGPU] Make Parser class declaration visible to unit tests for testing
https://bugs.webkit.org/show_bug.cgi?id=241738
Patch by Kiet Ho <Kiet Ho> on 2022-06-21
Reviewed by Myles C. Maxfield.
The existing parser interface (WGSL::parseLChar() and WGSL::parseUChar())
only accepts entirely valid shader module, which makes it difficult to
write unit tests targeting individual aspects of the parser (for example,
only testing the type declaration or unary expression parsing logic). This
commit moves the Parser class declaration from the .cpp file to a private
header file (ParserPrivate.h), and makes private methods that parse
individual grammar rules public. This gives unit tests access to those
methods to test them.
- Source/WebGPU/WGSL/Parser.cpp:
(WGSL::Parser::Parser): Deleted.
(WGSL::Parser::current): Deleted.
- Source/WebGPU/WGSL/ParserPrivate.h: Added.
(WGSL::Parser::Parser):
(WGSL::Parser::current):
- Source/WebGPU/WebGPU.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/251717@main
- 6:55 PM Changeset in webkit [295711] by
-
- 1 edit4 adds in trunk
Schedule/fire an event when selection changes for select() and setRangeText().
https://bugs.webkit.org/show_bug.cgi?id=241366
Reviewed by Darin Adler.
As per step 6 at [1], if either extent or direction of the text control to be modified,
we need to queue an element task on the user interaction task source given the element
to fire an select event with the bubbles attribute initialized to true. We addressed
some cases in Bug 238142. This is to fix the missing cases.
This patch also introduces WPT test select-event.html back to WebKit. For some reason, it
was removed in a previous resync patch.
[1] https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#set-the-selection-range
- LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/select-event-expected.txt: Added.
- LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/select-event.html: Added.
- LayoutTests/platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/select-event-expected.txt
- Source/WebCore/html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::select):
(WebCore::HTMLTextFormControlElement::setRangeText):
Canonical link: https://commits.webkit.org/251716@main
- 6:34 PM Changeset in webkit [295710] by
-
- 1 add in trunk/JSTests/stress/array-buffer-transfer-should-not-reduce-extra-memory-size.js
[JSC] Add tests ensuring that extraMemorySize is monotonically increasing until full-collection happens
https://bugs.webkit.org/show_bug.cgi?id=241832
rdar://95384643
Reviewed by Mark Lam.
This patch adds tests ensuring that extraMemorySize is monotonically increasing until full-collection happens.
If this assumption is broken, GC scheduling can be confused. And we crash with existing assertions.
- JSTests/stress/array-buffer-transfer-should-not-reduce-extra-memory-size.js: Added.
Canonical link: https://commits.webkit.org/251715@main
- 6:23 PM Changeset in webkit [295709] by
-
- 10 edits in trunk/Source
Cleanup fullscreen logic
https://bugs.webkit.org/show_bug.cgi?id=241811
Patch by Youssef Soliman <youssefdevelops@gmail.com> on 2022-06-21
Reviewed by Eric Carlson.
Cleaned up the logic used when entering fullscreen.
- Source/WebCore/html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::enterFullscreen):
- Source/WebCore/page/ChromeClient.h:
(WebCore::ChromeClient::canEnterVideoFullscreen const):
- Source/WebCore/page/Quirks.cpp:
(WebCore::Quirks::allowLayeredFullscreenVideos const):
- Source/WebCore/page/Quirks.h:
- Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::canEnterVideoFullscreen const):
- Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h:
- Source/WebKit/WebProcess/cocoa/VideoFullscreenManager.h:
- Source/WebKit/WebProcess/cocoa/VideoFullscreenManager.mm:
(WebKit::VideoFullscreenManager::canEnterVideoFullscreen const):
(WebKit::VideoFullscreenManager::enterVideoFullscreenForVideoElement):
(WebKit::VideoFullscreenManager::exitVideoFullscreenForVideoElement):
(WebKit::VideoFullscreenManager::exitVideoFullscreenToModeWithoutAnimation):
(WebKit::VideoFullscreenManager::setCurrentlyInFullscreen):
- Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.h:
- Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::canEnterVideoFullscreen const):
Canonical link: https://commits.webkit.org/251714@main
- 6:16 PM Changeset in webkit [295708] by
-
- 7 edits2 adds in trunk/Source/WebKit
[GPUP] Send GPU preferences in single IPC message
https://bugs.webkit.org/show_bug.cgi?id=241809
rdar://95636552
Patch by Youssef Soliman <youssefdevelops@gmail.com> on 2022-06-21
Reviewed by Eric Carlson.
Currently the
GPUProcessProxy::updatePreferencesmethod sends preferences
from the web process in multiple IPC messages to the GPU process. These messages
should be consolidated into one package and sent across in a single message.
- Source/WebKit/GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::updateGPUProcessPreferences):
(WebKit::GPUProcess::updatePreference):
(WebKit::GPUProcess::setWebMParserEnabled): Deleted.
(WebKit::GPUProcess::setWebMFormatReaderEnabled): Deleted.
(WebKit::GPUProcess::setOpusDecoderEnabled): Deleted.
(WebKit::GPUProcess::setVorbisDecoderEnabled): Deleted.
(WebKit::GPUProcess::setMediaSourceInlinePaintingEnabled): Deleted.
(WebKit::GPUProcess::setSampleBufferContentKeySessionSupportEnabled): Deleted.
- Source/WebKit/GPUProcess/GPUProcess.h:
- Source/WebKit/GPUProcess/GPUProcess.messages.in:
- Source/WebKit/GPUProcess/GPUProcessPreferences.cpp: Added.
(WebKit::GPUProcessPreferences::encode const):
(WebKit::GPUProcessPreferences::decode):
- Source/WebKit/GPUProcess/GPUProcessPreferences.h: Added.
- Source/WebKit/Sources.txt:
- Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::GPUProcessProxy::updatePreferences):
- Source/WebKit/UIProcess/GPU/GPUProcessProxy.h:
- Source/WebKit/WebKit.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/251713@main
- 6:05 PM Changeset in webkit [295707] by
-
- 2 edits in trunk
ConnectionCocoa doesn't receive disconnect notifications before the client has finished initialising
https://bugs.webkit.org/show_bug.cgi?id=241666
Reviewed by Kimmo Kinnunen.
Adds a MACH_NOTIFY_NO_SENDERS notification to the receive port of a server-side Connection object, so that
we can receive notifications if we fail to initialize the client side of the connection.
This gets removed again once the client side initialization completes, since we already have handling for
disconnections from that point onwards.
The test WebProcessTerminationAfterTooManyGPUProcessCrashes would hang in case the GPU Process would be
restarted and the test would terminate it before the connection was fully established, before the WebContent
process would receive the send right. The test is written in such a way that it is expected is that the GPUP
kill happens only after the connection has been re-established and the audio is playing.
- Source/WebKit/Platform/IPC/cocoa/ConnectionCocoa.mm:
(IPC::requestNoSenderNotifications):
(IPC::clearNoSenderNotifications):
(IPC::Connection::open):
(IPC::Connection::receiveSourceEventHandler):
- Tools/TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(TEST):
Adds some early returns for failure cases, so that we don't call kill(0, 9).
Canonical link: https://commits.webkit.org/251712@main
- 5:39 PM Changeset in webkit [295706] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/DecomposedGlyphs.cpp
DecomposedGlyphs should notify observers in destructor
https://bugs.webkit.org/show_bug.cgi?id=241752
Reviewed by Simon Fraser.
Currently old DecomposedGlyphs objects will hang around in the GPU process until
the document goes away, instead of (as is intended) when the display list they
are in is removed from the GlyphDisplayListCache.
- Source/WebCore/platform/graphics/DecomposedGlyphs.cpp:
(WebCore::DecomposedGlyphs::~DecomposedGlyphs):
Canonical link: https://commits.webkit.org/251711@main
- 5:17 PM Changeset in webkit [295705] by
-
- 1 edit in trunk/Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in
Allow access to power log service in internal builds
https://bugs.webkit.org/show_bug.cgi?id=241688
<rdar://82442196>
Reviewed by Geoffrey Garen.
Allow access to power log service in the GPU process in internal builds.
- Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
Canonical link: https://commits.webkit.org/251710@main
- 5:15 PM Changeset in webkit [295704] by
-
- 2 edits in trunk/Source
constructJSHTMLElement() should protect
documentandelementInterface
https://bugs.webkit.org/show_bug.cgi?id=241827
<rdar://94610860>
Reviewed by Mark Lam.
- Source/WebCore/bindings/js/JSHTMLElementCustom.cpp:
(WebCore::constructJSHTMLElement):
- Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::runModal):
Canonical link: https://commits.webkit.org/251709@main
- 4:57 PM Changeset in webkit [295703] by
-
- 5 edits in trunk/Source/JavaScriptCore
Unreviewed, revert "The extraMemorySize() get wrong when transferring ArrayBuffer from Worker VM"
https://bugs.webkit.org/show_bug.cgi?id=241826
rdar://95384643
This reverts commit 71960bed2a3ee0917367bc4144911a9e8168deea.
m_extraMemorySize must be monotonically increasing during GC cycles until
full-collection happens. And after the full-collection, it is adjusted.
We already adjusted it in sweep of m_arrayBuffer, so, we should not reduce
that number. This is used for GC invocation scheduling. So, if we would like to
have a number which more precisely reflecting the current status,
then we should have yet another one. And we can still use extraMemorySize
since it will be adjusted after the full-collection. So we can consider
that transferred array-buffer is collected at the full-collection.
Canonical link: https://commits.webkit.org/251708@main
- 4:51 PM Changeset in webkit [295702] by
-
- 1 edit in trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm
[WebAuthn] Fix crash when making assertions
https://bugs.webkit.org/show_bug.cgi?id=241814
rdar://95618710
Reviewed by Brent Fulgham.
We return an NSData inside _WKAuthenticatorAssertionResponse with ref count 0. To fix this,
we use autorelease as we do in the _WKAuthenticatorAttestationResponse case.
- Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(wkAuthenticatorAssertionResponse):
Canonical link: https://commits.webkit.org/251707@main
- 4:28 PM Changeset in webkit [295701] by
-
- 31 edits in trunk
getComputedStyle(img).height returns string of a rounded int not a float
https://bugs.webkit.org/show_bug.cgi?id=206161
<rdar://93860607>
Patch by Sammy Gill <sgill26@apple.com> on 2022-06-21
Reviewed by Alan Bujtas.
When computing the logical height/width for a replaced element, we may
need to calculate it using (used width) / (intrinsic ratio) or
(used height) / (intrinsic ratio). In either case, these are the
used values according to the spec, which means they may be floats.
Currently, WebKit performs these computations, but it also rounds them
leading to an incorrect value. By removing these calls to round, the
computed value should line up with what is specified in the spec.
As a result of this change, several tests needed to be rebaselined since
the generated content was slightly different. In the test cases, there
were certain elements that computed a slightly different width/height
value, which resulted in different dimensions that were used in the
rendering as well as in the output of the tests. Depending on how the
dimensions of an element changed, this could have in turn caused a
nearby element to get rendered slightly differetly as well. For example,
if an element had a slight increase in its height, this could have
caused a neighboring element to have a slightly different position in
the y dimension. The more of these interactions/differences there are
would mean we would see a greater difference in the expected vs actual
output (e.g. css1/text_properties/vertical_align.html).
However, this change should be seen as a progression when comparing the
tests with the results of other browsers. By loading up the tests in
other browsers, you can see that the dimensions that are calculated
are more in line with the new values generated with this patch.
Referenced spec: https://www.w3.org/TR/CSS21/visudet.html#propdef-height
- Source/WebCore/rendering/RenderReplaced.cpp:
(WebCore::resolveWidthForRatio):
(WebCore::RenderReplaced::computeReplacedLogicalWidth const):
(WebCore::resolveHeightForRatio):
(WebCore::RenderReplaced::computeReplacedLogicalHeight const):
- LayoutTests/imported/w3c/web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-aspect-ratio-expected.txt:
- LayoutTests/fast/block/positioning/replaced-inside-fixed-top-bottom-expected.txt:
- LayoutTests/fast/writing-mode/block-level-images-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/replaced-fractional-height-from-aspect-ratio-expected.txt:
- LayoutTests/platform/mac/css1/box_properties/width-expected.txt:
- LayoutTests/platform/mac/css1/formatting_model/replaced_elements-expected.txt:
- LayoutTests/platform/mac/css1/text_properties/vertical_align-expected.txt:
- LayoutTests/platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.txt:
- LayoutTests/platform/mac/fast/replaced/width100percent-image-expected.txt:
- LayoutTests/platform/mac/svg/wicd/test-rightsizing-b-expected.txt:
- LayoutTests/platform/mac/tables/mozilla/bugs/bug14929-expected.txt:
- LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug85016-expected.txt:
- LayoutTests/svg/css/max-width-2-expected.html:
- LayoutTests/platform/glib/css2.1/t090501-c414-flt-03-b-g-expected.txt:
- LayoutTests/platform/glib/fast/block/positioning/replaced-inside-fixed-top-bottom-expected.txt:
- LayoutTests/platform/glib/tables/mozilla_expected_failures/bugs/bug85016-expected.txt:
- LayoutTests/platform/gtk/css1/box_properties/width-expected.txt:
- LayoutTests/platform/gtk/css1/formatting_model/replaced_elements-expected.txt:
- LayoutTests/platform/gtk/css1/text_properties/vertical_align-expected.txt:
- LayoutTests/platform/gtk/css2.1/t090501-c414-flt-03-b-g-expected.png:
- LayoutTests/platform/gtk/fast/repaint/block-layout-inline-children-replaced-expected.png:
- LayoutTests/platform/gtk/fast/repaint/block-layout-inline-children-replaced-expected.txt:
- LayoutTests/platform/gtk/fast/replaced/width100percent-image-expected.txt:
- LayoutTests/platform/gtk/tables/mozilla/bugs/bug14929-expected.txt:
- LayoutTests/platform/ios/css1/text_properties/vertical_align-expected.txt:
- LayoutTests/platform/ios/fast/replaced/width100percent-image-expected.txt:
- LayoutTests/platform/ios/tables/mozilla/bugs/bug14929-expected.txt:
- LayoutTests/platform/ios/tables/mozilla_expected_failures/bugs/bug85016-expected.txt:
- LayoutTests/platform/glib/TestExpectations:
- LayoutTests/platform/gtk/TestExpectations:
Canonical link: https://commits.webkit.org/251706@main
- 4:25 PM Changeset in webkit [295700] by
-
- 5 edits in trunk/Source/WebCore/Modules/indexeddb
Add null checks for connection in UniqueIDBDatabaseTransaction and UniqueIDBDatabase
https://bugs.webkit.org/show_bug.cgi?id=241792
rdar://95011134
Reviewed by Youenn Fablet.
- Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::startVersionChangeTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::clearTransactionsOnConnection):
(WebCore::IDBServer::UniqueIDBDatabase::openDBRequestCancelled):
(WebCore::IDBServer::UniqueIDBDatabase::commitTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::abortTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::immediateClose):
- Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::UniqueIDBDatabaseTransaction):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::~UniqueIDBDatabaseTransaction):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::databaseConnection const):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::abort):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::abortWithoutCallback):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::database const):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::commit):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::createObjectStore):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteObjectStore):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::renameObjectStore):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::clearObjectStore):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::createIndex):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteIndex):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::renameIndex):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::putOrAdd):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::getRecord):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::getAllRecords):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::getCount):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteRecord):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::openCursor):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::iterateCursor):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::objectStoreIdentifiers):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::didActivateInBackingStore):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::databaseConnection): Deleted.
- Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
- Source/WebCore/Modules/indexeddb/shared/IDBResultData.cpp:
(WebCore::IDBResultData::openDatabaseUpgradeNeeded):
- Source/WebCore/Modules/indexeddb/shared/IDBResultData.h:
Canonical link: https://commits.webkit.org/251705@main
- 4:22 PM Changeset in webkit [295699] by
-
- 1 edit in trunk/Source/WebInspectorUI/UserInterface/Views/GeneralStyleDetailsSidebarPanel.js
Web Inspector: Fonts details sidebar in Elements tab has empty space for filter bar
https://bugs.webkit.org/show_bug.cgi?id=241817
rdar://problem/95634156
Reviewed by Devin Rousso.
As pointed out by Devin, passing undefined to
togglehere acts as if we didn't pass a value, not as a falsy value.
- Source/WebInspectorUI/UserInterface/Views/GeneralStyleDetailsSidebarPanel.js:
(WI.GeneralStyleDetailsSidebarPanel.prototype._showPanel):
Canonical link: https://commits.webkit.org/251703@main
- 4:21 PM Changeset in webkit [295698] by
-
- 1 edit in trunk/Source/WTF/wtf/GenerateProfiles.h
Allow build-and-collect-pgo-profiles to write files
https://bugs.webkit.org/show_bug.cgi?id=241692
<rdar://95311491>
Patch by Brianna Fan <briannaf@berkeley.edu> on 2022-06-21
Reviewed by Dewei Zhu.
Ran into a missing profiles issue as required permissions to write were missing.
Fixed this issue by moving a code block in GenerateProfiles.h.
- Source/WTF/wtf/GenerateProfiles.h:
(WTF::registerProfileGenerationCallback):
Canonical link: https://commits.webkit.org/251703@main
- 4:01 PM Changeset in webkit [295697] by
-
- 2 edits in trunk/Source/WebKit
Block access to socket syscalls
https://bugs.webkit.org/show_bug.cgi?id=241722
Reviewed by Geoffrey Garen.
Block access to socket syscalls in the WebContent process. These are used by the legacy ASL logging system.
The legacy logging system is rarely used in the WebContent process.
- Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- Source/WebKit/WebProcess/com.apple.WebProcess.sb.in:
Canonical link: https://commits.webkit.org/251702@main
- 3:39 PM Changeset in webkit [295696] by
-
- 15 edits in trunk
Fix spelling error identifer -> identifier.
https://bugs.webkit.org/show_bug.cgi?id=241787
Patch by Youssef Soliman <youssefdevelops@gmail.com> on 2022-06-21
Reviewed by Jonathan Bedard and Ross Kirsling.
Across multiple files, the word "identifier" is misspelled as "identifer"
- Source/WebCore/Modules/filesystemaccess/FileSystemHandleCloseScope.h:
(WebCore::FileSystemHandleCloseScope::FileSystemHandleCloseScope):
- Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:
(GenerateDeletePropertyCommon):
- Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:
(WebCore::JSTestNamedDeleterNoIdentifier::deleteProperty):
(WebCore::JSTestNamedDeleterNoIdentifier::deletePropertyByIndex):
- Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:
(WebCore::JSTestNamedDeleterThrowingException::deleteProperty):
(WebCore::JSTestNamedDeleterThrowingException::deletePropertyByIndex):
- Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:
(WebCore::JSTestNamedDeleterWithIndexedGetter::deleteProperty):
- Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::prepareLayerBuffersForDisplay):
- Source/WebKit/Shared/ObjectIdentifierReferenceTracker.h:
- Source/WebKit/UIProcess/API/APIContentWorld.cpp:
(API::ContentWorld::worldForIdentifier):
- Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::ensureGPUProcessConnection):
- Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.messages.in:
- Source/WebKit/webpushd/PushClientConnection.mm:
(WebPushD::ClientConnection::broadcastDebugMessage):
- Tools/MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController updateTitle:]):
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/init.py:
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/revert.py:
(Revert.parser):
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/squash.py:
(Squash.parser):
Canonical link: https://commits.webkit.org/251701@main
- 3:34 PM Changeset in webkit [295695] by
-
- 1 edit in trunk/Source/WebKit/UIProcess/WebPageProxy.cpp
Only support downloading previews in captive portal mode
https://bugs.webkit.org/show_bug.cgi?id=241741
<rdar://92037537>
Reviewed by Brent Fulgham.
- Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::decidePolicyForResponseShared):
Set policy for previews to download
Canonical link: https://commits.webkit.org/251700@main
- 3:11 PM Changeset in webkit [295694] by
-
- 5 edits in trunk
NotificationEventEnabled should be enabled macOS Ventura+
https://bugs.webkit.org/show_bug.cgi?id=241605
rdar://94441142
Reviewed by Alex Christensen.
- Source/WTF/wtf/PlatformEnable.h:
This API should only be enabled on macOS 13 and later.
- LayoutTests/TestExpectations:
- LayoutTests/platform/mac-wk2/TestExpectations:
- Tools/TestWebKitAPI/Tests/WebKitCocoa/PushAPI.mm:
- Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm:
Update test expectations to account for these being macOS Ventura+
Canonical link: https://commits.webkit.org/251699@main
- 3:08 PM Changeset in webkit [295693] by
-
- 1 edit1 add in trunk
[JSC] Fix Temporal regulateTime's constraints for milliseconds, microseconds, and nanoseconds
https://bugs.webkit.org/show_bug.cgi?id=241818
rdar://95534859
Reviewed by Ross Kirsling.
This patch fixes constraints for milliseconds, microseconds, and nanoseconds in constrainTime.
It should be from 0 to 999, not to 1000[1].
[1]: https://tc39.es/proposal-temporal/#sec-temporal-constraintime
- JSTests/stress/temporal-plaintime-tostring-1000-millisecond.js: Added.
(shouldBe):
(throw.new.Error):
- Source/JavaScriptCore/runtime/TemporalPlainTime.cpp:
(JSC::constrainTime):
Canonical link: https://commits.webkit.org/251698@main
- 3:00 PM Changeset in webkit [295692] by
-
- 1 edit in trunk/Source/WebCore/css/typedom/CSSStyleValue.h
-Wmismatched-new-delete warning spam from CSSStyleValue.h
https://bugs.webkit.org/show_bug.cgi?id=241516
Patch by Michael Catanzaro <mcatanzaro@redhat.com> on 2022-06-21
Reviewed by Chris Dumez.
I cannot find any reason behind this warning. Mismatched new/delete is
very serious if true, but in this case, I just do not see it. If we are
doing something wrong, it must be somehow related to the iso heap, but
don't think we are.
- Source/WebCore/css/typedom/CSSStyleValue.h:
Canonical link: https://commits.webkit.org/251697@main
- 2:50 PM Changeset in webkit [295691] by
-
- 1 edit in trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp
Disable system preview in captive portal mode
https://bugs.webkit.org/show_bug.cgi?id=241739
rdar://90563679
Reviewed by Brent Fulgham.
- Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::adjustSettingsForCaptivePortal):
Disable system preview when in captive portal mode.
Canonical link: https://commits.webkit.org/251696@main
- 2:35 PM Changeset in webkit [295690] by
-
- 1 edit in trunk/Source/WebKit/UIProcess/API/C/WKPage.cpp
Use PageIdentifier, not WebPageProxy's identifier for WKPageGetIdentifier
https://bugs.webkit.org/show_bug.cgi?id=241701
rdar://problem/95332001
Reviewed by Chris Dumez.
- Source/WebKit/UIProcess/API/C/WKPage.cpp:
(WKPageGetIdentifier):
Use webPageID, not identifier.
Canonical link: https://commits.webkit.org/251695@main
- 2:27 PM Changeset in webkit [295689] by
-
- 2 edits in trunk/Source/WebKit/UIProcess/ios
[iOS 16] Previously dictated input is inserted in next field when changing focused element
https://bugs.webkit.org/show_bug.cgi?id=241751
rdar://84995538
Reviewed by Megan Gardner.
When changing focus between text fields while continuous dictation is active, dictated text in the
previously focused text field is inserted in the newly focused field. This happens because UIKit
attempts to update the dictation string one final time prior to changing the keyboard input
delegate; however, this doesn't work inWKWebView, due to the fact that the previous field has
already been blurred by the time we handle element focus and reload input views in the UI process.
Mitigate this by treating
-replaceDictatedText:withText:and-insertText:as no-ops in the case
where they are triggered while hiding the keyboard; note that this only changes behavior in cases
where UIKit would've otherwise inserted or modified text in newly focused elements, while only
having text input and autocorrection context from the previously focused element -- as such, it's
very unlikely that any (intended) platform editing behaviors in WebKit2 depend on the ability to
insert text in this specific scenario.
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.h:
Add a new
_isHidingKeyboardflag.
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView replaceDictatedText:withText:]):
(-[WKContentView insertText:]):
(-[WKContentView _hideKeyboard]):
Set
_isHidingKeyboardduring the scope of this method call.
Canonical link: https://commits.webkit.org/251694@main
- 2:06 PM Changeset in webkit [295688] by
-
- 1 edit in trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm
Adopt new function to set video decoder behavior
https://bugs.webkit.org/show_bug.cgi?id=241603
Reviewed by Geoffrey Garen.
The only behavior change from this is that common video decoders will not be permitted in the WebContent process.
- Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
Canonical link: https://commits.webkit.org/251693@main
- 9:22 AM Changeset in webkit [295687] by
-
- 2 edits in trunk/Tools/TestWebKitAPI/Tests/WebKit
TestWebKitAPI.WebKit2.CrashGPUProcessWhileCapturingAndCalling is failing on BigSur bot
https://bugs.webkit.org/show_bug.cgi?id=241798
Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-21
Reviewed by Eric Carlson.
- Tools/TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
- Tools/TestWebKitAPI/Tests/WebKit/getUserMedia.html:
Adding some more tests and logging to investigate what is wrong with the test in BigSur.
Canonical link: https://commits.webkit.org/251692@main
- 7:24 AM Changeset in webkit [295686] by
-
- 2 edits2 adds in trunk
A HTMLMediaElement created while page is interrupted should be able to autoplay
https://bugs.webkit.org/show_bug.cgi?id=241783
Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-21
Reviewed by Eric Carlson.
Previously, a session created while manager is interrupted would get its state set to interrupted.
When end of interruption happens, it would not be restarted since its interruption count would be set to 0.
Instead, manager now stores the last interruption.
In case of a new session, we now call beginInterruption instead of setting the session state directly.
This allows to have an interruption count set to 1 and thus uninterrupt the session when the end of interruption signal happens.
Covered by added test.
- LayoutTests/fast/mediastream/video-created-while-interrupted-expected.txt: Added.
- LayoutTests/fast/mediastream/video-created-while-interrupted.html: Added.
- Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp:
(WebCore::PlatformMediaSessionManager::beginInterruption):
(WebCore::PlatformMediaSessionManager::endInterruption):
(WebCore::PlatformMediaSessionManager::addSession):
(WebCore::PlatformMediaSessionManager::sessionWillBeginPlayback):
(WebCore::PlatformMediaSessionManager::processSystemWillSleep):
(WebCore::PlatformMediaSessionManager::processSystemDidWake):
- Source/WebCore/platform/audio/PlatformMediaSessionManager.h:
(WebCore::PlatformMediaSessionManager::isInterrupted const):
Canonical link: https://commits.webkit.org/251691@main
- 6:16 AM Changeset in webkit [295685] by
-
- 2 edits in trunk
AX ITM: Fix for accessibility/language-attribute-change.html in isolated tree mode. web content
https://bugs.webkit.org/show_bug.cgi?id=241794
Reviewed by Chris Fleizach.
- Source/WebCore/accessibility/AXObjectCache.cpp:
When the lang attribute changes, we need to update the object for which the attribute changed in addition to updating its children.
(WebCore::AXObjectCache::updateIsolatedTree):
- Tools/WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AccessibilityController::executeOnAXThreadAndWait):
Made the complete local variable std::atomic since it is accessed on and off the main thread.
Canonical link: https://commits.webkit.org/251690@main
- 1:52 AM Changeset in webkit [295684] by
-
- 1 edit in trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp
Apply implicit clears and clearBuffer commands in proper order
https://bugs.webkit.org/show_bug.cgi?id=241765
Patch by Alexey Knyazev <3479527+lexaknyazev@users.noreply.github.com> on 2022-06-21
Reviewed by Kimmo Kinnunen.
Merging clearBuffer comamnds with implicit clears was producing
incorrect results, especially with enabled scissor test.
To resolve that, treat clearBuffer commands as draw calls,
i.e., apply implicit clears before them and notify the canvas
after, if needed.
It may be possible to reintroduce merged and/or skipped clears
provided that such an optimization does not break any tests.
See conformance2/rendering/clearbuffer-and-draw.html
- Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::clearBufferiv):
(WebCore::WebGL2RenderingContext::clearBufferuiv):
(WebCore::WebGL2RenderingContext::clearBufferfv):
(WebCore::WebGL2RenderingContext::clearBufferfi):
Canonical link: https://commits.webkit.org/251689@main
- 1:26 AM Changeset in webkit [295683] by
-
- 67 edits2 copies in trunk
[LBSE] Add support for <path>
https://bugs.webkit.org/show_bug.cgi?id=240864
Patch by Nikolas Zimmermann <nzimmermann@igalia.com> on 2022-06-21
Reviewed by Rob Buis.
Rename RenderSVGPath -> LegacyRenderSVGPath and adapt callees.
Re-introduce RenderSVGPath for LBSE, and activate
renderer creation for <path>, if LBSE is enabled at run-time.
This allows a 22 more SVG 1.1 testcases to pass with LBSE.
- LayoutTests/platform/mac-monterey-wk2-lbse-text/TestExpectations:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-04-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-05-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-07-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-08-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-09-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-10-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-11-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-12-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-28-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-30-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-34-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-36-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-37-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-44-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-83-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-offset-01-b-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/linking-a-05-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/metadata-example-01-b-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-fill-03-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-marker-01-f-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-marker-03-f-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-stroke-03-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-stroke-04-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-stroke-07-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-01-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-02-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-04-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-05-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-06-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-07-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-08-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-09-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-10-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-12-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-13-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-14-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-15-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/render-elems-01-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/render-elems-02-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/render-elems-03-t-expected.txt:
- LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-frag-06-t-expected.txt:
- Source/WebCore/Sources.txt:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebCore/accessibility/AccessibilitySVGElement.cpp:
(WebCore::AccessibilitySVGElement::determineAccessibilityRole):
- Source/WebCore/rendering/RenderObject.h:
(WebCore::RenderObject::isLegacySVGPath const):
(WebCore::RenderObject::isSVGPathOrLegacySVGPath const):
- Source/WebCore/rendering/RenderTreeAsText.cpp:
- Source/WebCore/rendering/svg/LegacyRenderSVGPath.cpp: Copied from Source/WebCore/rendering/svg/RenderSVGPath.cpp.
(WebCore::LegacyRenderSVGPath::LegacyRenderSVGPath):
(WebCore::LegacyRenderSVGPath::updateShapeFromElement):
(WebCore::LegacyRenderSVGPath::calculateUpdatedStrokeBoundingBox const):
(WebCore::useStrokeStyleToFill):
(WebCore::LegacyRenderSVGPath::strokeShape const):
(WebCore::LegacyRenderSVGPath::shapeDependentStrokeContains):
(WebCore::LegacyRenderSVGPath::shouldStrokeZeroLengthSubpath const):
(WebCore::LegacyRenderSVGPath::zeroLengthLinecapPath const):
(WebCore::LegacyRenderSVGPath::zeroLengthSubpathRect const):
(WebCore::LegacyRenderSVGPath::updateZeroLengthSubpaths):
(WebCore::LegacyRenderSVGPath::isRenderingDisabled const):
- Source/WebCore/rendering/svg/LegacyRenderSVGPath.h: Copied from Source/WebCore/rendering/svg/RenderSVGPath.h.
- Source/WebCore/rendering/svg/LegacyRenderSVGShape.h:
- Source/WebCore/rendering/svg/RenderSVGHiddenContainer.cpp:
- Source/WebCore/rendering/svg/RenderSVGPath.cpp:
(WebCore::RenderSVGPath::RenderSVGPath):
(WebCore::RenderSVGPath::updateShapeFromElement):
(WebCore::RenderSVGPath::strokeShape const):
(WebCore::RenderSVGPath::shapeDependentStrokeContains):
- Source/WebCore/rendering/svg/RenderSVGPath.h:
- Source/WebCore/rendering/svg/RenderSVGShape.h:
- Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp:
- Source/WebCore/svg/SVGElement.cpp:
(WebCore::createSVGLayerAwareElementSet):
- Source/WebCore/svg/SVGGraphicsElement.cpp:
(WebCore::SVGGraphicsElement::createElementRenderer):
- Source/WebCore/svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::svgAttributeChanged):
(WebCore::SVGPathElement::getBBox):
(WebCore::SVGPathElement::createElementRenderer):
- Source/WebCore/svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::svgAttributeChanged):
(WebCore::SVGPolyElement::approximateMemoryCost const):
Canonical link: https://commits.webkit.org/251688@main
- 1:19 AM Changeset in webkit [295682] by
-
- 6 edits in trunk/Source/WebCore
Align uniform*, WebGLMultiDraw, and GraphicsContextGLANGLE functions
https://bugs.webkit.org/show_bug.cgi?id=241748
Patch by Alexey Knyazev <3479527+lexaknyazev@users.noreply.github.com> on 2022-06-21
Reviewed by Kimmo Kinnunen.
- Added const qualifiers and rvalue ref to WebGL2RenderingContext::uniform*
- Removed TypedList redefinition from WebGLMultiDraw
- Added rvalue ref to typed arrays in WebGLMultiDraw::multiDraw*
- Removed extra validation from WebGLRenderingContextBase::uniform1*
- Added checkGPUStatus to draw and clear commands in GraphicsContextGLANGLE
- Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::uniform1ui):
(WebCore::WebGL2RenderingContext::uniform2ui):
(WebCore::WebGL2RenderingContext::uniform3ui):
(WebCore::WebGL2RenderingContext::uniform4ui):
(WebCore::WebGL2RenderingContext::uniform1uiv):
(WebCore::WebGL2RenderingContext::uniform2uiv):
(WebCore::WebGL2RenderingContext::uniform3uiv):
(WebCore::WebGL2RenderingContext::uniform4uiv):
(WebCore::WebGL2RenderingContext::uniformMatrix2x3fv):
(WebCore::WebGL2RenderingContext::uniformMatrix3x2fv):
(WebCore::WebGL2RenderingContext::uniformMatrix2x4fv):
(WebCore::WebGL2RenderingContext::uniformMatrix4x2fv):
(WebCore::WebGL2RenderingContext::uniformMatrix3x4fv):
(WebCore::WebGL2RenderingContext::uniformMatrix4x3fv):
(WebCore::WebGL2RenderingContext::uniform1fv):
(WebCore::WebGL2RenderingContext::uniform2fv):
(WebCore::WebGL2RenderingContext::uniform3fv):
(WebCore::WebGL2RenderingContext::uniform4fv):
(WebCore::WebGL2RenderingContext::uniform1iv):
(WebCore::WebGL2RenderingContext::uniform2iv):
(WebCore::WebGL2RenderingContext::uniform3iv):
(WebCore::WebGL2RenderingContext::uniform4iv):
(WebCore::WebGL2RenderingContext::uniformMatrix2fv):
(WebCore::WebGL2RenderingContext::uniformMatrix3fv):
(WebCore::WebGL2RenderingContext::uniformMatrix4fv):
- Source/WebCore/html/canvas/WebGL2RenderingContext.h:
- Source/WebCore/html/canvas/WebGLMultiDraw.cpp:
(WebCore::WebGLMultiDraw::multiDrawArraysWEBGL):
(WebCore::WebGLMultiDraw::multiDrawArraysInstancedWEBGL):
(WebCore::WebGLMultiDraw::multiDrawElementsWEBGL):
(WebCore::WebGLMultiDraw::multiDrawElementsInstancedWEBGL):
- Source/WebCore/html/canvas/WebGLMultiDraw.h:
- Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::uniform1i):
(WebCore::WebGLRenderingContextBase::uniform1iv):
- Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::drawRangeElements):
(WebCore::GraphicsContextGLANGLE::clearBufferiv):
(WebCore::GraphicsContextGLANGLE::clearBufferuiv):
(WebCore::GraphicsContextGLANGLE::clearBufferfv):
(WebCore::GraphicsContextGLANGLE::clearBufferfi):
(WebCore::GraphicsContextGLANGLE::multiDrawArraysANGLE):
(WebCore::GraphicsContextGLANGLE::multiDrawArraysInstancedANGLE):
(WebCore::GraphicsContextGLANGLE::multiDrawElementsANGLE):
(WebCore::GraphicsContextGLANGLE::multiDrawElementsInstancedANGLE):
Canonical link: https://commits.webkit.org/251687@main
Jun 20, 2022:
- 11:42 PM Changeset in webkit [295681] by
-
- 1 edit in trunk/Source/WebCore/loader/appcache/ApplicationCacheHost.cpp
ApplicationCacheHost::isApplicationCacheEnabled() should check for its page being null
https://bugs.webkit.org/show_bug.cgi?id=241776
Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-20
Reviewed by Alex Christensen.
- Source/WebCore/loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::isApplicationCacheEnabled):
Add page null check.
Canonical link: https://commits.webkit.org/251686@main
- 11:37 PM Changeset in webkit [295680] by
-
- 6 edits in trunk/Source
Enhance RawPointer to take function pointers as well.
https://bugs.webkit.org/show_bug.cgi?id=241773
Reviewed by Yusuke Suzuki.
Also add PageBlock::end and PageReservation::end methods to make code a little
more readable (motivated by a RawPointer use).
- Source/JavaScriptCore/API/JSMarkingConstraintPrivate.cpp:
(JSContextGroupAddMarkingConstraint):
- Source/JavaScriptCore/heap/HeapFinalizerCallback.cpp:
(JSC::HeapFinalizerCallback::dump const):
- Source/JavaScriptCore/jit/ExecutableAllocator.cpp:
(JSC::initializeJITPageReservation):
- Source/WTF/wtf/PageBlock.h:
(WTF::PageBlock::end const):
- Source/WTF/wtf/PageReservation.h:
- Source/WTF/wtf/RawPointer.h:
(WTF::RawPointer::RawPointer):
Canonical link: https://commits.webkit.org/251685@main
- 8:54 PM Changeset in webkit [295679] by
-
- 7 edits in trunk
[GLIB] Add API to set WebView's Content-Security-Policy
https://bugs.webkit.org/show_bug.cgi?id=240221
Reviewed by Michael Catanzaro and Adrian Perez de Castro.
This adds API to set the WebView's default policy as well as API to
indicate that the WebView is in a WebExtension. This changes the internal
behavior of CSP to block some options.
Both of these are required for a complete WebExtension implementation in
browsers such as Epiphany.
- Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewDefaultContentSecurityPolicy):
(testWebViewWebExtensionMode):
(beforeAll):
- Tools/TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
(WebViewTest::loadHtml):
- Tools/TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
- Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp:
(webkitWebContextCreatePageForWebView):
- Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:
(webkitWebViewSetProperty):
(webkitWebViewGetProperty):
(webkit_web_view_class_init):
(webkit_web_view_get_web_extension_mode):
(webkit_web_view_get_default_content_security_policy):
- Source/WebKit/UIProcess/API/gtk/WebKitWebView.h:
- Source/WebKit/UIProcess/API/wpe/WebKitWebView.h:
Canonical link: https://commits.webkit.org/251684@main
- 5:29 PM Changeset in webkit [295678] by
-
- 1 edit in trunk/Source/WebGPU/WGSL/SourceSpan.h
[WebGPU] Support equality comparison between SourceSpans
https://bugs.webkit.org/show_bug.cgi?id=241757
Patch by Kiet Ho <Kiet Ho> on 2022-06-20
Reviewed by Myles C. Maxfield.
- Source/WebGPU/WGSL/SourceSpan.h:
(WGSL::SourceSpan::operator==):
Canonical link: https://commits.webkit.org/251683@main
- 5:02 PM Changeset in webkit [295677] by
-
- 1 edit in trunk/Source/JavaScriptCore/runtime/Options.cpp
Fix broken --useOSLog option.
https://bugs.webkit.org/show_bug.cgi?id=241790
Reviewed by Alexey Shvayka.
Internally, --useOSLog=0 is represented as OSLogType::None. Options::dumpAllOptionsInALine()
dumps this value as "none". When "none" is later passed back to Options::setOption(), it is
rejected because useOSLog's parse function wasn't expecting "none" as an input string. The
fix is simply to add "none" to the list of allowed input strings.
Also, since OSLogType::None is a thing, it makes sense that the option should allow value
"none". This issue was manifesting as a failure when running testapi.
- Source/JavaScriptCore/runtime/Options.cpp:
(JSC::parse):
Canonical link: https://commits.webkit.org/251682@main
- 11:47 AM Changeset in webkit [295676] by
-
- 9 edits in trunk/Source/WebKit
Fix spelling error in remote media players
https://bugs.webkit.org/show_bug.cgi?id=241786
Patch by Youssef Soliman <youssefdevelops@gmail.com> on 2022-06-20
Reviewed by Wenson Hsieh.
The word "identifier" was spelt wrong in both remote media player
header files and some supplemental media files.
- Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.h:
- Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::identifier const): Deleted.
- Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
Canonical link: https://commits.webkit.org/251681@main
- 8:30 AM WebKitGTK/2.36.x edited by
- (diff)
- 7:45 AM Changeset in webkit [295675] by
-
- 5 edits in trunk
[CSS Container Queries] Container units don't work in gradients
https://bugs.webkit.org/show_bug.cgi?id=241780
Reviewed by Tim Nguyen.
- LayoutTests/TestExpectations:
- Source/WebCore/css/CSSGradientValue.cpp:
(WebCore::CSSLinearGradientValue::createGradient):
(WebCore::CSSRadialGradientValue::createGradient):
(WebCore::CSSConicGradientValue::createGradient):
Provide the element to CSSToLengthConversionData so a container can be selected.
- Source/WebCore/css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::computeNonCalcLengthDouble):
- Source/WebCore/css/CSSToLengthConversionData.cpp:
(WebCore::CSSToLengthConversionData::CSSToLengthConversionData):
- Source/WebCore/css/CSSToLengthConversionData.h:
(WebCore::CSSToLengthConversionData::elementForContainerUnitResolution const):
(WebCore::CSSToLengthConversionData::element const): Deleted.
Rename for clarity.
Canonical link: https://commits.webkit.org/251680@main
- 6:04 AM Changeset in webkit [295674] by
-
- 1 edit in trunk/Tools/TestWebKitAPI/Tests/WebKit/GetUserMedia.mm
[ iOS ] TestWebKitAPI.WebKit2.CrashGPUProcessWhileCapturing is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=239315
Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-20
Unreviewed.
Reenable tests to gather EWS results.
We should at least reenable it in macOS if it still does not run well in iOS.
- Tools/TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
Canonical link: https://commits.webkit.org/251679@main
- 5:02 AM Changeset in webkit [295673] by
-
- 1 edit in trunk/LayoutTests/platform/ios-wk2/TestExpectations
[ iOS ] 8 imported/w3c/web-platform-tests/fetch/api (layout-tests) are flaky text failures
https://bugs.webkit.org/show_bug.cgi?id=234278
Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-20
Unreviewed.
- LayoutTests/platform/ios-wk2/TestExpectations:
Tests no longer seem flaky in results.webkit.org.
Canonical link: https://commits.webkit.org/251678@main
- 4:29 AM Changeset in webkit [295672] by
-
- 1 edit in trunk/LayoutTests/TestExpectations
Enable imported/w3c/web-platform-tests/css/css-contain/container-queries/svg-foreignobject-no-size-container.html in release
https://bugs.webkit.org/show_bug.cgi?id=241779
Unreviewed test gardening.
It hits unrelated debug assert (bug 241778) but passes otherwise.
- LayoutTests/TestExpectations:
Canonical link: https://commits.webkit.org/251677@main
- 2:02 AM Changeset in webkit [295671] by
-
- 1 edit in trunk/Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp
REGRESSION(r295627): [GCC] Unreviewed, fix build error in Debian Stable
error: call to non-'constexpr' function 'void WTF::isIntegralOrPointerType()'.
- Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::computeMinimumValue): Use
RELEASE_ASSERT_NOT_REACHED_UNDER_CONSTEXPR_CONTEXT
Canonical link: https://commits.webkit.org/251676@main
- 1:07 AM Changeset in webkit [295670] by
-
- 2 edits1 delete in trunk/Source/WebKit
IPC::FontReference is a redundant type alias in wrong software layer
https://bugs.webkit.org/show_bug.cgi?id=241712
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-06-20
Reviewed by Cameron McCormack and Wenson Hsieh.
Instead, use the aliased type Ref<Font>.
- Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in:
- Source/WebKit/Platform/IPC/FontReference.h: Removed.
- Source/WebKit/WebKit.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/251675@main
- 12:43 AM Changeset in webkit [295669] by
-
- 3 edits in trunk/Source/WebCore/platform/graphics/displaylists
Remove unused display list item apply functions
https://bugs.webkit.org/show_bug.cgi?id=241771
Reviewed by Wenson Hsieh.
- Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.cpp:
(WebCore::DisplayList::ItemHandle::apply):
- Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::PaintFrameForMedia::PaintFrameForMedia):
(WebCore::DisplayList::DrawFilteredImageBuffer::apply const): Deleted.
(WebCore::DisplayList::PaintFrameForMedia::apply const): Deleted.
- Source/WebCore/platform/graphics/displaylists/DisplayListItems.h:
Canonical link: https://commits.webkit.org/251674@main
Jun 19, 2022:
- 9:51 PM Changeset in webkit [295668] by
-
- 2 edits in trunk/Tools/CISupport/build-webkit-org
Add new post-commit bot WPE-Linux-64-bit-Release-Clang-Build https://bugs.webkit.org/show_bug.cgi?id=241403
Reviewed by Jonathan Bedard and Aakash Jain.
Also rename 'GTK-Linux-64-bit-Release-Clang' to 'GTK-Linux-64-bit-Release-Clang-Build'
to respect naming convention.
- Tools/CISupport/build-webkit-org/config.json:
- Tools/CISupport/build-webkit-org/factories_unittest.py: Add new test for 'WPE-Linux-64-bit-Release-Clang-Build' bot.
Canonical link: https://commits.webkit.org/251673@main
- 9:27 PM Changeset in webkit [295667] by
-
- 10 edits2 copies1 add in trunk/Source/WebCore
Add debug output support for WebCore::Gradient
https://bugs.webkit.org/show_bug.cgi?id=241767
Reviewed by Sam Weinig.
- Source/WebCore/Sources.txt:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebCore/platform/graphics/ColorInterpolationMethod.cpp: Added.
(WebCore::operator<<):
- Source/WebCore/platform/graphics/ColorInterpolationMethod.h:
- Source/WebCore/platform/graphics/Gradient.cpp:
(WebCore::operator<<):
- Source/WebCore/platform/graphics/Gradient.h:
- Source/WebCore/platform/graphics/GradientColorStop.cpp: Copied from Source/WebCore/platform/graphics/GradientColorStop.h.
(WebCore::operator<<):
- Source/WebCore/platform/graphics/GradientColorStop.h:
- Source/WebCore/platform/graphics/GradientColorStops.cpp: Copied from Source/WebCore/platform/graphics/GradientColorStop.h.
(WebCore::operator<<):
- Source/WebCore/platform/graphics/GradientColorStops.h:
- Source/WebCore/platform/graphics/GraphicsTypes.cpp:
(WebCore::operator<<):
- Source/WebCore/platform/graphics/GraphicsTypes.h:
Canonical link: https://commits.webkit.org/251672@main
- 9:25 PM Changeset in webkit [295666] by
-
- 24 edits1 add1 delete in trunk
Make IPC::Attachment moveable on DARWIN
https://bugs.webkit.org/show_bug.cgi?id=241660
This makes the DARWIN implementation of IPC::Attachment use MachSendPort, since this
proper move handling, and lifetime management of the underlying mach_port_t.
This also removes the MachPort class, since this was largely just used as an intermediate
and is stricly worse than MachSendPort.
The primary bug fixed here is a case where the WebProcess sent a port to the UIProcess, and then
we failed to forward it to the GPUProcess since it had crashed. Previously we'd just leak the port (and
thus never notify the WebContent process that we'd failed), whereas now it gets released correctly.
Reviewed by Kimmo Kinnunen.
- Source/WebKit/GPUProcess/GPUProcess.cpp:
(WebKit::asConnectionIdentifier):
(WebKit::GPUProcess::createGPUConnectionToWebProcess):
- Source/WebKit/Platform/IPC/Attachment.cpp:
(IPC::Attachment::Attachment):
(IPC::Attachment::release): Deleted.
- Source/WebKit/Platform/IPC/Attachment.h:
(IPC::Attachment::Attachment::customWriter const):
(IPC::Attachment::Attachment): Deleted.
(IPC::Attachment::type const): Deleted.
(IPC::Attachment::isNull const): Deleted.
(IPC::Attachment::size const): Deleted.
(IPC::Attachment::fd const): Deleted.
(IPC::Attachment::release): Deleted.
(IPC::Attachment::customWriter const): Deleted.
(IPC::Attachment::port const): Deleted.
(IPC::Attachment::disposition const): Deleted.
(IPC::Attachment::handle const): Deleted.
- Source/WebKit/Platform/IPC/StreamServerConnection.cpp:
(IPC::StreamServerConnection::createWithDedicatedConnection):
- Source/WebKit/Platform/IPC/cocoa/MachPort.h: Removed.
- Source/WebKit/Platform/cocoa/SharedMemoryCocoa.cpp:
(WebKit::SharedMemory::IPCHandle::encode const):
(WebKit::SharedMemory::IPCHandle::decode):
- Source/WebKit/Scripts/webkit/parser_unittest.py:
- Source/WebKit/Scripts/webkit/tests/MessageArgumentDescriptions.cpp:
(IPC::messageArgumentDescriptions):
- Source/WebKit/Scripts/webkit/tests/TestWithLegacyReceiver.messages.in:
- Source/WebKit/Scripts/webkit/tests/TestWithLegacyReceiverMessageReceiver.cpp:
- Source/WebKit/Scripts/webkit/tests/TestWithLegacyReceiverMessages.h:
(Messages::TestWithLegacyReceiver::DidCreateWebProcessConnection::DidCreateWebProcessConnection):
- Source/WebKit/Scripts/webkit/tests/TestWithoutAttributes.messages.in:
- Source/WebKit/Scripts/webkit/tests/TestWithoutAttributesMessageReceiver.cpp:
- Source/WebKit/Scripts/webkit/tests/TestWithoutAttributesMessages.h:
(Messages::TestWithoutAttributes::DidCreateWebProcessConnection::DidCreateWebProcessConnection):
- Source/WebKit/Shared/IPCConnectionTester.cpp:
(WebKit::asIdentifier):
- Source/WebKit/Shared/mac/WebCoreArgumentCodersMac.mm:
(IPC::ArgumentCoder<MachSendRight>::encode):
(IPC::ArgumentCoder<MachSendRight>::decode):
- Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:
- Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::getNetworkProcessConnection):
- Source/WebKit/WebKit.xcodeproj/project.pbxproj:
- Source/WebKit/WebProcess/Inspector/WebInspector.cpp:
(WebKit::WebInspector::setFrontendConnection):
- Source/WebKit/WebProcess/Network/NetworkProcessConnectionInfo.h:
(WebKit::NetworkProcessConnectionInfo::identifier const):
(WebKit::NetworkProcessConnectionInfo::releaseIdentifier):
Converts IPC::Attachment to use MachSendPort instead of a port/disposition pair, and changes all
callsites to handle that.
- Source/WebKit/Platform/IPC/cocoa/ConnectionCocoa.mm:
(IPC::Connection::open):
(IPC::Connection::sendOutgoingMessage):
(IPC::createMessageDecoder):
(IPC::Connection::receiveSourceEventHandler):
(IPC::Connection::createConnectionIdentifierPair):
Make serialization/deserialization handle IPC::Connection being a MachSendPort.
Also makes sure we explicity allocate a send right at the two places we allocate a receive right,
rather than relying on this happening during serialization (with the MAKE_SEND disposition).
This means if the caller ends up not sending the IPC::Connection due to an error, we'll still end
up deallocating a send right, and trigger the associated notifications.
- Source/WebKit/Platform/IPC/cocoa/SharedFileHandleCocoa.cpp:
(IPC::SharedFileHandle::encode const):
(IPC::SharedFileHandle::decode):
Fixes a potential leak where we previously just passed our port to
fileport_makefd without then releasing our reference to it (which is now handled
via the MachSendPort destructor).
- Source/WTF/wtf/cocoa/MachSendRight.cpp:
(WTF::MachSendRight::operator=):
Fixes a potential leak, where we were just overwriting the old m_port contents without releasing it.
Canonical link: https://commits.webkit.org/251671@main
- 8:57 PM Changeset in webkit [295665] by
-
- 4 edits2 adds in trunk
REGRESSION (r294902): Content with continuation leaves decoration bits behind when removed
https://bugs.webkit.org/show_bug.cgi?id=241734
<rdar://95308322>
Reviewed by Simon Fraser.
This patch ensures that when a renderer is removed we always issue a repaint regardless of what the associated layer's repaint bit says.
- after r294902, repaint is not issued anymore if either the associated or an ancestor layer have the "full repaint" bit set.
- such layer-driven repaints happen after layout.
In some dynamic content cases, the layer may be removed before layout happens. This patch ensures that we preemptively issue such repaints.
- LayoutTests/fast/repaint/force-repaint-when-layer-is-destroyed-expected.txt: Added.
- LayoutTests/fast/repaint/force-repaint-when-layer-is-destroyed.html: Added.
- Source/WebCore/rendering/RenderLayerModelObject.cpp: Force (full) repaint when the renderer is being destroyed (detached -> non-internal move).
(WebCore::RenderLayerModelObject::willBeRemovedFromTree):
- Source/WebCore/rendering/RenderLayerModelObject.h:
- Source/WebCore/rendering/RenderObject.cpp: move duplicated code from repaint() and repaintRectangle() to issueRepaint().
Canonical link: https://commits.webkit.org/251670@main
- 8:28 PM Changeset in webkit [295664] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/ContentTypeUtilities.cpp
Fix includes in ContentTypeUtilities.cpp
https://bugs.webkit.org/show_bug.cgi?id=241764
Reviewed by Sam Weinig.
They should be outside the namespace.
- Source/WebCore/platform/graphics/ContentTypeUtilities.cpp:
Canonical link: https://commits.webkit.org/251669@main
- 6:46 PM Changeset in webkit [295663] by
-
- 1 edit in trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
Sort WebCore Xcode project file
https://bugs.webkit.org/show_bug.cgi?id=241768
Reviewed by Tim Horton.
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/251668@main
- 11:26 AM Changeset in webkit [295662] by
-
- 3 edits in trunk/Tools/Scripts/libraries/webkitscmpy
[git-webkit] Incorrect common directory when not in checkout root
https://bugs.webkit.org/show_bug.cgi?id=241487
<rdar://problem/95327557>
Patch by Jonathan Bedard <JonWBedard@gmail.com> on 2022-06-19
Reviewed by Michael Catanzaro.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.common_directory): Run command from root_path.
Canonical link: https://commits.webkit.org/251667@main
Jun 18, 2022:
- 9:13 PM Changeset in webkit [295661] by
-
- 4 edits in trunk/Source
Change Integrity audit logging to use OS_LOG_TYPE_ERROR.
https://bugs.webkit.org/show_bug.cgi?id=241742
Reviewed by Yusuke Suzuki.
On OS(DARWIN), Integrity audit code now uses an OSLogPrintStream to achieve this
logging with type OS_LOG_TYPE_ERROR. On other ports, we just route the logging
to WTF::dataFile() instead.
Also removed VA_ARGS support when !VA_OPT_SUPPORTED. This never worked in the first
place. Ports without VA_OPT_SUPPORTED will have to live with degraded logging.
Added WTFReportBacktraceWithPrefixAndPrintStream and WTFPrintBacktraceWithPrefixAndPrintStream
to support this new Integrity audit logging. Removed the old WTFPrintBacktraceWithPrefix
because it was never used by external clients. It was only used by as an internal support
function by other stack dumper functions.
- Source/JavaScriptCore/tools/Integrity.cpp:
(JSC::Integrity::logFile):
(JSC::Integrity::logF):
(JSC::Integrity::logLnF):
(JSC::Integrity::verifyCell):
- Source/JavaScriptCore/tools/Integrity.h:
- Source/WTF/wtf/Assertions.cpp:
- Source/WTF/wtf/Assertions.h:
Canonical link: https://commits.webkit.org/251666@main
- 9:07 PM Changeset in webkit [295660] by
-
- 12 edits1 add in trunk/Source
Introducing RawHex, a counterpart to RawPointer
https://bugs.webkit.org/show_bug.cgi?id=241743
Reviewed by Saam Barati.
RawHex is for dumping integral values in hex just like RawPointer is for dumping
pointers. And similarly, RawHex is meant to be used with PrintStream.
For example:
dataLog(RawHex(42)); prints 0x2a
dataLog(RawHex(0x42); prints 0x42
dataLog(RawHex(256)); prints 0x100
dataLog(RawHex(65536); prints 0x10000
dataLog(RawHex(4294967295); prints 0xffffffff
dataLog(RawHex(4294967296); prints 0x100000000
dataLog(RawHex(INT8_MIN); prints 0x80
dataLog(RawHex(INT16_MIN); prints 0x8000
dataLog(RawHex(INT32_MIN); prints 0x80000000
dataLog(RawHex(-1); prints 0xffffffff
dataLog(RawHex(INT64_MIN); prints 0x8000000000000000
dataLog(RawHex(INT64_MAX); prints 0x7fffffffffffffff
dataLog(RawHex(UINT64_MAX); prints 0xffffffffffffffff
Also fixed up places where we were casting integral values into pointers, and
then using RawPointer to dump them in hex.
- Source/JavaScriptCore/bytecode/BytecodeDumper.cpp:
(JSC::Wasm::BytecodeDumper::formatConstant const):
- Source/JavaScriptCore/interpreter/StackVisitor.cpp:
(JSC::StackVisitor::Frame::dump const):
- Source/JavaScriptCore/runtime/ExecutableBase.cpp:
(JSC::ExecutableBase::dump const):
- Source/JavaScriptCore/runtime/LazyPropertyInlines.h:
(JSC::ElementType>::dump const):
- Source/JavaScriptCore/runtime/SamplingProfiler.cpp:
(JSC::SamplingProfiler::reportTopBytecodes):
- Source/JavaScriptCore/tools/Integrity.cpp:
(JSC::Integrity::Random::reloadAndCheckShouldAuditSlow):
- Source/JavaScriptCore/wasm/WasmFunctionParser.h:
(JSC::Wasm::FunctionParser<Context>::parseBody):
- Source/JavaScriptCore/wasm/WasmOpcodeOrigin.cpp:
(JSC::Wasm::OpcodeOrigin::dump const):
- Source/WTF/WTF.xcodeproj/project.pbxproj:
- Source/WTF/wtf/CMakeLists.txt:
- Source/WTF/wtf/PrintStream.cpp:
(WTF::printInternal):
- Source/WTF/wtf/PrintStream.h:
- Source/WTF/wtf/RawHex.h: Added.
(WTF::RawHex::RawHex):
(WTF::RawHex::ptr const):
(WTF::RawHex::is64Bit const):
(WTF::RawHex::u64 const):
Canonical link: https://commits.webkit.org/251665@main
- 3:00 AM Changeset in webkit [295659] by
-
- 1 edit in trunk/Source/JavaScriptCore/runtime/JSFunction.cpp
REGRESSION (251613@main): Missing exception check in JSFunction::put()
https://bugs.webkit.org/show_bug.cgi?id=241727
Unreviewed follow-up fix.
Adds exception check after reifyLazyPropertyIfNeeded() since it may throw.
- Source/JavaScriptCore/runtime/JSFunction.cpp:
(JSC::JSFunction::put):
Canonical link: https://commits.webkit.org/251664@main
Jun 17, 2022:
- 11:46 PM Changeset in webkit [295658] by
-
- 2 edits4 adds in trunk
[JSC] Fix iterator_next's tmp liveness and OSR exit recovery
https://bugs.webkit.org/show_bug.cgi?id=241702
Reviewed by Mark Lam.
We fix two issues in iterator_next DFG handling.
- Consider the following case,
function inlinedGetterUsedByIteratorNext()
{
if (flag)
ForceOSRExit() Terminal
...
}
And we hit ForceOSRExit and do OSR exit. We are not reporting tmp (nextResult tmp in this case) as live at
the terminal accidentally. As a result, when OSR exit is performed, it is dead.
But this is still used after "done" lookup is finished since "value" lookup also uses this nextResult. As
a result, we encounter an error since nextResult is not recovered after OSR exit.
In this patch, we report liveness of tmp in flushForTerminalImpl to recover them. Strictly speaking, this
code is slightly too conservative: for example, when OSR exit happens for inlined call of "value" getter, "value"'s
requiring tmp is not necessary since this is the last checkpoint and this llint_slow_path_checkpoint_osr_exit_from_inlined_call
is called after finishing the call => we finished all the things. For now, we align it to the other places since
this is conservatively correct. In a future patch, we can make it more precisely modeled.
- llint_slow_path_checkpoint_osr_exit_from_inlined_call should not use handleIteratorNextCheckpoint
handleIteratorNextCheckpoint is not for inlined call. Inlined call is "OSR exit during the checkpoint's call".
Thus, its checkpoint meaning is different from llint_slow_path_checkpoint_osr_exit: for example, when OSR exit
happens for inlined call of "value" getter, all the operation is already done and only thing we need to do is
storing the result value to the specified VirtualRegister position. On the other hand, in llint_slow_path_checkpoint_osr_exit,
we should perform what we need to do in the last checkpoint sequence.
This patch fixes iterator_next's definition in llint_slow_path_checkpoint_osr_exit_from_inlined_call since it
is the only incorrect case.
- JSTests/stress/osr-exit-iterator-next-get-by-id-value-access.js: Added.
(result.get value):
(result.get done):
(iterator.next):
(object.Symbol.iterator):
(test):
- JSTests/stress/osr-exit-iterator-next-get-by-id-value-exit.js: Added.
(result.get value):
(result.get done):
(iterator.next):
(object.Symbol.iterator):
(test):
- JSTests/stress/osr-exit-iterator-next-get-by-id.js: Added.
(result.get value):
(result.get done):
(iterator.next):
(object.Symbol.iterator):
(test):
- JSTests/stress/osr-exit-iterator-open-get-by-id.js: Added.
(iterator.nextImpl):
(iterator.get next):
(object.Symbol.iterator):
(test):
- Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::flushForTerminalImpl):
- Source/JavaScriptCore/dfg/DFGOSRExitCompilerCommon.cpp:
(JSC::DFG::callerReturnPC):
(JSC::DFG::reifyInlinedCallFrames):
- Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:
(JSC::LLInt::handleIteratorNextCheckpoint):
(JSC::LLInt::llint_slow_path_checkpoint_osr_exit_from_inlined_call):
Canonical link: https://commits.webkit.org/251663@main
- 10:54 PM Changeset in webkit [295657] by
-
- 1 edit in trunk/Source/WebCore/svg/properties/SVGAnimatedProperty.h
SVGAnimatedProperty::isAnimating need not compute number of animators
https://bugs.webkit.org/show_bug.cgi?id=241732
Reviewed by Tim Horton.
We just need to know if there are any.
- Source/WebCore/svg/properties/SVGAnimatedProperty.h:
(WebCore::SVGAnimatedProperty::isAnimating const):
Canonical link: https://commits.webkit.org/251662@main
- 9:26 PM Changeset in webkit [295656] by
-
- 6 edits in trunk/Source
Enhance Options::useOSLog to accept an os log type value.
https://bugs.webkit.org/show_bug.cgi?id=241719
Reviewed by Yusuke Suzuki.
This option only applies to OS(DARWIN).
For example, we can now use any of these:
--useOSLog=default logs to OS_LOG_TYPE_DEFAULT
--useOSLog=info logs to OS_LOG_TYPE_INFO
--useOSLog=debug logs to OS_LOG_TYPE_DEBUG
--useOSLog=error logs to OS_LOG_TYPE_ERROR
--useOSLog=fault. logs to OS_LOG_TYPE_FAULT
We can still use --useOSLog=0 or false (which means do the normal dataLog) and
--useOSLog=1 or true (which means dataLog to OS_LOG_TYPE_ERROR).
Previously, when we specify --useOSLog=1, we will log to OS_LOG_TYPE_INFO. This
has been a source of friction in usage because no one ever remembers that we need
to enable OS_LOG_TYPE_INFO in the log stream to see this logging. Instead,
--useOSLog=1 will now log to OS_LOG_TYPE_ERROR, which ensures that logging will
show up in log stream. This is fine to do because the --useOSLog=1 option
indicates that the client really wants to see the logs. Otherwise, the client
can use one of the other os log types if they want something different.
Secondly, because --useOSLog=1 indicates that the client really wants to see the
logs, logging to OS_LOG_TYPE_ERROR ensures that the logging is flushed to the
file system instead of sitting in a memory buffer, and potentially not showing up
in the log stream.
Also made the following changes:
- Changed Options::dumpAllOptions to use dataLog instead of printing to stderr. This allows its output to be diverted using Options::useOSLog as well.
- Moved the call to WTF::setDataFile from Options::initialize to Options::recomputeDependentOptions. This allows Options::useOSLog to be specified using the jsc shell's --useOSLog argument instead of requiring it to be specified using the JSC_useOSLog env var in order to work.
To enable this, added a useOSLogOptionHasChanged flag that can be set in
the parser of the Options::useOSLog option. This prevents
Options::recomputeDependentOptions from calling initializeDatafileToUseOSLog()
repeatedly every time any option is set.
- Added initializeDatafileToUseOSLog() which now instantiates the appropriate OSLogPrintStream and sets it using WTF::setDataFile.
initializeDatafileToUseOSLog() also asserts that it is called at most once.
- Added an assertion in WTF::setDataFile() to ensure that it is not called more than once.
- #if out the calls to overrideAliasedOptionWithHeuristic() on PLATFORM(COCOA). They are not needed because, on PLATFORM(COCOA), we already iterate through every env var starting with JSC_ and call Options::setOption() on it. Options::setOption() will also handle aliased options.
For reference, this is an example of how we can view the logs using log stream
once --useOSLog=1 is used:
# log stream --predicate 'category == "DataLog"'
- Source/JavaScriptCore/API/glib/JSCOptions.cpp:
- Source/JavaScriptCore/jsc.cpp:
(CommandLine::parseArguments):
- Source/JavaScriptCore/runtime/Options.cpp:
(JSC::parse):
(JSC::asDarwinOSLogType):
(JSC::initializeDatafileToUseOSLog):
(JSC::asString):
(JSC::Options::recomputeDependentOptions):
(JSC::Options::initialize):
(JSC::Options::setOptionWithoutAlias):
(JSC::Options::dumpAllOptions):
(JSC::OptionReader::Option::initValue):
(JSC::OptionReader::Option::dump const):
(JSC::OptionReader::Option::operator== const):
- Source/JavaScriptCore/runtime/Options.h:
- Source/JavaScriptCore/runtime/OptionsList.h:
- Source/WTF/wtf/DataLog.cpp:
(WTF::setDataFile):
Canonical link: https://commits.webkit.org/251661@main
- 8:57 PM Changeset in webkit [295655] by
-
- 1 edit in trunk/Source/WebCore/page/FocusController.cpp
Assertion failed m_page.shouldSuppressScrollbarAnimations() in FocusController::setIsVisibleAndActiveInternal(bool)
https://bugs.webkit.org/show_bug.cgi?id=241609
Reviewed by Simon Fraser.
Revert to original assert after change in https://bugs.webkit.org/show_bug.cgi?id=238497. In the case of a scrollable
area with no scrollbars, m_scrollerImpPair is not nil, but its members _horizontalScrollerImp and _verticalScrollerImp
are nil, so presumably the NSScroller API handles this case correctly.
- Source/WebCore/page/FocusController.cpp:
(WebCore::FocusController::setIsVisibleAndActiveInternal):
Canonical link: https://commits.webkit.org/251660@main
- 8:46 PM Changeset in webkit [295654] by
-
- 1 edit in trunk/Websites/perf.webkit.org/tools/sync-commits.py
sync-commits.py should force reset to FETCH_HEAD instead.
Patch by Zhifei Fang <facetothefate@gmail.com> on 2022-06-17
Reviewed by Jonathan Bedard.
- Websites/perf.webkit.org/tools/sync-commits.py:
(GitRepository._fetch_remote):
Canonical link: https://commits.webkit.org/251659@main
- 5:50 PM Changeset in webkit [295653] by
-
- 1 edit in trunk/Websites/perf.webkit.org/tools/sync-commits.py
[sync-commit.py] Stop syncing SVN revision after a certain revision
Patch by Zhifei Fang <facetothefate@gmail.com> on 2022-06-17
Reviewed by Dewei Zhu.
- Websites/perf.webkit.org/tools/sync-commits.py:
(load_repository):
(GitRepository.init):
(GitRepository.fetch_next_commit):
(GitRepository._svn_revision_from_git_hash):
(GitRepository._git_hash_from_svn_revision_hash_mixed):
(GitRepository._revision_from_tokens):
(GitRepository._git_hash_from_svn_revision): Deleted.
Canonical link: https://commits.webkit.org/251658@main
- 5:15 PM Changeset in webkit [295652] by
-
- 1 edit in trunk/Source/WebCore/platform/audio/DenormalDisabler.h
General Protection Fault in WebKitWebProcess on 32bit CPUs
Patch by Karo <karogyoker2@gmail.com> on 2022-06-17
https://bugs.webkit.org/show_bug.cgi?id=241588
Reviewed by Yusuke Suzuki.
The DAZ flag is used unconditionally and that makes every 32 bit CPUs crash except newer steppings of Pentium 4.
- Source/WebCore/platform/audio/DenormalDisabler.h:
(WebCore::DenormalDisabler::DenormalDisabler):
(WebCore::DenormalDisabler::isDAZSupported):
Canonical link: https://commits.webkit.org/251657@main
- 4:59 PM Changeset in webkit [295651] by
-
- 8 edits in trunk
Web Inspector: Allow forcing pseudo class :target
https://bugs.webkit.org/show_bug.cgi?id=241707
Reviewed by Patrick Angle and Yusuke Suzuki.
Test: inspector/css/forcePseudoState.html
- Source/JavaScriptCore/inspector/protocol/CSS.json:
- Source/WebCore/inspector/agents/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::forcePseudoState):
- Source/WebInspectorUI/UserInterface/Controllers/CSSManager.js:
(WI.CSSManager.displayNameForForceablePseudoClass):
(WI.CSSManager.prototype.canForcePseudoClass):
- Source/WebCore/css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne const):
- Source/WebCore/cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::JSC_DEFINE_JIT_OPERATION):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsTarget):
- Source/WebCore/dom/Document.h:
(WebCore::Document::cssTargetMemoryOffset): Deleted.
Adjust the CSS JIT to also take into account Web Inspector forcibly applying:targetstyles.
- LayoutTests/inspector/css/forcePseudoState.html:
- LayoutTests/inspector/css/forcePseudoState-expected.txt:
Canonical link: https://commits.webkit.org/251656@main
- 4:56 PM Changeset in webkit [295650] by
-
- 1 edit in trunk/Source/WebKit/UIProcess/mac/LegacySessionStateCoding.cpp
pas_panic_on_out_of_memory_error decoding large session state data blobs
https://bugs.webkit.org/show_bug.cgi?id=241486 and <rdar://90025974>
Reviewed by Tim Horton.
- Source/WebKit/UIProcess/mac/LegacySessionStateCoding.cpp:
(WebKit::encodeLegacySessionState): Try malloc, and gracefully handle failure.
This will result in some users losing session state blobs in large single tab use cases,
but is better than crashing the UI process.
Better handling these cases will be subject of followup work.
Canonical link: https://commits.webkit.org/251654@main
- 4:56 PM Changeset in webkit [295649] by
-
- 2 edits2 deletes in trunk
video.currentSrc should not be reset when a new load errors
https://bugs.webkit.org/show_bug.cgi?id=225451
Patch by Youssef Soliman <youssefdevelops@gmail.com> on 2022-06-17
Reviewed by Jer Noble.
- LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-currentSrc-expected.txt:
Covered by existing test which was previously failing.
- Source/WebCore/html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::prepareForLoad):
Media test removed since this condition is already covered by the above WPT test.
- LayoutTests/media/video-currentsrc-cleared.html: Removed.
- LayoutTests/media/video-currentsrc-cleared-expected.txt: Removed.
Canonical link: https://commits.webkit.org/251654@main
- 4:47 PM Changeset in webkit [295648] by
-
- 2 edits in trunk/Source/WebKit
Avoid using hardware JPEG decoding in the WebContent process
https://bugs.webkit.org/show_bug.cgi?id=241560
<rdar://94474188>
Reviewed by Simon Fraser.
This patch switches the file thumbnail logic in WebKit to use PNG, rather than JPEG.
This provides two benefits: (1) it uses a better image format for this use case,
and (2) it avoids attempts by CoreGraphics to perform hardware JPEG decoding in the
WebContent process, which is prohibited by the current sandbox.
- Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.mm:
(-[WKFileUploadPanel _chooseFiles:displayString:iconImage:]): Switch to using UIImagePNGRepresentation.
- Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didChooseFilesForOpenPanelWithDisplayStringAndIcon):
Canonical link: https://commits.webkit.org/251653@main
- 4:18 PM Changeset in webkit [295647] by
-
- 1 edit2 adds in trunk
Cues displayed during end time
https://bugs.webkit.org/show_bug.cgi?id=221854
<rdar://problem/74541188>
Patch by Youssef Soliman <youssefdevelops@gmail.com> on 2022-06-17
Reviewed by Eric Carlson.
Fixed edge case with cue intervals that had end times that coincided
with the current media time in order to follow the spec.
Test: media/track/track-cue-endtime.html
- Source/WebCore/html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::updateActiveTextTrackCues):
- LayoutTests/media/track/track-cue-endtime-expected.txt: Added.
- LayoutTests/media/track/track-cue-endtime.html: Added.
Canonical link: https://commits.webkit.org/251652@main
- 4:09 PM Changeset in webkit [295646] by
-
- 1 edit in trunk/Source/WebCore/Modules/paymentrequest/PaymentRequest.cpp
Add PaymentHandler references when handling updates
https://bugs.webkit.org/show_bug.cgi?id=241726
<rdar://problem/95372332>
Reviewed by Wenson Hsieh.
- Source/WebCore/Modules/paymentrequest/PaymentRequest.cpp:
(WebCore::PaymentRequest::paymentMethodChanged):
(WebCore::PaymentRequest::settleDetailsPromise):
(WebCore::PaymentRequest::complete):
(WebCore::PaymentRequest::retry):
Canonical link: https://commits.webkit.org/251651@main
- 3:18 PM Changeset in webkit [295645] by
-
- 2 edits in trunk
attachment elements with
-webkit-user-drag: none;should not be draggable
https://bugs.webkit.org/show_bug.cgi?id=241720
rdar://95401577
Reviewed by Tim Horton.
The logic to walk up the ancestor chain in search of draggable elements in
draggableElement()
currently ignores-webkit-user-dragforattachmentelements, and instead considers the
attachment draggable as long as it's either the only element in the selection range, or the
selection range does not encompass the hit-tested attachment element.
Fix this by only proceeding with the single-attachment-drag codepath (
DragSourceAction::Attachment)
in the case where the dragged attachment has a-webkit-user-dragvalue that isn't"none".
Test: WKAttachmentTests.UserDragNonePreventsDragOnAttachmentElement
- Source/WebCore/page/DragController.cpp:
(WebCore::DragController::draggableElement const):
- Tools/TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/251650@main
- 2:42 PM Changeset in webkit [295644] by
-
- 1 edit in trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in
Remove some sandbox telemetry
https://bugs.webkit.org/show_bug.cgi?id=241725
Reviewed by Geoffrey Garen.
Remove some sandbox telemetry in the WebContent process on iOS to make room for other telemetry.
- Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
Canonical link: https://commits.webkit.org/251649@main
- 1:33 PM Changeset in webkit [295643] by
-
- 4 edits in trunk
[git-webkit] Add WebKit-security remote
https://bugs.webkit.org/show_bug.cgi?id=241647
<rdar://problem/95235184>
Reviewed by Stephanie Lewis.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py:
(Setup.github): Don't add remote postfix if repo name already has the remote postfix.
- metadata/git_config_extension: Add WebKit-security remote.
Canonical link: https://commits.webkit.org/251648@main
- 12:06 PM Changeset in webkit [295642] by
-
- 1 edit in trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKContentExtensionStore.mm
New test: [macOS/iOS arm64] TestWebKitAPI.WKContentRuleListStoreTest.CrossOriginCookieBlocking is crashing
https://bugs.webkit.org/show_bug.cgi?id=241653
Reviewed by Yusuke Suzuki.
- Tools/TestWebKitAPI/Tests/WebKitCocoa/WKContentExtensionStore.mm:
(TEST_F):
Canonical link: https://commits.webkit.org/251647@main
- 11:57 AM Changeset in webkit [295641] by
-
- 1 edit in trunk/Source/WebKit/UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm
[WebAuthn] Upgrading a legacy platform credential to a passkey does not delete the legacy credential
https://bugs.webkit.org/show_bug.cgi?id=241608
rdar://95059952
Reviewed by Brent Fulgham.
- Source/WebKit/UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
(WebKit::LocalAuthenticator::deleteDuplicateCredential const):
Query credentials by user handle, regardless of sync status to properly remove
legacy credentials.
Canonical link: https://commits.webkit.org/251646@main
- 11:03 AM Changeset in webkit [295640] by
-
- 1 edit in trunk/Source/WebInspectorUI/UserInterface/Base/Main.js
Inspector window goes into an inactive state when extension tab is selected.
https://bugs.webkit.org/show_bug.cgi?id=241652
rdar://91768323
Reviewed by Devin Rousso.
- Source/WebInspectorUI/UserInterface/Base/Main.js:
(WI.contentLoaded): Update event listeners to use a single _updateWindowInactiveState
and listen to visibilitychange.
(WI._updateWindowInactiveState): Combined from WI._windowFocused and WI._windowBlurred.
Use document.hasFocus() to check for an active window, which works for child frames too.
When an iframe is the active element, we will not get any more focus or blur events for
the main window, so use a 250ms timeout to keep checking while the iframe is focused.
Canonical link: https://commits.webkit.org/251645@main
- 10:42 AM Changeset in webkit [295639] by
-
- 2 edits in trunk/Source/WTF
[Cocoa] Rename WebM Experiment to Alternate WebM Player
https://bugs.webkit.org/show_bug.cgi?id=241695
<rdar://problem/95322406>
Patch by Youssef Soliman <youssefdevelops@gmail.com> on 2022-06-17
Reviewed by Eric Carlson.
Renamed the WebM Experiment to a more legible name and fixed flag to
show up in internal debug menu.
- Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml:
- Source/WTF/wtf/PlatformEnableCocoa.h:
Canonical link: https://commits.webkit.org/251644@main
- 10:23 AM Changeset in webkit [295638] by
-
- 9 edits4 adds in trunk/LayoutTests/imported/w3c
Update Intersection Observer WPTs
https://bugs.webkit.org/show_bug.cgi?id=241708
Reviewed by Antoine Quint.
Update Intersection Observer WPTs from 93a98d6ac4785d3c78b57845d91c78e2bf12c6eb
- LayoutTests/imported/w3c/resources/import-expectations.json:
- LayoutTests/imported/w3c/resources/resource-files.json:
- LayoutTests/imported/w3c/web-platform-tests/intersection-observer/display-none-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/intersection-observer/display-none.html:
- LayoutTests/imported/w3c/web-platform-tests/intersection-observer/intersection-ratio-ib-split.html:
- LayoutTests/imported/w3c/web-platform-tests/intersection-observer/intersection-ratio-with-fractional-bounds-2-expected.txt: Added.
- LayoutTests/imported/w3c/web-platform-tests/intersection-observer/intersection-ratio-with-fractional-bounds-2.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/intersection-observer/intersection-ratio-with-fractional-bounds-expected.txt: Added.
- LayoutTests/imported/w3c/web-platform-tests/intersection-observer/intersection-ratio-with-fractional-bounds.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/intersection-observer/resources/intersection-observer-test-utils.js:
(return.new.Promise.):
(return.new.Promise):
(waitForNotification):
(waitForFrame): Deleted.
(runTestCycle): Deleted.
- LayoutTests/imported/w3c/web-platform-tests/intersection-observer/v2/simple-occlusion-svg-foreign-object.html:
- LayoutTests/imported/w3c/web-platform-tests/intersection-observer/w3c-import.log:
- LayoutTests/imported/w3c/web-platform-tests/intersection-observer/zero-area-element-visible.html:
Canonical link: https://commits.webkit.org/251643@main
- 9:23 AM Changeset in webkit [295637] by
-
- 3 edits in trunk/Tools/CISupport/ews-build
[ews-build.webkit.org] Seperate authentication for EWS and Merge-Queue
https://bugs.webkit.org/show_bug.cgi?id=241698
<rdar://problem/95328651>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/events.py:
(Events.sendDataToGitHub): Allow caller to pick a different set of GitHub credentials.
(Events.buildFinishedGitHub): Pick GitHub credentials specific to builder.
(Events.stepStartedGitHub): Ditto.
- Tools/CISupport/ews-build/steps.py:
(GitHub):
(GitHub.user_for_queue): Map buildername to GitHub user.
(GitHub.credentials): Allow caller to pick a different set of GitHub credentials.
(GitHubMixin.fetch_data_from_url_with_authentication_github): Pick GitHub credentials
specific to builder.
(GitHubMixin.add_label): Ditto.
(GitHubMixin.remove_labels): Ditto.
(GitHubMixin.comment_on_pr): Ditto.
(GitHubMixin.update_pr): Ditto.
(GitHubMixin.close_pr): Ditto.
(CheckOutPullRequest.run): Ditto.
(PushPullRequestBranch.start): Ditto.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/251642@main
- 8:45 AM Changeset in webkit [295636] by
-
- 4 edits3 adds in trunk
AX ITM: Crash in com.apple.WebKit.WebContent at Recursion :: com.apple.WebCore: WebCore::AXIsolatedTree::collectNodeChangesForSubtree.
https://bugs.webkit.org/show_bug.cgi?id=241571
Test: accessibility/deep-tree.html
Reviewed by Chris Fleizach.
Added a limit for recursive calls to AXIsolatedTree::collectNodeChangesForSubtree. The limit is obtained from the DOM maximum tree depth.
In addition, added a sanity check during parent-child traversal, that none of the children can be equal to the parent. This will not cover all possible circular relations that can cause an infinite recursion, but may catch some pathological cases.
- Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::create):
(WebCore::AXIsolatedTree::collectNodeChangesForSubtree):
(WebCore::AXIsolatedTree::updateNode):
- Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h:
- LayoutTests/accessibility/deep-tree-expected.txt: Added.
- LayoutTests/accessibility/deep-tree.html: Added.
- LayoutTests/platform/glib/accessibility/deep-tree-expected.txt: Added.
Canonical link: https://commits.webkit.org/251641@main
- 8:43 AM Changeset in webkit [295635] by
-
- 1 edit in trunk/Source/JavaScriptCore/runtime/JSONObject.cpp
Speed up JSON.stringify by cutting down on reference count churn, etc.
https://bugs.webkit.org/show_bug.cgi?id=241533
Reviewed by Ross Kirsling and Yusuke Suzuki.
- Source/JavaScriptCore/runtime/JSONObject.cpp:
(JSC::unwrapBoxedPrimitive): Break out object check so we can host it
into the caller in some cases.
(JSC::PropertyNameForFunctionCall::PropertyNameForFunctionCall): Use
PropertyName instead of Identifier to avoid reference count churn.
(JSC::PropertyNameForFunctionCall::value const): Ditto.
(JSC::Stringifier::stringify): Update to use PropertyName.
(JSC::Stringifier::appendStringifiedValue): Use ASCIILiteral when
appending literals to StringBuilder, for possible future optimization,
no benefit for now. Move exception check inside isObject clause so we
don't do it for non-object values like strings.
(JSC::Stringifier::indent): Use StringView instead of String for
m_indent to avoid reference count churn.
(JSC::Stringifier::unindent): Ditto.
(JSC::Stringifier::startNewLine const): Use a single call to append
instead of two separate ones. Also twweak coding style.
(JSC::Stringifier::Holder::appendNextProperty): Use PropertyName
instead of Identifier.
Canonical link: https://commits.webkit.org/251640@main
- 8:22 AM Changeset in webkit [295634] by
-
- 2 edits in trunk/Tools/CISupport/ews-build
[ews-build.webkit.org] Support periods in reviewer name
https://bugs.webkit.org/show_bug.cgi?id=241706
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(ValidateCommitMessage):
(ValidateCommitMessage.extract_reviewers): Support reviewers with periods in their name.
- Tools/CISupport/ews-build/steps_unittest.py:
(mock_load_contributors):
Canonical link: https://commits.webkit.org/251639@main
- 6:35 AM Changeset in webkit [295633] by
-
- 5 edits2 adds in trunk
Remove redundant logical right computation for grid items in RenderBlock::computeOverflow
https://bugs.webkit.org/show_bug.cgi?id=241689
Reviewed by Simon Fraser.
If the grid content produces layout overflow, we should not need to re-compute it again by looping through the grid items.
- Decouple "include padding end" and "include child's margin end" logic
- Decouple "include padding after" and "include padding end" logic.
- Restore RenderFlexibleBox and RenderGrid computeOverflow calls to pre-r282463 (when clientLogicalRightAndBottomAfterRepositioning was introduced)
- LayoutTests/fast/overflow/grid-horizontal-overflow-with-padding-end-expected.html: Added.
- LayoutTests/fast/overflow/grid-horizontal-overflow-with-padding-end.html: Added.
- Source/WebCore/rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeOverflow):
(WebCore::RenderBlock::layoutOverflowLogicalBottom):
(WebCore::RenderBlock::clientLogicalRightAndBottomAfterRepositioning const): Deleted.
- Source/WebCore/rendering/RenderBlock.h:
- Source/WebCore/rendering/RenderBox.cpp:
(WebCore::RenderBox::layoutOverflowRectForPropagation const):
- Source/WebCore/rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
- Source/WebCore/rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutBlock):
Canonical link: https://commits.webkit.org/251638@main
- 4:57 AM Changeset in webkit [295632] by
-
- 2 edits2 adds in trunk/LayoutTests/imported/w3c/web-platform-tests
css/css-transitions/before-load-001.html is a unique failure
https://bugs.webkit.org/show_bug.cgi?id=235131
<rdar://87785218>
Patch by Antoine Quint <Antoine Quint> on 2022-06-17
Unreviewed WPT import (https://github.com/web-platform-tests/wpt/pull/34463) and rebaseline.
- LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/before-load-001-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/before-load-001.html:
- LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/delay-load-event-until-move-to-empty-source-expected.txt: Added.
- LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/delay-load-event-until-move-to-empty-source.html: Added.
Canonical link: https://commits.webkit.org/251637@main
- 12:23 AM Changeset in webkit [295631] by
-
- 1 edit in trunk/metadata/contributors.json
Change contributor status of Jean-Yves Avenard from committer to reviewer
Unreviewed change.
- metadata/contributors.json:
Canonical link: https://commits.webkit.org/251636@main
Jun 16, 2022:
- 11:58 PM Changeset in webkit [295630] by
-
- 10 edits8 adds in trunk
Record InteractionRegions per RenderLayer, instead of all on the root
https://bugs.webkit.org/show_bug.cgi?id=241503
<rdar://problem/93855866>
Reviewed by Simon Fraser.
- Source/WebCore/page/DebugPageOverlays.cpp:
(WebCore::pathsForRegion):
(WebCore::InteractionRegionOverlay::activeLayer const):
(WebCore::InteractionRegionOverlay::activeRegion const):
(WebCore::InteractionRegionOverlay::drawRect):
Hit test to the correct layer and retrieve regions from that layer for the debug overlay.
Also, fix some coordinate conversion now that we actually see non-root layers.
- Source/WebCore/page/InteractionRegion.cpp:
(WebCore::cursorTypeForElement):
(WebCore::interactionRegionForRenderedRegion):
(WebCore::absoluteBoundingRectForRange): Deleted.
(WebCore::regionForElement): Deleted.
(WebCore::interactionRegions): Deleted.
- Source/WebCore/page/InteractionRegion.h:
Refactor InteractionRegion to take the same arguments as EventRegion::unite(),
so we can call it from there. Use the painting-originated rects in the Region,
instead of computing them ourselves.
- Source/WebCore/rendering/EventRegion.cpp:
(WebCore::EventRegionContext::unite):
(WebCore::EventRegionContext::uniteInteractionRegions):
(WebCore::EventRegionContext::copyInteractionRegionsToEventRegion):
(WebCore::EventRegion::computeInteractionRegions): Deleted.
- Source/WebCore/rendering/EventRegion.h:
Collect InteractionRegions in a HashMap by element identifier, in order to
unite the rects for a given element -- but not *across* elements, like other EventRegions.
We need to keep them separate so that we can add an indicator for the united region.
Also, unusually, we maintain this map on the EventRegionContext as we paint, and copy them
to the serialized type at the end, to avoid having two different members on
EventRegion that are only valid on opposite sides of the process boundary.
- Source/WebCore/rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateEventRegion):
Stop computing interaction regions for the root layer.
- Source/WebCore/rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintObject):
- Source/WebCore/rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateScrollLayerClipping):
- Source/WebCore/rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::paint):
- Source/WebCore/rendering/TextBoxPainter.cpp:
(WebCore::TextBoxPainter<TextBoxPath>::paint):
Plumb the renderer through to EventRegionContext so that we can use it in
InteractionRegion::interactionRegionForRenderedRegion.
- LayoutTests/interaction-region/click-handler-in-shadowed-layer-expected.txt: Added.
- LayoutTests/interaction-region/click-handler-in-shadowed-layer.html: Added.
- LayoutTests/interaction-region/inline-link-in-layer-expected.txt: Added.
- LayoutTests/interaction-region/inline-link-in-layer.html: Added.
- LayoutTests/interaction-region/inline-link-in-composited-iframe-expected.txt: Added.
- LayoutTests/interaction-region/inline-link-in-composited-iframe.html: Added.
- LayoutTests/interaction-region/inline-link-in-non-composited-iframe-expected.txt: Added.
- LayoutTests/interaction-region/inline-link-in-non-composited-iframe.html: Added.
Add some tests.
Canonical link: https://commits.webkit.org/251635@main
- 11:23 PM Changeset in webkit [295629] by
-
- 2 edits in trunk/Source/WebCore/html/canvas
Fix InspectorScopedShaderProgramHighlight for indexed blend state
https://bugs.webkit.org/show_bug.cgi?id=241463
Patch by Alexey Knyazev <3479527+lexaknyazev@users.noreply.github.com> on 2022-06-16
Reviewed by Kimmo Kinnunen.
- The program highlight helper now correctly restores
indexed blend state when OES_draw_buffers_indexed is enabled.
- The program highlight helper now skips non-default FBOs.
- Optimized execution to directly call into GL context
avoiding extra validation and value unboxing.
- Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::InspectorScopedShaderProgramHighlight::showHighlight):
(WebCore::InspectorScopedShaderProgramHighlight::hideHighlight):
(WebCore::InspectorScopedShaderProgramHighlight::saveBlendValue): Deleted.
(WebCore::InspectorScopedShaderProgramHighlight::hasBufferBinding): Deleted.
(WebCore::InspectorScopedShaderProgramHighlight::hasFramebufferParameterAttachment): Deleted.
- Source/WebCore/html/canvas/WebGLRenderingContextBase.h:
Canonical link: https://commits.webkit.org/251634@main
- 11:05 PM Changeset in webkit [295628] by
-
- 4 edits in trunk/Source/WebCore
[iOS] Callout bar is sometimes obscured when selecting Live Text in a fullscreen video in AVPlayerViewController
https://bugs.webkit.org/show_bug.cgi?id=241700
rdar://95310525
Reviewed by Tim Horton.
Even after the changes in r295052,
UITextEffectsWindow-hosted text selection views (e.g. grabber
dots and callout bar) are still _sometimes_ obscured behind the fullscreen player view controller
window. This happens because UIKit may actually maintain multipleUITextEffectsWindows at
different window levels (only one of which is used to host text selection UI for Live Text in
fullscreen videos). For instance, if the user focuses the unified field in Safari and selects or
edits text in the unified field, aUITextEffectsWindowwith a window level of 1.0 will be
instantiated; if this happens prior to triggering Live Text for a fullscreen video, this text
effects window may be reused for Live Text.
In cases where this
.windowLevel = 1.0text effects window is used, the window used for the player
view controller (which currently has a level ofUITextEffectsBeneathStatusBarWindowLevel - 1) will
be above the rest of the Live Text selection UI, which causes this bug to occur.
Mitigate this by explicitly grabbing the
UITextEffectsWindowthat corresponds to the player view's
window using+sharedTextEffectsWindowForWindowScene:, and setting the player view window's level
to a value that's right below this text effects window.
- Source/WebCore/PAL/pal/ios/UIKitSoftLink.h:
- Source/WebCore/PAL/pal/ios/UIKitSoftLink.mm:
- Source/WebCore/PAL/pal/spi/ios/UIKitSPI.h:
- Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm:
(VideoFullscreenInterfaceAVKit::doSetup):
Canonical link: https://commits.webkit.org/251633@main
- 10:26 PM Changeset in webkit [295627] by
-
- 4 edits in trunk/Source
Assorted build-time warnings fixes
https://bugs.webkit.org/show_bug.cgi?id=241681
Reviewed by Mark Lam.
- Source/JavaScriptCore/bytecode/Repatch.cpp:
(JSC::linkPolymorphicCall): Use declared codeBlock variable.
- Source/JavaScriptCore/runtime/TemporalPlainTime.cpp:
(JSC::roundTime): Fix function reaching end without return
value.
- Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::computeMinimumValue): Ditto.
- Source/WebCore/layout/formattingContexts/flex/FlexLayout.cpp:
(WebCore::Layout::FlexLayout::computeLogicalHeightForFlexItems):
Remove leftover variable.
Canonical link: https://commits.webkit.org/251632@main
- 9:53 PM Changeset in webkit [295626] by
-
- 12 edits in trunk
[Trackpad with iPad] Right-clicking on text sometimes doesn't show the correct list of actions
https://bugs.webkit.org/show_bug.cgi?id=241645
rdar://91792562
Reviewed by Devin Rousso.
This patch fixes a race condition in Reveal code where we may not have updated
the selection in UITextInteractionAssistant before calling the
completion handler for the Reveal menu. This results in an empty menu
appearing often during a right-click.
To fix this, this patch converts sendEditorStateUpdate to an async call and
makes sure that call has completed before returning the context menu.
Since this is a race condition, it was a bit tricky to test. This patch
adds a function _simulateSelectionStart which sets up the WKContentView
as if a selection has begun, but it doesn't actually contact the
UITextInteractionAssistant (to avoid flaky false positives). Then the test calls
the context menu code and makes sure that the UITextInteractionAssistant has
been contacted by the time it completes.
- Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
- Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm:
(-[WKWebView _simulateSelectionStart]):
- Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::editorStateChanged):
- Source/WebKit/UIProcess/WebPageProxy.h:
- Source/WebKit/UIProcess/WebPageProxy.messages.in:
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.h:
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _simulateSelectionStart]):
- Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::deleteSurrounding):
(WebKit::WebPage::didApplyStyle):
(WebKit::WebPage::didChangeContents):
(WebKit::WebPage::didUpdateComposition):
(WebKit::WebPage::didEndUserTriggeredSelectionChanges):
(WebKit::WebPage::discardedComposition):
(WebKit::WebPage::canceledComposition):
(WebKit::WebPage::sendEditorStateUpdate):
(WebKit::WebPage::flushPendingEditorStateUpdate):
- Source/WebKit/WebProcess/WebPage/WebPage.h:
- Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::prepareSelectionForContextMenuWithLocationInView):
(WebKit::WebPage::requestPositionInformation):
- Tools/TestWebKitAPI/Tests/WebKitCocoa/iOSMouseSupport.mm:
(handleUpdatedSelection):
(TEST):
- Tools/TestWebKitAPI/ios/UIKitSPI.h:
Canonical link: https://commits.webkit.org/251631@main
- 7:47 PM Changeset in webkit [295625] by
-
- 12 edits2 adds in trunk
Fix styling of th elements when explicitly specifiying text-align:inherit
https://bugs.webkit.org/show_bug.cgi?id=138577
Patch by Ryan Reno <rreno@apple.com> on 2022-06-16
Reviewed by Tim Nguyen.
<th> elements were being incorrectly centered when specifying
text-align: inherit. This fixes that bug by adding a new internal CSS
value for use in the UA stylesheet. This also removes a non-inherited
flag that was meant to be used for detecting this special case but ultimately didn't
work due to conflicts with theallproperty.
- Source/WebCore/css/CSSValueKeywords.in:
- Source/WebCore/css/html.css:
(th):
- Source/WebCore/css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
- Source/WebCore/css/parser/CSSParserIdioms.cpp:
(WebCore::isValueAllowedInMode):
- Source/WebCore/rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::RenderStyle):
- Source/WebCore/rendering/style/RenderStyle.h:
(WebCore::RenderStyle::NonInheritedFlags::operator== const):
(WebCore::RenderStyle::hasExplicitlySetTextAlign const): Deleted.
(WebCore::RenderStyle::setHasExplicitlySetTextAlign): Deleted.
- Source/WebCore/style/StyleAdjuster.cpp:
(WebCore::Style::Adjuster::adjust const):
- Source/WebCore/style/StyleBuilderConverter.h:
(WebCore::Style::BuilderConverter::convertTextAlign):
- Source/WebCore/css/CSSProperties.json:
- Source/WebCore/style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyInitialTextAlign): Deleted.
(WebCore::Style::BuilderCustom::applyValueTextAlign): Deleted.
- LayoutTests/fast/css/internal-th-center-ua-only-expected.txt: Added.
- LayoutTests/fast/css/internal-th-center-ua-only.html: Added.
- LayoutTests/fast/table/center-th-when-parent-has-initial-text-align-expected.html:
- LayoutTests/fast/table/center-th-when-parent-has-initial-text-align.html:
Canonical link: https://commits.webkit.org/251630@main
- 7:20 PM Changeset in webkit [295624] by
-
- 5 edits in trunk/Source/JavaScriptCore
The extraMemorySize() get wrong when transferring ArrayBuffer from Worker VM
https://bugs.webkit.org/show_bug.cgi?id=241559
Reviewed by Yusuke Suzuki.
When ArrayBuffer is passed in the transfer option of postMessage(), the size cached in
heap.m_arrayBuffers get incorrect and that makes extraMemorySize() bigger than actual
managed size.
This patch added the code to reduce size from GCIncomingRefCountedSet.m_bytes when
ArrayBuffer is actually transferring from VM.
Also for verification, added a simple check code in GCIncomingRefCountedSet.addReference
with constexpr flag.
- Source/JavaScriptCore/heap/GCIncomingRefCountedSet.h:
- Source/JavaScriptCore/heap/GCIncomingRefCountedSetInlines.h:
(JSC::GCIncomingRefCountedSet<T>::sweep):
(JSC::GCIncomingRefCountedSet<T>::reduceSize):
- Source/JavaScriptCore/heap/Heap.cpp:
(JSC::Heap::reduceArrayBufferSize):
- Source/JavaScriptCore/heap/Heap.h:
- Source/JavaScriptCore/runtime/ArrayBuffer.cpp:
(JSC::ArrayBuffer::transferTo):
Canonical link: https://commits.webkit.org/251629@main
- 7:17 PM Changeset in webkit [295623] by
-
- 13 edits2 adds in trunk
Web Inspector: Elements: rework CSS pseudo class toggles
https://bugs.webkit.org/show_bug.cgi?id=241655
Reviewed by Patrick Angle.
Move the forced pseudo class checkboxes to the bottom of the sidebar next to the class list
checkboxes (though only one of them can be enabled at a time) since more space is needed to support
new (and future) pseudo classes and using space at the bottom of the sidebar is better than at the
top (since there's already precedent with the class list checkboxes).
Test: inspector/css/forcePseudoState.html
- Source/WebInspectorUI/UserInterface/Views/GeneralStyleDetailsSidebarPanel.js:
(WI.GeneralStyleDetailsSidebarPanel):
(WI.GeneralStyleDetailsSidebarPanel.prototype.get minimumWidth):
(WI.GeneralStyleDetailsSidebarPanel.prototype.attached):
(WI.GeneralStyleDetailsSidebarPanel.prototype.layout):
(WI.GeneralStyleDetailsSidebarPanel.prototype.addEventListeners):
(WI.GeneralStyleDetailsSidebarPanel.prototype.removeEventListeners):
(WI.GeneralStyleDetailsSidebarPanel.prototype.initialLayout):
(WI.GeneralStyleDetailsSidebarPanel.prototype.sizeDidChange):
(WI.GeneralStyleDetailsSidebarPanel.prototype._updateClassListContainer): Added.
(WI.GeneralStyleDetailsSidebarPanel.prototype._updateForcedPseudoClassContainer): Added.
(WI.GeneralStyleDetailsSidebarPanel.prototype._handleNodeChanged):
(WI.GeneralStyleDetailsSidebarPanel.prototype._forcedPseudoClassCheckboxChanged): Added.
(WI.GeneralStyleDetailsSidebarPanel.prototype._updatePseudoClasasCheckboxes): Added.
(WI.GeneralStyleDetailsSidebarPanel.prototype._classListToggleButtonClicked): Renamed from_classToggleButtonClicked.
(WI.GeneralStyleDetailsSidebarPanel.prototype._forcedPseudoClassToggleButtonClicked): Added.
(WI.GeneralStyleDetailsSidebarPanel.prototype.styleDetailsPanelFocusLastPseudoClassCheckbox): Deleted.
(WI.GeneralStyleDetailsSidebarPanel.prototype.get _initialScrollOffset): Deleted.
(WI.GeneralStyleDetailsSidebarPanel.prototype._updateNoForcedPseudoClassesScrollOffset): Deleted.
(WI.GeneralStyleDetailsSidebarPanel.prototype._handleForcedPseudoClassCheckboxKeydown): Deleted.
- Source/WebInspectorUI/UserInterface/Views/GeneralStyleDetailsSidebarPanel.css:
(.sidebar > .panel.details.css-style > .content ~ :is(.options-container, .class-list-container, .forced-pseudo-class-container)): ADded.
(.sidebar > .panel.details.css-style > .content ~ :is(.options-container, .class-list-container)):
(.sidebar > .panel.details.css-style > .content:not(.supports-new-rule, .has-filter-bar) ~ :is(.options-container, .class-list-container, .forced-pseudo-class-container)): Renamed from.sidebar > .panel.details.css-style > .content:not(.supports-new-rule, .has-filter-bar) ~ :is(.options-container, .class-list-container).
(.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle): Renamed from.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle.
(.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle:focus): Renamed from.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle:focus.
(.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle::before): Renamed from.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle::before.
(.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle:is(.selected, :hover)): Renamed from.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle:is(.selected, :hover).
(.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle:is(.selected, :hover)::before): Renamed from.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle:is(.selected, :hover)::before.
(.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle:not(.selected):hover::before): Renamed from.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle:not(.selected):hover::before.
(.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle.selected:active::before): Renamed from.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle.selected:active::before.
(.sidebar > .panel.details.css-style > .content:not(.supports-new-rule) ~ .options-container > .new-rule, .sidebar > .panel.details.css-style > .content:not(.supports-toggle-class-list) ~ .options-container > .toggle.class-list, .sidebar > .panel.details.css-style > .content:not(.supports-toggle-forced-pseudo-class) ~ .options-container > .toggle.forced-pseudo-class, .sidebar > .panel.details.css-style > .content:not(.has-filter-bar) ~ .options-container > .filter-bar, .sidebar > .panel.details.css-style > .content:not(.supports-new-rule):not(.supports-toggle-class-list):not(.supports-toggle-forced-pseudo-class):not(.has-filter-bar) ~ .options-container): Renamed from.sidebar > .panel.details.css-style > .content:not(.supports-new-rule) ~ .options-container > .new-rule, .sidebar > .panel.details.css-style > .content:not(.supports-toggle-css-class) ~ .options-container > .toggle-class-toggle, .sidebar > .panel.details.css-style > .content:not(.has-filter-bar) ~ .options-container > .filter-bar, .sidebar > .panel.details.css-style > .content:not(.supports-new-rule):not(.supports-toggle-class):not(.has-filter-bar) ~ .options-container.
(.sidebar > .panel.details.css-style > .content ~ :is(.class-list-container, .forced-pseudo-class-container)): Added.
(.sidebar > .panel.details.css-style > .content ~ :is(.class-list-container, .forced-pseudo-class-container)[hidden]): Added.
(.sidebar > .panel.details.css-style > .content ~ .class-list-container):
(.sidebar > .panel.details.css-style > .content ~ .forced-pseudo-class-container): Added.
(.sidebar > .panel.details.css-style > .content ~ .forced-pseudo-class-container > label): Added.
- Source/WebInspectorUI/UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
(WI.SpreadsheetRulesStyleDetailsPanel.prototype.get supportsToggleCSSClassList): Added.
(WI.SpreadsheetRulesStyleDetailsPanel.prototype.get supportsToggleCSSForcedPseudoClass): Added.
(WI.SpreadsheetRulesStyleDetailsPanel.prototype.get initialToggleCSSForcedPseudoClassState): Added.
(WI.SpreadsheetRulesStyleDetailsPanel.prototype.spreadsheetCSSStyleDeclarationSectionStartEditingAdjacentRule):
RemovestyleDetailsPanelFocusLastPseudoClassCheckboxas the forced pseudo class checkboxes are no
longer at the top, and therefore should not be focused when shift-tabbing from the first property.
- Source/WebInspectorUI/UserInterface/Views/StyleDetailsPanel.js:
(WI.StyleDetailsPanel.prototype.get supportsToggleCSSClassList): Renamed from
get supportsToggleCSSClass.
(WI.StyleDetailsPanel.prototype.get supportsToggleCSSForcedPseudoClass):
(WI.StyleDetailsPanel.prototype.get _initialScrollOffset): Deleted.
No need to adjust the initialscrollTopfor the forced pseudo class checkboxes since they are no
longer at the top.
- Source/WebInspectorUI/UserInterface/Views/ComputedStyleDetailsPanel.js:
(WI.ComputedStyleDetailsPanel.prototype.get supportsToggleCSSClassList): Added.
(WI.ComputedStyleDetailsPanel.prototype.get supportsToggleCSSForcedPseudoClass): Added.
(WI.ComputedStyleDetailsPanel.prototype.get initialToggleCSSForcedPseudoClassState): Added.
- Source/WebInspectorUI/UserInterface/Views/FontDetailsPanel.js:
(WI.FontDetailsPanel.prototype.get supportsToggleCSSClass): Deleted.
AllowWI.StyleDetailsPanelsubclasses to control whether they support forcing pseudo classes (and
if so whether the container should initially be shown).
- Source/JavaScriptCore/inspector/protocol/CSS.json:
- Source/WebCore/inspector/agents/InspectorCSSAgent.h:
- Source/WebCore/inspector/agents/InspectorCSSAgent.cpp:
(WebCore::computePseudoClassMask): Deleted.
(WebCore::InspectorCSSAgent::forcePseudoState):
- Source/WebInspectorUI/UserInterface/Controllers/CSSManager.js:
(WI.CSSManager.displayNameForForceablePseudoClass): Added.
(WI.CSSManager.prototype.canForcePseudoClass): Renamed fromcanForcePseudoClasses.
Add enum values for:focus-visibleand:focus-within.
Drive-by: MakeCSS.ForceablePseudoClassenum instead of having it be an inline/anonymous enum for
only
CSS.forcePseudoState.
- Source/WebInspectorUI/UserInterface/Views/ContextMenuUtilities.js:
(WI.appendContextMenuItemsForDOMNode):
- Source/WebInspectorUI/UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
(WI.SpreadsheetCSSStyleDeclarationSection.prototype._populateIconElementContextMenu):
HandleWI.CSSManager.ForceablePseudoClassnow being an object instead of an array.
- Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js:
- LayoutTests/inspector/css/forcePseudoState.html: Added.
- LayoutTests/inspector/css/forcePseudoState-expected.txt: Added.
Canonical link: https://commits.webkit.org/251628@main
- 6:43 PM Changeset in webkit [295622] by
-
- 1 edit in trunk/.github/CODEOWNERS
Unreviewed, add bmalloc related information to .github/CODEOWNERS
- .github/CODEOWNERS:
Canonical link: https://commits.webkit.org/251627@main
- 6:38 PM Changeset in webkit [295621] by
-
- 64 edits1 copy15 adds in trunk
Add a new DrawDecomposedGlyphs display list item to avoid repeatedly sending glyphs when using the GlyphDisplayListCache
https://bugs.webkit.org/show_bug.cgi?id=240497
<rdar://93387615>
Reviewed by Simon Fraser.
The GlyphDisplayListCache is used to record a display list for
frequently painting text content. With GPU Process DOM rendering, there
is significant overhead in sending the contents of these display lists
over IPC. The contents of these display lists don't change if the text
content in the document doesn't change, so we could greatly reduce the
overhead by treating the data inside a display list item for glyph
drawing as a remote resource.
This commit adds:
- a new display list item, DrawDecomposedGlyphs, to represent drawing a glyph list resource
- a new class, DecomposedGlyphs, which is the resource type
- a new struct, PositionedGlyphs, to provide a common place for the glyph drawing fields (the vector of glyph IDs, the anchor position, etc.) to live, so that we don't have duplication between DisplayList::DrawGlyphs and DecomposedGlyphs
So that a DrawDecomposedGlyphs command can be replayed from a
GlyphDisplayListCache's in-memory display list and recorded to a
RemoteDisplayListRecorder, the GraphicsContext API gains a new
drawDecomposedGlyphs function.
A new argument to the DisplayList::RecordImpl constructor (and the
DrawGlyphsRecorder) is added to represent how to record drawText
commands:
- DrawGlyphsMode::Normal, which records each GraphicsContext::drawText call with a single DrawText command
- DrawGlyphsMode::DeconstructToDrawGlyphsCommands, which ensures different text layers get deconstructed into separate DrawText commands
- DrawGlyphsMode::DeconstructToDrawDecomposedGlyphsCommands, which ensures different text layers get desconstructed into separate DrawDecomposedGlyphs commands
FontCascade::displayListForTextRun is updated to use that last value.
Additionally, GlyphDisplayListCache is extended to cache display lists
keyed off TextRun/FontCascade/etc. values. This allows sharing of the same
cached display list between different elements on the page that have the same
text content.
This sharing would not be valid if the two elements have different
values for the color property, and the text contains COLRv0 glyphs that
alternate painting of specific colors and the color fill color, since
the recording would incorrectly record a setFillBrush command
corresponding to the first element's fill color. Rather than extend the
glyph recorder to parameterize the current fill (and stroke) colors, we
detect when outlines are drawn with colors other than the context's
initial colors, and prevent sharing. This is done by checking whether
the recorded display list contains items that aren't known to be safe
for sharing.
Similarly, if the sharing would not be valid if the contains bitmap
images (like those from emoji fonts) or SVG glyphs, both of which are
captured as DrawNativeImage commands, if the text is drawn at different
scales. This is because the size of the images is dependent on the
scale. We detect and prevent reuse across different text runs if the
scale is different, by checking the recorded display list for
DrawNativeImage commands and by storing the context scale on the
GlyphDisplayListCache::Entry.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-color-expected.txt:
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-colr-unshared-expected.txt: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-colr-unshared.html: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-scaled-unshared-expected.txt: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-scaled-unshared.html: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-shadow-unshared-expected.txt: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-shadow-unshared.html: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-shared-expected.txt: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-shared.html: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-svg-unshared-expected.txt: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-svg-unshared.html: Added.
- Source/WTF/wtf/PlatformHave.h:
- Source/WebCore/Headers.cmake:
- Source/WebCore/Sources.txt:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebCore/page/MemoryRelease.cpp:
(WebCore::releaseNoncriticalMemory):
- Source/WebCore/platform/graphics/BifurcatedGraphicsContext.cpp:
(WebCore::BifurcatedGraphicsContext::drawDecomposedGlyphs):
- Source/WebCore/platform/graphics/BifurcatedGraphicsContext.h:
- Source/WebCore/platform/graphics/DecomposedGlyphs.cpp: Added.
(WebCore::DecomposedGlyphs::create):
(WebCore::DecomposedGlyphs::DecomposedGlyphs):
(WebCore::m_renderingResourceIdentifier):
- Source/WebCore/platform/graphics/DecomposedGlyphs.h: Added.
(WebCore::DecomposedGlyphs::positionedGlyphs const):
(WebCore::DecomposedGlyphs::bounds const):
(WebCore::DecomposedGlyphs::addObserver):
(WebCore::DecomposedGlyphs::removeObserver):
(WebCore::DecomposedGlyphs::renderingResourceIdentifier const):
- Source/WebCore/platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::displayListForTextRun const):
- Source/WebCore/platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawDecomposedGlyphs):
- Source/WebCore/platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContext::drawGlyphsAndCacheResources):
(WebCore::GraphicsContext::drawGlyphsAndCacheFont): Deleted.
- Source/WebCore/platform/graphics/NullGraphicsContext.h:
- Source/WebCore/platform/graphics/PositionedGlyphs.cpp: Copied from Source/WebCore/platform/graphics/win/DrawGlyphsRecorderWin.cpp.
(WebCore::PositionedGlyphs::computeBounds const):
- Source/WebCore/platform/graphics/PositionedGlyphs.h: Added.
(WebCore::PositionedGlyphs::PositionedGlyphs):
(WebCore::PositionedGlyphs::encode const):
(WebCore::PositionedGlyphs::decode):
- Source/WebCore/platform/graphics/TextRun.cpp:
(WebCore::operator<<):
- Source/WebCore/platform/graphics/TextRun.h:
(WebCore::TextRun::TextRun):
(WebCore::TextRun::isHashTableEmptyValue const):
(WebCore::TextRun::isHashTableDeletedValue const):
(WebCore::TextRun::isolatedCopy const):
- Source/WebCore/platform/graphics/TextRunHash.h: Added.
(WebCore::add):
(WebCore::TextRun::operator== const):
(WebCore::TextRunHash::hash):
(WebCore::TextRunHash::equal):
(WTF::HashTraits<WebCore::TextRun>::isDeletedValue):
(WTF::HashTraits<WebCore::TextRun>::isEmptyValue):
(WTF::HashTraits<WebCore::TextRun>::constructDeletedValue):
(WTF::HashTraits<WebCore::TextRun>::emptyValue):
- Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContextCairo::drawDecomposedGlyphs):
- Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.h:
- Source/WebCore/platform/graphics/coretext/DrawGlyphsRecorderCoreText.cpp:
(WebCore::DrawGlyphsRecorder::createInternalContext):
(WebCore::DrawGlyphsRecorder::updateCTM):
(WebCore::DrawGlyphsRecorder::recordDrawGlyphs):
- Source/WebCore/platform/graphics/displaylists/DisplayList.cpp:
(WebCore::DisplayList::DisplayList::description const):
(WebCore::DisplayList::DisplayList::append):
- Source/WebCore/platform/graphics/displaylists/DisplayList.h:
(WebCore::DisplayList::DisplayList::cacheDecomposedGlyphs):
- Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.cpp:
(WebCore::DisplayList::ItemHandle::apply):
(WebCore::DisplayList::ItemHandle::destroy):
(WebCore::DisplayList::ItemHandle::safeCopy const):
- Source/WebCore/platform/graphics/displaylists/DisplayListItemType.cpp:
(WebCore::DisplayList::sizeOfItemInBytes):
(WebCore::DisplayList::isDrawingItem):
(WebCore::DisplayList::isInlineItem):
- Source/WebCore/platform/graphics/displaylists/DisplayListItemType.h:
- Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::DrawGlyphs::DrawGlyphs):
(WebCore::DisplayList::m_bounds):
(WebCore::DisplayList::DrawGlyphs::apply const):
(WebCore::DisplayList::DrawDecomposedGlyphs::apply const):
(WebCore::DisplayList::operator<<):
(WebCore::DisplayList::dumpItem):
(WebCore::DisplayList::dumpItemHandle):
(WebCore::DisplayList::DrawGlyphs::computeBounds): Deleted.
- Source/WebCore/platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::DrawGlyphs::localAnchor const):
(WebCore::DisplayList::DrawGlyphs::anchorPoint const):
(WebCore::DisplayList::DrawGlyphs::glyphs const):
(WebCore::DisplayList::DrawGlyphs::encode const):
(WebCore::DisplayList::DrawGlyphs::decode):
(WebCore::DisplayList::DrawDecomposedGlyphs::DrawDecomposedGlyphs):
(WebCore::DisplayList::DrawDecomposedGlyphs::fontIdentifier const):
(WebCore::DisplayList::DrawDecomposedGlyphs::decomposedGlyphsIdentifier const):
(WebCore::DisplayList::DrawDecomposedGlyphs::globalBounds const):
(WebCore::DisplayList::DrawDecomposedGlyphs::localBounds const):
- Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::Recorder):
(WebCore::DisplayList::Recorder::shouldDeconstructDrawGlyphs const):
(WebCore::DisplayList::Recorder::drawGlyphs):
(WebCore::DisplayList::Recorder::drawDecomposedGlyphs):
(WebCore::DisplayList::Recorder::drawGlyphsAndCacheResources):
(WebCore::DisplayList::Recorder::drawGlyphsAndCacheFont): Deleted.
- Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.h:
- Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.cpp:
(WebCore::DisplayList::RecorderImpl::RecorderImpl):
(WebCore::DisplayList::RecorderImpl::recordDrawDecomposedGlyphs):
(WebCore::DisplayList::RecorderImpl::recordResourceUse):
- Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.h:
- Source/WebCore/platform/graphics/displaylists/DisplayListReplayer.cpp:
(WebCore::DisplayList::applyDrawDecomposedGlyphs):
(WebCore::DisplayList::Replayer::applyItem):
(WebCore::DisplayList::Replayer::replay):
- Source/WebCore/platform/graphics/displaylists/DisplayListReplayer.h:
- Source/WebCore/platform/graphics/displaylists/DisplayListResourceHeap.h:
(WebCore::DisplayList::LocalResourceHeap::add):
- Source/WebCore/platform/graphics/harfbuzz/DrawGlyphsRecorderHarfBuzz.cpp:
(WebCore::DrawGlyphsRecorder::drawGlyphs):
- Source/WebCore/platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp:
(Nicosia::CairoOperationRecorder::drawDecomposedGlyphs):
- Source/WebCore/platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h:
- Source/WebCore/platform/graphics/win/DrawGlyphsRecorderWin.cpp:
(WebCore::DrawGlyphsRecorder::drawGlyphs):
- Source/WebCore/platform/text/TextDirection.h:
(WebCore::operator<<):
- Source/WebCore/platform/text/TextFlags.cpp:
(WebCore::operator<<):
- Source/WebCore/platform/text/TextFlags.h:
(WebCore::ExpansionBehavior::operator== const):
- Source/WebCore/rendering/GlyphDisplayListCache.cpp: Added.
(WebCore::canShareDisplayListWithItem):
(WebCore::add):
(WebCore::GlyphDisplayListCacheKeyTranslator::hash):
(WebCore::GlyphDisplayListCacheKeyTranslator::equal):
(WebCore::GlyphDisplayListCache::singleton):
(WebCore::GlyphDisplayListCache::clear):
(WebCore::GlyphDisplayListCache::size const):
(WebCore::GlyphDisplayListCache::sizeInBytes const):
(WebCore::GlyphDisplayListCache::get):
(WebCore::GlyphDisplayListCache::getIfExists):
(WebCore::GlyphDisplayListCache::remove):
(WebCore::GlyphDisplayListCache::canShareDisplayList):
(WebCore::GlyphDisplayListCacheEntry::~GlyphDisplayListCacheEntry):
- Source/WebCore/rendering/GlyphDisplayListCache.h:
(WebCore::GlyphDisplayListCacheEntry::create):
(WebCore::GlyphDisplayListCacheEntry::operator== const):
(WebCore::GlyphDisplayListCacheEntry::displayList):
(WebCore::GlyphDisplayListCacheEntry::GlyphDisplayListCacheEntry):
(WebCore::add):
(WebCore::GlyphDisplayListCacheEntryHash::hash):
(WebCore::GlyphDisplayListCacheEntryHash::equal):
(WebCore::GlyphDisplayListCache::get):
(WebCore::GlyphDisplayListCache::getIfExists):
(WebCore::GlyphDisplayListCache::remove):
(WebCore::GlyphDisplayListCache::singleton): Deleted.
(WebCore::GlyphDisplayListCache::clear): Deleted.
(WebCore::GlyphDisplayListCache::size const): Deleted.
(WebCore::GlyphDisplayListCache::sizeInBytes const): Deleted.
- Source/WebCore/rendering/RenderLayerCompositor.cpp:
- Source/WebCore/rendering/TextPainter.cpp:
(WebCore::TextPainter::clearGlyphDisplayLists): Deleted.
- Source/WebCore/rendering/TextPainter.h:
(WebCore::TextPainter::setGlyphDisplayListIfNeeded):
(WebCore::TextPainter::removeGlyphDisplayList):
(WebCore::TextPainter::glyphDisplayListIfExists):
- Source/WebCore/testing/Internals.cpp:
(WebCore::toDisplayListFlags):
(WebCore::Internals::displayListForElement):
(WebCore::Internals::replayDisplayListForElement):
(WebCore::Internals::cachedGlyphDisplayListsForTextNode):
- Source/WebCore/testing/Internals.h:
- Source/WebCore/testing/Internals.idl:
- Source/WebKit/GPUProcess/graphics/QualifiedResourceHeap.h:
(WebKit::QualifiedResourceHeap::add):
(WebKit::QualifiedResourceHeap::getDecomposedGlyphs const):
(WebKit::QualifiedResourceHeap::removeDecomposedGlyphs):
(WebKit::QualifiedResourceHeap::checkInvariants const):
- Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp:
(WebKit::RemoteDisplayListRecorder::drawDecomposedGlyphs):
(WebKit::RemoteDisplayListRecorder::drawDecomposedGlyphsWithQualifiedIdentifiers):
- Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.h:
- Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.messages.in:
- Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::cacheFontWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::cacheDecomposedGlyphs):
(WebKit::RemoteRenderingBackend::cacheDecomposedGlyphsWithQualifiedIdentifier):
- Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h:
- Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in:
- Source/WebKit/GPUProcess/graphics/RemoteResourceCache.cpp:
(WebKit::RemoteResourceCache::cacheDecomposedGlyphs):
(WebKit::RemoteResourceCache::cachedDecomposedGlyphs const):
(WebKit::RemoteResourceCache::releaseRemoteResource):
- Source/WebKit/GPUProcess/graphics/RemoteResourceCache.h:
- Source/WebKit/Scripts/webkit/messages.py:
- Source/WebKit/Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<DecomposedGlyphs>::encode):
(IPC::ArgumentCoder<DecomposedGlyphs>::decode):
- Source/WebKit/Shared/WebCoreArgumentCoders.h:
- Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:
(WebKit::RemoteDisplayListRecorderProxy::RemoteDisplayListRecorderProxy):
(WebKit::RemoteDisplayListRecorderProxy::recordDrawDecomposedGlyphs):
(WebKit::RemoteDisplayListRecorderProxy::recordResourceUse):
- Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
- Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::cacheDecomposedGlyphs):
- Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
- Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp:
(WebKit::RemoteResourceCacheProxy::~RemoteResourceCacheProxy):
(WebKit::RemoteResourceCacheProxy::recordDecomposedGlyphsUse):
(WebKit::RemoteResourceCacheProxy::releaseDecomposedGlyphs):
(WebKit::RemoteResourceCacheProxy::clearDecomposedGlyphsMap):
(WebKit::RemoteResourceCacheProxy::remoteResourceCacheWasDestroyed):
- Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.h:
Canonical link: https://commits.webkit.org/251626@main
- 6:11 PM Changeset in webkit [295620] by
-
- 3 edits in trunk/Source
Clean up code that protects volume from being set on iOS
https://bugs.webkit.org/show_bug.cgi?id=241657
<rdar://problem/95252820>
Reviewed by Eric Carlson.
The code to protect HTMLMediaElement.volume from being writable is guarded
by some PLATFORM(IOS_FAMILY) tests. Make this a
HAVE(MEDIA_VOLUME_PER_ELEMENT) test so it can be expanded a bit easier.
- Source/WTF/wtf/PlatformHave.h:
- Source/WebCore/html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setVolume):
(WebCore::HTMLMediaElement::updateVolume):
(WebCore::HTMLMediaElement::cancelPendingTasks):
(WebCore::HTMLMediaElement::mediaVolumeDidChange):
- Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVolume):
Canonical link: https://commits.webkit.org/251625@main
- 5:51 PM Changeset in webkit [295619] by
-
- 2 edits in trunk/Source/WebCore/platform/graphics
Stop updating FontCascade::{m_useBackslashAsYenSymbol,m_enableKerning,m_requiresShaping} in FontCascade::updateFonts
https://bugs.webkit.org/show_bug.cgi?id=241672
Unreviewed.
(Actually this was reviewed by Myles Maxfield, but the bots are having
trouble identifying the reviewer.)
These fields are computed based on the FontDescription. They're only mutable
because we also update them in FontCascade::updateFonts(), but that function
only updates the FontCascadeFonts pointer, not the FontDescription. So there
should be no need to update them at that time.
- Source/WebCore/platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::updateFonts const):
- Source/WebCore/platform/graphics/FontCascade.h:
Canonical link: https://commits.webkit.org/251624@main
- 5:21 PM Changeset in webkit [295618] by
-
- 1 edit in trunk/Source/WebCore/accessibility/AccessibilityObject.cpp
AX: AccessibilityObject::insertChild does not check the validity of the insertionIndex while processing grandchildren
https://bugs.webkit.org/show_bug.cgi?id=241650
Reviewed by Chris Fleizach.
When AccessibilityObject::insertChild is asked to insert a child that's
ignored, we instead add that object's children. However, both
accessibilityIsIgnoredandchildrencan cause layout, and said
layout could cause AccessibilityObject::m_children to be cleared. This
makes theinsertionIndexinvalid, which causes a crash.
In this patch, right before m_children.insert(), we check to make sure
the index is still valid.
I wasn't able to make a test for this bug. It is difficult to reproduce,
and the circumstances to reproduce are complex.
- Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::insertChild):
Canonical link: https://commits.webkit.org/251623@main
- 4:52 PM Changeset in webkit [295617] by
-
- 1 edit in trunk/Source/WebKit/UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm
[WebAuthn] Stop using decidePolicyForLocalAuthenticator
https://bugs.webkit.org/show_bug.cgi?id=241614
rdar://95066808
Reviewed by Brent Fulgham.
- Source/WebKit/UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
(WebKit::LocalAuthenticator::makeCredential):
Previously, in the browser ui delegate based flow, consent would be given
for the platform authenticator after selecting it. In the new flow you
must consent to the platform authenticator before getting here, so
decidePolicyForLocalAuthenticator is no longer needed.
Canonical link: https://commits.webkit.org/251622@main
- 4:37 PM Changeset in webkit [295616] by
-
- 6 edits in trunk/Source
[WebAuthn] Rename cable transport to hybrid
https://bugs.webkit.org/show_bug.cgi?id=241691
rdar://problem/95312126
Reviewed by Brent Fulgham.
This transport got renamed in https://github.com/fido-alliance/fido-2-specs/issues/1332
Hybrid is the name that should be used in AuthenticatorTransport, we continue to recgnize
the old string.
- Source/WebCore/Modules/webauthn/AuthenticatorTransport.h:
- Source/WebCore/Modules/webauthn/fido/AuthenticatorGetInfoResponse.cpp:
(fido::toString):
- Source/WebCore/Modules/webauthn/fido/DeviceResponseConverter.cpp:
(fido::convertStringToAuthenticatorTransport):
- Source/WebKit/UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
(WebKit::LocalAuthenticatorInternal::transports):
- Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:
(WebKit::toASCDescriptor):
Canonical link: https://commits.webkit.org/251621@main
- 4:23 PM Changeset in webkit [295615] by
-
- 2 edits in trunk/Source
[iOS] Update the title of the context menu action to save an image
https://bugs.webkit.org/show_bug.cgi?id=241690
rdar://95117013
Reviewed by Kate Cheney.
Change the title from "Add to Photos" to "Save to Photos" to align with
strings used in the Photos app.
- Source/WebCore/en.lproj/Localizable.strings:
- Source/WebKit/UIProcess/API/Cocoa/_WKElementAction.mm:
(+[_WKElementAction _elementActionWithType:customTitle:assistant:]):
Canonical link: https://commits.webkit.org/251620@main
- 4:08 PM Changeset in webkit [295614] by
-
- 10 edits1 add in trunk
[JSC] Always create StructureStubInfo for op_get_by_val
https://bugs.webkit.org/show_bug.cgi?id=241669
rdar://75146284
Reviewed by Saam Barati and Mark Lam.
DFG OSR exit requires StructureStubInfo for getter / setter calls. However very generic baseline JIT
op_get_by_val does not create StructureStubInfo. It is possible that OSR exit crashes because of this
missing StructureStubInfo. Let's consider the following edge case.
- Now, Baseline detects that this is very generic op_get_by_val. So we do not create StructureStubInfo.
- This function is inlined in DFG. And DFG emits IC for this GetByVal.
- (2)'s DFG function collects information in DFG-level IC. And luckily, in this inlined call path, it was not so generic.
- Then, due to different OSR exit or something, we recreate DFG code for this function with (2)'s inlining.
- DFG detects that DFG-level IC has more specialized information. So it can inline getter call in this op_get_by_val.
- Inside this getter, we perform OSR exit.
- Looking into Baseline, and we found that there is no StructureStubInfo!
We always create StructureStubInfo. In very generic op_get_by_val case, we create this with tookSlowPath = true.
And we emit empty inline path to record doneLocation. So, OSR exit can jump to this place.
We also clean up StructureStubInfo code.
- "start" is renamed to startLocation. And we do not record it in DataIC case since it is not necessary.
- Rename inlineSize to inlineCodeSize.
- Add some assertions to ensure that this path is not used for DataIC case.
- We also record opcode value in the crashing RELEASE_ASSERT to get more information if this does not fix the issue.
- Source/JavaScriptCore/bytecode/InlineAccess.cpp:
(JSC::linkCodeInline):
(JSC::InlineAccess::generateArrayLength):
(JSC::InlineAccess::generateStringLength):
(JSC::InlineAccess::rewireStubAsJumpInAccessNotUsingInlineAccess):
(JSC::InlineAccess::rewireStubAsJumpInAccess):
(JSC::InlineAccess::resetStubAsJumpInAccess):
- Source/JavaScriptCore/bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::initializeFromUnlinkedStructureStubInfo):
(JSC::StructureStubInfo::initializeFromDFGUnlinkedStructureStubInfo):
- Source/JavaScriptCore/bytecode/StructureStubInfo.h:
(JSC::StructureStubInfo::inlineCodeSize const):
(JSC::StructureStubInfo::inlineSize const): Deleted.
- Source/JavaScriptCore/dfg/DFGInlineCacheWrapperInlines.h:
(JSC::DFG::InlineCacheWrapper<GeneratorType>::finalize):
- Source/JavaScriptCore/dfg/DFGJITCode.h:
- Source/JavaScriptCore/dfg/DFGOSRExitCompilerCommon.cpp:
(JSC::DFG::callerReturnPC):
- Source/JavaScriptCore/jit/JIT.cpp:
(JSC::JIT::link):
- Source/JavaScriptCore/jit/JITInlineCacheGenerator.cpp:
(JSC::JITInlineCacheGenerator::finalize):
(JSC::JITGetByValGenerator::generateEmptyPath):
- Source/JavaScriptCore/jit/JITInlineCacheGenerator.h:
- Source/JavaScriptCore/jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_by_val):
- JSTests/stress/get-by-val-generic-structurestubinfo.js: Added.
(let.program):
(runMono.let.o.get x):
(runMono):
(runPoly):
Canonical link: https://commits.webkit.org/251619@main
- 2:48 PM Changeset in webkit [295613] by
-
- 1 edit in trunk/Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm
[macOS] Unable to resume screen sharing after it is paused
https://bugs.webkit.org/show_bug.cgi?id=241693
rdar://93573937
Reviewed by Youenn Fablet.
- Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm:
(WebCore::ScreenCaptureKitCaptureSource::stop): Clear m_contentStream in the completion handler.
(WebCore::ScreenCaptureKitCaptureSource::startContentStream): Don't recreate instance variables
that already exist.
Canonical link: https://commits.webkit.org/251618@main
- 1:45 PM Changeset in webkit [295612] by
-
- 6 edits in trunk/Tools/Scripts/libraries
[webkitcorepy] Validate cached credentials
https://bugs.webkit.org/show_bug.cgi?id=241664
<rdar://problem/95254368>
Reviewed by Aakash Jain.
- Tools/Scripts/libraries/webkitbugspy/setup.py: Bumpv version.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/init.py: Ditto.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/mocks/github.py: Add user endpoint.
- Tools/Scripts/libraries/webkitcorepy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Ditto.
- Tools/Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py:
(credentials): Validate cached credentials, do not reload credentials which fail validation
from the keychain.
Canonical link: https://commits.webkit.org/251617@main
- 1:41 PM Changeset in webkit [295611] by
-
- 4 edits in trunk/Websites/perf.webkit.org
Prefer using commit identifier to build commit URL.
https://bugs.webkit.org/show_bug.cgi?id=241646
rdar://93104485
Reviewed by Jonathan Bedard.
Use commit identifier to construct commit URL and blame URL when available.
This simplifies URL construction for Git transition.
- Websites/perf.webkit.org/public/v3/models/commit-log.js: Added code to prefer using commit identifiers
when available.
(CommitLog.prototype.url):
(CommitLog.prototype.diff):
- Websites/perf.webkit.org/unit-tests/commit-log-tests.js: Added a unit test for diff.
(assert.deepStrictEqual.webkitGitCommitWithRevisionIdentifier.diff.oldWebKitGitCommitWithRevisionIdentifier):
- Websites/perf.webkit.org/unit-tests/commit-set-tests.js: Updated unit test.
- Websites/perf.webkit.org/unit-tests/resources/mock-v3-models.js: Added 'blameUrl' to 'WebKitGit' mock repository.
(MockModels.inject):
Canonical link: https://commits.webkit.org/251616@main
- 1:37 PM Changeset in webkit [295610] by
-
- 1 edit in trunk/Source/JavaScriptCore/bytecode/PropertyCondition.cpp
AbsenceOfSetEffect property condition should mind put() overrides
https://bugs.webkit.org/show_bug.cgi?id=241574
<rdar://91833733>
Reviewed by Yusuke Suzuki.
Since JSArray's "length" and RegExpObject's "lastIndex" may be reconfigured as non-writable,
we need to handle them separately in AbsenceOfSetEffect property condition to ensure that compiler
takes a slow path in that case, following the spec and throwing an exception in strict mode [1].
I'm not sure how to make a test case capturing this though.
[1]: https://tc39.es/ecma262/#sec-ordinarysetwithowndescriptor (step 2.a)
- Source/JavaScriptCore/bytecode/PropertyCondition.cpp:
(JSC::nonStructurePropertyMayBecomeReadOnlyWithoutTransition):
(JSC::PropertyCondition::isStillValidAssumingImpurePropertyWatchpoint const):
Canonical link: https://commits.webkit.org/251615@main
- 1:33 PM Changeset in webkit [295609] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: use proper name for ITP debug mode
https://bugs.webkit.org/show_bug.cgi?id=241697
Reviewed by Patrick Angle.
- Source/WebInspectorUI/UserInterface/Base/Main.js:
(WI._handleDeviceSettingsTabBarButtonClicked):
- Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js:
Canonical link: https://commits.webkit.org/251614@main
- 1:11 PM Changeset in webkit [295608] by
-
- 8 edits1 add in trunk
CommonSlowPaths::putDirectWithReify() is incorrect for DontDelete properties
https://bugs.webkit.org/show_bug.cgi?id=241651
<rdar://94016559>
Reviewed by Saam Barati.
Provided the base object has no read-only / accessor / custom properties,
putDirectWithReify() is incorrect for an object with non-configurable property,
whether it's on the structure or a non-reified static none.
In that case, putDirectWithReify() ignores existing non-configurable / non-reified
descriptor and produces an incorrect property descriptor instead of throwing TypeError.
One it's observed in the wild is via an instance field [1].
The issue was due to incorrect ReadOnly-focused check for putDirect() fast path,
which would be correct for Set but not for DefineOwnProperty.
Apart from introducing tighter fast patch check, this change extracts
JSFunction::mayHaveNonReifiedPrototype() helper, cleaning up JSFunction's overrides,
and removes now unused PutModeDefineOwnPropertyIgnoringExtensibility, which apart from
ignoring extensibility, also ignored read-only / accessor / custom properties,
which felt a bit counter-intuitive.
This change carefully preserves the fast path introduced in webkit.org/b/232479.
[1]: https://tc39.es/ecma262/#sec-definefield
- Source/JavaScriptCore/runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::originalStructureBeforePut):
(JSC::CommonSlowPaths::canPutDirectFast):
(JSC::CommonSlowPaths::putDirectWithReify):
(JSC::CommonSlowPaths::putDirectAccessorWithReify):
- Source/JavaScriptCore/runtime/JSFunction.cpp:
(JSC::JSFunction::getOwnPropertySlot):
(JSC::JSFunction::put):
(JSC::JSFunction::deleteProperty):
(JSC::JSFunction::defineOwnProperty):
(JSC::JSFunction::reifyLazyPropertyIfNeeded):
(JSC::JSFunction::reifyLazyPrototypeIfNeeded):
- Source/JavaScriptCore/runtime/JSFunction.h:
- Source/JavaScriptCore/runtime/JSFunctionInlines.h:
(JSC::JSFunction::mayHaveNonReifiedPrototype):
- Source/JavaScriptCore/runtime/JSObject.cpp:
(JSC::JSObject::putDirectCustomAccessor):
(JSC::JSObject::putDirectNonIndexAccessor):
- Source/JavaScriptCore/runtime/JSObject.h:
(JSC::JSObject::putDirect):
(JSC::JSObject::putDirectRespectingExtensibility): Deleted.
- Source/JavaScriptCore/runtime/JSObjectInlines.h:
(JSC::JSObject::putDirectInternal):
- Source/JavaScriptCore/tools/JSDollarVM.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
(JSC::JSDollarVM::finishCreation):
Canonical link: https://commits.webkit.org/251613@main
- 1:00 PM Changeset in webkit [295607] by
-
- 2 edits in trunk/Source
Implement alternate fullscreen controls.
https://bugs.webkit.org/show_bug.cgi?id=241654
Reviewed by Tim Horton.
Alternative UI for fullscreen video controls.
- Source/WTF/Scripts/Preferences/WebPreferences.yaml:
- Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenViewController.mm:
(-[WKFullScreenViewController loadView]):
Canonical link: https://commits.webkit.org/251612@main
- 12:51 PM Changeset in webkit [295606] by
-
- 1 edit in trunk/Source/JavaScriptCore/b3/air/AirAllocateRegistersAndStackAndGenerateCode.cpp
Change how we rewind instructions in Air's O0 register allocator
https://bugs.webkit.org/show_bug.cgi?id=241687
Reviewed by Mark Lam.
- Source/JavaScriptCore/b3/air/AirAllocateRegistersAndStackAndGenerateCode.cpp:
(JSC::B3::Air::GenerateAndAllocateRegisters::generate):
Canonical link: https://commits.webkit.org/251611@main
- 12:44 PM Changeset in webkit [295605] by
-
- 6 edits in trunk
Add lldbWebKitTester to WebKit.xcworkspace
Unreviewed test fix.
When we switched build-webkit to workspace builds in
https://commits.webkit.org/251501@main, we stopped building it.
lldbWebKitTester must only build on macOS. Add a "lldbWebKitTester
(Platform filters)" aggregate target that selectively builds
lldbWebKitTester on Mac only, like we did for MiniBrowser in
https://commits.webkit.org/251501@main. Update the relevant schemes to
build that aggregate.
We cannot rely on lldbWebKitTester's "SUPPORTED_PLATFORMS = macosx" as a
way to make it always build for Mac, because it depends on WTF and
therefore must only build if WTF is also being built for Mac.
- Tools/lldb/lldbWebKitTester/Configurations/Base.xcconfig: Claim to support every platform, so that the aggregate target is always buildable and able to apply a platform filter.
- Tools/lldb/lldbWebKitTester/Configurations/lldbWebKitTester.xcconfig: Move "SUPPORTED_PLATFORMS = macosx" here, because lldbWebKitTester really does need to be restricted to building for Mac.
- Tools/lldb/lldbWebKitTester/lldbWebKitTester.xcodeproj/project.pbxproj:
- WebKit.xcworkspace/xcshareddata/xcschemes/All Modules.xcscheme:
- WebKit.xcworkspace/xcshareddata/xcschemes/All Tools.xcscheme:
Canonical link: https://commits.webkit.org/251610@main
- 12:33 PM Changeset in webkit [295604] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/coretext/DrawGlyphsRecorderCoreText.cpp
File size label for attachment in mail compose shows up black instead of expected grey
https://bugs.webkit.org/show_bug.cgi?id=241600
rdar://94071484
Reviewed by Cameron McCormack.
As of https://trac.webkit.org/changeset/293867/webkit in DrawGlyphsRecorder
specifically, we use the fill color of the initial state of GraphicsContext
in the case where the new fill color we are updating to is equal to the existing
fill color for perf reasons. This revealed a bug where CGContext state gets
out of sync with it's wrapping GraphicsContext, causing an incorrect
initial state fill color and thus painting the second line of Mail
attachments in the wrong color.
This patch fixes this bug by saving and restoring the state of
m_internalContext, which we reference in the case above to determine
whether to update the fill color.
- Source/WebCore/platform/graphics/coretext/DrawGlyphsRecorderCoreText.cpp:
(WebCore::DrawGlyphsRecorder::drawNativeText):
Canonical link: https://commits.webkit.org/251609@main
- 12:30 PM Changeset in webkit [295603] by
-
- 5 edits in trunk/Source/WebCore/workers
SharedWorkerGlobalScope::close should not directly stop its thread
https://bugs.webkit.org/show_bug.cgi?id=241677
rdar://95010255
Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-16
Reviewed by Alex Christensen.
We were directly stopping the worker thread when calling SharedWorkerGlobalScope::close.
This can trigger the case of stopping the worker thread concurrently from main thread and shared worker thread.
Instead, we reuse the existing Worker infastructure to tell its SharedWorkerThreadProxy to terminate.
- Source/WebCore/workers/WorkerOrWorkletThread.cpp:
(WebCore::WorkerOrWorkletThread::stop):
- Source/WebCore/workers/shared/SharedWorkerGlobalScope.cpp:
(WebCore::SharedWorkerGlobalScope::close): Deleted.
- Source/WebCore/workers/shared/SharedWorkerGlobalScope.h:
- Source/WebCore/workers/shared/context/SharedWorkerThreadProxy.cpp:
(WebCore::SharedWorkerThreadProxy::workerGlobalScopeClosed):
- Source/WebCore/workers/shared/context/SharedWorkerThreadProxy.h:
Canonical link: https://commits.webkit.org/251608@main
- 11:49 AM Changeset in webkit [295602] by
-
- 12 edits5 adds in trunk
[WebIDL] maplike<> and setlike<> declarations should be resilient to tampered prototypes
https://bugs.webkit.org/show_bug.cgi?id=241617
<rdar://93229569>
Reviewed by Yusuke Suzuki.
With this change, maplike<> and setlike<> declarations work as expected if methods of
Map.prototype / Set.prototype are removed, as they are suppossed to per spec [1][2].
Usage of backing Map / Set is an implementation detail of WebKit bindings and should
not be observable.
The fix mirrors all Map / Set prototype methods and "size" getter by private names,
which are inacessible to userland code, ensuring that public JSFunction* instances
are reused to avoid memory bloat.
Also, this change:
- saves creating 4 extra JSFunction* instances during init of Map / Set prototypes;
- speeds-up call forwarding by retrieving methods from prototypes with getDirect();
- aligns property order with the spec, even though there is no requirement.
[1] https://webidl.spec.whatwg.org/#es-maplike
[2] https://webidl.spec.whatwg.org/#es-setlike
- LayoutTests/imported/w3c/web-platform-tests/css/css-highlight-api/Highlight-setlike-tampered-Set-prototype-expected.txt: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-highlight-api/Highlight-setlike-tampered-Set-prototype.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-highlight-api/HighlightRegistry-maplike-tampered-Map-prototype-expected.txt: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-highlight-api/HighlightRegistry-maplike-tampered-Map-prototype.html: Added.
- Source/JavaScriptCore/DerivedSources-output.xcfilelist:
- Source/JavaScriptCore/DerivedSources.make:
- Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
- Source/JavaScriptCore/builtins/BuiltinNames.h:
- Source/JavaScriptCore/runtime/MapPrototype.cpp:
(JSC::MapPrototype::finishCreation):
- Source/JavaScriptCore/runtime/SetPrototype.cpp:
(JSC::SetPrototype::finishCreation):
- Source/WebCore/bindings/js/JSDOMBindingInternals.js:
(forEachWrapper):
- Source/WebCore/bindings/js/JSDOMMapLike.cpp:
(WebCore::getBackingMap):
(WebCore::clearBackingMap):
(WebCore::setToBackingMap):
(WebCore::forwardFunctionCallToBackingMap):
- Source/WebCore/bindings/js/JSDOMMapLike.h:
(WebCore::forwardSizeToMapLike):
(WebCore::forwardEntriesToMapLike):
(WebCore::forwardKeysToMapLike):
(WebCore::forwardValuesToMapLike):
(WebCore::forwardClearToMapLike):
(WebCore::forwardGetToMapLike):
(WebCore::forwardHasToMapLike):
(WebCore::forwardSetToMapLike):
(WebCore::forwardDeleteToMapLike):
- Source/WebCore/bindings/js/JSDOMSetLike.cpp:
(WebCore::getBackingSet):
(WebCore::clearBackingSet):
(WebCore::addToBackingSet):
(WebCore::forwardFunctionCallToBackingSet):
- Source/WebCore/bindings/js/JSDOMSetLike.h:
(WebCore::forwardSizeToSetLike):
(WebCore::forwardEntriesToSetLike):
(WebCore::forwardKeysToSetLike):
(WebCore::forwardValuesToSetLike):
(WebCore::forwardClearToSetLike):
(WebCore::forwardHasToSetLike):
(WebCore::forwardAddToSetLike):
(WebCore::forwardDeleteToSetLike):
- Source/WebCore/bindings/js/WebCoreBuiltinNames.h:
Canonical link: https://commits.webkit.org/251607@main
- 11:26 AM Changeset in webkit [295601] by
-
- 1 edit in trunk/metadata/contributors.json
Add xeenon GitHub account to contributors.json.
https://bugs.webkit.org/show_bug.cgi?id=241686
Unreviewed.
- metadata/contributors.json:
Add xeenon GitHub account under Timothy Hatcher.
Canonical link: https://commits.webkit.org/251606@main
- 11:08 AM Changeset in webkit [295600] by
-
- 1 edit in trunk/Source/WebKit/UIProcess/WebProcessPool.cpp
Handle display reconfiguration on main thread
https://bugs.webkit.org/show_bug.cgi?id=241683
<rdar://83417447>
Reviewed by Simon Fraser.
It is not safe to handle this on a non main thread, since we send messages to the WebContent and GPU process.
- Source/WebKit/UIProcess/WebProcessPool.cpp:
(WebKit::displayReconfigurationCallBack):
Canonical link: https://commits.webkit.org/251605@main
- 11:06 AM Changeset in webkit [295599] by
-
- 1 edit in trunk/Tools/CISupport/ews-build/steps.py
[Merge-Queue] Validate reviewers in commit message (Follow-up)
https://bugs.webkit.org/show_bug.cgi?id=240718
<rdar://problem/93665771>
Unreviewed infrastructure fix.
- Tools/CISupport/ews-build/steps.py:
(ValidateCommitMessage.run): Allow for unreviewed changes.
- 10:32 AM Changeset in webkit [295598] by
-
- 1 edit in trunk/Tools/Scripts/build-and-collect-pgo-profiles
Extend build-and-collect-pgo-profiles to support testing a browser path
https://bugs.webkit.org/show_bug.cgi?id=241392
rdar://94581810
Patch by briannafan <briannaf@berkeley.edu> on 2022-06-16
Reviewed by Dewei Zhu.
Extending script to take browser path and skip building.
- Tools/Scripts/build-and-collect-pgo-profiles:
Canonical link: https://commits.webkit.org/251603@main
- 9:39 AM Changeset in webkit [295597] by
-
- 7 edits in trunk
AX: Update the isolated tree in response to dynamic placeholder and aria-placeholder changes
https://bugs.webkit.org/show_bug.cgi?id=241675
Reviewed by Chris Fleizach.
- LayoutTests/accessibility/placeholder-expected.txt:
- LayoutTests/accessibility/placeholder.html: Add new test cases.
- LayoutTests/platform/ios/TestExpectations: Enable accessibility/placeholder.html.
- Source/WebCore/accessibility/AXLogger.cpp:
(WebCore::operator<<):
- Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::handleAttributeChange):
(WebCore::AXObjectCache::updateIsolatedTree):
- Source/WebCore/accessibility/AXObjectCache.h:
- Source/WebCore/accessibility/atspi/AXObjectCacheAtspi.cpp
Canonical link: https://commits.webkit.org/251602@main
- 9:30 AM Changeset in webkit [295596] by
-
- 1 edit in trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp
Regression (r295056): do not delete WebSQL directory until there is no use of it in WebKit clients
https://bugs.webkit.org/show_bug.cgi?id=241671
Reviewed by Youenn Fablet.
We have internal clients that set the custom WebSQL directory do not only use the directory for WebSQL.
- Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::resolveDirectoriesIfNecessary):
Canonical link: https://commits.webkit.org/251601@main
- 9:27 AM Changeset in webkit [295595] by
-
- 3 edits in trunk/Source/WebCore/platform/graphics/texmap
TextureMapper: remove unused size variable in draw texture methods
https://bugs.webkit.org/show_bug.cgi?id=241679
Reviewed by Darin Adler.
WebCore::TextureMapperGL::drawTexturedQuadWithProgram() doesn't really
use the size parameter, remove it from everwhere where it's passed
forward.
- Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::drawTexture):
(WebCore::prepareTransformationMatrixWithFlags):
(WebCore::TextureMapperGL::drawTexturePlanarYUV):
(WebCore::TextureMapperGL::drawTextureSemiPlanarYUV):
(WebCore::TextureMapperGL::drawTexturePackedYUV):
(WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
(WebCore::TextureMapperGL::drawFiltered):
(WebCore::TextureMapperGL::drawTextureExternalOES):
- Source/WebCore/platform/graphics/texmap/TextureMapperGL.h:
- Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerBuffer.cpp:
(WebCore::TextureMapperPlatformLayerBuffer::paintToTextureMapper):
Canonical link: https://commits.webkit.org/251600@main
- 8:22 AM Changeset in webkit [295594] by
-
- 11 edits in trunk/Source
Tab snapshotting should not trigger the WebGL code path when HAVE(LOW_AV_SAMPLE_BUFFER_PRUNING_INTERVAL) is false
https://bugs.webkit.org/show_bug.cgi?id=241628
rdar://94484791
Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-16
Reviewed by Jer Noble.
If HAVE(LOW_AV_SAMPLE_BUFFER_PRUNING_INTERVAL) is false, we either render the video or we can grab individual video frames for canvas rendering.
We render video except when WebGL canvas painting is used.
Before the patch, the GPUProcess code path was relying on calling MediaPlayerPrivateMediaSourceAVFObjC::videoFrameForCurrentTime for tab snapshotting.
This then prevented the video to be rendered.
This patch is adding a MediaPlayer::willBeAskedToPaintGL method to ask the player to enter the WebGL code path to grab individual video frames.
This method is called when creating a video texture for WebGL.
MediaPlayerPrivateMediaSourceAVFObjC implements this method to switch to the decompression session to grab individual video frames.
Other players are left unchanged.
We add the necessary IPC handling to send the signal from WebProcess to GPUProcess.
All of this is specific to HAVE(LOW_AV_SAMPLE_BUFFER_PRUNING_INTERVAL) being false.
Manually tested by tabsnapshooting youtube pages as well as loading web page using MSE+WebGL.
- Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::texImageSourceHelper):
- Source/WebCore/platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::willBeAskedToPaintGL):
- Source/WebCore/platform/graphics/MediaPlayer.h:
- Source/WebCore/platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::willBeAskedToPaintGL):
- Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
- Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::willBeAskedToPaintGL):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::videoFrameForCurrentTime):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::shouldEnsureLayer const):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::acceleratedRenderingStateChanged):
- Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.h:
- Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
- Source/WebKit/GPUProcess/media/cocoa/RemoteMediaPlayerProxyCocoa.mm:
(WebKit::RemoteMediaPlayerProxy::willBeAskedToPaintGL):
- Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::willBeAskedToPaintGL):
- Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
Canonical link: https://commits.webkit.org/251599@main
- 8:05 AM Changeset in webkit [295593] by
-
- 1 edit in trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm
AX ITM: VoiceOver cannot get contextual menus for links on some pages with ITM enabled.
https://bugs.webkit.org/show_bug.cgi?id=241668
Reviewed by Chris Fleizach.
In isolated tree mode the performSelector method was being called off the main thread, and was not invoking the given selector. This patch fixes the problem by dispatching to the main thread the call to performSelector. Some code cleanup.
- Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
(-[WebAccessibilityObjectWrapper _accessibilityShowContextMenu]):
(-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]): Deleted.
Canonical link: https://commits.webkit.org/251598@main
- 7:46 AM Changeset in webkit [295592] by
-
- 1 edit in trunk/Tools/CISupport/ews-build/steps.py
[ews-build.webkit.org] Support WebKit/WebKit-security
https://bugs.webkit.org/show_bug.cgi?id=241656
<rdar://problem/95252686>
Reviewed by Ryan Haddad and Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
Canonical link: https://commits.webkit.org/251597@main
- 7:37 AM Changeset in webkit [295591] by
-
- 1 edit2 adds in trunk
A black screen appears in a muted video element outside the viewport
https://bugs.webkit.org/show_bug.cgi?id=241152
rdar://problem/94562636
Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-16
Reviewed by Eric Carlson.
We sometimes remove the invisible autoplay restrictions.
If we remove it while we are suspended due this restriction, we will not unsuspend and will wait for a user interaction.
To prevent this, we do not return early in updateShouldAutoplay if we are interrupted due to the invisible autoplay restriction.
- LayoutTests/fast/mediastream/video-mediastream-restricted-invisible-autoplay-user-click-expected.txt: Added.
- LayoutTests/fast/mediastream/video-mediastream-restricted-invisible-autoplay-user-click.html: Added.
- Source/WebCore/html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::updateShouldAutoplay):
Canonical link: https://commits.webkit.org/251596@main
- 4:53 AM Changeset in webkit [295590] by
-
- 1 edit3 adds in trunk
Moving a media element from one document to another should not break autoplay
https://bugs.webkit.org/show_bug.cgi?id=241631
rdar://95060381
Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-16
Reviewed by Eric Carlson.
When pausing a video element when being detached from a document, autoplay might get broken if the element is interrupted due to invisibility.
In that case, the session will store the fact that the element is paused and when the end of invisibility interruption happens, the session state is Paused instead of Autoplay.
To prevent this, we do not pause when being detached if we are alread interrupted due to invisibility.
Covered by added test.
- LayoutTests/http/tests/webrtc/resources/utility-frame.html: Added.
- LayoutTests/http/tests/webrtc/video-mediastream-invisible-autoplay-detached-expected.txt: Added.
- LayoutTests/http/tests/webrtc/video-mediastream-invisible-autoplay-detached.html: Added.
- Source/WebCore/html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::pauseAfterDetachedTask):
Canonical link: https://commits.webkit.org/251595@main
- 1:07 AM Changeset in webkit [295589] by
-
- 1 edit in trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm
Add WebSocket map size logging
https://bugs.webkit.org/show_bug.cgi?id=241590
rdar://problem/95093425
Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-16
Reviewed by Eric Carlson.
- Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::addWebSocketTask):
(WebKit::NetworkSessionCocoa::removeWebSocketTask):
Canonical link: https://commits.webkit.org/251594@main
- 12:20 AM Changeset in webkit [295588] by
-
- 1 edit in trunk/Source/WebCore/Modules/speech/SpeechRecognitionCaptureSourceImpl.cpp
TestWebKitAPI.WebKit2.SpeechRecognitionErrorWhenStartingAudioCaptureOnDifferentPageE is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=239474
Reviewed by Sihui Liu.
At least when using MockAudioSharedInternalUnit the call to RealtimeMediaSource::start can call code on another thread
that assumes that RealtimeMediaSource::setLogger has already been called. This can be made to crash almost 100% of the time
in the test by adding WTFReportBacktrace at the beginning of RealtimeMediaSource::setLogger which delays when m_logger is set
enough for the "MockAudioSharedInternalUnit Capture Queue" thread to read from m_logger before it is written without this change.
- Source/WebCore/Modules/speech/SpeechRecognitionCaptureSourceImpl.cpp:
(WebCore::SpeechRecognitionCaptureSourceImpl::SpeechRecognitionCaptureSourceImpl):
Canonical link: https://commits.webkit.org/251593@main
Jun 15, 2022:
- 11:04 PM Changeset in webkit [295587] by
-
- 4 edits in trunk/Source/WebCore/platform/graphics/texmap
Remove unused code for GL_TEXTURE_RECTANGLE_ARB
https://bugs.webkit.org/show_bug.cgi?id=241670
Reviewed by Don Olmstead.
The code for GL_TEXTURE_RECTANGLE_ARB was added by 105925@main (Bug
87738) for Qt-Mac port. But, no longer used.
- Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::drawTexture):
(WebCore::prepareTransformationMatrixWithFlags):
(WebCore::TextureMapperGL::drawTexturePlanarYUV):
(WebCore::TextureMapperGL::drawTextureSemiPlanarYUV):
(WebCore::TextureMapperGL::drawTexturePackedYUV):
(WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
- Source/WebCore/platform/graphics/texmap/TextureMapperGL.h:
- Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp:
(WebCore::TextureMapperShaderProgram::create):
- Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.h:
Canonical link: https://commits.webkit.org/251592@main
- 10:49 PM Changeset in webkit [295586] by
-
- 2 edits in trunk/Source/WebKit/Configurations
[Regression r295565] iOS Simulator build fails
https://bugs.webkit.org/show_bug.cgi?id=241673
Unreviewed, fix ios simulator build after r295565.
- Source/WebKit/Configurations/adattributiond.xcconfig:
- Source/WebKit/Configurations/webpushd.xcconfig:
Canonical link: https://commits.webkit.org/251591@main
- 10:31 PM Changeset in webkit [295585] by
-
- 5 edits in trunk/Source/JavaScriptCore
Don't clear both prototype ICs for LLInt iterator_next
https://bugs.webkit.org/show_bug.cgi?id=241663
Reviewed by Yusuke Suzuki.
If we use BytecodeIndex instead of a bytecode offset, we don't need to
clear both ICs. We can just clear the one that the watchpoint fired for.
- Source/JavaScriptCore/bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finalizeLLIntInlineCaches):
- Source/JavaScriptCore/bytecode/CodeBlock.h:
- Source/JavaScriptCore/bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.cpp:
(JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint::LLIntPrototypeLoadAdaptiveStructureWatchpoint):
(JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint::initialize):
(JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint::fireInternal):
- Source/JavaScriptCore/bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.h:
- Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:
(JSC::LLInt::setupGetByIdPrototypeCache):
(JSC::LLInt::performLLIntGetByID):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
Canonical link: https://commits.webkit.org/251590@main
- 9:57 PM Changeset in webkit [295584] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.h
Remove unused expandedQuadEdgesInScreenSpace uniform variable
https://bugs.webkit.org/show_bug.cgi?id=241667
Reviewed by Don Olmstead.
expandedQuadEdgesInScreenSpace uniform variable was added by
108289@main (Bug 90308), but unsued since 124039@main (Bug 105377).
- Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.h:
Removed it.
Canonical link: https://commits.webkit.org/251589@main
- 9:16 PM Changeset in webkit [295583] by
-
- 2 edits in trunk/Source/ThirdParty/ANGLE
Validate descriptor when creating MTLRenderPipelineState
https://bugs.webkit.org/show_bug.cgi?id=241587
rdar://problem/93820440
Patch by Dan Glastonbury <djg@apple.com> on 2022-06-15
Reviewed by Kimmo Kinnunen.
- Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_state_cache.mm:
(rx::mtl::ValidateRenderPipelineState):
(rx::mtl::RenderPipelineCache::createRenderPipelineState):
Extend MTlRenderPipelineDescriptor validation to ensure that there is at least
one valid render target set for the the render pipeline. This is required for
certain families of metal devices to avoid a validation failure inside the metal
framework. Moving the failure here will cause the app using ANGLE to return a GL
error instead of crashing the process.
Canonical link: https://commits.webkit.org/251588@main
- 7:18 PM Changeset in webkit [295582] by
-
- 1 edit in trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp
AX ITM: Should not build an isolated tree branch rooted at an object with invalid ID. Should not attempt to remove an object for an invalid ID.
https://bugs.webkit.org/show_bug.cgi?id=241643
Reviewed by Chris Fleizach.
Added check for valid object ID in AXIsolatedTree::collectNodeChangesForSubtree and in updateChildren since in both cases the ID is used as a key for HashMaps which cannot be null.
- Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::collectNodeChangesForSubtree):
(WebCore::AXIsolatedTree::updateChildren):
Canonical link: https://commits.webkit.org/251587@main
- 6:02 PM Changeset in webkit [295581] by
-
- 1 edit in trunk/Source/cmake/WebKitCommon.cmake
[CMake] Check for all required perl modules
https://bugs.webkit.org/show_bug.cgi?id=241648
Patch by Michael Catanzaro <mcatanzaro@redhat.com> on 2022-06-15
Reviewed by Adrian Perez de Castro.
- Source/cmake/WebKitCommon.cmake:
Canonical link: https://commits.webkit.org/251586@main
- 4:55 PM Changeset in webkit [295580] by
-
- 3 edits in trunk/LayoutTests
Web Inspector: inspector/page/setShowPaintRects.html is a flakey failure since introduction
https://bugs.webkit.org/show_bug.cgi?id=233047
rdar://85345706
Reviewed by Antoine Quint.
Adding test results to the page causes a paint to be scheduled, which can cause paint rects to be requested at times we
are not expecting them as part of the flow of the test. We expect only our explicit change to an element to cause paints
to occur, but currently those paints end up interleaved with paints for adding results to the test page.
To resolve this, we now defer writing results to the test page until the end of each test case. This allows us to wait
to start each test case until there are no paint rects, and to avoid accidently causing a paint rect to appear at
inopportune times for our testing.
- LayoutTests/inspector/page/setShowPaintRects-expected.txt:
- LayoutTests/inspector/page/setShowPaintRects.html:
- LayoutTests/platform/mac/TestExpectations:
Canonical link: https://commits.webkit.org/251585@main
- 4:32 PM Changeset in webkit [295579] by
-
- 1 edit in trunk/.github/CODEOWNERS
Add myself (patrickangle) to GitHub CODEOWNERS for Web Inspector
Reviewed by Jonathan Bedard.
- .github/CODEOWNERS:
Canonical link: https://commits.webkit.org/251584@main
- 4:01 PM Changeset in webkit [295578] by
-
- 2 edits in trunk/Source/WTF
[Cocoa] Add feature flag for WebM Experiment
https://bugs.webkit.org/show_bug.cgi?id=241642
<rdar://95228097>
Patch by Youssef Soliman <youssefdevelops@gmail.com> on 2022-06-15
Reviewed by Eric Carlson.
Added internal feature and build flag for experimental WebM player.
- Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml:
- Source/WTF/wtf/PlatformEnableCocoa.h:
Canonical link: https://commits.webkit.org/251583@main
- 3:46 PM Changeset in webkit [295577] by
-
- 1 edit in trunk/Tools/Scripts/build-webkit
[build-webkit] Don't run build-imagediff when cleaning with Xcode
https://bugs.webkit.org/show_bug.cgi?id=241624
Reviewed by Jonathan Bedard.
Fixes "error: Unknown build action ' --clean'" from xcodebuild, as
build-webkit was passing the --clean argument to build-imagediff with an
extra space.
Since the move to XCBuild, cleaning deletes the whole build directory,
so there is nothing left for build-imagediff to clean and we skip this
step altogether.
- Tools/Scripts/build-webkit:
Canonical link: https://commits.webkit.org/251581@main
- 3:46 PM Changeset in webkit [295576] by
-
- 1 edit in trunk/.github/CODEOWNERS
Add CODEOWNERS file to ping review request automatically to JSC reviewers
https://bugs.webkit.org/show_bug.cgi?id=241058
Reviewed by Jonathan Bedard.
This patch adds JavaScriptCore CODEOWNERS configurations. By using this file, we can request
reviews automatically based on modified files. I added jsc-reviewers group and
this file configures that Source/JavaScriptCore (except for inspector directory)
PR will automatically set jsc-reviewers as a requested reviewer.
- .github/CODEOWNERS: Added.
Canonical link: https://commits.webkit.org/251581@main
- 3:29 PM Changeset in webkit [295575] by
-
- 1 edit in trunk/.github/CODEOWNERS
add myself to GitHub CODEOWNERS
Reviewed by Jonathan Bedard
- .github/CODEOWNERS:
Specifically for:
- Web Inspector (frontend and backend)
- Apple Pay
- Payment Request
- media controls
Canonical link: https://commits.webkit.org/251580@main
- 3:21 PM Changeset in webkit [295574] by
-
- 3 edits in trunk/Source/WebInspectorUI/UserInterface/Views
Web Inspector: Regression(r293334)
fill-availableis not a valid dimension,-webkit-fill-availableis still prefixed
https://bugs.webkit.org/show_bug.cgi?id=241649
rdar://95240065
Reviewed by Devin Rousso.
fill-availableis not a valid CSS dimension, we still need to use-webkit-fill-availablefor now.
- Source/WebInspectorUI/UserInterface/Views/EventBreakpointPopover.css:
(.popover .edit-breakpoint-popover-content .event input):
- Source/WebInspectorUI/UserInterface/Views/GeneralStyleDetailsSidebarPanel.css:
(.sidebar > .panel.details.css-style > .content ~ .options-container > .filter-bar):
- Source/WebInspectorUI/UserInterface/Views/RecordingContentView.css:
(.content-view.recording > .preview-container):
Canonical link: https://commits.webkit.org/251579@main
- 2:40 PM Changeset in webkit [295573] by
-
- 1 edit2 adds in trunk
REGRESSION (r287195): Safari fails to correctly render indented numbered lists with custom CSS and hyphenation ON
https://bugs.webkit.org/show_bug.cgi?id=241630
<rdar://91245970>
Reviewed by Darin Adler.
- LayoutTests/fast/text/list-and-hyphenation-expected.html: Added.
- LayoutTests/fast/text/list-and-hyphenation.html: Added.
- Source/WebCore/rendering/RenderText.cpp:
(WebCore::RenderText::maxWordFragmentWidth):
Return entireWordWidth instead of 0 in the bail out cases.
This ends up setting maxWordWidth = w and leaving currMinWidth unchanged in the caller, matching the pre-r287195 behavior.
Canonical link: https://commits.webkit.org/251578@main
- 2:35 PM Changeset in webkit [295572] by
-
- 2 edits in trunk/Source/WebKit
Block network extension system calls
https://bugs.webkit.org/show_bug.cgi?id=241633
<rdar://73513138>
Reviewed by Sihui Liu.
After moving content filtering to the Network process and fixing an issue where Safari's injected bundle were
making network calls, network extension system calls can be blocked in the WebContent process.
- Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- Source/WebKit/WebProcess/com.apple.WebProcess.sb.in:
Canonical link: https://commits.webkit.org/251577@main
- 1:44 PM Changeset in webkit [295571] by
-
- 1 edit1 move in trunk/Source/WebKit
Rename file
https://bugs.webkit.org/show_bug.cgi?id=241644
Unreviewed, rename incorrectly named file AuxiliaryProcessProcyCocoa.mm.
- Source/WebKit/UIProcess/Cocoa/AuxiliaryProcessProxyCocoa.mm: Renamed from Source/WebKit/UIProcess/Cocoa/AuxiliaryProcessProcyCocoa.mm.
(WebKit::AuxiliaryProcessProxy::fetchAudioComponentServerRegistrations):
- Source/WebKit/WebKit.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/251576@main
- 1:20 PM Changeset in webkit [295570] by
-
- 2 edits in trunk/Source/bmalloc/libpas/src/libpas
[libpas] fix build with pas_assertion_failed and type conversion
https://bugs.webkit.org/show_bug.cgi?id=241640
Reviewed by Mark Lam.
Build fix.
- Source/bmalloc/libpas/src/libpas/pas_utils.c:
(pas_report_assertion_failed):
(pas_assertion_failed): Deleted.
- Source/bmalloc/libpas/src/libpas/pas_utils.h:
(pas_assertion_failed):
(pas_assertion_failed_noreturn_silencer1):
(pas_assertion_failed_noreturn_silencer2):
(pas_assertion_failed_noreturn_silencer3):
(pas_assertion_failed_noreturn_silencer4):
(pas_assertion_failed_noreturn_silencer5):
(pas_assertion_failed_noreturn_silencer6):
Canonical link: https://commits.webkit.org/251575@main
- 12:59 PM Changeset in webkit [295569] by
-
- 11 edits in trunk
Invalidate animation keyframes using container units on when container size changes
https://bugs.webkit.org/show_bug.cgi?id=241546
Reviewed by Antoine Quint.
Container size change also changes the interpretation of container units used in keyframes.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-animation-expected.txt:
- Source/WebCore/dom/Element.cpp:
(WebCore::Element::invalidateForQueryContainerSizeChange):
(WebCore::Element::needsUpdateQueryContainerDependentStyle const):
(WebCore::Element::clearNeedsUpdateQueryContainerDependentStyle):
(WebCore::Element::invalidateForQueryContainerChange): Deleted.
Add a new bit that tells when a container has been resized.
- Source/WebCore/dom/Element.h:
- Source/WebCore/dom/Node.h:
- Source/WebCore/rendering/style/KeyframeList.cpp:
(WebCore::KeyframeList::usesContainerUnits const):
Check for container unit use.
- Source/WebCore/rendering/style/KeyframeList.h:
- Source/WebCore/style/StyleScope.cpp:
(WebCore::Style::Scope::updateQueryContainerState):
- Source/WebCore/style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::createAnimatedElementUpdate):
Invalidate the keyframes if needed when computing the style.
(WebCore::Style::TreeResolver::pushParent):
Track if the subtree is withing a resized container.
- Source/WebCore/style/StyleTreeResolver.h:
- Source/WebCore/style/Styleable.cpp:
(WebCore::Styleable::queryContainerDidChange const):
- Source/WebCore/style/Styleable.h:
Canonical link: https://commits.webkit.org/251574@main
- 12:28 PM Changeset in webkit [295568] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm
[Cocoa] Crash in SourceBufferPrivateAVFObjC::layerDidReceiveError.
https://bugs.webkit.org/show_bug.cgi?id=241599
rdar://92972452
Reviewed by Jer Noble.
Have WebAVSampleBufferErrorListener take a strong reference to
parentbefore calling it.
- Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(-[WebAVSampleBufferErrorListener observeValueForKeyPath:ofObject:change:context:]):
(-[WebAVSampleBufferErrorListener layerFailedToDecode:]):
(-[WebAVSampleBufferErrorListener audioRendererWasAutomaticallyFlushed:]):
Canonical link: https://commits.webkit.org/251573@main
- 11:01 AM Changeset in webkit [295567] by
-
- 1 edit in trunk/Source/WebKit/Shared/Cocoa/AuxiliaryProcessCocoa.mm
Fix build issue
https://bugs.webkit.org/show_bug.cgi?id=241637
Unreviewed, fix build issue after r295560.
- Source/WebKit/Shared/Cocoa/AuxiliaryProcessCocoa.mm:
Canonical link: https://commits.webkit.org/251572@main
- 10:58 AM Changeset in webkit [295566] by
-
- 1 edit in trunk/Websites/bugs.webkit.org/PrettyPatch/PrettyPatch.rb
Incorrect Github file link in PrettyPatch
https://bugs.webkit.org/show_bug.cgi?id=241638
Patch by Youssef Soliman <youssefdevelops@gmail.com> on 2022-06-15
Reviewed by Jonathan Bedard.
In the pretty patch view, pressing a filename redirects you to
https://github.com/WebKit/WebKit/blob/%7Bfilename%7D due to a
templating typo.
- Websites/bugs.webkit.org/PrettyPatch/PrettyPatch.rb:
Canonical link: https://commits.webkit.org/251571@main
- 10:51 AM Changeset in webkit [295565] by
-
- 7 edits1 add in trunk/Source/WebKit
Move webpushd and adattributiond to the secondary content path when configured
https://bugs.webkit.org/show_bug.cgi?id=241539
<rdar://90513797>
Reviewed by Keith Miller.
Moved webpushd and adattributiond and their plist files to the secondary content path when using
the system content path.
As part of this change, webpushd was moved to SYSTEM_SECONDARY_CONTENT_PATH/usr/libexec.
Created symlinks in /System/Library/{LaunchAgents|LaunchDaemons} for the plist files.
- Source/WebKit/Configurations/Base.xcconfig:
- Source/WebKit/Configurations/adattributiond.xcconfig:
- Source/WebKit/Configurations/webpushd.xcconfig:
- Source/WebKit/Scripts/copy-launchd-plist-and-create-symlink.sh: Added.
- Source/WebKit/Shared/EntryPointUtilities/Cocoa/Daemon/com.apple.webkit.adattributiond.plist:
- Source/WebKit/WebKit.xcodeproj/project.pbxproj:
- Source/WebKit/webpushd/com.apple.webkit.webpushd.ios.plist:
- Source/WebKit/webpushd/com.apple.webkit.webpushd.mac.plist:
Canonical link: https://commits.webkit.org/251570@main
- 10:06 AM Changeset in webkit [295564] by
-
- 3 edits in trunk/LayoutTests
REGRESSION: [ Mac wk2 ] fast/forms/datetimelocal/datetimelocal-editable-components/datetimelocal-choose-value-from-picker.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=239257
rdar://91653542
Reviewed by Wenson Hsieh.
245100@main changed the value parsing and sanitization algorithm for
<input type="datetime-local"> to better match the spec. Following this change,
the output of HTMLInputElement.value uses the shortest possible string,
omitting seconds or milliseconds when 0.
The flaky test tests that choosing a value using the date/time picker does not
unexpectedly add or remove second and millisecond fields. This behavior was
being verified by checking whether the input's value contained seconds or
milliseconds after using the picker. However, following 245100@main, the value
can appear without seconds/milliseconds, even though the editable fields do.
The non-determinism comes from the fact that the current system time is used
to populate the seconds and milliseconds field when using the picker on an
empty input. Consequently, the test will fail when the current time has a 0
second value.
To fix, verify that using the picker does not unexpectedly add or remove second
and millisecond fields by checking the width of the element before and after
date selection. This approach ensures determinism, while fulfilling the goal of
the test.
As an aside, the current behavior to populate the seconds and milliseconds for
empty inputs could be improved. http://webkit.org/b/241620 has been filed, with
the intent of setting the seconds and milliseconds fields to 0 when they are
initially empty.
- LayoutTests/fast/forms/datetimelocal/datetimelocal-editable-components/datetimelocal-choose-value-from-picker-expected.txt:
- LayoutTests/fast/forms/datetimelocal/datetimelocal-editable-components/datetimelocal-choose-value-from-picker.html:
- LayoutTests/platform/mac-wk2/TestExpectations:
Canonical link: https://commits.webkit.org/251569@main
- 9:59 AM Changeset in webkit [295563] by
-
- 3 edits in trunk/Source/WebKit/WebProcess/WebPage
REGRESSION (iOS 16): Find on Page highlights shift after entering Split View
https://bugs.webkit.org/show_bug.cgi?id=241615
rdar://94795621
Reviewed by Wenson Hsieh.
When entering Split View, the find overlay layer and the highlighted range
should be redrawn to reflect changes in layout.
- Source/WebKit/WebProcess/WebPage/WebFoundTextRangeController.cpp:
(WebKit::WebFoundTextRangeController::decorateTextRangeWithStyle):
(WebKit::WebFoundTextRangeController::redraw):
(WebKit::WebFoundTextRangeController::setTextIndicatorWithRange):
Factor out text indicator creation into a common method.
- Source/WebKit/WebProcess/WebPage/WebFoundTextRangeController.h:
- Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::mainFrameDidLayout):
Redraw decorated ranges after layout.
Canonical link: https://commits.webkit.org/251568@main
- 9:43 AM Changeset in webkit [295562] by
-
- 4 edits in trunk/Source/bmalloc/libpas/src/libpas
Add variadic PAS_ASSERT support.
https://bugs.webkit.org/show_bug.cgi?id=241626
rdar://95204263
Reviewed by Keith Miller.
This patch adds support for a variadic PAS_ASSERT, and uses it to gather
more debugging info for asserts in pas_local_view_cache_stop and
pas_segregated_heap_ensure_allocator_index.
From manual local disassembly of pas_local_view_cache_stop, I verified that
this patch only changes assertion fail reporting code in an out of line slow
path. The change does perturb code size, and any changes in code may also
cause clang to arbitrarily rearrange the order of some control flow diamonds
(e.g. the cases in a switch statement).
If no extra data is provided to the variadic PAS_ASSERT, it will emit exactly
same code as it does previously when PAS_ASSERT was not variadic. This gives
us confidence that any perturbations in code will only manifest in PAS_ASSERTs
that we choose to add extra info for reporting assertion failures.
Preliminary benchmark results appear to show that performance is neutral.
- Source/bmalloc/libpas/src/libpas/pas_local_view_cache.c:
(pas_local_view_cache_stop):
- Source/bmalloc/libpas/src/libpas/pas_segregated_heap.c:
(pas_segregated_heap_ensure_allocator_index):
- Source/bmalloc/libpas/src/libpas/pas_utils.c:
(pas_crash_with_info_impl1):
(pas_crash_with_info_impl2):
(pas_crash_with_info_impl3):
(pas_crash_with_info_impl4):
(pas_crash_with_info_impl5):
(pas_crash_with_info_impl6):
(pas_report_assertion_failed):
- Source/bmalloc/libpas/src/libpas/pas_utils.h:
(pas_assertion_failed):
(pas_assertion_failed_noreturn_silencer1):
(pas_assertion_failed_noreturn_silencer2):
(pas_assertion_failed_noreturn_silencer3):
(pas_assertion_failed_noreturn_silencer4):
(pas_assertion_failed_noreturn_silencer5):
(pas_assertion_failed_noreturn_silencer6):
Canonical link: https://commits.webkit.org/251567@main
- 8:54 AM Changeset in webkit [295561] by
-
- 4 edits in trunk/Tools/Scripts/libraries/resultsdbpy
Add git-webkit squash and refactory mock git (Follow-up)
https://bugs.webkit.org/show_bug.cgi?id=237664
rdar://90040109
Reviewed by Aakash Jain.
- Tools/Scripts/libraries/resultsdbpy/resultsdbpy/init.py: Bump version.
- Tools/Scripts/libraries/resultsdbpy/setup.py: Ditto.
- Tools/Scripts/libraries/resultsdbpy/resultsdbpy/controller/commit_controller_unittest.py:
(CommitControllerTest.test_branches): Add new branch.
- Tools/Scripts/libraries/resultsdbpy/resultsdbpy/model/commit_context_unittest.py:
(CommitContextTest.test_branches): Ditto.
Canonical link: https://commits.webkit.org/251566@main
- 8:39 AM Changeset in webkit [295560] by
-
- 14 edits1 add in trunk/Source
[GPUP] Send Audio component registrations from the UI process
https://bugs.webkit.org/show_bug.cgi?id=241339
<rdar://88659991>
Reviewed by Geoffrey Garen.
Currently, Audio component registrations are only sent to the WebContent process. They should be sent to the GPU process as well.
This patch moves the existing registration code from the WebContent process code to the Auxiliary process code.
- Source/WebKit/GPUProcess/GPUProcess.messages.in:
- Source/WebKit/Shared/AuxiliaryProcess.h:
- Source/WebKit/Shared/Cocoa/AuxiliaryProcessCocoa.mm:
(WebKit::AuxiliaryProcess::consumeAudioComponentRegistrations):
- Source/WebKit/UIProcess/AuxiliaryProcessProxy.h:
- Source/WebKit/UIProcess/Cocoa/AuxiliaryProcessProcyCocoa.mm: Added.
(WebKit::AuxiliaryProcessProxy::fetchAudioComponentServerRegistrations):
- Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm:
(WebKit::WebProcessProxy::sendAudioComponentRegistrations):
- Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::GPUProcessProxy::didFinishLaunching):
- Source/WebKit/WebKit.xcodeproj/project.pbxproj:
- Source/WebKit/WebProcess/WebProcess.h:
- Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::consumeAudioComponentRegistrations): Deleted.
Canonical link: https://commits.webkit.org/251565@main
- 8:34 AM Changeset in webkit [295559] by
-
- 8 edits in trunk
Web Inspector: Remove setting to toggle fuzzy matching for CSS autocompletion
https://bugs.webkit.org/show_bug.cgi?id=241561
Reviewed by Patrick Angle.
The fuzzy matching CSS autocompletion feature has been enabled by default for a few STP releases already.
No regressions for the autocompletion functionality have been uncovered since.
It's time to remove the setting that allows toggling off the feature.
- LayoutTests/inspector/unit-tests/css-keyword-completions.html:
Turns out the test was never exercising the fuzzy matching branch of autocompletion.
Becaue theuseFuzzyflag was missing, it was falling back to testing prefix autocompletion.
The difference is that completion results are not plain strings, butQueryResultinstances.
- Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js:
- Source/WebInspectorUI/UserInterface/Base/Setting.js:
- Source/WebInspectorUI/UserInterface/Models/CSSCompletions.js:
(WI.CSSCompletions.getCompletionText):
Moved the method to get the string value of a completion from
WI.CompletionSuggestionsView
to be a static member ofWI.CSSCompletions.
- Source/WebInspectorUI/UserInterface/Models/CSSKeywordCompletions.js:
(WI.CSSKeywordCompletions.forPartialPropertyName):
- Source/WebInspectorUI/UserInterface/Views/CompletionSuggestionsView.js:
(WI.CompletionSuggestionsView.prototype.set selectedIndex):
(WI.CompletionSuggestionsView.prototype.getCompletionText): Deleted.
- Source/WebInspectorUI/UserInterface/Views/SettingsTabContentView.js:
- Source/WebInspectorUI/UserInterface/Views/SpreadsheetTextField.js:
(WI.SpreadsheetTextField.prototype._updateCompletions):
Canonical link: https://commits.webkit.org/251564@main
- 7:51 AM Changeset in webkit [295558] by
-
- 1 edit in trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm
AX: CrashTracer: com.apple.WebKit.WebContent at com.apple.WebCore: WTF::RetainPtr<NSMutableArray> WTF::createNSArray<WTF::Vector<WTF::RefPtr<WebCore::AXCoreObject, WTF::RawPtrTraits<WebCore::AXCoreObject>, WTF::DefaultRefDerefTraits<WebC. web content
https://bugs.webkit.org/show_bug.cgi?id=241619
Reviewed by Chris Fleizach.
Check for nullptr before dereferencing the RefPtrs passed to makeNSArray. In some cases, the given AccessibilityChildrenVector may contain nullptrs.
- Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(makeNSArray):
Canonical link: https://commits.webkit.org/251563@main
- 7:02 AM Changeset in webkit [295557] by
-
- 5 edits3 adds in trunk/Source
GPUP CGContexts create unattributed Metal resources
https://bugs.webkit.org/show_bug.cgi?id=241509
rdar://problem/94803367
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-06-15
Reviewed by Dean Jackson.
Re-land the patch after revert with disabling the feature for iOS simulator
since task_identity_t is not available in the simulator.
Unattributed Metal related memory allocations grow GPUP footprint,
causing the process go over its memory limit.
Add a CoreGraphics SPI to mark that the CGContext resources belong to a
particular process.
Integrate this via IOSurface::setOwnershipIdentity(), as that is where
the current CGContext for IOSurfaces are instantiated and held.
- Source/WTF/wtf/PlatformHave.h:
- Source/WebCore/PAL/pal/spi/cg/CoreGraphicsSPI.h:
- Source/WebCore/PAL/pal/cg/CoreGraphicsSoftLink.cpp: Added.
- Source/WebCore/PAL/pal/cg/CoreGraphicsSoftLink.h: Added.
- Source/WebCore/PAL/pal/PlatformMac.cmake:
- Source/WebCore/platform/graphics/cocoa/IOSurface.h:
- Source/WebCore/platform/graphics/cocoa/IOSurface.mm:
(WebCore::IOSurface::ensurePlatformContext):
(WebCore::IOSurface::setOwnershipIdentity):
Canonical link: https://commits.webkit.org/251562@main
- 6:43 AM Changeset in webkit [295556] by
-
- 1 edit4 adds in trunk
REGRESSION (r289443): Page contents disappear after entering a letter in the username field of bmoharris.com
https://bugs.webkit.org/show_bug.cgi?id=241625
<rdar://93516876>
Reviewed by Simon Fraser.
overflow: clip forbids scrolling entirely, through any mechanism (https://drafts.csswg.org/css-overflow/#propdef-overflow)
- LayoutTests/fast/scrolling/scrollIntoView-with-overflow-clip-expected.html: Added.
- LayoutTests/fast/scrolling/scrollIntoView-with-overflow-clip.html: Added.
- LayoutTests/fast/scrolling/selection-reveal-with-overflow-clip-expected.html: Added.
- LayoutTests/fast/scrolling/selection-reveal-with-overflow-clip.html: Added.
- Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::allowsCurrentScroll const): Make sure the content is not scrollable when overflow: clip is set on the renderer.
Canonical link: https://commits.webkit.org/251561@main
- 4:10 AM Changeset in webkit [295555] by
-
- 9 edits in trunk
[GStreamer][WebRTC] canvas to PeerConnection improvements
https://bugs.webkit.org/show_bug.cgi?id=241330
Patch by Philippe Normand <philn@igalia.com> on 2022-06-15
Reviewed by Miguel Gomez and Xabier Rodriguez-Calvar.
Video frames exported from the WebGL canvas need to be flipped on GStreamer ports and their format
should be RGBA. Frames coming from 2D canvas don't need to be flipped and have BGRA format.
Texture flipping is now handled in the player which is useful when painting canvas to a video
element. And flipping is also now handled in RTC outgoing video sources, which is useful when
exporting a canvas to a WebRTC PeerConnection.
The 30fps framerate is hardcoded, ideally should be inferred from the compositor refresh rate.
Having a framerate > 1 is specially needed for the canvas->WebRTC use-case, otherwise a 1/1
framerate would be set in caps, making the corresponding video stream slower than the actual refresh
rate.
- LayoutTests/platform/glib/TestExpectations:
- Source/WebCore/html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::toVideoFrame):
- Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::updateTextureMapperFlags):
- Source/WebCore/platform/graphics/gstreamer/VideoFrameGStreamer.cpp:
(WebCore::VideoFrameGStreamer::createFromPixelBuffer):
- Source/WebCore/platform/graphics/gstreamer/VideoFrameGStreamer.h:
- Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp:
(WebCore::GraphicsContextGLTextureMapper::paintCompositedResultsToVideoFrame):
- Source/WebCore/platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.cpp:
(WebCore::MockRealtimeVideoSourceGStreamer::updateSampleBuffer):
- Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceGStreamer.cpp:
(WebCore::RealtimeOutgoingVideoSourceGStreamer::RealtimeOutgoingVideoSourceGStreamer):
(WebCore::RealtimeOutgoingVideoSourceGStreamer::setPayloadType):
- Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceGStreamer.h:
Canonical link: https://commits.webkit.org/251560@main
- 12:55 AM Changeset in webkit [295554] by
-
- 1 edit in trunk/Source/WebInspectorUI/UserInterface/Base/BrowserInspectorFrontendHost.js
[WPE][GTK] REGRESSION(r292084): Browser frontend host is missing recent additions
https://bugs.webkit.org/show_bug.cgi?id=241594
Reviewed by Patrick Angle.
Update BrowserInspectorFrontendHost.js to add missing methods, update
signatures of changed ones, and remove those which are no longer present
in the IDL interface. This makes the Web Inspector work again when
loaded over HTTP.
- Source/WebInspectorUI/UserInterface/Base/BrowserInspectorFrontendHost.js:
(window.InspectorFrontendHost.WI.BrowserInspectorFrontendHost.prototype.canLoad): Added, always
returns false.
(window.InspectorFrontendHost.WI.BrowserInspectorFrontendHost.prototype.load): Added stub.
(window.InspectorFrontendHost.WI.BrowserInspectorFrontendHost.prototype.getPath): Added stub.
(window.InspectorFrontendHost.WI.BrowserInspectorFrontendHost.prototype.canPickColorFromScreen):
Added, always returns false.
(window.InspectorFrontendHost.WI.BrowserInspectorFrontendHost.prototype.pickColorFromScreen):
Added stub.
(window.InspectorFrontendHost.WI.BrowserInspectorFrontendHost.prototype.getCurrentX): Added stub.
(window.InspectorFrontendHost.WI.BrowserInspectorFrontendHost.prototype.getCurrentY): Added stub.
(window.InspectorFrontendHost.WI.BrowserInspectorFrontendHost.prototype.setPath): Added stub.
(window.InspectorFrontendHost.WI.BrowserInspectorFrontendHost.prototype.get port): Deleted.
(window.InspectorFrontendHost.WI.BrowserInspectorFrontendHost.prototype.append): Deleted.
(window.InspectorFrontendHost.WI.BrowserInspectorFrontendHost.prototype.close): Deleted.
Canonical link: https://commits.webkit.org/251559@main
Jun 14, 2022:
- 11:38 PM Changeset in webkit [295553] by
-
- 4 edits2 adds in trunk
AX: AccessibilityObject::insertText does not insert any text into password fields
https://bugs.webkit.org/show_bug.cgi?id=241613
Reviewed by Chris Fleizach and Andres Gonzalez.
Prior to this patch, AccessibilityObject::insertText used to return
early if Element::shouldUseInputMethod returned false. We need to
exclude password fields from this check, which this patch implements.
- LayoutTests/accessibility/insert-text-into-password-field-expected.txt: Added.
- LayoutTests/accessibility/insert-text-into-password-field.html: Added.
- LayoutTests/platform/glib/TestExpectations: Disable new test.
- LayoutTests/platform/ios/TestExpectations: Enable new test.
- LayoutTests/platform/win/TestExpectations: Disable new test.
- Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::insertText):
Canonical link: https://commits.webkit.org/251558@main
- 10:57 PM Changeset in webkit [295552] by
-
- 5 edits4 adds in trunk
REGRESSION (iOS 16): <img> with video source fails to render—affects iCloud live photos (IOKit blocking)
https://bugs.webkit.org/show_bug.cgi?id=241589
Reviewed by Simon Fraser.
Stop using IOKit in the content process. Instead we create a SharedMemory backed
ShareableBitmap and send it to the content process. The content process takes
ownership of this ShareableBitmap.
Covered by new media/media-hevc-video-as-img.html test
- LayoutTests/media/content/bipbop-hevc.mp4: Added.
- LayoutTests/media/content/test-video-as-img.png: Added.
- LayoutTests/media/media-hevc-video-as-img-expected.html: Added.
- LayoutTests/media/media-hevc-video-as-img.html: Added.
- LayoutTests/platform/glib/TestExpectations:
- Source/WebKit/GPUProcess/media/RemoteImageDecoderAVFProxy.cpp:
(WebKit::RemoteImageDecoderAVFProxy::createFrameImageAtIndex):
- Source/WebKit/GPUProcess/media/RemoteImageDecoderAVFProxy.h:
- Source/WebKit/GPUProcess/media/RemoteImageDecoderAVFProxy.messages.in:
- Source/WebKit/WebProcess/GPU/media/RemoteImageDecoderAVF.cpp:
(WebKit::RemoteImageDecoderAVF::createFrameImageAtIndex):
Canonical link: https://commits.webkit.org/251557@main
- 7:49 PM Changeset in webkit [295551] by
-
- 2 edits in trunk
Temporal.Instant#round should treat the Big Bang (not the Unix epoch) as zero
https://bugs.webkit.org/show_bug.cgi?id=241622
Reviewed by Yusuke Suzuki.
Implement the spec fix of tc39/proposal-temporal#2210.
This change is quite simple, as we can just update the Int128 version of roundNumberToIncrement.
- JSTests/test262/expectations.yaml:
Mark four test cases as passing.
- Source/JavaScriptCore/runtime/TemporalObject.cpp:
(JSC::roundNumberToIncrement):
(JSC::abs): Deleted.
Canonical link: https://commits.webkit.org/251556@main
- 7:27 PM Changeset in webkit [295550] by
-
- 2 edits in trunk
Temporal.PlainTime#since should handle ceil/floor properly
https://bugs.webkit.org/show_bug.cgi?id=241623
Reviewed by Yusuke Suzuki.
This patch adds a spec step that our implementation was missing:
DifferenceTemporalPlainTime ( operation, temporalTime, other, options )
...
- If operation is ~since~, then
- Set roundingMode to ! NegateTemporalRoundingMode(roundingMode).
- JSTests/test262/expectations.yaml:
Mark four test cases as passing.
- Source/JavaScriptCore/runtime/TemporalPlainTime.cpp:
(JSC::TemporalPlainTime::since const):
Canonical link: https://commits.webkit.org/251555@main
- 7:21 PM Changeset in webkit [295549] by
-
- 1 edit in trunk/Source/WTF/wtf/PlatformEnable.h
Wasm LLInt support does not build on arm32-softfp
https://bugs.webkit.org/show_bug.cgi?id=241592
Patch by Joseph Griego <jgriego@igalia.com> on 2022-06-14
Reviewed by Yusuke Suzuki.
Example build failure: https://build.webkit.org/#/builders/61/builds/12719
Additionally, fixing the obvious problem in
FPRInfo.hwill fix the build
but does not produce working wasm support. So, for now, disable the feature
if are building with the softfp ABI
- Source/WTF/wtf/PlatformEnable.h:
Canonical link: https://commits.webkit.org/251554@main
- 6:49 PM Changeset in webkit [295548] by
-
- 3 edits in trunk/LayoutTests
[iOS 15+] editing/selection/ios/hide-selection-in-tiny-contenteditable.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=241611
rdar://82183980
Reviewed by Aditya Keerthi.
This test is intended to check whether the text editing caret is visible or hidden on iOS when focusing a 1px by 1px
editable container; in particular, we expect to see the caret show up after making the tiny contenteditable area much
larger. However, the horizontal offset of the caret is sometimes shifted by a small amount to the left during the final
step of the test, likely due to the fact that the web view might still be in an unstable state after the animated zoom
in and out. Unfortunately, I haven't been able to reproduce this locally, so I can't confirm that this theory.
To try and mitigate this with a speculative fix, we:
- Update the test so that it just checks whether or not the caret rect is empty during each step.
- Use
immediateZoomToScaleinstead ofzoomToScale, so that we don't end up in an unstable state after finishing
the second part of the test (which zooms in and out).
- LayoutTests/editing/selection/ios/hide-selection-in-tiny-contenteditable-expected.txt:
- LayoutTests/editing/selection/ios/hide-selection-in-tiny-contenteditable.html:
- LayoutTests/platform/ios-wk2/TestExpectations:
Mark the test as passing.
Canonical link: https://commits.webkit.org/251553@main
- 6:13 PM Changeset in webkit [295547] by
-
- 5 edits1 delete in trunk/Source
Revert [251527@main] GPUP CGContexts create unattributed Metal resources
https://bugs.webkit.org/show_bug.cgi?id=241509
rdar://problem/94803367
Unreviewed build fix/ revert.
- Source/WTF/wtf/PlatformHave.h:
- Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj:
- Source/WebCore/PAL/pal/PlatformMac.cmake:
- Source/WebCore/PAL/pal/cg/CoreGraphicsSoftLink.cpp: Removed.
- Source/WebCore/PAL/pal/cg/CoreGraphicsSoftLink.h: Removed.
- Source/WebCore/platform/graphics/cocoa/IOSurface.h:
- Source/WebCore/platform/graphics/cocoa/IOSurface.mm:
(WebCore::IOSurface::ensurePlatformContext):
(WebCore::IOSurface::setOwnershipIdentity):
Canonical link: https://commits.webkit.org/251552@main
- 5:53 PM Changeset in webkit [295546] by
-
- 63 edits16 deletes in trunk
Revert r295516 and r295373
https://bugs.webkit.org/show_bug.cgi?id=241621
Unreviewed, reverts:
r295516 "Make TextRun::isolatedCopy copy character data in more cases"
r295373 "Add a new DrawDecomposedGlyphs display list item to avoid repeatedly sending glyphs when using the GlyphDisplayListCache"
Canonical link: https://commits.webkit.org/251551@main
- 4:54 PM Changeset in webkit [295545] by
-
- 2 edits in trunk/Source/WebKit
Return error when parsing badly encoded std::variant IPC messages.
https://bugs.webkit.org/show_bug.cgi?id=241547
rdar://problem/95016858
Reviewed by Kimmo Kinnunen.
We check the variant's index at the start and insure its validity,
returning early of an invalid type index is found rather than asserting.
Code covered by making PasteboardCustomData::Entry use the std::variant encoder
and covered with ipc/pasteboard-write-custom-data.html
- Source/WebKit/Platform/IPC/ArgumentCoders.h:
- Source/WebKit/Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<PasteboardCustomData::Entry>::encode):
(IPC::ArgumentCoder<PasteboardCustomData::Entry>::decode):
Canonical link: https://commits.webkit.org/251550@main
- 3:59 PM Changeset in webkit [295544] by
-
- 1 edit in trunk/Source/cmake/OptionsPlayStation.cmake
[CMake] Specify some PlayStation WebKitRequirements components as optional
https://bugs.webkit.org/show_bug.cgi?id=241585
Reviewed by Ross Kirsling.
Explicitly mark the components of
find_package(WebKitRequirements)as optional and required.
Some components can be optionally provided by WebKitRequirements or outside it as its own binary
so do a check for those cases, like libwebp.
- Source/cmake/OptionsPlayStation.cmake:
Canonical link: https://commits.webkit.org/251549@main
- 3:51 PM Changeset in webkit [295543] by
-
- 1 edit in trunk/Tools/CISupport/built-product-archive
Refactor built-product-archive to avoid deleting build products
https://bugs.webkit.org/show_bug.cgi?id=241586
Reviewed by Jonathan Bedard.
Deleting build products interferes with subsequent incremental builds.
Change the script to filter out what gets added to the archive, instead
of deleting from the directory being archived.
On Darwin-based platforms, this is done with mkbom and ditto's --bom
option, and surfaced in createZip via anexcludePatternsargument.
Additionally, clean up the top-level logic before calling into
createZip, so that it doesn't need to know about the --minify option.
- Tools/CISupport/built-product-archive:
Canonical link: https://commits.webkit.org/251548@main
- 3:22 PM Changeset in webkit [295542] by
-
- 2 edits in trunk
TextureMapperLayer - avoiding multiple regions in paintUsingOverlapRegions
https://bugs.webkit.org/show_bug.cgi?id=140101
Reviewed by Don Olmstead.
paintUsingOverlapRegions has a code to merge nonOverlapRegion into
overlapRegion to avoid dividing into multiple small areas if
overlapRegion is bigger than nonOverlapRegion.
However, if the overlap region is just 1 pixel small from all the 4
side, this check would not catch that.
- LayoutTests/platform/glib/TestExpectations:
- Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::paintUsingOverlapRegions):
Compare totalArea of overlapRegion and nonOverlapRegion.
Canonical link: https://commits.webkit.org/251547@main
- 3:15 PM Changeset in webkit [295541] by
-
- 2 edits in trunk/Source/WebCore
Remove redundant text-align-last BuilderCustom functions
https://bugs.webkit.org/show_bug.cgi?id=241607
<rdar://95131415>
Reviewed by Simon Fraser.
They might have been copy pasted from text-align, which needs them for the hasExplicitlySetTextAlign flag, which text-align-last does not have.
- Source/WebCore/css/CSSProperties.json:
- Source/WebCore/style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyInitialTextAlignLast): Deleted.
(WebCore::Style::BuilderCustom::applyValueTextAlignLast): Deleted.
Canonical link: https://commits.webkit.org/251546@main
- 3:14 PM Changeset in webkit [295540] by
-
- 4 edits in trunk
[git-webkit] Automatically grant team access to private forks
https://bugs.webkit.org/show_bug.cgi?id=240819
<rdar://93780380>
Reviewed by Stephanie Lewis.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py:
(Tracker): Share ACCEPT_HEADER string.
(Tracker.credentials.validater): Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py:
(Setup.github): Allow provided team access to forked repository.
(Setup.git): Pass team for repo access from webkitscmpy.access config value.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub): Share ACCEPT_HEADER string.
(GitHub.PRGenerator.create): Ditto.
(GitHub.PRGenerator.update): Ditto.
(GitHub.request): Ditto.
- metadata/git_config_extension: Define group to have access to apple/WebKit forks.
Canonical link: https://commits.webkit.org/251545@main
- 2:59 PM Changeset in webkit [295539] by
-
- 5 edits in trunk/Source/WebCore
Track SVG renderer updates using a NodeFlag instead of on Style::Update
https://bugs.webkit.org/show_bug.cgi?id=241489
<rdar://problem/94756741>
Reviewed by Antti Koivisto.
SVG renderer updates are currently tracked as a kind of Style::Update change.
When a page is updating attributes on many SVG elements, but is not making
changes that require a restyle on those elements, we can spend a lot of time
hashing to store and look up the Style::Update associated with an element.
This patch moves the "SVG renderer update is needed" state to a Node flag
instead, but continues to use the Style::Update mechanism for root tracking,
to reduce this overhead.
This is a 1% improvement on the MotionMark Suits sub-test.
- Source/WebCore/rendering/updating/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::updateRenderTree):
(WebCore::RenderTreeUpdater::updateSVGRendererIfNeeded):
(WebCore::RenderTreeUpdater::updateElementRenderer):
- Source/WebCore/rendering/updating/RenderTreeUpdater.h:
- Source/WebCore/style/StyleUpdate.cpp:
(WebCore::Style::Update::addElement):
(WebCore::Style::Update::addSVGRendererUpdate):
- Source/WebCore/style/StyleUpdate.h:
Canonical link: https://commits.webkit.org/251544@main
- 2:46 PM Changeset in webkit [295538] by
-
- 3 edits in trunk
Treat the composite operator for the bottom mask layer as source-over.
https://bugs.webkit.org/show_bug.cgi?id=241541
Reviewed by Tim Nguyen.
- LayoutTests/TestExpectations:
- Source/WebCore/rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
- Source/WebCore/rendering/style/FillLayer.h:
(WebCore::FillLayer::compositeForPainting const):
Canonical link: https://commits.webkit.org/251543@main
- 2:36 PM Changeset in webkit [295537] by
-
- 2 edits in trunk/Source/WebKit/UIProcess
Update context menu icon for Remove Background
https://bugs.webkit.org/show_bug.cgi?id=241467
Patch by Mike Wyrzykowski <mwyrzykowski@apple.com> on 2022-06-14
Reviewed by Dean Jackson and Wenson Hsieh.
Update the symbol names for Copy Subject and Remove Background.
- Source/WebKit/UIProcess/API/Cocoa/_WKElementAction.mm:
(+[_WKElementAction imageForElementActionType:]):
Copy Subject will use circle.dashed.rectangle.
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView removeBackgroundMenu]):
Remove Background should use circle.rectangle.filled.pattern.diagonalline.
(-[WKContentView menuWithInlineAction:image:identifier:handler:]):
Add image parameter for vertical context menu.
(-[WKContentView appHighlightMenu]):
We could use the "quicknote" symbol here but I don't think it's correct.
I left it empty because I don't think app highlights menu can appear in the
larger vertical context menu.
Canonical link: https://commits.webkit.org/251542@main
- 2:17 PM Changeset in webkit [295536] by
-
- 1 edit in trunk/Source/bmalloc/libpas/ReadMe.md
[libpas] Add documentation on running specific tests in libpas
https://bugs.webkit.org/show_bug.cgi?id=241610
Reviewed by Mark Lam.
Add documentation on running specific libpas test cases.
- Source/bmalloc/libpas/ReadMe.md:
Canonical link: https://commits.webkit.org/251541@main
- 2:00 PM Changeset in webkit [295535] by
-
- 1 edit in trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml
Enable CSSTextAlignLast setting by default
https://bugs.webkit.org/show_bug.cgi?id=241241
<rdar://problem/94313487 >
Reviewed by Alan Bujtas.
All the WPT are on parity with Chrome & Firefox, so this should be ready to ship.
- Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml:
Canonical link: https://commits.webkit.org/251540@main
- 1:52 PM Changeset in webkit [295534] by
-
- 3 edits in trunk
CrashTracer: MobileSafari at UIKitCore: -[UITextSearchingFindSession foundRange:forSearchString:inDocument:]
https://bugs.webkit.org/show_bug.cgi?id=241602
rdar://94622715
Reviewed by Wenson Hsieh.
UIKit retains the search string passed in to
-[UITextSearchingFindSession foundRange:forSearchString:inDocument:]. However,
since WebKit returns search results asynchronously, the string may be released
by the time we inform the aggregator of the results.
To fix, retain the search string in the capture list of the search completion
handler.
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView performTextSearchWithQueryString:usingOptions:resultAggregator:]):
- Tools/TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm:
Updated tests to use find interaction API rather than SPI.
Explicitly declare WKWebView's conformance to UITextSearching, since the
conformance to _UITextSearching in WKWebViewPrivate.h hides it.
_UITextSearching is still kept around for SPI clients, and will be removed
once they have migrated to the API.
(-[TestSearchAggregator foundRange:forSearchString:inDocument:]):
(-[TestSearchAggregator invalidateFoundRange:inDocument:]):
(testPerformTextSearchWithQueryStringInWebView):
(textRangesForQueryString):
(TEST):
Added an API test to verify the crash no longer occurs.
- Tools/TestWebKitAPI/ios/UIKitSPI.h:
Declared UITextSearchOptions properties as readwrite for use in testing.
Canonical link: https://commits.webkit.org/251539@main
- 1:33 PM Changeset in webkit [295533] by
-
- 1 edit in trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm
[Cocoa] Update camera list when system preferred camera changes
https://bugs.webkit.org/show_bug.cgi?id=241604
rdar://89694851
Reviewed by Youenn Fablet.
- Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm:
(WebCore::AVCaptureDeviceManager::~AVCaptureDeviceManager):
(WebCore::AVCaptureDeviceManager::registerForDeviceNotifications):
(-[WebCoreAVCaptureDeviceManagerObserver observeValueForKeyPath:ofObject:change:context:]):
Canonical link: https://commits.webkit.org/251538@main
- 1:01 PM Changeset in webkit [295532] by
-
- 2 edits in trunk/Source/WebCore/rendering
Make RenderLayer ISOHeap allocated
https://bugs.webkit.org/show_bug.cgi?id=241606
Reviewed by Alan Bujtas.
Use ISOHeap allocation for RenderLayer. Losing the heap identifier capability is not a big loss;
RenderLayers themselves don't use much memory.
- Source/WebCore/rendering/RenderLayer.cpp:
- Source/WebCore/rendering/RenderLayer.h:
Canonical link: https://commits.webkit.org/251537@main
- 11:11 AM Changeset in webkit [295531] by
-
- 1 edit in trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp
Nullptr crash in RenderLayerCompositor::requiresCompositingLayer
https://bugs.webkit.org/show_bug.cgi?id=241595
<rdar://88854150>
Reviewed by Simon Fraser.
- Source/WebCore/rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingLayer const):
Add a null check. In -webkit-box-reflect case it is not clear renderer.layer() can't be null.
Canonical link: https://commits.webkit.org/251536@main
- 11:06 AM Changeset in webkit [295530] by
-
- 12 edits1 copy in trunk/Source
Create sandbox extension for Power logging service in the GPU process
https://bugs.webkit.org/show_bug.cgi?id=241227
<rdar://82442196>
Reviewed by Geoffrey Garen.
When power logging is enabled, the GPU process on macOS should be granted access to the Power logging service.
- Source/WTF/wtf/PlatformHave.h:
- Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj:
- Source/WebCore/PAL/pal/spi/mac/PowerLogSPI.h: Copied from Source/WebKit/UIProcess/Cocoa/GPUProcessProxyCocoa.mm.
- Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp:
(WebCore::createImageSourceOptions):
- Source/WebKit/Configurations/WebKit.xcconfig:
- Source/WebKit/GPUProcess/GPUProcess.h:
- Source/WebKit/GPUProcess/GPUProcess.messages.in:
- Source/WebKit/GPUProcess/mac/GPUProcessMac.mm:
(WebKit::GPUProcess::openDirectoryCacheInvalidated):
(WebKit::GPUProcess::enablePowerLogging):
- Source/WebKit/UIProcess/Cocoa/GPUProcessProxyCocoa.mm:
(WebKit::GPUProcessProxy::powerLoggingInTaskMode const):
(WebKit::GPUProcessProxy::enablePowerLogging):
- Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::registerNotificationObservers):
(WebKit::WebProcessPool::unregisterNotificationObservers):
- Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::GPUProcessProxy::didFinishLaunching):
- Source/WebKit/UIProcess/GPU/GPUProcessProxy.h:
- Source/WebKit/UIProcess/WebProcessPool.h:
- WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme:
Canonical link: https://commits.webkit.org/251534@main
- 11:05 AM Changeset in webkit [295529] by
-
- 1 edit in trunk/LayoutTests/platform/ios/TestExpectations
[Gardening][ iOS ] editing/pasteboard/dom-paste/dom-paste-same-origin.html is a flaky timeout/failure.
https://bugs.webkit.org/show_bug.cgi?id=237174
Unreviewed test gardening.
- LayoutTests/platform/ios/TestExpectations:
Canonical link: https://commits.webkit.org/251534@main
- 11:02 AM Changeset in webkit [295528] by
-
- 2 edits in trunk/Source
Adopt SPI to get default content of Launch Services database
https://bugs.webkit.org/show_bug.cgi?id=241286
<rdar://64528683>
Reviewed by Geoffrey Garen.
Adopt SPI to get system content of Launch Services database. If this SPI is available,
it will replace the SPI we currently use to retrieve the database in the Network process.
- Source/WTF/wtf/PlatformHave.h:
- Source/WebKit/NetworkProcess/cocoa/LaunchServicesDatabaseObserver.mm:
(WebKit::LaunchServicesDatabaseObserver::LaunchServicesDatabaseObserver):
(WebKit::LaunchServicesDatabaseObserver::startObserving):
(WebKit::LaunchServicesDatabaseObserver::~LaunchServicesDatabaseObserver):
Canonical link: https://commits.webkit.org/251533@main
- 10:51 AM Changeset in webkit [295527] by
-
- 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations
[Gardening]REGRESSION(r289495): [ Monterey arm64 ] model-element/model-element-ready.html is a flaky assertion failure
https://bugs.webkit.org/show_bug.cgi?id=236678
Unreviewed test gardening.
- LayoutTests/platform/mac-wk2/TestExpectations:
Canonical link: https://commits.webkit.org/251532@main
- 10:09 AM Changeset in webkit [295526] by
-
- 10 edits1 add in trunk
[GLib] Support for JS scripts evaluation involving Promises
https://bugs.webkit.org/show_bug.cgi?id=241418
Patch by Philippe Normand <philn@igalia.com> on 2022-06-14
Reviewed by Adrian Perez de Castro and Michael Catanzaro.
The current APIs for
webkit_web_view_run_javascript_*do not handle scripts involving Promises.
This new API fills the gap.
- Source/JavaScriptCore/API/glib/JSCDefines.h:
- Source/WebKit/Shared/API/APISerializedScriptValue.h:
- Source/WebKit/SourcesGTK.txt:
- Source/WebKit/SourcesWPE.txt:
- Source/WebKit/UIProcess/API/glib/APISerializedScriptValueGLib.cpp: Added.
(API::SharedJSContext::SharedJSContext):
(API::SharedJSContext::ensureContext):
(API::SharedJSContext::releaseContextIfNecessary):
(API::sharedContext):
(API::valueFromGVariant):
(API::coreValueFromGVariant):
(API::SerializedScriptValue::createFromGVariant):
- Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:
(webkit_web_view_run_javascript_in_world):
(webkit_web_view_run_async_javascript_function_in_world):
- Source/WebKit/UIProcess/API/gtk/WebKitWebView.h:
- Source/WebKit/UIProcess/API/wpe/WebKitWebView.h:
- Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewRunAsyncFunctions):
(beforeAll):
- Tools/TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
(WebViewTest::runJavaScriptInWorldAndWaitUntilFinished):
(WebViewTest::runAsyncJavaScriptFunctionInWorldAndWaitUntilFinished):
- Tools/TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
Canonical link: https://commits.webkit.org/251531@main
- 10:07 AM Changeset in webkit [295525] by
-
- 3 edits in trunk/Tools
Port to Python3
https://bugs.webkit.org/show_bug.cgi?id=230098
<rdar://problem/82925374>
Reviewed by Aakash Jain.
Port browserperfdash-benchmark to python3 and invoke it with
the python3 interpreter on the CI.
- Tools/CISupport/build-webkit-org/steps.py:
(RunBenchmarkTests):
- Tools/Scripts/browserperfdash-benchmark:
- Tools/Scripts/webkitpy/browserperfdash/browserperfdash_runner.py:
(BrowserPerfDashRunner._parse_config_file):
(BrowserPerfDashRunner._upload_result):
Canonical link: https://commits.webkit.org/251530@main
- 9:21 AM Changeset in webkit [295524] by
-
- 9 edits in trunk/Source/WebKit
UserMediaCaptureManagerProxy should allow reusing any camera source of the same page
https://bugs.webkit.org/show_bug.cgi?id=241548
rdar://problem/95091899
Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-14
Reviewed by Eric Carlson.
We are trying to reuse an existing camera source but we were only storing one camera source.
This does not work well in case the camera source gets cloned and then ended.
What we need to do is store all sources and if one is reusable, use it.
We use a WeakHashSet to store all camera sources (through getUserMedia or clone)
and iterate on them to either reuse and if not possible stop them.
This also ensures that a page does not have two live AVVideoCaptureSource sources.
If we had that, one source would interrupt the other and vice versa.
Fix a bug in which a cloned track would not have its PageIdentifier.
- Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
(WebKit::UserMediaCaptureManagerProxy::createCameraSource):
(WebKit::UserMediaCaptureManagerProxy::clone):
- Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.h:
- Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in:
- Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.cpp:
(WebKit::RemoteRealtimeMediaSourceProxy::createRemoteCloneSource):
- Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.h:
- Source/WebKit/WebProcess/cocoa/RemoteRealtimeVideoSource.cpp:
(WebKit::RemoteRealtimeVideoSource::clone):
Canonical link: https://commits.webkit.org/251529@main
- 9:19 AM Changeset in webkit [295523] by
-
- 1 edit1 delete in trunk/Tools
[BuildStream] Migrate to commit identifier for version keeping
https://bugs.webkit.org/show_bug.cgi?id=241469
Patch by Philippe Normand <philn@igalia.com> on 2022-06-14
Reviewed by Adrian Perez de Castro and Jonathan Bedard.
- Tools/buildstream/utils/generate-version:
- Tools/glib/svn-revision: Deleted.
Canonical link: https://commits.webkit.org/251528@main
- 7:53 AM Changeset in webkit [295522] by
-
- 5 edits3 adds in trunk/Source
GPUP CGContexts create unattributed Metal resources
https://bugs.webkit.org/show_bug.cgi?id=241509
rdar://problem/94803367
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-06-14
Reviewed by Dean Jackson.
Unattributed Metal related memory allocations grow GPUP footprint,
causing the process go over its memory limit.
Add a CoreGraphics SPI to mark that the CGContext resources belong to a
particular process.
Integrate this via IOSurface::setOwnershipIdentity(), as that is where
the current CGContext for IOSurfaces are instantiated and held.
- Source/WTF/wtf/PlatformHave.h:
- Source/WebCore/PAL/pal/spi/cg/CoreGraphicsSPI.h:
- Source/WebCore/PAL/pal/cg/CoreGraphicsSoftLink.cpp: Added.
- Source/WebCore/PAL/pal/cg/CoreGraphicsSoftLink.h: Added.
- Source/WebCore/PAL/pal/PlatformMac.cmake:
- Source/WebCore/platform/graphics/cocoa/IOSurface.h:
- Source/WebCore/platform/graphics/cocoa/IOSurface.mm:
(WebCore::IOSurface::ensurePlatformContext):
(WebCore::IOSurface::setOwnershipIdentity):
Canonical link: https://commits.webkit.org/251527@main
- 7:47 AM WebKitGTK/2.36.x edited by
- (diff)
- 7:10 AM Changeset in webkit [295521] by
-
- 4 edits in trunk/Tools
[build.webkit.org] Add WebKitGTK and WPE bots for Ubuntu 22.04
https://bugs.webkit.org/show_bug.cgi?id=241335
Reviewed by Adrian Perez de Castro and Aakash Jain.
- Tools/CISupport/build-webkit-org/config.json: Add two new entries for building WebKitGTK and WPE on Ubuntu 20.04. The current Ubuntu LTS bots are now building WebKitGTK and WPE on Ubuntu 22.04.
- Tools/CISupport/build-webkit-org/factories_unittest.py: Add two new entries for testing WebKitGTK and WPE on Ubuntu 20.04.
- Tools/glib/dependencies/apt: Install package 'python-gi' only if available.
- Tools/gtk/dependencies/apt: Install packages only if available.
Canonical link: https://commits.webkit.org/251526@main
- 3:12 AM Changeset in webkit [295520] by
-
- 1 edit in trunk/Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py
run-benchmark script fails to find the lsof command on Linux
https://bugs.webkit.org/show_bug.cgi?id=241081
Reviewed by Dewei Zhu.
The lsof command is shipped on Linux typically on /usr/bin meanwhile on
Mac is shipped on /usr/sbin. Check if is on PATH before defaulting to the
Mac path.
- Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py: (SimpleHTTPServerDriver._find_http_server_port):
Canonical link: https://commits.webkit.org/251525@main
- 3:01 AM Changeset in webkit [295519] by
-
- 2 edits in trunk/Source/JavaScriptCore
[RISC-V] Build fixes after 251455@main
https://bugs.webkit.org/show_bug.cgi?id=241591
Patch by Žan Doberšek <zdobersek@igalia.com> on 2022-06-14
Unreviewed, adding missing RISCV64 build guards alongside guards for other
64-bit platforms to get the build back up and running.
- Source/JavaScriptCore/llint/WebAssembly.asm:
- Source/JavaScriptCore/wasm/WasmMemoryInformation.cpp:
(JSC::Wasm::PinnedRegisterInfo::get):
Canonical link: https://commits.webkit.org/251524@main
- 1:28 AM Changeset in webkit [295518] by
-
- 12 edits in trunk
Implement PerformanceResourceTiming.workerStart in ServiceWorkers
https://bugs.webkit.org/show_bug.cgi?id=179377
rdar://problem/35391187
Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-14
Reviewed by Alex Christensen.
Store the time when we are about to either fire the fetch event or run the service worker to fire the fetch event.
To do so, we store it in NetworkResourceLoader and send the value to WebResourceLoader.
In case of process swap, we send it back to the new WebResourceLoader.
WebResourceLoader is then responsible to update the network load metrics when receiving the response/finish load metrics.
Covered by updated tests.
- LayoutTests/http/wpt/service-workers/navigation-timing.https-expected.txt:
- LayoutTests/http/wpt/service-workers/navigation-timing.js:
(event.setTimeout):
- LayoutTests/http/wpt/service-workers/resources/navigation-timing-part-2.html:
- Source/WebCore/page/PerformanceResourceTiming.cpp:
(WebCore::PerformanceResourceTiming::workerStart const):
- Source/WebCore/platform/network/NetworkLoadMetrics.cpp:
(WebCore::NetworkLoadMetrics::updateFromFinalMetrics):
(WebCore::NetworkLoadMetrics::isolatedCopy const):
- Source/WebCore/platform/network/NetworkLoadMetrics.h:
(WebCore::NetworkLoadMetrics::encode const):
(WebCore::NetworkLoadMetrics::decode):
- Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::transferToNewWebProcess):
(WebKit::NetworkResourceLoader::continueWillSendRequest):
(WebKit::NetworkResourceLoader::setWorkerStart):
- Source/WebKit/NetworkProcess/NetworkResourceLoader.h:
- Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:
(WebKit::ServiceWorkerFetchTask::ServiceWorkerFetchTask):
- Source/WebKit/WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::didReceiveResponse):
(WebKit::WebResourceLoader::didFinishResourceLoad):
- Source/WebKit/WebProcess/Network/WebResourceLoader.h:
(WebKit::WebResourceLoader::setWorkerStart):
- Source/WebKit/WebProcess/Network/WebResourceLoader.messages.in:
Canonical link: https://commits.webkit.org/251523@main
Jun 13, 2022:
- 11:33 PM Changeset in webkit [295517] by
-
- 11 edits2 deletes in trunk/Source/WebCore
[GPU Process] [Filters] Remove SVGFilterBuilder
https://bugs.webkit.org/show_bug.cgi?id=241577
<rdar://problem/95074247>
Reviewed by Simon Fraser.
After r295498, all the methods of SVGFilterBuilder became static. So this patch
removes it and moves its methods to SVGFilter.
-- colorInterpolationForElement() will be moved to SVGElement::colorInterpolation().
-- effectGeometryFlagsForElement() will be moved to
SVGFilterPrimitiveStandardAttributes::effectGeometryFlags().
-- FilterData::boundaries is removed. It is set in RenderSVGResourceFilter::
applyResource() and used only in RenderSVGResourceFilter::postApplyResource()
where we check '!isEmpty()'. This check can be replaced by checking if filter
is not nullptr.
-- FilterData::scale is removed since it is not used.
-- FilterData::sourceGraphicBuffer and FilterData::drawingRegion are renamed
sourceImage and sourceImageRect respectively to match the named of the inputs
of GraphicsContext::drawFilteredImageBuffer().
- Source/WebCore/Sources.txt:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebCore/rendering/CSSFilter.cpp:
(WebCore::calculateReferenceFilterOutsets):
- Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::applyResource):
(WebCore::RenderSVGResourceFilter::postApplyResource):
(WebCore::RenderSVGResourceFilter::drawingRegion const):
- Source/WebCore/rendering/svg/RenderSVGResourceFilter.h:
- Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::writeSVGResourceContainer):
- Source/WebCore/svg/SVGElement.cpp:
(WebCore::SVGElement::colorInterpolation const):
- Source/WebCore/svg/SVGElement.h:
- Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.cpp:
(WebCore::SVGFilterPrimitiveStandardAttributes::effectGeometryFlags const):
- Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h:
- Source/WebCore/svg/graphics/filters/SVGFilter.cpp:
(WebCore::SVGFilter::create):
(WebCore::buildFilterEffectsGraph):
(WebCore::SVGFilter::buildExpression):
(WebCore::buildFilterPrimitivesGraph):
(WebCore::SVGFilter::calculateOutsets):
- Source/WebCore/svg/graphics/filters/SVGFilter.h:
- Source/WebCore/svg/graphics/filters/SVGFilterBuilder.cpp: Removed.
- Source/WebCore/svg/graphics/filters/SVGFilterBuilder.h: Removed.
Canonical link: https://commits.webkit.org/251522@main
- 11:30 PM Changeset in webkit [295516] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/TextRun.h
Make TextRun::isolatedCopy copy character data in more cases
https://bugs.webkit.org/show_bug.cgi?id=241581
Reviewed by Simon Fraser.
- Source/WebCore/platform/graphics/TextRun.h:
(WebCore::TextRun::isolatedCopy const):
Canonical link: https://commits.webkit.org/251521@main
- 9:46 PM Changeset in webkit [295515] by
-
- 9 edits in trunk
REGRESSION (251426@main): [ macOS Debug wk2 ] http/tests/media/modern-media-controls/skip-back-support/skip-back-support-button-click.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=241572
rdar://problem/95059414
Reviewed by Cameron McCormack.
In bug 241455 it was incorrectly assumed that checking that the IPCHandle was null
was a sufficient test to check the validity of the reply. However, this ignore the
fact that the IPC decoder will assert if the size isn't valid.
So rather than returning a Handle directly, we return an optional<Handle> instead.
Covered by the existing test.
- LayoutTests/platform/mac-wk2/TestExpectations:
- Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.cpp:
(WebKit::RemoteMediaResourceManager::dataReceived):
- Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.h:
- Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.messages.in:
- Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.cpp:
(WebKit::RemoteSourceBufferProxy::append):
- Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.h:
- Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.messages.in:
- Source/WebKit/WebProcess/GPU/media/RemoteMediaResourceProxy.cpp:
(WebKit::RemoteMediaResourceProxy::dataReceived):
- Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:
(WebKit::SourceBufferPrivateRemote::append):
Canonical link: https://commits.webkit.org/251520@main
- 8:34 PM Changeset in webkit [295514] by
-
- 2 edits2 adds in trunk
TextureMapper: if an element has both a mask image and reflection, the part of the reflection isn't painted
https://bugs.webkit.org/show_bug.cgi?id=241257
Reviewed by Don Olmstead.
If an element has both a mask image and reflection, the mask should be
applied both for the reflection and the real layers. However,
TextureMapper was using a single intermediate surface for painting the
reflection and the real layers.
- Painting the reflection layer
- Applying the mask to the reflection layer
- Painting the real layer
- Applying the mask to the real layer
In the step#4, if the mask layer is larger than the element rect, the
mask was unexpectedly applied to the part of the reflection.
The reflection and the real layers should be painted and masked
separately using intermediate surfaces. If the element has opacity,
they should have another intermediate surface to blend together with
the destination.
- LayoutTests/compositing/reflections/mask-and-reflection-expected.html: Added.
- LayoutTests/compositing/reflections/mask-and-reflection.html: Added.
- Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::shouldBlend const):
(WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica):
(WebCore::TextureMapperLayer::paintUsingOverlapRegions):
(WebCore::TextureMapperLayer::paintSelfChildrenFilterAndMask):
(WebCore::TextureMapperLayer::paintIntoSurface):
(WebCore::TextureMapperLayer::paintWithIntermediateSurface):
(WebCore::TextureMapperLayer::paintSelfAndChildrenWithIntermediateSurface):
(WebCore::TextureMapperLayer::paintSelfChildrenReplicaFilterAndMask):
(WebCore::TextureMapperLayer::paintRecursive):
(WebCore::TextureMapperLayer::setMaskLayer):
- Source/WebCore/platform/graphics/texmap/TextureMapperLayer.h:
Canonical link: https://commits.webkit.org/251519@main
- 8:10 PM Changeset in webkit [295513] by
-
- 1 edit in trunk/Source/WebCore/rendering/RenderThemePlayStation.h
Build fix for PlayStation after r295476
https://bugs.webkit.org/show_bug.cgi?id=241582
Reviewed by Myles C. Maxfield.
In r295476 RenderThemePlayStation::system implementation was removed but the declaration was still
present.
- Source/WebCore/rendering/RenderThemePlayStation.h:
Canonical link: https://commits.webkit.org/251518@main
- 7:30 PM Changeset in webkit [295512] by
-
- 8 edits203 adds in trunk/LayoutTests
Reimport css/css-masking/mask-image WPTs.
https://bugs.webkit.org/show_bug.cgi?id=241567
Reviewed by Tim Nguyen and Simon Fraser.
Import of revision d70634c5f7621f8958c82710c7dd366f5df08f72.
- LayoutTests/TestExpectations:
- LayoutTests/imported/w3c/resources/import-expectations.json:
- LayoutTests/imported/w3c/resources/resource-files.json:
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-clip-1-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-clip-1-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-clip-1.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-clip-2-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-clip-2-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-clip-2.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-1-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-1a-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-1a.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-1b-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-1b.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-1c-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-1c.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-1d-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-1d.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-2-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-2a-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-2a.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-2b-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-2b.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-2c-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-composite-2c.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-1-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-1a-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-1a.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-1b-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-1b.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-1c-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-1c.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-1d-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-1d.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-2-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-2-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-2.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3a-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3a.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3b-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3b.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3c-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3c.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3d-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3d.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3e-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3e.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3f-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3f.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3g-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3g.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3h-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3h.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3i-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-3i.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-4a-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-4a.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-4b-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-4b.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-5-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-5-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-5.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-6-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-6-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-6.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-clip-exclude-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-data-url-image-expected.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-mode-a-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-mode-a.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-mode-b-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-mode-b.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-mode-c-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-mode-c.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-mode-d-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-mode-d.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-mode-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-mode-to-mask-type-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-mode-to-mask-type-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-mode-to-mask-type.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-opacity-1-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-opacity-1a-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-opacity-1a.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-opacity-1b-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-opacity-1b.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-opacity-1c-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-opacity-1c.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-opacity-1d-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-opacity-1d.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-opacity-1e-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-opacity-1e.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-origin-1-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-origin-1-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-origin-1.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-origin-2-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-origin-2-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-origin-2.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-origin-3-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-origin-3-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-origin-3.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-1-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-1a-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-1a.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-1b-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-1b.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-1c-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-1c.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-2-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-2a-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-2a.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-2b-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-2b.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-3-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-3a-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-3a.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-3b-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-3b.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-4-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-4a-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-4a.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-4b-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-4b.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-4c-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-4c.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-4d-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-4d.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-5-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-5-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-5.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-6-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-6-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-6.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-7-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-7-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-position-7.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-repeat-1-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-repeat-1-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-repeat-1.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-repeat-2-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-repeat-2-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-repeat-2.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-repeat-3-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-repeat-3-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-repeat-3.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-auto-auto-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-auto-auto.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-auto-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-auto-length-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-auto-length-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-auto-length.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-auto-percent-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-auto-percent.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-auto-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-auto.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-contain-clip-border-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-contain-clip-border-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-contain-clip-border.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-contain-clip-padding-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-contain-clip-padding-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-contain-clip-padding.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-contain-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-contain-position-fifty-fifty-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-contain-position-fifty-fifty-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-contain-position-fifty-fifty.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-contain-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-contain.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-cover-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-cover-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-cover.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-length-auto-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-length-auto.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-length-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-length-length-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-length-length-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-length-length.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-length-percent-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-length-percent-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-length-percent.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-length.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-percent-auto-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-percent-auto.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-percent-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-percent-length-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-percent-length.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-percent-percent-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-percent-percent-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-percent-percent-stretch-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-percent-percent-stretch-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-percent-percent-stretch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-percent-percent.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-size-percent.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/50x100-opaque-blue.svg: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/50x50-opaque-blue.svg: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/blue-100x100.png: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/blue-100x100.svg: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/blue-100x50-transparent-100x50.png: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/blue-100x50-transparent-100x50.svg: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/blue-luminance-100x100.svg: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/green-100x100.png: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/green-100x100.svg: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/green-luminance-100x100.svg: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/mask-half-transparent-100x100.svg: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/red-100x100.png: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/red-100x100.svg: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/red-luminance-100x100.svg: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/transparent-100x50-blue-100x50.png: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/transparent-100x50-blue-100x50.svg: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/support/w3c-import.log:
- LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/w3c-import.log:
- LayoutTests/platform/gtk/TestExpectations:
- LayoutTests/platform/ios/TestExpectations:
Canonical link: https://commits.webkit.org/251517@main
- 7:24 PM Changeset in webkit [295511] by
-
- 6 edits in trunk
[WPE][GTK] REGRESSION (r294381): WPEWebProcess leak after closing browser
https://bugs.webkit.org/show_bug.cgi?id=241353
Reviewed by Alex Christensen.
Do not keep strong reference to WebPageProxy in the async IPC callback, instead
use WeakPtr to let the page be destroyed if necessary, otherwise the page may
keep its process pool alive after the page was closed.
- Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp: exposed a couple of internal
methods for testing the behavior.
(webkitWebViewForceRepaintForTesting):
(webkitSetCachedProcessSuspensionDelayForTesting):
- Source/WebKit/UIProcess/API/glib/WebKitWebViewInternal.h:
- Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::forceRepaint): replaced strong reference in the callback with
a weak one.
- Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
(testNoWebProcessLeakAfterWebKitWebContextDestroy): new test that makes sure that outstanding
async IPC callbacks are run when page and its context are destroyed.
(beforeAll):
- Tools/TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
(WebViewTest::waitUntilLoadFinished):
- Tools/TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
Canonical link: https://commits.webkit.org/251516@main
- 6:17 PM Changeset in webkit [295510] by
-
- 2 edits in trunk/Source
[Catalyst] Fix build
https://bugs.webkit.org/show_bug.cgi?id=241573
<rdar://95038696>
Reviewed by Wenson Hsieh.
The function CGSSetDenyWindowServerConnections has not been declared.
- Source/WebCore/PAL/pal/spi/cg/CoreGraphicsSPI.h:
- Source/WebKit/Shared/Cocoa/AuxiliaryProcessCocoa.mm:
Canonical link: https://commits.webkit.org/251515@main
- 6:00 PM Changeset in webkit [295509] by
-
- 1 edit in trunk/Source/JavaScriptCore/jsc.cpp
jsc.exe --module-file should understand Windows paths
https://bugs.webkit.org/show_bug.cgi?id=241518
Reviewed by Yusuke Suzuki.
jsc.cpp's module loader was written without any accommodation for Windows, so:
- On Windows, recognize C:\foo as an absolute path and .\foo and ..\foo as dotted relative paths (allowing '/' too).
- On all platforms, stop misusing the URL(base, relative) constructor. This isn't the way to add file:/// to an abspath.
This ensures that module tests are able to run well on Windows.
- Source/JavaScriptCore/jsc.cpp:
(isAbsolutePath): Added.
(isDottedRelativePath): Added.
(absoluteFileURL): Renamed fromabsolutePath.
(GlobalObject::moduleLoaderImportModule):
(GlobalObject::moduleLoaderResolve):
(JSC_DEFINE_HOST_FUNCTION):
(computeFilePath):
(runWithOptions):
Canonical link: https://commits.webkit.org/251514@main
- 5:41 PM Changeset in webkit [295508] by
-
- 1 edit in trunk/Source/WebKit/WebProcess/Storage/WebServiceWorkerFetchTaskClient.h
error: field ‘m_preloadResponse’ has incomplete type ‘WebCore::ResourceResponse’
https://bugs.webkit.org/show_bug.cgi?id=241579
Reviewed by Michael Catanzaro.
Fix WPE compilation.
- Source/WebKit/WebProcess/Storage/WebServiceWorkerFetchTaskClient.h: include missing header.
Canonical link: https://commits.webkit.org/251513@main
- 5:37 PM Changeset in webkit [295507] by
-
- 4 edits in trunk/Source/WebCore/Modules/pictureinpicture
Emit resize event from PiP window
https://bugs.webkit.org/show_bug.cgi?id=241569
Patch by Youssef Soliman <youssefdevelops@gmail.com> on 2022-06-13
Reviewed by Jer Noble.
When the a PiP window is resized, a resize event should be emitted from
the window object, not just the <video> element.
- Source/WebCore/Modules/pictureinpicture/HTMLVideoElementPictureInPicture.cpp:
(WebCore::HTMLVideoElementPictureInPicture::pictureInPictureWindowResized):
- Source/WebCore/Modules/pictureinpicture/PictureInPictureWindow.cpp:
(WebCore::PictureInPictureWindow::create):
(WebCore::PictureInPictureWindow::PictureInPictureWindow):
(WebCore::PictureInPictureWindow::setSize):
- Source/WebCore/Modules/pictureinpicture/PictureInPictureWindow.h:
- Source/WebCore/Modules/pictureinpicture/PictureInPictureWindow.idl:
Canonical link: https://commits.webkit.org/251512@main
- 5:21 PM Changeset in webkit [295506] by
-
- 3 edits in trunk/Source
[WebAuthn] CTAP2_ERR_USER_ACTION_TIMEOUT isn't handled properly
https://bugs.webkit.org/show_bug.cgi?id=241565
rdar://95040155
Reviewed by Brent Fulgham.
Authenticators will time out operations after so many seconds of
waiting for user interaction, returning an error of
CTAP2_ERR_USER_ACTION_TIMEOUT. This patch handles that error
by reissuing the request, instead of letting it go to U2F fallback
and failing there with "no credentials found."
Tested with a Yubikey 5c.
- Source/WebCore/Modules/webauthn/fido/FidoConstants.cpp:
(fido::isCtapDeviceResponseCode):
- Source/WebCore/Modules/webauthn/fido/FidoConstants.h:
- Source/WebKit/UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp:
(WebKit::CtapAuthenticator::continueMakeCredentialAfterResponseReceived):
(WebKit::CtapAuthenticator::continueGetAssertionAfterResponseReceived):
Canonical link: https://commits.webkit.org/251511@main
- 4:42 PM Changeset in webkit [295505] by
-
- 1 edit in trunk/metadata/contributors.json
Add clopez github account to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=241578
Unreviewed.
- metadata/contributors.json:
Canonical link: https://commits.webkit.org/251510@main
- 3:48 PM Changeset in webkit [295504] by
-
- 1 edit in trunk/Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm
CrashTracer: MobileSafari at WebKit: -[WKWebView(WKViewInternalIOS) _updateScrollViewForTransaction:]
https://bugs.webkit.org/show_bug.cgi?id=241563
<rdar://94621991>
Reviewed by Wenson Hsieh.
Protect against a null root scrolling node.
- Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _updateScrollViewForTransaction:]):
Canonical link: https://commits.webkit.org/251509@main
- 3:33 PM Changeset in webkit [295503] by
-
- 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations
[Gardening]: REGRESSION (251426@main): [ macOS Debug wk2 ] http/tests/media/modern-media-controls/skip-back-support/skip-back-support-button-click.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=241572
<rdar://95059414>
Unreviewed test gardening.
- LayoutTests/platform/mac-wk2/TestExpectations:
Canonical link: https://commits.webkit.org/251508@main
- 2:30 PM Changeset in webkit [295502] by
-
- 2 edits in trunk/Source
Web Inspector: [Cocoa] Web Inspector windows open in separate window collection instead of on current stage when using Stage Manager
https://bugs.webkit.org/show_bug.cgi?id=241521
rdar://91964707
Reviewed by Devin Rousso.
For Stage Manager, the Web Inspector window should appear in the same workspace as the active Safari window. Currently
the best way to accomplish this without negatively impacting our fullscreen behavior is to appear as if we are a
preferences window with a toolbar and NSWindowToolbarStylePreference. By hiding the toolbar, there is no visual or
functional change to Web Inspector, and we now get classified as an auxiliary window only in Stage Manager.
- Source/WebKit/UIProcess/Inspector/mac/WebInspectorUIProxyMac.mm:
(WebKit::WebInspectorUIProxy::createFrontendWindow):
- Source/WebKitLegacy/mac/WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController window]):
Canonical link: https://commits.webkit.org/251507@main
- 2:26 PM BuildingGtk edited by
- (diff)
- 1:52 PM Changeset in webkit [295501] by
-
- 1 edit in trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp
Lambda in UniqueIDBDatabaseConnection::abortTransactionWithoutCallback should check weakThis before using this
https://bugs.webkit.org/show_bug.cgi?id=241557
Reviewed by Youenn Fablet.
- Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseConnection::abortTransactionWithoutCallback):
Canonical link: https://commits.webkit.org/251506@main
- 1:19 PM Changeset in webkit [295500] by
-
- 1 edit in trunk/Source/WebInspectorUI/UserInterface/Views/InlineSwatch.js
REGRESSION (r251194): Web Inspector: Uncaught exception when inspecting color referenced by CSS variable
https://bugs.webkit.org/show_bug.cgi?id=241558
Reviewed by Devin Rousso.
The patch for https://bugs.webkit.org/show_bug.cgi?id=241055 introduced an option
to prevent changing color formats when interacting with an inline color swatch.
The value of the
preventChangingColorFormatsoption kept as an instance property ofWI.InlineSwatch.
This is then referenced in the callback passed tocreateCodeMirrorColorTextMarkers(). The
callback doesn't share the same scope, so an exception is raied when callingthis._preventChangingColorFormats.
This patch ensures the value of the instance property is captured in the scope of the callback passed.
- Source/WebInspectorUI/UserInterface/Views/InlineSwatch.js:
(WI.InlineSwatch.prototype._swatchElementClicked.switch.case.WI.InlineSwatch.Type.Variable.optionsForType):
(WI.InlineSwatch.prototype._swatchElementClicked):
Canonical link: https://commits.webkit.org/251505@main
- 1:07 PM Changeset in webkit [295499] by
-
- 1 edit in trunk/Source/WebCore/platform/cocoa/SharedVideoFrameInfo.mm
Check for null buffers in SharedVideoFrameInfo::writePixelBuffer
https://bugs.webkit.org/show_bug.cgi?id=241544
rdar://94649789
Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-13
Reviewed by Eric Carlson.
- Source/WebCore/platform/cocoa/SharedVideoFrameInfo.mm:
(WebCore::SharedVideoFrameInfo::writePixelBuffer):
Canonical link: https://commits.webkit.org/251504@main
- 12:52 PM Changeset in webkit [295498] by
-
- 53 edits in trunk/Source/WebCore
[GPU Process] [Filters] Simplify the dynamic update of the SVG filter elements
https://bugs.webkit.org/show_bug.cgi?id=232842
rdar://85426197
Reviewed by Simon Fraser.
Consider this SVG as an example:
<svg>
<filter id="blur">
<feGaussianBlur stdDeviation="5"/>
</filter>
<circle ... filter="url(#blur)"/>
<rect ... filter="url(#blur)"/>
</svg>
The renderers of the <circle> and the <rect> elements ask the renderer of the
<filter> element, i.e. RenderSVGResourceFilter to applyResource(). In this
function a new SVGFilter is created for each target renderer. A new entry
{ target_renderer, FilterData } is added to
RenderSVGResourceFilter::m_rendererFilterDataMap.
While building the SVGFilter, a new FilterEffect is created for every target
renderer and an entry { primitive_renderer, effect } is added to
SVGFilterBuilder::m_effectRenderer.
Suppose 'stdDeviation' of <feGaussianBlur> has been changed, this is the
current workflow:
SVGFEGaussianBlurElement::svgAttributeChanged() will call
SVGFilterPrimitiveStandardAttributes::primitiveAttributeChanged() which
will call RenderSVGResourceFilterPrimitive::primitiveAttributeChanged().
The last one will call RenderSVGResourceFilter::primitiveAttributeChanged()
and pass itself as an argument.
RenderSVGResourceFilter::primitiveAttributeChanged() will loop through
all the entries in m_rendererFilterDataMap and get the FilterData. And
then it gets the effect given the key primitive renderer from
FilterData::SVGFilterBuilder::m_effectRenderer. Having this effect, its
setFilterEffectAttribute() will be called.
This workflow is cumbersome since it was mainly done this way because the result
FilterImage was stored with the FilterEffect. But since the result FilterImage
was moved out of the FilterEffect, we do not need to create a new FilterEffect
for every target renderer. The same FilterEffect can be shared among all the
target renderers.
This is the new workflow for dynamically updating the FilterEffect attributes:
No need to create a separate FilterEffect for every SVGFilter (or target
renderer). A shared FilterEffect can be used instead. This will be
SVGFilterPrimitiveStandardAttributes::m_effect.
SVGFEGaussianBlurElement::svgAttributeChanged() will call
SVGFilterPrimitiveStandardAttributes::primitiveAttributeChanged() which
will call SVGFEGaussianBlurElement::setFilterEffectAttribute() if m_effect
is not null. setFilterEffectAttribute() will return true if it needs to
be repainted. RenderSVGResourceFilterPrimitive::markFilterEffectForRepaint()
will be called then.
RenderSVGResourceFilterPrimitive::markFilterForInvalidation() will call
RenderSVGResourceFilter::markFilterForRepaint() if effect is not null which
will clear the result FilterImage of this effect and all other FilterImages
which takes the result FilterImage of this effect as an input.
If svgAttributeChanged() finds out it needs to rebuild the entire SVGFilter,
it will call SVGFilterPrimitiveStandardAttributes::markFilterEffectForRebuild()
which will call RenderSVGResourceFilterPrimitive::markFilterEffectForRebuild()
and sets SVGFilterPrimitiveStandardAttributes::m_effect to nullptr.
RenderSVGResourceFilterPrimitive::markFilterEffectForRebuild() will call
RenderSVGResourceFilter::markFilterForRebuild() which will clear
RenderSVGResourceFilter::m_rendererFilterDataMap. This will force rebuilding
the SVGFilter for all renderers.
- Source/WebCore/platform/graphics/filters/FEDropShadow.cpp:
(WebCore::FEDropShadow::setStdDeviationX):
(WebCore::FEDropShadow::setStdDeviationY):
(WebCore::FEDropShadow::setDx):
(WebCore::FEDropShadow::setDy):
(WebCore::FEDropShadow::setShadowColor):
(WebCore::FEDropShadow::setShadowOpacity):
- Source/WebCore/platform/graphics/filters/FEDropShadow.h:
(WebCore::FEDropShadow::setStdDeviationX): Deleted.
(WebCore::FEDropShadow::setStdDeviationY): Deleted.
(WebCore::FEDropShadow::setDx): Deleted.
(WebCore::FEDropShadow::setDy): Deleted.
(WebCore::FEDropShadow::setShadowColor): Deleted.
(WebCore::FEDropShadow::setShadowOpacity): Deleted.
- Source/WebCore/platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::setStdDeviationX):
(WebCore::FEGaussianBlur::setStdDeviationY):
(WebCore::FEGaussianBlur::setEdgeMode):
- Source/WebCore/platform/graphics/filters/FEGaussianBlur.h:
- Source/WebCore/platform/graphics/filters/FEOffset.cpp:
(WebCore::FEOffset::setDx):
(WebCore::FEOffset::setDy):
- Source/WebCore/platform/graphics/filters/FEOffset.h:
- Source/WebCore/rendering/CSSFilter.cpp:
(WebCore::createReferenceFilter):
- Source/WebCore/rendering/svg/RenderSVGResourceContainer.h:
- Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::applyResource):
(WebCore::RenderSVGResourceFilter::markFilterForRepaint):
(WebCore::RenderSVGResourceFilter::markFilterForRebuild):
(WebCore::RenderSVGResourceFilter::primitiveAttributeChanged): Deleted.
- Source/WebCore/rendering/svg/RenderSVGResourceFilter.h:
- Source/WebCore/rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
(WebCore::RenderSVGResourceFilterPrimitive::styleDidChange):
(WebCore::RenderSVGResourceFilterPrimitive::markFilterEffectForRepaint):
(WebCore::RenderSVGResourceFilterPrimitive::markFilterEffectForRebuild):
- Source/WebCore/rendering/svg/RenderSVGResourceFilterPrimitive.h:
- Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::writeSVGResourceContainer):
- Source/WebCore/svg/SVGFEBlendElement.cpp:
(WebCore::SVGFEBlendElement::setFilterEffectAttribute):
(WebCore::SVGFEBlendElement::createFilterEffect const):
(WebCore::SVGFEBlendElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFEBlendElement.h:
- Source/WebCore/svg/SVGFEColorMatrixElement.cpp:
(WebCore::SVGFEColorMatrixElement::isInvalidValuesLength const):
(WebCore::SVGFEColorMatrixElement::setFilterEffectAttribute):
(WebCore::SVGFEColorMatrixElement::svgAttributeChanged):
(WebCore::SVGFEColorMatrixElement::createFilterEffect const):
(WebCore::SVGFEColorMatrixElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFEColorMatrixElement.h:
- Source/WebCore/svg/SVGFEComponentTransferElement.cpp:
(WebCore::SVGFEComponentTransferElement::svgAttributeChanged):
(WebCore::SVGFEComponentTransferElement::createFilterEffect const):
(WebCore::SVGFEComponentTransferElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFEComponentTransferElement.h:
- Source/WebCore/svg/SVGFECompositeElement.cpp:
(WebCore::SVGFECompositeElement::setFilterEffectAttribute):
(WebCore::SVGFECompositeElement::svgAttributeChanged):
(WebCore::SVGFECompositeElement::createFilterEffect const):
(WebCore::SVGFECompositeElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFECompositeElement.h:
- Source/WebCore/svg/SVGFEConvolveMatrixElement.cpp:
(WebCore::SVGFEConvolveMatrixElement::setFilterEffectAttribute):
(WebCore::SVGFEConvolveMatrixElement::svgAttributeChanged):
(WebCore::SVGFEConvolveMatrixElement::createFilterEffect const):
(WebCore::SVGFEConvolveMatrixElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFEConvolveMatrixElement.h:
- Source/WebCore/svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
(WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
(WebCore::SVGFEDiffuseLightingElement::createFilterEffect const):
(WebCore::SVGFEDiffuseLightingElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFEDiffuseLightingElement.h:
- Source/WebCore/svg/SVGFEDisplacementMapElement.cpp:
(WebCore::SVGFEDisplacementMapElement::setFilterEffectAttribute):
(WebCore::SVGFEDisplacementMapElement::svgAttributeChanged):
(WebCore::SVGFEDisplacementMapElement::createFilterEffect const):
(WebCore::SVGFEDisplacementMapElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFEDisplacementMapElement.h:
- Source/WebCore/svg/SVGFEDropShadowElement.cpp:
(WebCore::SVGFEDropShadowElement::svgAttributeChanged):
(WebCore::SVGFEDropShadowElement::setFilterEffectAttribute):
(WebCore::SVGFEDropShadowElement::createFilterEffect const):
(WebCore::SVGFEDropShadowElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFEDropShadowElement.h:
- Source/WebCore/svg/SVGFEFloodElement.cpp:
(WebCore::SVGFEFloodElement::setFilterEffectAttribute):
(WebCore::SVGFEFloodElement::createFilterEffect const):
(WebCore::SVGFEFloodElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFEFloodElement.h:
- Source/WebCore/svg/SVGFEGaussianBlurElement.cpp:
(WebCore::SVGFEGaussianBlurElement::svgAttributeChanged):
(WebCore::SVGFEGaussianBlurElement::setFilterEffectAttribute):
(WebCore::SVGFEGaussianBlurElement::createFilterEffect const):
(WebCore::SVGFEGaussianBlurElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFEGaussianBlurElement.h:
- Source/WebCore/svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::svgAttributeChanged):
(WebCore::SVGFEImageElement::createFilterEffect const):
(WebCore::SVGFEImageElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFEImageElement.h:
- Source/WebCore/svg/SVGFEMergeElement.cpp:
(WebCore::SVGFEMergeElement::childrenChanged):
(WebCore::SVGFEMergeElement::createFilterEffect const):
(WebCore::SVGFEMergeElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFEMergeElement.h:
- Source/WebCore/svg/SVGFEMorphologyElement.cpp:
(WebCore::SVGFEMorphologyElement::setFilterEffectAttribute):
(WebCore::SVGFEMorphologyElement::svgAttributeChanged):
(WebCore::SVGFEMorphologyElement::createFilterEffect const):
(WebCore::SVGFEMorphologyElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFEMorphologyElement.h:
- Source/WebCore/svg/SVGFEOffsetElement.cpp:
(WebCore::SVGFEOffsetElement::svgAttributeChanged):
(WebCore::SVGFEOffsetElement::setFilterEffectAttribute):
(WebCore::SVGFEOffsetElement::createFilterEffect const):
(WebCore::SVGFEOffsetElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFEOffsetElement.h:
- Source/WebCore/svg/SVGFESpecularLightingElement.cpp:
(WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute):
(WebCore::SVGFESpecularLightingElement::createFilterEffect const):
(WebCore::SVGFESpecularLightingElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFESpecularLightingElement.h:
- Source/WebCore/svg/SVGFETileElement.cpp:
(WebCore::SVGFETileElement::createFilterEffect const):
(WebCore::SVGFETileElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFETileElement.h:
- Source/WebCore/svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::setFilterEffectAttribute):
(WebCore::SVGFETurbulenceElement::createFilterEffect const):
(WebCore::SVGFETurbulenceElement::filterEffect const): Deleted.
- Source/WebCore/svg/SVGFETurbulenceElement.h:
- Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.cpp:
(WebCore::SVGFilterPrimitiveStandardAttributes::filterEffect):
(WebCore::SVGFilterPrimitiveStandardAttributes::primitiveAttributeChanged):
(WebCore::SVGFilterPrimitiveStandardAttributes::markFilterEffectForRebuild):
(WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute): Deleted.
- Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h:
(WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute):
(WebCore::SVGFilterPrimitiveStandardAttributes::primitiveAttributeChanged): Deleted.
- Source/WebCore/svg/graphics/filters/SVGFilter.cpp:
(WebCore::SVGFilter::create):
- Source/WebCore/svg/graphics/filters/SVGFilter.h:
- Source/WebCore/svg/graphics/filters/SVGFilterBuilder.cpp:
(WebCore::SVGFilterBuilder::buildFilterExpression):
- Source/WebCore/svg/graphics/filters/SVGFilterBuilder.h:
(WebCore::SVGFilterBuilder::effectByRenderer): Deleted.
Canonical link: https://commits.webkit.org/251503@main
- 12:23 PM Changeset in webkit [295497] by
-
- 1 edit in trunk/Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj
Remove "Symlink WebKitPluginHost" build phase of WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=241553
Reviewed by Alexey Proskuryakov.
- Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/251502@main
- 12:20 PM Changeset in webkit [295496] by
-
- 14 edits in trunk
[Xcode] Use workspace builds by default in build-webkit
https://bugs.webkit.org/show_bug.cgi?id=241298
Reviewed by Alexey Proskuryakov.
Switch the default value of the --use-workspace flag, and add a warning
message indicating that non-workspace Xcode builds are deprecated.
Add product dependencies and disable SDK metadata parsing in tools
projects, to prevent watchOS/tvOS workspace builds from thinking we are
linking against system WebKit.
Add an aggregate "MiniBrowser (Platform filters)" target, which builds
MiniBrowser.app iff the workspace is building for a Mac destination.
- Source/ThirdParty/libwebrtc/Configurations/DebugRelease.xcconfig: Fix an sdk xcconfig setting.
- Tools/DumpRenderTree/mac/Configurations/DumpRenderTreeLibrary.xcconfig: Set DISABLE_SDK_METADATA_PARSING.
- Tools/DumpRenderTree/mac/Configurations/LayoutTestHelper.xcconfig: Set DISABLE_SDK_METADATA_PARSING.
- Tools/MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: Create the aggregate target mentioned above.
- Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj: Link MobileMiniBrowser.framework against WebKit.
- Tools/Scripts/build-webkit: Switch --use-workspace default.
- Tools/TestWebKitAPI/Configurations/InjectedBundle.xcconfig: Set DISABLE_SDK_METADATA_PARSING.
- Tools/TestWebKitAPI/Configurations/TestWTFLibrary.xcconfig: Set DISABLE_SDK_METADATA_PARSING.
- Tools/TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig: Set DISABLE_SDK_METADATA_PARSING.
- Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add WebKit product dependency.
- Tools/WebKitTestRunner/Configurations/InjectedBundle.xcconfig: Add DISABLE_SDK_METADATA_PARSING.
- Tools/WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig: Add DISABLE_SDK_METADATA_PARSING.
- WebKit.xcworkspace/xcshareddata/xcschemes/All Modules.xcscheme: Replace MiniBrowser.app with the aggregate target.
- WebKit.xcworkspace/xcshareddata/xcschemes/All Tools.xcscheme: Replace MiniBrowser.app with the aggregate target.
Canonical link: https://commits.webkit.org/251501@main
- 11:51 AM Changeset in webkit [295495] by
-
- 2 edits in trunk/LayoutTests
[ macOS ] webanimations/accelerated-animation-after-forward-filling-animation.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=239794
<rdar://92365628>
Patch by Antoine Quint <Antoine Quint> on 2022-06-13
Reviewed by Dean Jackson.
Typically we wait 3 frames before considering an accelerated animation was committed.
Additionally, locally I could reproduce the issue prior to this patch but not with it.
- LayoutTests/platform/mac/TestExpectations:
- LayoutTests/webanimations/accelerated-animation-after-forward-filling-animation.html:
Canonical link: https://commits.webkit.org/251500@main
- 11:49 AM Changeset in webkit [295494] by
-
- 2 edits in trunk/LayoutTests
Regression (r268615) : [ macOS ] webanimations/relative-ordering-of-translate-and-rotate-properties-accelerated.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=230863
<rdar://83593809>
Patch by Antoine Quint <Antoine Quint> on 2022-06-13
Reviewed by Dean Jackson.
Use the tried and true technique of waiting for animations to be ready and three animation frames
to ensure all accelerated animations have been committed.
- LayoutTests/platform/mac-wk1/TestExpectations:
- LayoutTests/webanimations/resources/wait-until-animations-are-committed.js:
Canonical link: https://commits.webkit.org/251499@main
- 11:20 AM Changeset in webkit [295493] by
-
- 7 edits in trunk/Source/WebKit/UIProcess
Start/stop ProcessStateMonitor with ApplicationStateTracker
https://bugs.webkit.org/show_bug.cgi?id=241427
Reviewed by Geoffrey Garen.
We want ProcessStateMonitor to be started when application is in background and to be stopped when application is in
foreground. In r294405, we start/stop ProcessStateMonitor on receiving UIApplicationDidEnterBackgroundNotification and
UIApplicationWillEnterForegroundNotification notifications. However, UIApplicationWillEnterForegroundNotification can be
sent later than UISceneWillEnterForegroundNotification. In ApplicationStateTracke, we start creating foreground activity
for web process on receiving UISceneWillEnterForegroundNotification. At this time,
UIApplicationWillEnterForegroundNotification may not be received yet and ProcessStateMonitor may still be
working. ProcessStateMonitor may forbid creating new activity after it sets process shouldSuspend (see r294405), so we
need to make sure ProcessStateMonitor is stopped before starting new foreground activity.
To achieve that, we now decide when to start/stop ProcessStateMonitor with ApplicationStateTracker. We start
ProcessStateMonitor when all trackers are in the background, and stop it when at least one tracker is in foreground.
- Source/WebKit/UIProcess/ApplicationStateTracker.mm:
(WebKit::allApplicationStateTrackers):
(WebKit::updateApplicationBackgroundState):
(WebKit::ApplicationStateTracker::ApplicationStateTracker):
(WebKit::ApplicationStateTracker::~ApplicationStateTracker):
(WebKit::ApplicationStateTracker::applicationDidEnterBackground):
(WebKit::ApplicationStateTracker::applicationWillEnterForeground):
- Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::setProcessesShouldSuspend):
- Source/WebKit/UIProcess/ProcessAssertion.h:
- Source/WebKit/UIProcess/WebProcessPool.h:
- Source/WebKit/UIProcess/ios/ProcessAssertionIOS.mm:
(-[WKProcessAssertionBackgroundTaskManager _releaseBackgroundTask]):
(-[WKProcessAssertionBackgroundTaskManager setProcessStateMonitorEnabled:]):
(WebKit::ProcessAndUIAssertion::setProcessStateMonitorEnabled):
- Source/WebKit/UIProcess/ios/ProcessStateMonitor.mm:
(WebKit::ProcessStateMonitor::checkRemainingRunTime):
- Source/WebKit/UIProcess/ios/WebProcessProxyIOS.mm:
(WebKit::WebProcessProxy::platformInitialize):
Canonical link: https://commits.webkit.org/251498@main
- 10:16 AM Changeset in webkit [295492] by
-
- 11 edits in trunk
AX: Update the isolated tree in response to dynamic aria-orientation changes
https://bugs.webkit.org/show_bug.cgi?id=241543
Reviewed by Chris Fleizach.
This patch also makes aria-orientation work for node-only objects, like
those with display:contents.
- LayoutTests/accessibility/aria-orientation-expected.txt:
- LayoutTests/accessibility/aria-orientation.html:
- Source/WebCore/accessibility/AXLogger.cpp:
(WebCore::operator<<):
- Source/WebCore/accessibility/atspi/AXObjectCacheAtspi.cpp
- Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::handleAttributeChange):
(WebCore::AXObjectCache::updateIsolatedTree):
- Source/WebCore/accessibility/AXObjectCache.h:
- Source/WebCore/accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::orientation const):
- Source/WebCore/accessibility/AccessibilityNodeObject.h:
- Source/WebCore/accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::orientation const): Deleted.
- Source/WebCore/accessibility/AccessibilityRenderObject.h:
- Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::updateNodeProperty):
Canonical link: https://commits.webkit.org/251497@main
- 10:15 AM Changeset in webkit [295491] by
-
- 6 edits in trunk/Source
AX ITM: Fix for accessibility/Mac/aria-errormessage.html in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=241398
Test: accessibility/Mac/aria-errormessage.html
Reviewed by Chris Fleizach and Tyler Wilcock.
This test was failing because the elements that are referenced as error messages are <span> elements, which are ignored on the mac platform. Therefore there was no isolated object created for those elements and AXIsolatedTree::objectsForIDs will not return them. This patch solves this problem by creating orphan isolated objects in AXIsolatedTree:objectsForIDs if there is no isolated object for the requested AXID, and the corresponding live objects exists.
Canonical link: https://commits.webkit.org/251496@main
- 9:11 AM Changeset in webkit [295490] by
-
- 5 edits in trunk
WebGL: Fix implicit clears with rasterizer discard enabled
https://bugs.webkit.org/show_bug.cgi?id=223351
Patch by Alexey Knyazev <3479527+lexaknyazev@users.noreply.github.com> on 2022-06-13
Reviewed by Kimmo Kinnunen.
- Do not mark context as changed after draw or clear ops with
enabled rasterizer discard.
- Rename ClearCaller enum to CallerType.
- LayoutTests/TestExpectations:
- Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::blitFramebuffer):
(WebCore::WebGL2RenderingContext::copyTexSubImage3D):
(WebCore::WebGL2RenderingContext::drawRangeElements):
(WebCore::WebGL2RenderingContext::readPixels):
- Source/WebCore/html/canvas/WebGLMultiDraw.cpp:
(WebCore::WebGLMultiDraw::multiDrawArraysWEBGL):
(WebCore::WebGLMultiDraw::multiDrawArraysInstancedWEBGL):
(WebCore::WebGLMultiDraw::multiDrawElementsWEBGL):
(WebCore::WebGLMultiDraw::multiDrawElementsInstancedWEBGL):
- Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::markContextChangedAndNotifyCanvasObserver):
(WebCore::WebGLRenderingContextBase::clearIfComposited):
(WebCore::WebGLRenderingContextBase::paintRenderingResultsToCanvas):
(WebCore::WebGLRenderingContextBase::paintRenderingResultsToPixelBuffer):
(WebCore::WebGLRenderingContextBase::clear):
(WebCore::WebGLRenderingContextBase::copyTexSubImage2D):
(WebCore::WebGLRenderingContextBase::drawArrays):
(WebCore::WebGLRenderingContextBase::drawElements):
(WebCore::WebGLRenderingContextBase::readPixels):
(WebCore::WebGLRenderingContextBase::copyTexImage2D):
(WebCore::WebGLRenderingContextBase::drawArraysInstanced):
(WebCore::WebGLRenderingContextBase::drawElementsInstanced):
- Source/WebCore/html/canvas/WebGLRenderingContextBase.h:
Canonical link: https://commits.webkit.org/251494@main
- 9:10 AM Changeset in webkit [295489] by
-
- 2 edits in trunk/Tools/WebKitTestRunner
39 bytes leaked in WTR::TestController::platformConfigureViewForTest()
https://bugs.webkit.org/show_bug.cgi?id=241525
Reviewed by Adrian Perez de Castro.
Plug a couple of leaks in the test controller.
- Tools/WebKitTestRunner/gtk/TestControllerGtk.cpp:
(WTR::TestController::platformConfigureViewForTest):
- Tools/WebKitTestRunner/wpe/TestControllerWPE.cpp:
(WTR::TestController::platformConfigureViewForTest):
Canonical link: https://commits.webkit.org/251494@main
- 7:07 AM Changeset in webkit [295488] by
-
- 27 edits4 adds in trunk
Do not route the navigation preload response body to the service worker if we can avoid it
https://bugs.webkit.org/show_bug.cgi?id=241122
rdar://problem/94141714
Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-13
Reviewed by Chris Dumez.
To further optimize navigation preload, we always start the preload as soon as possible.
In addition to that, we no longer pipe the body through the service worker in the common case:
- When the preload receives the response, it sends it to the service worker that will resolve the preload promise.
- The service worker is then expected to synchronously provide it to the FetchEvent.
- If the fetch event gets the preload response and the preload response has not been started to load in the service worker, the service worker instructs network process to let the preload directly go to the WebProcess.
- The preload response body might be loaded in the service worker if the response is cloned or if the service worker does not instruct the fetch event to use the preload fast enough. We schedule one task for the body to actually be loaded in the service worker.
- Set service worker navigation preload redirection fetchStart based on the navigation preloader start to continue passing LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/navigation-preload/resource-timing.https.html.
We store the preload response/error in WebServiceWorkerFetchTaskClient as the preload response might be received between the time the fetch event
is received and the time the fetch event is dispatched.
- LayoutTests/http/wpt/service-workers/navigation-optimization-worker.js: Added.
(async doTest):
- LayoutTests/http/wpt/service-workers/navigation-optimization.https-expected.txt: Added.
- LayoutTests/http/wpt/service-workers/navigation-optimization.https.html: Added.
- LayoutTests/http/wpt/service-workers/resources/navigation-optimization.py: Added.
(main):
- LayoutTests/http/wpt/service-workers/resources/service-worker-iframe-preload-script.py:
(main):
- LayoutTests/http/wpt/service-workers/service-worker-iframe-preload.https-expected.txt:
- LayoutTests/http/wpt/service-workers/service-worker-iframe-preload.https.html:
- Source/WebCore/Headers.cmake:
- Source/WebCore/Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::createFetchResponse):
(WebCore::FetchResponse::fetch):
(WebCore::FetchResponse::startLoader):
(WebCore::FetchResponse::setReceivedInternalResponse):
(WebCore::FetchResponse::BodyLoader::didReceiveResponse):
(WebCore::FetchResponse::markAsDisturbed):
- Source/WebCore/Modules/fetch/FetchResponse.h:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebCore/bindings/js/JSFetchEventCustom.cpp:
- Source/WebCore/testing/ServiceWorkerInternals.cpp:
- Source/WebCore/workers/service/FetchEvent.cpp:
(WebCore::FetchEvent::preloadResponse):
(WebCore::FetchEvent::navigationPreloadIsReady):
(WebCore::FetchEvent::navigationPreloadFailed):
- Source/WebCore/workers/service/FetchEvent.h:
- Source/WebCore/workers/service/context/ServiceWorkerFetch.cpp:
(WebCore::ServiceWorkerFetch::processResponse):
(WebCore::ServiceWorkerFetch::dispatchFetchEvent):
- Source/WebCore/workers/service/context/ServiceWorkerFetch.h:
- Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::ServiceWorkerThreadProxy::navigationPreloadIsReady):
(WebCore::ServiceWorkerThreadProxy::navigationPreloadFailed):
- Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.h:
- Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:
(WebKit::ServiceWorkerFetchTask::ServiceWorkerFetchTask):
(WebKit::ServiceWorkerFetchTask::startFetch):
(WebKit::ServiceWorkerFetchTask::usePreload):
(WebKit::ServiceWorkerFetchTask::loadResponseFromPreloader):
(WebKit::ServiceWorkerFetchTask::preloadResponseIsReady):
- Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.h:
- Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.messages.in:
- Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerNavigationPreloader.cpp:
(WebKit::ServiceWorkerNavigationPreloader::ServiceWorkerNavigationPreloader):
(WebKit::ServiceWorkerNavigationPreloader::didReceiveResponse):
(WebKit::ServiceWorkerNavigationPreloader::waitForResponse):
- Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::navigationPreloadIsReady):
(WebKit::WebSWContextManagerConnection::navigationPreloadFailed):
- Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.h:
- Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.messages.in:
- Source/WebKit/WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp:
(WebKit::WebServiceWorkerFetchTaskClient::navigationPreloadIsReady):
(WebKit::WebServiceWorkerFetchTaskClient::navigationPreloadFailed):
(WebKit::WebServiceWorkerFetchTaskClient::usePreload):
(WebKit::WebServiceWorkerFetchTaskClient::cleanup):
- Source/WebKit/WebProcess/Storage/WebServiceWorkerFetchTaskClient.h:
Canonical link: https://commits.webkit.org/251493@main
- 5:12 AM Changeset in webkit [295487] by
-
- 2 edits in trunk/Source/WebKit/Shared
SharedBuffer IPC encoders have duplicated and redundant code
https://bugs.webkit.org/show_bug.cgi?id=241407
<rdar://94621576>
Reviewed by Kimmo Kinnunen.
Bug 240160 allowed to greatly simplify the serialisation of SharedBuffer objects,
so make use of it.
- Source/WebKit/Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<DOMCacheEngine::Record>::encode):
(IPC::ArgumentCoder<DOMCacheEngine::Record>::decode):
(IPC::ArgumentCoder<PasteboardCustomData::Entry>::encode):
(IPC::ArgumentCoder<PasteboardCustomData::Entry>::decode):
(IPC::ArgumentCoder<PasteboardWebContent>::encode):
(IPC::ArgumentCoder<PasteboardWebContent>::decode):
(IPC::ArgumentCoder<PasteboardImage>::encode):
(IPC::ArgumentCoder<PasteboardImage>::decode):
(IPC::ArgumentCoder<RawFile>::encode):
(IPC::ArgumentCoder<RawFile>::decode):
(IPC::ArgumentCoder<PromisedAttachmentInfo>::encode):
(IPC::ArgumentCoder<PromisedAttachmentInfo>::decode):
(IPC::ArgumentCoder<WebCore::FragmentedSharedBuffer>::encode):
(IPC::ArgumentCoder<WebCore::FragmentedSharedBuffer>::decode):
(IPC::ArgumentCoder<WebCore::SharedBuffer>::encode):
(IPC::ArgumentCoder<WebCore::SharedBuffer>::decode):
(IPC::ArgumentCoder<WebCore::ScriptBuffer>::encode):
(IPC::ArgumentCoder<WebCore::ScriptBuffer>::decode):
(IPC::ArgumentCoder<WebCore::CDMInstanceSession::Message>::encode):
(IPC::ArgumentCoder<WebCore::CDMInstanceSession::Message>::decode):
(IPC::encodeSharedBuffer): Deleted.
(IPC::decodeSharedBuffer): Deleted.
(IPC::encodeTypesAndData): Deleted.
(IPC::decodeTypesAndData): Deleted.
(IPC::ArgumentCoder<RefPtr<WebCore::FragmentedSharedBuffer>>::encode): Deleted.
(IPC::ArgumentCoder<RefPtr<WebCore::FragmentedSharedBuffer>>::decode): Deleted.
(IPC::ArgumentCoder<Ref<WebCore::FragmentedSharedBuffer>>::encode): Deleted.
(IPC::ArgumentCoder<Ref<WebCore::FragmentedSharedBuffer>>::decode): Deleted.
(IPC::ArgumentCoder<RefPtr<WebCore::SharedBuffer>>::encode): Deleted.
(IPC::ArgumentCoder<RefPtr<WebCore::SharedBuffer>>::decode): Deleted.
(IPC::ArgumentCoder<Ref<WebCore::SharedBuffer>>::encode): Deleted.
(IPC::ArgumentCoder<Ref<WebCore::SharedBuffer>>::decode): Deleted.
- Source/WebKit/Shared/WebCoreArgumentCoders.h:
Canonical link: https://commits.webkit.org/251492@main
- 3:16 AM Changeset in webkit [295486] by
-
- 4 edits in trunk/Source/WebCore/html/canvas
Align WebGL draw call functions
https://bugs.webkit.org/show_bug.cgi?id=241347
Patch by Alexey Knyazev <3479527+lexaknyazev@users.noreply.github.com> on 2022-06-13
Reviewed by Kimmo Kinnunen.
Some draw commands did not have implicit clears,
inspector helpers, and post-draw notifications.
- Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::drawRangeElements):
- Source/WebCore/html/canvas/WebGLMultiDraw.cpp:
(WebCore::WebGLMultiDraw::multiDrawArraysWEBGL):
(WebCore::WebGLMultiDraw::multiDrawArraysInstancedWEBGL):
(WebCore::WebGLMultiDraw::multiDrawElementsWEBGL):
(WebCore::WebGLMultiDraw::multiDrawElementsInstancedWEBGL):
- Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::InspectorScopedShaderProgramHighlight::InspectorScopedShaderProgramHighlight):
(WebCore::InspectorScopedShaderProgramHighlight::~InspectorScopedShaderProgramHighlight):
(WebCore::InspectorScopedShaderProgramHighlight::showHighlight):
(WebCore::InspectorScopedShaderProgramHighlight::hideHighlight):
(WebCore::InspectorScopedShaderProgramHighlight::saveBlendValue):
(WebCore::InspectorScopedShaderProgramHighlight::hasBufferBinding):
(WebCore::InspectorScopedShaderProgramHighlight::hasFramebufferParameterAttachment):
(WebCore::WebGLRenderingContextBase::drawArraysInstanced):
(WebCore::WebGLRenderingContextBase::drawElementsInstanced):
(WebCore::InspectorScopedShaderProgramHighlight::showHightlight): Deleted.
- Source/WebCore/html/canvas/WebGLRenderingContextBase.h:
Canonical link: https://commits.webkit.org/251491@main
- 2:55 AM Changeset in webkit [295485] by
-
- 3 edits in trunk/Source/WebCore/html/canvas
Fix clearIfComposited for indexed color write masks
https://bugs.webkit.org/show_bug.cgi?id=241511
Patch by Alexey Knyazev <3479527+lexaknyazev@users.noreply.github.com> on 2022-06-13
Reviewed by Kimmo Kinnunen.
Implicit clears must correctly restore color write mask state.
- Source/WebCore/html/canvas/OESDrawBuffersIndexed.cpp:
(WebCore::OESDrawBuffersIndexed::colorMaskiOES):
- Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::clearIfComposited):
(WebCore::WebGLRenderingContextBase::restoreStateAfterClear):
- Source/WebCore/html/canvas/WebGLRenderingContextBase.h:
Canonical link: https://commits.webkit.org/251490@main
- 2:17 AM Changeset in webkit [295484] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBM.cpp
[GBM] Overzealous attaching of GL texture as color attachment to the default framebuffer
https://bugs.webkit.org/show_bug.cgi?id=241462
Patch by Žan Doberšek <zdobersek@igalia.com> on 2022-06-13
Reviewed by Alejandro G. Castro.
In GraphicsContextGLGBM::prepareTexture(), there's no need to repeatedly
reattach the texture objec to the default framebuffer. With GraphicsContextGLGBM
this is only done when (re)sizing the framebuffer. The attached texture later
isn't switched out for some other texture, it remains in place. What does change
is the backing DMABuf-based EGLImage, which is updated upon the next
make-context-current request.
This means framebuffer operations here, after any required multisampling is
resolved, are not required. Only thing that remains is the GL_Flush() call.
- Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBM.cpp:
(WebCore::GraphicsContextGLGBM::prepareTexture):
Canonical link: https://commits.webkit.org/251489@main
- 1:09 AM Changeset in webkit [295483] by
-
- 4 edits in trunk/Tools/MiniBrowser
REGRESSION(r265492): Removed ability to pass GStreamer options from MiniBrowser to WebProcess
https://bugs.webkit.org/show_bug.cgi?id=241507
Patch by Philippe Normand <philn@igalia.com> on 2022-06-13
Reviewed by Xabier Rodriguez-Calvar.
When the static gstreamer-full library is disabled at build time we should still have the
possibility to add the GStreamer CLI init group to the UIProcess commandline.
- Tools/MiniBrowser/gtk/CMakeLists.txt:
- Tools/MiniBrowser/gtk/main.c:
(main):
- Tools/MiniBrowser/wpe/CMakeLists.txt:
- Tools/MiniBrowser/wpe/main.cpp:
(main):
Canonical link: https://commits.webkit.org/251488@main
- 12:15 AM Changeset in webkit [295482] by
-
- 5 edits in trunk
Switch Web Share Permissions Policy to *
https://bugs.webkit.org/show_bug.cgi?id=241363
Patch by Marcos Cáceres <Marcos Caceres> on 2022-06-12
Reviewed by Youenn Fablet and Tim Horton.
- LayoutTests/http/tests/webshare/webshare-allow-attribute-canShare.https-expected.txt:
- LayoutTests/http/tests/webshare/webshare-allow-attribute-canShare.https.html:
- LayoutTests/http/tests/webshare/webshare-allow-attribute-share.https-expected.txt:
- LayoutTests/http/tests/webshare/webshare-allow-attribute-share.https.html:
- Source/WebCore/html/FeaturePolicy.cpp:
(WebCore::FeaturePolicy::parse):
Canonical link: https://commits.webkit.org/251487@main
Jun 12, 2022:
- 9:26 PM Changeset in webkit [295481] by
-
- 50 edits4 adds in trunk
[Filters] LightSource should keep its points in <length-percentage> units
https://bugs.webkit.org/show_bug.cgi?id=241535
<rdar://problem/94973414>
Reviewed by Cameron McCormack.
PointLightSource and SpotLightSource are created with points in user space coordinates.
See SVGFEPointLightElement::lightSource() and SVGFESpotLightElement::lightSource().
But this requires knowing the filter targetBoundingBox and the primitiveUnits at
the LightSource creation time.
When dynamically updating these points through SVGFEDiffuseLightingElement::
setFilterEffectAttribute() or SVGFESpecularLightingElement::setFilterEffectAttribute()
the SVGFilter is not available and these points are stored as <length-percentage>
coordinates. This means if the primitiveUnits is SVG_UNIT_TYPE_OBJECTBOUNDINGBOX,
fractions of the targetBoundingBox will be treated as lengths in user space.
The fix is to store the LightSources points in <length-percentage> units and to
resolve them to user space coordinates in initPaintingData().
- LayoutTests/svg/filters/feDiffuseLighting-feSpotLight-dynamic-update-expected.svg: Added.
- LayoutTests/svg/filters/feDiffuseLighting-feSpotLight-dynamic-update.svg: Added.
- LayoutTests/svg/filters/feSpecularLighting-fePointLight-dynamic-update-expected.svg: Added.
- LayoutTests/svg/filters/feSpecularLighting-fePointLight-dynamic-update.svg: Added.
- Source/WebCore/platform/graphics/filters/Filter.h:
(WebCore::Filter::resolvedPoint3D const):
- Source/WebCore/platform/graphics/filters/PointLightSource.cpp:
(WebCore::PointLightSource::PointLightSource):
(WebCore::PointLightSource::initPaintingData const):
(WebCore::PointLightSource::setX):
(WebCore::PointLightSource::setY):
(WebCore::PointLightSource::setZ):
- Source/WebCore/platform/graphics/filters/PointLightSource.h:
(WebCore::PointLightSource::position const):
(WebCore::PointLightSource::encode const):
- Source/WebCore/platform/graphics/filters/SpotLightSource.cpp:
(WebCore::SpotLightSource::SpotLightSource):
(WebCore::SpotLightSource::initPaintingData const):
(WebCore::SpotLightSource::setX):
(WebCore::SpotLightSource::setY):
(WebCore::SpotLightSource::setZ):
(WebCore::SpotLightSource::setPointsAtX):
(WebCore::SpotLightSource::setPointsAtY):
(WebCore::SpotLightSource::setPointsAtZ):
- Source/WebCore/platform/graphics/filters/SpotLightSource.h:
(WebCore::SpotLightSource::position const):
(WebCore::SpotLightSource::direction const):
(WebCore::SpotLightSource::encode const):
- Source/WebCore/svg/SVGFEBlendElement.cpp:
(WebCore::SVGFEBlendElement::filterEffect const):
- Source/WebCore/svg/SVGFEBlendElement.h:
- Source/WebCore/svg/SVGFEColorMatrixElement.cpp:
(WebCore::SVGFEColorMatrixElement::filterEffect const):
- Source/WebCore/svg/SVGFEColorMatrixElement.h:
- Source/WebCore/svg/SVGFEComponentTransferElement.cpp:
(WebCore::SVGFEComponentTransferElement::filterEffect const):
- Source/WebCore/svg/SVGFEComponentTransferElement.h:
- Source/WebCore/svg/SVGFECompositeElement.cpp:
(WebCore::SVGFECompositeElement::filterEffect const):
- Source/WebCore/svg/SVGFECompositeElement.h:
- Source/WebCore/svg/SVGFEConvolveMatrixElement.cpp:
(WebCore::SVGFEConvolveMatrixElement::filterEffect const):
- Source/WebCore/svg/SVGFEConvolveMatrixElement.h:
- Source/WebCore/svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::filterEffect const):
- Source/WebCore/svg/SVGFEDiffuseLightingElement.h:
- Source/WebCore/svg/SVGFEDisplacementMapElement.cpp:
(WebCore::SVGFEDisplacementMapElement::filterEffect const):
- Source/WebCore/svg/SVGFEDisplacementMapElement.h:
- Source/WebCore/svg/SVGFEDistantLightElement.cpp:
(WebCore::SVGFEDistantLightElement::lightSource const):
- Source/WebCore/svg/SVGFEDistantLightElement.h:
- Source/WebCore/svg/SVGFEDropShadowElement.cpp:
(WebCore::SVGFEDropShadowElement::filterEffect const):
- Source/WebCore/svg/SVGFEDropShadowElement.h:
- Source/WebCore/svg/SVGFEFloodElement.cpp:
(WebCore::SVGFEFloodElement::filterEffect const):
- Source/WebCore/svg/SVGFEFloodElement.h:
- Source/WebCore/svg/SVGFEGaussianBlurElement.cpp:
(WebCore::SVGFEGaussianBlurElement::filterEffect const):
- Source/WebCore/svg/SVGFEGaussianBlurElement.h:
- Source/WebCore/svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::filterEffect const):
- Source/WebCore/svg/SVGFEImageElement.h:
- Source/WebCore/svg/SVGFELightElement.h:
- Source/WebCore/svg/SVGFEMergeElement.cpp:
(WebCore::SVGFEMergeElement::filterEffect const):
- Source/WebCore/svg/SVGFEMergeElement.h:
- Source/WebCore/svg/SVGFEMorphologyElement.cpp:
(WebCore::SVGFEMorphologyElement::filterEffect const):
- Source/WebCore/svg/SVGFEMorphologyElement.h:
- Source/WebCore/svg/SVGFEOffsetElement.cpp:
(WebCore::SVGFEOffsetElement::filterEffect const):
- Source/WebCore/svg/SVGFEOffsetElement.h:
- Source/WebCore/svg/SVGFEPointLightElement.cpp:
(WebCore::SVGFEPointLightElement::lightSource const):
- Source/WebCore/svg/SVGFEPointLightElement.h:
- Source/WebCore/svg/SVGFESpecularLightingElement.cpp:
(WebCore::SVGFESpecularLightingElement::filterEffect const):
- Source/WebCore/svg/SVGFESpecularLightingElement.h:
- Source/WebCore/svg/SVGFESpotLightElement.cpp:
(WebCore::SVGFESpotLightElement::lightSource const):
- Source/WebCore/svg/SVGFESpotLightElement.h:
- Source/WebCore/svg/SVGFETileElement.cpp:
(WebCore::SVGFETileElement::filterEffect const):
- Source/WebCore/svg/SVGFETileElement.h:
- Source/WebCore/svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::filterEffect const):
- Source/WebCore/svg/SVGFETurbulenceElement.h:
- Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h:
- Source/WebCore/svg/graphics/filters/SVGFilter.cpp:
(WebCore::SVGFilter::resolvedPoint3D const):
- Source/WebCore/svg/graphics/filters/SVGFilter.h:
- Source/WebCore/svg/graphics/filters/SVGFilterBuilder.cpp:
(WebCore::SVGFilterBuilder::buildFilterExpression):
Canonical link: https://commits.webkit.org/251486@main
- 8:22 PM Changeset in webkit [295480] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/cocoa/SourceBufferParserWebM.cpp
Handle case where only a single video frame was appended.
https://bugs.webkit.org/show_bug.cgi?id=241453
Reviewed by Jer Noble.
Under some circumstances, only a single frame will be appended.
When the queue of pending samples gets flushed we can't rely on the last sample's time
nor the last duration.
- Source/WebCore/platform/graphics/cocoa/SourceBufferParserWebM.cpp:
(WebCore::WebMParser::VideoTrackData::flushPendingSamples):
Canonical link: https://commits.webkit.org/251485@main
- 7:40 PM Changeset in webkit [295479] by
-
- 5 edits1 copy1 add in trunk
REGRESSION (r290875): [iOS] Safari renders many blank tiles after navigating back to webpage from PDF
https://bugs.webkit.org/show_bug.cgi?id=241536
rdar://94637323
Reviewed by Tim Horton.
When using a standard content view, the logic in
WKApplicationStateTrackingViewcreates a
WebKit::ApplicationStateTrackerafter the view becomes parented in the view hierarchy (in
-didMoveToWindow), and holds onto it until it is about to be unparented from the view hierarchy
(in-willMoveToWindow:).
However, in the case where
WKApplicationStateTrackingViewis aWKPDFView(i.e. we're hosting a
remote PDFKit view controller), the behavior is much more intricate; this is because theWKPDFView
is replaced in the view hierarchy by the remote view controller's sizing view once the
PDFHostViewControllerhas finished loading its remote content. Once this happens, the
-_contentViewof theWKApplicationStateTrackingViewpoints to this sizing view instead, and the
WKPDFView(which subclassesWKApplicationStateTrackingView) is no longer in the view hierarchy.
Prior to r290875: when we remove
WKPDFViewfrom the view hierarchy and replace it with a sizing
view,self._contentViewin both cases already points to the_UISizeTrackingView, even though it
hasn't been added to the view hierarchy yet. Since we bail if this size tracking view is not in the
view hierarchy, we previously ended up never clearing out the application state tracker when loading
a PDF, which means that-[WKPDFView isBackground]would always return NO, despite the view not
being in the view hierarchy.
In r290875, I replaced the
!self._contentView.windowcheck with!_applicationStateTracker, which
caused us to now clear out the application state tracker when unparentingWKPDFView. This, in
turn, means that-[WKPDFView isBackground]now returns YES when theWKPDFViewis removed and
replaced with the size tracking view. When navigating back to the previous page, this causes us to
end up in a state where theWindowIsActiveflag inWebPageProxy::m_activityStateis off until
the next page load, since we only update this flag inWebPageProxy::finishAttachingToWebProcess,
which is called whenWKPDFViewis still being used as the custom content view. This ultimately
causes the symptoms observed in this bug, which include blank tiles when scrolling.
To address this bug, we first revert the changes in r290875, which allows
WKPDFViewto behave as
if it were in the foreground, even when it's not in the view hierarchy:
`
- (void)willMoveToWindow:(UIWindow *)newWindow
{
if (!self._contentView.window newWindow) return;
…
`
Of course, this (by itself) would bring back <https://webkit.org/b/237505>; to preserve that fix, we
additionally limit the early return to cases where the window is *not* in the process of being
destroyed (that is,-willMoveToWindow:is called with both the newwindow == nil, while the
current windowself.window == nil):
`
- (void)willMoveToWindow:(UIWindow *)newWindow
{
BOOL windowIsBeingDeallocated = !self.window && !newWindow;
if (!windowIsBeingDeallocated) {
if (!self._contentView.window newWindow) return;
}
…
`
Note that this is logically equivalent to:
`
- (void)willMoveToWindow:(UIWindow *)newWindow
{
if ((self.window newWindow) && (!self._contentView.window newWindow)) return;
…
`
...which can also be rewritten a bit more succinctly as:
`
- (void)willMoveToWindow:(UIWindow *)newWindow
{
if ((self.window && !self._contentView.window) newWindow) return;
…
`
In other words:
- In the case where a standard content view is used (i.e.
self == self._contentView), we always
clear out
_applicationStateTrackerif the window we're moving to isnil. This takes care of the
normal scenario of unparenting a web view, as well as the corner case where the web view is
unparented in the middle of-[UIWindow dealloc].
- In the case of
PDFHostViewControllerwhere a custom content view is used, we'll return early
in
-willMoveToWindow:and keep the existing_applicationStateTracker, because the size tracking
view has not been parented yet.
Test: ApplicationStateTracking.NavigatingFromPDFDoesNotLeaveWebViewInactive
- Source/WebKit/UIProcess/ios/WKApplicationStateTrackingView.mm:
(-[WKApplicationStateTrackingView willMoveToWindow:]):
- Tools/TestWebKitAPI/Configurations/Base.xcconfig:
Add
Source/WebKit/Platform/spi/iosas a relative header include path for iOS family, such that we
can import the internalPDFKitSPI.hin API tests.
- Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- Tools/TestWebKitAPI/Tests/ios/ApplicationStateTracking.mm:
(TestWebKitAPI::TEST):
Introduce a new API test that loads a simple webpage, navigates to a PDF document (and uses a remote
PDFKit view controller to render it), and then navigate back to the original webpage.
- Tools/TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[WKWebView _isBackground]): Deleted.
Remove a workaround for API tests that's no longer necessary, so that the new API test fails without
this fix. This workaround was added in r231663, but became unnecessary after r236989, which removed
the dependency on-_isBackground.
- Tools/TestWebKitAPI/ios/TestPDFHostViewController.h:
- Tools/TestWebKitAPI/ios/TestPDFHostViewController.mm: Added.
Add a helper class that allows us to swizzle out
+createHostView:forExtensionIdentifier:, and
return aPDFHostViewControllersubclass, with a subset of method stubs required to avoid crashes
when running API tests. This allows us to simulate PDFKit remote view controller presentation in API
tests.
(-[TestPDFHostViewController setDelegate:]):
(-[TestPDFHostViewController setDocumentData:withScrollView:]):
(-[TestPDFHostViewController currentPageIndex]):
(-[TestPDFHostViewController pageCount]):
(-[TestPDFHostViewController minimumZoomScale]):
(-[TestPDFHostViewController maximumZoomScale]):
(-[TestPDFHostViewController findString:withOptions:]):
(-[TestPDFHostViewController cancelFindString]):
(-[TestPDFHostViewController cancelFindStringWithHighlightsCleared:]):
(-[TestPDFHostViewController focusOnSearchResultAtIndex:]):
(-[TestPDFHostViewController clearSearchHighlights]):
(-[TestPDFHostViewController goToPageIndex:]):
(-[TestPDFHostViewController updatePDFViewLayout]):
(-[TestPDFHostViewController gestureRecognizerShouldBegin:]):
(-[TestPDFHostViewController pageNumberIndicator]):
(-[TestPDFHostViewController snapshotViewRect:snapshotWidth:afterScreenUpdates:withResult:]):
(-[TestPDFHostViewController beginPDFViewRotation]):
(-[TestPDFHostViewController endPDFViewRotation]):
(TestWebKitAPI::swizzledCreateHostViewForExtensionIdentifier):
(TestWebKitAPI::createPDFHostViewControllerSwizzler):
Canonical link: https://commits.webkit.org/251484@main
- 7:45 AM Changeset in webkit [295478] by
-
- 1 edit2 adds in trunk
Incorrect sizing of elements with visually hidden text inside
https://bugs.webkit.org/show_bug.cgi?id=241459
Reviewed by Antti Koivisto.
This patch fixes the incorrect inline width computation when an inline box (e.g. <span>) with margin-inline-start (e.g. margin-left) is followed by an out-of-flow element.
<div id=container>some<span style="margin-left: 10px"><div style="position: absolute"></div>text</span></div>
In LineBreaker::nextLineBreak, while iterating through the content of [container], the margin-left of the inline box (span) is included twice; first for the out-of-flow box and second for the [text] content. This patch ensures that when we reach the [text] content, we check if we have already reserved the space for the inline box's margin (padding and border).
(While out-of-flow inline level boxes are not supposed to participate in inline layout, (in legacy line layout) in order to compute their static position we include them in line layout. A more involved fix would be to exclude all out-of-flow boxes from line layout and deal with their static positioning after completing the core line layout).
- LayoutTests/fast/block/shrink-to-fit-with-out-of-flow-and-inline-box-margin-expected.html: Added.
- LayoutTests/fast/block/shrink-to-fit-with-out-of-flow-and-inline-box-margin.html: Added.
- Source/WebCore/rendering/line/BreakingContext.h: Make sure when the out-of-flow box takes the margin, we don't add it again for the text content. Also, reset this flag for subsequent content.
(WebCore::inlineLogicalWidth):
Canonical link: https://commits.webkit.org/251483@main
Jun 11, 2022:
- 8:25 PM Changeset in webkit [295477] by
-
- 1 edit in trunk/Source/WebCore/rendering/LegacyLineLayout.cpp
Reset the dirty bit on the inline level renderers when counter is present
https://bugs.webkit.org/show_bug.cgi?id=241534
Reviewed by Antti Koivisto.
While the actual line layout happens in layoutRunsAndFloats, we pre-reset the needsLayout flag as we walk the renderers and prepare them for the inline layout.
Normally this simple DOM order walk clears all the layout bits just fine, but counters can re-dirty any "connected" renderer in a seemingly random order.
This patch ensures that all inline level box renders are marked clean before returning from layoutLineBoxes.
- Source/WebCore/rendering/LegacyLineLayout.cpp:
(WebCore::LegacyLineLayout::layoutLineBoxes):
Canonical link: https://commits.webkit.org/251482@main
- 4:44 PM Changeset in webkit [295476] by
-
- 22 edits2 adds in trunk
Delay system font shorthand resolution until after parsing
https://bugs.webkit.org/show_bug.cgi?id=241454
Reviewed by Antti Koivisto.
This is the fifth piece of https://bugs.webkit.org/show_bug.cgi?id=237817, and is the main crux
of the fix to that bug. When content says something like "font: caption" or "font: -apple-system-body"
we have to map that to CSS properties like font-size and font-weight, so inheritance works properly
across different elements. On iOS, system settings can affect this mapping. Before this patch, we
were performing this mapping inside the parser, which is wrong because we'll never re-parse things
in response to a change in the environment. So, if the page is live, and then the user changes a setting
in system preferences, we won't re-parse, which means the page won't update to accomodate the new setting
the user changed.
This patch changes the parser to not do this mapping, but instead just to emit CSSValues which directly
and simply represent the value that was present in the CSS source itself. So, if the content says
"font: caption" we'll create CSSPrimitiveValues which just hold "caption" and use that for all the longhands
of the font property. Then, we do the mapping when the values are applied, inside StyleBuilder. StyleBuilder
is re-run in response to environment changes, so this piece is necessary for system settings to immediately
take effect without a reload of the page.
This change is web-exposed, because the contents of CSSValues are exposed to webpages via inspecting the
CSSStyleSheet in JavaScript. So, the change is a little scary, but I think it's the only way to have the
right thing happen with system settings.
This patch also deletes the now-unused system font shorthand cache, which was reimplemented in
https://github.com/WebKit/WebKit/commit/10cdfcb983187328f4229d5812a0da2a4210e4ef.
This patch isn't sufficient to make system settings fully work - there are some follow-up patches which
are still necessary on top of this:
- Have font creation code actually interrogate system settings, and react accordingly, to create fonts
with the appropriate size/weight
- Make sure the right things get invalidated, so we don't get erroneous cache hits when system settings
change
- Make sure the right events are being delivered to the right places, and triggering the right invalidation,
in response to system settings being changed.
- LayoutTests/fast/text/font-shorthand-resolution-expected.txt: Added.
- LayoutTests/fast/text/font-shorthand-resolution.html: Added.
- Source/WebCore/css/CSSProperties.json:
- Source/WebCore/css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::consumeSystemFont):
(WebCore::CSSPropertyParser::parseShorthand):
- Source/WebCore/css/parser/CSSPropertyParserHelpers.h:
(WebCore::CSSPropertyParserHelpers::isSystemFontShorthand):
(WebCore::CSSPropertyParserHelpers::lowerFontShorthand):
- Source/WebCore/platform/graphics/SystemFontDatabase.h:
- Source/WebCore/rendering/RenderTheme.h:
- Source/WebCore/rendering/RenderThemeCocoa.h:
- Source/WebCore/rendering/RenderThemeCocoa.mm:
(WebCore::RenderThemeCocoa::systemFont const): Deleted.
- Source/WebCore/rendering/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::systemFont const): Deleted.
- Source/WebCore/rendering/RenderThemePlayStation.cpp:
(WebCore::RenderThemePlayStation::systemFont const): Deleted.
- Source/WebCore/rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::systemFont const): Deleted.
- Source/WebCore/style/StyleBuilderConverter.h:
(WebCore::Style::BuilderConverter::convertFontWeight):
(WebCore::Style::BuilderConverter::convertFontVariantCaps):
(WebCore::Style::BuilderConverter::convertLineHeight):
- Source/WebCore/style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyValueFontFamily):
(WebCore::Style::BuilderCustom::applyValueFontStyle):
(WebCore::Style::BuilderCustom::applyValueFontSize):
- Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::contentSizeCategoryDidChange):
- Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::accessibilityPreferencesDidChange):
Canonical link: https://commits.webkit.org/251481@main
- 3:32 PM Changeset in webkit [295475] by
-
- 4 edits2 adds in trunk
ValidityState object should be the same on each access (JS object getting GC'd incorrectly)
https://bugs.webkit.org/show_bug.cgi?id=33733
Reviewed by Darin Adler.
Fixed the bug by making the form associated element an opaque root of ValidityState.
- LayoutTests/fast/forms/ValidityState-gc-expected.txt: Added.
- LayoutTests/fast/forms/ValidityState-gc.html: Added.
- Source/WebCore/html/HTMLFormControlElement.h:
- Source/WebCore/html/HTMLObjectElement.h:
- Source/WebCore/html/ValidityState.h:
(WebCore::ValidityState::element):
(WebCore::ValidityState::opaqueRootConcurrently):
- Source/WebCore/html/ValidityState.idl:
Canonical link: https://commits.webkit.org/251480@main
- 8:11 AM Changeset in webkit [295474] by
-
- 3 edits in trunk/Source
Non-unified build fixes, pre- Web Engines Hackfest edition
https://bugs.webkit.org/show_bug.cgi?id=241532
Unreviewed non-unified build fixes.
- Source/WebCore/platform/graphics/filters/FilterResults.cpp: Add missing ImageBuffer.h header inclusion.
- Source/WebCore/platform/graphics/gtk/SystemFontDatabaseGTK.cpp: Add missing inclusion of headers PlatformScreen.h, <gtk/gtk.h>, and wtf/glib/GUniquePtr.h.
- Source/WebKit/NetworkProcess/Cookies/WebCookieManager.cpp: Add missing NetworkProcessProxyMessages.h header inclusion.
Canonical link: https://commits.webkit.org/251479@main
Jun 10, 2022:
- 11:23 PM Changeset in webkit [295473] by
-
- 2 edits in trunk
CORS checks shouldn't unblock cookies
https://bugs.webkit.org/show_bug.cgi?id=241527
Reviewed by Brent Fulgham.
If cookies have been blocked, a request that has been made with {credentials: 'include'} shouldn't un-block the cookies.
- Source/WebCore/loader/CrossOriginAccessControl.cpp:
(WebCore::updateRequestForAccessControl):
- Tools/TestWebKitAPI/Tests/WebKitCocoa/WKContentExtensionStore.mm:
(TEST_F):
Canonical link: https://commits.webkit.org/251478@main
- 10:34 PM Changeset in webkit [295472] by
-
- 7 edits2 adds in trunk
Repaint rect does not take into account text-underline-offset
https://bugs.webkit.org/show_bug.cgi?id=241442
Reviewed by Antti Koivisto.
This patch add support for text decoration ink overflow (IFC).
- Collect decoration ink overflow (logical)
- Update display box ink overflow (visual)
- Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::build):
(WebCore::Layout::InlineDisplayContentBuilder::collectInkOverflowForInlineBoxes):
(WebCore::Layout::visualBottomForTextDecorationContent):
(WebCore::Layout::InlineDisplayContentBuilder::collectInkOverflowForTextDecorations):
- Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.h:
- Source/WebCore/style/InlineTextBoxStyle.cpp:
(WebCore::visualOverflowForDecorations):
(WebCore::defaultGap):
- Source/WebCore/style/InlineTextBoxStyle.h:
Canonical link: https://commits.webkit.org/251477@main
- 7:44 PM Changeset in webkit [295471] by
-
- 1 edit in trunk/Tools/Scripts/webkitpy/common/checkout/scm/git.py
[webkit-patch] Format patch without version signature
https://bugs.webkit.org/show_bug.cgi?id=240516
Reviewed by Jonathan Bedard.
By default 'git-format-patch' adds a signature at the bottom of a diff
patch with Git version number, which the DiffParser wrongly interprets as
a patch chunk.
- Tools/Scripts/webkitpy/common/checkout/scm/git.py: Use knob '--no-signature' to emit patch without signature.
Canonical link: https://commits.webkit.org/251476@main
- 6:33 PM Changeset in webkit [295470] by
-
- 5 edits in trunk/Tools/Scripts/libraries/webkitscmpy
[git-webkit] Make the default rebase behavior for
git-webkit prconfigurable
https://bugs.webkit.org/show_bug.cgi?id=239385
<rdar://problem/91811534>
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/program/pull_request.py:
(PullRequest.main): Check the webkitscmpy.auto-rebase-branch option to determine
if we should automatically rebase the branch.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py:
(Setup.git): Prompt user to set the automatic rebase behavior.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_unittest.py:
Canonical link: https://commits.webkit.org/251475@main
- 5:35 PM Changeset in webkit [295469] by
-
- 1 delete in trunk/Tools/Scripts/webkitperl/VCSUtils_unittest/mergeChangeLogs.pl
[webkitperl] Remove ChangeLog test
https://bugs.webkit.org/show_bug.cgi?id=241481
Reviewed by Aakash J.
- Tools/Scripts/webkitperl/VCSUtils_unittest/mergeChangeLogs.pl: Removed.
Canonical link: https://commits.webkit.org/251474@main
- 4:26 PM Changeset in webkit [295468] by
-
- 2 edits in trunk
[iOS] Specifying spellcheck="false" on a contentEditable element should suppress platform spellchecking
https://bugs.webkit.org/show_bug.cgi?id=241514
rdar://91123300
Reviewed by Devin Rousso.
Additionally set
-[UITextInputTraits spellCheckingType]toUITextSpellCheckingTypeNowhen
focusing editable fields with the DOM attributespellcheck="false". This provides a hint to UIKit
that system spellchecking should be disabled when editing this field - among other things, this
allows us to avoid showing text candidates in the case whereautocorrect="off"is additionally
specified.
If either
spellcheck="true"is set orspellcheckis not specified, we fall back to the user's
preference by usingUITextSpellCheckingTypeDefault.
Test: KeyboardInputTests.DisableSpellChecking
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _updateTextInputTraits:]):
- Tools/TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
(TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/251473@main
- 4:10 PM Changeset in webkit [295467] by
-
- 2 edits in trunk/Tools/CISupport/ews-build
[EWS] Remove extra space from GitHub PR description links
https://bugs.webkit.org/show_bug.cgi?id=241522
<rdar://problem/94842283>
Reviewed by Ryan Haddad.
- Tools/CISupport/ews-build/steps.py:
(UpdatePullRequest): Port changes from 250718@main to EWS.
(UpdatePullRequest.escape_html):
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/251472@main
- 3:45 PM Changeset in webkit [295466] by
-
- 1 edit in trunk/Source/WebKit/UIProcess/WebPageProxy.h
Unified build: error: reference to 'FontInfo' is ambiguous
https://bugs.webkit.org/show_bug.cgi?id=241524
Reviewed by Darin Adler.
Fix unified build error.
- Source/WebKit/UIProcess/WebPageProxy.h: removed unused forward declaration.
It may cause name clash with ::FontInfo (from QD.framework/Headers/Quickdraw.h)
on Mac when this file is included into the same unified source as another .cpp
file declaring 'using namespace WebKit;'.
Canonical link: https://commits.webkit.org/251471@main
- 3:13 PM Changeset in webkit [295465] by
-
- 1 edit in releases/WebKitGTK/webkit-2.36/Source/WebCore/rendering/RenderBox.h
Merge r295399 - Handle a disconnected view during applyTopLeftLocationOffset
https://bugs.webkit.org/show_bug.cgi?id=241355
<rdar://92432637>
Reviewed by Alan Bujtas.
It appears that we can sometimes end up in a state where the document's
view is disconnected during didLayout, which calls applyTopleftLocationOffset.
This just adds a null check to handle this case for now.
- Source/WebCore/rendering/RenderBox.h:
(WebCore::RenderBox::applyTopLeftLocationOffset const):
Canonical link: https://commits.webkit.org/251405@main
- 2:49 PM Changeset in webkit [295464] by
-
- 34 edits in trunk
Update TBA API availability macros for iOS 16 and macOS Ventura
https://bugs.webkit.org/show_bug.cgi?id=241482
rdar://94651561
Reviewed by Tim Horton.
Update
WK_MAC_TBAandWK_IOS_TBAmacros to 13.0 and 16.0, respectively.
- Source/WebKit/Shared/API/Cocoa/WKMain.h:
- Source/WebKit/Shared/API/Cocoa/_WKHitTestResult.h:
- Source/WebKit/UIProcess/API/Cocoa/WKError.h:
- Source/WebKit/UIProcess/API/Cocoa/WKMenuItemIdentifiersPrivate.h:
- Source/WebKit/UIProcess/API/Cocoa/WKPreferences.h:
Mark these two API properties as available since macOS 12.3 and iOS 15.4. These were first
introduced in these respective macOS and iOS versions, but with incorrect availability macros
indicating that they were available since 12.0 and 15.0.
- Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h:
- Source/WebKit/UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
- Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
- Source/WebKit/UIProcess/API/Cocoa/WKUserContentControllerPrivate.h:
- Source/WebKit/UIProcess/API/Cocoa/WKWebView.h:
Also, mark
setMinimumViewportInset:maximumViewportInset:,minimumViewportInset, and
maximumViewportInsetas being available since iOS 15.5.
- Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
- Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:
(-[WKWebView _dataTaskWithRequest:completionHandler:]):
- Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
- Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferencesPrivate.h:
- Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataRecord.h:
- Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataRecordPrivate.h:
- Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKApplicationManifest.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKAuthenticatorSelectionCriteria.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKAutomationSession.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKContentRuleListAction.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKDataTask.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKDataTaskDelegate.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKElementAction.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKModalContainerInfo.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKResidentKeyRequirement.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKSystemPreferences.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h:
- Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInCSSStyleDeclarationHandle.h:
- Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h:
- Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h:
- Tools/Scripts/webkitpy/common/version_name_map.py:
(VersionNameMap.init):
Canonical link: https://commits.webkit.org/251470@main
- 2:44 PM Changeset in webkit [295463] by
-
- 1 edit in trunk/Source/WebCore/Modules/paymentrequest/PaymentRequest.cpp
Add PaymentHandler reference when validating the merchant
https://bugs.webkit.org/show_bug.cgi?id=241520
<rdar://problem/94609087>
Reviewed by Wenson Hsieh.
- Source/WebCore/Modules/paymentrequest/PaymentRequest.cpp:
(WebCore::PaymentRequest::completeMerchantValidation):
Canonical link: https://commits.webkit.org/251469@main
- 2:22 PM Changeset in webkit [295462] by
-
- 2 edits in trunk/Tools/CISupport/build-webkit-org
Add post-commit build to run accessibility isolated tree mode layout tests
https://bugs.webkit.org/show_bug.cgi?id=235125
Reviewed by Aakash Jain.
Patch co-author is Aakash Jain.
- Tools/CISupport/build-webkit-org/config.json:
- Tools/CISupport/build-webkit-org/factories_unittest.py:
(TestExpectedBuildSteps):
Canonical link: https://commits.webkit.org/251468@main
- 1:36 PM Changeset in webkit [295461] by
-
- 3 edits in trunk/Source
Adopt EnumeratedArray in SystemFontDatabase
https://bugs.webkit.org/show_bug.cgi?id=241506
Reviewed by Cameron McCormack.
This is why we created EnumeratedArray in the first place.
- Source/WebCore/platform/graphics/SystemFontDatabase.cpp:
(WebCore::SystemFontDatabase::systemFontShorthandInfo const):
- Source/WebCore/platform/graphics/SystemFontDatabase.h:
Canonical link: https://commits.webkit.org/251467@main
- 1:23 PM Changeset in webkit [295460] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.mm
Safari crashes anytime any web links on a webpage are clicked on
https://bugs.webkit.org/show_bug.cgi?id=241500
rdar://94655829
Reviewed by Tim Horton.
In some VM scenarios, IOSurfaceAccelerator is not available, which
causes a crash when navigating (creating the back-forward images).
The solution is to check for null after attempting to create the
accelerator.
- Source/WebCore/platform/graphics/cocoa/IOSurface.mm:
(WebCore::IOSurface::convertToFormat): Add a null check and bail.
Canonical link: https://commits.webkit.org/251466@main
- 12:01 PM Changeset in webkit [295459] by
-
- 5 edits in trunk/Source
[Shadow Realms] Add feature flag to enable Exposed=* web APIs in ShadowRealms
https://bugs.webkit.org/show_bug.cgi?id=241448
Reviewed by Yusuke Suzuki.
No longer expose Web APIs to ShadowRealm by default. Instead, we
enable this with a new setting WebAPIsInShadowRealmEnabled.
Because the HTML integration aspect of the specification is still in the
air, it's prudent to disable it by default, while still providing a
feature flag for web-platform-tests.
- Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml:
- Source/WebCore/bindings/js/WebCoreBuiltinNames.h:
- Source/WebCore/bindings/scripts/preprocess-idls.pl:
(GenerateConstructorAttributes):
- Source/WebCore/bindings/scripts/test/JS/JSShadowRealmGlobalScope.cpp:
(WebCore::JSShadowRealmGlobalScope::finishCreation):
- Source/WebCore/bindings/scripts/test/ShadowRealmGlobalScopeConstructors.idl:
Canonical link: https://commits.webkit.org/251465@main
- 11:50 AM Changeset in webkit [295458] by
-
- 1 edit in trunk/Source/WebCore/style/InlineTextBoxStyle.cpp
Remove redundant OptionSet<TextDecorationLine> in InlineTextBoxStyle functions
https://bugs.webkit.org/show_bug.cgi?id=241499
Reviewed by Antti Koivisto.
- Source/WebCore/style/InlineTextBoxStyle.cpp:
(WebCore::minLogicalTopForTextDecorationLine):
(WebCore::maxLogicalBottomForTextDecorationLine):
(WebCore::enclosingRendererWithTextDecoration):
(WebCore::textRunLogicalOffsetFromLineBottom):
Canonical link: https://commits.webkit.org/251464@main
- 11:19 AM Changeset in webkit [295457] by
-
- 1 edit in trunk/Source/WebCore/dom/Document.cpp
Special case bitmap renderers in Document::getCSSCanvasContext
https://bugs.webkit.org/show_bug.cgi?id=241505
Patch by Rob Buis <rbuis@igalia.com> on 2022-06-10
Reviewed by Alex Christensen.
Special case bitmap renderers in Document::getCSSCanvasContext.
- Source/WebCore/dom/Document.cpp:
(WebCore::Document::getCSSCanvasContext):
Canonical link: https://commits.webkit.org/251463@main
- 10:29 AM Changeset in webkit [295456] by
-
- 2 edits in trunk
[ macOS ][ iOS ] TestWebKitAPI.SOAuthorizationSubFrame.InterceptionError is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=241421
<rdar://problem/94641397>
Reviewed by Kate Cheney.
This test was timing out for the same reason as SOAuthorizationSubFrame.InterceptionErrorWithReferrer,
which Pascoe fixed in Bug 239311.
This change modifies all 'waitForMessage'-based tests to use the message listener delegate to
avoid the race conditions identified. I also changed the method swizzling code to remove
a bunch of copy/paste code that had to be kept in sync.
With these changes I can run the tests 1000 times on simulator without a timeout.
- Source/WebKit/UIProcess/Cocoa/SOAuthorization/WKSOAuthorizationDelegate.mm:
(-[WKSOAuthorizationDelegate authorization:didCompleteWithError:]): Only emit an error log message
when there is an actual error. We pass through this flow in normal cases where a site wants to
use the web fallback instead of AppSSO based on user input.
- Tools/TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm:
(-[TestSOAuthorizationScriptMessageHandler extendExpectations:]):
(-[TestSOAuthorizationScriptMessageHandler resetExpectations:]):
(TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/251462@main
- 10:09 AM Changeset in webkit [295455] by
-
- 3 edits in trunk/Source/WebCore
Should be able to compute decoration overflow without InlineIterator::TextBoxIterator
https://bugs.webkit.org/show_bug.cgi?id=241490
Reviewed by Antti Koivisto.
This patch enables IFC codebase to compute visual overflow for decoration (even when TextBoxIterator is not available).
- Source/WebCore/rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::changeAffectsVisualOverflow const):
- Source/WebCore/style/InlineTextBoxStyle.cpp:
(WebCore::visualOverflowForDecorations):
- Source/WebCore/style/InlineTextBoxStyle.h:
Canonical link: https://commits.webkit.org/251461@main
- 9:13 AM Changeset in webkit [295454] by
-
- 2 edits in trunk/Source
[GLib] Validate proxy URLs passed to WebKitNetworkProxySettings
https://bugs.webkit.org/show_bug.cgi?id=241485
Patch by Michael Catanzaro <mcatanzaro@redhat.com> on 2022-06-10
Reviewed by Philippe Normand.
Validate that users pass only valid URLs to these APIs.
- Source/WTF/wtf/URL.h: Opportunistic typo fix.
- Source/WebKit/UIProcess/API/glib/WebKitNetworkProxySettings.cpp:
(webkit_network_proxy_settings_new):
(webkit_network_proxy_settings_add_proxy_for_scheme):
Canonical link: https://commits.webkit.org/251460@main
- 8:19 AM Changeset in webkit [295453] by
-
- 3 edits in trunk/Source/WebCore
computeUnderlineOffset should not take InlineIterator::LineBoxIterator
https://bugs.webkit.org/show_bug.cgi?id=241488
Reviewed by Antti Koivisto.
Let's precompute the text run's offset value so that we don't have to pass in a LineBoxIterator to computeUnderlineOffset.
- Source/WebCore/rendering/TextDecorationPainter.cpp:
(WebCore::TextDecorationPainter::paintBackgroundDecorations):
- Source/WebCore/style/InlineTextBoxStyle.cpp:
(WebCore::textRunLogicalOffsetFromLineBottom):
(WebCore::computeUnderlineOffset):
(WebCore::visualOverflowForDecorations):
- Source/WebCore/style/InlineTextBoxStyle.h:
Canonical link: https://commits.webkit.org/251459@main
- 8:11 AM Changeset in webkit [295452] by
-
- 1 edit in trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm
Disable URL scheme check in Data Detectors for all clients
https://bugs.webkit.org/show_bug.cgi?id=241273
Reviewed by Geoffrey Garen.
We are seeing telmetry where also Web browser clients are attempting to connect to Launch Services when data detection
is trying to find an application to handle a URL with a custom scheme. Since Launch Services is blocked in the sandbox,
the WebContent process will be unable to determine if there is an application that can open this URL, and the link will
not be clickable. This can be addressed by disabling the URL scheme check in Data Detectors for all clients.
- Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
Canonical link: https://commits.webkit.org/251458@main
- 7:51 AM Changeset in webkit [295451] by
-
- 6 edits in trunk
WebDriver: [Cocoa] Regression(r290743) Automated mouse movement does not result in JS mouse event being fired
https://bugs.webkit.org/show_bug.cgi?id=241484
rdar://94026001
Reviewed by Devin Rousso.
r290743 changed WKWebView on macOS to no longer forward NSEventTypeMouseMoved events to the underlying view
implementation since it does its own mouse tracking. Unfortuantely, this means that WebDriver on Cocoa platforms can not
just dispatch an event to the window and have that event reach the WKWebView's underlying view implementation. This
change was made because events for genuine cursor movement were being received twice by the underlying view previously.
We need to explicitly tell the underlying view about automated mouse movements (as well as the NSWindow to maintain any
existing behavior caused by the mouse move event being sent to the window).
This patch was verified by comparing WPT test results for tests in /webdriver/tests/perform_actions and
/webdriver/tests/release_actions and ensuring that results now match Safari 15.5 again, which does not have the
regressing change included.
- Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:
- Source/WebKit/UIProcess/API/mac/WKWebViewMac.mm:
(-[WKWebView _simulateMouseMove:]):
- Source/WebKit/UIProcess/API/mac/WKWebViewPrivateForTestingMac.h:
- Source/WebKit/UIProcess/API/mac/WKWebViewTestingMac.mm:
(-[WKWebView _simulateMouseMove:]): Deleted.
- Move _simulateMouseMove to be private instead of private for testing.
- Source/WebKit/UIProcess/Automation/mac/WebAutomationSessionMac.mm:
(WebKit::WebAutomationSession::sendSynthesizedEventsToPage):
- For mouse move events, make sure the view implementation receives the events.
- Tools/WebKitTestRunner/mac/EventSenderProxy.mm:
Canonical link: https://commits.webkit.org/251457@main
- 5:26 AM Changeset in webkit [295450] by
-
- 1 edit in trunk/Source/WebCore/style/InlineTextBoxStyle.cpp
minLogicalTopForTextDecorationLine/maxLogicalBottomForTextDecorationLine should return the min/max value
https://bugs.webkit.org/show_bug.cgi?id=241474
Reviewed by Antti Koivisto.
This improves readability and also a preparation for making decoration visual overflow work with IFC.
- Source/WebCore/style/InlineTextBoxStyle.cpp:
(WebCore::minLogicalTopForTextDecorationLine):
(WebCore::maxLogicalBottomForTextDecorationLine):
(WebCore::computeUnderlineOffset):
Canonical link: https://commits.webkit.org/251456@main
- 2:37 AM Changeset in webkit [295449] by
-
- 60 edits2 adds in trunk
Enable WasmLLInt on ARMv7
Patch by Geza Lore <Geza Lore> on 2022-06-10
Patch by Geza Lore <Geza Lore> on 2022-05-27
https://bugs.webkit.org/show_bug.cgi?id=221260
Reviewed by Saam Barati.
Patch by Geza Lore and Xan López.
Implement the LLInt tier of WebAssembly for ARMv7. A lot of the
work will be shared by any 32bit port, but the offlineassembler
has only been updated for ARMv7 so far.
Main highlights:
We have split the WebAssembly.asm file into three chunks,
following what LowLevelInterpreter.asm does. The common code
remains in WebAssembly.asm, and 32 and 64bit specific code (mostly
opcode implementations) goes into WebAssembly32_64.asm and
WebAssembly64.asm.
We have decided to use consecutive even/odd pairs of GPRs for every
type of wasm values, even if they are 32bit (i32/f32), with the odd
(higher) numbered GPR holding the more significant half. 32bit values
are held in the even (lower) numbered register. This makes the code
much simpler and allows us to share more code with the 64bit variant.
This is mostly relevant for argument passing, and given that every
value ends up in the stack anyway we do not think it is significant
from a performance POV.
We are reusing JSValueRegs to hold Wasm values too. Obviously they
are not really JSValues, so it might make sense to create a base
class that can be used for both JS and Wasm values.
We do not have enough registers to keep things like the memory
base pointer and size in pinned registers, so we are forced to
load them on each use.
We disable the 'Signaling' memory mode, since the current
implementation relies on being able to mprotect a 232 + redzone
region of memory. This can be changed in the future but it's not a
priority at the moment.
- stress/sampling-profiler-wasm-name-section.js:
- stress/sampling-profiler-wasm.js:
- wasm/regress/llint-callee-saves-with-fast-memory.js:
- CMakeLists.txt:
- assembler/ARMv7Assembler.h:
(JSC::ARMv7Assembler::vcvt_signedToFloatingPoint):
- assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::convertInt32ToFloat):
(JSC::MacroAssemblerARMv7::threadSafePatchableNearCall):
(JSC::MacroAssemblerARMv7::callOperation):
- b3/B3ValueRep.h:
(JSC::B3::ValueRep::ValueRep):
- bytecode/BytecodeDumper.cpp:
(JSC::Wasm::BytecodeDumper::formatConstant const):
- interpreter/CallFrame.h: adapt to new callee tagging format.
(JSC::CallFrame::callee const):
(JSC::CallFrame::unsafeCallee const):
- interpreter/CalleeBits.h: add wasm tagging of callee values for
32bit.
(JSC::CalleeBits::CalleeBits):
(JSC::CalleeBits::operator=):
(JSC::CalleeBits::boxWasm):
(JSC::CalleeBits::isWasm const):
(JSC::CalleeBits::asWasmCallee const):
- interpreter/Register.h:
(JSC::Register::unboxedFloat const):
(JSC::Register::asanUnsafeUnboxedFloat const):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::unboxDouble):
- jit/RegisterAtOffsetList.cpp:
(JSC::RegisterAtOffsetList::RegisterAtOffsetList):
- jit/RegisterAtOffsetList.h:
(JSC::RegisterAtOffsetList::sizeOfAreaInBytes const):
- jit/RegisterSet.cpp:
(JSC::RegisterSet::macroScratchRegisters):
- llint/LowLevelInterpreter32_64.asm:
- llint/WebAssembly.asm:
- llint/WebAssembly32_64.asm: Added.
- llint/WebAssembly64.asm: Added.
- offlineasm/arm.rb:
- offlineasm/instructions.rb:
- offlineasm/registers.rb:
- offlineasm/risc.rb:
- runtime/JSCJSValue.h:
(JSC::wasmUnboxedFloat):
- runtime/JSCJSValueInlines.h:
(JSC::JSValue::JSValue):
- wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::useSignalingMemory const):
(JSC::Wasm::AirIRGenerator::AirIRGenerator):
(JSC::Wasm::AirIRGenerator::emitCheckAndPreparePointer):
(JSC::Wasm::AirIRGenerator::addCall):
- wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::useSignalingMemory const):
(JSC::Wasm::B3IRGenerator::B3IRGenerator):
(JSC::Wasm::B3IRGenerator::addArguments):
(JSC::Wasm::B3IRGenerator::emitCheckAndPreparePointer):
(JSC::Wasm::B3IRGenerator::memoryKind):
(JSC::Wasm::B3IRGenerator::addCall):
- wasm/WasmBinding.cpp:
(JSC::Wasm::wasmToWasm):
- wasm/WasmCallee.cpp:
(JSC::Wasm::LLIntCallee::calleeSaveRegisters):
- wasm/WasmCalleeGroup.cpp:
(JSC::Wasm::CalleeGroup::isSafeToRun):
- wasm/WasmCallingConvention.cpp:
(JSC::Wasm::jsCallingConvention):
(JSC::Wasm::wasmCallingConvention):
- wasm/WasmCallingConvention.h:
(JSC::Wasm::CallInformation::computeResultsOffsetList):
(JSC::Wasm::WasmCallingConvention::WasmCallingConvention):
(JSC::Wasm::WasmCallingConvention::marshallLocationImpl const):
(JSC::Wasm::WasmCallingConvention::marshallLocation const):
(JSC::Wasm::JSCallingConvention::JSCallingConvention):
(JSC::Wasm::JSCallingConvention::marshallLocationImpl const):
(JSC::Wasm::JSCallingConvention::marshallLocation const):
(JSC::Wasm::JSCallingConvention::callInformationFor const):
- wasm/WasmFormat.h:
- wasm/WasmIndexOrName.cpp:
(JSC::Wasm::IndexOrName::IndexOrName):
(JSC::Wasm::makeString):
- wasm/WasmIndexOrName.h:
(JSC::Wasm::IndexOrName::IndexOrName):
(JSC::Wasm::IndexOrName::isEmpty const):
(JSC::Wasm::IndexOrName::isIndex const):
(JSC::Wasm::IndexOrName::isName const):
(JSC::Wasm::IndexOrName::index const):
(JSC::Wasm::IndexOrName::name const):
(JSC::Wasm::IndexOrName::nameSection const):
- wasm/WasmInstance.h:
(JSC::Wasm::Instance::updateCachedMemory):
- wasm/WasmLLIntGenerator.cpp:
(JSC::Wasm::LLIntGenerator::virtualRegisterForWasmLocal):
(JSC::Wasm::LLIntGenerator::callInformationForCaller):
(JSC::Wasm::LLIntGenerator::callInformationForCallee):
(JSC::Wasm::LLIntGenerator::addArguments):
(JSC::Wasm::LLIntGenerator::addLoop):
- wasm/WasmLLIntPlan.cpp:
(JSC::Wasm::LLIntPlan::didCompleteCompilation):
- wasm/WasmMemory.cpp:
(JSC::Wasm::MemoryHandle::~MemoryHandle):
(JSC::Wasm::Memory::tryCreate):
(JSC::Wasm::Memory::growShared):
(JSC::Wasm::Memory::grow):
(JSC::Wasm::Memory::copy):
- wasm/WasmMemory.h:
- wasm/WasmMemoryInformation.cpp:
(JSC::Wasm::PinnedRegisterInfo::get):
- wasm/WasmMemoryInformation.h:
(JSC::Wasm::PinnedRegisterInfo::toSave const):
- wasm/WasmMemoryMode.cpp:
(JSC::Wasm::makeString):
- wasm/WasmMemoryMode.h:
- wasm/WasmOpcodeOrigin.cpp:
- wasm/WasmOpcodeOrigin.h:
- wasm/WasmOperations.cpp:
(JSC::Wasm::JSC_DEFINE_JIT_OPERATION):
- wasm/WasmOperations.h:
- wasm/WasmPageCount.h:
- wasm/WasmParser.h:
(JSC::Wasm::Parser<SuccessType>::parseUInt32):
(JSC::Wasm::Parser<SuccessType>::parseUInt64):
- wasm/WasmSlowPaths.cpp:
(JSC::LLInt::WASM_SLOW_PATH_DECL):
(JSC::LLInt::slow_path_wasm_popcount):
(JSC::LLInt::slow_path_wasm_popcountll):
(JSC::LLInt::slow_path_wasm_i32_div_s):
(JSC::LLInt::slow_path_wasm_i32_div_u):
(JSC::LLInt::slow_path_wasm_i32_rem_s):
(JSC::LLInt::slow_path_wasm_i32_rem_u):
(JSC::LLInt::slow_path_wasm_i64_div_s):
(JSC::LLInt::slow_path_wasm_i64_div_u):
(JSC::LLInt::slow_path_wasm_i64_rem_s):
(JSC::LLInt::slow_path_wasm_i64_rem_u):
- wasm/WasmSlowPaths.h:
- wasm/WasmValueLocation.cpp:
(JSC::Wasm::ValueLocation::dump const):
(WTF::printInternal):
- wasm/WasmValueLocation.h:
(JSC::Wasm::ValueLocation::ValueLocation):
(JSC::Wasm::ValueLocation::isGPR const):
(JSC::Wasm::ValueLocation::isFPR const):
(JSC::Wasm::ValueLocation::isStack const):
(JSC::Wasm::ValueLocation::isStackArgument const):
(JSC::Wasm::ValueLocation::jsr const):
(JSC::Wasm::ValueLocation::fpr const):
(JSC::Wasm::ValueLocation::reg): Deleted.
(JSC::Wasm::ValueLocation::isReg const): Deleted.
(JSC::Wasm::ValueLocation::reg const): Deleted.
(JSC::Wasm::ValueLocation::gpr const): Deleted.
- wasm/js/JSToWasm.cpp:
(JSC::Wasm::marshallJSResult):
(JSC::Wasm::createJSToWasmWrapper):
- wasm/js/WasmToJS.cpp:
(JSC::Wasm::wasmToJS):
- wasm/js/WebAssemblyFunction.cpp:
(JSC::WebAssemblyFunction::previousInstanceOffset const):
(JSC::WebAssemblyFunction::jsCallEntrypointSlow):
- wasm/js/WebAssemblyGlobalConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- wasm/js/WebAssemblyModuleRecord.cpp:
(JSC::WebAssemblyModuleRecord::initializeExports):
- wtf/PlatformEnable.h: enable WebAssembly on ARMv7.
- Scripts/run-jsc-stress-tests: allow to run the wasm tests on
armv7 even without jit support (for now).
Canonical link: https://commits.webkit.org/251455@main
- 1:04 AM Changeset in webkit [295448] by
-
- 8 edits2 adds in trunk
REGRESSION: CSS scroll-behavior: smooth with overflow: hidden breaks JS scrollTo/scrollLeft/scrollTop
https://bugs.webkit.org/show_bug.cgi?id=238497
<rdar://90990040>
Reviewed by Simon Fraser.
Add scrollable area to frame view's list of scrollable areas if necessary in scrollToOffset.
This is necessary as Document::runScrollSteps() looks through the list of scrollable areas
to service animations on the scrollable area. It is necessary to add the scrollable area
in scrollToOffset as for a scrollable area that is not user scrollable (such as a scrollable
area with overflow: hidden) it would not be added, so the animation would not occur.
- LayoutTests/fast/scrolling/smooth-scroll-with-overflow-hidden-expected.txt: Added.
- LayoutTests/fast/scrolling/smooth-scroll-with-overflow-hidden.html: Added.
- Source/WebCore/page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::absoluteEventTrackingRegionsForFrame const):
- Source/WebCore/platform/ScrollableArea.h:
(WebCore::ScrollableArea::isVisibleToHitTesting const):
- Source/WebCore/rendering/RenderLayerScrollableArea.cpp:
(WebCore::RenderLayerScrollableArea::clear):
(WebCore::RenderLayerScrollableArea::scrollToOffset):
(WebCore::RenderLayerScrollableArea::isVisibleToHitTesting const):
(WebCore::RenderLayerScrollableArea::updateScrollableAreaSet):
(WebCore::RenderLayerScrollableArea::registerScrollableArea):
- Source/WebCore/rendering/RenderLayerScrollableArea.h:
Canonical link: https://commits.webkit.org/251454@main
Jun 9, 2022:
- 11:29 PM Changeset in webkit [295447] by
-
- 3 edits2 adds in trunk
Add EnumeratedArray type
https://bugs.webkit.org/show_bug.cgi?id=241451
Reviewed by Cameron McCormack.
This is an std::array where the indices of the array are values of an enum (rather than a size_t).
This assumes the values of the enum start at 0 and monotonically increase by 1
(so the conversion function between size_t and the enum is just a simple static_cast).
EnumeratedArray includes almost all of the functions from std::array, except for a few which I
intentionally omitted.
- Source/WTF/WTF.xcodeproj/project.pbxproj:
- Source/WTF/wtf/EnumeratedArray.h: Added.
(WTF::EnumeratedArray::EnumeratedArray):
(WTF::EnumeratedArray::operator=):
(WTF::EnumeratedArray::at):
(WTF::EnumeratedArray::at const):
(WTF::EnumeratedArray::operator[]):
(WTF::EnumeratedArray::operator[] const):
(WTF::EnumeratedArray::front):
(WTF::EnumeratedArray::front const):
(WTF::EnumeratedArray::back):
(WTF::EnumeratedArray::back const):
(WTF::EnumeratedArray::fill):
(WTF::EnumeratedArray::operator== const):
(WTF::EnumeratedArray::operator!= const):
(WTF::EnumeratedArray::operator< const):
(WTF::EnumeratedArray::operator<= const):
(WTF::EnumeratedArray::operator> const):
(WTF::EnumeratedArray::operator>= const):
(WTF::EnumeratedArray::index):
- Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- Tools/TestWebKitAPI/Tests/WTF/EnumeratedArray.cpp: Added.
(TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/251453@main
- 11:25 PM Changeset in webkit [295446] by
-
- 22 edits2 adds2 deletes in trunk
AX: Update the isolated tree in response to dynamic changes to aria-live, aria-relevant, and aria-atomic
https://bugs.webkit.org/show_bug.cgi?id=241444
Reviewed by Chris Fleizach.
With this patch, we now update the isolated tree in response to dynamic
aria-live, aria-relevant, and aria-atomic changes.
This patch also makes liveRegionStatus, liveRegionRelevant, and
liveRegionAtomic work on node-only objects (like those with display:contents).
- LayoutTests/accessibility/aria-busy-updates-after-dynamic-change-expected.txt: Removed.
- LayoutTests/accessibility/aria-busy-updates-after-dynamic-change.html: Removed.
- LayoutTests/accessibility/live-region-attributes-update-after-dynamic-change-expected.txt: Added.
- LayoutTests/accessibility/live-region-attributes-update-after-dynamic-change.html: Added.
- LayoutTests/platform/glib/TestExpectations:
- LayoutTests/platform/ios/TestExpectations:
- LayoutTests/platform/win/TestExpectations:
- Source/WebCore/accessibility/AXLogger.cpp:
(WebCore::operator<<):
- Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::handleAttributeChange):
(WebCore::AXObjectCache::updateIsolatedTree):
- Source/WebCore/accessibility/AXObjectCache.h:
- Source/WebCore/accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::liveRegionStatus const):
(WebCore::AccessibilityNodeObject::liveRegionRelevant const):
(WebCore::AccessibilityNodeObject::liveRegionAtomic const):
- Source/WebCore/accessibility/AccessibilityNodeObject.h:
- Source/WebCore/accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::liveRegionStatus const): Deleted.
(WebCore::AccessibilityRenderObject::liveRegionRelevant const): Deleted.
(WebCore::AccessibilityRenderObject::liveRegionAtomic const): Deleted.
- Source/WebCore/accessibility/AccessibilityRenderObject.h:
- Source/WebCore/accessibility/atspi/AXObjectCacheAtspi.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
- Tools/DumpRenderTree/AccessibilityUIElement.cpp:
(getLiveRegionRelevantCallback):
(getLiveRegionStatusCallback):
(getIsAtomicLiveRegionCallback):
(AccessibilityUIElement::getJSClass):
- Tools/DumpRenderTree/AccessibilityUIElement.h:
- Tools/DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::liveRegionRelevant const):
(AccessibilityUIElement::liveRegionStatus const):
(AccessibilityUIElement::isAtomicLiveRegion const):
- Tools/DumpRenderTree/win/AccessibilityUIElementWin.cpp
(AccessibilityUIElement::liveRegionRelevant const):
(AccessibilityUIElement::liveRegionStatus const):
(AccessibilityUIElement::isAtomicLiveRegion const):
- Tools/DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::liveRegionRelevant const):
(AccessibilityUIElement::liveRegionStatus const):
(AccessibilityUIElement::isAtomicLiveRegion const):
- Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
- Tools/WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
- Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::liveRegionRelevant const):
(WTR::AccessibilityUIElement::liveRegionStatus const):
(WTR::AccessibilityUIElement::isAtomicLiveRegion const):
- Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::liveRegionStatus const):
(WTR::AccessibilityUIElement::liveRegionRelevant const):
(WTR::AccessibilityUIElement::isAtomicLiveRegion const):
- Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp
- Tools/WebKitTestRunner/InjectedBundle/win/AccessibilityUIElementWin.cpp
Canonical link: https://commits.webkit.org/251452@main
- 9:58 PM Changeset in webkit [295445] by
-
- 1 edit in trunk/Source/WebKit/NetworkProcess/cocoa/LaunchServicesDatabaseObserver.mm
Revert r295422
https://bugs.webkit.org/show_bug.cgi?id=241502
Unreviewed, revert r295422.
- Source/WebKit/NetworkProcess/cocoa/LaunchServicesDatabaseObserver.mm:
(WebKit::LaunchServicesDatabaseObserver::LaunchServicesDatabaseObserver):
(WebKit::LaunchServicesDatabaseObserver::startObserving):
(WebKit::LaunchServicesDatabaseObserver::~LaunchServicesDatabaseObserver):
(WebKit::hasSystemContentDatabase): Deleted.
Canonical link: https://commits.webkit.org/251451@main
- 8:08 PM Changeset in webkit [295444] by
-
- 3 edits in trunk/Source/WebCore
computeUnderlineOffset should not take TextRun
https://bugs.webkit.org/show_bug.cgi?id=241471
Reviewed by Antti Koivisto.
This is in preparation for taking visual overflow for decoration into account in IFC.
- Source/WebCore/rendering/TextDecorationPainter.cpp:
(WebCore::TextDecorationPainter::paintBackgroundDecorations):
- Source/WebCore/style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
(WebCore::visualOverflowForDecorations):
- Source/WebCore/style/InlineTextBoxStyle.h:
Canonical link: https://commits.webkit.org/251450@main
- 8:06 PM Changeset in webkit [295443] by
-
- 46 edits9 copies2 moves11 adds in trunk
[Payment Request] upstream new features
https://bugs.webkit.org/show_bug.cgi?id=241389
<rdar://problem/94581707>
Reviewed by Tim Horton.
- Source/WTF/wtf/PlatformHave.h:
- Source/WTF/wtf/PlatformEnableCocoa.h:
Add new flags.
- Source/WebCore/Modules/applepay/ApplePayPaymentTiming.idl:
- Source/WebCore/Modules/applepay/ApplePayPaymentTiming.h:
- Source/WebCore/Modules/applepay/ApplePayLineItem.idl:
- Source/WebCore/Modules/applepay/ApplePayLineItem.h:
(WebCore::ApplePayLineItem::encode const):
(WebCore::ApplePayLineItem::decode):
- Source/WebCore/Modules/applepay/PaymentSummaryItems.h:
- Source/WebCore/Modules/applepay/cocoa/PaymentSummaryItemsCocoa.mm:
(WebCore::platformAutomaticReloadSummaryItem): Added.
(WebCore::platformSummaryItem):
Add a new line item type for automatic reload (i.e. "charge when balance drops low enough").
- Source/WebCore/Modules/applepay/ApplePayRecurringPaymentRequest.idl: Added.
- Source/WebCore/Modules/applepay/ApplePayRecurringPaymentRequest.h: Added.
(WebCore::ApplePayRecurringPaymentRequest::encode const):
(WebCore::ApplePayRecurringPaymentRequest::decode):
- Source/WebKit/Shared/ApplePay/RecurringPaymentRequest.h: Added.
- Source/WebKit/Shared/ApplePay/cocoa/RecurringPaymentRequestCocoa.mm: Added.
(WebKit::platformRecurringPaymentRequest):
Add additional details for configuring a recurring payment.
- Source/WebCore/Modules/applepay/ApplePayAutomaticReloadPaymentRequest.idl: Added.
- Source/WebCore/Modules/applepay/ApplePayAutomaticReloadPaymentRequest.h: Added.
(WebCore::ApplePayAutomaticReloadPaymentRequest::encode const):
(WebCore::ApplePayAutomaticReloadPaymentRequest::decode):
- Source/WebKit/Shared/ApplePay/AutomaticReloadPaymentRequest.h: Added.
- Source/WebKit/Shared/ApplePay/cocoa/AutomaticReloadPaymentRequestCocoa.mm: Added.
(WebKit::platformAutomaticReloadPaymentRequest):
Add additional details for configuring an automatic reload payment.
- Source/WebCore/Modules/applepay/ApplePayPaymentTokenContext.idl: Added.
- Source/WebCore/Modules/applepay/ApplePayPaymentTokenContext.h: Added.
(WebCore::ApplePayPaymentTokenContext::encode const):
(WebCore::ApplePayPaymentTokenContext::decode):
- Source/WebKit/Shared/ApplePay/PaymentTokenContext.h: Added.
- Source/WebKit/Shared/ApplePay/cocoa/PaymentTokenContextCocoa.mm: Added.
(WebKit::toDecimalNumber):
(WebKit::platformPaymentTokenContext):
(WebKit::platformPaymentTokenContexts):
Add additional details for configuring a multi-merchant payment (i.e. booking a vacation online
often aggregates multiple separate things (e.g. car, flights, hotel, etc.) into a single purchase).
- Source/WebCore/Modules/applepay/ApplePayPaymentOrderDetails.idl: Added.
- Source/WebCore/Modules/applepay/ApplePayPaymentOrderDetails.h: Added.
(WebCore::ApplePayPaymentOrderDetails::encode const):
(WebCore::ApplePayPaymentOrderDetails::decode):
Add additional details after a payment is complete for saving order details to iOS/macOS Wallet.
- Source/WebCore/Modules/applepay/ApplePayPaymentRequest.idl:
- Source/WebCore/Modules/applepay/ApplePayPaymentRequest.h:
- Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
(IPC::ArgumentCoder<WebCore::ApplePaySessionPaymentRequest>::encode):
(IPC::ArgumentCoder<WebCore::ApplePaySessionPaymentRequest>::decode):
- Source/WebCore/Modules/applepay/ApplePaySession.cpp:
(WebCore::convertAndValidate):
(WebCore::merge): Deleted.
- Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:
(WebCore::ApplePayPaymentHandler::show):
(WebCore::ApplePayPaymentHandler::computeShippingMethods const):
(WebCore::validate):
(WebCore::ApplePayPaymentHandler::shippingAddressUpdated):
(WebCore::ApplePayPaymentHandler::shippingOptionUpdated):
(WebCore::ApplePayPaymentHandler::paymentMethodUpdated):
(WebCore::convertAndValidate):
(WebCore::ApplePayPaymentHandler::complete):
(WebCore::merge): Deleted.
- Source/WebCore/Modules/applepay/ApplePaySessionPaymentRequest.h:
(WebCore::ApplePaySessionPaymentRequest::recurringPaymentRequest const): Added.
(WebCore::ApplePaySessionPaymentRequest::setRecurringPaymentRequest): Added.
(WebCore::ApplePaySessionPaymentRequest::automaticReloadPaymentRequest const): Added.
(WebCore::ApplePaySessionPaymentRequest::setAutomaticReloadPaymentRequest): Added.
(WebCore::ApplePaySessionPaymentRequest::multiTokenContexts const): Added.
(WebCore::ApplePaySessionPaymentRequest::setMultiTokenContexts): Added.
- Source/WebCore/Modules/applepay/ApplePayDetailsUpdateBase.idl:
- Source/WebCore/Modules/applepay/ApplePayDetailsUpdateBase.h:
(WebCore::ApplePayDetailsUpdateBase::encode const):
(WebCore::ApplePayDetailsUpdateBase::decodeBase):
- Source/WebCore/Modules/applepay/paymentrequest/ApplePayModifier.h:
- Source/WebCore/Modules/applepay/paymentrequest/ApplePayModifier.idl:
- Source/WebCore/Modules/applepay/ApplePayPaymentAuthorizationResult.idl:
- Source/WebCore/Modules/applepay/ApplePayPaymentAuthorizationResult.h:
(WebCore::ApplePayPaymentAuthorizationResult::encode const):
(WebCore::ApplePayPaymentAuthorizationResult::decode):
- Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentCompleteDetails.idl:
- Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentCompleteDetails.h:
(WebCore::ApplePayPaymentCompleteDetails::encode const):
(WebCore::ApplePayPaymentCompleteDetails::decode):
- Source/WebKit/Platform/cocoa/PaymentAuthorizationPresenter.mm:
(WebKit::PaymentAuthorizationPresenter::completePaymentMethodSelection):
(WebKit::PaymentAuthorizationPresenter::completePaymentSession):
(WebKit::PaymentAuthorizationPresenter::completeShippingContactSelection):
(WebKit::PaymentAuthorizationPresenter::completeShippingMethodSelection):
(WebKit::PaymentAuthorizationPresenter::completeCouponCodeChange):
(WebKit::merge): Deleted.
- Source/WebKit/Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
(WebKit::WebPaymentCoordinatorProxy::platformPaymentRequest):
(WebKit::merge): Deleted.
- Source/WebKit/Platform/cocoa/WKPaymentAuthorizationDelegate.h:
- Source/WebKit/Platform/cocoa/WKPaymentAuthorizationDelegate.mm:
(-[WKPaymentAuthorizationDelegate completePaymentSession:errors:orderDetails:]): Added.
Pipe the above from the WebProcess to the UIProcess (to PassKit).
- Source/WebCore/PAL/pal/cocoa/PassKitSoftLink.h:
- Source/WebCore/PAL/pal/cocoa/PassKitSoftLink.mm:
- Source/WebCore/PAL/pal/spi/cocoa/PassKitSPI.h:
Handle new PassKit symbols for the above.
- Source/WebCore/Modules/applepay/cocoa/PaymentAPIVersionCocoa.mm:
(WebCore::PaymentAPIVersion::current):
Use new flags for the new version.
- Source/WebCore/DerivedSources.make:
- Source/WebCore/DerivedSources-input.xcfilelist:
- Source/WebCore/DerivedSources-output.xcfilelist:
- Source/WebCore/PlatformMac.cmake:
- Source/WebCore/SourcesCocoa.txt:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebKit/SourcesCocoa.txt:
- Source/WebKit/WebKit.xcodeproj/project.pbxproj:
- Source/WebCore/testing/MockPaymentCoordinator.h:
- Source/WebCore/testing/MockPaymentCoordinator.idl:
- Source/WebCore/testing/MockPaymentCoordinator.cpp:
(WebCore::MockPaymentCoordinator::showPaymentUI):
(WebCore::MockPaymentCoordinator::completeShippingMethodSelection):
(WebCore::MockPaymentCoordinator::completeShippingContactSelection):
(WebCore::MockPaymentCoordinator::completePaymentMethodSelection):
(WebCore::MockPaymentCoordinator::completeCouponCodeChange):
(WebCore::MockPaymentCoordinator::merge): Deleted.
- LayoutTests/http/tests/paymentrequest/ApplePayModifier-automaticReloadPaymentRequest.https.html: Added.
- LayoutTests/http/tests/paymentrequest/ApplePayModifier-automaticReloadPaymentRequest.https-expected.txt: Added.
- LayoutTests/http/tests/paymentrequest/ApplePayModifier-multiTokenContexts.https.html: Added.
- LayoutTests/http/tests/paymentrequest/ApplePayModifier-multiTokenContexts.https-expected.txt: Added.
- LayoutTests/http/tests/paymentrequest/ApplePayModifier-recurringPaymentRequest.https.html: Added.
- LayoutTests/http/tests/paymentrequest/ApplePayModifier-recurringPaymentRequest.https-expected.txt: Added.
- LayoutTests/http/tests/paymentrequest/ApplePayPaymentCompleteDetails-orderDetails.https.html: Added.
- LayoutTests/http/tests/paymentrequest/ApplePayPaymentCompleteDetails-orderDetails.https-expected.txt: Added.
- LayoutTests/platform/ios-wk2/TestExpectations:
- LayoutTests/platform/mac-wk2/TestExpectations:
- Source/WebKit/Shared/mac/PasteboardTypes.mm:
- Source/WebKit/Shared/mac/ScrollingAccelerationCurveMac.mm:
Drive-by: Unified sources fixes.
Canonical link: https://commits.webkit.org/251449@main
- 5:31 PM Changeset in webkit [295442] by
-
- 1 edit in trunk/Source/WebKit/NetworkProcess/cocoa/LaunchServicesDatabaseObserver.mm
Build fix after r295422
https://bugs.webkit.org/show_bug.cgi?id=241494
Unreviewed, build fix.
- Source/WebKit/NetworkProcess/cocoa/LaunchServicesDatabaseObserver.mm:
Canonical link: https://commits.webkit.org/251448@main
- 5:14 PM Changeset in webkit [295441] by
-
- 1 edit in trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
[ iOS Debug ] ASSERTION FAILED: Attempt to access post layout data before receiving it on editing/editable-region/fixed-and-absolute-contenteditable-scrolled.html
https://bugs.webkit.org/show_bug.cgi?id=237541
rdar://89918871
Reviewed by Simon Fraser.
After the changes in r289876, this test started sometimes hitting an assertion when run immediately
afterediting/deleting/ios/backspace-last-character.html. By eliminating a sync IPC call to the
web content process when requesting autocorrection information, UIKit now requests selection-caret-
relative character information slightly earlier than it previously did when dismissing the keyboard,
which may occur after we've received an editor state update after blurring the focused element, but
before we've received post-layout data.
In this scenario, we already know that the focused element has been blurred and the selection is no
longer editable, so once the post-layout data does arrive, it would contain0for all of the
characters close to the selection caret.
As such, we can simply return 0 early before attempting to access post-layout data if the selection
is not a caret in editable content, since all of the relevant post-layout data members
(characterAfterSelection,characterBeforeSelectionandtwoCharacterBeforeSelection) are going
to be 0 anyways.
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _characterInRelationToCaretSelection:]):
Canonical link: https://commits.webkit.org/251447@main
- 4:43 PM Changeset in webkit [295440] by
-
- 1 edit in trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm
[Cocoa] TestWebKitAPI.MediaLoading.CaptivePortalHLS times out
https://bugs.webkit.org/show_bug.cgi?id=241476
rdar://93270049
Reviewed by Jer Noble.
- Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:
(TestWebKitAPI::TEST): Return early if the SPI used for captive portal mode is not
implemented.
Canonical link: https://commits.webkit.org/251446@main
- 4:12 PM Changeset in webkit [295439] by
-
- 2 edits in trunk/Source/WebCore/platform/graphics
[iOS] iPhone fullscreen captions are sometimes duplicated
https://bugs.webkit.org/show_bug.cgi?id=241464
rdar://94261522
Reviewed by Jer Noble.
Clear the text track representation when the video layer is cleared.
- Source/WebCore/platform/graphics/avfoundation/objc/VideoLayerManagerObjC.mm:
(WebCore::VideoLayerManagerObjC::didDestroyVideoLayer): Clear the text track representation.
- Source/WebCore/platform/graphics/cocoa/TextTrackRepresentationCocoa.mm:
(WebCore::TextTrackRepresentationCocoa::TextTrackRepresentationCocoa): Name the text
track representation layer to aid debugging in the future.
Canonical link: https://commits.webkit.org/251445@main
- 2:45 PM Changeset in webkit [295438] by
-
- 32 edits3 adds1 delete in trunk
[Modern Media Controls] upstream new features
https://bugs.webkit.org/show_bug.cgi?id=241390
<rdar://problem/94581729>
Reviewed by Eric Carlson.
- Source/WebCore/Modules/modern-media-controls/controls/inline-media-controls.js:
(InlineMediaControls.prototype.layout):
(InlineMediaControls.prototype.topLeftContainerButtons): Renamed from_topLeftContainerButtons.
(InlineMediaControls.prototype.leftContainerButtons): Renamed from_leftContainerButtons.
(InlineMediaControls.prototype.centerContainerButtons): Renamed from_centerContainerButtons.
(InlineMediaControls.prototype.rightContainerButtons): Renamed from_rightContainerButtons.
(InlineMediaControls.prototype.droppableButtons): Renamed from_droppableButtons.
(InlineMediaControls.prototype.collapsableButtons): Renamed from_collapsableButtons.
Move these methods into// Protectedso subclasses can override.
- Source/WebCore/Modules/modern-media-controls/controls/ios-inline-media-controls.js:
(IOSInlineMediaControls.prototype.layout): Added.
(IOSInlineMediaControls.prototype.centerContainerButtons): Added.
(IOSInlineMediaControls.prototype.leftContainerButtons): Added.
(IOSInlineMediaControls.prototype.droppableButtons): Added.
(IOSInlineMediaControls.prototype.get _shouldUseMultilineLayout): Added.
- Source/WebCore/Modules/modern-media-controls/controls/ios-inline-media-controls.css: Added.
(.media-controls.inline.ios:not(.audio)):
(.media-controls.inline.ios:not(.audio):is(:empty, .faded)):
(.media-controls.inline.ios:not(.audio) *):
(.media-controls.inline.ios:not(.audio) > .controls-bar:is(.top-left, .top-right)):
(.media-controls.inline.ios:not(.audio) > .controls-bar.center):
Only use the new UI for<video>.
- Source/WebCore/Modules/modern-media-controls/controls/slider.js:
(Slider):
(Slider.prototype.get allowsRelativeScrubbing): Added.
(Slider.prototype.set allowsRelativeScrubbing): Added.
(Slider.prototype.handleEvent):
(Slider.prototype._handlePointerdownEvent):
(Slider.prototype._handlePointermoveEvent): Added.
(Slider.prototype._handlePointerupEvent):
(Slider.prototype._playbackProgress): Added.
(Slider.prototype._valueWillStartChanging): Deleted.
(Slider.prototype._valueDidStopChanging): Deleted.
- Source/WebCore/Modules/modern-media-controls/controls/slider.css:
(.slider.allows-relative-scrubbing > .custom-slider): Added.
(.slider.allows-relative-scrubbing > .custom-slider.changing): Added.
(.slider.allows-relative-scrubbing > .custom-slider > .fill): Added.
(.slider.allows-relative-scrubbing > .custom-slider.changing > .fill.primary): Added.
(.slider.allows-relative-scrubbing > .custom-slider.changing > .fill.track): Added.
(.slider.allows-relative-scrubbing > .custom-slider.changing > .fill.secondary): Added.
(.slider.allows-relative-scrubbing > input): Added.
(.ios .slider > input):
(.ios .slider:not(.allows-relative-scrubbing) > input): Added.
- Source/WebCore/Modules/modern-media-controls/controls/adwaita-fullscreen-media-controls.js:
(AdwaitaFullscreenMediaControls):
- Source/WebCore/Modules/modern-media-controls/controls/adwaita-inline-media-controls.js:
(AdwaitaInlineMediaControls):
- Source/WebCore/Modules/modern-media-controls/controls/macos-fullscreen-media-controls.js:
(MacOSFullscreenMediaControls):
- Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.js:
(MacOSInlineMediaControls):
- Source/WebCore/Modules/modern-media-controls/controls/time-control.js:
(TimeControl):
Allow the user to use relative scrubbing instead of having to exactly tap/drag on the knob.
- Source/WebCore/Modules/modern-media-controls/controls/ios-layout-traits.js:
(IOSLayoutTraits.prototype.skipDuration):
Change to 10s.
- Source/WebCore/Modules/modern-media-controls/controls/overflow-button.js:
(OverflowButton):
- Source/WebCore/Modules/modern-media-controls/controls/layout-traits.js:
(LayoutTraits.prototype.overflowButtonHasCircle): Deleted.
- Source/WebCore/Modules/modern-media-controls/controls/icon-service.js:
- Source/WebCore/Modules/modern-media-controls/images/iOS/Overflow.svg:
- Source/WebCore/Modules/modern-media-controls/images/iOS/OverflowCircle.svg: Removed.
Update iOS overflow button icon.
- Source/WebCore/CMakeLists.txt:
- Source/WebCore/DerivedSources-input.xcfilelist:
- Source/WebCore/DerivedSources.make:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- LayoutTests/fast/mediastream/MediaStream-video-element-video-tracks-disabled.html:
- LayoutTests/fast/mediastream/MediaStream-video-element-video-tracks-disabled-expected.html:
- LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-layout.html:
- LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-layout-expected.txt:
- LayoutTests/media/modern-media-controls/ios-inline-media-controls/touch/ios-inline-media-controls-added-after-play.html:
- LayoutTests/media/modern-media-controls/ios-inline-media-controls/touch/ios-inline-media-controls-added-after-play-expected.txt:
- LayoutTests/media/modern-media-controls/ios-inline-media-controls/touch/ios-inline-media-controls-shows-start-button.html:
- LayoutTests/media/modern-media-controls/skip-back-button/skip-back-button.html:
- LayoutTests/media/modern-media-controls/skip-back-button/skip-back-button-expected.txt:
- LayoutTests/media/modern-media-controls/skip-forward-button/skip-forward-button.html:
- LayoutTests/media/modern-media-controls/skip-forward-button/skip-forward-button-expected.txt:
- LayoutTests/media/modern-media-controls/slider/slider-constructor.html:
- LayoutTests/media/modern-media-controls/slider/slider-styles.html:
- LayoutTests/media/modern-media-controls/slider/slider-value.html:
- LayoutTests/platform/ios/media/track/track-css-visible-stroke-expected.html: Added.
Canonical link: https://commits.webkit.org/251444@main
- 2:41 PM Changeset in webkit [295437] by
-
- 1 edit in trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/HSTS.mm
REGRESSION: [iOS] TestWebKitAPI.HSTS.ThirdParty is consistely failing
https://bugs.webkit.org/show_bug.cgi?id=241342
Reviewed by Kate Cheney.
- Tools/TestWebKitAPI/Tests/WebKitCocoa/HSTS.mm:
(TestWebKitAPI::hstsWebViewAndDelegate):
(TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/251443@main
- 2:36 PM Changeset in webkit [295436] by
-
- 1 edit in trunk/Source/WebCore/html/HTMLInputElement.cpp
Fix invalid isInShadowRoot flag during input element removal
https://bugs.webkit.org/show_bug.cgi?id=241470
Reviewed by Ryosuke Niwa.
Style invalidation of input elements might rely on whether the element
is in the shadow tree, but during node removal the isInShadowRoot flag
might not be up-to-date. Ensure that the flag is updated by
letting Node::removedFromAncestor() be called up first in the
HTMLInputNode::removedFromAncestor() implementation, before
doing anything else with the node post-removal.
- Source/WebCore/html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::removedFromAncestor):
Canonical link: https://commits.webkit.org/251442@main
- 2:34 PM Changeset in webkit [295435] by
-
- 5 edits2 deletes in trunk/Source/WebKit
Remove _WKWebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=241387
Reviewed by Brady Eidson.
- Source/WebKit/SourcesCocoa.txt:
- Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration ALLOW_DEPRECATED_IMPLEMENTATIONS_END]): Deleted.
(-[WKWebViewConfiguration _setWebsiteDataStore:]): Deleted.
- Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStore.mm: Removed.
- Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreInternal.h: Removed.
- Source/WebKit/WebKit.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/251441@main
- 1:54 PM Changeset in webkit [295434] by
-
- 1 edit in trunk/Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm
Add missing include in ScreenCaptureKitCaptureSource.mm
https://bugs.webkit.org/show_bug.cgi?id=241479
<rdar://94747956>
Patch by Youssef Soliman <youssefdevelops@gmail.com> on 2022-06-09
Reviewed by Wenson Hsieh and Eric Carlson.
ScreenCaptureKitCaptureSource was missing the declaration for
CGDisplayModeGetPixelsWide and CGDisplayModeGetPixelsHigh which are
defined in <pal/spi/cg/CoreGraphicsSPI.h>, this was causing build failures
if the build order happened to change.
- Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm:
Canonical link: https://commits.webkit.org/251440@main
- 1:42 PM Changeset in webkit [295433] by
-
- 1 edit in trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm
REGRESSION(r292365): [ iOS ] TestWebKitAPI.GPUProcess.CanvasBasicCrashHandling is a constant failure on iOS
https://bugs.webkit.org/show_bug.cgi?id=239303
<rdar://problem/91715705>
Reviewed by Simon Fraser.
The test has been passing when running it locally. This should be fixed by other
changes so re-enable this api-test.
- Tools/TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(TEST):
Canonical link: https://commits.webkit.org/251439@main
- 1:30 PM Changeset in webkit [295432] by
-
- 2 edits in trunk/Source
Upstream linkage of ApplePushService
https://bugs.webkit.org/show_bug.cgi?id=241473
Reviewed by Wenson Hsieh.
- Source/WTF/wtf/PlatformHave.h:
- Source/WebKit/Configurations/WebKit.xcconfig:
Canonical link: https://commits.webkit.org/251438@main
- 1:13 PM Changeset in webkit [295431] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm
Multisampling does not work on MTLGPUFamilyApple2 devices when using ANGLE Metal
https://bugs.webkit.org/show_bug.cgi?id=241456
<rdar://problem/90949957>
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-06-09
Reviewed by Dean Jackson.
Use OpenGL ES for WebGL for devices prior to MTLGPUFamilyApple3.
WebGL2 already was running OpenGL ES for these devices for different reasons.
The multisample codepath is not implemented for Apple2 which
does not support MTLStoreActionStoreAndMultisampleResolve.
- Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm:
(WebCore::platformSupportsMetal):
(WebCore::GraphicsContextGLCocoa::platformInitializeContext):
Canonical link: https://commits.webkit.org/251437@main
- 12:26 PM Changeset in webkit [295430] by
-
- 1 edit in trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp
Need to check the context wasn't lost in WebGL2RenderingContext::readBuffer()
https://bugs.webkit.org/show_bug.cgi?id=241477
<rdar://94289317>
Patch by Antoine Quint <Antoine Quint> on 2022-06-09
Reviewed by Dean Jackson.
All other APIs exposed on WebGL2RenderingContext are guarded by isContextLostOrPending()
checks, and readBuffer() should be no exception.
- Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::readBuffer):
Canonical link: https://commits.webkit.org/251436@main
- 12:25 PM Changeset in webkit [295429] by
-
- 1 edit2 adds in trunk
TextureMtl.mm:108 (GetLayerMipIndex): \t! Unreachable reached
https://bugs.webkit.org/show_bug.cgi?id=240790
Reviewed by Darin Adler
Check texture valid before use.
- Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_resources.mm:
(rx::mtl::Texture::MakeTexture):
Canonical link: https://commits.webkit.org/251435@main
- 12:05 PM Changeset in webkit [295428] by
-
- 1 edit1 add in trunk
jsc's settimeout should properly handle a delay
https://bugs.webkit.org/show_bug.cgi?id=240467
Reviewed by Yusuke Suzuki.
This patch makes it so that we properly handle a timeout passed to the JSC CLI setTimeout API. Previously we would just run the callback on the next runloop tick regardless of the passed value.
- Source/JavaScriptCore/jsc.cpp:
(JSC_DEFINE_HOST_FUNCTION):
Canonical link: https://commits.webkit.org/251434@main
- 11:57 AM Changeset in webkit [295427] by
-
- 1 edit in trunk/Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm
Unreviewed, fix the internal iOS build
Add a missing header include (due to source unification order).
- Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:
Canonical link: https://commits.webkit.org/251433@main
- 11:35 AM Changeset in webkit [295426] by
-
- 7 edits in trunk
Regression(r283217) : [ iOS 15 ] media/track/track-forced-subtitles-in-band.html is failing
https://bugs.webkit.org/show_bug.cgi?id=231333
rdar://83955154
Reviewed by Jer Noble.
- LayoutTests/media/track/track-forced-subtitles-in-band-expected.txt: Update.
- LayoutTests/media/track/track-forced-subtitles-in-band.html: Ditto.
- LayoutTests/media/video-test.js: Make waitForEventWithTimeout return a Promise rejection when it times out so failures can be caught.
- LayoutTests/platform/ios-wk2/TestExpectations: Remove updated test.
- LayoutTests/platform/mac/TestExpectations: Ditto.
- Source/WebCore/html/track/TextTrackCueGeneric.cpp: Add more logging to help future debugging.
- Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: Ditto.
Canonical link: https://commits.webkit.org/251432@main
- 11:21 AM Changeset in webkit [295425] by
-
- 11 edits2 adds in trunk
convertingToLengthRequiresNonNullStyle needs to consider calc values
https://bugs.webkit.org/show_bug.cgi?id=241452
Reviewed by Antti Koivisto.
- LayoutTests/fast/css/matrix-translate-calc-units.html: Added.
- Source/WebCore/css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::convertingToLengthRequiresNonNullStyle const):
(WebCore::CSSPrimitiveValue::convertToLength const):
- Source/WebCore/css/TransformFunctions.cpp:
- Source/WebCore/css/calc/CSSCalcExpressionNode.h:
- Source/WebCore/css/calc/CSSCalcInvertNode.h:
- Source/WebCore/css/calc/CSSCalcNegateNode.h:
- Source/WebCore/css/calc/CSSCalcOperationNode.cpp:
(WebCore::CSSCalcOperationNode::convertingToLengthRequiresNonNullStyle const):
- Source/WebCore/css/calc/CSSCalcOperationNode.h:
- Source/WebCore/css/calc/CSSCalcPrimitiveValueNode.cpp:
(WebCore::CSSCalcPrimitiveValueNode::convertingToLengthRequiresNonNullStyle const):
- Source/WebCore/css/calc/CSSCalcPrimitiveValueNode.h:
- Source/WebCore/css/calc/CSSCalcValue.cpp:
(WebCore::CSSCalcValue::convertingToLengthRequiresNonNullStyle const):
- Source/WebCore/css/calc/CSSCalcValue.h:
Canonical link: https://commits.webkit.org/251431@main
- 10:50 AM Changeset in webkit [295424] by
-
- 1 edit in trunk/Source/WTF/Scripts/Preferences/WebPreferences.yaml
Add MPEG2 and MP4 Audio to types allowed in Captive Portal mode
https://bugs.webkit.org/show_bug.cgi?id=241447
<rdar://93934656>
Reviewed by Eric Carlson.
Needed for playing back MP2TS streams and AAC audio.
- Source/WTF/Scripts/Preferences/WebPreferences.yaml:
Canonical link: https://commits.webkit.org/251430@main
- 10:20 AM Changeset in webkit [295423] by
-
- 1 edit in trunk/Source/JavaScriptCore/bytecode/Repatch.cpp
Repatch should be able to polymorphic call with arity fixup.
https://bugs.webkit.org/show_bug.cgi?id=240911
Reviewed by Saam Barati.
Right now repatch will emit a virtual call any time it has a case that requires arity fixup. Instead it should just pick the arity fixup entrypoint.
Canonical link: https://commits.webkit.org/251429@main
- 10:16 AM Changeset in webkit [295422] by
-
- 2 edits in trunk/Source
Adopt SPI to get default content of Launch Services database
https://bugs.webkit.org/show_bug.cgi?id=241286
<rdar://64528683>
Reviewed by Geoffrey Garen.
Adopt SPI to get system content of Launch Services database. If this SPI is available,
it will replace the SPI we currently use to retrieve the database in the Network process.
- Source/WebCore/PAL/pal/spi/cocoa/LaunchServicesSPI.h:
- Source/WebKit/NetworkProcess/cocoa/LaunchServicesDatabaseObserver.mm:
(WebKit::LaunchServicesDatabaseObserver::LaunchServicesDatabaseObserver):
(WebKit::LaunchServicesDatabaseObserver::startObserving):
(WebKit::LaunchServicesDatabaseObserver::~LaunchServicesDatabaseObserver):
Canonical link: https://commits.webkit.org/251428@main
- 8:58 AM Changeset in webkit [295421] by
-
- 3 edits in trunk
Replace uses of -webkit-gradient with standard linear-gradient.
https://bugs.webkit.org/show_bug.cgi?id=241066
rdar://94390714
Patch by Ryan Reno <rreno@apple.com> on 2022-06-09
Reviewed by Tim Nguyen.
Replace uses of the -webkit-gradient extension with the standardized
linear-gradient in internal CSS. This doesn't change functionality and
is covered by existing tests of the linear-gradient CSS function.
- Source/WebCore/Modules/mediacontrols/mediaControlsBase.css:
(video::-webkit-media-controls-panel,):
(video::-webkit-media-controls-panel .volume-box,):
(audio::-webkit-media-controls-volume-slider,):
(video::-webkit-media-controls-volume-slider::-webkit-slider-thumb,):
(video::-webkit-media-controls-volume-slider::-webkit-slider-thumb::-webkit-slider-thumb:active,):
(video:-webkit-full-screen::-webkit-media-controls-panel):
(video:-webkit-full-screen::-webkit-media-controls-volume-slider):
- Source/WebCore/html/shadow/meterElementShadow.css:
(div#bar):
(div#value.optimum):
(div#value.suboptimum):
(div#value.even-less-good):
- LayoutTests/fast/dom/HTMLMeterElement/meter-element-markup-expected.txt:
Canonical link: https://commits.webkit.org/251427@main
- 8:07 AM Changeset in webkit [295420] by
-
- 10 edits in trunk/Source/WebKit
Blame content process for media buffers allocated in the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=241455
<rdar://94674194>
Reviewed by Jer Noble.
After copying the media content sent by the content process into a SharedMemory,
we send its SharedMemory's handle back to the content process for it to blame the
content.
Covered by existing tests.
- Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.cpp:
(WebKit::RemoteMediaResourceManager::dataReceived):
- Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.h:
- Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.messages.in:
- Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.cpp:
(WebKit::RemoteSourceBufferProxy::append):
- Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.h:
- Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.messages.in:
- Source/WebKit/Platform/IPC/SharedBufferReference.cpp:
(IPC::SharedBufferReference::sharedCopy const):
- Source/WebKit/Platform/IPC/SharedBufferReference.h:
- Source/WebKit/WebProcess/GPU/media/RemoteMediaResourceProxy.cpp:
(WebKit::RemoteMediaResourceProxy::dataReceived):
- Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:
(WebKit::SourceBufferPrivateRemote::append):
Canonical link: https://commits.webkit.org/251426@main
- 7:08 AM Changeset in webkit [295419] by
-
- 1 edit in trunk/Source/WTF/wtf/text/AtomString.h
[GTK] Ubuntu LTS bot build failed after 251271@main
https://bugs.webkit.org/show_bug.cgi?id=241327
Reviewed by Darin Adler.
- Source/WTF/wtf/text/AtomString.h: Implement missing operator!=(const AtomString& a, ASCIILiteral b).
Canonical link: https://commits.webkit.org/251425@main
- 6:14 AM Changeset in webkit [295418] by
-
- 7 edits in trunk
Correctly resolve queries when container size is affected by a subsequent sibling
https://bugs.webkit.org/show_bug.cgi?id=241457
Reviewed by Alan Bujtas.
We currently only take style changes before the container into account.
This patch changes the query container resolution so that whenever we encounter a query container
we skip the subtree and restart the resolution from the main resolution loop. This way we
can optimize away unnecessary layouts while also handling backward dependencies.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/sibling-layout-dependency-expected.txt:
- Source/WebCore/dom/Document.cpp:
(WebCore::Document::resolveStyle):
Loop also when there are no style changes to apply but there are unresolved container. In this case we just resume
the style resolution where we left it.
- Source/WebCore/dom/Element.cpp:
(WebCore::Element::invalidateForQueryContainerChange):
Invalidate all descendants when a query container is resized. In practice we ended up computing them all anyway.
- Source/WebCore/style/StyleChange.cpp:
(WebCore::Style::determineChange):
- Source/WebCore/style/StyleChange.h:
Add new Descendants value for when container type or name changes.
- Source/WebCore/style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::computeDescendantsToResolve):
(WebCore::Style::TreeResolver::pushParent):
(WebCore::Style::TreeResolver::popParent):
(WebCore::Style::TreeResolver::resolveComposedTree):
(WebCore::Style::TreeResolver::determineQueryContainerAction):
Use two buckets for unresolved and resolved containers. Use the resolved bucket to avoid
recomputing containers we have resolved already.
(WebCore::Style::TreeResolver::resolve):
Move the containers from the unresolved to resolved bucket in the beginning.
(WebCore::Style::TreeResolver::updateQueryContainer): Deleted.
- Source/WebCore/style/StyleTreeResolver.h:
Canonical link: https://commits.webkit.org/251424@main
- 5:05 AM Changeset in webkit [295417] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/gtk/SystemFontDatabaseGTK.cpp
REGRESSION(251416@main): Broke GTK...
https://bugs.webkit.org/show_bug.cgi?id=241460
Patch by Philippe Normand <philn@igalia.com> on 2022-06-09
Unreviewed, fix GTK build.
- Source/WebCore/platform/graphics/gtk/SystemFontDatabaseGTK.cpp:
(WebCore::SystemFontDatabase::platformSystemFontShorthandInfo):
Canonical link: https://commits.webkit.org/251423@main
- 4:30 AM Changeset in webkit [295416] by
-
- 1 edit in trunk/Source/JavaScriptCore/llint/LowLevelInterpreter.asm
Don't save CSRs respected by the JIT ABI.
Patch by Geza Lore <Geza Lore> on 2022-06-09
https://bugs.webkit.org/show_bug.cgi?id=241369
Reviewed by Mark Lam.
It is not necessary to save and restore CSRs respected by the JIT ABI on
VM entry/exit. The compiler will preserve them. (r10 and r11 on ARMv7.)
- Source/JavaScriptCore/llint/LowLevelInterpreter.asm:
Canonical link: https://commits.webkit.org/251422@main
- 3:39 AM Changeset in webkit [295415] by
-
- 3 edits in trunk/Source/WebCore/html/canvas
Remove unused code from WebGL2RenderingContext
https://bugs.webkit.org/show_bug.cgi?id=241351
Patch by Alexey Knyazev <3479527+lexaknyazev@users.noreply.github.com> on 2022-06-09
Also removed unnecessary FALLTHROUGH attributes.
Reviewed by Kimmo Kinnunen.
- Source/WebCore/html/canvas/EXTTextureNorm16.cpp:
(WebCore::EXTTextureNorm16::supported):
- Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::initializeVertexArrayObjects):
(WebCore::WebGL2RenderingContext::getInternalformatParameter):
(WebCore::WebGL2RenderingContext::getTexParameter):
(WebCore::isRenderableInternalformat): Deleted.
(WebCore::WebGL2RenderingContext::validateTexStorageFuncParameters): Deleted.
(WebCore::WebGL2RenderingContext::baseInternalFormatFromInternalFormat): Deleted.
(WebCore::WebGL2RenderingContext::isIntegerFormat): Deleted.
- Source/WebCore/html/canvas/WebGL2RenderingContext.h:
Canonical link: https://commits.webkit.org/251421@main
- 3:06 AM WebKitEnablingFlatpakClangd edited by
- (diff)
Jun 8, 2022:
- 11:58 PM Changeset in webkit [295414] by
-
- 2 edits in trunk/Source/WebCore/svg/graphics/filters
[GPU Process] [Filters] Add SVGFilterGraph::visit()
https://bugs.webkit.org/show_bug.cgi?id=239984
<rdar://problem/92987766>
Reviewed by Cameron McCormack.
This will remove duplicate code in SVGFilterBuilder. The plan is to remove
SVGFilterBuilder and move its functions to SVGFilter.
- Source/WebCore/svg/graphics/filters/SVGFilterBuilder.cpp:
(WebCore::SVGFilterBuilder::buildFilterExpression):
(WebCore::buildFilterPrimitivesGraph):
(WebCore::SVGFilterBuilder::calculateFilterOutsets):
(WebCore::appendSubGraphToExpression): Deleted.
(WebCore::appendGraphToExpression): Deleted.
(WebCore::calculateSubGraphOutsets): Deleted.
(WebCore::calculateGraphOutsets): Deleted.
- Source/WebCore/svg/graphics/filters/SVGFilterGraph.h:
(WebCore::SVGFilterGraph::visit):
Canonical link: https://commits.webkit.org/251419@main
- 11:58 PM Changeset in webkit [295413] by
-
- 4 edits3 adds2 deletes in trunk
AX: The role of AccessibilityRole::TextField and AccessibilityRole::TextArea objects must be updated after dynamic changes to aria-multiline
https://bugs.webkit.org/show_bug.cgi?id=241428
Reviewed by Chris Fleizach.
The role value of AccessibilityRole::TextField and AccessibilityRole::TextArea
objects is dependent on their aria-multiline value. With this patch, we now
recompute the role of these objects when aria-multiline changes.
- LayoutTests/accessibility/aria-multiline-expected.txt: Added.
- LayoutTests/accessibility/aria-multiline.html: Added.
- LayoutTests/accessibility/mac/aria-multiline-expected.txt: Removed.
- LayoutTests/accessibility/mac/aria-multiline.html: Removed.
- LayoutTests/platform/ios/TestExpectations:
Enable aria-multiline.html.
- LayoutTests/platform/ios/accessibility/aria-multiline-expected.txt: Added.
- LayoutTests/platform/win/TestExpectations:
Disable aria-multiline.html.
- Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::handleAttributeChange):
Canonical link: https://commits.webkit.org/251419@main
- 11:45 PM Changeset in webkit [295412] by
-
- 1 edit in trunk/Tools/Scripts/test262/Runner.pm
test262-runner should compare slashes correctly on Windows
https://bugs.webkit.org/show_bug.cgi?id=241441
Reviewed by Mark Lam.
test262-runner was unable to detect skips and expected failures on Windows due to backslashes in paths.
This patch adds normalization when comparing against config.yaml and expectations.yaml.
- Tools/Scripts/test262/Runner.pm:
Canonical link: https://commits.webkit.org/251418@main
- 10:15 PM Changeset in webkit [295411] by
-
- 2 edits in trunk/Source
Upstream some camera-related sandbox extensions
https://bugs.webkit.org/show_bug.cgi?id=241446
Reviewed by Wenson Hsieh.
- Source/WTF/wtf/PlatformHave.h:
- Source/WebKit/WebProcess/com.apple.WebProcess.sb.in:
Canonical link: https://commits.webkit.org/251417@main
- 10:12 PM Changeset in webkit [295410] by
-
- 15 edits9 adds in trunk/Source/WebCore
Cache system font shorthand information
https://bugs.webkit.org/show_bug.cgi?id=241404
Reviewed by Cameron McCormack.
This is the fourth piece of https://bugs.webkit.org/show_bug.cgi?id=237817.
System font shorthands are things like "font: caption" or "font: -apple-system-body".
There used to be a cache that was supposed to map each shorthand value to a CTFontDescriptor.
However, the cache didn't work, so I deleted it in
https://github.com/WebKit/WebKit/commit/6ead5274db5f92656360fa1fbae3e0091481fc4f. This patch
reimplements it, but does so in platform/graphics/SystemFontDatabase, which is the natural
place to put it.
One of the repercussions of putting it in platform/ is that it can't use real CSSValuesIDs
as keys into the cache (because it's a layering violation to make things in platform/ see
CSS things). Therefore, this patch creates its own enum, which lives in platform/, which
conveniently exactly matches the relevant values from CSSValueID.
The Cocoa ports already have a SystemFontDatabaseCoreText which does similar things, but this
new cache is not platform-specific, so I'm putting it in SystemFontDatabase instead of
SystemFontDatabaseCoreText. SystemFontDatabaseCoreText will now inherit from SystemFontDatabase,
with 0 virtual methods. I've also taken the existing code that populates the previous cache
and temporarily duplicated it in SystemFontDabase*.cpp to make it populate this cache.
This patch doesn't actually _call_ the new cache, because doing so is somewhat complicated and
deserves its own patch. This patch just implements the cache itself. Also, because callers
aren't migrated to use this new cache yet, this patch doesn't delete the old cache either.
Both of those things will come in a follow-up patch.
- Source/WebCore/PAL/pal/spi/cf/CoreTextSPI.h:
- Source/WebCore/PlatformPlayStation.cmake:
- Source/WebCore/PlatformWin.cmake:
- Source/WebCore/Sources.txt:
- Source/WebCore/SourcesCocoa.txt:
- Source/WebCore/SourcesGTK.txt:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebCore/platform/graphics/SystemFontDatabase.cpp: Added.
(WebCore::SystemFontDatabase::systemFontShorthandInfo const):
(WebCore::SystemFontDatabase::systemFontShorthandFamily):
(WebCore::SystemFontDatabase::systemFontShorthandSize):
(WebCore::SystemFontDatabase::systemFontShorthandWeight):
(WebCore::SystemFontDatabase::clear):
- Source/WebCore/platform/graphics/SystemFontDatabase.h: Added.
- Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::normalizeCTWeight):
(WebCore::denormalizeCTWeight):
- Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.h:
- Source/WebCore/platform/graphics/cocoa/SystemFontDatabaseCocoa.mm: Added.
(WebCore::cocoaFontClass):
(WebCore::SystemFontDatabaseCoreText::smallCaptionFontDescriptor):
(WebCore::SystemFontDatabaseCoreText::menuFontDescriptor):
(WebCore::SystemFontDatabaseCoreText::statusBarFontDescriptor):
(WebCore::SystemFontDatabaseCoreText::miniControlFontDescriptor):
(WebCore::SystemFontDatabaseCoreText::smallControlFontDescriptor):
(WebCore::SystemFontDatabaseCoreText::controlFontDescriptor):
- Source/WebCore/platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp:
(WebCore::SystemFontDatabase::singleton):
(WebCore::SystemFontDatabaseCoreText::clear):
(WebCore::cssWeightOfSystemFontDescriptor):
(WebCore::SystemFontDatabase::platformSystemFontShorthandInfo):
- Source/WebCore/platform/graphics/cocoa/SystemFontDatabaseCoreText.h:
- Source/WebCore/platform/graphics/gtk/SystemFontDatabaseGTK.cpp: Added.
(WebCore::SystemFontDatabase::singleton):
(WebCore::SystemFontDatabase::platformSystemFontShorthandInfo):
- Source/WebCore/platform/graphics/playstation/SystemFontDatabasePlayStation.cpp: Added.
(WebCore::SystemFontDatabase::singleton):
(WebCore::SystemFontDatabase::platformSystemFontShorthandInfo):
- Source/WebCore/platform/graphics/win/SystemFontDatabaseWin.cpp: Added.
(WebCore::SystemFontDatabase::singleton):
(WebCore::SystemFontDatabase::platformSystemFontShorthandInfo):
- Source/WebCore/rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::getReplacementTextGeometry const):
Canonical link: https://commits.webkit.org/251416@main
- 9:55 PM Changeset in webkit [295409] by
-
- 1 edit in trunk/Source/WebGPU/WebGPU/ShaderModule.mm
WebGPU::ShaderModule::convertCheckResult() should use std::forward
<https://webkit.org/b/241437>
<rdar://94662366>
Reviewed by Darin Adler.
- Source/WebGPU/WebGPU/ShaderModule.mm:
(WebGPU::ShaderModule::convertCheckResult):
- Switch from WTFMove() to std::forward().
Canonical link: https://commits.webkit.org/251415@main
- 6:42 PM Changeset in webkit [295408] by
-
- 5 edits in trunk/Source
Rename MAC_CATALYST_GRAMMAR_CHECKING to ENABLE_POST_EDITING_GRAMMAR_CHECKING for clarity.
https://bugs.webkit.org/show_bug.cgi?id=241434
Reviewed by Tim Horton.
After upstreaming, change the name of this flag, and also have it in open source for clarity.
- Source/WTF/wtf/PlatformEnableCocoa.h:
- Source/WebCore/editing/Editor.cpp:
(WebCore::Editor::markMisspellingsAfterTypingToWord):
(WebCore::Editor::markAndReplaceFor):
- Source/WebCore/platform/graphics/cocoa/GraphicsContextCocoa.mm:
(WebCore::grammarColor):
- Source/WebKit/Platform/spi/ios/UIKitSPI.h:
- Source/WebKit/UIProcess/ios/TextCheckerIOS.mm:
(WebKit::mutableState):
(WebKit::TextChecker::setGrammarCheckingEnabled):
(WebKit::TextChecker::checkTextOfParagraph):
Canonical link: https://commits.webkit.org/251414@main
- 5:55 PM Changeset in webkit [295407] by
-
- 27 edits2 adds in trunk/Source
[WebAuthn] Support credProps extension and refactor extension handling
https://bugs.webkit.org/show_bug.cgi?id=241199
rdar://90281799
Reviewed by Brent Fulgham.
This patch implements the credProps Web Authentication extension specified here:
https://www.w3.org/TR/webauthn-2/#sctn-authenticator-credential-properties-extension
This extension provides information about the created credential to the relying party,
at this time this is only the resident key credential property. This is useful information
for RPs to enable passwordless flows.
The patch also refactors how we ferry extension inputs/outputs between WebKit and Authentication
Services. We now passthrough inputs and outputs as a cbor serialized blob. This is well specified
as described here: https://www.w3.org/TR/webauthn-2/#sctn-extensions-inputs-outputs
This extension is covered by the web platform test webauthn/createcredential-resident-key.https.html.
- Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.cpp: Added.
(WebCore::AuthenticationExtensionsClientInputs::fromCBOR):
(WebCore::AuthenticationExtensionsClientInputs::toCBOR const):
- Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.h:
- Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.idl:
- Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputs.cpp: Added.
(WebCore::AuthenticationExtensionsClientOutputs::fromCBOR):
(WebCore::AuthenticationExtensionsClientOutputs::toCBOR const):
- Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputs.h:
(WebCore::AuthenticationExtensionsClientOutputs::encode const):
(WebCore::AuthenticationExtensionsClientOutputs::decode):
(WebCore::AuthenticationExtensionsClientOutputs::CredentialPropertiesOutput::encode const):
(WebCore::AuthenticationExtensionsClientOutputs::CredentialPropertiesOutput::decode):
- Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputs.idl:
- Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.cpp:
(WebCore::AuthenticatorCoordinator::create const):
- Source/WebCore/Modules/webauthn/AuthenticatorResponse.cpp:
(WebCore::AuthenticatorResponse::tryCreate):
(WebCore::AuthenticatorResponse::data const):
- Source/WebCore/Modules/webauthn/AuthenticatorResponse.h:
- Source/WebCore/Modules/webauthn/AuthenticatorResponseData.h:
(WebCore::AuthenticatorResponseData::encode const):
(WebCore::AuthenticatorResponseData::decode):
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebKit/Platform/spi/Cocoa/AuthenticationServicesCoreSPI.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKAuthenticatorAssertionResponse.mm:
(-[_WKAuthenticatorAssertionResponse initWithClientDataJSON:rawId:extensionOutputsCBOR:authenticatorData:signature:userHandle:attachment:]):
- Source/WebKit/UIProcess/API/Cocoa/_WKAuthenticatorAssertionResponseInternal.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKAuthenticatorAttestationResponse.mm:
(-[_WKAuthenticatorAttestationResponse initWithClientDataJSON:rawId:extensionOutputsCBOR:attestationObject:attachment:transports:]):
- Source/WebKit/UIProcess/API/Cocoa/_WKAuthenticatorAttestationResponseInternal.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKAuthenticatorResponse.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKAuthenticatorResponse.mm:
(-[_WKAuthenticatorResponse initWithClientDataJSON:rawId:extensionOutputsCBOR:attachment:]):
- Source/WebKit/UIProcess/API/Cocoa/_WKAuthenticatorResponseInternal.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKPublicKeyCredentialCreationOptions.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKPublicKeyCredentialCreationOptions.mm:
(-[_WKPublicKeyCredentialCreationOptions dealloc]):
- Source/WebKit/UIProcess/API/Cocoa/_WKPublicKeyCredentialRequestOptions.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKPublicKeyCredentialRequestOptions.mm:
(-[_WKPublicKeyCredentialRequestOptions dealloc]):
- Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(toNSData):
(+[_WKWebAuthenticationPanel convertToCoreCreationOptionsWithOptions:]):
(wkAuthenticatorAttestationResponse):
(wkAuthenticatorAssertionResponse):
(wkExtensionsClientOutputs): Deleted.
- Source/WebKit/UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.h:
- Source/WebKit/UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
(WebKit::LocalAuthenticator::processClientExtensions):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterUserVerification):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterAttested):
(WebKit::LocalAuthenticator::continueGetAssertionAfterUserVerification):
- Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:
(WebKit::configureRegistrationRequestContext):
(WebKit::configureAssertionOptions):
(WebKit::toExtensionOutputs):
(WebKit::continueAfterRequest):
- Source/WebKit/UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp:
(WebKit::CtapAuthenticator::continueMakeCredentialAfterResponseReceived):
Canonical link: https://commits.webkit.org/251413@main
- 5:50 PM Changeset in webkit [295406] by
-
- 1 edit in trunk/LayoutTests/platform/ios/TestExpectations
[GARDENING]:Some layout tests are failing on EWS but not post commit testing due to a OS difference
https://bugs.webkit.org/show_bug.cgi?id=239564
Unreviewed test gardening.
- LayoutTests/platform/ios/TestExpectations:
Canonical link: https://commits.webkit.org/251412@main
- 5:38 PM Changeset in webkit [295405] by
-
- 1 delete in trunk/LayoutTests/platform/ios/fast/events/ios/rotation/layout-viewport-during-safari-type-rotation-expected.txt
[Gardening]:[ iOS ] fast/events/ios/rotation/la yout-viewport-during-safari -type-rotation.html is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=231266
Unreviewed test gardening.
- LayoutTests/platform/ios/fast/events/ios/rotation/layout-viewport-during-safari-type-rotation-expected.txt: Removed.
Canonical link: https://commits.webkit.org/251411@main
- 5:36 PM Changeset in webkit [295404] by
-
- 1 edit in trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm
[Gardening]: REGRESSION (r293829): [ iOS ] TestWebKitAPI.GPUProcess.WebProcessTerminationAfterTooManyGPUProcessCrashes is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=240692
<rdar://93611089>
Unreviewed test gardening.
I disabled API test while the issue is being investigated.
- Tools/TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(TEST):
Canonical link: https://commits.webkit.org/251410@main
- 5:25 PM Changeset in webkit [295403] by
-
- 1 delete in trunk/LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/webaudio
[Gardening][ BigSur+ wk2 ] imported/w3c/web-platform-t ests/webaudio/the-audio-api /the-mediaelementaudiosourc enode-interface/mediaElemen tAudioSourceToScriptProcess orTest.html is a flaky text failure
https://bugs.webkit.org/show_bug.cgi?id=221819
Unreviewed test gardening.
- LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/mediaElementAudioSourceToScriptProcessorTest-expected.txt: Removed.
Canonical link: https://commits.webkit.org/251409@main
- 5:18 PM Changeset in webkit [295402] by
-
- 3 edits in trunk/Source/WebCore
REGRESSION(r295372): [Win, WinCairo] 30 tests crash when creating ImageData
https://bugs.webkit.org/show_bug.cgi?id=241429
Reviewed by Simon Fraser.
It looks the move construct is different on Windows when we pass an xvalue
(such as WTFMove(pixelBuffer)) to a function which takes an lvalue
(such as Ref<JSC::Uint8ClampedArray> data(Ref<ByteArrayPixelBuffer>)). Or it
might be a compiler bug.
So revert the change which converted ByteArrayPixelBuffer::takeData() to
ByteArrayPixelBuffer::data() since it is not related to the fix of bug 240810.
- Source/WebCore/html/ImageData.cpp:
(WebCore::ImageData::create):
- Source/WebCore/platform/graphics/ByteArrayPixelBuffer.cpp:
(WebCore::ByteArrayPixelBuffer::data): Deleted.
- Source/WebCore/platform/graphics/ByteArrayPixelBuffer.h:
(WebCore::ByteArrayPixelBuffer::takeData):
Canonical link: https://commits.webkit.org/251408@main
- 4:50 PM Changeset in webkit [295401] by
-
- 2 edits in trunk/Tools/Scripts/libraries/webkitcorepy
Bump webkitcorepy version
Unreviewed package management.
- Tools/Scripts/libraries/webkitcorepy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Ditto.
- 4:26 PM Changeset in webkit [295400] by
-
- 1 edit in trunk/Source/WTF/wtf/CrossThreadCopier.h
WTF::CrossThreadCopierBase::copy() should use std::forward
<https://webkit.org/b/241426>
<rdar://94648592>
Reviewed by Darin Adler.
- Source/WTF/wtf/CrossThreadCopier.h:
(WTF::CrossThreadCopierBase::copy):
- Switch from WTFMove() to std::forward().
Canonical link: https://commits.webkit.org/251406@main
- 4:16 PM Changeset in webkit [295399] by
-
- 1 edit in trunk/Source/WebCore/rendering/RenderBox.h
Handle a disconnected view during applyTopLeftLocationOffset
https://bugs.webkit.org/show_bug.cgi?id=241355
<rdar://92432637>
Reviewed by Alan Bujtas.
It appears that we can sometimes end up in a state where the document's
view is disconnected during didLayout, which calls applyTopleftLocationOffset.
This just adds a null check to handle this case for now.
- Source/WebCore/rendering/RenderBox.h:
(WebCore::RenderBox::applyTopLeftLocationOffset const):
Canonical link: https://commits.webkit.org/251405@main
- 4:05 PM Changeset in webkit [295398] by
-
- 1 edit in trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/HSTS.mm
[Gardening]: REGRESSION: [iOS] TestWebKitAPI.HSTS.ThirdParty is consistely failing
https://bugs.webkit.org/show_bug.cgi?id=241342
<rdar://94448628>
Unreviewed test gardening.
Disabling API test for iOS while the issue is being investigated.
- Tools/TestWebKitAPI/Tests/WebKitCocoa/HSTS.mm:
Canonical link: https://commits.webkit.org/251404@main
- 3:38 PM Changeset in webkit [295397] by
-
- 2 edits in trunk/Source/WebCore/platform/mediastream/mac
Add missing includes in ScreenCaptureKit headers
https://bugs.webkit.org/show_bug.cgi?id=241440
<rdar://94669166>
Patch by Youssef Soliman <youssefdevelops@gmail.com> on 2022-06-08
Reviewed by Eric Carlson.
Two of the Mac ScreenCaptureKit headers are missing includes which
causes a build failure if the build order changes.
- Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.h:
- Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.h:
Canonical link: https://commits.webkit.org/251403@main
- 3:32 PM Changeset in webkit [295396] by
-
- 4 edits in trunk
App-overridden WKScrollView deceleration is reset every time WebKit commits the layer tree
https://bugs.webkit.org/show_bug.cgi?id=241436
<rdar://problem/41019318>
Reviewed by Simon Fraser.
- Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView scrollViewWillBeginDragging:]):
- Source/WebKit/UIProcess/ios/WKScrollView.h:
- Source/WebKit/UIProcess/ios/WKScrollView.mm:
(-[WKScrollView setDecelerationRate:]):
(-[WKScrollView _setDecelerationRateInternal:]):
Like we do for many other properties, if the client sets the deceleration rate
on WKScrollView, stop overriding it internally.
- Tools/TestWebKitAPI/Tests/ios/WKScrollViewTests.mm:
(TEST):
Add an API test.
Canonical link: https://commits.webkit.org/251402@main
- 3:10 PM Changeset in webkit [295395] by
-
- 1 edit in trunk/Source/WebKitLegacy/WebKitLegacy.vcxproj/WebKitLegacy.proj
[Win] WebKitQuartzCoreAdditions.dll is not installed
https://bugs.webkit.org/show_bug.cgi?id=241430
<rdar://89637009>
Reviewed by Brent Fulgham.
WebKitQuartzCoreAdditions.dll is not copied to DSTROOT after build.
- Source/WebKitLegacy/WebKitLegacy.vcxproj/WebKitLegacy.proj:
Canonical link: https://commits.webkit.org/251401@main
- 2:23 PM Changeset in webkit [295394] by
-
- 2 edits2 adds in trunk
Allow keyboard smooth scrolling to take place in overflow:scroll regions
https://bugs.webkit.org/show_bug.cgi?id=228158
rdar://80911829
Patch by destra <destra@apple.com> on 2022-06-08
Reviewed by Tim Horton.
Test: LayoutTests/fast/scrolling/mac/keyboard-scrolling-overflow-scroll.html
Right now, keyboard smooth scrolling can only scroll the entire page and
cannot scroll overflow:scroll regions. To fix this, rather than always
obtaining ScrollingAnimator from m_frame->view(), which will only ever
scroll the whole page, the code should get ScrollingAnimator from
m_frame.document()->focusedElement() or m_mousePressNode if either one
of them is non-null, which indicates that a sub-scrollable region is
focused.
- LayoutTests/fast/scrolling/mac/keyboard-scrolling-overflow-scroll-expected.txt: Added.
- LayoutTests/fast/scrolling/mac/keyboard-scrolling-overflow-scroll.html: Added.
- Source/WebCore/page/EventHandler.cpp:
(Webcore::EventHandler::keyboardScrollingAnimatorForFocusedNode):
(WebCore::EventHandler::stopKeyboardScrolling):
(WebCore::EventHandler::startKeyboardScrolling):
- Source/WebCore/page/EventHandler.h:
Canonical link: https://commits.webkit.org/251400@main
- 2:02 PM Changeset in webkit [295393] by
-
- 1 edit in trunk/Source/WebCore/rendering/RenderImageResource.cpp
RenderImageResource::setCachedImage may produce a null renderer
https://bugs.webkit.org/show_bug.cgi?id=241435
<rdar://93714107>
Reviewed by Antti Koivisto.
This is a speculative fix to address null deref on the renderer.
- Source/WebCore/rendering/RenderImageResource.cpp:
(WebCore::RenderImageResource::setCachedImage):
Canonical link: https://commits.webkit.org/251399@main
- 1:58 PM Changeset in webkit [295392] by
-
- 1 edit in trunk/Source/WebKit/WebProcess/WebPage/WebFoundTextRangeController.cpp
REGRESSION (250836@main): [iOS] Found text is not scrolled into view when highlighting the next/previous result
https://bugs.webkit.org/show_bug.cgi?id=241431
rdar://94584301
Reviewed by Wenson Hsieh.
250836@main switched to a model in which we update the selection asynchronously
in the case of having a non-user triggered change.
Scrolling to highlighted found text is done using TemporarySelectionChange,
which relies on selection updates being synchronous, as the previous selection
is restored once the object is destroyed.
Similar to the fix for App Highlights, included in 250836@main, treat the
selection change for scrolling to a found text range as a UserTriggered change,
so that it is performed synchronously, and the scroll actualy occurs.
This is covered by existing API tests, that are currently run on internal bots
only.
- Source/WebKit/WebProcess/WebPage/WebFoundTextRangeController.cpp:
(WebKit::WebFoundTextRangeController::scrollTextRangeToVisible):
Canonical link: https://commits.webkit.org/251398@main
- 12:06 PM Changeset in webkit [295391] by
-
- 19 edits3 adds in trunk
Align ITP client side cookie cap with other script-writable storage
https://bugs.webkit.org/show_bug.cgi?id=240248
rdar://90468671
Reviewed by Alex Christensen.
- LayoutTests/http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-24-hours.html: Added.
- LayoutTests/http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration-js-cookie-checking.html: Added.
- LayoutTests/http/tests/resourceLoadStatistics/website-data-removal-for-site-without-user-interaction-js-cookie-checking.html: Added.
- LayoutTests/platform/mac-wk2/TestExpectations:
- LayoutTests/platform/wk2/TestExpectations:
Add new tests for this behavior. Skip them for now because they rely on internal bits.
This patch adds a slight behavior change for ITP with client side cookies set from a page that is a link decoration target in
that it deletes client side cookies either 24 hours after they are set OR after 7 days of no user interaction, whichever comes first.
This maintains the strictest level of privacy for client side cookies based on all heuristics.
- Source/WTF/wtf/PlatformEnableCocoa.h:
- Source/WebCore/platform/network/NetworkStorageSession.cpp:
(WebCore::NetworkStorageSession::setAgeCapForClientSideCookies):
(WebCore::NetworkStorageSession::clientSideCookieCap const):
Update client-side cookie cap code to only handle the 24 hour link-decoration case now that we
no longer need the 7 day cap.
(WebCore::NetworkStorageSession::deleteCookiesForHostnames):
- Source/WebCore/platform/network/NetworkStorageSession.h:
- Source/WebCore/platform/network/cf/NetworkStorageSessionCFNetWin.cpp:
(WebCore::NetworkStorageSession::deleteCookiesForHostnames):
- Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm:
(WebCore::parseDOMCookie):
Update JS cookie code so that we mark cookies as set in javascript and can distinguish them
from server side cookies. Since there are some underlying assumptions in CFNetwork code about
NSHTTPCookie not being mutable, we need to re-create the cookie here with the JS bit set to true.
(WebCore::NetworkStorageSession::deleteCookiesForHostnames):
- Source/WebCore/platform/network/curl/NetworkStorageSessionCurl.cpp:
(WebCore::NetworkStorageSession::deleteCookiesForHostnames):
- Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp:
(WebCore::NetworkStorageSession::deleteCookiesForHostnames):
- Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
(WebKit::ResourceLoadStatisticsDatabaseStore::merge):
(WebKit::ResourceLoadStatisticsDatabaseStore::logCrossSiteLoadWithLinkDecoration):
(WebKit::ResourceLoadStatisticsDatabaseStore::setIsScheduledForAllScriptWrittenStorageRemoval):
(WebKit::ResourceLoadStatisticsDatabaseStore::registrableDomainsToDeleteOrRestrictWebsiteDataFor):
(WebKit::ResourceLoadStatisticsDatabaseStore::setIsScheduledForAllButCookieDataRemoval): Deleted.
- Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
- Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:
(WebKit::domainsToString):
(WebKit::ResourceLoadStatisticsStore::updateClientSideCookiesAgeCap):
(WebKit::ResourceLoadStatisticsStore::setAgeCapForClientSideCookies): Deleted.
- Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.h:
- Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
(WebKit::RegistrableDomainsToDeleteOrRestrictWebsiteDataFor::isolatedCopy const):
(WebKit::RegistrableDomainsToDeleteOrRestrictWebsiteDataFor::isolatedCopy):
(WebKit::RegistrableDomainsToDeleteOrRestrictWebsiteDataFor::isEmpty const):
Rename "non cookie website data" to "script written storage" now that
we include client side cookies. This can't be done to the actual
database entry without a migration to a new database due to SQLite
restrictions around renames, so we will leave that one in place.
- Source/WebKit/NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::deleteAndRestrictWebsiteDataForRegistrableDomains):
Use the values stored in domainsToDeleteAllScriptWritableStorageFor to know which domains to
delete script-writable cookies for when deleting website data, instead of just looking at domainsToDeleteAllCookiesFor.
(WebKit::NetworkProcess::setAgeCapForClientSideCookies): Deleted.
- Source/WebKit/NetworkProcess/NetworkProcess.h:
- Source/WebKit/NetworkProcess/NetworkProcess.messages.in:
- Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::setAgeCapForClientSideCookies): Deleted.
- Source/WebKit/UIProcess/Network/NetworkProcessProxy.h:
Unused function.
Canonical link: https://commits.webkit.org/251397@main
- 11:37 AM Changeset in webkit [295390] by
-
- 1 edit in trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp
NetworkLoad audit token scope needs to match Span that points to it
https://bugs.webkit.org/show_bug.cgi?id=241422
Reviewed by Kate Cheney.
- Source/WebKit/NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::notifyDidReceiveResponse):
Canonical link: https://commits.webkit.org/251396@main
- 11:15 AM Changeset in webkit [295389] by
-
- 2 edits in trunk/Source/WTF/wtf/text
REGRESSION (251316@main): Release-configuration WTF::StringView is not usable from apps building in Debug
https://bugs.webkit.org/show_bug.cgi?id=241397
rdar://94587929
Reviewed by Alexey Proskuryakov.
251316@main / r295270 changed the logic of JavaScriptCore's scripts to generate inspector code,
such that the generated code now has a dependency on WTF::StringView. This is problematic for
configurations where an app uses these scripts to generate code then attempts to compile that
code in Debug configuration while linking against a Release-configuration WebKit stack. This
boils down to a disagreement between WTF and the app about how StringView's "underlyingString"
methods are implemented, resulting from a difference inCHECK_STRINGVIEW_LIFETIME. WTF doesn't
export StringView::underlyingStringIsValid() and StringView::setUnderlyingString(), but the
client expects to be able to link them.
Resolve this discrepancy by adjusting the implementation of these methods so that WTF always
exports symbols for these functionalities, even if they happen to be no-ops due to WTF itself
being built in Release.
- Source/WTF/wtf/text/StringView.h:
- Source/WTF/wtf/text/StringView.cpp:
(WTF::StringView::underlyingStringIsValidImpl const):
(WTF::StringView::setUnderlyingStringImpl):
(WTF::StringView::underlyingStringIsValid const): Deleted.
(WTF::StringView::setUnderlyingString): Deleted.
Canonical link: https://commits.webkit.org/251395@main
- 11:13 AM Changeset in webkit [295388] by
-
- 13 edits2 adds in trunk/Tools/Scripts
Add git-webkit squash and refactory mock git
https://bugs.webkit.org/show_bug.cgi?id=237664
rdar://90040109
This change will make the mock git support commits without setting any identifier.
mock git now will assume branch in git-repo.json will have a base commit for each branch.
Reviewed by Jonathan Bedard.
- Tools/Scripts/hooks/prepare-commit-msg: Add new env val to support adding message content
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/git-repo.json: Add a new branch for testing squash.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py: Make the mock more like real git, add rev-list which will resolve commits follow two dots and triple dots syntax.
(Git):
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/bitbucket.py:
(BitBucket):
(BitBucket.resolve_all_commits):
(BitBucket.commit):
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/git_hub.py:
(GitHub):
(GitHub.resolve_all_commits):
(GitHub.commit):
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/init.py:
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/squash.py: Added.
(Squash):
(Squash.parser):
(Squash.get_commits_hashes):
(Squash.undo_reset):
(Squash.squash_commit):
(Squash.main):
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/checkout_unittest.py:
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit.test_branches):
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/land_unittest.py:
(repository): Make sure all branch have a base commit.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/squash_unittest.py: Added.
(TestSquash):
(TestSquash.setUp):
(TestSquash.test_github_with_previous_history):
(TestSquash.test_github_without_previous_history):
(TestSquash.test_github_two_step):
(TestSquash.test_modified):
Canonical link: https://commits.webkit.org/251394@main
- 11:03 AM Changeset in webkit [295387] by
-
- 1 delete in branches/safari-7614.1.16-branch
Delete branch.
- 10:37 AM Changeset in webkit [295386] by
-
- 1 edit in trunk/Source/bmalloc/libpas/src/libpas/pas_random.h
Undo temporary libpas fix for PlayStation
https://bugs.webkit.org/show_bug.cgi?id=241425
Reviewed by Don Olmstead.
- Source/bmalloc/libpas/src/libpas/pas_random.h:
(pas_get_secure_random):
Remove ifdef, as this has now been addressed downstream.
Canonical link: https://commits.webkit.org/251393@main
- 10:23 AM Changeset in webkit [295385] by
-
- 3 edits2 adds in trunk
REGRESSION(r295200): Avoid style update when resolving container queries in other frames
https://bugs.webkit.org/show_bug.cgi?id=241409
<rdar://94536162>
Reviewed by Alan Bujtas.
- LayoutTests/fast/css/container-query-style-recursion-expected.txt: Added.
- LayoutTests/fast/css/container-query-style-recursion.html: Added.
- Source/WebCore/dom/Document.cpp:
(WebCore::Document::updateStyleIfNeeded):
(WebCore::Document::isResolvingContainerQueriesForSelfOrAncestor const):
Also check ancestors.
- Source/WebCore/dom/Document.h:
- Source/WebCore/page/FrameViewLayoutContext.cpp:
(WebCore::FrameViewLayoutContext::performLayout):
Canonical link: https://commits.webkit.org/251392@main
- 10:22 AM Changeset in webkit [295384] by
-
- 10 edits in trunk
AX: Update the isolated tree in response to dynamic aria-valuemin, aria-valuemax, and aria-multiselectable changes
https://bugs.webkit.org/show_bug.cgi?id=241394
Reviewed by Chris Fleizach.
Add testcases to accessibility/aria-multiselectable-grid.html
and aria-slider-value.html to cover these changes.
- LayoutTests/accessibility/aria-multiselectable-grid-expected.txt:
- LayoutTests/accessibility/aria-multiselectable-grid.html:
- LayoutTests/accessibility/aria-slider-value-expected.txt:
- LayoutTests/accessibility/aria-slider-value.html:
- LayoutTests/platform/ios/TestExpectations:
Enable aria-slider-value.html on iOS.
- Source/WebCore/accessibility/AXLogger.cpp:
(WebCore::operator<<):
- Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::handleAttributeChange):
(WebCore::AXObjectCache::updateIsolatedTree):
- Source/WebCore/accessibility/AXObjectCache.h:
- Source/WebCore/accessibility/atspi/AXObjectCacheAtspi.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
- Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::updateNodeProperty):
Canonical link: https://commits.webkit.org/251391@main
- 10:20 AM Changeset in webkit [295383] by
-
- 1 edit in branches/safari-7614.1.16-branch/Source/WebKit/UIProcess/ios/ProcessAssertionIOS.mm
Cherry-pick r295254. rdar://problem/94314081
Regression (r294405): missing tiles during scrolling after foregrounding app
https://bugs.webkit.org/show_bug.cgi?id=241280
Reviewed by Chris Dumez.
Partially revert r294405 to disable ProcessStateMonitor that can make UI process fail to take foreground assertion after
app is foregrounded.
- Source/WebKit/UIProcess/ios/ProcessAssertionIOS.mm: (-[WKProcessAssertionBackgroundTaskManager init]): (-[WKProcessAssertionBackgroundTaskManager _releaseBackgroundTask]):
Canonical link: https://commits.webkit.org/251302@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@295254 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:31 AM Changeset in webkit [295382] by
-
- 1 edit in trunk/Source/WTF/wtf/posix/OSAllocatorPOSIX.cpp
REGRESSION(247105@main): Set protections on MAP_ALIGNED platforms too
https://bugs.webkit.org/show_bug.cgi?id=241386
Patch by Leonardo Taccari <leot@NetBSD.org> on 2022-06-08
Reviewed by Yusuke Suzuki.
Since the introduction of tryReserveUncommittedAligned() on platforms
that have MAP_ALIGNED via 247105@main, reserved pages via that
function never had the protections adjusted and will likely ends
up in SIGSEGV.
- Source/WTF/wtf/posix/OSAllocatorPOSIX.cpp:
(WTF::OSAllocator::tryReserveUncommittedAligned):
Canonical link: https://commits.webkit.org/251390@main
- 8:50 AM Changeset in webkit [295381] by
-
- 2 edits in trunk/Source
Add NetBSD support for MachineContext
https://bugs.webkit.org/show_bug.cgi?id=241125
Patch by Leonardo Taccari <leot@NetBSD.org> on 2022-06-08
Reviewed by Yusuke Suzuki.
- Source/JavaScriptCore/runtime/MachineContext.h:
(JSC::MachineContext::stackPointerImpl):
(JSC::MachineContext::framePointerImpl):
(JSC::MachineContext::instructionPointerImpl):
(JSC::MachineContext::argumentPointer<1>):
(JSC::MachineContext::llintInstructionPointer):
- Source/WTF/wtf/PlatformHave.h:
Canonical link: https://commits.webkit.org/251389@main
- 8:19 AM Changeset in webkit [295380] by
-
- 1 edit in trunk/.github/CODEOWNERS
[Github] Code owner hints for GStreamer-related reviews
https://bugs.webkit.org/show_bug.cgi?id=241412
Patch by Philippe Normand <philn@igalia.com> on 2022-06-08
Reviewed by Jonathan Bedard.
- .github/CODEOWNERS: Hints for GStreamer-specific folders.
Canonical link: https://commits.webkit.org/251388@main
- 6:26 AM Changeset in webkit [295379] by
-
- 1 edit in trunk/Tools/flatpak/flatpakutils.py
[Flatpak SDK] Bump to clang 14
https://bugs.webkit.org/show_bug.cgi?id=241411
Patch by Philippe Normand <philn@igalia.com> on 2022-06-08
Reviewed by Adrian Perez de Castro.
The llvm14 extension recently appeared on Flathub. We already use clangd-14 so now both the compiler
and LSP server are on the same base.
- Tools/flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
(WebkitFlatpak._get_dependency_packages):
Canonical link: https://commits.webkit.org/251387@main
- 12:53 AM Changeset in webkit [295378] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/cocoa/GraphicsContextCocoa.mm
Unreviewed build fix after r295376
https://bugs.webkit.org/show_bug.cgi?id=241406
- Source/WebCore/platform/graphics/cocoa/GraphicsContextCocoa.mm:
Canonical link: https://commits.webkit.org/251386@main
- 12:26 AM Changeset in webkit [295377] by
-
- 2 edits in trunk/Source/JavaScriptCore/runtime
[JSC] Clean up ArrayBufferContents
https://bugs.webkit.org/show_bug.cgi?id=241368
Reviewed by Mark Lam.
This patch simplifies ArrayBufferContents by using default member initializers and swap function.
- Remove ArrayBufferContents::destroy since it is no longer necessary.
- Move some of very small functions to header.
- Use swap function and default member initializers to implement move assignment operator and move constructor.
- Use non-Packed members. Originally it was effective since m_sizeInBytes was
unsigned. But now, it issize_t, so usingPackeddoes not save memory. - Remove ArrayBufferContents::transferTo since move constructor can do the same thing.
- Remove ArrayBufferContents::clear since it is no longer used.
- Source/JavaScriptCore/runtime/ArrayBuffer.cpp:
(JSC::ArrayBufferContents::transferTo):
(JSC::ArrayBuffer::ArrayBuffer):
(JSC::SharedArrayBufferContents::SharedArrayBufferContents): Deleted.
(JSC::SharedArrayBufferContents::~SharedArrayBufferContents): Deleted.
(JSC::ArrayBufferContents::ArrayBufferContents): Deleted.
(JSC::ArrayBufferContents::operator=): Deleted.
(JSC::ArrayBufferContents::~ArrayBufferContents): Deleted.
(JSC::ArrayBufferContents::clear): Deleted.
(JSC::ArrayBufferContents::destroy): Deleted.
(JSC::ArrayBufferContents::reset): Deleted.
- Source/JavaScriptCore/runtime/ArrayBuffer.h:
(JSC::SharedArrayBufferContents::data const): Deleted.
(JSC::ArrayBufferContents::operator bool): Deleted.
(JSC::ArrayBufferContents::data const): Deleted.
(JSC::ArrayBufferContents::dataWithoutPACValidation const): Deleted.
(JSC::ArrayBufferContents::sizeInBytes const): Deleted.
(JSC::ArrayBufferContents::isShared const): Deleted.
(JSC::ArrayBuffer::sharingMode const): Deleted.
(JSC::ArrayBuffer::isDetached): Deleted.
(JSC::ArrayBuffer::detachingWatchpointSet): Deleted.
(JSC::ArrayBuffer::offsetOfData): Deleted.
(JSC::ArrayBuffer::~ArrayBuffer): Deleted.
Canonical link: https://commits.webkit.org/251385@main
Jun 7, 2022:
- 10:20 PM Changeset in webkit [295376] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/cocoa/GraphicsContextCocoa.mm
Upstream iOS grammar checking.
https://bugs.webkit.org/show_bug.cgi?id=241388
Reviewed by Wenson Hsieh and Tim Horton.
Upstream work for grammar checking colors for iOS.
- Source/WebCore/platform/graphics/cocoa/GraphicsContextCocoa.mm:
(WebCore::grammarColor):
Canonical link: https://commits.webkit.org/251384@main
- 9:45 PM Changeset in webkit [295375] by
-
- 1 edit in trunk/Tools/TestWebKitAPI/Tests/WebCore/HTTPParsers.cpp
REGRESSION (250986@main): [iOS/macOS] ASSERTION FAILED: isASCII(characters[I]) in WTF::ASCIILiteral WTF::StringLiterals::operator""_s(const char *, size_t)
https://bugs.webkit.org/show_bug.cgi?id=241380
Reviewed by Chris Dumez.
One of the subtests in this API test uses a non-ASCII character.
Use StringView::fromLatin1() since that worked on another test in
251205@main.
- Tools/TestWebKitAPI/Tests/WebCore/HTTPParsers.cpp:
(TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/251383@main
- 9:34 PM Changeset in webkit [295374] by
-
- 5 edits in trunk/Source/WebKit/UIProcess/Inspector
Web Inspector: Non-reproducible crash at WebKit::WebInspectorUIProxy::platformDetach
https://bugs.webkit.org/show_bug.cgi?id=240284
rdar://91720039
Reviewed by Devin Rousso.
Speculative fix for non-reproducible crash. When
WebInspectorUIProxy::platformDetachis called from
WebInspectorUIProxy::closeFrontendPageAndWindow`, it appears to be possible for the inspected page to have
already been discarded (viaWebInspectorUIProxy::reset). This is reinforced by the fact that
WebInspectorUIProxy::closeFrontendPageAndWindowalready guards use ofinspectedPage(). We should do the same
here, and should also guard other places we useinspectedPage()to help future folks (including me)
understand that the existance of aninspectedPage()is not guaranteed.
- UIProcess/Inspector/mac/WebInspectorUIProxyMac.mm:
(WebKit::WebInspectorUIProxy::platformCreateFrontendWindow):
- If we don't have an inspected page when creating a window for the frontend, use the default window size by
passing an empty NSRect to
WebInspectorUIProxy::createFrontendWindow.
(WebKit::WebInspectorUIProxy::platformResetState):
(WebKit::WebInspectorUIProxy::platformBringToFront):
(WebKit::WebInspectorUIProxy::platformBringInspectedPageToFront):
(WebKit::WebInspectorUIProxy::windowFrameDidChange):
- If the inspected page no longer exists, don't try to use it.
(WebKit::WebInspectorUIProxy::platformCanAttach):
(WebKit::WebInspectorUIProxy::platformAttach):
- Update
platformCanAttachto return false if we no longer have an inspected page, and assert that we have an
inspected page in
platformAttachsince any call to it should be guarded onplatformCanAttach
(WebKit::WebInspectorUIProxy::platformDetach):
- We should attempt to clean up as much of the attachment as we can, but work around the possibility that the inspected
page is no longer available.
- Clean up newlines while we are here.
(WebKit::WebInspectorUIProxy::platformInspectedWindowHeight): Deleted.
(WebKit::WebInspectorUIProxy::platformInspectedWindowWidth): Deleted.
- These methods were unused on Mac.
- UIProcess/Inspector/WebInspectorUIProxy.cpp:
(WebKit::WebInspectorUIProxy::open):
- Add a check that we can actually attach in our current state when opening, otherwise fall back to creating a window instead.
(WebKit::WebInspectorUIProxy::platformInspectedWindowHeight): Deleted.
(WebKit::WebInspectorUIProxy::platformInspectedWindowWidth): Deleted.
- UIProcess/Inspector/WebInspectorUIProxy.h:
- UIProcess/Inspector/gtk/WebInspectorUIProxyGtk.cpp:
(WebKit::WebInspectorUIProxy::platformAttach):
(WebKit::WebInspectorUIProxy::platformInspectedWindowHeight): Deleted.
(WebKit::WebInspectorUIProxy::platformInspectedWindowWidth): Deleted.
- UIProcess/Inspector/win/WebInspectorUIProxyWin.cpp:
(WebKit::WebInspectorUIProxy::platformAttach):
(WebKit::WebInspectorUIProxy::platformInspectedWindowHeight): Deleted.
(WebKit::WebInspectorUIProxy::platformInspectedWindowWidth): Deleted.
- Inline Windows/GTK usage of
platformInspectedWindow*, since they are only used once, not used by the
superclass any more, and also not used on all platforms.
Canonical link: https://commits.webkit.org/251382@main
- 9:23 PM Changeset in webkit [295373] by
-
- 63 edits1 copy15 adds in trunk
Add a new DrawDecomposedGlyphs display list item to avoid repeatedly sending glyphs when using the GlyphDisplayListCache
https://bugs.webkit.org/show_bug.cgi?id=240497
<rdar://93387615>
Reviewed by Simon Fraser.
The GlyphDisplayListCache is used to record a display list for
frequently painting text content. With GPU Process DOM rendering, there
is significant overhead in sending the contents of these display lists
over IPC. The contents of these display lists don't change if the text
content in the document doesn't change, so we could greatly reduce the
overhead by treating the data inside a display list item for glyph
drawing as a remote resource.
This commit adds:
- a new display list item, DrawDecomposedGlyphs, to represent drawing a glyph list resource
- a new class, DecomposedGlyphs, which is the resource type
- a new struct, PositionedGlyphs, to provide a common place for the glyph drawing fields (the vector of glyph IDs, the anchor position, etc.) to live, so that we don't have duplication between DisplayList::DrawGlyphs and DecomposedGlyphs
So that a DrawDecomposedGlyphs command can be replayed from a
GlyphDisplayListCache's in-memory display list and recorded to a
RemoteDisplayListRecorder, the GraphicsContext API gains a new
drawDecomposedGlyphs function.
A new argument to the DisplayList::RecordImpl constructor (and the
DrawGlyphsRecorder) is added to represent how to record drawText
commands:
- DrawGlyphsMode::Normal, which records each GraphicsContext::drawText call with a single DrawText command
- DrawGlyphsMode::DeconstructToDrawGlyphsCommands, which ensures different text layers get deconstructed into separate DrawText commands
- DrawGlyphsMode::DeconstructToDrawDecomposedGlyphsCommands, which ensures different text layers get desconstructed into separate DrawDecomposedGlyphs commands
FontCascade::displayListForTextRun is updated to use that last value.
Additionally, GlyphDisplayListCache is extended to cache display lists
keyed off TextRun/FontCascade/etc. values. This allows sharing of the same
cached display list between different elements on the page that have the same
text content.
This sharing would not be valid if the two elements have different
values for the color property, and the text contains COLRv0 glyphs that
alternate painting of specific colors and the color fill color, since
the recording would incorrectly record a setFillBrush command
corresponding to the first element's fill color. Rather than extend the
glyph recorder to parameterize the current fill (and stroke) colors, we
detect when outlines are drawn with colors other than the context's
initial colors, and prevent sharing. This is done by checking whether
the recorded display list contains items that aren't known to be safe
for sharing.
Similarly, if the sharing would not be valid if the contains bitmap
images (like those from emoji fonts) or SVG glyphs, both of which are
captured as DrawNativeImage commands, if the text is drawn at different
scales. This is because the size of the images is dependent on the
scale. We detect and prevent reuse across different text runs if the
scale is different, by checking the recorded display list for
DrawNativeImage commands and by storing the context scale on the
GlyphDisplayListCache::Entry.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-color-expected.txt:
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-colr-unshared-expected.txt: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-colr-unshared.html: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-scaled-unshared-expected.txt: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-scaled-unshared.html: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-shadow-unshared-expected.txt: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-shadow-unshared.html: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-shared-expected.txt: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-shared.html: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-svg-unshared-expected.txt: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-svg-unshared.html: Added.
- Source/WTF/wtf/PlatformHave.h:
- Source/WebCore/Headers.cmake:
- Source/WebCore/Sources.txt:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebCore/page/MemoryRelease.cpp:
(WebCore::releaseNoncriticalMemory):
- Source/WebCore/platform/graphics/BifurcatedGraphicsContext.cpp:
(WebCore::BifurcatedGraphicsContext::drawDecomposedGlyphs):
- Source/WebCore/platform/graphics/BifurcatedGraphicsContext.h:
- Source/WebCore/platform/graphics/DecomposedGlyphs.cpp: Added.
(WebCore::DecomposedGlyphs::create):
(WebCore::DecomposedGlyphs::DecomposedGlyphs):
(WebCore::m_renderingResourceIdentifier):
- Source/WebCore/platform/graphics/DecomposedGlyphs.h: Added.
(WebCore::DecomposedGlyphs::positionedGlyphs const):
(WebCore::DecomposedGlyphs::bounds const):
(WebCore::DecomposedGlyphs::addObserver):
(WebCore::DecomposedGlyphs::removeObserver):
(WebCore::DecomposedGlyphs::renderingResourceIdentifier const):
- Source/WebCore/platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::displayListForTextRun const):
- Source/WebCore/platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawDecomposedGlyphs):
- Source/WebCore/platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContext::drawGlyphsAndCacheResources):
(WebCore::GraphicsContext::drawGlyphsAndCacheFont): Deleted.
- Source/WebCore/platform/graphics/NullGraphicsContext.h:
- Source/WebCore/platform/graphics/PositionedGlyphs.cpp: Copied from Source/WebCore/platform/graphics/win/DrawGlyphsRecorderWin.cpp.
(WebCore::PositionedGlyphs::computeBounds const):
- Source/WebCore/platform/graphics/PositionedGlyphs.h: Added.
(WebCore::PositionedGlyphs::PositionedGlyphs):
(WebCore::PositionedGlyphs::encode const):
(WebCore::PositionedGlyphs::decode):
- Source/WebCore/platform/graphics/TextRun.cpp:
(WebCore::operator<<):
- Source/WebCore/platform/graphics/TextRun.h:
(WebCore::TextRun::TextRun):
(WebCore::TextRun::isHashTableEmptyValue const):
(WebCore::TextRun::isHashTableDeletedValue const):
(WebCore::TextRun::isolatedCopy const):
- Source/WebCore/platform/graphics/TextRunHash.h: Added.
(WebCore::add):
(WebCore::TextRun::operator== const):
(WebCore::TextRunHash::hash):
(WebCore::TextRunHash::equal):
(WTF::HashTraits<WebCore::TextRun>::isDeletedValue):
(WTF::HashTraits<WebCore::TextRun>::isEmptyValue):
(WTF::HashTraits<WebCore::TextRun>::constructDeletedValue):
(WTF::HashTraits<WebCore::TextRun>::emptyValue):
- Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContextCairo::drawDecomposedGlyphs):
- Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.h:
- Source/WebCore/platform/graphics/coretext/DrawGlyphsRecorderCoreText.cpp:
(WebCore::DrawGlyphsRecorder::createInternalContext):
(WebCore::DrawGlyphsRecorder::updateCTM):
(WebCore::DrawGlyphsRecorder::recordDrawGlyphs):
- Source/WebCore/platform/graphics/displaylists/DisplayList.cpp:
(WebCore::DisplayList::DisplayList::description const):
(WebCore::DisplayList::DisplayList::append):
- Source/WebCore/platform/graphics/displaylists/DisplayList.h:
(WebCore::DisplayList::DisplayList::cacheDecomposedGlyphs):
- Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.cpp:
(WebCore::DisplayList::ItemHandle::apply):
(WebCore::DisplayList::ItemHandle::destroy):
(WebCore::DisplayList::ItemHandle::safeCopy const):
- Source/WebCore/platform/graphics/displaylists/DisplayListItemType.cpp:
(WebCore::DisplayList::sizeOfItemInBytes):
(WebCore::DisplayList::isDrawingItem):
(WebCore::DisplayList::isInlineItem):
- Source/WebCore/platform/graphics/displaylists/DisplayListItemType.h:
- Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::DrawGlyphs::DrawGlyphs):
(WebCore::DisplayList::m_bounds):
(WebCore::DisplayList::DrawGlyphs::apply const):
(WebCore::DisplayList::DrawDecomposedGlyphs::apply const):
(WebCore::DisplayList::operator<<):
(WebCore::DisplayList::dumpItem):
(WebCore::DisplayList::dumpItemHandle):
(WebCore::DisplayList::DrawGlyphs::computeBounds): Deleted.
- Source/WebCore/platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::DrawGlyphs::localAnchor const):
(WebCore::DisplayList::DrawGlyphs::anchorPoint const):
(WebCore::DisplayList::DrawGlyphs::glyphs const):
(WebCore::DisplayList::DrawGlyphs::encode const):
(WebCore::DisplayList::DrawGlyphs::decode):
(WebCore::DisplayList::DrawDecomposedGlyphs::DrawDecomposedGlyphs):
(WebCore::DisplayList::DrawDecomposedGlyphs::fontIdentifier const):
(WebCore::DisplayList::DrawDecomposedGlyphs::decomposedGlyphsIdentifier const):
(WebCore::DisplayList::DrawDecomposedGlyphs::globalBounds const):
(WebCore::DisplayList::DrawDecomposedGlyphs::localBounds const):
- Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::Recorder):
(WebCore::DisplayList::Recorder::shouldDeconstructDrawGlyphs const):
(WebCore::DisplayList::Recorder::drawGlyphs):
(WebCore::DisplayList::Recorder::drawDecomposedGlyphs):
(WebCore::DisplayList::Recorder::drawGlyphsAndCacheResources):
(WebCore::DisplayList::Recorder::drawGlyphsAndCacheFont): Deleted.
- Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.h:
- Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.cpp:
(WebCore::DisplayList::RecorderImpl::RecorderImpl):
(WebCore::DisplayList::RecorderImpl::recordDrawDecomposedGlyphs):
(WebCore::DisplayList::RecorderImpl::recordResourceUse):
- Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.h:
- Source/WebCore/platform/graphics/displaylists/DisplayListReplayer.cpp:
(WebCore::DisplayList::applyDrawDecomposedGlyphs):
(WebCore::DisplayList::Replayer::applyItem):
(WebCore::DisplayList::Replayer::replay):
- Source/WebCore/platform/graphics/displaylists/DisplayListReplayer.h:
- Source/WebCore/platform/graphics/displaylists/DisplayListResourceHeap.h:
(WebCore::DisplayList::LocalResourceHeap::add):
- Source/WebCore/platform/graphics/harfbuzz/DrawGlyphsRecorderHarfBuzz.cpp:
(WebCore::DrawGlyphsRecorder::drawGlyphs):
- Source/WebCore/platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp:
(Nicosia::CairoOperationRecorder::drawDecomposedGlyphs):
- Source/WebCore/platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h:
- Source/WebCore/platform/graphics/win/DrawGlyphsRecorderWin.cpp:
(WebCore::DrawGlyphsRecorder::drawGlyphs):
- Source/WebCore/platform/text/TextDirection.h:
(WebCore::operator<<):
- Source/WebCore/platform/text/TextFlags.cpp:
(WebCore::operator<<):
- Source/WebCore/platform/text/TextFlags.h:
(WebCore::ExpansionBehavior::operator== const):
- Source/WebCore/rendering/GlyphDisplayListCache.cpp: Added.
(WebCore::canShareDisplayListWithItem):
(WebCore::add):
(WebCore::GlyphDisplayListCacheKeyTranslator::hash):
(WebCore::GlyphDisplayListCacheKeyTranslator::equal):
(WebCore::GlyphDisplayListCache::singleton):
(WebCore::GlyphDisplayListCache::clear):
(WebCore::GlyphDisplayListCache::size const):
(WebCore::GlyphDisplayListCache::sizeInBytes const):
(WebCore::GlyphDisplayListCache::get):
(WebCore::GlyphDisplayListCache::getIfExists):
(WebCore::GlyphDisplayListCache::remove):
(WebCore::GlyphDisplayListCache::canShareDisplayList):
(WebCore::GlyphDisplayListCacheEntry::~GlyphDisplayListCacheEntry):
- Source/WebCore/rendering/GlyphDisplayListCache.h:
(WebCore::GlyphDisplayListCacheEntry::create):
(WebCore::GlyphDisplayListCacheEntry::operator== const):
(WebCore::GlyphDisplayListCacheEntry::displayList):
(WebCore::GlyphDisplayListCacheEntry::GlyphDisplayListCacheEntry):
(WebCore::add):
(WebCore::GlyphDisplayListCacheEntryHash::hash):
(WebCore::GlyphDisplayListCacheEntryHash::equal):
(WebCore::GlyphDisplayListCache::get):
(WebCore::GlyphDisplayListCache::getIfExists):
(WebCore::GlyphDisplayListCache::remove):
(WebCore::GlyphDisplayListCache::singleton): Deleted.
(WebCore::GlyphDisplayListCache::clear): Deleted.
(WebCore::GlyphDisplayListCache::size const): Deleted.
(WebCore::GlyphDisplayListCache::sizeInBytes const): Deleted.
- Source/WebCore/rendering/RenderLayerCompositor.cpp:
- Source/WebCore/rendering/TextPainter.cpp:
(WebCore::TextPainter::clearGlyphDisplayLists): Deleted.
- Source/WebCore/rendering/TextPainter.h:
(WebCore::TextPainter::setGlyphDisplayListIfNeeded):
(WebCore::TextPainter::removeGlyphDisplayList):
(WebCore::TextPainter::glyphDisplayListIfExists):
- Source/WebCore/testing/Internals.cpp:
(WebCore::toDisplayListFlags):
(WebCore::Internals::displayListForElement):
(WebCore::Internals::replayDisplayListForElement):
(WebCore::Internals::cachedGlyphDisplayListsForTextNode):
- Source/WebCore/testing/Internals.h:
- Source/WebCore/testing/Internals.idl:
- Source/WebKit/GPUProcess/graphics/QualifiedResourceHeap.h:
(WebKit::QualifiedResourceHeap::add):
(WebKit::QualifiedResourceHeap::getDecomposedGlyphs const):
(WebKit::QualifiedResourceHeap::removeDecomposedGlyphs):
(WebKit::QualifiedResourceHeap::checkInvariants const):
- Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp:
(WebKit::RemoteDisplayListRecorder::drawDecomposedGlyphs):
(WebKit::RemoteDisplayListRecorder::drawDecomposedGlyphsWithQualifiedIdentifiers):
- Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.h:
- Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.messages.in:
- Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::cacheFontWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::cacheDecomposedGlyphs):
(WebKit::RemoteRenderingBackend::cacheDecomposedGlyphsWithQualifiedIdentifier):
- Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h:
- Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in:
- Source/WebKit/GPUProcess/graphics/RemoteResourceCache.cpp:
(WebKit::RemoteResourceCache::cacheDecomposedGlyphs):
(WebKit::RemoteResourceCache::cachedDecomposedGlyphs const):
(WebKit::RemoteResourceCache::releaseRemoteResource):
- Source/WebKit/GPUProcess/graphics/RemoteResourceCache.h:
- Source/WebKit/Scripts/webkit/messages.py:
- Source/WebKit/Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<DecomposedGlyphs>::encode):
(IPC::ArgumentCoder<DecomposedGlyphs>::decode):
- Source/WebKit/Shared/WebCoreArgumentCoders.h:
- Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:
(WebKit::RemoteDisplayListRecorderProxy::RemoteDisplayListRecorderProxy):
(WebKit::RemoteDisplayListRecorderProxy::recordDrawDecomposedGlyphs):
(WebKit::RemoteDisplayListRecorderProxy::recordResourceUse):
- Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
- Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::cacheDecomposedGlyphs):
- Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
- Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp:
(WebKit::RemoteResourceCacheProxy::~RemoteResourceCacheProxy):
(WebKit::RemoteResourceCacheProxy::recordDecomposedGlyphsUse):
(WebKit::RemoteResourceCacheProxy::releaseDecomposedGlyphs):
(WebKit::RemoteResourceCacheProxy::clearDecomposedGlyphsMap):
(WebKit::RemoteResourceCacheProxy::remoteResourceCacheWasDestroyed):
- Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.h:
Canonical link: https://commits.webkit.org/251381@main
- 8:48 PM Changeset in webkit [295372] by
-
- 7 edits1 copy1 add in trunk/Source
[GPU Process] [Filters] Make FilterImage allocate shared memory if it is created in GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=240810
<rdar://problem/94118129>
Reviewed by Kimmo Kinnunen.
PixelBuffer will be sub-classed to a new class named 'ShareablePixelBuffer'. This
class will be backed by SharedMemory for the pixels.
ImageBufferShareableAllocator will call ShareablePixelBuffer::tryCreate() to
allocate PixelBuffe for software filters when they are applied in GPUProcess.
The plan is to attribute the handle of the underlying SharedMemory to WebProcess.
- Source/WebKit/GPUProcess/graphics/ImageBufferShareableAllocator.cpp:
(WebKit::ImageBufferShareableAllocator::createPixelBuffer const):
- Source/WebKit/GPUProcess/graphics/ShareablePixelBuffer.cpp: Copied from Source/WebKit/GPUProcess/graphics/ImageBufferShareableAllocator.cpp.
(WebKit::ShareablePixelBuffer::tryCreate):
(WebKit::ShareablePixelBuffer::ShareablePixelBuffer):
(WebKit::ShareablePixelBuffer::createScratchPixelBuffer const):
- Source/WebKit/GPUProcess/graphics/ShareablePixelBuffer.h: Added.
(WebKit::ShareablePixelBuffer::data const):
(WebKit::ShareablePixelBuffer::takeData):
- Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp:
- Source/WebKit/Sources.txt:
- Source/WebKit/WebKit.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/251380@main
- 5:38 PM Changeset in webkit [295371] by
-
- 14 edits in trunk
AX: Update the isolated tree in response to dynamic aria-level and aria-setsize changes
https://bugs.webkit.org/show_bug.cgi?id=241361
Reviewed by Chris Fleizach.
New testcases added to aria-setsize-posinset.html, heading-level.html,
and mac/aria-tree.html to cover these changes.
- LayoutTests/accessibility/aria-setsize-posinset-expected.txt:
- LayoutTests/accessibility/aria-setsize-posinset.html:
Add test case that dynamically changes aria-setsize.
- LayoutTests/accessibility/heading-level-expected.txt:
- LayoutTests/accessibility/heading-level.html:
Add test case that dynamically changes aria-level on an ARIA heading.
- LayoutTests/accessibility/mac/aria-tree-expected.txt:
- LayoutTests/accessibility/mac/aria-tree.html:
Add test case that dynamically changes aria-level on a treeitem.
- LayoutTests/platform/ios/TestExpectations:
Enable heading-level.html on iOS.
- Source/WebCore/accessibility/AXLogger.cpp:
(WebCore::operator<<):
- Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::handleAttributeChange):
(WebCore::AXObjectCache::updateIsolatedTree):
- Source/WebCore/accessibility/AXObjectCache.h:
- Source/WebCore/accessibility/atspi/AXObjectCacheAtspi.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
- Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::updateNodeProperty):
- Tools/DumpRenderTree/ios/AccessibilityUIElementIOS.mm
- Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm
Implement AccessibilityUIElement::intValue() so heading-level.html can pass.
Canonical link: https://commits.webkit.org/251379@main
- 5:33 PM Changeset in webkit [295370] by
-
- 3 edits in trunk/Source
Upstream support for new share sheet behaviors in macOS Ventura
https://bugs.webkit.org/show_bug.cgi?id=241384
rdar://94558182
Reviewed by Wenson Hsieh.
Upstream new share sheet changes. Remove staging code now that
changes have been in the build for a significant amount of time.
- Source/WTF/wtf/PlatformHave.h:
- Source/WebKit/UIProcess/Cocoa/WKShareSheet.h:
- Source/WebKit/UIProcess/Cocoa/WKShareSheet.mm:
(-[WKShareSheet presentWithShareDataArray:inRect:]):
(-[WKShareSheet canShowPickerAsync:]): Deleted.
(-[WKShareSheet showPickerAsync:showRelativeToRect:ofView:completion:]): Deleted.
Canonical link: https://commits.webkit.org/251378@main
- 5:26 PM Changeset in webkit [295369] by
-
- 1 edit in trunk/Source/WebKit/UIProcess/mac/WebDateTimePickerMac.mm
Datetime-local Field Picker Shows Incorrect Date when seconds is zero
https://bugs.webkit.org/show_bug.cgi?id=239778
Patch by Mike Wyrzykowski <mwyrzykowski@apple.com> on 2022-06-07
Reviewed by Aditya Keerthi.
In r286869, a change was made to WebCore::DateComponents::toStringForTime as
noted in the changelog:
The output will use the shortest possible string, omitting seconds or milliseconds when 0, as per
however that broke WebDateTimePicker when seconds or milliseconds is specified yet they are zero.
Since the change to WebCore::DateComponents is to spec, change WebDateTimePicker to handle this behavior
change instead.
- Source/WebKit/UIProcess/mac/WebDateTimePickerMac.mm:
(-[WKDateTimePicker updatePicker:]):
-[NSDataFormatter dateFromString:] will return nil if the format
requires seconds but the seconds is omitted, so try fallback formats
without milliseconds or seconds.
(-[WKDateTimePicker dateFormatFallbackForFormat:]):
Fallback from milliseconds -> seconds -> time without seconds.
Canonical link: https://commits.webkit.org/251377@main
- 4:57 PM Changeset in webkit [295368] by
-
- 5 edits2 adds in trunk/Source/WebCore
Isolate TrackBuffer from SourceBufferPrivate
https://bugs.webkit.org/show_bug.cgi?id=241290
Patch by Youssef Soliman <youssefdevelops@gmail.com> on 2022-06-07
Reviewed by Eric Carlson.
Currently TrackBuffer is just a struct within SourceBufferPrivate,
it makes sense to extract TrackBuffer as its own platform agnostic
class for use in future media players.
- Source/WebCore/Headers.cmake:
- Source/WebCore/Sources.txt:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebCore/platform/graphics/SourceBufferPrivate.cpp:
(WebCore::SourceBufferPrivate::resetTimestampOffsetInTrackBuffers):
(WebCore::SourceBufferPrivate::resetTrackBuffers):
(WebCore::SourceBufferPrivate::updateHighestPresentationTimestamp):
(WebCore::SourceBufferPrivate::updateBufferedFromTrackBuffers):
(WebCore::SourceBufferPrivate::reenqueSamples):
(WebCore::SourceBufferPrivate::seekToTime):
(WebCore::SourceBufferPrivate::clearTrackBuffers):
(WebCore::SourceBufferPrivate::bufferedSamplesForTrackId):
(WebCore::SourceBufferPrivate::fastSeekTimeForMediaTime):
(WebCore::SourceBufferPrivate::updateMinimumUpcomingPresentationTime):
(WebCore::SourceBufferPrivate::trySignalAllSamplesInTrackEnqueued):
(WebCore::SourceBufferPrivate::provideMediaData):
(WebCore::SourceBufferPrivate::reenqueueMediaForTime):
(WebCore::SourceBufferPrivate::reenqueueMediaIfNeeded):
(WebCore::removeSamplesFromTrackBuffer):
(WebCore::SourceBufferPrivate::removeCodedFrames):
(WebCore::SourceBufferPrivate::evictCodedFrames):
(WebCore::SourceBufferPrivate::totalTrackBufferSizeInBytes const):
(WebCore::SourceBufferPrivate::addTrackBuffer):
(WebCore::SourceBufferPrivate::setAllTrackBuffersNeedRandomAccess):
(WebCore::SourceBufferPrivate::didReceiveSample):
(WebCore::roundTowardsTimeScaleWithRoundingMargin): Deleted.
(WebCore::SourceBufferPrivate::TrackBuffer::TrackBuffer): Deleted.
(WebCore::enqueueDiscontinuityBoundary): Deleted.
(WebCore::decodeTimeComparator): Deleted.
- Source/WebCore/platform/graphics/SourceBufferPrivate.h:
- Source/WebCore/platform/graphics/TrackBuffer.cpp: Added.
(WebCore::roundTowardsTimeScaleWithRoundingMargin):
(WebCore::TrackBuffer::create):
(WebCore::TrackBuffer::TrackBuffer):
(WebCore::TrackBuffer::maximumBufferedTime const):
(WebCore::TrackBuffer::addBufferedRange):
(WebCore::TrackBuffer::addSample):
(WebCore::TrackBuffer::updateMinimumUpcomingPresentationTime):
(WebCore::TrackBuffer::reenqueueMediaForTime):
(WebCore::TrackBuffer::findSeekTimeForTargetTime):
(WebCore::TrackBuffer::removeSamples):
(WebCore::decodeTimeComparator):
- Source/WebCore/platform/graphics/TrackBuffer.h: Added.
Canonical link: https://commits.webkit.org/251376@main
- 3:46 PM Changeset in webkit [295367] by
-
- 19 edits1 move in trunk
[Live Text in Video] Rename "video extraction" code to refer to text recognition instead
https://bugs.webkit.org/show_bug.cgi?id=241381
rdar://94446831
Reviewed by Tim Horton.
Replace all references to "fullscreen video extraction" with "text recognition in fullscreen video"
instead, to reflect the real purpose of this code. No change in behavior.
- Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::didChangePlaybackRate):
(WebKit::WebPageProxy::didChangeCurrentTime):
(WebKit::WebPageProxy::updateFullscreenVideoTextRecognition):
(WebKit::WebPageProxy::fullscreenVideoTextRecognitionTimerFired):
(WebKit::WebPageProxy::updateFullscreenVideoExtraction): Deleted.
(WebKit::WebPageProxy::fullscreenVideoExtractionTimerFired): Deleted.
- Source/WebKit/UIProcess/Cocoa/WebViewImpl.h:
- Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::beginTextRecognitionForVideoInElementFullscreen):
(WebKit::WebViewImpl::cancelTextRecognitionForVideoInElementFullscreen):
(WebKit::WebViewImpl::beginElementFullscreenVideoExtraction): Deleted.
(WebKit::WebViewImpl::cancelElementFullscreenVideoExtraction): Deleted.
- Source/WebKit/UIProcess/PageClient.h:
(WebKit::PageClient::isTextRecognitionInFullscreenVideoEnabled const):
(WebKit::PageClient::beginTextRecognitionForVideoInElementFullscreen):
(WebKit::PageClient::cancelTextRecognitionForVideoInElementFullscreen):
(WebKit::PageClient::isFullscreenVideoExtractionEnabled const): Deleted.
(WebKit::PageClient::beginElementFullscreenVideoExtraction): Deleted.
(WebKit::PageClient::cancelElementFullscreenVideoExtraction): Deleted.
- Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::m_fullscreenVideoTextRecognitionTimer):
(WebKit::WebPageProxy::didEnterFullscreen):
(WebKit::WebPageProxy::didExitFullscreen):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
(WebKit::WebPageProxy::beginTextRecognitionForVideoInElementFullScreen):
(WebKit::WebPageProxy::cancelTextRecognitionForVideoInElementFullScreen):
(WebKit::m_fullscreenVideoExtractionTimer): Deleted.
(WebKit::WebPageProxy::extractVideoInElementFullScreen): Deleted.
(WebKit::WebPageProxy::cancelVideoExtractionInElementFullScreen): Deleted.
- Source/WebKit/UIProcess/WebPageProxy.h:
- Source/WebKit/UIProcess/WebPageProxy.messages.in:
- Source/WebKit/UIProcess/ios/PageClientImplIOS.h:
- Source/WebKit/UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::beginTextRecognitionForFullscreenVideo):
(WebKit::PageClientImpl::cancelTextRecognitionForFullscreenVideo):
(WebKit::PageClientImpl::isTextRecognitionInFullscreenVideoEnabled const):
(WebKit::PageClientImpl::beginTextRecognitionForVideoInElementFullscreen):
(WebKit::PageClientImpl::cancelTextRecognitionForVideoInElementFullscreen):
(WebKit::PageClientImpl::beginFullscreenVideoExtraction): Deleted.
(WebKit::PageClientImpl::cancelFullscreenVideoExtraction): Deleted.
(WebKit::PageClientImpl::isFullscreenVideoExtractionEnabled const): Deleted.
(WebKit::PageClientImpl::beginElementFullscreenVideoExtraction): Deleted.
(WebKit::PageClientImpl::cancelElementFullscreenVideoExtraction): Deleted.
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.h:
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView beginTextRecognitionForFullscreenVideo:playerViewController:]):
(-[WKContentView cancelTextRecognitionForFullscreenVideo:]):
(-[WKContentView isTextRecognitionInFullscreenVideoEnabled]):
(-[WKContentView beginTextRecognitionForVideoInElementFullscreen:bounds:]):
(-[WKContentView cancelTextRecognitionForVideoInElementFullscreen]):
(-[WKContentView beginFullscreenVideoExtraction:playerViewController:]): Deleted.
(-[WKContentView cancelFullscreenVideoExtraction:]): Deleted.
(-[WKContentView isFullscreenVideoExtractionEnabled]): Deleted.
(-[WKContentView beginElementFullscreenVideoExtraction:bounds:]): Deleted.
(-[WKContentView cancelElementFullscreenVideoExtraction]): Deleted.
- Source/WebKit/UIProcess/mac/PageClientImplMac.h:
- Source/WebKit/UIProcess/mac/PageClientImplMac.mm:
(WebKit::PageClientImpl::beginTextRecognitionForVideoInElementFullscreen):
(WebKit::PageClientImpl::cancelTextRecognitionForVideoInElementFullscreen):
(WebKit::PageClientImpl::beginElementFullscreenVideoExtraction): Deleted.
(WebKit::PageClientImpl::cancelElementFullscreenVideoExtraction): Deleted.
- Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::WebFullScreenManager):
(WebKit::WebFullScreenManager::handleEvent):
(WebKit::WebFullScreenManager::mainVideoElementTextRecognitionTimerFired):
(WebKit::WebFullScreenManager::scheduleTextRecognitionForMainVideo):
(WebKit::WebFullScreenManager::endTextRecognitionForMainVideoIfNeeded):
(WebKit::WebFullScreenManager::setMainVideoElement):
(WebKit::WebFullScreenManager::mainVideoElementExtractionTimerFired): Deleted.
(WebKit::WebFullScreenManager::scheduleMainVideoElementExtraction): Deleted.
(WebKit::WebFullScreenManager::endMainVideoElementExtractionIfNeeded): Deleted.
- Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.h:
- Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::beginTextRecognitionForVideoInElementFullScreen):
(WebKit::WebPage::cancelTextRecognitionForVideoInElementFullScreen):
(WebKit::WebPage::extractVideoInElementFullScreen): Deleted.
(WebKit::WebPage::cancelVideoExtractionInElementFullScreen): Deleted.
- Source/WebKit/WebProcess/WebPage/WebPage.h:
- Tools/TestWebKitAPI/SourcesCocoa.txt:
- Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- Tools/TestWebKitAPI/Tests/WebKitCocoa/FullscreenVideoTextRecognition.mm: Renamed from Tools/TestWebKitAPI/Tests/WebKitCocoa/FullscreenVideoExtraction.mm.
(swizzledPresentViewController):
(swizzledProcessRequest):
(swizzledSetAnalysis):
(+[FullscreenVideoTextRecognitionWebView create]):
(-[FullscreenVideoTextRecognitionWebView initWithFrame:configuration:]):
(-[FullscreenVideoTextRecognitionWebView loadVideoSource:]):
(-[FullscreenVideoTextRecognitionWebView enterFullscreen]):
(-[FullscreenVideoTextRecognitionWebView exitFullscreen]):
(-[FullscreenVideoTextRecognitionWebView didChangeValueForKey:]):
(-[FullscreenVideoTextRecognitionWebView pause]):
(-[FullscreenVideoTextRecognitionWebView play]):
(-[FullscreenVideoTextRecognitionWebView waitForVideoFrame]):
(-[FullscreenVideoTextRecognitionWebView hasActiveImageAnalysis]):
(-[FullscreenVideoTextRecognitionWebView waitForImageAnalysisToBegin]):
(-[FullscreenVideoTextRecognitionWebView waitForImageAnalysisToEnd]):
(TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/251375@main
- 2:45 PM Changeset in webkit [295366] by
-
- 4 edits2 adds in trunk
AX: WebKit does not trap user focus inside modals that have been DOM moved
https://bugs.webkit.org/show_bug.cgi?id=240978
Reviewed by Andres Gonzalez.
In this patch, we now properly trap user focus inside non-empty modals
that have been DOM moved. This pattern is used in the WAI-ARIA aria-modal
usage example:
https://w3c.github.io/aria-practices/examples/dialog-modal/dialog.html
We do this by re-computing the live and isolated trees when the active
modal changes, since the presence of a modal effects every element on
the page.
This patch also includes several other modal improvements:
- We no longer sometimes overwrite author manual focus (e.g. via JS) with our modal autofocus behavior.
- We now properly re-compute the active modal when focus changes. This is relevant in cases where there are multiple modals, and an author changes focus from one to another, making the latter the new active modal.
This patch removes m_focusModalNodeTimer in favor of a new function
called focusCurrentModal(), which allows precise and synchronous control
over when modal autofocus happens. The asynchronous nature of the timer
made it hard to prevent overwriting manual author focus (e.g. via JS).
This patch fixes existing tests in ITM:
- accessibility/aria-modal-multiple-dialogs.html
- accessibility/ignore-modals-without-any-content.html
- accessibility/mac/aria-modal-auto-focus.html
And adds a new test:
accessibility/recompute-current-modal-after-aria-modal-element-appears.html
- LayoutTests/accessibility/aria-modal-multiple-dialogs-expected.txt:
- LayoutTests/accessibility/aria-modal-multiple-dialogs.html:
- LayoutTests/accessibility/recompute-current-modal-after-aria-modal-element-appears-expected.txt: Added.
- LayoutTests/accessibility/recompute-current-modal-after-aria-modal-element-appears.html: Added.
- Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::AXObjectCache):
(WebCore::AXObjectCache::~AXObjectCache):
(WebCore::AXObjectCache::updateCurrentModalNode):
(WebCore::AXObjectCache::updateCurrentModalNodeInternal):
(WebCore::AXObjectCache::modalNode):
(WebCore::AXObjectCache::deferNodeAddedOrRemoved):
(WebCore::AXObjectCache::handleFocusedUIElementChanged):
(WebCore::AXObjectCache::focusCurrentModal):
(WebCore::AXObjectCache::performDeferredCacheUpdate):
(WebCore::AXObjectCache::currentModalNode): Deleted.
(WebCore::AXObjectCache::focusModalNode): Deleted.
(WebCore::AXObjectCache::focusModalNodeTimerFired): Deleted.
(WebCore::AXObjectCache::handleModalChange): Deleted.
- Source/WebCore/accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::AXObjectCache):
(WebCore::AXObjectCache::focusCurrentModal):
(WebCore::AXObjectCache::handleAriaExpandedChange):
(WebCore::AXObjectCache::handleFocusedUIElementChanged):
(WebCore::AXObjectCache::focusModalNodeTimerFired): Deleted.
(WebCore::AXObjectCache::handleModalChange): Deleted.
Canonical link: https://commits.webkit.org/251374@main
- 2:31 PM Changeset in webkit [295365] by
-
- 23 edits1 move1 add3 deletes in trunk/Source/WebKit
Remove WebCookieManagerProxy, replaced by API::HTTPCookieStore
https://bugs.webkit.org/show_bug.cgi?id=240931
Reviewed by Brady Eidson.
- Source/WebKit/CMakeLists.txt:
- Source/WebKit/DerivedSources-input.xcfilelist:
- Source/WebKit/DerivedSources-output.xcfilelist:
- Source/WebKit/DerivedSources.make:
- Source/WebKit/NetworkProcess/Cookies/WebCookieManager.cpp:
(WebKit::WebCookieManager::notifyCookiesDidChange):
- Source/WebKit/Sources.txt:
- Source/WebKit/SourcesGTK.txt:
- Source/WebKit/SourcesWPE.txt:
- Source/WebKit/UIProcess/API/APIHTTPCookieStore.cpp:
(API::HTTPCookieStore::HTTPCookieStore):
(API::HTTPCookieStore::~HTTPCookieStore):
(API::HTTPCookieStore::cookies):
(API::HTTPCookieStore::cookiesForURL):
(API::HTTPCookieStore::setCookies):
(API::HTTPCookieStore::deleteCookie):
(API::HTTPCookieStore::deleteAllCookies):
(API::HTTPCookieStore::deleteCookiesForHostnames):
(API::HTTPCookieStore::setHTTPCookieAcceptPolicy):
(API::HTTPCookieStore::getHTTPCookieAcceptPolicy):
(API::HTTPCookieStore::flushCookies):
(API::HTTPCookieStore::registerObserver):
(API::HTTPCookieStore::unregisterObserver):
(API::HTTPCookieStore::networkProcessIfExists):
(API::HTTPCookieStore::networkProcessLaunchingIfNecessary):
(API::APIWebCookieManagerProxyObserver::APIWebCookieManagerProxyObserver): Deleted.
(): Deleted.
- Source/WebKit/UIProcess/API/APIHTTPCookieStore.h:
- Source/WebKit/UIProcess/API/C/WKAPICast.h:
- Source/WebKit/UIProcess/API/C/WKContext.cpp:
- Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm:
- Source/WebKit/UIProcess/API/glib/WebKitCookieManager.cpp:
(CookieStoreObserver::CookieStoreObserver):
(_WebKitCookieManagerPrivate::cookieStore const):
(_WebKitCookieManagerPrivate::~_WebKitCookieManagerPrivate):
(webkitCookieManagerCreate):
(webkit_cookie_manager_get_accept_policy):
(webkit_cookie_manager_add_cookie):
(webkit_cookie_manager_get_cookies):
(webkit_cookie_manager_delete_cookie):
(WebCookieManagerProxyObserver::WebCookieManagerProxyObserver): Deleted.
(_WebKitCookieManagerPrivate::cookieManager const): Deleted.
- Source/WebKit/UIProcess/API/soup/HTTPCookieStoreSoup.cpp: Renamed from Source/WebKit/UIProcess/soup/WebCookieManagerProxySoup.cpp.
(API::HTTPCookieStore::setCookiePersistentStorage):
- Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::addSingleCookie):
(WebKit::WebAutomationSession::deleteAllCookies):
- Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::NetworkProcessProxy):
(WebKit::NetworkProcessProxy::cookiesDidChange):
(WebKit::NetworkProcessProxy::flushCookies): Deleted.
- Source/WebKit/UIProcess/Network/NetworkProcessProxy.h:
- Source/WebKit/UIProcess/Network/NetworkProcessProxy.messages.in:
- Source/WebKit/UIProcess/WebCookieManagerProxy.cpp: Removed.
- Source/WebKit/UIProcess/WebCookieManagerProxy.h: Removed.
- Source/WebKit/UIProcess/WebCookieManagerProxy.messages.in: Removed.
- Source/WebKit/UIProcess/WebProcessPool.cpp:
- Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::flushCookies): Deleted.
- Source/WebKit/UIProcess/WebsiteData/soup/WebsiteDataStoreSoup.cpp:
(WebKit::WebsiteDataStore::setCookiePersistentStorage):
(WebKit::WebsiteDataStore::setHTTPCookieAcceptPolicy):
- Source/WebKit/UIProcess/soup/WebProcessPoolSoup.cpp:
- Source/WebKit/WebKit.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/251373@main
- 1:33 PM Changeset in webkit [295364] by
-
- 1 edit in trunk/LayoutTests/platform/win/TestExpectations
[Gardening]: [ Windows EWS ] html5lib/generated/run-tests19-data.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=241382
<rdar://94559821>
Unreviewed test gardening.
- LayoutTests/platform/win/TestExpectations:
Canonical link: https://commits.webkit.org/251372@main
- 1:24 PM Changeset in webkit [295363] by
-
- 1 edit in trunk/Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp
LineBuilder::rebuildLineForTrailingSoftHyphen may end up with no wrapping opportunities
https://bugs.webkit.org/show_bug.cgi?id=241375
<rdar://94516475>
Reviewed by Antti Koivisto.
This is a speculative fix to address the overflow issue in rebuildLineForTrailingSoftHyphen, where we assume a non-empty m_wrapOpportunityList vector.
- Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::handleInlineContent):
(WebCore::Layout::LineBuilder::rebuildLineForTrailingSoftHyphen):
Canonical link: https://commits.webkit.org/251371@main
- 1:15 PM Changeset in webkit [295362] by
-
- 1 edit in trunk/Tools/Scripts/hooks/prepare-commit-msg
[git-webkit] git-webkit revert won't trigger pre-commit hook properly
https://bugs..webkit.org/show_bug.cgi?id=241202
rdar://problem/94251413
Patch by Zhifei Fang <facetothefate@gmail.com> on 2022-06-07
Reviewed by Jonathan Bedard.
- Tools/Scripts/hooks/prepare-commit-msg:
Canonical link: https://commits.webkit.org/251370@main
- 1:14 PM Changeset in webkit [295361] by
-
- 10 edits1 delete in branches/safari-613-branch
Revert "Calls to print can result in unresponsive print modal"
This reverts commit 8a2d5954643fd470ce6846432c4e31397f21e829.
- 12:52 PM Changeset in webkit [295360] by
-
- 19 edits in trunk/Source
Upstream WebKit support for Stage Manager on iPadOS
https://bugs.webkit.org/show_bug.cgi?id=241372
rdar://94540740
Reviewed by Tim Horton.
Upstream support for viewport and snapshotting behaviors that are specific to window resizing on
iPad, when Stage Manager is enabled. In particular, this merges the existingMULTITASKING_MODE
andMAC_CATALYST_LIVE_RESIZEfeature flags into a singleUIKIT_RESIZABLE_WINDOWSflag, which is
used to guard both snapshotting and viewport code.
- Source/WTF/wtf/PlatformHave.h:
- Source/WebKit/Platform/spi/ios/UIKitSPI.h:
- Source/WebKit/Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
- Source/WebKit/Shared/WebPageCreationParameters.h:
- Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView dealloc]):
- Source/WebKit/UIProcess/API/Cocoa/WKWebViewInternal.h:
- Source/WebKit/UIProcess/API/ios/WKWebViewIOS.h:
- Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView setFrame:]):
(-[WKWebView setBounds:]):
(-[WKWebView _registerForNotifications]):
(-[WKWebView _processWillSwapOrDidExit]):
(-[WKWebView didMoveToWindow]):
(-[WKWebView _isWindowResizingEnabled]):
(-[WKWebView _enhancedWindowingToggled:]):
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
(-[WKWebView _multitaskingModeDidChange:]): Deleted.
- Source/WebKit/UIProcess/API/ios/WKWebViewTestingIOS.mm:
(-[WKWebView _hasResizeAssertion]):
- Source/WebKit/UIProcess/PageClient.h:
(WebKit::PageClient::hasResizableWindows const):
(WebKit::PageClient::isInMultitaskingMode const): Deleted.
- Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
(WebKit::WebPageProxy::setIsWindowResizingEnabled):
(WebKit::WebPageProxy::setIsInMultitaskingMode): Deleted.
- Source/WebKit/UIProcess/WebPageProxy.h:
- Source/WebKit/UIProcess/ios/PageClientImplIOS.h:
- Source/WebKit/UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::hasResizableWindows const):
(WebKit::PageClientImpl::isInMultitaskingMode const): Deleted.
- Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::isDesktopClassBrowsingRecommended const):
- Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCommitLoad):
(WebKit::WebPage::setIsWindowResizingEnabled):
(WebKit::WebPage::setIsInMultitaskingMode): Deleted.
- Source/WebKit/WebProcess/WebPage/WebPage.h:
- Source/WebKit/WebProcess/WebPage/WebPage.messages.in:
- Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::dynamicViewportSizeUpdate):
(WebKit::WebPage::shouldEnableViewportBehaviorsForResizableWindows const):
(WebKit::WebPage::usesMultitaskingModeViewportBehaviors const): Deleted.
Canonical link: https://commits.webkit.org/251369@main
- 11:38 AM Changeset in webkit [295359] by
-
- 1 edit in trunk/LayoutTests/platform/win/TestExpectations
[Gardening]: [ Windows ] fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect-altered.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=241377
<rdar://94550320>
Unreviewed test gardening.
- LayoutTests/platform/win/TestExpectations:
Canonical link: https://commits.webkit.org/251368@main
- 11:21 AM Changeset in webkit [295358] by
-
- 1 edit in trunk/LayoutTests/platform/mac-wk1/TestExpectations
[Gardening]: [ macOS wk1 ] imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-035.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=241376
<rdar://94548274>
Unreviewed test gardening.
- LayoutTests/platform/mac-wk1/TestExpectations:
Canonical link: https://commits.webkit.org/251367@main
- 10:48 AM Changeset in webkit [295357] by
-
- 11 edits in trunk/Source
Some trustd network requests are not attributed to the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=241352
Reviewed by Kate Cheney.
Some of the calls to SecTrustEvaluate (in particular the one in ResourceResponseCocoa) are not made
with a corresponding call to SecTrustSetClientAuditToken. As a result, if trustd ends up making a
network request to fulfill that API request (e.g. for OCSP verification), the corresponding network
request is attributed to NetworkProcess rather than the UIProcess. This causes us to receive spurious
network usage regression bugs from the power team claiming that NetworkProcess (rather than UIProcess)
is making extra network requests if we happen to make a request that triggers OCSP verification.
To fix this, we added a call SecTrustSetClientAuditToken in ResourceResponse::platformCertificateInfo.
- Source/WTF/wtf/PlatformHave.h:
- Source/WTF/wtf/spi/cocoa/SecuritySPI.h:
- Source/WebCore/platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::includeCertificateInfo const):
- Source/WebCore/platform/network/ResourceResponseBase.h:
(WebCore::ResourceResponseBase::includeCertificateInfo):
(WebCore::ResourceResponseBase::platformCertificateInfo const):
- Source/WebCore/platform/network/cf/ResourceResponse.h:
- Source/WebCore/platform/network/cf/ResourceResponseCFNet.cpp:
(WebCore::ResourceResponse::platformCertificateInfo const):
- Source/WebCore/platform/network/cocoa/ResourceResponseCocoa.mm:
(WebCore::ResourceResponse::platformCertificateInfo const):
- Source/WebCore/platform/network/soup/ResourceResponse.h:
- Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::platformCertificateInfo const):
- Source/WebKit/NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::notifyDidReceiveResponse):
- Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(NetworkSessionCocoa::setClientAuditToken):
Canonical link: https://commits.webkit.org/251366@main
- 10:22 AM Changeset in webkit [295356] by
-
- 1 copy in tags/WebKit-7614.1.14.10.13
Tag WebKit-7614.1.14.10.13.
- 10:05 AM Changeset in webkit [295355] by
-
- 9 edits in branches/safari-7614.1.14.10-branch/Source
Versioning.
WebKit-7614.1.14.10.13
- 10:01 AM Changeset in webkit [295354] by
-
- 1 copy in tags/WebKit-7614.1.15.4
Tag WebKit-7614.1.15.4.
- 9:56 AM Changeset in webkit [295353] by
-
- 9 edits in branches/safari-7614.1.15-branch/Source
Versioning.
WebKit-7614.1.15.4
- 9:41 AM Changeset in webkit [295352] by
-
- 1 copy in tags/WebKit-7614.1.15.3
Tag WebKit-7614.1.15.3.
- 9:33 AM Changeset in webkit [295351] by
-
- 16 edits1 add in trunk
[Cocoa] Move contentSizeCategory to platform/
https://bugs.webkit.org/show_bug.cgi?id=241360
Reviewed by Cameron McCormack.
There are 2 reasons for moving it:
- There are already layering violations where existing code in platform/ is calling into RenderTheme
to get the contentSizeCategory.
- For https://bugs.webkit.org/show_bug.cgi?id=237817, I'm going to be adding a new system font cache,
and the most natural place to put it is in SystemFontDatabase in platform/. This new cache needs
access to the contentSizeCategory, so contentSizeCategory needs to be in platform/.
This patch adds FontCacheCocoa.mm because the contentSizeCategory stuff is exposed via Objective-C, and
FontCacheCoreText.cpp is a C++ source.
- Source/WebCore/SourcesCocoa.txt:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebCore/platform/graphics/cocoa/FontCacheCocoa.mm: Copied from Source/WebCore/rendering/RenderThemeCocoa.h.
(WebCore::getUIContentSizeCategoryDidChangeNotificationName):
(WebCore::_contentSizeCategory):
(WebCore::contentSizeCategory):
(WebCore::setContentSizeCategory):
- Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::FontCache::platformInit):
(WebCore::fontWithFamilySpecialCase):
- Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.h:
- Source/WebCore/platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp:
(WebCore::SystemFontDatabaseCoreText::createTextStyleFont):
- Source/WebCore/rendering/RenderThemeCocoa.h:
- Source/WebCore/rendering/RenderThemeIOS.h:
- Source/WebCore/rendering/RenderThemeIOS.mm:
(WebCore::attachmentActionFont):
(WebCore::attachmentTitleFont):
(WebCore::attachmentDynamicTypeScaleFactor):
(WebCore::contentSizeCategoryDidChange): Deleted.
(WebCore::RenderThemeIOS::RenderThemeIOS): Deleted.
(WebCore::_contentSizeCategory): Deleted.
(WebCore::RenderThemeIOS::contentSizeCategory const): Deleted.
(WebCore::RenderThemeIOS::setContentSizeCategory): Deleted.
- Source/WebCore/rendering/RenderThemeMac.h:
- Source/WebCore/rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::contentSizeCategory const): Deleted.
- Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::setContentSizeCategory):
- Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
- Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::contentSizeCategoryDidChange):
- Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
- Tools/TestWebKitAPI/Tests/ios/TextStyleFontSize.mm:
(TEST):
Canonical link: https://commits.webkit.org/251365@main
- 9:29 AM Changeset in webkit [295350] by
-
- 9 edits in branches/safari-7614.1.15-branch/Source
Versioning.
WebKit-7614.1.15.3
- 9:13 AM Changeset in webkit [295349] by
-
- 1 edit in trunk/Tools/flatpak/flatpakutils.py
[WPE][GTK] xdg-dbus-proxy process sometimes go zombie
https://bugs.webkit.org/show_bug.cgi?id=241317
Patch by Philippe Normand <philn@igalia.com> on 2022-06-07
Reviewed by Adrian Perez de Castro and Xabier Rodriguez-Calvar.
The atexit hook seems problematic for subprocesses, so try to kill the xdg-dbus-proxy process from
the WebKitFlatpak destructor instead.
- Tools/flatpak/flatpakutils.py:
(WebkitFlatpak.init):
(WebkitFlatpak):
(WebkitFlatpak.del):
(WebkitFlatpak.setup_a11y_proxy):
Canonical link: https://commits.webkit.org/251364@main
- 8:40 AM Changeset in webkit [295348] by
-
- 1 add in trunk/.github/CODEOWNERS
Add CODEOWNERS file
https://bugs.webkit.org/show_bug.cgi?id=241354
<rdar://94470932>
Reviewed by Yusuke Suzuki.
Note that we're using the CODEOWNERS file to recommend reviewers. Individual
contributors in WebKit do not "own" components.
- .github/CODEOWNERS: Added.
Canonical link: https://commits.webkit.org/251363@main
- 8:37 AM Changeset in webkit [295347] by
-
- 1 edit in trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm
Unreviewed, fix several failing API tests on iOS 15 after r295346
https://bugs.webkit.org/show_bug.cgi?id=241341
rdar://94446831
Rename a couple of strings that I missed in the original upstreaming patch. These tests ran normally
for me on iOS 16 simulator, since these system feature flags were enabled by default; however, iOS
15 relies on these feature flags being enabled for the web view through preferences.
- Tools/TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm:
(-[TestWKWebView waitForImageAnalysisRequests:]):
Also, drive-by-fix a minor grammar error in a logging string.
(TestWebKitAPI::createWebViewWithTextRecognitionEnhancements):
Canonical link: https://commits.webkit.org/251362@main
- 8:19 AM Changeset in webkit [295346] by
-
- 65 edits in trunk
Upstream new Live Text and visual intelligence features introduced in iOS 16 and macOS Ventura
https://bugs.webkit.org/show_bug.cgi?id=241341
rdar://94446831
Reviewed by Eric Carlson.
Upstream several Live Text and visual intelligence-related features introduced in iOS 16 and macOS
Ventura. These features include:
- Visual translation for images on the page, during webpage translation
- Live Text on paused video elements
- Object lifting support (Copy Subject and Remove Background)
- List and rich text detection using Live Text
- Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml:
- Source/WTF/wtf/PlatformEnable.h:
- Source/WTF/wtf/PlatformHave.h:
- Source/WebCore/PAL/pal/cocoa/VisionKitCoreSoftLink.h:
- Source/WebCore/PAL/pal/cocoa/VisionKitCoreSoftLink.mm:
- Source/WebCore/PAL/pal/spi/cocoa/VisionKitCoreSPI.h:
- Source/WebCore/dom/TextEvent.h:
- Source/WebCore/dom/TextEventInputType.h:
- Source/WebCore/editing/EditAction.cpp:
(WebCore::undoRedoLabel):
- Source/WebCore/editing/EditAction.h:
- Source/WebCore/editing/Editor.cpp:
(WebCore::Editor::handleTextEvent):
(WebCore::Editor::pasteAsFragment):
(WebCore::Editor::replaceSelectionWithFragment):
- Source/WebCore/en.lproj/Localizable.strings:
- Source/WebCore/loader/EmptyClients.cpp:
- Source/WebCore/page/ContextMenuClient.h:
- Source/WebCore/page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
(WebCore::ContextMenuController::populate):
(WebCore::ContextMenuController::checkOrEnableIfNeeded const):
- Source/WebCore/page/EventHandler.cpp:
(WebCore::EventHandler::textRecognitionCandidateElement const):
- Source/WebCore/page/ImageAnalysisQueue.cpp:
(WebCore::ImageAnalysisQueue::enqueueAllImages):
(WebCore::ImageAnalysisQueue::resumeProcessing):
(WebCore::ImageAnalysisQueue::clear):
- Source/WebCore/page/ImageAnalysisQueue.h:
- Source/WebCore/platform/ContextMenuItem.cpp:
(WebCore::isValidContextMenuAction):
- Source/WebCore/platform/ContextMenuItem.h:
- Source/WebCore/platform/LocalizedStrings.h:
- Source/WebCore/platform/TextRecognitionOptions.h:
- Source/WebCore/platform/TextRecognitionResult.h:
- Source/WebCore/platform/cocoa/LocalizedStringsCocoa.mm:
(WebCore::contextMenuItemTagCopySubject):
(WebCore::contextMenuItemTitleRemoveBackground):
(WebCore::contextMenuItemTagCopyCroppedImage): Deleted.
(WebCore::contextMenuItemTitleMarkupImage): Deleted.
- Source/WebCore/platform/cocoa/TextRecognitionResultCocoa.mm:
(WebCore::stringForRange):
- Source/WebCore/testing/Internals.h:
- Source/WebKit/Platform/cocoa/ImageAnalysisUtilities.h:
- Source/WebKit/Platform/cocoa/ImageAnalysisUtilities.mm:
(WebKit::languageCodeForLocale):
(WebKit::supportsLiveText):
(WebKit::makeTextRecognitionResult):
(WebKit::shouldLogFullImageTranslationResults):
(WebKit::requestVisualTranslation):
(WebKit::requestBackgroundRemoval):
(WebKit::setUpAdditionalImageAnalysisBehaviors):
(WebKit::imageDataForRemoveBackground):
(WebKit::canStartImageAnalysis): Deleted.
(WebKit::textRecognitionEnhancementsSystemFeatureEnabled): Deleted.
(WebKit::imageAnalysisQueueSystemFeatureEnabled): Deleted.
(WebKit::isImageAnalysisMarkupSystemFeatureEnabled): Deleted.
(WebKit::imageDataForCroppedImageResult): Deleted.
- Source/WebKit/Shared/API/c/WKSharedAPICast.h:
(WebKit::toAPI):
(WebKit::toImpl):
- Source/WebKit/Shared/Cocoa/WebPreferencesDefaultValuesCocoa.mm:
(WebKit::defaultTextRecognitionInVideosEnabled):
(WebKit::defaultVisualTranslationEnabled):
(WebKit::defaultRemoveBackgroundEnabled):
(WebKit::defaultTextRecognitionEnhancementsEnabled): Deleted.
(WebKit::defaultImageAnalysisQueueEnabled): Deleted.
(WebKit::defaultImageAnalysisMarkupEnabled): Deleted.
- Source/WebKit/Shared/WebPreferencesDefaultValues.h:
- Source/WebKit/UIProcess/API/Cocoa/WKMenuItemIdentifiers.mm:
- Source/WebKit/UIProcess/API/Cocoa/WKMenuItemIdentifiersPrivate.h:
- Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _startImageAnalysis:target:]):
- Source/WebKit/UIProcess/API/Cocoa/_WKElementAction.mm:
(+[_WKElementAction _elementActionWithType:customTitle:assistant:]):
(elementActionTypeToUIActionIdentifier):
(uiActionIdentifierToElementActionType):
- Source/WebKit/UIProcess/Cocoa/WebViewImpl.h:
- Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::requestTextRecognition):
(WebKit::WebViewImpl::beginElementFullscreenVideoExtraction):
(WebKit::WebViewImpl::cancelElementFullscreenVideoExtraction):
(WebKit::WebViewImpl::installImageAnalysisOverlayView):
(WebKit::WebViewImpl::uninstallImageAnalysisOverlayView):
- Source/WebKit/UIProcess/PageClient.h:
(WebKit::PageClient::requestTextRecognition):
- Source/WebKit/UIProcess/WebContextMenuProxy.h:
(WebKit::WebContextMenuProxy::copySubjectResult const):
(WebKit::WebContextMenuProxy::croppedImageResult const): Deleted.
- Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::contextMenuItemSelected):
(WebKit::WebPageProxy::requestTextRecognition):
(WebKit::WebPageProxy::startVisualTranslation):
(WebKit::WebPageProxy::shouldAllowRemoveBackground):
(WebKit::WebPageProxy::startImageAnalysis): Deleted.
(WebKit::WebPageProxy::shouldAllowImageMarkup): Deleted.
- Source/WebKit/UIProcess/WebPageProxy.h:
- Source/WebKit/UIProcess/ios/PageClientImplIOS.h:
- Source/WebKit/UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::requestTextRecognition):
- Source/WebKit/UIProcess/ios/WKActionSheetAssistant.h:
- Source/WebKit/UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant defaultActionsForLinkSheet:]):
(-[WKActionSheetAssistant defaultActionsForImageSheet:]):
(-[WKActionSheetAssistant handleElementActionWithType:element:needsInteraction:]):
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.h:
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(canAttemptTextRecognitionForNonImageElements):
(-[WKContentView requestRectsToEvadeForSelectionCommandsWithCompletionHandler:]):
(-[WKContentView removeBackgroundMenu]):
(-[WKContentView doAfterComputingImageAnalysisResultsForBackgroundRemoval:]):
(-[WKContentView prepareSelectionForContextMenuWithLocationInView:completionHandler:]):
(-[WKContentView buildMenuForWebViewWithBuilder:]):
(-[WKContentView _setUpImageAnalysis]):
(-[WKContentView _tearDownImageAnalysis]):
(-[WKContentView requestTextRecognition:imageData:sourceLanguageIdentifier:targetLanguageIdentifier:completionHandler:]):
(-[WKContentView imageAnalysisGestureDidBegin:]):
(-[WKContentView _completeImageAnalysisRequestForContextMenu:requestIdentifier:hasTextResults:]):
(-[WKContentView imageAnalysisGestureDidTimeOut:]):
(-[WKContentView actionSheetAssistantShouldIncludeCopySubjectAction:]):
(-[WKContentView actionSheetAssistant:copySubject:sourceMIMEType:]):
(-[WKContentView beginFullscreenVideoExtraction:playerViewController:]):
(-[WKContentView cancelFullscreenVideoExtraction:]):
(-[WKContentView isFullscreenVideoExtractionEnabled]):
(-[WKContentView beginElementFullscreenVideoExtraction:bounds:]):
(-[WKContentView cancelElementFullscreenVideoExtraction]):
(-[WKContentView installImageAnalysisInteraction:]):
(-[WKContentView uninstallImageAnalysisInteraction]):
(-[WKContentView _shouldAvoidSecurityHeuristicScoreUpdates]):
(-[WKContentView imageAnalysisMarkupMenu]): Deleted.
(-[WKContentView doAfterComputingImageAnalysisResultsForMarkup:]): Deleted.
(-[WKContentView requestTextRecognition:imageData:source:target:completionHandler:]): Deleted.
(-[WKContentView actionSheetAssistantShouldIncludeCopyCroppedImageAction:]): Deleted.
(-[WKContentView actionSheetAssistant:copyCroppedImage:sourceMIMEType:]): Deleted.
- Source/WebKit/UIProcess/mac/PageClientImplMac.h:
- Source/WebKit/UIProcess/mac/PageClientImplMac.mm:
(WebKit::PageClientImpl::requestTextRecognition):
- Source/WebKit/UIProcess/mac/WKSharingServicePickerDelegate.h:
- Source/WebKit/UIProcess/mac/WKSharingServicePickerDelegate.mm:
(-[WKSharingServicePickerDelegate removeBackground]):
(-[WKSharingServicePickerDelegate markupImage]): Deleted.
- Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.h:
- Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::appendMarkupItemToControlledImageMenuIfNeeded):
(WebKit::WebContextMenuProxyMac::applyMarkupToControlledImage):
(WebKit::menuItemIdentifier):
(WebKit::WebContextMenuProxyMac::getContextMenuFromItems):
- Source/WebKit/UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::handleContextMenuCopySubject):
(WebKit::WebPageProxy::handleContextMenuCopyCroppedImage): Deleted.
- Source/WebKit/WebProcess/WebCoreSupport/WebContextMenuClient.h:
- Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::replaceImageWithMarkupResults):
- Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::requestTextRecognition):
(WebKit::WebPage::startVisualTranslation):
(WebKit::WebPage::shouldAllowRemoveBackground const):
(WebKit::WebPage::startImageAnalysis): Deleted.
(WebKit::WebPage::shouldAllowImageMarkup const): Deleted.
- Source/WebKit/WebProcess/WebPage/WebPage.h:
- Source/WebKit/WebProcess/WebPage/WebPage.messages.in:
- Source/WebKitLegacy/mac/WebCoreSupport/WebContextMenuClient.h:
- Source/WebKitLegacy/mac/WebView/WebHTMLView.mm:
(toTag):
- Tools/TestWebKitAPI/Tests/WebKitCocoa/FullscreenVideoExtraction.mm:
(swizzledPresentViewController):
(swizzledProcessRequest):
(swizzledSetAnalysis):
(+[FullscreenVideoExtractionWebView create]):
(-[FullscreenVideoExtractionWebView initWithFrame:configuration:]):
(-[FullscreenVideoExtractionWebView loadVideoSource:]):
(-[FullscreenVideoExtractionWebView enterFullscreen]):
(-[FullscreenVideoExtractionWebView exitFullscreen]):
(-[FullscreenVideoExtractionWebView didChangeValueForKey:]):
(-[FullscreenVideoExtractionWebView pause]):
(-[FullscreenVideoExtractionWebView play]):
(-[FullscreenVideoExtractionWebView waitForVideoFrame]):
(-[FullscreenVideoExtractionWebView hasActiveImageAnalysis]):
(-[FullscreenVideoExtractionWebView waitForImageAnalysisToBegin]):
(-[FullscreenVideoExtractionWebView waitForImageAnalysisToEnd]):
(TestWebKitAPI::TEST):
- Tools/TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm:
(TestWebKitAPI::createWebViewWithTextRecognitionEnhancements):
(TestWebKitAPI::invokeRemoveBackgroundAction):
(TestWebKitAPI::TEST):
(TestWebKitAPI::invokeImageMarkupAction): Deleted.
- Tools/TestWebKitAPI/cocoa/ImageAnalysisTestingUtilities.h:
- Tools/TestWebKitAPI/cocoa/ImageAnalysisTestingUtilities.mm:
(-[FakeRemoveBackgroundResult initWithImage:cropRect:]):
(-[FakeRemoveBackgroundResult createCGImage]):
(-[FakeRemoveBackgroundResult cropRect]):
(TestWebKitAPI::makeRequestHandler):
(TestWebKitAPI::RemoveBackgroundSwizzler::RemoveBackgroundSwizzler):
Canonical link: https://commits.webkit.org/251361@main
- 8:19 AM Changeset in webkit [295345] by
-
- 1 edit in releases/WebKitGTK/webkit-2.36/Source/WebKit/WebProcess/WebCoreSupport/WebPermissionController.cpp
Merge r295336 - WebPermissionController::tryProcessingRequests should check for m_page
https://bugs.webkit.org/show_bug.cgi?id=241344
rdar://94276618
Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-07
Reviewed by Eric Carlson.
- Source/WebKit/WebProcess/WebCoreSupport/WebPermissionController.cpp:
(WebKit::WebPermissionController::tryProcessingRequests):
Add a null check since async reply destructor might trigger completion handler execution.
Canonical link: https://commits.webkit.org/251355@main
- 7:09 AM Changeset in webkit [295344] by
-
- 4 edits in trunk/LayoutTests
AX ITM: Fix for accessibility/aria-toggle-button-with-title.html in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=241240
Reviewed by Chris Fleizach and Tyler Wilcock.
This test was flaky in isolated tree mode.
- LayoutTests/accessibility/aria-toggle-button-with-title-expected.txt:
- LayoutTests/accessibility/aria-toggle-button-with-title.html:
- LayoutTests/platform/glib/accessibility/aria-toggle-button-with-title-expected.txt:
Canonical link: https://commits.webkit.org/251360@main
- 6:43 AM Changeset in webkit [295343] by
-
- 14 edits in trunk/Source
ImageBuffer::copyImage consumes GPUP memory and is redundant
https://bugs.webkit.org/show_bug.cgi?id=241127
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-06-07
ImageBuffer::copyImage overrides:
- Always ends up returning BitmapImage
- Always ends up constructing BitmapImage from copyNativeImage
- Is implemented erroneously in many backends, ignoring the preserve resolution scale flag
- Is implemented correctly in ImageBufferCGBackend, but will allocate the destination buffer when trying to honor the PreserveResolution::No. This will cause a large unattributed allocation in GPUP.
Instead, implement ImageBuffer::copyImage for all the backends and overrides
with ImageBuffer::copyNativeImage().
Implement the scaling conversion, PreserveResolution::No, as a normal WebCore GraphicsContext
operation.
Reviewed by Said Abou-Hallawa.
- Source/WebCore/platform/graphics/ConcreteImageBuffer.h:
- Source/WebCore/platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::copyImage const):
(WebCore::ImageBuffer::sinkIntoImage):
- Source/WebCore/platform/graphics/ImageBuffer.h:
- Source/WebCore/platform/graphics/ImageBufferBackend.cpp:
(WebCore::ImageBufferBackend::sinkIntoImage): Deleted.
- Source/WebCore/platform/graphics/ImageBufferBackend.h:
- Source/WebCore/platform/graphics/cairo/ImageBufferCairoBackend.cpp:
(WebCore::ImageBufferCairoBackend::copyImage const): Deleted.
- Source/WebCore/platform/graphics/cairo/ImageBufferCairoBackend.h:
- Source/WebCore/platform/graphics/cg/ImageBufferCGBackend.cpp:
(WebCore::createBitmapImageAfterScalingIfNeeded): Deleted.
(WebCore::ImageBufferCGBackend::copyImage const): Deleted.
(WebCore::ImageBufferCGBackend::sinkIntoImage): Deleted.
- Source/WebCore/platform/graphics/cg/ImageBufferCGBackend.h:
- Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:
(WebKit::ImageBufferShareableBitmapBackend::copyImage const): Deleted.
- Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h:
- Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
- Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.cpp:
(WebKit::ImageBufferRemoteIOSurfaceBackend::copyImage const): Deleted.
- Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.h:
Canonical link: https://commits.webkit.org/251359@main
- 6:08 AM Changeset in webkit [295342] by
-
- 3 edits in trunk
Do not enable promoted extensions in WebGL 2.0
https://bugs.webkit.org/show_bug.cgi?id=223348
Patch by Alexey Knyazev <3479527+lexaknyazev@users.noreply.github.com> on 2022-06-07
Reviewed by Kimmo Kinnunen.
- LayoutTests/TestExpectations:
- Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::initializeNewContext):
(WebCore::WebGL2RenderingContext::initializeShaderExtensions): Deleted.
- Source/WebCore/html/canvas/WebGL2RenderingContext.h:
Canonical link: https://commits.webkit.org/251358@main
- 4:43 AM WebKitGTK/2.36.x edited by
- (diff)
- 4:42 AM Changeset in webkit [295341] by
-
- 1 edit in releases/WebKitGTK/webkit-2.36/Tools/WebKitTestRunner/CMakeLists.txt
Merge r295310 - [CMake] Cleanup use of frameworks in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=241349
Reviewed by Fujii Hironori.
Remove includes that are implicit from using a framework.
- Tools/WebKitTestRunner/CMakeLists.txt:
Canonical link: https://commits.webkit.org/251348@main
- 4:42 AM Changeset in webkit [295340] by
-
- 4 edits in releases/WebKitGTK/webkit-2.36
Merge r295034 - WebKitTestRunner shouldn't link object files of JavaScriptCore and WebCore
https://bugs.webkit.org/show_bug.cgi?id=241002
Reviewed by Don Olmstead.
243269@main removed
WebKitfromWebKitTestRunner_FRAMEWORKSfor
WPE. But, it should be there not to link object files of
JavaScriptCore and WebCore to WebKitTestRunner. In WPE builds,
JavaScriptCore and WebCore API are exported from WebKit shared
library. WebKit consumers shouldn't link with object files of
JavaScriptCore and WebCore.
However, adding
WebKittoWebKitTestRunner_FRAMEWORKSintroduced a
new problem that the object file of LowLevelInterpreter.cpp was linked
into WebKitTestRunner. This problem was fixed by changing
LowLevelInterpreterLib to a STATIC library.
- Source/JavaScriptCore/CMakeLists.txt:
- Tools/WebKitTestRunner/CMakeLists.txt:
- Tools/WebKitTestRunner/PlatformGTK.cmake:
- Tools/WebKitTestRunner/PlatformWin.cmake:
Canonical link: https://commits.webkit.org/251129@main
- 4:42 AM Changeset in webkit [295339] by
-
- 1 edit in releases/WebKitGTK/webkit-2.36/Source/WebCore/bindings/js/JSDOMMapLike.cpp
Merge r295045 - Build failure when cross-building for 64-bit ARM https://bugs.webkit.org/show_bug.cgi?id=241109
Unreviewed build fix.
- Source/WebCore/bindings/js/JSDOMMapLike.cpp: Add missing JavaScriptCore/HashMapImplInlines.h header inclusion.
- 4:33 AM Changeset in webkit [295338] by
-
- 3 edits in trunk/Source/WebCore/platform
[GStreamer][WebRTC] Misc pipeline improvements
https://bugs.webkit.org/show_bug.cgi?id=241332
Patch by Philippe Normand <philn@igalia.com> on 2022-06-07
Reviewed by Xabier Rodriguez-Calvar.
The player is now able to tune RTP depayloaders in the pipeline, which is useful for incoming RTC
stream handling. The x264 encoder is also now capped at 4 threads, matching other encoders behavior
in our custom video encoder bin.
- Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
(WebCore::MediaPlayerPrivateGStreamer::configureDepayloader):
(WebCore::MediaPlayerPrivateGStreamer::configureVideoDecoder):
- Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
- Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoEncoder.cpp:
(webkit_webrtc_video_encoder_class_init):
Canonical link: https://commits.webkit.org/251357@main
- 4:00 AM Changeset in webkit [295337] by
-
- 19 edits in trunk/Source/WebKit
SharedBuffer should be copied when moved over IPC
https://bugs.webkit.org/show_bug.cgi?id=240902
<rdar://93881913>
Reviewed by Jer Noble.
Have SharedBuffer and FragmentedSharedBuffer IPC serializers always perform a copy
Make DrawToPDF use SharedBuffer directly rather than SharedBufferReference.
Replace use of IPCHandle with SharedBuffer in clipboard IPC methods.
The SharedBuffer serializer ultimately does the same thing and it allows for simpler code.
- Source/WebKit/Shared/WebCoreArgumentCoders.cpp:
(IPC::decodeSharedBuffer):
- Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView createPDFWithConfiguration:completionHandler:]):
- Source/WebKit/UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:
(WebKit::WebPasteboardProxy::getPasteboardBufferForType):
(WebKit::WebPasteboardProxy::setPasteboardBufferForType):
(WebKit::WebPasteboardProxy::readBufferFromPasteboard):
- Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::CompletionHandler<void):
(WebKit::WebPageProxy::drawPagesToPDF):
(WebKit::WebPageProxy::drawToPDF):
- Source/WebKit/UIProcess/WebPageProxy.h:
- Source/WebKit/UIProcess/WebPasteboardProxy.cpp:
(WebKit::WebPasteboardProxy::readBufferFromPasteboard):
- Source/WebKit/UIProcess/WebPasteboardProxy.h:
- Source/WebKit/UIProcess/WebPasteboardProxy.messages.in:
- Source/WebKit/UIProcess/gtk/WebPasteboardProxyGtk.cpp:
(WebKit::WebPasteboardProxy::readBuffer):
- Source/WebKit/UIProcess/ios/WKContentView.mm:
(-[WKContentView _wk_pageCountForPrintFormatter:]):
- Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::drawToPDFiOS):
- Source/WebKit/UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::dataSelectionForPasteboard):
- Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::writeItemsToPasteboard):
- Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::bufferForType):
(WebKit::WebPlatformStrategies::setBufferForType):
(WebKit::WebPlatformStrategies::readBufferFromClipboard):
(WebKit::WebPlatformStrategies::readBufferFromPasteboard):
- Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::drawToPDF):
(WebKit::WebPage::drawPagesToPDF):
- Source/WebKit/WebProcess/WebPage/WebPage.h:
- Source/WebKit/WebProcess/WebPage/WebPage.messages.in:
- Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getDataSelectionForPasteboard):
(WebKit::WebPage::drawToPDFiOS):
- Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::getDataSelectionForPasteboard):
Canonical link: https://commits.webkit.org/251356@main
- 2:36 AM Changeset in webkit [295336] by
-
- 1 edit in trunk/Source/WebKit/WebProcess/WebCoreSupport/WebPermissionController.cpp
WebPermissionController::tryProcessingRequests should check for m_page
https://bugs.webkit.org/show_bug.cgi?id=241344
rdar://94276618
Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-07
Reviewed by Eric Carlson.
- Source/WebKit/WebProcess/WebCoreSupport/WebPermissionController.cpp:
(WebKit::WebPermissionController::tryProcessingRequests):
Add a null check since async reply destructor might trigger completion handler execution.
Canonical link: https://commits.webkit.org/251355@main
- 2:23 AM Changeset in webkit [295335] by
-
- 2 edits in trunk
Validate top origin in ServiceWorkerRegistrationKey::fromDatabaseKey
https://bugs.webkit.org/show_bug.cgi?id=241221
rdar://problem/94280334
Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-07
Reviewed by Chris Dumez.
When reading the top origin from file disk, let's validate it like we do with scope URL.
Covered by API tests.
- Source/WebCore/workers/service/ServiceWorkerRegistrationKey.cpp:
(WebCore::ServiceWorkerRegistrationKey::fromDatabaseKey):
- Tools/TestWebKitAPI/Tests/WebCore/ServiceWorkerRoutines.cpp:
(TEST):
Canonical link: https://commits.webkit.org/251354@main
- 12:16 AM Changeset in webkit [295334] by
-
- 1 edit in trunk/Source/WebKit/Shared/IPCTester.messages.in
REGRESSION(250081@main): Parsing error in generate-message-receiver.py
https://bugs.webkit.org/show_bug.cgi?id=241356
Reviewed by Kimmo Kinnunen.
- Source/WebKit/Shared/IPCTester.messages.in: Remove redundant non-ascii character.
Canonical link: https://commits.webkit.org/251353@main
Jun 6, 2022:
- 11:57 PM Changeset in webkit [295333] by
-
- 3 edits in trunk/Tools/TestWebKitAPI
Make _WKDataTask.Basic API test more permissive of different number of TCP connections
https://bugs.webkit.org/show_bug.cgi?id=241358
rdar://94322457
Reviewed by Tim Horton.
Since r294757 we call _setPrivacyProxyFailClosedForUnreachableNonMainHosts on most loads
from WKWebView, but _WKDataTask uses NetworkSessionCocoa::dataTaskWithRequest which does not.
On platforms that support the SPI, we now make a different TCP connection because the stream
properties are different so we can't use the same cached connection. This is fine. The test
verifies that the session cookie is sent. An alternative could be to call
_setPrivacyProxyFailClosedForUnreachableNonMainHosts for all _WKDataTask loads, but that would
strangely and unnecessarily block some loads. The mitigation for rdar://problem/92697007 is not
needed in contexts where _WKDataTask is used because those loads can't run JS that then triggers
other loads, and there's also no main document so the algorithm we use in r294757 can't work.
- Tools/TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
(TEST):
- Tools/TestWebKitAPI/cocoa/HTTPServer.h:
- Tools/TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::Connection::awaitableSend):
Canonical link: https://commits.webkit.org/251352@main
- 11:52 PM WebKitGTK/2.36.x edited by
- (diff)
- 11:03 PM Changeset in webkit [295332] by
-
- 1 copy in tags/WebKit-7614.1.14.10.12
Tag WebKit-7614.1.14.10.12.
- 10:47 PM Changeset in webkit [295331] by
-
- 1 edit in branches/safari-7614.1.14.10-branch/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm
Cherry-pick r294877. rdar://problem/93834054
Uniform buffer reuse causes flush, creates invalid state
https://bugs.webkit.org/show_bug.cgi?id=240896
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-05-26
Patch by Kyle Piddington.
Reviewed by Kimmo Kinnunen.
A flush during draw setup would leave the render command encoder
not started and render pipeline unset. This would assert in debug
and leak memory with corrupted draws in release.
This would happen for example when uniform buffer pool would run
out of uniform memory. If the pool is maxed out, we flush the
existing rendering to obtain free buffers. After the flush,
we need to re-run the setup.
Test is tracked in bug 240948.
- Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm: (rx::ContextMtl::setupDraw): (rx::ContextMtl::setupDrawImpl):
Canonical link: https://commits.webkit.org/251007@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294877 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:47 PM Changeset in webkit [295330] by
-
- 5 edits in branches/safari-7614.1.14.10-branch/Source/WebKit/UIProcess
Cherry-pick r294831. rdar://problem/93656000
Prevent NSAttributedString crashes when AppSSO URLs are provided
https://bugs.webkit.org/show_bug.cgi?id=240739
<rdar://93656000>
Reviewed by Chris Dumez.
When NSAttributedString is used in a sandboxed app, it is prevented from checking in with the
AppSSO plugin manager, causing a Sandbox Violation and crash. We don't want NSAttributedString
to ever hand-off to AppSSO, so we should configure it's internal WKWebView to do the right thing.
Reviewed by Chris Dumez.
- Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm: (+[_WKAttributedStringWebViewCache configuration]): Turn off AppSSO for string uses.
- Source/WebKit/UIProcess/Cocoa/NavigationState.mm: (WebKit::trySOAuthorization): Use new lazy loading approach.
- Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::trySOAuthorization): Ditto.
- Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp: (WebKit::WebsiteDataStore::WebsiteDataStore): (WebKit::WebsiteDataStore::soAuthorizationCoordinator): Lazily initialize, and RELEASE_ASSERT if we somehow reach this code without enabling AppSSO.
- Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h: (WebKit::WebsiteDataStore::soAuthorizationCoordinator): Deleted.
Canonical link: https://commits.webkit.org/250981@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294831 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:47 PM Changeset in webkit [295329] by
-
- 8 edits2 adds in branches/safari-7614.1.14.10-branch
Cherry-pick r294186. rdar://problem/93805727
Infinite recursion caused by call to accessibilityIsIgnored in the midst of AccessibilityObject::ignoredFromModalPresence
https://bugs.webkit.org/show_bug.cgi?id=240365
Reviewed by Chris Fleizach.
Source/WebCore:
We can get infinite recursion when accessibilityIsIgnored is called as
part of computing AccessibilityObject::ignoredFromModalPresence. One
example of such a cycle:
AXObjectCache::currentModalNode() ->
AccessibilityRenderObject::computeAccessibilityIsIgnored() ->
AccessibilityRenderObject::parentObjectUnignored() ->
AccessibilityObject::accessibilityIsIgnored() ->
AccessibilityObject::ignoredFromModalPresence() ->
AXObjectCache::currentModalNode() ->
...repeat...
This patch fixes this by tracking when we start computing the current
modal node in the AXObjectCache. Then, in AccessibilityObject::accessibilityIsIgnored(),
we don't call AccessibilityObject::ignoredFromModalPresence() if this new state is true,
since in this context we only need to know if the object is inherently
ignored (i.e. ignored disregarding modal presence).
Test: accessibility/aria-modal-with-text-crash.html
- accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::currentModalNode):
- accessibility/AXObjectCache.h: Add m_isRetrievingCurrentModalNode. (WebCore::AXObjectCache::isRetrievingCurrentModalNode): Added.
- accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::accessibilityIsIgnored const): Don't call ignoredFromModalPresence if we're in the midst of computing the current modal.
LayoutTests:
- accessibility/aria-modal-with-text-crash-expected.txt: Added.
- accessibility/aria-modal-with-text-crash.html: Added.
- platform/glib/TestExpectations: Skip new test.
- platform/ios/TestExpectations: Enable new test.
- platform/win/TestExpectations: Skip new test.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294186 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:37 PM Changeset in webkit [295328] by
-
- 9 edits in branches/safari-7614.1.14.10-branch/Source
Versioning.
WebKit-7614.1.14.10.12
- 8:58 PM Changeset in webkit [295327] by
-
- 1 edit in trunk/Source/cmake/OptionsPlayStation.cmake
Fix PlayStation build after r295294
https://bugs.webkit.org/show_bug.cgi?id=241359
Reviewed by Ross Kirsling.
The ICU::uc target was added twice to a list of modules causing it to be multiply defined.
- Source/cmake/OptionsPlayStation.cmake:
Canonical link: https://commits.webkit.org/251351@main
- 8:44 PM Changeset in webkit [295326] by
-
- 14 edits in trunk/Source/WebCore
Delete RenderTheme::cachedSystemFontDescription() because it does nothing
https://bugs.webkit.org/show_bug.cgi?id=241329
Reviewed by Cameron McCormack.
RenderTheme::cachedSystemFontDescription() is supposed to maintain storage for cached font descriptors.
However, every time this storage is referenced, it is immediately copied from, leaving the storage
in its default uninitialized state. There's no point in keeping default initialized objects around
for no reason.
This is the second piece in a sequence of patches to fix the accessibility bold setting in web content.
- Source/WebCore/css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::consumeSystemFont):
- Source/WebCore/rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::getReplacementTextGeometry const):
- Source/WebCore/rendering/RenderTheme.cpp:
(WebCore::RenderTheme::cachedSystemFontDescription const): Deleted.
(WebCore::RenderTheme::systemFont const): Deleted.
- Source/WebCore/rendering/RenderTheme.h:
(WebCore::RenderTheme::canPaint const):
- Source/WebCore/rendering/RenderThemeAdwaita.h:
- Source/WebCore/rendering/RenderThemeCocoa.h:
- Source/WebCore/rendering/RenderThemeCocoa.mm:
(WebCore::RenderThemeCocoa::systemFont const):
(WebCore::RenderThemeCocoa::cachedSystemFontDescription const): Deleted.
(WebCore::RenderThemeCocoa::updateCachedSystemFontDescription const): Deleted.
- Source/WebCore/rendering/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::systemFont const):
(WebCore::RenderThemeGtk::updateCachedSystemFontDescription const): Deleted.
- Source/WebCore/rendering/RenderThemeGtk.h:
- Source/WebCore/rendering/RenderThemePlayStation.cpp:
(WebCore::RenderThemePlayStation::systemFont const):
(WebCore::RenderThemePlayStation::updateCachedSystemFontDescription const): Deleted.
- Source/WebCore/rendering/RenderThemePlayStation.h:
- Source/WebCore/rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::systemFont const):
(WebCore::fillFontDescription): Deleted.
(WebCore::RenderThemeWin::updateCachedSystemFontDescription const): Deleted.
- Source/WebCore/rendering/RenderThemeWin.h:
Canonical link: https://commits.webkit.org/251350@main
- 8:43 PM Changeset in webkit [295325] by
-
- 6 edits in trunk/Tools/Scripts/libraries
Add proxy support to webkitscmpy's GitHub client
https://bugs.webkit.org/show_bug.cgi?id=241031
rdar://93129765
Reviewed by Jonathan Bedard.
Allow for the passing of proxy settings to the GitHub client. Use
requests.Session to pass the proxy settings to all requests made.
Additionally pass this session to the Tracker data member, for
github.com networking requests made at the Tracker level.
Version bumps webkitbugspy and webkitscmpy.
- Tools/Scripts/libraries/webkitbugspy/setup.py: version bump to 0.6.3
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/init.py: version bump to 0.6.3
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py:
Add a requests.Session member to the class that can be passed into the constructor.
Call all networking requests through the session.
(Tracker.init):
(Tracker):
(Tracker.credentials.validater):
- Tools/Scripts/libraries/webkitscmpy/setup.py: version bump to 4.15.4
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: version bump to 4.15.4
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
Add a proxies argument to the constructor. Will pass proxies to a request.Session member
that is used to perform networking requests to github.com from this class.
This session is passed to the Tracker member in its constructor (see webkitbugspy.github changes).
(GitHub.PRGenerator.create):
(GitHub.PRGenerator.update):
(GitHub.init):
(GitHub.request):
(GitHub._count_for_ref):
(GitHub._branches_for):
Canonical link: https://commits.webkit.org/251349@main
- 7:30 PM Changeset in webkit [295324] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick c88d60bba878. rdar://problem/91643534
<link rel=preconnect> always sends credentials to different-origin, ignoring crossorigin=anonymous
https://bugs.webkit.org/show_bug.cgi?id=239119
<rdar://problem/91643534>
Reviewed by John Wilander.
Update the check as per spec, step 5 of
https://html.spec.whatwg.org/multipage/links.html#link-type-preconnect
This is difficult to test as preconnect can only expose TLS credentials.
- loader/LinkLoader.cpp: (WebCore::LinkLoader::preconnectIfNeeded):
Canonical link: https://commits.webkit.org/250034@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293503 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:30 PM Changeset in webkit [295323] by
-
- 18 edits20 moves24 adds in branches/safari-613-branch
Cherry-pick c7f59d768c0a. rdar://problem/94467852
Incorrect CORP/COEP check in 304 responses
https://bugs.webkit.org/show_bug.cgi?id=238238
<rdar://problem/90706510>
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2022-04-08
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Sync cross-origin-embedder-policy tests to include the new test require-corp-revalidated-images.https.html.
- web-platform-tests/html/cross-origin-embedder-policy/block-local-documents-inheriting-none.https.html:
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/cache-storage.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/cache-storage.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/cache-storage.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/cache.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/cache.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/cache.tentative.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/dedicated-worker.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/dedicated-worker.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/dedicated-worker.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/fetch.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/fetch.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/fetch.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-credentialless.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-credentialless.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-credentialless.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-none.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-none.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-none.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-require-corp.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-require-corp.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-require-corp.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe.tentative.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/image.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/image.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/image.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/link.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/link.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/link.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/redirect.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/redirect.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/redirect.tentative.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/reporting-navigation.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/reporting-navigation.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/reporting-navigation.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/reporting-subresource-corp.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/reporting-subresource-corp.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/reporting-subresource-corp.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/script.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/script.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/script.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker-coep-credentialless-proxy.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker-coep-credentialless-proxy.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker-coep-credentialless-proxy.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker-coep-none-proxy.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker-coep-none-proxy.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker-coep-none-proxy.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/shared-worker.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/shared-worker.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/shared-worker.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/video.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/video.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/video.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/video.https.window.js.headers: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/video.tentative.https.window.js.headers.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/w3c-import.log:
- web-platform-tests/html/cross-origin-embedder-policy/dedicated-worker.https-expected.txt:
- web-platform-tests/html/cross-origin-embedder-policy/dedicated-worker.https.html:
- web-platform-tests/html/cross-origin-embedder-policy/reporting-to-endpoint.https.html:
- web-platform-tests/html/cross-origin-embedder-policy/reporting-to-endpoint.https.html.headers:
- web-platform-tests/html/cross-origin-embedder-policy/require-corp-cached-images.https-expected.txt:
- web-platform-tests/html/cross-origin-embedder-policy/require-corp-cached-images.https.html:
- web-platform-tests/html/cross-origin-embedder-policy/require-corp-revalidated-images.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-embedder-policy/require-corp-revalidated-images.https.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/resources/corp-image.py: (main):
- web-platform-tests/html/cross-origin-embedder-policy/resources/fetch-and-create-url.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/resources/load-corp-images.html:
- web-platform-tests/html/cross-origin-embedder-policy/resources/w3c-import.log:
- web-platform-tests/html/cross-origin-embedder-policy/resources/worker-support.js: Added. (setCoep): (resolveUrl): (async withIframe): (waitForMessage): (async createLocalUrl):
- web-platform-tests/html/cross-origin-embedder-policy/shared-workers.https-expected.txt:
- web-platform-tests/html/cross-origin-embedder-policy/shared-workers.https.html:
- web-platform-tests/html/cross-origin-embedder-policy/w3c-import.log:
Source/WebKit:
Add CORP header to the 304 response if previously set to avoid being blocked by load checker due to COEP.
Test: imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/require-corp-revalidated-images.https.html
- NetworkProcess/NetworkResourceLoader.cpp: (WebKit::NetworkResourceLoader::didReceiveResponse):
LayoutTests:
Mark some tests with DumpJSConsoleLogInStdErr modifier.
Canonical link: https://commits.webkit.org/249428@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:30 PM Changeset in webkit [295322] by
-
- 3 edits2 adds in branches/safari-613-branch
Cherry-pick e40c1e30bd61. rdar://problem/94467808
CSP: Fix script-src-elem policies in workers
https://bugs.webkit.org/show_bug.cgi?id=239840
Reviewed by Kate Cheney.
Source/WebCore:
Test: http/tests/security/contentSecurityPolicy/script-src-strict-dynamic-and-script-src-elem.html
- page/csp/ContentSecurityPolicyDirectiveList.cpp: (WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForScript const):
LayoutTests:
CSP: Fix script-src-elem policies in workers
- http/tests/security/contentSecurityPolicy/script-src-strict-dynamic-and-script-src-elem-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/script-src-strict-dynamic-and-script-src-elem.html: Added.
Canonical link: https://commits.webkit.org/250386@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293940 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:30 PM Changeset in webkit [295321] by
-
- 15 edits3 adds in branches/safari-613-branch
Cherry-pick bf09fd4a06a7. rdar://problem/92033309
Add testRunner API to clear memory cache
https://bugs.webkit.org/show_bug.cgi?id=239804
rdar://92033309
Reviewed by Chris Dumez.
Source/WebCore:
- testing/Internals.cpp: (WebCore::Internals::clearMemoryCache): Beef up clearMemoryCache to be on par with testRunner counterpart.
Source/WebKit:
Add necessary WebKit API to implement the testRunner API.
Make use of new testRunner API in added test.
Test: http/wpt/fetch/clear-memory-cache.html
- NetworkProcess/NetworkProcess.cpp:
- UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
- UIProcess/API/C/WKWebsiteDataStoreRef.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
Tools:
Implement the clear memory cache testRunner API and related plumbery.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp:
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp:
LayoutTests:
- http/wpt/fetch/clear-memory-cache-expected.txt: Added.
- http/wpt/fetch/clear-memory-cache.html: Added.
- http/wpt/fetch/resources/clear-memory-cache.py: Added.
Canonical link: https://commits.webkit.org/250033@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293502 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:30 PM Changeset in webkit [295320] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore/platform/graphics/avfoundation/objc
Cherry-pick b3360dfccef2. rdar://problem/89387951
[Cocoa][MSE] Frames are displayed "fast forward" during seek operations
https://bugs.webkit.org/show_bug.cgi?id=241234
<rdar://89387951>
Reviewed by Eric Carlson.
When MSE was moved into the GPU process, certain operations that used to be synchronous became
async. This includes seek operations, where the seek request is initiated by the HTMLMediaElement,
async dispatched to the MediaPlayer in the GPU process, and then async dispatched back to the
WebContent process and MediaSource. Immediately prior to this last dispatch, the
SourceBufferPrivateAVFObjC flushes its sample buffer renderers, and during the subsequent async
portion there is an opportunity for the sample buffers to request new data. When that request
occurs before the response to the async dispatch, incorrect samples (future samples from the
previous playback location) are enqueued. These are then flushed again during the async response,
and replaced by correct samples.
Add a new ivar to SourceBufferPrivateAVFObjC that tracks this state, blocking enqueing new samples
while there is a pending seek operation.
- Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
- Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: (WebCore::SourceBufferPrivateAVFObjC::willSeek): (WebCore::SourceBufferPrivateAVFObjC::seekToTime): (WebCore::SourceBufferPrivateAVFObjC::isSeeking const):
Canonical link: https://commits.webkit.org/251301@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@295253 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:30 PM Changeset in webkit [295319] by
-
- 1 edit2 adds in branches/safari-613-branch
Cherry-pick 97487f0eee71. rdar://problem/90755619
[iOS 15] Unable to type in Google Docs with a hardware keyboard without refocusing editor
https://bugs.webkit.org/show_bug.cgi?id=241308
rdar://90755619
Reviewed by Tim Horton.
After the changes in r277265, we no longer call into
-reloadInputViewswhen starting an input
session after programmatically focusing an editable container withinputmode="none", with a
hardware keyboard attached. This is because-_shouldShowKeyboardForElement:returnsNO(due to
inputmode none), so we bail early at this check:
`
if (!shouldShowInputView information.elementType == WebKit::InputType::None) { _page->setIsShowingInputViewForFocusedElement(false);
return;
}
`
As a result, UIKit never resets UIKeyboardImpl's input delegate, which should now be the
WKContentView, and thus never consults whether we require key events (-requiresKeyEvents), which
in turn means that-handleKeyWebEvent:withCompletionHandler:is never invoked on the content view,
so we never dispatch key events to the page.
In the normal, non-editable key event case, we lazily call
-reloadInputViewsin
-_handleKeyUIEvent:(which is called just before keyboard WebEvents start getting dispatched by
UIKit). However, since we're still focusing an editable element in this case, we don't end up going
down this codepath.
When the hardware keyboard is not connected, avoiding the call to
-reloadInputViewsis expected,
since we aren't showing a keyboard anyways due to the fact that the element was programmatically
focused (so the user has no way of typing or dispatching key events, in the first place).
And finally, when the
inputmodeis not none,_isFocusingElementWithKeyboardis set toYES, so
we begin the input session and call-reloadInputViewsas normal.
It's only in this
inputmode=nonecase with both the hardware keyboard attached and the editable
container being programmatically focused, where we end up in a state where the user can type with a
hardware keyboard, but we haven't informed UIKit that we should receive key events.
We can fix this by consulting a separate
-_shouldShowKeyboardForElementIgnoringInputMode:instead
which allows us to follow the normal routine for focusing an editable element withinputmode="none"
which includes zooming to reveal the focused element if it's on-screen and not hidden, as well as
calling the related delegate methods; the only difference is that we avoid showing the UCB or
software keyboard, by returningYESfrom-_disableAutomaticKeyboardUIin this case.
- LayoutTests/fast/forms/ios/keydown-in-hidden-contenteditable-with-inputmode-none-expected.txt: Added.
- LayoutTests/fast/forms/ios/keydown-in-hidden-contenteditable-with-inputmode-none.html: Added.
Add a new layout test to simulate typing in Google Docs with a hardware keyboard (i.e., focus a
hidden contenteditable container withinputmode="none"), and verify that we dispatch key events to
the focused editable element.
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView _elementTypeRequiresAccessoryView:]): (-[WKContentView _shouldShowKeyboardForElement:]): (-[WKContentView _shouldShowKeyboardForElementIgnoringInputMode:]):
Split this helper method into two versions (one of which ignores
inputmode=none). See above for
more details.
(-[WKContentView _elementDidFocus:userIsInteracting:blurPreviousNode:activityStateChanges:userObject:]):
Canonical link: https://commits.webkit.org/251335@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@295289 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:30 PM Changeset in webkit [295318] by
-
- 10 edits1 add in branches/safari-613-branch
Cherry-pick 8a2d5954643f. rdar://problem/94467773
Calls to print can result in unresponsive print modal
https://bugs.webkit.org/show_bug.cgi?id=237940
<rdar://problem/88257828>
Reviewed by Chris Dumez.
Source/WebKit:
Calls to print were hanging in the case of the client asynchronously
handling the completion handler passed to the delegate. To fix this
we can adjust all printing IPC to have the option
DispatchMessageEvenWhenWaitingForUnboundedSyncReply which allows IPC
messages when waiting for a sync reply in the case where the receiver
of the message is not guranteed to call the completion handler at the
end of the runloop.
- UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
- UIProcess/API/Cocoa/WKWebViewTesting.mm: (-[WKWebView _computePagesForPrinting:completionHandler:]):
- UIProcess/WebPageProxy.cpp: (WebKit::printingSendOptions):
- WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::print):
Tools:
Add API test. Adjust delegate naming in the PDF case to be more
specific so we can use the generic PrintUIDelegate name in the general
case.
- TestWebKitAPI/SourcesCocoa.txt:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm: (TEST): (-[PrintUIDelegate _webView:printFrame:pdfFirstPageSize:completionHandler:]): Deleted. (-[PrintUIDelegate waitForPageSize]): Deleted. (-[PrintUIDelegate lastPrintedFrame]): Deleted.
- TestWebKitAPI/Tests/WebKitCocoa/WKPrinting.mm: Added. (-[PrintUIDelegate callBlockAsync:]): (-[PrintUIDelegate _webView:printFrame:pdfFirstPageSize:completionHandler:]): (-[PrintUIDelegate waitForPagination]): (TEST):
Canonical link: https://commits.webkit.org/248540@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291412 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:30 PM Changeset in webkit [295317] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick 753398de3962. rdar://problem/92081823
Use more smart pointers in Element.cpp
https://bugs.webkit.org/show_bug.cgi?id=239836
Patch by Alex Christensen <achristensen@webkit.org> on 2022-04-28
Reviewed by Chris Dumez.
- dom/Element.cpp: (WebCore::Element::setScrollLeft): (WebCore::Element::setScrollTop):
Canonical link: https://commits.webkit.org/250083@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293569 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:30 PM Changeset in webkit [295316] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick 694fbb13c1b6. rdar://problem/92081556
afterprint event should be scheduled on event loop
https://bugs.webkit.org/show_bug.cgi?id=239883
Patch by Alex Christensen <achristensen@webkit.org> on 2022-04-28
Reviewed by Chris Dumez.
- page/Page.cpp: (WebCore::dispatchPrintEvent): (WebCore::Page::dispatchBeforePrintEvent): (WebCore::Page::dispatchAfterPrintEvent):
Canonical link: https://commits.webkit.org/250112@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293606 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:30 PM Changeset in webkit [295315] by
-
- 9 edits2 adds in branches/safari-613-branch
Cherry-pick 2c80da108c11. rdar://problem/84667910
[iOS] Keyboard obscures file upload context menu when trying to attach a file in gmail.com
https://bugs.webkit.org/show_bug.cgi?id=241320
rdar://84667910
Reviewed by Tim Horton.
When composing a message on gmail.com, if a user taps the "Attach file" button in the bottom
toolbar, Gmail's script programmatically clicks a hidden file input and then immediately focuses the
editable body field. The context menu presents at the interaction location near the bottom of the
viewport; however, if no hardware keyboard is attached, the software keyboard appears right
afterwards, obscuring the context menu completely.
To address this, teach
WKFileUploadPanelto reposition its context menu when the keyboard is
shown, if it might overlap with the bounds of the input view.
- LayoutTests/fast/forms/ios/show-file-upload-context-menu-above-keyboard-expected.txt: Added.
- LayoutTests/fast/forms/ios/show-file-upload-context-menu-above-keyboard.html: Added.
Add a layout test to verify that focusing a text field with the software keyboard while presenting a
file picker doesn't result in the file picker's context menu being obscured behind the keyboard.
- LayoutTests/resources/ui-helper.js: (window.UIHelper.dismissMenu): (window.UIHelper.contextMenuRect):
Add a couple of new UIHelper methods.
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView _keyboardDidShow]):
If the keyboard appears while the file upload panel is active, reposition the context menu if it
overlaps with the new keyboard bounds.
(-[WKContentView _zoomToFocusRectAfterShowingKeyboardIfNeeded]):
Factor this existing logic out into a helper method.
- Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.h:
- Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.mm: (-[WKFileUploadPanel contextMenuInteraction:willEndForConfiguration:animator:]):
If the
_isRepositioningContextMenuflag is set, avoid removing and destroying the context menu
interaction.
(-[WKFileUploadPanel ensureContextMenuInteraction]):
Drive-by fix: adjust
-ensureContextMenuInteractionso that it returns the either the existing or
newly created context menu interaction.
(-[WKFileUploadPanel repositionContextMenuIfNeeded]):
Add a helper method to reposition the context menu by removing and re-presenting the context menu
interaction without animation, only if it overlaps the input view bounds. While removing and
presenting the context menu again, set a_isRepositioningContextMenuflag, such that
(-[WKFileUploadPanel showDocumentPickerMenu]):
- Tools/TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
- Tools/TestRunnerShared/UIScriptContext/UIScriptController.h: (WTR::UIScriptController::contextMenuRect const):
- Tools/WebKitTestRunner/cocoa/TestRunnerWKWebView.mm: (-[TestRunnerWKWebView _dismissAllContextMenuInteractions]):
Adjust this helper to immediately cancel all context menu interactions without animation, so that
context menu removal delegate methods don't bleed into subsequent tests.
- Tools/WebKitTestRunner/ios/UIScriptControllerIOS.h:
- Tools/WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptControllerIOS::menuRect const):
Use the new
toObjecthelper method.
(WTR::UIScriptControllerIOS::contextMenuRect const):
Add support for a new script controller method to return the context menu container view's bounds
in window coordinates. Note that I'm using window coordinates here as opposed to root view
coordinates, since the new test that uses this method needs to compare the context menu's position
against the input view bounds in window coordinates.
(WTR::UIScriptControllerIOS::toObject const):
Add a helper method to convert the given
CGRectinto a JavaScript object reference.
Canonical link: https://commits.webkit.org/251344@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@295299 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:30 PM Changeset in webkit [295314] by
-
- 3 edits2 adds in branches/safari-613-branch
Cherry-pick 0fe83157c4d9. rdar://problem/94467906
CSP: Fix mixing strict-dynamic and unsafe-inline policies
https://bugs.webkit.org/show_bug.cgi?id=239862
Reviewed by Kate Cheney.
Source/WebCore:
Test: http/tests/security/contentSecurityPolicy/script-src-strict-dynamic-and-unsafe-inline-policies.html
- page/csp/ContentSecurityPolicyDirectiveList.cpp: (WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForNonParserInsertedScripts const):
LayoutTests:
If you had multiple policies, one including strict-dynamic and another with unsafe-inline, the unsafe-inline
policy was incorrectly handled.
- http/tests/security/contentSecurityPolicy/script-src-strict-dynamic-and-unsafe-inline-policies-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/script-src-strict-dynamic-and-unsafe-inline-policies.html: Added.
Canonical link: https://commits.webkit.org/250109@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293603 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:32 PM Changeset in webkit [295313] by
-
- 1 edit in branches/safari-7614.1.16-branch/Source/WebCore/accessibility/AXObjectCache.h
Cherry-pick r295165.
Unreviewed !ENABLE(ACCESSIBILITY) build fix for r295139.
- Source/WebCore/accessibility/AXObjectCache.h: (WebCore::AXObjectCache::relatedObjectIDsFor): (WebCore::AXObjectCache::relatedObjectsFor): Deleted.
Canonical link: https://commits.webkit.org/251249@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@295165 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:27 PM Changeset in webkit [295312] by
-
- 1 copy in branches/safari-7614.1.16-branch
New branch.
- 6:19 PM Changeset in webkit [295311] by
-
- 1 copy in tags/WebKit-7614.1.15.2
Tag WebKit-7614.1.15.2.
- 5:58 PM Changeset in webkit [295310] by
-
- 1 edit in trunk/Tools/WebKitTestRunner/CMakeLists.txt
[CMake] Cleanup use of frameworks in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=241349
Reviewed by Fujii Hironori.
Remove includes that are implicit from using a framework.
- Tools/WebKitTestRunner/CMakeLists.txt:
Canonical link: https://commits.webkit.org/251348@main
- 5:35 PM Changeset in webkit [295309] by
-
- 11 edits in branches/safari-613-branch
Cherry-pick b8c770451902. rdar://problem/84570717
[Modern Media Controls] macCatalyst should not use touch events
https://bugs.webkit.org/show_bug.cgi?id=240704
<rdar://problem/84570717>
Reviewed by Eric Carlson.
- Source/WebCore/Modules/modern-media-controls/controls/layout-traits.js: (LayoutTraits.prototype.supportsTouches): Added.
- Source/WebCore/Modules/modern-media-controls/controls/macos-layout-traits.js:
(MacOSLayoutTraits.prototype.supportsTouches): Added.
Allow
LayoutTraitsto indicate whether touches are supported.
- Source/WebCore/Modules/modern-media-controls/controls/auto-hide-controller.js: (AutoHideController):
- Source/WebCore/Modules/modern-media-controls/controls/button.js: (Button):
- Source/WebCore/Modules/modern-media-controls/controls/range-button.js: (RangeButton):
- Source/WebCore/Modules/modern-media-controls/controls/slider.js: (Slider.prototype._interactionEndTarget):
- Source/WebCore/Modules/modern-media-controls/media/media-document-controller.js:
(MediaDocumentController):
Use
LayoutTraits.prototype.supportsTouchesinstead ofGestureRecognizer.SupportsTouchesso that macOS (including macCatalyst) can always act as though touches are not supported (which is fine since mouse events are fully functional on macOS).
- LayoutTests/media/modern-media-controls/button/button-icon-name.html:
- LayoutTests/media/modern-media-controls/button/button.html:
- LayoutTests/media/modern-media-controls/buttons-container/buttons-container-buttons-property.html:
- LayoutTests/media/modern-media-controls/buttons-container/buttons-container-constructor.html:
- LayoutTests/media/modern-media-controls/buttons-container/buttons-container-layout.html:
Add
layoutDelegate/layoutTraitswhere needed.
Canonical link: https://commits.webkit.org/250814@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294573 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:35 PM Changeset in webkit [295308] by
-
- 6 edits2 adds in branches/safari-613-branch
Cherry-pick 348b1a10ee87. rdar://problem/92449950
[CSS Cascade Layers] Endless recursion with revert-layer in other tree context
https://bugs.webkit.org/show_bug.cgi?id=239967
<rdar://92449950>
Reviewed by Alan Bujtas.
Source/WebCore:
We should only revert within a tree context (scope).
Adding more comprehensive WPTs separately.
Test: fast/css/revert-layer-tree-context-stack-overflow.html
- style/PropertyCascade.cpp: (WebCore::Style::PropertyCascade::PropertyCascade):
Pass the property tree scope to the rollback cascade.
(WebCore::Style::PropertyCascade::addMatch):
Don't include properties from lower priority tree scopes to rollback cascade.
Reverse the logic for clarity.
- style/PropertyCascade.h: (WebCore::Style::PropertyCascade::PropertyCascade):
- style/StyleBuilder.cpp: (WebCore::Style::Builder::ensureRollbackCascadeForRevert): (WebCore::Style::Builder::ensureRollbackCascadeForRevertLayer): (WebCore::Style::Builder::makeRollbackCascadeKey):
Include tree scope to the key.
- style/StyleBuilder.h:
LayoutTests:
- fast/css/revert-layer-tree-context-stack-overflow-expected.html: Added.
- fast/css/revert-layer-tree-context-stack-overflow.html: Added.
Canonical link: https://commits.webkit.org/250213@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293725 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:35 PM Changeset in webkit [295307] by
-
- 5 edits2 adds in branches/safari-613-branch
Cherry-pick 077f4d227924. rdar://problem/94034984
AX: inert attribute doesn't cause display:contents element to be ignored
https://bugs.webkit.org/show_bug.cgi?id=241022
Reviewed by Chris Fleizach.
Prior to this patch, the inert attribute didn't cause node-only objects
(like those with display:contents) to be ignored. This was because
AccessibilityObject::defaultObjectInclusion only checkedeffectiveInert
for elements with renderers, even though you only need an element to
have style (not a renderer).
This patch fixes this by adding a new AccessibilityObject::style()
method which uses AccessibilityObject::element() to get
Element::computedStyle() and checking effectiveInert on that, which
works for both renderer and renderer-less objects.
- LayoutTests/accessibility/node-only-inert-object-expected.txt: Added.
- LayoutTests/accessibility/node-only-inert-object.html: Added.
- LayoutTests/platform/ios/TestExpectations: Enable new test.
- LayoutTests/platform/mac-wk1/TestExpectations: Skip new test.
- Source/WebCore/accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::style const): Added. (WebCore::AccessibilityObject::defaultObjectInclusion const):
- Source/WebCore/accessibility/AccessibilityObject.h:
Canonical link: https://commits.webkit.org/251185@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@295090 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:35 PM Changeset in webkit [295306] by
-
- 9 edits in branches/safari-613-branch/Source
Versioning.
WebKit-7613.3.4
- 5:15 PM Changeset in webkit [295305] by
-
- 1 edit in trunk/Source/WebCore/platform/ios/UserAgentIOS.mm
Make Mobile Safari desktop mode report the same macOS version in the user agent as Safari on Mac
https://bugs.webkit.org/show_bug.cgi?id=241322
Patch by nitinseshadri <61258126+nitinseshadri@users.noreply.github.com> on 2022-06-06
Reviewed by Alexey Proskuryakov.
- Source/WebCore/platform/ios/UserAgentIOS.mm:
(WebCore::standardUserAgentWithApplicationName):
Change reported macOS version in user agent to 10.15.7.
Canonical link: https://commits.webkit.org/251347@main
- 4:47 PM Changeset in webkit [295304] by
-
- 1 edit in trunk/Source/WebKit/Configurations/BaseXPCService.xcconfig
Framework Mismatch Crash when loading any page if CaptivePortal mode enabled
rdar://89925654
Reviewed by Tim Horton.
Code signing flags were improperly set for the CaptivePortal process. This patch instructs the build
system to treat CaptivePortal code signing the same as Normal WebContent process builds.
- Source/WebKit/Configurations/BaseXPCService.xcconfig:
Canonical link: https://commits.webkit.org/251346@main
- 4:23 PM Changeset in webkit [295303] by
-
- 12 edits in branches/safari-7614.1.15-branch/Source
Cherry-pick r295134. rdar://problem/93068926
Fix build failures introduced in "[Xcode] Prevent STP and other self-contained builds from overwriting content in the macOS SDK"
https://bugs.webkit.org/show_bug.cgi?id=240408
Reviewed by Alexey Proskuryakov.
Revert "Revert "[Xcode] Prevent STP and other self-contained builds from overwriting content in the macOS SDK""
This reverts commit 680fe6580f261df69a607a33b6252f3e19704169.
Apply small fixups across xcconfig files to address regressions:
- Fix SYSTEM_HEADER_SEARCH_PATHS not referring to Catlyst's include directory.
- Replace /usr/local/include literal in PROFILE_DATA_PATH with WK_ALTERNATE_WEBKIT_SDK_PATH and WK_LIBRARY_HEADERS_FOLDER_PATH to select the correct profdata for Catalyst or self-contained builds.
- Source/JavaScriptCore/Configurations/Base.xcconfig: Clean up an old WK_STATICLIB_INSTALL_PREFIX, replacing it with WK_LIBRARY_HEADERS_FOLDER_PATH.
- Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig:
- Source/WebCore/Configurations/WebCore.xcconfig:
- Source/WebCore/PAL/Configurations/PAL.xcconfig:
- Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj: PAL's SDKVariant.xcconfig was not included in the project for some reason. This is fine for building (as it's still includable) but prevents Xcode from indexing it. Add it.
- Source/WebGPU/Configurations/WGSL.xcconfig:
- Source/WebGPU/Configurations/WebGPU.xcconfig:
- Source/WebKit/Configurations/BaseTarget.xcconfig:
- Source/WebKit/Configurations/SandboxProfiles.xcconfig: Clean up an old WK_STATICLIB_INSTALL_PREFIX setting. We don't need to redirect sandbox profiles to a separate directory, like we do headers and static libraries, so leave these paths hard coded to /usr/local/include.
- Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig:
Canonical link: https://commits.webkit.org/251225@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@295134 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:23 PM Changeset in webkit [295302] by
-
- 45 edits in branches/safari-7614.1.15-branch/Source
Cherry-pick r295073. rdar://problem/93068926
[Xcode] Prevent STP and other self-contained builds from overwriting content in the macOS SDK
https://bugs.webkit.org/show_bug.cgi?id=240408
Reviewed by Alexey Proskuryakov.
When building with WK_OVERRIDE_FRAMEWORKS_DIR, we assume that WebKit is
being built as part of a self-contained application, e.g. Safari
Technology Preview. This means that most content is installed to the
override directory, instead of the normal /System/Library/Frameworks
directory.
However, static library content (e.g. headers and archives
for bmalloc, webrtc, WTF) is _not_ installed to the override directory,
as it is not needed at runtime. It was being installed to the default
/usr/local prefix, where it would merge with and overwrite whatever
WebKit content was already present.
To prevent overwrites and other sorts of conflict with the
system-provided WebKit, introduce WK_LIBRARY_HEADERS_FOLDER_PATH and
WK_LIBRARY_INSTALL_PATH, which expand to /usr/local/include/safari-sdk
and /usr/local/lib/safari-sdk respectively when building in this mode.
Static library headers and archives are built to these locations, where
they're still in the expected SDK location, but won't clobber system
WebKit.
- Source/bmalloc/Configurations/Base.xcconfig:
- Source/bmalloc/Configurations/bmalloc.xcconfig:
- Source/bmalloc/Configurations/mbmalloc.xcconfig:
- Source/JavaScriptCore/Configurations/Base.xcconfig:
- Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig:
- Source/JavaScriptCore/DerivedSources.make:
- Source/JavaScriptCore/Scripts/generate-unified-sources.sh:
- Source/JavaScriptCore/offlineasm/config.rb:
- Source/JavaScriptCore/offlineasm/parser.rb:
- Source/ThirdParty/ANGLE/Configurations/ANGLE-dynamic.xcconfig:
- Source/ThirdParty/ANGLE/Configurations/AngleMetalLib.xcconfig:
- Source/ThirdParty/ANGLE/Configurations/Base.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/boringssl.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/libabsl.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/libsrtp.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/libvpx.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/libwebm.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/libyuv.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/opus.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/usrsctp.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/yasm.xcconfig:
- Source/WebCore/PAL/Configurations/Base.xcconfig:
- Source/WebCore/PAL/Configurations/PAL.xcconfig:
- Source/WebGPU/Configurations/Base.xcconfig:
- Source/WebGPU/Configurations/WGSL.xcconfig:
- Source/WebGPU/Configurations/WGSLUnitTests.xcconfig:
- Source/WebGPU/Configurations/WebGPU.xcconfig:
- Source/WebKit/Configurations/Base.xcconfig:
- Source/WebKit/Configurations/BaseTarget.xcconfig:
- Source/WebKit/Configurations/SandboxProfiles.xcconfig:
- Source/WebKit/WebKit.xcodeproj/project.pbxproj:
- Source/WebKitLegacy/scripts/generate-unified-sources.sh:
- Source/WebKitLegacy/mac/Configurations/Base.xcconfig:
- Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig:
- Source/WTF/Configurations/Base.xcconfig:
- Source/WTF/Configurations/WTF.xcconfig:
- Source/WTF/Configurations/icu.xcconfig:
- Source/WebCore/Configurations/Base.xcconfig:
- Source/WebCore/Configurations/WebCore.xcconfig:
- Source/WebCore/Configurations/WebCoreTestSupport.xcconfig:
- Source/WebCore/DerivedSources.make:
- Source/WebCore/Scripts/generate-unified-sources.sh:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/251168@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@295073 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:23 PM Changeset in webkit [295301] by
-
- 6 edits1 add in branches/safari-7614.1.15-branch/Source
Cherry-pick r295065. rdar://problem/93068926
Refer to correct profiling data in WebCore and WebKit
https://bugs.webkit.org/show_bug.cgi?id=239681
Reviewed by Alexey Proskuryakov.
Revert "Unreviewed, revert "[Xcode] Compute PGO profdata paths instead of searching for them at build time""
This reverts commit 2ee0d9d171e2ff7daa94d1a15727033a994e6414.
A bad copy-paste led to WebCore and WebKit's production builds using PGO
data from JavaScriptCore. Fix it, and add back a check that ensures
production builds fail instead of falling back to stub profiling data.
- Source/WebCore/Configurations/WebCore.xcconfig:
- Source/WebKit/Configurations/BaseTarget.xcconfig:
Canonical link: https://commits.webkit.org/251160@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@295065 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:12 PM Changeset in webkit [295300] by
-
- 1 edit in trunk/LayoutTests/platform/ios/TestExpectations
[iOS] Skip tests that cause crashes due to unfired UI script callbacks
https://bugs.webkit.org/show_bug.cgi?id=241350
Unreviewed test gardening.
These tests were identified in webkit.org/b/236794. Skip them to reduce flakes and
false positives on iOS test bots. Remove flaky expectations for tests that were caught
in the fallout from these bad tests.
- LayoutTests/platform/ios/TestExpectations:
Canonical link: https://commits.webkit.org/251345@main
- 3:08 PM Changeset in webkit [295299] by
-
- 9 edits2 adds in trunk
[iOS] Keyboard obscures file upload context menu when trying to attach a file in gmail.com
https://bugs.webkit.org/show_bug.cgi?id=241320
rdar://84667910
Reviewed by Tim Horton.
When composing a message on gmail.com, if a user taps the "Attach file" button in the bottom
toolbar, Gmail's script programmatically clicks a hidden file input and then immediately focuses the
editable body field. The context menu presents at the interaction location near the bottom of the
viewport; however, if no hardware keyboard is attached, the software keyboard appears right
afterwards, obscuring the context menu completely.
To address this, teach
WKFileUploadPanelto reposition its context menu when the keyboard is
shown, if it might overlap with the bounds of the input view.
- LayoutTests/fast/forms/ios/show-file-upload-context-menu-above-keyboard-expected.txt: Added.
- LayoutTests/fast/forms/ios/show-file-upload-context-menu-above-keyboard.html: Added.
Add a layout test to verify that focusing a text field with the software keyboard while presenting a
file picker doesn't result in the file picker's context menu being obscured behind the keyboard.
- LayoutTests/resources/ui-helper.js:
(window.UIHelper.dismissMenu):
(window.UIHelper.contextMenuRect):
Add a couple of new UIHelper methods.
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _keyboardDidShow]):
If the keyboard appears while the file upload panel is active, reposition the context menu if it
overlaps with the new keyboard bounds.
(-[WKContentView _zoomToFocusRectAfterShowingKeyboardIfNeeded]):
Factor this existing logic out into a helper method.
- Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.h:
- Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.mm:
(-[WKFileUploadPanel contextMenuInteraction:willEndForConfiguration:animator:]):
If the
_isRepositioningContextMenuflag is set, avoid removing and destroying the context menu
interaction.
(-[WKFileUploadPanel ensureContextMenuInteraction]):
Drive-by fix: adjust
-ensureContextMenuInteractionso that it returns the either the existing or
newly created context menu interaction.
(-[WKFileUploadPanel repositionContextMenuIfNeeded]):
Add a helper method to reposition the context menu by removing and re-presenting the context menu
interaction without animation, only if it overlaps the input view bounds. While removing and
presenting the context menu again, set a_isRepositioningContextMenuflag, such that
(-[WKFileUploadPanel showDocumentPickerMenu]):
- Tools/TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
- Tools/TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::contextMenuRect const):
- Tools/WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView _dismissAllContextMenuInteractions]):
Adjust this helper to immediately cancel all context menu interactions without animation, so that
context menu removal delegate methods don't bleed into subsequent tests.
- Tools/WebKitTestRunner/ios/UIScriptControllerIOS.h:
- Tools/WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::menuRect const):
Use the new
toObjecthelper method.
(WTR::UIScriptControllerIOS::contextMenuRect const):
Add support for a new script controller method to return the context menu container view's bounds
in window coordinates. Note that I'm using window coordinates here as opposed to root view
coordinates, since the new test that uses this method needs to compare the context menu's position
against the input view bounds in window coordinates.
(WTR::UIScriptControllerIOS::toObject const):
Add a helper method to convert the given
CGRectinto a JavaScript object reference.
Canonical link: https://commits.webkit.org/251344@main
- 3:04 PM Changeset in webkit [295298] by
-
- 1 edit in trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/AppPrivacyReport.mm
REGRESSION: [ iOS ] Six TestWebKitAPI.AppPrivacyReport API tests are a consistent timeout
https://bugs.webkit.org/show_bug.cgi?id=241233
<rdar://94298162>
Reviewed by Kate Cheney.
Two tests requiring a fix were missed in 251292@main.
- Tools/TestWebKitAPI/Tests/WebKitCocoa/AppPrivacyReport.mm:
Canonical link: https://commits.webkit.org/251343@main
- 2:46 PM Changeset in webkit [295297] by
-
- 2 edits2 copies in trunk/LayoutTests/compositing
REGRESSION (r295269): compositing/hidpi-compositing-layer-with-zero-sized-container.html times out
https://bugs.webkit.org/show_bug.cgi?id=241346
Reviewed by Alan Bujtas.
- LayoutTests/compositing/hidpi-compositing-layer-with-zero-sized-container-expected.html:
- LayoutTests/compositing/hidpi-compositing-layer-with-zero-sized-container.html:
- LayoutTests/compositing/hidpi-compositing-layer-with-zero-sized-container-offsets-above-one-expected.html:
- LayoutTests/compositing/hidpi-compositing-layer-with-zero-sized-container-offsets-above-one.html:
This test was slow before, but r295269 made it even slower due to WKTR's force repaint
now causing the compositing layers to repaint as well (a progression).
Reduce the number of layers per test from 1600 to 400, and split the test
in half; one test for offsets below 1, one for offsets between 1 and 2;
Alan says that rounding behavior is different between these two cases.
Canonical link: https://commits.webkit.org/251342@main
- 2:35 PM Changeset in webkit [295296] by
-
- 2 edits in trunk/Tools/Scripts/hooks
Invoke perl in git hooks
https://bugs.webkit.org/show_bug.cgi?id=241345
Reviewed by Jonathan Bedard.
A windows command prompt doesn't understand shebangs and needs the interpreter to be specified in
order to run successfully.
- Tools/Scripts/hooks/pre-commit:
- Tools/Scripts/hooks/prepare-commit-msg:
Canonical link: https://commits.webkit.org/251341@main
- 1:41 PM Changeset in webkit [295295] by
-
- 9 edits in branches/safari-7614.1.15-branch/Source
Versioning.
WebKit-7614.1.15.2
- 1:24 PM Changeset in webkit [295294] by
-
- 10 edits in trunk
[CMake] Use playstation_module for shared libs
https://bugs.webkit.org/show_bug.cgi?id=241049
Reviewed by Ross Kirsling.
The playstation_module function determines how to properly load a shared library. It figures out
if a shared library is being used and if so will create a target to copy it to the directory it
will load from. Additionally it exposes a${target}_LOAD_ATvariable that can be used with
dlopen.
- Source/JavaScriptCore/shell/playstation/Initializer.cpp:
- Source/WTF/wtf/PlatformPlayStation.cmake:
- Source/WebCore/PlatformPlayStation.cmake:
- Source/WebKit/NetworkProcess/EntryPoint/playstation/NetworkProcessMain.cpp:
- Source/WebKit/WebProcess/EntryPoint/playstation/WebProcessMain.cpp:
- Source/cmake/OptionsPlayStation.cmake:
- Tools/MiniBrowser/playstation/CMakeLists.txt:
- Tools/MiniBrowser/playstation/main.cpp:
- Tools/TestWebKitAPI/PlatformPlayStation.cmake:
- Tools/TestWebKitAPI/playstation/main.cpp:
Canonical link: https://commits.webkit.org/251340@main
- 1:13 PM Changeset in webkit [295293] by
-
- 2 edits in trunk/Tools/Scripts/hooks
Use raw string for LOCATION in git hooks
https://bugs.webkit.org/show_bug.cgi?id=241343
Reviewed by Jonathan Bedard.
- Tools/Scripts/hooks/pre-commit:
- Tools/Scripts/hooks/prepare-commit-msg:
Canonical link: https://commits.webkit.org/251339@main
- 12:22 PM Changeset in webkit [295292] by
-
- 9 edits in trunk/Source
Versioning.
WebKit-7614.1.17
- 10:50 AM Changeset in webkit [295291] by
-
- 3 edits in trunk/Source/WebCore
InteractionRegionOverlay should use RenderLayer-cached regions instead of computing them itself
https://bugs.webkit.org/show_bug.cgi?id=241338
Reviewed by Simon Fraser.
- Source/WebCore/page/DebugPageOverlays.cpp:
(WebCore::RegionOverlay::shouldPaintOverlayIntoLayer):
(WebCore::InteractionRegionOverlay::updateRegion):
Stop computing InteractionRegions ourselves.
(WebCore::InteractionRegionOverlay::activeLayer):
Determine the layer from which to retrieve InteractionRegions. For now, we just
use the root layer, because that's where we stash all regions. Later, we'll
do a hit-test here to find the region under the mouse.
(WebCore::InteractionRegionOverlay::activeRegion):
Look up InteractionRegions cached on the aforementioned active layer, instead of
computing them ourselves.
(WebCore::InteractionRegionOverlay::drawRect):
Stop painting region-indicating borders into the overlay (see RenderLayerBacking changes).
(WebCore::InteractionRegionOverlay::mouseEvent):
Correctly map into layer coordinates. For now this is a no-op because we're using
the root layer, but it will be important in a future patch where we use regions
on a per-layer basis.
(WebCore::DebugPageOverlays::shouldPaintOverlayIntoLayer):
- Source/WebCore/page/DebugPageOverlays.h:
(WebCore::DebugPageOverlays::shouldPaintOverlayIntoLayerForRegionType):
- Source/WebCore/rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintDebugOverlays):
(WebCore::RenderLayerBacking::paintContents):
Paint region-indicating borders into the layer, instead of into the page overlay.
This will make them correctly scroll along with the content, and layer correctly.
Canonical link: https://commits.webkit.org/251337@main
- 10:36 AM Changeset in webkit [295290] by
-
- 15 edits1 copy in trunk
REGRESSION (r291302): editing/secure-input tests fail when run while a password input is focused on the system
https://bugs.webkit.org/show_bug.cgi?id=241324
rdar://94184618
Reviewed by Alexey Proskuryakov.
The tests in
editing/secure-inputfail after the removal ofWebCoreTestShimin r291302, if a
secure text field is focused anywhere on the system while the tests are running. This is because we
now call into the real systemIsSecureEventInputEnabled()API during these tests, instead of the
shimmed version for testing.
Since interposing these API functions apparently doesn't work on M1 Macs, we can't use this
technique to ensure that these tests are robust moving forward; instead, introduce and use testing-
only SPI (and IPI) to consult whether or not we're currently editing a secure input.
See below for more details.
- Source/WebKit/UIProcess/API/mac/WKWebViewPrivateForTestingMac.h:
- Source/WebKit/UIProcess/API/mac/WKWebViewTestingMac.mm:
(-[WKWebView _secureEventInputEnabledForTesting]):
Add testing-only SPI on WKWebView to return whether or not we're in a secure input, as an
alternative to calling into the actualIsSecureEventInputEnabled()API.
- Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj:
- Source/WebKitLegacy/mac/WebView/WebHTMLView.mm:
(-[WebHTMLView _secureEventInputEnabledForTesting]):
- Source/WebKitLegacy/mac/WebView/WebHTMLViewForTestingMac.h: Copied from Source/WebKit/UIProcess/API/mac/WKWebViewPrivateForTestingMac.h.
Add a testing-only header file that's internal (i.e. non-exported), but imported in DumpRenderTree
through a Source-relative header include path. At the moment, this only contains a method to check
whether or not we're currently editing a secure text input, as an alternative to calling into
IsSecureEventInputEnabled().
- Tools/DumpRenderTree/TestRunner.cpp:
(getSecureEventInputIsEnabledCallback):
(TestRunner::isSecureEventInputEnabled const):
Adjust DumpRenderTree to consult
-[WebHTMLView _secureEventInputEnabledForTesting].
- Tools/DumpRenderTree/TestRunner.h:
- Tools/DumpRenderTree/mac/Configurations/Base.xcconfig:
Add a relative include path on DumpRenderTree, so that we can use
WebHTMLViewForTestingMac.hin
DumpRenderTree without having to introduce new WebKitLegacy SPI.
- Tools/DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::isSecureEventInputEnabled const):
- Tools/WebKitTestRunner/PlatformWebView.h:
(WTR::PlatformWebView::platformView const):
(WTR::PlatformWebView::platformWindow const):
(WTR::PlatformWebView::platformView): Deleted.
(WTR::PlatformWebView::platformWindow): Deleted.
Mark
platformViewconst so that it can be invoked fromisSecureEventInputEnabled, and also mark
platformWindowconst for consistency.
- Tools/WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
- Tools/WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
(WTR::PlatformWebView::isSecureEventInputEnabled const):
- Tools/WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::isSecureEventInputEnabled const):
- Tools/WebKitTestRunner/libwpe/PlatformWebViewLibWPE.cpp:
(WTR::PlatformWebView::isSecureEventInputEnabled const):
- Tools/WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::isSecureEventInputEnabled const):
Add a new
isSecureEventInputEnabledmethod on thePlatformWebView, and adjust WebKitTestRunner
to consult-[WKWebView _secureEventInputEnabledForTesting].
- Tools/WebKitTestRunner/win/PlatformWebViewWin.cpp:
(WTR::PlatformWebView::isSecureEventInputEnabled const):
Canonical link: https://commits.webkit.org/251336@main
- 8:57 AM Changeset in webkit [295289] by
-
- 1 edit2 adds in trunk
[iOS 15] Unable to type in Google Docs with a hardware keyboard without refocusing editor
https://bugs.webkit.org/show_bug.cgi?id=241308
rdar://90755619
Reviewed by Tim Horton.
After the changes in r277265, we no longer call into
-reloadInputViewswhen starting an input
session after programmatically focusing an editable container withinputmode="none", with a
hardware keyboard attached. This is because-_shouldShowKeyboardForElement:returnsNO(due to
inputmode none), so we bail early at this check:
`
if (!shouldShowInputView information.elementType == WebKit::InputType::None) { _page->setIsShowingInputViewForFocusedElement(false);
return;
}
`
As a result, UIKit never resets UIKeyboardImpl's input delegate, which should now be the
WKContentView, and thus never consults whether we require key events (-requiresKeyEvents), which
in turn means that-handleKeyWebEvent:withCompletionHandler:is never invoked on the content view,
so we never dispatch key events to the page.
In the normal, non-editable key event case, we lazily call
-reloadInputViewsin
-_handleKeyUIEvent:(which is called just before keyboard WebEvents start getting dispatched by
UIKit). However, since we're still focusing an editable element in this case, we don't end up going
down this codepath.
When the hardware keyboard is not connected, avoiding the call to
-reloadInputViewsis expected,
since we aren't showing a keyboard anyways due to the fact that the element was programmatically
focused (so the user has no way of typing or dispatching key events, in the first place).
And finally, when the
inputmodeis not none,_isFocusingElementWithKeyboardis set toYES, so
we begin the input session and call-reloadInputViewsas normal.
It's only in this
inputmode=nonecase with both the hardware keyboard attached and the editable
container being programmatically focused, where we end up in a state where the user can type with a
hardware keyboard, but we haven't informed UIKit that we should receive key events.
We can fix this by consulting a separate
-_shouldShowKeyboardForElementIgnoringInputMode:instead
which allows us to follow the normal routine for focusing an editable element withinputmode="none"
which includes zooming to reveal the focused element if it's on-screen and not hidden, as well as
calling the related delegate methods; the only difference is that we avoid showing the UCB or
software keyboard, by returningYESfrom-_disableAutomaticKeyboardUIin this case.
- LayoutTests/fast/forms/ios/keydown-in-hidden-contenteditable-with-inputmode-none-expected.txt: Added.
- LayoutTests/fast/forms/ios/keydown-in-hidden-contenteditable-with-inputmode-none.html: Added.
Add a new layout test to simulate typing in Google Docs with a hardware keyboard (i.e., focus a
hidden contenteditable container withinputmode="none"), and verify that we dispatch key events to
the focused editable element.
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _elementTypeRequiresAccessoryView:]):
(-[WKContentView _shouldShowKeyboardForElement:]):
(-[WKContentView _shouldShowKeyboardForElementIgnoringInputMode:]):
Split this helper method into two versions (one of which ignores
inputmode=none). See above for
more details.
(-[WKContentView _elementDidFocus:userIsInteracting:blurPreviousNode:activityStateChanges:userObject:]):
Canonical link: https://commits.webkit.org/251335@main
- 8:53 AM Changeset in webkit [295288] by
-
- 6 edits in trunk/Tools/Scripts
git webkit setuphard codes the path to Xcode in .git/hooks/pre-commit
https://bugs.webkit.org/show_bug.cgi?id=241284
<rdar://problem/94435371>
Reviewed by Tim Horton.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/hooks/prepare-commit-msg:
- Tools/Scripts/hooks/pre-commit: Use
gitinstead of git path. - Tools/Scripts/hooks/prepare-commit-msg: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py:
(Setup.git): Remove
gitexecutable path.
Canonical link: https://commits.webkit.org/251334@main
- 8:22 AM Changeset in webkit [295287] by
-
- 3 edits in trunk/Source
Eagerly soft link Data Detection frameworks
https://bugs.webkit.org/show_bug.cgi?id=241267
Reviewed by Geoffrey Garen.
Eagerly soft link Data Detection frameworks in the WebContent process. There are two motivations behind this change.
First, soft linking frameworks may lead to communication with launchd. Doing the soft linking before the WebContent
process has finished launching, will help our effort in blocking launchd post launch. Second, the data detection
frameworks are normally used in every WebContent process, and eagerly soft linking them should be a performance
improvement. Ideally, these frameworks should be hard linked or weak linked. However, that would most likely create
cycles in the build dependencies.
- Source/WebCore/PAL/pal/cocoa/DataDetectorsCoreSoftLink.h:
- Source/WebCore/PAL/pal/cocoa/DataDetectorsCoreSoftLink.mm:
- Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::softlinkDataDetectorsFrameworks):
(WebKit::WebProcess::platformInitializeWebProcess):
Canonical link: https://commits.webkit.org/251333@main
- 7:34 AM Changeset in webkit [295286] by
-
- 6 edits in trunk
Revert of revert of [MSE][GStreamer] Honor MP4 edit lists, bis
https://bugs.webkit.org/show_bug.cgi?id=231019
Reviewed by Xabier Rodriguez-Calvar.
This patch reintroduces https://commits.webkit.org/243426@main with
some corrections that avoid the problems detected in
https://bugs.webkit.org/show_bug.cgi?id=233861, which motivated the
original patch revert.
Original author: Alicia Boya Garcia <aboya@igalia.com>
Source/WebCore:
This patch takes into consideration the GstSegment attached to a
sample to offset the PTS and DTS. This ensures accurate timestamps are
obtained for MP4 files containing edit lists (commonly necessary for
files containing video with B frames to have PTS starting at zero).
Before this was implemented, a workaround was in place based on a
heuristic (DTS = 0 && PTS > 0 && PTS < 0.1). The workaround is
preserved for the sake of content without proper edit lists, but
any edit list takes preference.
The time fudge factor has been modified from 0.083 seconds up to
0.100 seconds to accomodate the size of the empty edit in test.mp4
used by Web Platform Tests.
This test fixes improves expectation results and fixes two subtests in
imported/w3c/web-platform-tests/media-source/mediasource-remove.html.
This is a reworked version that avoids using gst_sample_set_buffer()
which is not available on GStreamer 1.14, and fixes an issue where
frames that would get a negative DTS were not being enqueued properly.
LayoutTests:
Update expectations for mediasource-remove.html in the GStreamer
ports, as a couple subtests get fixed.
- LayoutTests/platform/glib/imported/w3c/web-platform-tests/media-source/mediasource-remove-expected.txt:
- Source/WebCore/Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::currentTimeFudgeFactor):
- Source/WebCore/platform/graphics/SourceBufferPrivate.h:
(WebCore::SourceBufferPrivate::timeFudgeFactor const):
- Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h:
(WebCore::toGstClockTime):
- Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.cpp:
(WebCore::MediaSampleGStreamer::MediaSampleGStreamer):
- Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::bufferTimeToStreamTime):
(WebCore::AppendPipeline::appsinkNewSample):
(WebCore::matroskademuxForceSegmentStartToEqualZero): Now we reset segment.time in addition to segment.start. This avoids the regressions.
Canonical link: https://commits.webkit.org/251332@main
- 7:18 AM Changeset in webkit [295285] by
-
- 68 edits16 deletes in trunk
Unreviewed, reverting r295278.
https://bugs.webkit.org/show_bug.cgi?id=241336
Causes crashes
Reverted changeset:
"Add a new DrawDecomposedGlyphs display list item to avoid repeatedly sending glyphs when using the GlyphDisplayListCache"
https://bugs.webkit.org/show_bug.cgi?id=240497
https://commits.webkit.org/r295278
Canonical link: https://commits.webkit.org/251331@main
- 6:42 AM Changeset in webkit [295284] by
-
- 8 edits in trunk
RemoteGraphicsContextGL autogeneration broken after 249754@main, 251204@main, 251325@main
https://bugs.webkit.org/show_bug.cgi?id=241328
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-06-06
Unreviewed, build fix.
Verifieable by running Tools/Scripts/generate-gpup-webgl and
observing no change.
Make generate-gpup-webgl add NOLINT for getIntegeri_v() to skip
warning about underscores in methods.
- Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::RemoteGraphicsContextGL::paintRenderingResultsToPixelBuffer):
- Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h:
- Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.messages.in:
- Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLFunctionsGenerated.h:
(getInternalformativ):
(paintRenderingResultsToPixelBuffer): Deleted.
- Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:
- Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
- Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxyFunctionsGenerated.cpp:
(WebKit::RemoteGraphicsContextGLProxy::paintRenderingResultsToPixelBuffer): Deleted.
- Tools/Scripts/generate-gpup-webgl:
Canonical link: https://commits.webkit.org/251330@main
- 6:11 AM Changeset in webkit [295283] by
-
- 3 edits in trunk/Source/WebCore
Implement FlexFormattingContext::usedContentHeight
https://bugs.webkit.org/show_bug.cgi?id=241325
Reviewed by Antti Koivisto.
Update the RenderFlexibleBox's content height.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::usedContentHeight const):
- Source/WebCore/layout/integration/flex/LayoutIntegrationFlexLayout.cpp:
(WebCore::LayoutIntegration::FlexLayout::contentLogicalHeight const):
- Source/WebCore/rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutUsingFlexFormattingContext):
Canonical link: https://commits.webkit.org/251329@main
- 6:08 AM Changeset in webkit [295282] by
-
- 1 edit in trunk/Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp
Populate canUseForFlexLayout with unsupported styles and content
https://bugs.webkit.org/show_bug.cgi?id=241323
Reviewed by Tim Nguyen.
This is in preparation for being able to run WPT tests (filter out unsupported content).
- Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::canUseForFlexLayout):
Canonical link: https://commits.webkit.org/251328@main
- 5:10 AM Changeset in webkit [295281] by
-
- 2 edits3 moves57 adds in trunk/LayoutTests/imported/w3c
Re-import css/css-text/text-align/ WPT
https://bugs.webkit.org/show_bug.cgi?id=241305
Reviewed by Cameron McCormack.
Upstream revision: https://github.com/web-platform-tests/wpt/commit/a6101f13a28eb78dbef77e276ddee75052a8a2d4
- LayoutTests/imported/w3c/resources/resource-files.json:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-center-last-center-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-center-last-center.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-center-last-default-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-center-last-default.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-center-last-end-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-center-last-end.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-center-last-justify-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-center-last-justify.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-center-last-start-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-center-last-start.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-default-last-default-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-default-last-default.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-end-last-center-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-end-last-center.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-end-last-default-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-end-last-default.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-end-last-end-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-end-last-end.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-end-last-justify-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-end-last-justify.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-end-last-start-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-end-last-start.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justify-last-center-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justify-last-center.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justify-last-default-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justify-last-default.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justify-last-end-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justify-last-end.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justify-last-justify-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justify-last-justify.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justify-last-start-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justify-last-start.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-center-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-center-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-center.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-end-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-end-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-end.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-justify-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-justify-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-justify-rtl-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-justify-rtl-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-justify-rtl.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-justify.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-simple-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-expected.html.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-simple-ref.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-ref.html.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-simple.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last.html.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-start-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-start-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-start.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-start-last-center-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-start-last-center.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-start-last-default-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-start-last-default.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-start-last-end-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-start-last-end.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-start-last-justify-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-start-last-justify.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-start-last-start-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-start-last-start.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/w3c-import.log:
Canonical link: https://commits.webkit.org/251327@main
- 4:35 AM Changeset in webkit [295280] by
-
- 2 edits in trunk/Source/WebCore/platform/graphics
[Linux] Fix and improve format handling in DMABufFormat, TextureMapperPlatformLayerProxyDMABuf
https://bugs.webkit.org/show_bug.cgi?id=241326
Patch by Žan Doberšek <zdobersek@igalia.com> on 2022-06-06
Reviewed by Miguel Gomez.
In the DMABufFormat header, VYUY and AYUV format definitions are fixed to use
the correct FourCC values. In DMABufFormat::create(), a macro is used to map
FourCC values to corresponding DMABufFormat definitions.
In TextureMapperPlatformLayerProxyDMABuf, missing packed-YUV formats are
added to the switch statement, and properly ordered.
- Source/WebCore/platform/graphics/gbm/DMABufFormat.h:
(WebCore::DMABufFormat::create<DMABufFormat::FourCC::VYUY>):
(WebCore::DMABufFormat::create<DMABufFormat::FourCC::AYUV>):
(WebCore::DMABufFormat::create):
- Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxyDMABuf.cpp:
(WebCore::TextureMapperPlatformLayerProxyDMABuf::DMABufLayer::paintToTextureMapper):
Canonical link: https://commits.webkit.org/251326@main
- 1:43 AM Changeset in webkit [295279] by
-
- 22 edits3 adds in trunk
Add OES_draw_buffers_indexed WebGL extension support
https://bugs.webkit.org/show_bug.cgi?id=222430
Patch by Alexey Knyazev <3479527+lexaknyazev@users.noreply.github.com> on 2022-06-06
Reviewed by Kimmo Kinnunen.
- Added the entrypoints defined by the extension
- Added getIntegeri_v and getIntegeri context functions
- LayoutTests/TestExpectations:
- Source/WebCore/CMakeLists.txt:
- Source/WebCore/DerivedSources-input.xcfilelist:
- Source/WebCore/DerivedSources-output.xcfilelist:
- Source/WebCore/DerivedSources.make:
- Source/WebCore/Sources.txt:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebCore/bindings/js/JSDOMConvertWebGL.cpp:
(WebCore::convertToJSValue):
- Source/WebCore/html/canvas/OESDrawBuffersIndexed.cpp: Added.
(WebCore::OESDrawBuffersIndexed::OESDrawBuffersIndexed):
(WebCore::OESDrawBuffersIndexed::getName const):
(WebCore::OESDrawBuffersIndexed::supported):
(WebCore::OESDrawBuffersIndexed::enableiOES):
(WebCore::OESDrawBuffersIndexed::disableiOES):
(WebCore::OESDrawBuffersIndexed::blendEquationiOES):
(WebCore::OESDrawBuffersIndexed::blendEquationSeparateiOES):
(WebCore::OESDrawBuffersIndexed::blendFunciOES):
(WebCore::OESDrawBuffersIndexed::blendFuncSeparateiOES):
(WebCore::OESDrawBuffersIndexed::colorMaskiOES):
- Source/WebCore/html/canvas/OESDrawBuffersIndexed.h: Added.
- Source/WebCore/html/canvas/OESDrawBuffersIndexed.idl: Added.
- Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::getIndexedParameter):
(WebCore::WebGL2RenderingContext::getIndexedBooleanArrayParameter):
(WebCore::WebGL2RenderingContext::getExtension):
(WebCore::WebGL2RenderingContext::getSupportedExtensions):
- Source/WebCore/html/canvas/WebGL2RenderingContext.h:
- Source/WebCore/html/canvas/WebGLExtension.h:
- Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::extensionIsEnabled):
(WebCore::WebGLRenderingContextBase::loseExtensions):
- Source/WebCore/html/canvas/WebGLRenderingContextBase.h:
- Source/WebCore/platform/graphics/GraphicsContextGL.h:
(WebCore::GraphicsContextGL::getIntegeri):
- Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::getIntegeri_v):
(WebCore::GraphicsContextGLANGLE::enableiOES):
(WebCore::GraphicsContextGLANGLE::disableiOES):
(WebCore::GraphicsContextGLANGLE::blendEquationiOES):
(WebCore::GraphicsContextGLANGLE::blendEquationSeparateiOES):
(WebCore::GraphicsContextGLANGLE::blendFunciOES):
(WebCore::GraphicsContextGLANGLE::blendFuncSeparateiOES):
(WebCore::GraphicsContextGLANGLE::colorMaskiOES):
- Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.h:
- Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGL.cpp:
(WebCore::GraphicsContextGLOpenGL::getIntegeri_v):
(WebCore::GraphicsContextGLOpenGL::enableiOES):
(WebCore::GraphicsContextGLOpenGL::disableiOES):
(WebCore::GraphicsContextGLOpenGL::blendEquationiOES):
(WebCore::GraphicsContextGLOpenGL::blendEquationSeparateiOES):
(WebCore::GraphicsContextGLOpenGL::blendFunciOES):
(WebCore::GraphicsContextGLOpenGL::blendFuncSeparateiOES):
(WebCore::GraphicsContextGLOpenGL::colorMaskiOES):
- Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGL.h:
- Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.messages.in:
- Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLFunctionsGenerated.h:
(getIntegeri_v):
(enableiOES):
(disableiOES):
(blendEquationiOES):
(blendEquationSeparateiOES):
(blendFunciOES):
(blendFuncSeparateiOES):
(colorMaskiOES):
- Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
- Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxyFunctionsGenerated.cpp:
(WebKit::RemoteGraphicsContextGLProxy::getIntegeri_v):
(WebKit::RemoteGraphicsContextGLProxy::enableiOES):
(WebKit::RemoteGraphicsContextGLProxy::disableiOES):
(WebKit::RemoteGraphicsContextGLProxy::blendEquationiOES):
(WebKit::RemoteGraphicsContextGLProxy::blendEquationSeparateiOES):
(WebKit::RemoteGraphicsContextGLProxy::blendFunciOES):
(WebKit::RemoteGraphicsContextGLProxy::blendFuncSeparateiOES):
(WebKit::RemoteGraphicsContextGLProxy::colorMaskiOES):
Canonical link: https://commits.webkit.org/251325@main
Jun 5, 2022:
- 11:19 PM Changeset in webkit [295278] by
-
- 68 edits1 copy15 adds in trunk
Add a new DrawDecomposedGlyphs display list item to avoid repeatedly sending glyphs when using the GlyphDisplayListCache
https://bugs.webkit.org/show_bug.cgi?id=240497
<rdar://93387615>
Reviewed by Simon Fraser.
The GlyphDisplayListCache is used to record a display list for
frequently painting text content. With GPU Process DOM rendering, there
is significant overhead in sending the contents of these display lists
over IPC. The contents of these display lists don't change if the text
content in the document doesn't change, so we could greatly reduce the
overhead by treating the data inside a display list item for glyph
drawing as a remote resource.
This commit adds:
- a new display list item, DrawDecomposedGlyphs, to represent drawing a glyph list resource
- a new class, DecomposedGlyphs, which is the resource type
- a new struct, PositionedGlyphs, to provide a common place for the glyph drawing fields (the vector of glyph IDs, the anchor position, etc.) to live, so that we don't have duplication between DisplayList::DrawGlyphs and DecomposedGlyphs
So that a DrawDecomposedGlyphs command can be replayed from a
GlyphDisplayListCache's in-memory display list and recorded to a
RemoteDisplayListRecorder, the GraphicsContext API gains a new
drawDecomposedGlyphs function.
A new argument to the DisplayList::RecordImpl constructor (and the
DrawGlyphsRecorder) is added to represent how to record drawText
commands:
- DrawGlyphsMode::Normal, which records each GraphicsContext::drawText call with a single DrawText command
- DrawGlyphsMode::DeconstructToDrawGlyphsCommands, which ensures different text layers get deconstructed into separate DrawText commands
- DrawGlyphsMode::DeconstructToDrawDecomposedGlyphsCommands, which ensures different text layers get desconstructed into separate DrawDecomposedGlyphs commands
FontCascade::displayListForTextRun is updated to use that last value.
Additionally, GlyphDisplayListCache is extended to cache display lists
keyed off TextRun values. This allows sharing of the same cached display
list between different elements on the page that have the same text
content.
This sharing would not be valid if the two elements have different
values for the color property, and the text contains COLRv0 glyphs that
alternate painting of specific colors and the color fill color, since
the recording would incorrectly record a setFillBrush command
corresponding to the first element's fill color. Rather than extend the
glyph recorder to parameterize the current fill (and stroke) colors, we
detect when outlines are drawn with colors other than the context's
initial colors, and prevent sharing. This is done by checking whether
the recorded display list contains items that aren't known to be safe
for sharing.
Similarly, if the sharing would not be valid if the contains bitmap
images (like those from emoji fonts) or SVG glyphs, both of which are
captured as DrawNativeImage commands, if the text is drawn at different
scales. This is because the size of the images is dependent on the
scale. We detect and prevent reuse across different text runs if the
scale is different, by checking the recorded display list for
DrawNativeImage commands and by storing the context scale on the
GlyphDisplayListCache::Entry.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-colr-unshared-expected.txt: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-colr-unshared.html: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-scaled-unshared-expected.txt: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-scaled-unshared.html: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-shadow-unshared-expected.txt: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-shadow-unshared.html: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-shared-expected.txt: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-shared.html: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-svg-unshared-expected.txt: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-svg-unshared.html: Added.
- Source/WebCore/Headers.cmake:
- Source/WebCore/Sources.txt:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebCore/platform/graphics/BifurcatedGraphicsContext.cpp:
(WebCore::BifurcatedGraphicsContext::drawDecomposedGlyphs):
- Source/WebCore/platform/graphics/BifurcatedGraphicsContext.h:
- Source/WebCore/platform/graphics/DecomposedGlyphs.cpp: Added.
(WebCore::DecomposedGlyphs::create):
(WebCore::DecomposedGlyphs::DecomposedGlyphs):
(WebCore::m_renderingResourceIdentifier):
- Source/WebCore/platform/graphics/DecomposedGlyphs.h: Added.
(WebCore::DecomposedGlyphs::positionedGlyphs const):
(WebCore::DecomposedGlyphs::bounds const):
(WebCore::DecomposedGlyphs::addObserver):
(WebCore::DecomposedGlyphs::removeObserver):
(WebCore::DecomposedGlyphs::renderingResourceIdentifier const):
- Source/WebCore/platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::displayListForTextRun const):
- Source/WebCore/platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawDecomposedGlyphs):
- Source/WebCore/platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContext::drawGlyphsAndCacheResources):
(WebCore::GraphicsContext::drawGlyphsAndCacheFont): Deleted.
- Source/WebCore/platform/graphics/NullGraphicsContext.h:
- Source/WebCore/platform/graphics/PositionedGlyphs.cpp: Copied from Source/WebCore/platform/graphics/win/DrawGlyphsRecorderWin.cpp.
(WebCore::PositionedGlyphs::computeBounds const):
- Source/WebCore/platform/graphics/PositionedGlyphs.h: Added.
(WebCore::PositionedGlyphs::PositionedGlyphs):
(WebCore::PositionedGlyphs::encode const):
(WebCore::PositionedGlyphs::decode):
- Source/WebCore/platform/graphics/TextRun.cpp:
(WebCore::operator<<):
- Source/WebCore/platform/graphics/TextRun.h:
(WebCore::TextRun::TextRun):
(WebCore::TextRun::isHashTableEmptyValue const):
(WebCore::TextRun::isHashTableDeletedValue const):
(WebCore::TextRun::cloneForStorage const):
- Source/WebCore/platform/graphics/TextRunHash.h: Added.
(WebCore::add):
(WebCore::TextRun::operator== const):
(WebCore::TextRunHash::hash):
(WebCore::TextRunHash::equal):
(WTF::HashTraits<WebCore::TextRun>::isDeletedValue):
(WTF::HashTraits<WebCore::TextRun>::isEmptyValue):
(WTF::HashTraits<WebCore::TextRun>::constructDeletedValue):
(WTF::HashTraits<WebCore::TextRun>::emptyValue):
- Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContextCairo::drawDecomposedGlyphs):
- Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.h:
- Source/WebCore/platform/graphics/coretext/DrawGlyphsRecorderCoreText.cpp:
(WebCore::DrawGlyphsRecorder::createInternalContext):
(WebCore::DrawGlyphsRecorder::updateCTM):
(WebCore::DrawGlyphsRecorder::recordDrawGlyphs):
- Source/WebCore/platform/graphics/displaylists/DisplayList.cpp:
(WebCore::DisplayList::DisplayList::description const):
(WebCore::DisplayList::DisplayList::append):
- Source/WebCore/platform/graphics/displaylists/DisplayList.h:
(WebCore::DisplayList::DisplayList::cacheDecomposedGlyphs):
- Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.cpp:
(WebCore::DisplayList::ItemHandle::apply):
(WebCore::DisplayList::ItemHandle::destroy):
(WebCore::DisplayList::ItemHandle::safeCopy const):
- Source/WebCore/platform/graphics/displaylists/DisplayListItemType.cpp:
(WebCore::DisplayList::sizeOfItemInBytes):
(WebCore::DisplayList::isDrawingItem):
(WebCore::DisplayList::isInlineItem):
- Source/WebCore/platform/graphics/displaylists/DisplayListItemType.h:
- Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::DrawGlyphs::DrawGlyphs):
(WebCore::DisplayList::m_bounds):
(WebCore::DisplayList::DrawGlyphs::apply const):
(WebCore::DisplayList::DrawDecomposedGlyphs::apply const):
(WebCore::DisplayList::operator<<):
(WebCore::DisplayList::dumpItem):
(WebCore::DisplayList::dumpItemHandle):
(WebCore::DisplayList::DrawGlyphs::computeBounds): Deleted.
- Source/WebCore/platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::DrawGlyphs::localAnchor const):
(WebCore::DisplayList::DrawGlyphs::anchorPoint const):
(WebCore::DisplayList::DrawGlyphs::glyphs const):
(WebCore::DisplayList::DrawGlyphs::encode const):
(WebCore::DisplayList::DrawGlyphs::decode):
(WebCore::DisplayList::DrawDecomposedGlyphs::DrawDecomposedGlyphs):
(WebCore::DisplayList::DrawDecomposedGlyphs::fontIdentifier const):
(WebCore::DisplayList::DrawDecomposedGlyphs::decomposedGlyphsIdentifier const):
(WebCore::DisplayList::DrawDecomposedGlyphs::globalBounds const):
(WebCore::DisplayList::DrawDecomposedGlyphs::localBounds const):
- Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::Recorder):
(WebCore::DisplayList::Recorder::shouldDeconstructDrawGlyphs const):
(WebCore::DisplayList::Recorder::drawGlyphs):
(WebCore::DisplayList::Recorder::drawDecomposedGlyphs):
(WebCore::DisplayList::Recorder::drawGlyphsAndCacheResources):
(WebCore::DisplayList::Recorder::drawGlyphsAndCacheFont): Deleted.
- Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.h:
- Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.cpp:
(WebCore::DisplayList::RecorderImpl::RecorderImpl):
(WebCore::DisplayList::RecorderImpl::recordDrawDecomposedGlyphs):
(WebCore::DisplayList::RecorderImpl::recordResourceUse):
- Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.h:
- Source/WebCore/platform/graphics/displaylists/DisplayListReplayer.cpp:
(WebCore::DisplayList::applyDrawDecomposedGlyphs):
(WebCore::DisplayList::Replayer::applyItem):
(WebCore::DisplayList::Replayer::replay):
- Source/WebCore/platform/graphics/displaylists/DisplayListReplayer.h:
- Source/WebCore/platform/graphics/displaylists/DisplayListResourceHeap.h:
(WebCore::DisplayList::LocalResourceHeap::add):
- Source/WebCore/platform/graphics/harfbuzz/DrawGlyphsRecorderHarfBuzz.cpp:
(WebCore::DrawGlyphsRecorder::drawGlyphs):
- Source/WebCore/platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp:
(Nicosia::CairoOperationRecorder::drawDecomposedGlyphs):
- Source/WebCore/platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h:
- Source/WebCore/platform/graphics/win/DrawGlyphsRecorderWin.cpp:
(WebCore::DrawGlyphsRecorder::drawGlyphs):
- Source/WebCore/platform/text/TextDirection.h:
(WebCore::operator<<):
- Source/WebCore/platform/text/TextFlags.cpp:
(WebCore::operator<<):
- Source/WebCore/platform/text/TextFlags.h:
(WebCore::ExpansionBehavior::operator== const):
- Source/WebCore/rendering/GlyphDisplayListCache.cpp: Added.
(WebCore::GlyphDisplayListCacheBase::displayListSharing):
- Source/WebCore/rendering/GlyphDisplayListCache.h:
(WebCore::GlyphDisplayListCacheBase::size const):
(WebCore::GlyphDisplayListCacheBase::sizeInBytes const):
(WebCore::GlyphDisplayListCacheBase::Entry::create):
(WebCore::GlyphDisplayListCacheBase::Entry::displayList):
(WebCore::GlyphDisplayListCacheBase::Entry::relevantScaleFactor const):
(WebCore::GlyphDisplayListCacheBase::Entry::Entry):
(WebCore::GlyphDisplayListCache::get):
(WebCore::GlyphDisplayListCache::getIfExists):
(WebCore::GlyphDisplayListCache::remove):
(WebCore::GlyphDisplayListCache::clear):
(WebCore::GlyphDisplayListCache::size const): Deleted.
(WebCore::GlyphDisplayListCache::sizeInBytes const): Deleted.
- Source/WebCore/rendering/RenderLayerCompositor.cpp:
- Source/WebCore/rendering/TextPainter.cpp:
- Source/WebCore/testing/Internals.cpp:
(WebCore::toDisplayListFlags):
(WebCore::Internals::displayListForElement):
(WebCore::Internals::replayDisplayListForElement):
(WebCore::Internals::cachedGlyphDisplayListsForTextNode):
- Source/WebCore/testing/Internals.h:
- Source/WebCore/testing/Internals.idl:
- Source/WebKit/GPUProcess/graphics/QualifiedResourceHeap.h:
(WebKit::QualifiedResourceHeap::add):
(WebKit::QualifiedResourceHeap::getDecomposedGlyphs const):
(WebKit::QualifiedResourceHeap::removeDecomposedGlyphs):
(WebKit::QualifiedResourceHeap::checkInvariants const):
- Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp:
(WebKit::RemoteDisplayListRecorder::drawDecomposedGlyphs):
(WebKit::RemoteDisplayListRecorder::drawDecomposedGlyphsWithQualifiedIdentifiers):
- Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.h:
- Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.messages.in:
- Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::cacheFontWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::cacheDecomposedGlyphs):
(WebKit::RemoteRenderingBackend::cacheDecomposedGlyphsWithQualifiedIdentifier):
- Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h:
- Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in:
- Source/WebKit/GPUProcess/graphics/RemoteResourceCache.cpp:
(WebKit::RemoteResourceCache::cacheDecomposedGlyphs):
(WebKit::RemoteResourceCache::cachedDecomposedGlyphs const):
(WebKit::RemoteResourceCache::releaseRemoteResource):
- Source/WebKit/GPUProcess/graphics/RemoteResourceCache.h:
- Source/WebKit/Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<DecomposedGlyphs>::encode):
(IPC::ArgumentCoder<DecomposedGlyphs>::decode):
- Source/WebKit/Shared/WebCoreArgumentCoders.h:
- Source/WebKit/WebKit.xcodeproj/project.pbxproj:
- Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:
(WebKit::RemoteDisplayListRecorderProxy::RemoteDisplayListRecorderProxy):
(WebKit::RemoteDisplayListRecorderProxy::recordDrawDecomposedGlyphs):
(WebKit::RemoteDisplayListRecorderProxy::recordResourceUse):
- Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
- Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::cacheDecomposedGlyphs):
- Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
- Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp:
(WebKit::RemoteResourceCacheProxy::~RemoteResourceCacheProxy):
(WebKit::RemoteResourceCacheProxy::recordDecomposedGlyphsUse):
(WebKit::RemoteResourceCacheProxy::releaseDecomposedGlyphs):
(WebKit::RemoteResourceCacheProxy::clearDecomposedGlyphsMap):
(WebKit::RemoteResourceCacheProxy::remoteResourceCacheWasDestroyed):
- Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.h:
Canonical link: https://commits.webkit.org/251324@main
- 10:20 PM Changeset in webkit [295277] by
-
- 1 edit in trunk/Source/WebCore/layout/formattingContexts/flex/FlexLayout.cpp
Take align-self into account when computing flex item's logical height.
https://bugs.webkit.org/show_bug.cgi?id=241314
Reviewed by Antti Koivisto.
- Source/WebCore/layout/formattingContexts/flex/FlexLayout.cpp:
(WebCore::Layout::FlexLayout::computeLogicalHeightForFlexItems):
Canonical link: https://commits.webkit.org/251323@main
- 8:51 PM Changeset in webkit [295276] by
-
- 4 edits in trunk/Source/WebCore/layout/formattingContexts/flex
FlexLayout should only take logical values
https://bugs.webkit.org/show_bug.cgi?id=241310
Reviewed by Antti Koivisto.
Turn ConstraintsForFlexContent into LogicalConstraints.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.h:
- Source/WebCore/layout/formattingContexts/flex/FlexLayout.cpp:
(WebCore::Layout::FlexLayout::computeAvailableLogicalVerticalSpace const):
(WebCore::Layout::FlexLayout::computeAvailableLogicalHorizontalSpace const):
(WebCore::Layout::FlexLayout::layout):
- Source/WebCore/layout/formattingContexts/flex/FlexLayout.h:
Canonical link: https://commits.webkit.org/251322@main
- 6:24 PM Changeset in webkit [295275] by
-
- 1 edit in trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp
Reset the flex item renderers before flex layout
https://bugs.webkit.org/show_bug.cgi?id=241311
Reviewed by Antti Koivisto.
Each layout frame should start with a clean state.
- Source/WebCore/rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutUsingFlexFormattingContext):
Canonical link: https://commits.webkit.org/251321@main
- 6:06 PM Changeset in webkit [295274] by
-
- 2 edits in trunk/Source/WebCore/layout/formattingContexts/flex
Distribute extra logical vertical space across lines
https://bugs.webkit.org/show_bug.cgi?id=241307
Reviewed by Antti Koivisto.
- Source/WebCore/layout/formattingContexts/flex/FlexLayout.cpp:
(WebCore::Layout::FlexLayout::computeAvailableLogicalVerticalSpace const):
(WebCore::Layout::FlexLayout::computeLogicalHeightForFlexItems):
(WebCore::Layout::FlexLayout::layout):
- Source/WebCore/layout/formattingContexts/flex/FlexLayout.h:
Canonical link: https://commits.webkit.org/251320@main
- 5:04 PM Changeset in webkit [295273] by
-
- 1 edit in trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp
column-reverse content should take resolved flex box height into account when computing visual position
https://bugs.webkit.org/show_bug.cgi?id=241313
Reviewed by Antti Koivisto.
When the flex box has resolvable height, use it as the anchor point to compute the column-reverse content's visual vertical position.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::setFlexItemsGeometry):
Canonical link: https://commits.webkit.org/251319@main
- 2:53 PM Changeset in webkit [295272] by
-
- 1 edit in trunk/Source/WebKit/Shared/Cocoa/XPCEndpoint.mm
Unreviewed iOS build fix after 251316@main
https://bugs.webkit.org/show_bug.cgi?id=241321
- Source/WebKit/Shared/Cocoa/XPCEndpoint.mm:
Canonical link: https://commits.webkit.org/251318@main
- 2:06 AM Changeset in webkit [295271] by
-
- 1 edit2 adds in trunk
REGRESSION(STP146): wpt/quirks/table-cell-width-calculation.html
https://bugs.webkit.org/show_bug.cgi?id=241005
rdar://problem/94025359
Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-05
Reviewed by Brent Fulgham and Chris Dumez.
We should be able to use memory cache when images are either loaded using ServiceWorkerMode::All or None.
Make the reload check stricter by mandating reload in case service worker mode is none for requests that might trigger registration matching in network process.
- LayoutTests/imported/w3c/web-platform-tests/quirks/table-cell-width-calculation-expected.txt: Added.
- LayoutTests/imported/w3c/web-platform-tests/quirks/table-cell-width-calculation.html: Added.
- Source/WebCore/loader/cache/CachedResourceLoader.cpp:
(WebCore::mustReloadFromServiceWorkerOptions):
(WebCore::CachedResourceLoader::determineRevalidationPolicy const):
Canonical link: https://commits.webkit.org/251317@main
Jun 4, 2022:
- 11:59 PM Changeset in webkit [295270] by
-
- 380 edits in trunk
Drop operator==() overload for comparing a String to a const char*
https://bugs.webkit.org/show_bug.cgi?id=241285
Reviewed by Darin Adler.
Drop operator==() overload for comparing a String to a const char*. This
encourages people to use ""_s for string literals.
- Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitEqualityOpImpl):
- Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp:
(JSC::ApplyFunctionCallDotNode::emitBytecode):
- Source/JavaScriptCore/inspector/ScriptCallFrame.cpp:
(Inspector::ScriptCallFrame::isNative const):
- Source/JavaScriptCore/inspector/remote/cocoa/RemoteInspectorXPCConnection.mm:
(Inspector::RemoteInspectorXPCConnection::handleEvent):
- Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py:
(CppProtocolTypesImplementationGenerator):
- Source/JavaScriptCore/jit/ExecutableAllocator.cpp:
(JSC::isJITEnabled):
(JSC::ExecutableAllocator::setJITEnabled):
- Source/JavaScriptCore/jsc.cpp:
(dumpException):
- Source/JavaScriptCore/runtime/IntlCollator.cpp:
(JSC::IntlCollator::initializeCollator):
- Source/JavaScriptCore/runtime/IntlObject.cpp:
(JSC::removeUnicodeLocaleExtension):
- Source/JavaScriptCore/runtime/JSObject.cpp:
(JSC::JSObject::calculatedClassName):
- Source/JavaScriptCore/runtime/Options.cpp:
(JSC::canUseJITCage):
- Source/JavaScriptCore/runtime/StringPrototype.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- Source/JavaScriptCore/runtime/TypeSet.cpp:
(JSC::StructureShape::leastCommonAncestor):
- Source/JavaScriptCore/tools/JSDollarVM.cpp:
- Source/JavaScriptCore/yarr/YarrUnicodeProperties.cpp:
(JSC::Yarr::unicodeMatchPropertyValue):
- Source/WTF/wtf/URL.cpp:
(WTF::URL::setProtocol):
- Source/WTF/wtf/cocoa/Entitlements.h:
- Source/WTF/wtf/cocoa/Entitlements.mm:
(WTF::hasEntitlement):
(WTF::processHasEntitlement):
(WTF::hasEntitlementValue):
- Source/WTF/wtf/text/WTFString.h:
- Source/WebCore/Modules/applepay/PaymentRequestValidator.mm:
(WebCore::validateCountryCode):
(WebCore::validateCurrencyCode):
- Source/WebCore/Modules/async-clipboard/ios/ClipboardImageReaderIOS.mm:
(WebCore::ClipboardImageReader::readBuffer):
- Source/WebCore/Modules/async-clipboard/mac/ClipboardImageReaderMac.mm:
(WebCore::ClipboardImageReader::readBuffer):
- Source/WebCore/Modules/cache/DOMCache.cpp:
(WebCore::DOMCache::requestFromInfo):
- Source/WebCore/Modules/cache/DOMCacheEngine.cpp:
(WebCore::DOMCacheEngine::matchURLs):
- Source/WebCore/Modules/fetch/FetchLoader.cpp:
(WebCore::FetchLoader::start):
- Source/WebCore/Modules/fetch/FetchRequest.cpp:
(WebCore::methodCanHaveBody):
(WebCore::FetchRequest::initializeOptions):
(WebCore::FetchRequest::referrer const):
- Source/WebCore/Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::contentTypeShouldGenerateTimestamps):
- Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::setContentHint):
- Source/WebCore/Modules/mediastream/RTCRtpSFrameTransform.cpp:
(WebCore::RTCRtpSFrameTransform::setEncryptionKey):
- Source/WebCore/Modules/mediastream/RTCRtpSender.cpp:
(WebCore::RTCRtpSender::dtmf):
- Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp:
(WebCore::GStreamerMediaEndpoint::createTransceiverBackends):
- Source/WebCore/Modules/mediastream/gstreamer/GStreamerStatsCollector.cpp:
(WebCore::iceCandidateType):
- Source/WebCore/Modules/mediastream/gstreamer/GStreamerWebRTCUtils.cpp:
(WebCore::toRTCIceProtocol):
(WebCore::toRTCIceTcpCandidateType):
(WebCore::toRTCIceCandidateType):
(WebCore::parseIceCandidateSDP):
- Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::addTransceiver):
- Source/WebCore/Modules/webauthn/cbor/CBORValue.cpp:
(cbor::CBORValue::CBORValue):
- Source/WebCore/Modules/webauthn/cbor/CBORValue.h:
- Source/WebCore/Modules/webauthn/fido/AuthenticatorGetInfoResponse.cpp:
(fido::encodeAsCBOR):
- Source/WebCore/Modules/webauthn/fido/FidoConstants.h:
- Source/WebCore/Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::setBinaryType):
- Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUAdapterImpl.cpp:
(PAL::WebGPU::AdapterImpl::requestDevice):
- Source/WebCore/accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::canSetValueAttribute const):
- Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::currentState const):
(WebCore::AccessibilityObject::attributeValue const):
- Source/WebCore/accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::isColumnHeaderCell const):
(WebCore::AccessibilityTableCell::isRowHeaderCell const):
(WebCore::AccessibilityTableCell::columnHeaders):
(WebCore::AccessibilityTableCell::rowHeaders):
(WebCore::AccessibilityTableCell::axRowSpan const):
- Source/WebCore/accessibility/atspi/AXObjectCacheAtspi.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
- Source/WebCore/accessibility/atspi/AccessibilityObjectAtspi.cpp:
(WebCore::AccessibilityObjectAtspi::state const):
- Source/WebCore/accessibility/atspi/AccessibilityObjectTextAtspi.cpp:
(WebCore::AccessibilityObjectAtspi::textAttributes const):
- Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::attributeValue const):
- Source/WebCore/accessibility/win/AccessibilityObjectWrapperWin.cpp:
(WebCore::AccessibilityObjectWrapper::accessibilityAttributeValue):
- Source/WebCore/animation/KeyframeEffect.cpp:
(WebCore::IDLAttributeNameToAnimationPropertyName):
- Source/WebCore/bindings/js/IDBBindingUtilities.cpp:
(WebCore::get):
- Source/WebCore/bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSC_DEFINE_HOST_FUNCTION):
- Source/WebCore/bindings/js/JSDOMWindowCustom.cpp:
(WebCore::jsDOMWindowInstanceFunction_openDatabaseBody):
- Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:
(GenerateIsLegacyUnforgeablePropertyName):
- Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeableProperties.cpp:
(WebCore::JSTestNamedSetterWithLegacyUnforgeableProperties::defineOwnProperty):
- Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns.cpp:
(WebCore::JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns::defineOwnProperty):
- Source/WebCore/contentextensions/ContentExtensionActions.cpp:
(WebCore::ContentExtensions::ModifyHeadersAction::ModifyHeaderInfo::parse):
(WebCore::ContentExtensions::RedirectAction::URLTransformAction::parse):
- Source/WebCore/contentextensions/ContentExtensionParser.cpp:
(WebCore::ContentExtensions::loadAction):
- Source/WebCore/crypto/algorithms/CryptoAlgorithmECDH.cpp:
(WebCore::CryptoAlgorithmECDH::importKey):
- Source/WebCore/crypto/algorithms/CryptoAlgorithmECDSA.cpp:
(WebCore::CryptoAlgorithmECDSA::importKey):
- Source/WebCore/crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::importKey):
- Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey):
- Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:
(WebCore::CryptoAlgorithmRSA_OAEP::importKey):
- Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_PSS.cpp:
(WebCore::CryptoAlgorithmRSA_PSS::importKey):
- Source/WebCore/crypto/keys/CryptoKeyAES.cpp:
(WebCore::CryptoKeyAES::importJwk):
- Source/WebCore/crypto/keys/CryptoKeyEC.cpp:
(WebCore::CryptoKeyEC::importJwk):
- Source/WebCore/crypto/keys/CryptoKeyHMAC.cpp:
(WebCore::CryptoKeyHMAC::importJwk):
- Source/WebCore/crypto/keys/CryptoKeyRSA.cpp:
(WebCore::CryptoKeyRSA::importJwk):
- Source/WebCore/css/CSSBasicShapes.cpp:
(WebCore::buildInsetRadii):
- Source/WebCore/css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::formatNumberForCustomCSSText const):
- Source/WebCore/css/CSSPropertySourceData.cpp:
(WebCore::CSSPropertySourceData::toString const):
- Source/WebCore/css/CSSSelector.cpp:
(WebCore::CSSSelector::selectorText const):
- Source/WebCore/css/MediaQuery.cpp:
(WebCore::MediaQuery::serialize const):
- Source/WebCore/css/SelectorCheckerTestFunctions.h:
(WebCore::matchesLangPseudoClass):
- Source/WebCore/css/StyleProperties.cpp:
(WebCore::StyleProperties::borderPropertyValue const):
(WebCore::StyleProperties::asTextInternal const):
- Source/WebCore/css/parser/CSSPropertyParser.cpp:
(WebCore::parseGridTemplateAreasRow):
(WebCore::CSSPropertyParser::canParseTypedCustomPropertyValue):
(WebCore::CSSPropertyParser::collectParsedCustomPropertyValueDependencies):
(WebCore::CSSPropertyParser::parseTypedCustomPropertyValue):
- Source/WebCore/dom/DataTransfer.cpp:
(WebCore::DataTransfer::getDataForItem const):
(WebCore::DataTransfer::readStringFromPasteboard const):
(WebCore::DataTransfer::setDataFromItemList):
(WebCore::dragOpFromIEOp):
(WebCore::DataTransfer::dropEffect const):
(WebCore::DataTransfer::setDropEffect):
- Source/WebCore/dom/DataTransfer.h:
(WebCore::DataTransfer::dropEffectIsUninitialized const):
- Source/WebCore/dom/Document.cpp:
(WebCore::Document::originIdentifierForPasteboard const):
- Source/WebCore/dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::checkStyleSheet):
- Source/WebCore/dom/Range.cpp:
(WebCore::Range::expand):
- Source/WebCore/dom/UIEventWithKeyState.cpp:
(WebCore::UIEventWithKeyState::getModifierState const):
- Source/WebCore/editing/Editing.cpp:
(WebCore::isMailBlockquote):
- Source/WebCore/editing/Editor.cpp:
(WebCore::Editor::handleTextEvent):
(WebCore::Editor::insertTextWithoutSendingTextEvent):
- Source/WebCore/editing/HTMLInterchange.h:
- Source/WebCore/editing/InsertTextCommand.cpp:
(WebCore::InsertTextCommand::doApply):
- Source/WebCore/editing/ReplaceSelectionCommand.cpp:
(WebCore::isInterchangeNewlineNode):
(WebCore::isInterchangeConvertedSpaceSpan):
(WebCore::isInlineNodeWithStyle):
- Source/WebCore/editing/cocoa/HTMLConverter.mm:
(HTMLConverter::computedAttributesForElement):
(HTMLConverter::_addAttachmentForElement):
(HTMLConverter::_enterElement):
(HTMLConverter::_addTableForElement):
(HTMLConverter::_addTableCellForElement):
(HTMLConverter::_processElement):
(HTMLConverter::_exitElement):
(HTMLConverter::_processText):
- Source/WebCore/editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::appendNodeToPreserveMSOList):
(WebCore::createFragmentFromText):
(WebCore::createFragmentForTransformToFragment):
- Source/WebCore/html/BaseCheckableInputType.cpp:
(WebCore::BaseCheckableInputType::handleKeydownEvent):
- Source/WebCore/html/BaseClickableWithKeyInputType.cpp:
(WebCore::BaseClickableWithKeyInputType::handleKeydownEvent):
(WebCore::BaseClickableWithKeyInputType::handleKeyupEvent):
- Source/WebCore/html/CheckboxInputType.cpp:
(WebCore::CheckboxInputType::handleKeyupEvent):
- Source/WebCore/html/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryDocumentParser::parseAndAppendOneLine):
- Source/WebCore/html/FormController.cpp:
(WebCore::FormController::SavedFormState::appendReferencedFilePaths const):
- Source/WebCore/html/HTMLAnchorElement.cpp:
(WebCore::isEnterKeyKeydownEvent):
- Source/WebCore/html/HTMLAttachmentElement.cpp:
(WebCore::HTMLAttachmentElement::parseAttribute):
- Source/WebCore/html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::defaultEventHandler):
- Source/WebCore/html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::is2dType):
(WebCore::HTMLCanvasElement::isWebGLType):
(WebCore::HTMLCanvasElement::toWebGLVersion):
(WebCore::HTMLCanvasElement::isBitmapRendererType):
- Source/WebCore/html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::parseAttribute):
- Source/WebCore/html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setValueFromRenderer):
- Source/WebCore/html/HTMLLIElement.cpp:
(WebCore::HTMLLIElement::collectPresentationalHintsForAttribute):
- Source/WebCore/html/HTMLMarqueeElement.cpp:
(WebCore::HTMLMarqueeElement::collectPresentationalHintsForAttribute):
- Source/WebCore/html/HTMLOListElement.cpp:
(WebCore::HTMLOListElement::collectPresentationalHintsForAttribute):
- Source/WebCore/html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::platformHandleKeydownEvent):
(WebCore::HTMLSelectElement::menuListDefaultEventHandler):
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
- Source/WebCore/html/HTMLSelectElementWin.cpp:
(WebCore::HTMLSelectElement::platformHandleKeydownEvent):
- Source/WebCore/html/HTMLSummaryElement.cpp:
(WebCore::HTMLSummaryElement::defaultEventHandler):
- Source/WebCore/html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::setSelectionRange):
- Source/WebCore/html/MediaDocument.cpp:
(WebCore::MediaDocument::defaultEventHandler):
- Source/WebCore/html/MediaFragmentURIParser.cpp:
(WebCore::MediaFragmentURIParser::parseTimeFragment):
- Source/WebCore/html/RadioInputType.cpp:
(WebCore::RadioInputType::handleKeydownEvent):
(WebCore::RadioInputType::handleKeyupEvent):
- Source/WebCore/html/RangeInputType.cpp:
(WebCore::RangeInputType::handleKeydownEvent):
- Source/WebCore/html/SearchInputType.cpp:
(WebCore::SearchInputType::handleKeydownEvent):
- Source/WebCore/html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::handleKeydownEvent):
(WebCore::TextFieldInputType::handleKeydownEventForSpinButton):
(WebCore::TextFieldInputType::shouldSubmitImplicitly):
- Source/WebCore/html/canvas/CanvasPattern.cpp:
(WebCore::CanvasPattern::parseRepetitionType):
- Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::setLineCap):
(WebCore::CanvasRenderingContext2DBase::setLineJoin):
- Source/WebCore/html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::setCompatibilityModeFromDoctype):
- Source/WebCore/html/shadow/DateTimeFieldElement.cpp:
(WebCore::DateTimeFieldElement::defaultKeyboardEventHandler):
- Source/WebCore/inspector/InspectorAuditAccessibilityObject.cpp:
(WebCore::InspectorAuditAccessibilityObject::getComputedProperties):
- Source/WebCore/inspector/InspectorCanvas.cpp:
(WebCore::shouldSnapshotBitmapRendererAction):
(WebCore::shouldSnapshotWebGLAction):
(WebCore::shouldSnapshotWebGL2Action):
- Source/WebCore/inspector/InspectorFrontendHost.cpp:
(WebCore::dockSideFromString):
(WebCore::populateContextMenu):
- Source/WebCore/inspector/InspectorStyleSheet.cpp:
(WebCore::buildArrayForGroupings):
(WebCore::InspectorStyle::shorthandValue const):
- Source/WebCore/inspector/agents/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
- Source/WebCore/loader/CrossOriginAccessControl.cpp:
(WebCore::isOnAccessControlSimpleRequestMethodAllowlist):
(WebCore::passesAccessControlCheck):
- Source/WebCore/loader/DocumentLoader.cpp:
(WebCore::isRedirectToGetAfterPost):
(WebCore::DocumentLoader::isPostOrRedirectAfterPost):
(WebCore::DocumentLoader::responseReceived):
- Source/WebCore/loader/FormSubmission.cpp:
(WebCore::FormSubmission::Attributes::updateEncodingType):
- Source/WebCore/loader/FrameLoader.cpp:
(WebCore::FrameLoader::changeLocation):
(WebCore::FrameLoader::loadFrameRequest):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::reload):
(WebCore::FrameLoader::addHTTPOriginIfNeeded):
(WebCore::createWindow):
- Source/WebCore/loader/MixedContentChecker.cpp:
(WebCore::MixedContentChecker::isMixedContent):
- Source/WebCore/loader/PrivateClickMeasurement.cpp:
(WebCore::PrivateClickMeasurement::parseAttributionRequestQuery):
- Source/WebCore/loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::loadDataURL):
- Source/WebCore/loader/SubframeLoader.cpp:
(WebCore::FrameLoader::SubframeLoader::requestFrame):
- Source/WebCore/loader/archive/mhtml/MHTMLParser.cpp:
(WebCore::MHTMLParser::parseArchiveWithHeader):
- Source/WebCore/loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::add):
- Source/WebCore/loader/mac/LoaderNSURLExtras.mm:
(suggestedFilenameWithMIMEType):
- Source/WebCore/mathml/MathMLElement.cpp:
(WebCore::convertMathSizeIfNeeded):
- Source/WebCore/mathml/MathMLOperatorElement.cpp:
(WebCore::MathMLOperatorElement::computeDictionaryProperty):
- Source/WebCore/mathml/MathMLPresentationElement.cpp:
(WebCore::MathMLPresentationElement::parseMathVariantAttribute):
- Source/WebCore/mathml/MathMLSelectElement.cpp:
(WebCore::MathMLSelectElement::isMathMLEncoding):
(WebCore::MathMLSelectElement::isSVGEncoding):
(WebCore::MathMLSelectElement::isHTMLEncoding):
(WebCore::MathMLSelectElement::getSelectedActionChild):
(WebCore::MathMLSelectElement::defaultEventHandler):
(WebCore::MathMLSelectElement::willRespondToMouseClickEventsWithEditability const):
- Source/WebCore/page/DOMWindow.cpp:
(WebCore::DOMWindow::postMessage):
- Source/WebCore/page/EventHandler.cpp:
(WebCore::convertDropZoneOperationToDragOperation):
(WebCore::EventHandler::accessibilityPreventsEventPropagation):
(WebCore::EventHandler::defaultKeyboardEventHandler):
(WebCore::EventHandler::isKeyboardOptionTab):
- Source/WebCore/page/Performance.cpp:
(WebCore::Performance::getEntriesByType const):
(WebCore::Performance::getEntriesByName const):
(WebCore::Performance::appendBufferedEntriesByType const):
- Source/WebCore/page/PerformanceEntry.cpp:
(WebCore::PerformanceEntry::parseEntryTypeString):
- Source/WebCore/page/Quirks.cpp:
(WebCore::isTwitterDocument):
(WebCore::isYouTubeDocument):
(WebCore::Quirks::shouldDispatchSimulatedMouseEvents const):
(WebCore::Quirks::shouldDispatchedSimulatedMouseEventsAssumeDefaultPrevented const):
(WebCore::Quirks::shouldMakeTouchEventNonCancelableForTarget const):
(WebCore::Quirks::shouldEnableLegacyGetUserMediaQuirk const):
(WebCore::Quirks::shouldDisableElementFullscreenQuirk const):
(WebCore::Quirks::needsCanPlayAfterSeekedQuirk const):
(WebCore::Quirks::shouldAllowNavigationToCustomProtocolWithoutUserGesture):
- Source/WebCore/page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::canDisplay const):
(WebCore::SecurityOrigin::toString const):
(WebCore::areOriginsMatching):
- Source/WebCore/page/SecurityOrigin.h:
(WebCore::SecurityOrigin::isHTTPFamily const):
- Source/WebCore/page/SecurityOriginData.cpp:
(WebCore::SecurityOriginData::toString const):
- Source/WebCore/page/SecurityPolicy.cpp:
(WebCore::SecurityPolicy::referrerToOriginString):
- Source/WebCore/page/UserContentURLPattern.cpp:
(WebCore::UserContentURLPattern::matches const):
- Source/WebCore/page/WindowFeatures.cpp:
(WebCore::boolFeature):
- Source/WebCore/page/cocoa/ResourceUsageThreadCocoa.mm:
(WebCore::ResourceUsageThread::platformCollectCPUData):
- Source/WebCore/page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::reportViolation const):
- Source/WebCore/page/csp/ContentSecurityPolicySource.cpp:
(WebCore::ContentSecurityPolicySource::schemeMatches const):
- Source/WebCore/page/linux/ResourceUsageThreadLinux.cpp:
(WebCore::ResourceUsageThread::platformCollectCPUData):
- Source/WebCore/platform/KeyboardScrollingAnimator.cpp:
(WebCore::keyboardScrollingKeyFromEvent):
- Source/WebCore/platform/KeypressCommand.h:
(WebCore::KeypressCommand::KeypressCommand):
- Source/WebCore/platform/LocalizedStrings.cpp:
(WebCore::localizedMediaControlElementString):
(WebCore::localizedMediaControlElementHelpText):
- Source/WebCore/platform/Pasteboard.cpp:
(WebCore::Pasteboard::isSafeTypeForDOMToReadAndWrite):
- Source/WebCore/platform/RegistrableDomain.h:
(WebCore::RegistrableDomain::operator== const):
- Source/WebCore/platform/Theme.cpp:
(WebCore::Theme::drawNamedImage const):
- Source/WebCore/platform/UserAgentQuirks.cpp:
(WebCore::urlRequiresChromeBrowser):
(WebCore::urlRequiresFirefoxBrowser):
(WebCore::urlRequiresMacintoshPlatform):
(WebCore::urlRequiresUnbrandedUserAgent):
- Source/WebCore/platform/cocoa/ThemeCocoa.mm:
(WebCore::ThemeCocoa::drawNamedImage const):
- Source/WebCore/platform/graphics/GLContext.cpp:
(WebCore::GLContext::version):
- Source/WebCore/platform/graphics/Image.cpp:
(WebCore::Image::create):
- Source/WebCore/platform/graphics/MIMETypeCache.cpp:
(WebCore::MIMETypeCache::shouldOverrideExtendedType):
- Source/WebCore/platform/graphics/VP9Utilities.cpp:
(WebCore::parseVPCodecParameters):
- Source/WebCore/platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm:
(WebCore::CDMPrivateMediaSourceAVFObjC::supportsMIMEType):
- Source/WebCore/platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::AVFWrapper::shouldWaitForLoadingOfResource):
- Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
- Source/WebCore/platform/graphics/cairo/ImageBufferUtilitiesCairo.cpp:
(WebCore::encodeImage):
- Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp:
(WebCore::ImageDecoderCG::frameHasAlphaAtIndex const):
(WebCore::ImageDecoderCG::createFrameImageAtIndex):
- Source/WebCore/platform/graphics/cg/ImageSourceCGWin.cpp:
(WebCore::MIMETypeForImageType):
- Source/WebCore/platform/graphics/cocoa/VP9UtilitiesCocoa.mm:
(WebCore::isVPCodecConfigurationRecordSupported):
(WebCore::createVideoInfoFromVPCodecConfigurationRecord):
- Source/WebCore/platform/graphics/freetype/FontCacheFreeType.cpp:
(WebCore::getFamilyNameStringFromFamily):
- Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::isMediaDiskCacheDisabled):
- Source/WebCore/platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.cpp:
(WebCore::SourceBufferPrivateGStreamer::platformMaximumBufferSize const):
- Source/WebCore/platform/graphics/opengl/ExtensionsGLOpenGL.cpp:
(WebCore::ExtensionsGLOpenGL::platformSupportsExtension):
- Source/WebCore/platform/graphics/opengl/ExtensionsGLOpenGLCommon.cpp:
(WebCore::ExtensionsGLOpenGLCommon::supports):
(WebCore::ExtensionsGLOpenGLCommon::ensureEnabled):
(WebCore::ExtensionsGLOpenGLCommon::isEnabled):
- Source/WebCore/platform/graphics/opengl/ExtensionsGLOpenGLES.cpp:
(WebCore::ExtensionsGLOpenGLES::isEnabled):
(WebCore::ExtensionsGLOpenGLES::platformSupportsExtension):
- Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGL.cpp:
(WebCore::GraphicsContextGLOpenGL::checkVaryingsPacking const):
- Source/WebCore/platform/gtk/PasteboardGtk.cpp:
(WebCore::selectionDataTypeFromHTMLClipboardType):
- Source/WebCore/platform/ios/PlatformEventFactoryIOS.mm:
(WebCore::PlatformKeyboardEventBuilder::PlatformKeyboardEventBuilder):
- Source/WebCore/platform/ios/PlatformPasteboardIOS.mm:
(WebCore::PlatformPasteboard::platformPasteboardTypeForSafeTypeForDOMToReadAndWrite):
- Source/WebCore/platform/ios/PreviewConverterIOS.mm:
(WebCore::PreviewConverter::isPlatformPasswordError const):
- Source/WebCore/platform/mac/PasteboardMac.mm:
(WebCore::cocoaTypeFromHTMLClipboardType):
(WebCore::Pasteboard::addHTMLClipboardTypesForCocoaType):
- Source/WebCore/platform/mac/PlatformPasteboardMac.mm:
(WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):
(WebCore::PlatformPasteboard::platformPasteboardTypeForSafeTypeForDOMToReadAndWrite):
- Source/WebCore/platform/mac/PublicSuffixMac.mm:
(WebCore::topPrivatelyControlledDomain):
- Source/WebCore/platform/mediastream/RealtimeMediaSourceSettings.cpp:
(WebCore::RealtimeMediaSourceSettings::videoFacingModeEnum):
- Source/WebCore/platform/mediastream/libwebrtc/gstreamer/GStreamerVideoEncoderFactory.cpp:
(WebCore::GStreamerH264Encoder::GStreamerH264Encoder):
- Source/WebCore/platform/mock/MediaEngineConfigurationFactoryMock.cpp:
(WebCore::canDecodeMedia):
(WebCore::canSmoothlyDecodeMedia):
(WebCore::canPowerEfficientlyDecodeMedia):
(WebCore::canEncodeMedia):
(WebCore::canSmoothlyEncodeMedia):
(WebCore::canPowerEfficientlyEncodeMedia):
- Source/WebCore/platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
(WebCore::MockMediaPlayerMediaSource::supportsType):
- Source/WebCore/platform/network/CacheValidation.cpp:
(WebCore::verifyVaryingRequestHeadersInternal):
- Source/WebCore/platform/network/ResourceResponseBase.h:
(WebCore::ResourceResponseBase::isMultipart const):
- Source/WebCore/platform/network/cf/ResourceErrorCF.cpp:
(WebCore::ResourceError::cfStreamError const):
- Source/WebCore/platform/network/curl/CookieJarDB.cpp:
(WebCore::CookieJarDB::checkDatabaseValidity):
- Source/WebCore/platform/network/curl/CookieJarDB.h:
(WebCore::CookieJarDB::isOnMemory const):
- Source/WebCore/platform/network/curl/CurlDownload.cpp:
(WebCore::CurlDownload::shouldRedirectAsGET):
- Source/WebCore/platform/network/curl/CurlRequest.cpp:
(WebCore::CurlRequest::setupTransfer):
- Source/WebCore/platform/network/curl/PublicSuffixCurl.cpp:
(WebCore::topPrivatelyControlledDomain):
- Source/WebCore/platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::shouldRedirectAsGET):
- Source/WebCore/platform/network/ios/WebCoreURLResponseIOS.h:
(WebCore::shouldUseQuickLookForMIMEType):
- Source/WebCore/platform/soup/PublicSuffixSoup.cpp:
(WebCore::topPrivatelyControlledDomain):
- Source/WebCore/platform/win/SearchPopupMenuDB.cpp:
(WebCore::SearchPopupMenuDB::checkDatabaseValidity):
- Source/WebCore/rendering/RenderBlockFlow.cpp:
(WebCore::needsAppleMailPaginationQuirk):
- Source/WebCore/rendering/RenderCounter.cpp:
(WebCore::planCounter):
- Source/WebCore/rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::getAverageCharWidth):
- Source/WebCore/rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::getAverageCharWidth):
(WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth const):
- Source/WebCore/rendering/RenderTreeAsText.cpp:
(WebCore::isEmptyOrUnstyledAppleStyleSpan):
- Source/WebCore/svg/SVGAElement.cpp:
(WebCore::SVGAElement::defaultEventHandler):
- Source/WebCore/svg/SVGComponentTransferFunctionElement.h:
(WebCore::SVGPropertyTraits<ComponentTransferType>::fromString):
- Source/WebCore/svg/SVGFEColorMatrixElement.h:
(WebCore::SVGPropertyTraits<ColorMatrixType>::fromString):
- Source/WebCore/svg/SVGFECompositeElement.h:
(WebCore::SVGPropertyTraits<CompositeOperationType>::fromString):
- Source/WebCore/svg/SVGFEConvolveMatrixElement.h:
(WebCore::SVGPropertyTraits<EdgeModeType>::fromString):
- Source/WebCore/svg/SVGFEDisplacementMapElement.h:
(WebCore::SVGPropertyTraits<ChannelSelectorType>::fromString):
- Source/WebCore/svg/SVGFEMorphologyElement.h:
(WebCore::SVGPropertyTraits<MorphologyOperatorType>::fromString):
- Source/WebCore/svg/SVGFETurbulenceElement.h:
(WebCore::SVGPropertyTraits<SVGStitchOptions>::fromString):
(WebCore::SVGPropertyTraits<TurbulenceType>::fromString):
- Source/WebCore/svg/SVGGradientElement.h:
(WebCore::SVGPropertyTraits<SVGSpreadMethodType>::fromString):
- Source/WebCore/svg/SVGMarkerTypes.h:
(WebCore::SVGPropertyTraits<SVGMarkerUnitsType>::fromString):
- Source/WebCore/svg/SVGTests.cpp:
(WebCore::SVGTests::hasFeatureForLegacyBindings):
- Source/WebCore/svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::collectPresentationalHintsForAttribute):
- Source/WebCore/svg/SVGTextContentElement.h:
(WebCore::SVGPropertyTraits<SVGLengthAdjustType>::fromString):
- Source/WebCore/svg/SVGTextPathElement.h:
(WebCore::SVGPropertyTraits<SVGTextPathMethodType>::fromString):
(WebCore::SVGPropertyTraits<SVGTextPathSpacingType>::fromString):
- Source/WebCore/svg/SVGUnitTypes.h:
(WebCore::SVGPropertyTraits<SVGUnitTypes::SVGUnitType>::fromString):
- Source/WebCore/svg/SVGZoomAndPanType.h:
(WebCore::SVGPropertyTraits<SVGZoomAndPanType>::fromString):
- Source/WebCore/svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
- Source/WebCore/svg/properties/SVGPropertyTraits.h:
(WebCore::SVGPropertyTraits<bool>::fromString):
- Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::pseudoElement):
(WebCore::Internals::setViewBaseBackgroundColor):
(WebCore::Internals::setPagination):
(WebCore::parseFindOptions):
(WebCore::Internals::countMatchesForText):
(WebCore::Internals::setOverridePreferredDynamicRangeMode):
(WebCore::taskSourceFromString):
(WebCore::Internals::hasSandboxMachLookupAccessToGlobalName):
(WebCore::Internals::hasSandboxMachLookupAccessToXPCServiceName):
- Source/WebCore/testing/MockLibWebRTCPeerConnection.cpp:
(WebCore::createConnection):
- Source/WebCore/workers/WorkerFontLoadRequest.cpp:
(WebCore::WorkerFontLoadRequest::load):
- Source/WebCore/workers/WorkerScriptLoader.cpp:
(WebCore::WorkerScriptLoader::loadAsynchronously):
- Source/WebCore/workers/service/server/RegistrationDatabase.cpp:
(WebCore::stringToUpdateViaCache):
(WebCore::stringToWorkerType):
- Source/WebCore/xml/DOMParser.cpp:
(WebCore::DOMParser::parseFromString):
- Source/WebCore/xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::send):
(WebCore::XMLHttpRequest::sendBytesData):
(WebCore::XMLHttpRequest::createRequest):
- Source/WebCore/xml/XPathFunctions.cpp:
(WebCore::XPath::Function::setArguments):
- Source/WebCore/xml/XPathParser.cpp:
(WebCore::XPath::Parser::nextTokenInternal):
- Source/WebCore/xml/XSLTProcessor.cpp:
(WebCore::XSLTProcessor::createDocumentFromSource):
- Source/WebCore/xml/XSLTProcessorLibxslt.cpp:
(WebCore::XSLTProcessor::transformToString):
- Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::shouldAllowExternalLoad):
(WebCore::XMLDocumentParser::supportsXMLVersion):
(WebCore::externalSubsetHandler):
- Source/WebDriver/CommandResult.cpp:
(WebDriver::CommandResult::CommandResult):
- Source/WebDriver/Session.cpp:
(WebDriver::Session::newWindow):
(WebDriver::Session::isElementSelected):
(WebDriver::Session::elementClick):
- Source/WebDriver/WebDriverService.cpp:
(WebDriver::deserializeTimeouts):
(WebDriver::deserializeProxy):
(WebDriver::deserializePageLoadStrategy):
(WebDriver::deserializeUnhandledPromptBehavior):
(WebDriver::WebDriverService::validatedCapabilities const):
(WebDriver::WebDriverService::matchCapabilities const):
(WebDriver::WebDriverService::newWindow):
(WebDriver::isValidStrategy):
(WebDriver::findStrategyAndSelectorOrCompleteWithError):
(WebDriver::processNullAction):
(WebDriver::processKeyAction):
(WebDriver::processPointerMoveAction):
(WebDriver::processPointerAction):
(WebDriver::processWheelAction):
(WebDriver::processPointerParameters):
(WebDriver::processInputActionSequence):
- Source/WebDriver/glib/WebDriverServiceGLib.cpp:
(WebDriver::WebDriverService::platformSupportProxyType const):
- Source/WebDriver/gtk/WebDriverServiceGtk.cpp:
(WebDriver::WebDriverService::platformValidateCapability const):
- Source/WebDriver/socket/HTTPParser.cpp:
(WebDriver::HTTPParser::expectedBodyLength const):
- Source/WebDriver/socket/SessionHostSocket.cpp:
(WebDriver::SessionHost::parseTargetList):
- Source/WebDriver/soup/HTTPServerSoup.cpp:
(WebDriver::soupServerListen):
- Source/WebDriver/wpe/WebDriverServiceWPE.cpp:
(WebDriver::WebDriverService::platformValidateCapability const):
- Source/WebGPU/WGSLUnitTests/WGSLParserTests.mm:
(-[WGSLParserTests testParsingStruct]):
(-[WGSLParserTests testParsingGlobalVariable]):
(-[WGSLParserTests testParsingFunctionDecl]):
(-[WGSLParserTests testTrivialGraphicsShader]):
- Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:
(WebKit::ResourceLoadStatisticsStore::shouldSkip const):
- Source/WebKit/NetworkProcess/DatabaseUtilities.cpp:
(WebKit::insertDistinctValuesInTableStatement):
- Source/WebKit/NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::allowsPrivateClickMeasurementTestFunctionality const):
- Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::isCrossOriginPrefetch const):
- Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:
(WebKit::ServiceWorkerFetchTask::ServiceWorkerFetchTask):
- Source/WebKit/NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::getDirectorySize):
- Source/WebKit/NetworkProcess/cache/CacheStorageEngineCache.cpp:
(WebKit::CacheStorage::queryCache):
(WebKit::CacheStorage::Cache::retrieveRecords):
- Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::makeRetrieveDecision):
(WebKit::NetworkCache::makeStoreDecision):
- Source/WebKit/NetworkProcess/cache/NetworkCacheEntry.cpp:
(WebKit::NetworkCache::Entry::Entry):
- Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
(WebKit::NetworkCache::SpeculativeLoadManager::shouldRegisterLoad):
(WebKit::NetworkCache::SpeculativeLoadManager::retrieveSubresourcesEntry):
- Source/WebKit/NetworkProcess/cache/NetworkCacheSubresourcesEntry.cpp:
(WebKit::NetworkCache::SubresourcesEntry::SubresourcesEntry):
- Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::isActingOnBehalfOfAFullWebBrowser):
- Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.cpp:
(WebKit::NetworkDataTaskCurl::shouldRedirectAsGET):
- Source/WebKit/NetworkProcess/ios/NetworkProcessIOS.mm:
(WebKit::NetworkProcess::parentProcessHasServiceWorkerEntitlement const):
- Source/WebKit/NetworkProcess/storage/FileSystemStorageHandle.cpp:
(WebKit::isValidFileName):
- Source/WebKit/NetworkProcess/storage/OriginStorageManager.cpp:
(WebKit::OriginStorageManager::StorageBucket::isEmpty):
- Source/WebKit/Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.cpp.erb:
- Source/WebKit/Scripts/PreferencesTemplates/WebPreferencesInternalDebugFeatures.cpp.erb:
- Source/WebKit/Shared/AuxiliaryProcess.h:
- Source/WebKit/Shared/Cocoa/AuxiliaryProcessCocoa.mm:
(WebKit::AuxiliaryProcess::parentProcessHasEntitlement):
(WebKit::AuxiliaryProcess::setPreferenceValue):
- Source/WebKit/Shared/Cocoa/DefaultWebBrowserChecks.mm:
(WebKit::appBoundDomainsForTesting):
(WebKit::isParentProcessAFullWebBrowser):
(WebKit::isFullWebBrowser):
- Source/WebKit/Shared/Cocoa/XPCEndpoint.mm:
(WebKit::XPCEndpoint::XPCEndpoint):
- Source/WebKit/Shared/Cocoa/XPCEndpointClient.mm:
(WebKit::XPCEndpointClient::setEndpoint):
- Source/WebKit/Shared/Daemon/DaemonUtilities.h:
- Source/WebKit/Shared/Daemon/DaemonUtilities.mm:
(WebKit::startListeningForMachServiceConnections):
- Source/WebKit/Shared/Databases/IndexedDB/IDBUtilities.cpp:
(WebKit::uniqueDatabaseIdentifier):
- Source/WebKit/Shared/EntryPointUtilities/Cocoa/Daemon/PCMDaemonEntryPoint.mm:
(WebKit::PCMDaemonMain):
- Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.h:
- Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.mm:
(WebKit::XPCServiceInitializerDelegate::checkEntitlements):
(WebKit::XPCServiceInitializerDelegate::hasEntitlement):
- Source/WebKit/Shared/IPCTester.cpp:
(WebKit::messageTestDriver):
- Source/WebKit/Shared/WebPreferencesDefaultValues.cpp:
(WebKit::defaultMediaSessionCoordinatorEnabled):
- Source/WebKit/Shared/glib/InputMethodState.cpp:
(WebKit::inputElementHasDigitsPattern):
- Source/WebKit/Shared/ios/WebIOSEventFactory.mm:
(WebIOSEventFactory::createWebKeyboardEvent):
- Source/WebKit/Shared/mac/AuxiliaryProcessMac.mm:
(WebKit::tryApplyCachedSandbox):
(WebKit::AuxiliaryProcess::initializeSandbox):
- Source/WebKit/UIProcess/API/C/WKMockMediaDevice.cpp:
(WKAddMockMediaDevice):
- Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _setupPageConfiguration:]):
- Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferences.mm:
(-[WKWebpagePreferences _setCaptivePortalModeEnabled:]):
- Source/WebKit/UIProcess/API/Cocoa/_WKSystemPreferences.mm:
(+[_WKSystemPreferences isCaptivePortalModeEnabled]):
(+[_WKSystemPreferences setCaptivePortalModeEnabled:]):
- Source/WebKit/UIProcess/API/Cocoa/_WKSystemPreferencesInternal.h:
- Source/WebKit/UIProcess/API/glib/WebKitAutomationSession.cpp:
(parseProxyCapabilities):
- Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp:
(addOriginToMap):
- Source/WebKit/UIProcess/API/gtk/DropTargetGtk4.cpp:
(WebKit::DropTarget::accept):
- Source/WebKit/UIProcess/ApplicationStateTracker.mm:
(WebKit::applicationType):
- Source/WebKit/UIProcess/Cocoa/MediaPermissionUtilities.mm:
(WebKit::applicationVisibleNameFromOrigin):
- Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::collectKeyboardLayoutCommandsForEvent):
- Source/WebKit/UIProcess/Downloads/DownloadProxyMap.cpp:
(WebKit::DownloadProxyMap::DownloadProxyMap):
- Source/WebKit/UIProcess/Inspector/glib/RemoteInspectorClient.cpp:
(WebKit::debuggableType):
- Source/WebKit/UIProcess/Launcher/glib/ProcessLauncherGLib.cpp:
(WebKit::ProcessLauncher::launchProcess):
- Source/WebKit/UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::isDisplayingMarkupDocument const):
- Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::requestAttachmentIcon):
- Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::networkProcessHasEntitlementForTesting):
- Source/WebKit/UIProcess/WebsiteData/WebsiteDataRecord.cpp:
(WebKit::WebsiteDataRecord::displayNameForCookieHostName):
(WebKit::WebsiteDataRecord::displayNameForOrigin):
- Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:
(WebKit::isEGLImageAvailable):
- Source/WebKit/UIProcess/gtk/Clipboard.cpp:
(WebKit::Clipboard::get):
- Source/WebKit/UIProcess/gtk/WebDataListSuggestionsDropdownGtk.cpp:
(WebKit::WebDataListSuggestionsDropdownGtk::handleKeydownWithIdentifier):
- Source/WebKit/UIProcess/gtk/WebDateTimePickerGtk.cpp:
(WebKit::WebDateTimePickerGtk::update):
- Source/WebKit/UIProcess/ios/WKActionSheetAssistant.mm:
(applicationHasAppLinkEntitlements):
- Source/WebKit/UIProcess/ios/WKPDFView.mm:
(+[WKPDFView web_requiresCustomSnapshotting]):
- Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::setupServicesMenu):
- Source/WebKit/UIProcess/mac/WebDataListSuggestionsDropdownMac.mm:
(WebKit::WebDataListSuggestionsDropdownMac::handleKeydownWithIdentifier):
(-[WKDataListSuggestionsController moveSelectionByDirection:]):
- Source/WebKit/WebProcess/Automation/WebAutomationSessionProxy.cpp:
(WebKit::evaluateJavaScriptCallback):
- Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp:
(webkitWebPageDidReceiveMessage):
- Source/WebKit/WebProcess/Plugins/PDF/PDFPluginPasswordField.mm:
(WebKit::PDFPluginPasswordField::handleEvent):
- Source/WebKit/WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
(WebKit::PDFPluginTextAnnotation::handleEvent):
- Source/WebKit/WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::getActionTypeForKeyEvent):
- Source/WebKit/WebProcess/WebPage/Cocoa/TextCheckingControllerProxy.mm:
(WebKit::TextCheckingControllerProxy::removeAnnotationRelativeToSelection):
- Source/WebKit/WebProcess/WebPage/IPCTestingAPI.cpp:
(WebKit::IPCTestingAPI::encodeArgument):
- Source/WebKit/WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::setTextDirection):
- Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::parentProcessHasServiceWorkerEntitlement const):
(WebKit::WebPage::focusedElementInformation):
(WebKit::WebPage::platformUserAgent const):
- Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::executeKeypressCommandsInternal):
(WebKit::WebPage::handleEditingKeyboardEvent):
(WebKit::WebPage::performNonEditingBehaviorForSelector):
- Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeProcess):
(WebKit::WebProcess::handlePreferenceChange):
- Source/WebKit/webpushd/PushClientConnection.h:
- Source/WebKit/webpushd/PushClientConnection.mm:
(WebPushD::ClientConnection::hostHasEntitlement):
- Source/WebKitLegacy/cf/WebCoreSupport/WebInspectorClientCF.cpp:
(WebInspectorClient::inspectorAttachDisabled):
(WebInspectorClient::inspectorStartsAttached):
- Source/WebKitLegacy/mac/Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage isQuickTimePlugIn]):
- Source/WebKitLegacy/mac/WebCoreSupport/WebEditorClient.mm:
(selectorForKeyEvent):
- Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::transitionToCommittedForNewPage):
- Source/WebKitLegacy/mac/WebView/WebHTMLView.mm:
(-[WebHTMLView _executeSavedKeypressCommands]):
- Source/WebKitLegacy/win/WebFrame.cpp:
(WebFrame::setTextDirection):
(WebFrame::canProvideDocumentSource):
- Tools/DumpRenderTree/win/DumpRenderTree.cpp:
(runTest):
- Tools/TestWebKitAPI/Tests/WTF/AtomString.cpp:
(TestWebKitAPI::TEST):
- Tools/TestWebKitAPI/Tests/WTF/JSONValue.cpp:
(TestWebKitAPI::TEST):
- Tools/TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):
- Tools/TestWebKitAPI/Tests/WTF/WTFString.cpp:
(TestWebKitAPI::TEST):
- Tools/TestWebKitAPI/Tests/WTF/cocoa/TextStreamCocoa.cpp:
(TEST):
- Tools/TestWebKitAPI/Tests/WTF/cocoa/TextStreamCocoa.mm:
(TEST):
- Tools/TestWebKitAPI/Tests/WebCore/CBORReaderTest.cpp:
(TestWebKitAPI::TEST):
- Tools/TestWebKitAPI/Tests/WebCore/CBORValueTest.cpp:
(TestWebKitAPI::TEST):
- Tools/TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
(TestWebKitAPI::TEST):
- Tools/TestWebKitAPI/Tests/WebCore/FontShadowTests.cpp:
(TestWebKitAPI::TEST_F):
- Tools/TestWebKitAPI/Tests/WebCore/LineBreaking.mm:
(breakingLocationsFromICU):
- Tools/TestWebKitAPI/Tests/WebCore/NowPlayingInfoTests.cpp:
(TestWebKitAPI::TEST):
- Tools/TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp:
(TestWebKitAPI::TEST):
- Tools/TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
(TestWebKitAPI::TEST_F):
- Tools/TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:
(TestWebKitAPI::TEST_F):
- Tools/TestWebKitAPI/Tests/WebCore/StringWithDirection.cpp:
(TestWebKitAPI::TEST):
- Tools/TestWebKitAPI/Tests/WebKit/MediaSessionCoordinatorTest.mm:
(TestWebKitAPI::TEST_F):
- Tools/TestWebKitAPI/Tests/WebKit/OverrideAppleLanguagesPreference.mm:
(TEST_F):
- Tools/TestWebKitAPI/Tests/WebKitCocoa/CookiePrivateBrowsing.mm:
(TEST):
- Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:
(TestWebKitAPI::TEST):
- Tools/TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST):
- Tools/TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
(-[SyncScheme webView:startURLSchemeTask:]):
- Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::dumpErrorDescriptionSuitableForTestResult):
- Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp:
(WTR::attributesOfElement):
(WTR::AccessibilityUIElement::stringAttributeValue):
(WTR::AccessibilityUIElement::numberAttributeValue):
(WTR::AccessibilityUIElement::boolAttributeValue):
(WTR::AccessibilityUIElement::isAttributeSettable):
(WTR::AccessibilityUIElement::isAttributeSupported):
(WTR::AccessibilityUIElement::isPressActionSupported):
- Tools/WebKitTestRunner/TestController.cpp:
(WTR::TestController::setPluginSupportedMode):
- Tools/WebKitTestRunner/cocoa/CrashReporterInfo.mm:
(WTR::testPathFromURL):
- Tools/WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
(WTR::UIScriptControllerCocoa::overridePreference):
- Tools/WebKitTestRunner/gtk/UIScriptControllerGtk.cpp:
(WTR::UIScriptControllerGtk::overridePreference):
Canonical link: https://commits.webkit.org/251316@main
- 8:30 PM Changeset in webkit [295269] by
-
- 10 edits1 copy in trunk
Force Repaint menu item does not repaint compositing layers, only tiles
https://bugs.webkit.org/show_bug.cgi?id=241292
Reviewed by Simon Fraser.
- Source/WebCore/page/Page.h:
- Source/WebCore/page/Page.cpp:
(WebCore::Page::forceRepaintAllFrames):
Move forceRepaint to Page, and userepaintViewAndCompositedLayersinstead of
TiledBacking::forceRepaint, so we hit all the compositing layers, not just the tiles.
- Source/WebCore/platform/graphics/TiledBacking.h:
- Source/WebCore/platform/graphics/ca/TileController.cpp:
(WebCore::TileController::forceRepaint): Deleted.
- Source/WebCore/platform/graphics/ca/TileController.h:
- Source/WebKit/WebProcess/WebPage/wc/GraphicsLayerWC.cpp:
Get rid of this unused method.
- Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::forceRepaint):
- Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::forceRepaint):
AdoptforceRepaintAllFrames.
- LayoutTests/fast/images/async-image-multiple-clients-repaint-expected.txt:
- LayoutTests/platform/ios/fast/images/async-image-multiple-clients-repaint-expected.txt
- LayoutTests/platform/win/fast/images/async-image-multiple-clients-repaint-expected.txt
Rebaseline this test, except on Windows.
Canonical link: https://commits.webkit.org/251315@main
- 1:59 PM Changeset in webkit [295268] by
-
- 11 edits in trunk/Source
Tweak HTMLToken / AtomHTMLToken data members for better packing
https://bugs.webkit.org/show_bug.cgi?id=241293
Reviewed by Darin Adler.
Tweak HTMLToken / AtomHTMLToken data members for better packing. Also use
Span<> more.
- Source/WTF/wtf/text/StringView.h:
- Source/WTF/wtf/text/WTFString.h:
- Source/WebCore/html/parser/AtomHTMLToken.h:
(WebCore::AtomHTMLToken::hasDuplicateAttribute const):
(WebCore::AtomHTMLToken::name const):
(WebCore::AtomHTMLToken::setName):
(WebCore::AtomHTMLToken::selfClosing const):
(WebCore::AtomHTMLToken::attributes):
(WebCore::AtomHTMLToken::attributes const):
(WebCore::AtomHTMLToken::characters const):
(WebCore::AtomHTMLToken::charactersIsAll8BitData const):
(WebCore::AtomHTMLToken::comment const):
(WebCore::AtomHTMLToken::comment):
(WebCore::AtomHTMLToken::forceQuirks const):
(WebCore::AtomHTMLToken::publicIdentifier const):
(WebCore::AtomHTMLToken::initializeAttributes):
(WebCore::AtomHTMLToken::AtomHTMLToken):
(WebCore::AtomHTMLToken::charactersLength const): Deleted.
- Source/WebCore/html/parser/HTMLConstructionSite.cpp:
(WebCore::setAttributes):
(WebCore::HTMLConstructionSite::insertDoctype):
(WebCore::HTMLConstructionSite::insertComment):
(WebCore::HTMLConstructionSite::insertCommentOnDocument):
(WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
(WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
(WebCore::HTMLConstructionSite::insertForeignElement):
(WebCore::HTMLConstructionSite::createElementFromSavedToken):
- Source/WebCore/html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::constructTreeFromHTMLToken):
- Source/WebCore/html/parser/HTMLMetaCharsetParser.cpp:
(WebCore::HTMLMetaCharsetParser::checkForMetaCharset):
- Source/WebCore/html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::scan):
(WebCore::HTMLPreloadScanner::scan):
- Source/WebCore/html/parser/HTMLToken.h:
(WebCore::HTMLToken::clear):
(WebCore::HTMLToken::makeEndOfFile):
(WebCore::HTMLToken::name const):
(WebCore::HTMLToken::appendToName):
(WebCore::HTMLToken::setForceQuirks):
(WebCore::HTMLToken::beginDOCTYPE):
(WebCore::HTMLToken::setPublicIdentifierToEmptyString):
(WebCore::HTMLToken::setSystemIdentifierToEmptyString):
(WebCore::HTMLToken::appendToPublicIdentifier):
(WebCore::HTMLToken::appendToSystemIdentifier):
(WebCore::HTMLToken::selfClosing const):
(WebCore::HTMLToken::setSelfClosing):
(WebCore::HTMLToken::beginStartTag):
(WebCore::HTMLToken::beginEndTag):
(WebCore::HTMLToken::beginAttribute):
(WebCore::HTMLToken::appendToAttributeName):
(WebCore::HTMLToken::appendToAttributeValue):
(WebCore::HTMLToken::attributes const):
(WebCore::HTMLToken::characters const):
(WebCore::HTMLToken::charactersIsAll8BitData const):
(WebCore::HTMLToken::appendToCharacter):
(WebCore::HTMLToken::comment const):
(WebCore::HTMLToken::commentIsAll8BitData const):
(WebCore::HTMLToken::beginComment):
(WebCore::HTMLToken::appendToComment):
(WebCore::HTMLToken::HTMLToken): Deleted.
- Source/WebCore/html/parser/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::saveEndTagNameIfNeeded):
(WebCore::HTMLTokenizer::haveBufferedCharacterToken const):
- Source/WebCore/html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
(WebCore::HTMLTreeBuilder::processToken):
(WebCore::HTMLTreeBuilder::processDoctypeToken):
(WebCore::HTMLTreeBuilder::processFakeStartTag):
(WebCore::HTMLTreeBuilder::processFakeEndTag):
(WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processEndOfFileForInTemplateContents):
(WebCore::HTMLTreeBuilder::processStartTagForInTable):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
(WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
(WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
(WebCore::HTMLTreeBuilder::processEndTagForInRow):
(WebCore::HTMLTreeBuilder::processEndTagForInCell):
(WebCore::HTMLTreeBuilder::processEndTagForInBody):
(WebCore::HTMLTreeBuilder::processEndTagForInTable):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processComment):
(WebCore::HTMLTreeBuilder::processCharacter):
(WebCore::HTMLTreeBuilder::insertPhoneNumberLink):
(WebCore::HTMLTreeBuilder::processEndOfFile):
(WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
(WebCore::HTMLTreeBuilder::defaultForBeforeHead):
(WebCore::HTMLTreeBuilder::defaultForInHead):
(WebCore::HTMLTreeBuilder::defaultForInHeadNoscript):
(WebCore::HTMLTreeBuilder::defaultForAfterHead):
(WebCore::HTMLTreeBuilder::processStartTagForInHead):
(WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
(WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
(WebCore::HTMLTreeBuilder::processScriptStartTag):
(WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent):
(WebCore::HTMLTreeBuilder::processTokenInForeignContent):
- Source/WebCore/html/parser/TextDocumentParser.cpp:
(WebCore::TextDocumentParser::insertFakePreElement):
Canonical link: https://commits.webkit.org/251314@main
- 11:32 AM Changeset in webkit [295267] by
-
- 2 edits in trunk/Tools/CISupport/build-webkit-org
Temporarily disable lldb-webkit-test on Monterey
https://bugs.webkit.org/show_bug.cgi?id=241294
Reviewed by Aakash Jain.
Temporarily disable lldb-webkit-test on Monterey until webkit.org/b/239463
can be resolved or worked around.
- Tools/CISupport/build-webkit-org/factories.py:
(TestFactory.init):
- Tools/CISupport/build-webkit-org/factories_unittest.py:
(TestExpectedBuildSteps):
Canonical link: https://commits.webkit.org/251313@main
- 7:26 AM Changeset in webkit [295266] by
-
- 2 edits in trunk/Source/WebCore/layout/formattingContexts/flex
Add basic 'flex-wrap: wrap' support
https://bugs.webkit.org/show_bug.cgi?id=241300
Reviewed by Antti Koivisto.
- compute wrap positions by simply checking for overflow as walking the flex item list.
- let each function operate on the range instead of the entire list.
- Source/WebCore/layout/formattingContexts/flex/FlexLayout.cpp:
(WebCore::Layout::FlexLayout::computeWrappingPositions const):
(WebCore::Layout::FlexLayout::computeLogicalWidthForShrinkingFlexItems):
(WebCore::Layout::FlexLayout::computeLogicalWidthForStretchingFlexItems):
(WebCore::Layout::FlexLayout::computeLogicalWidthForFlexItems):
(WebCore::Layout::FlexLayout::computeLogicalHeightForFlexItems):
(WebCore::Layout::FlexLayout::alignFlexItems):
(WebCore::Layout::FlexLayout::justifyFlexItems):
(WebCore::Layout::FlexLayout::layout):
- Source/WebCore/layout/formattingContexts/flex/FlexLayout.h:
Canonical link: https://commits.webkit.org/251312@main
- 7:01 AM Changeset in webkit [295265] by
-
- 5 edits3 adds1 delete in trunk
[IFC] Support text-align-last: justify
https://bugs.webkit.org/show_bug.cgi?id=241301
<rdar://94384891>
Reviewed by Alan Bujtas.
text-align: justifyalready worked for the legacy line layout, but not in IFC. Add support for it and a corresponding WPT.
Also removed
text-justify: nonehandling from legacy line layout, since IFC doesn't handle it, and legacy line layout also doesn't handle it correctly either. Thankfullytext-justifyis disabled by default.
- LayoutTests/TestExpectations:
- LayoutTests/fast/css3-text/css3-text-align-last/text-align-last-with-text-align-justify-expected.html: Removed.
- LayoutTests/fast/css3-text/css3-text-align-last/text-align-last-with-text-align-justify.html: Removed.
Removed tests that were wrong, compared with other browsers to verify.
- LayoutTests/imported/w3c/resources/resource-files.json:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last.html: Added.
Upstream WPT PR: https://github.com/web-platform-tests/wpt/pull/34308
- Source/WebCore/layout/formattingContexts/inline/InlineLine.cpp:
(WebCore::Layout::Line::applyRunExpansion):
- Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::close):
- Source/WebCore/rendering/LegacyLineLayout.cpp:
(WebCore::LegacyLineLayout::textAlignmentForLine const):
Canonical link: https://commits.webkit.org/251311@main
- 6:23 AM Changeset in webkit [295264] by
-
- 3 edits in trunk
Update query container layout unconditionally when ancestor style changes
https://bugs.webkit.org/show_bug.cgi?id=241302
Reviewed by Alan Bujtas.
In some cases we incorrectly optimize away the layout.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/display-none-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/pseudo-elements-004-expected.txt:
- Source/WebCore/style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::resolveComposedTree):
Do the query container update even when shouldIterateChildren is false. While there is no reason to iterate children
now there may be after the query container layout has been updated.
Canonical link: https://commits.webkit.org/251310@main
- 5:48 AM Changeset in webkit [295263] by
-
- 3 edits in trunk/Source/WebCore/layout/formattingContexts/flex
Introduce LineRange to be able to layout just a subset
https://bugs.webkit.org/show_bug.cgi?id=241299
Reviewed by Antti Koivisto.
This is in preparation for supporting flex-wrap: wrap.
LineRange keeps track of the flex items associated with the current line. In case of no-wrap, the range is [0, number of flex items].
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::convertFlexItemsToLogicalSpace): This is already coming in as logical.
- Source/WebCore/layout/formattingContexts/flex/FlexLayout.cpp:
(WebCore::Layout::FlexLayout::computeAvailableLogicalVerticalSpace const):
(WebCore::Layout::FlexLayout::computeAvailableLogicalHorizontalSpace const):
(WebCore::Layout::FlexLayout::computeWrappingPositions const):
(WebCore::Layout::FlexLayout::computeLogicalWidthForShrinkingFlexItems):
(WebCore::Layout::FlexLayout::computeLogicalWidthForStretchingFlexItems):
(WebCore::Layout::FlexLayout::computeLogicalWidthForFlexItems):
(WebCore::Layout::FlexLayout::computeLogicalHeightForFlexItems):
(WebCore::Layout::FlexLayout::alignFlexItems):
(WebCore::Layout::FlexLayout::justifyFlexItems):
(WebCore::Layout::FlexLayout::layout):
- Source/WebCore/layout/formattingContexts/flex/FlexLayout.h:
Canonical link: https://commits.webkit.org/251309@main
- 5:45 AM Changeset in webkit [295262] by
-
- 9 edits in trunk/Source/WebCore/html/parser
Try moving HTMLStackItem in the HTML parser instead of using reference counting
https://bugs.webkit.org/show_bug.cgi?id=240700
Reviewed by Chris Dumez.
A/B testing indicates that this is performance neutral on Speedometer
on an Apple Silicon Mac, and a 0.23% speedup on an Intel Mac. On that basis,
this simplfication seems worth doing.
- Source/WebCore/html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML): Use constructor
instead of create function.
(WebCore::HTMLConstructionSite::insertHTMLHeadElement): Ditto.
(WebCore::HTMLConstructionSite::insertHTMLBodyElement): Ditto.
(WebCore::HTMLConstructionSite::insertHTMLFormElement): Ditto.
(WebCore::HTMLConstructionSite::insertHTMLElement): Ditto.
(WebCore::HTMLConstructionSite::insertHTMLElementOrFindCustomElementInterface): Ditto.
(WebCore::HTMLConstructionSite::insertCustomElement): Ditto.
(WebCore::HTMLConstructionSite::insertFormattingElement): Ditto.
(WebCore::HTMLConstructionSite::insertScriptElement): Ditto.
(WebCore::HTMLConstructionSite::insertForeignElement): Ditto.
(WebCore::HTMLConstructionSite::insertAlreadyParsedChild): Ditto.
(WebCore::HTMLConstructionSite::takeAllChildrenAndReparent): Ditto.
(WebCore::HTMLConstructionSite::createElementFromSavedToken): Ditto.
(WebCore::HTMLConstructionSite::reconstructTheActiveFormattingElements): Ditto.
- Source/WebCore/html/parser/HTMLConstructionSite.h: Changed return value
to be HTMLStackItem instead of Ref<HTMLStackItem> and changed headStackItem
to return HTMLStackItem&. Since HTMLStackItem now has a null value it does
not need to be a pointer.
- Source/WebCore/html/parser/HTMLElementStack.cpp:
(WebCore::HTMLElementStack::ElementRecord::ElementRecord): Take an HTMLStackItem&&
instead of a Ref<HTMLStackItem>&&.
(WebCore::HTMLElementStack::ElementRecord::replaceElement): Ditto.
(WebCore::HTMLElementStack::pushRootNode): Ditto.
(WebCore::HTMLElementStack::pushHTMLHtmlElement): Ditto.
(WebCore::HTMLElementStack::pushRootNodeCommon): Ditto.
(WebCore::HTMLElementStack::pushHTMLHeadElement): Ditto.
(WebCore::HTMLElementStack::pushHTMLBodyElement): Ditto.
(WebCore::HTMLElementStack::push): Ditto.
(WebCore::HTMLElementStack::insertAbove): Ditto.
(WebCore::HTMLElementStack::pushCommon): Ditto.
- Source/WebCore/html/parser/HTMLElementStack.h: Updated for the above changes,
and changed the ElementRecord class to use HTMLStackItem. Maybe eventually we
could figure out how to optimize further by using a data structure other than
a singly linked list, to avoid having to allocate a memory block each time we
create one of these. Or at least find a way to recycle as we push and pop.
- Source/WebCore/html/parser/HTMLFormattingElementList.cpp:
(WebCore::HTMLFormattingElementList::closestElementInScopeWithName): Update
to use the reference instead of pointer.
(WebCore::HTMLFormattingElementList::swapTo): Take an HTMLStackItem&&
instead of a Ref<HTMLStackItem>&&. Also added a missing WTFMove in one case.
(WebCore::HTMLFormattingElementList::append): Ditto.
(WebCore::HTMLFormattingElementList::tryToEnsureNoahsArkConditionQuickly):
Changed to use a return value instead of an out argument.
(WebCore::HTMLFormattingElementList::ensureNoahsArkCondition): Updated
for the above and tweaked formatting a bit.
- Source/WebCore/html/parser/HTMLFormattingElementList.h: Changed Entry
to store a HTMLStackItem instead of a RefPtr<HTMLStackItem>. Also
updated for the above.
- Source/WebCore/html/parser/HTMLStackItem.h: Changed HTMLStackItem to
no longer derive from RefCounted. Got rid of the create functions and
replaced them with use of the constructor. Added a default constructor
and a null value. Added an elementOrNull function that is handy for Entry.
Removed the slightly peculiar double-const-ness of this class. We can
probably use const HTMLStackItem more; every member function is const.
- Source/WebCore/html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder): Use HTMLStackItem constructor
instead of the create function.
(WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext): Ditto.
(WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement): Removed const.
(WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElementStackItem): Ditto.
(WebCore::HTMLTreeBuilder::processStartTag): Updated since headStackItem is a reference.
(WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody): Ditto.
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency): Ditto.
(WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): Ditto.
(WebCore::HTMLTreeBuilder::adjustedCurrentStackItem): Ditto.
- Source/WebCore/html/parser/HTMLTreeBuilder.h: Updated for the above.
Canonical link: https://commits.webkit.org/251308@main
- 3:12 AM Changeset in webkit [295261] by
-
- 1 edit in trunk/Source/WebCore/layout/formattingContexts/flex/FlexLayout.cpp
Unreviewed. Fix the build warning below since r295039.
warning: variable ‘accumulatedWidth’ set but not used [-Wunused-but-set-variable]
- Source/WebCore/layout/formattingContexts/flex/FlexLayout.cpp:
(WebCore::Layout::FlexLayout::computeLogicalWidthForStretchingFlexItems):
- 1:30 AM Changeset in webkit [295260] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/filters/FilterImage.cpp
Add checks for overflow in FilterImage::copyImageBytes
https://bugs.webkit.org/show_bug.cgi?id=241296
<rdar://89744102>
Reviewed by Said Abou-Hallawa.
Add overflow checks to copyImageBytes functions in FilterImage class.
- Source/WebCore/platform/graphics/filters/FilterImage.cpp:
(WebCore::copyImageBytes):
Canonical link: https://commits.webkit.org/251306@main
Jun 3, 2022:
- 7:17 PM Changeset in webkit [295259] by
-
- 1 edit in trunk/Source/WebKit/Configurations/BaseTarget.xcconfig
Fix WebKit's PROFILE_DATA_PATH in internal release builds
https://bugs.webkit.org/show_bug.cgi?id=241297
Reviewed by Wenson Hsieh.
WebKit's PROFILE_DATA_PATH_INTERNAL_YES was missing
WebKitAdditions/
in its path name. Just a typo here, WebCore and JavaScriptCore have
correct paths.
- Source/WebKit/Configurations/BaseTarget.xcconfig:
Canonical link: https://commits.webkit.org/251305@main
- 7:09 PM Changeset in webkit [295258] by
-
- 2 edits1 add in trunk
[WTF] Handle "at" in Date parse heuristics to make Date picker work in CNBC.com
https://bugs.webkit.org/show_bug.cgi?id=241258
rdar://93920424
Reviewed by Darin Adler.
AppleICU changes Intl.DateTimeFormat's formatting result to align it to Apple HI. But we
observed regression in CNBC.com since it reparses Intl.DateTimeFormat's string with Date
constructor.
Strictly speaking, there is no guarantee that code works. Date constructor's parsing
is implementation-dependent, and the spec does not require that Intl.DateTimeFormat's output
should be accepted by Date constructor. And this works only for English case anyway even before
this AppleICU change: if date is formatted viaja-JP, then Date constructor does not accept it.
But previously, this English case was working by chance, but now, new ICU format inserts "at"
in the string, and it makes that string unaccepted in Date constructor.
To workaround this web-compatibility issue, we extend our Date parsing heuristics to
accept "at". This is OK since the goal of this heuristics is accepting wider range of date
strings. Also it is OK that accepting English word "at" since this heuristics already handle
weekday and month names in English.
- JSTests/complex.yaml:
- JSTests/complex/intl-date-time-format-date-parse.js: Added.
(shouldBe):
- Source/WTF/wtf/DateMath.cpp:
(WTF::parseDateFromNullTerminatedCharacters):
Canonical link: https://commits.webkit.org/251304@main
- 6:10 PM Changeset in webkit [295257] by
-
- 1 copy in tags/WebKit-7614.1.14.10.11
Tag WebKit-7614.1.14.10.11.
- 6:06 PM Changeset in webkit [295256] by
-
- 9 edits in branches/safari-7614.1.14.10-branch/Source
Versioning.
WebKit-7614.1.14.10.11
- 5:30 PM Changeset in webkit [295255] by
-
- 27 edits in trunk/Source
Web Inspector: remove unused
InspectorFrontendHostattributes and methods
https://bugs.webkit.org/show_bug.cgi?id=241291
Reviewed by Patrick Angle.
- Source/WebCore/inspector/InspectorFrontendHost.idl:
- Source/WebCore/inspector/InspectorFrontendHost.h:
- Source/WebCore/inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::port const): Deleted.
(WebCore::InspectorFrontendHost::append): Deleted.
(WebCore::InspectorFrontendHost::close): Deleted.
- Source/WebCore/inspector/InspectorFrontendClient.h:
- Source/WebCore/inspector/InspectorFrontendClientLocal.h:
(WebCore::InspectorFrontendClientLocal::append): Deleted.
- Source/WebKit/WebProcess/Inspector/WebInspectorUI.messages.in:
- Source/WebKit/WebProcess/Inspector/WebInspectorUI.h:
- Source/WebKit/WebProcess/Inspector/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::didSave): Deleted.
(WebKit::WebInspectorUI::append): Deleted.
(WebKit::WebInspectorUI::didAppend): Deleted.
- Source/WebKit/UIProcess/Inspector/WebInspectorUIProxy.messages.in:
- Source/WebKit/UIProcess/Inspector/WebInspectorUIProxy.h:
- Source/WebKit/UIProcess/Inspector/WebInspectorUIProxy.cpp:
(WebKit::WebInspectorUIProxy::append): Deleted.
(WebKit::WebInspectorUIProxy::platformAppend): Deleted.
- Source/WebKit/UIProcess/Inspector/gtk/WebInspectorUIProxyGtk.cpp:
(WebKit::fileReplaceContentsCallback):
(WebKit::WebInspectorUIProxy::platformAppend): Deleted.
- Source/WebKit/UIProcess/Inspector/mac/WebInspectorUIProxyMac.mm:
(WebKit::WebInspectorUIProxy::platformSave):
(WebKit::WebInspectorUIProxy::platformAppend): Deleted.
- Source/WebKit/UIProcess/Inspector/win/WebInspectorUIProxyWin.cpp:
(WebKit::WebInspectorUIProxy::platformAppend): Deleted.
- Source/WebKit/WebProcess/Inspector/RemoteWebInspectorUI.messages.in:
- Source/WebKit/WebProcess/Inspector/RemoteWebInspectorUI.h:
- Source/WebKit/WebProcess/Inspector/RemoteWebInspectorUI.cpp:
(WebKit::RemoteWebInspectorUI::didSave): Deleted.
(WebKit::RemoteWebInspectorUI::didAppend): Deleted.
(WebKit::RemoteWebInspectorUI::append): Deleted.
- Source/WebKit/UIProcess/Inspector/RemoteWebInspectorUIProxy.messages.in:
- Source/WebKit/UIProcess/Inspector/RemoteWebInspectorUIProxy.h:
- Source/WebKit/UIProcess/Inspector/RemoteWebInspectorUIProxy.cpp:
(WebKit::RemoteWebInspectorUIProxy::append): Deleted.
(WebKit::RemoteWebInspectorUIProxy::platformAppend): Deleted.
- Source/WebKit/UIProcess/Inspector/gtk/RemoteWebInspectorUIProxyGtk.cpp:
(WebKit::remoteFileReplaceContentsCallback):
(WebKit::RemoteWebInspectorUIProxy::platformAppend): Deleted.
- Source/WebKit/UIProcess/Inspector/mac/RemoteWebInspectorUIProxyMac.mm:
(WebKit::RemoteWebInspectorUIProxy::platformSave):
(WebKit::RemoteWebInspectorUIProxy::platformAppend): Deleted.
- Source/WebKit/UIProcess/Inspector/win/RemoteWebInspectorUIProxyWin.cpp:
(WebKit::RemoteWebInspectorUIProxy::platformAppend): Deleted.
- Source/WebKitLegacy/mac/WebCoreSupport/WebInspectorClient.h:
- Source/WebKitLegacy/mac/WebCoreSupport/WebInspectorClient.mm:
(WebInspectorFrontendClient::save):
(WebInspectorFrontendClient::append): Deleted.
- Source/WebKitLegacy/ios/WebCoreSupport/WebInspectorClientIOS.mm:
(WebInspectorFrontendClient::append): Deleted.
- Source/WebInspectorUI/UserInterface/Protocol/InspectorFrontendAPI.js:
(InspectorFrontendAPI.savedURL): Deleted.
(InspectorFrontendAPI.appendedToURL): Deleted.
Canonical link: https://commits.webkit.org/251303@main
- 4:59 PM Changeset in webkit [295254] by
-
- 1 edit in trunk/Source/WebKit/UIProcess/ios/ProcessAssertionIOS.mm
Regression (r294405): missing tiles during scrolling after foregrounding app
https://bugs.webkit.org/show_bug.cgi?id=241280
Reviewed by Chris Dumez.
Partially revert r294405 to disable ProcessStateMonitor that can make UI process fail to take foreground assertion after
app is foregrounded.
- Source/WebKit/UIProcess/ios/ProcessAssertionIOS.mm:
(-[WKProcessAssertionBackgroundTaskManager init]):
(-[WKProcessAssertionBackgroundTaskManager _releaseBackgroundTask]):
Canonical link: https://commits.webkit.org/251302@main
- 4:55 PM Changeset in webkit [295253] by
-
- 2 edits in trunk/Source/WebCore/platform/graphics/avfoundation/objc
[Cocoa][MSE] Frames are displayed "fast forward" during seek operations
https://bugs.webkit.org/show_bug.cgi?id=241234
<rdar://89387951>
Reviewed by Eric Carlson.
When MSE was moved into the GPU process, certain operations that used to be synchronous became
async. This includes seek operations, where the seek request is initiated by the HTMLMediaElement,
async dispatched to the MediaPlayer in the GPU process, and then async dispatched back to the
WebContent process and MediaSource. Immediately prior to this last dispatch, the
SourceBufferPrivateAVFObjC flushes its sample buffer renderers, and during the subsequent async
portion there is an opportunity for the sample buffers to request new data. When that request
occurs before the response to the async dispatch, incorrect samples (future samples from the
previous playback location) are enqueued. These are then flushed again during the async response,
and replaced by correct samples.
Add a new ivar to SourceBufferPrivateAVFObjC that tracks this state, blocking enqueing new samples
while there is a pending seek operation.
- Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
- Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::willSeek):
(WebCore::SourceBufferPrivateAVFObjC::seekToTime):
(WebCore::SourceBufferPrivateAVFObjC::isSeeking const):
Canonical link: https://commits.webkit.org/251300@main
- 4:54 PM Changeset in webkit [295252] by
-
- 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations
[Gardening]: [ Monterey wk2 release ] imported/w3c/web-platform-tests/content-security-policy/inheritance/blob-url-inherits-from-initiator.sub.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=239307
<rdar://91719197>
Unreviewed test gardening.
- LayoutTests/platform/mac-wk2/TestExpectations:
Canonical link: https://commits.webkit.org/251300@main
- 4:49 PM Changeset in webkit [295251] by
-
- 1 edit in trunk/LayoutTests/http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast.html
[ Mac ] http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast.html is a flaky text failure
https://bugs.webkit.org/show_bug.cgi?id=239091
<rdar://problem/91594397>
Unreviewed test fix.
- LayoutTests/http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast.html:
Only listen for
"webkitfullscreenchange"once in case the<video>exiting fullscreen somehow
happens before the test fully finishes.
Canonical link: https://commits.webkit.org/251299@main
- 4:45 PM Changeset in webkit [295250] by
-
- 4 edits2 adds in trunk
[Cocoa] Mail compose doesn't use Bulgarian letter forms when the system language is set to Bulgarian
https://bugs.webkit.org/show_bug.cgi?id=241253
<rdar://problem/94295531>
Reviewed by Cameron McCormack.
Mail compose doesn't set
lang, which causes us to have a null locale string.
String::createCFString() transforms a null string to CFSTR(""), which indicates to Core Text
that it shouldn't use the shaping from the system language. Instead, if the locale string
is null, we should give Core Text a null locale string, so they use the correct shaping.
- LayoutTests/TestExpectations:
- LayoutTests/fast/text/bulgarian-system-language-shaping-expected-mismatch.html: Added.
- LayoutTests/fast/text/bulgarian-system-language-shaping.html: Added.
- LayoutTests/platform/ios/TestExpectations:
- LayoutTests/platform/mac/TestExpectations:
- Source/WebCore/platform/graphics/coretext/FontCoreText.cpp:
(WebCore::Font::applyTransforms const):
Canonical link: https://commits.webkit.org/251298@main
- 4:39 PM Changeset in webkit [295249] by
-
- 1 copy in tags/WebKit-7613.3.3
Tag WebKit-7613.3.3.
- 4:38 PM Changeset in webkit [295248] by
-
- 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations
[Gardening]: [ macOS Debug wk2 EWS ] fast/animation/request-animation-frame-throttling-lowPowerMode.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=241289
<rdar://94371800>
Unreviewed test gardening.
- LayoutTests/platform/mac-wk2/TestExpectations:
Canonical link: https://commits.webkit.org/251297@main
- 4:24 PM Changeset in webkit [295247] by
-
- 2 edits in trunk/Source/WebCore/html/parser
Optimize HTMLToken::appendToAttributeValue()
https://bugs.webkit.org/show_bug.cgi?id=241274
Reviewed by Darin Adler.
Optimize HTMLToken::appendToAttributeValue() by appending all characters at
once instead of one by one.
- Source/WebCore/html/parser/HTMLToken.h:
(WebCore::HTMLToken::appendToAttributeValue):
- Source/WebCore/html/parser/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::processToken):
Canonical link: https://commits.webkit.org/251296@main
- 4:22 PM Changeset in webkit [295246] by
-
- 18 edits in branches/safari-613-branch
Revert 57e001f8c81440562b765975b7ae2b633c8bc66d. rdar://problem/88904160
This reverts commit 57e001f8c81440562b765975b7ae2b633c8bc66d.
- 4:21 PM Changeset in webkit [295245] by
-
- 5 edits in branches/safari-613-branch/Source/WebKit
Revert 637d98e55c078fde1b8a5f7cff22da2cfda99187. rdar://problem/88904160
This reverts commit 637d98e55c078fde1b8a5f7cff22da2cfda99187.
- 4:21 PM Changeset in webkit [295244] by
-
- 4 edits in branches/safari-613-branch
Revert afffb32a8971addf23e6b2cea93a52cbb6199e54. rdar://problem/92015599
This reverts commit afffb32a8971addf23e6b2cea93a52cbb6199e54.
- 4:21 PM Changeset in webkit [295243] by
-
- 5 edits in branches/safari-613-branch
Revert 704644f751c332c5b1001936cf2cd0446f4bea18. rdar://problem/92380002
This reverts commit 704644f751c332c5b1001936cf2cd0446f4bea18.
- 4:21 PM Changeset in webkit [295242] by
-
- 4 edits in branches/safari-613-branch/Source/WebKit
Revert a56ea95c510fc523f36e6f179f2e6a9763418f4e. rdar://problem/88904160
This reverts commit a56ea95c510fc523f36e6f179f2e6a9763418f4e.
- 4:21 PM Changeset in webkit [295241] by
-
- 1 edit in branches/safari-613-branch/Source/WebCore/editing/BreakBlockquoteCommand.cpp
Unreviewed build fix. rdar://14839536
./editing/BreakBlockquoteCommand.cpp:29:10: fatal error: 'CommonAtomStrings.h' file not found
- 4:09 PM Changeset in webkit [295240] by
-
- 58 edits3 copies in trunk
Web Inspector: replace the two "Export Audit" and "Export Result" buttons with a single button that has a picker in the
NSSavePanel
https://bugs.webkit.org/show_bug.cgi?id=241214
<rdar://problem/76775840>
Reviewed by Patrick Angle.
It's odd to have only one "Import" button but two "Export *" buttons in the Audits Tab, Graphics Tab,
etc. Ideally, there'd be just one "Export" button that lets the developer choose what kind of data
to save (i.e. all formats are provided up front, and the developer picks what's actually used).
- Source/WebInspectorUI/UserInterface/Base/FileUtilities.js:
(WI.FileUtilities.canSave): Added.
(WI.FileUtilities.async save): Added.
(WI.FileUtilities.save): Deleted.
- Source/WebCore/inspector/InspectorFrontendHost.idl:
- Source/WebCore/inspector/InspectorFrontendHost.h:
- Source/WebCore/inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::canSave):
(WebCore::InspectorFrontendHost::save):
Introduce a newSaveModethat's used to both check for multi-format saving support and indicate
that a particular save operation has multiple formats. Always require an array ofSaveDatato be
provided when saving, but only expect a single item when the save operation is not multi-format.
- Source/WebInspectorUI/UserInterface/Base/Main.js:
(WI._contextMenuRequested):
(WI._updateDownloadTabBarButton):
(WI._save):
(WI._saveAs):
(WI.archiveMainFrame):
(WI.canArchiveMainFrame):
- Source/WebInspectorUI/UserInterface/Controllers/AuditManager.js:
(WI.AuditManager.prototype.export):
(WI.AuditManager.prototype.export.dataForObject): Added.
- Source/WebInspectorUI/UserInterface/Debug/ProtocolTrace.js:
(WI.ProtocolTrace.prototype.get saveMode): Added.
- Source/WebInspectorUI/UserInterface/Models/TimelineRecording.js:
(WI.TimelineRecording.prototype.get exportMode): Added.
(WI.TimelineRecording.prototype.canExport):
- Source/WebInspectorUI/UserInterface/Views/AuditTestContentView.js:
(WI.AuditTestContentView):
(WI.AuditTestContentView.prototype.get navigationItems):
(WI.AuditTestContentView.prototype.get supportsSave):
(WI.AuditTestContentView.prototype.get saveMode): Added.
(WI.AuditTestContentView.prototype.get saveData):
(WI.AuditTestContentView.prototype._export): Added.
(WI.AuditTestContentView.prototype._updateExportNavigationItems):
(WI.AuditTestContentView.prototype._handleExportTestButtonNavigationItemClicked):
(WI.AuditTestContentView.prototype._handleExportResultButtonNavigationItemClicked):
(WI.AuditTestContentView.prototype._handleExportButtonNavigationItemClicked): Added.
(WI.AuditTestContentView.prototype._exportResult): Deleted.
- Source/WebInspectorUI/UserInterface/Views/AuditTreeElement.js:
(WI.AuditTreeElement.prototype.populateContextMenu):
- Source/WebInspectorUI/UserInterface/Views/ClusterContentView.js:
(WI.ClusterContentView.prototype.get supportsSave):
(WI.ClusterContentView.prototype.get saveMode): Added.
(WI.ClusterContentView.prototype.get saveData):
- Source/WebInspectorUI/UserInterface/Views/ConsoleMessageView.js:
(WI.ConsoleMessageView.prototype._handleContextMenu):
- Source/WebInspectorUI/UserInterface/Views/ContextMenuUtilities.js:
(WI.appendContextMenuItemsForSourceCode):
- Source/WebInspectorUI/UserInterface/Views/DOMTreeContentView.js:
(WI.DOMTreeContentView.prototype.get saveMode): Added.
- Source/WebInspectorUI/UserInterface/Views/HeapSnapshotContentView.js:
(WI.HeapSnapshotContentView):
(WI.HeapSnapshotContentView.prototype._exportSnapshot):
- Source/WebInspectorUI/UserInterface/Views/LogContentView.js:
(WI.LogContentView.prototype.get saveMode): Added.
(WI.LogContentView.prototype._handleContextMenuEvent):
- Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView):
(WI.NetworkTableContentView.prototype.get saveMode): Added.
(WI.NetworkTableContentView.prototype._canExportHAR):
(WI.NetworkTableContentView.prototype._exportHAR):
- Source/WebInspectorUI/UserInterface/Views/RecordingContentView.js:
(WI.RecordingContentView):
(WI.RecordingContentView.prototype.get supportsSave):
(WI.RecordingContentView.prototype.get saveMode): Added.
(WI.RecordingContentView.prototype.get saveData):
(WI.RecordingContentView.prototype._export): Added.
(WI.RecordingContentView.prototype._exportRecording):
(WI.RecordingContentView.prototype._exportReduction):
(WI.RecordingContentView.prototype._updateExportButton):
(WI.RecordingContentView.prototype._handleExportNavigationItemClicked):
- Source/WebInspectorUI/UserInterface/Views/ResourceContentView.js:
(WI.ResourceContentView.prototype.get saveMode): Added.
- Source/WebInspectorUI/UserInterface/Views/ScriptContentView.js:
(WI.ScriptContentView.prototype.get saveMode): Added.
- Source/WebInspectorUI/UserInterface/Views/ShaderProgramContentView.js:
(WI.ShaderProgramContentView):
(WI.ShaderProgramContentView.prototype.get supportsSave):
(WI.ShaderProgramContentView.prototype.get saveMode): Added.
(WI.ShaderProgramContentView.prototype.get saveData):
- Source/WebInspectorUI/UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
(WI.SpreadsheetCSSStyleDeclarationSection.prototype.initialLayout):
(WI.SpreadsheetCSSStyleDeclarationSection.prototype._save):
- Source/WebInspectorUI/UserInterface/Views/TextContentView.js:
(WI.TextContentView.prototype.get saveMode):
- Source/WebInspectorUI/UserInterface/Views/TextResourceContentView.js:
(WI.TextResourceContentView.prototype.get saveData):
- Source/WebInspectorUI/UserInterface/Views/TimelineRecordingContentView.js:
(WI.TimelineRecordingContentView.prototype.get saveMode):
(WI.TimelineRecordingContentView.prototype._exportTimelineRecording):
Indicate the kind ofSaveModethat's used. When multi-format is supported, use it to unify the
export buttons (if applicable). Also make sure to only enable the export button(s) if the desired
SaveModeis supported.
- Source/WebKit/WebProcess/Inspector/WebInspectorUI.h:
- Source/WebKit/WebProcess/Inspector/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::save):
(WebKit::WebInspectorUI::canSave):
- Source/WebKit/WebProcess/Inspector/gtk/WebInspectorUIGtk.cpp:
(WebKit::WebInspectorUI::canSave):
(WebKit::RemoteWebInspectorUI::localizedStringsURL const): Deleted.
- Source/WebKit/WebProcess/Inspector/mac/WebInspectorUIMac.mm:
(WebKit::WebInspectorUI::canSave):
(WebKit::WebInspectorUI::localizedStringsURL const):
(WebKit::webInspectorUILocalizedStringsURL): Deleted.
(WebKit::RemoteWebInspectorUI::localizedStringsURL const): Deleted.
- Source/WebKit/WebProcess/Inspector/win/WebInspectorUIWin.cpp:
(WebKit::WebInspectorUI::canSave):
(WebKit::RemoteWebInspectorUI::localizedStringsURL const): Deleted.
- Source/WebKit/WebProcess/Inspector/RemoteWebInspectorUI.h:
- Source/WebKit/WebProcess/Inspector/RemoteWebInspectorUI.cpp:
(WebKit::RemoteWebInspectorUI::save):
(WebKit::RemoteWebInspectorUI::canSave): Added.
(WebKit::RemoteWebInspectorUI::canLoad): Added.
- Source/WebKit/WebProcess/Inspector/gtk/RemoteWebInspectorUIGtk.cpp: Added.
(WebKit::RemoteWebInspectorUI::canSave):
(WebKit::RemoteWebInspectorUI::canLoad):
(WebKit::RemoteWebInspectorUI::localizedStringsURL const):
- Source/WebKit/WebProcess/Inspector/mac/RemoteWebInspectorUIMac.mm: Added.
(WebKit::RemoteWebInspectorUI::canSave):
(WebKit::RemoteWebInspectorUI::canLoad):
(WebKit::RemoteWebInspectorUI::localizedStringsURL const):
- Source/WebKit/WebProcess/Inspector/win/RemoteWebInspectorUIWin.cpp: Added.
(WebKit::RemoteWebInspectorUI::canSave):
(WebKit::RemoteWebInspectorUI::canLoad):
(WebKit::RemoteWebInspectorUI::localizedStringsURL const):
Currently, macOS supports both single and multi-format saving, GTK supports single format saving,
and windows supports neither.
Drive-by: AddRemoteWebInspectorProxy*files for each platform instead of shoving the code into
the related
WebInspectorProxy*(of the same platform).
- Source/WebKit/UIProcess/Inspector/WebInspectorUIProxy.messages.in:
- Source/WebKit/UIProcess/Inspector/WebInspectorUIProxy.h:
- Source/WebKit/UIProcess/Inspector/WebInspectorUIProxy.cpp:
(WebKit::WebInspectorUIProxy::save):
(WebKit::WebInspectorUIProxy::platformSave):
- Source/WebKit/UIProcess/Inspector/gtk/WebInspectorUIProxyGtk.cpp:
(WebKit::WebInspectorUIProxy::platformSave):
- Source/WebKit/UIProcess/Inspector/mac/WebInspectorUIProxyMac.mm:
(-[WKWebInspectorUISaveController initWithSaveDatas:savePanel:]): Added.
(-[WKWebInspectorUISaveController content]): Added.
(-[WKWebInspectorUISaveController base64Encoded]): Added.
(-[WKWebInspectorUISaveController _updateSavePanel]): Added.
(-[WKWebInspectorUISaveController _popUpButtonAction:]): Added.
(WebKit::WebInspectorUIProxy::showSavePanel):
(WebKit::WebInspectorUIProxy::platformSave): Added.
- Source/WebKit/UIProcess/Inspector/win/WebInspectorUIProxyWin.cpp:
(WebKit::WebInspectorUIProxy::platformSave):
- Source/WebKit/UIProcess/Inspector/RemoteWebInspectorUIProxy.messages.in:
- Source/WebKit/UIProcess/Inspector/RemoteWebInspectorUIProxy.h:
- Source/WebKit/UIProcess/Inspector/RemoteWebInspectorUIProxy.cpp:
(WebKit::RemoteWebInspectorUIProxy::save):
(WebKit::RemoteWebInspectorUIProxy::platformSave):
- Source/WebKit/UIProcess/Inspector/gtk/RemoteWebInspectorUIProxyGtk.cpp:
(WebKit::RemoteWebInspectorUIProxy::platformSave):
- Source/WebKit/UIProcess/Inspector/mac/RemoteWebInspectorUIProxyMac.mm:
(WebKit::RemoteWebInspectorUIProxy::platformSave):
- Source/WebKit/UIProcess/Inspector/win/RemoteWebInspectorUIProxyWin.cpp:
(WebKit::RemoteWebInspectorUIProxy::platformSave):
On macOS, create a shared function to show aNSSavePanelwith anaccessoryViewthat lets the
developer choose which format to save with. On GTK, there should only ever be a singleSaveData
provided (since GTK only supports single format saving), so use that.
- Source/WebKitLegacy/mac/WebCoreSupport/WebInspectorClient.h:
- Source/WebKitLegacy/mac/WebCoreSupport/WebInspectorClient.mm:
(WebInspectorFrontendClient::canSave):
(WebInspectorFrontendClient::save):
- Source/WebKitLegacy/ios/WebCoreSupport/WebInspectorClientIOS.mm:
(WebInspectorFrontendClient::save):
WK1 only supports single format saving, meaning that there should only ever be a singleSaveData
provided, so use that.
- Source/WebCore/inspector/InspectorFrontendClient.h:
(WebCore::InspectorFrontendClient::SaveData::encode const):
(WebCore::InspectorFrontendClient::SaveData::decode):
IPC stuff.
- Source/WebCore/inspector/InspectorFrontendClientLocal.h:
(WebCore::InspectorFrontendClientLocal::canSave):
(WebCore::InspectorFrontendClientLocal::save):
Testing code doesn't (need to) know how to save things.
- Source/WebInspectorUI/UserInterface/Base/URLUtilities.js:
(WI.urlWithoutExtension): Added.
- LayoutTests/inspector/unit-tests/url-utilities.html:
- LayoutTests/inspector/unit-tests/url-utilities-expected.txt:
Drive-by: Added a utility method to help in a
console.assert.
- Source/WebCore/en.lproj/Localizable.strings:
- Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js:
- Source/WebKit/PlatformWin.cmake:
- Source/WebKit/SourcesCocoa.txt:
- Source/WebKit/SourcesGTK.txt:
- Source/WebKit/WebKit.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/251295@main
- 3:29 PM Changeset in webkit [295239] by
-
- 3 edits2 deletes in trunk
Properly implement text-align-last in legacy layout engine and IFC
https://bugs.webkit.org/show_bug.cgi?id=241050
Patch by Kiet Ho <Kiet Ho> on 2022-06-03
Reviewed by Alan Bujtas.
The alignment of the last line in a block always follows the alignment specified
by text-align-last. However, the legacy layout engine currently follows the old
spec, where text-align-last only takes effect when text-align was 'justify' (see [1]
where this was changed), and IFC does not honor text-align-last at all. Fix both the
legacy layout engine and IFC to align the last line according to text-align-last.
Manually tested by running run-webkit-tests with IFC enabled and disabled.
[1]: https://github.com/w3c/csswg-drafts/commit/c1f7023611f2c44d24d5a0647965817902651f58
- LayoutTests/TestExpectations:
- LayoutTests/fast/css3-text/css3-text-align-last/text-align-last-with-text-align-non-justify-expected.html: Removed.
- LayoutTests/fast/css3-text/css3-text-align-last/text-align-last-with-text-align-non-justify.html:
Remove obsolete test that tests the old behavior of text-align-line.
- Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::horizontalAlignmentOffset):
(WebCore::Layout::LineBoxBuilder::build):
- Source/WebCore/rendering/LegacyLineLayout.cpp:
(WebCore::LegacyLineLayout::textAlignmentForLine const):
Canonical link: https://commits.webkit.org/251294@main
- 3:21 PM Changeset in webkit [295238] by
-
- 2 edits in trunk/Tools
webkit-patch:
git amstrips []-enclosed prefixes (e.g. [CMake][WPE]) in a subject
https://bugs.webkit.org/show_bug.cgi?id=241114
Reviewed by Jonathan Bedard.
git-am removes all []-enclosed prefixes from a subject by default.
git-am has --keep-non-patch option that removes only "[PATCH]" prefix.
- Tools/CISupport/ews-build/steps.py:
(run):
- Tools/Scripts/webkitpy/common/checkout/checkout.py:
(apply_patch):
Use--keep-non-patchoption forgit am.
Canonical link: https://commits.webkit.org/251293@main
- 3:08 PM Changeset in webkit [295237] by
-
- 1 edit in trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/AppPrivacyReport.mm
REGRESSION: [ iOS ] Six TestWebKitAPI.AppPrivacyRep ort API tests are a consistent timeout (241233)
https://bugs.webkit.org/show_bug.cgi?id=241233
rdar://94298162
Reviewed by Ryan Haddad.
Avoid connecting to the internet in API tests.
- Tools/TestWebKitAPI/Tests/WebKitCocoa/AppPrivacyReport.mm:
(TEST):
Canonical link: https://commits.webkit.org/251292@main
- 3:02 PM Changeset in webkit [295236] by
-
- 1 edit in trunk/LayoutTests/platform/win/TestExpectations
[Gardening]: [Win] Update expectations for layout tests.
https://bugs.webkit.org/show_bug.cgi?id=172437
Unreviewed test gardening.
- LayoutTests/platform/win/TestExpectations:
Canonical link: https://commits.webkit.org/251291@main
- 2:44 PM Changeset in webkit [295235] by
-
- 1 edit in trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.in
[iOS][GPUP] Add read access to Mobile asset font directory
https://bugs.webkit.org/show_bug.cgi?id=241276
<rdar://89592483>
Reviewed by Geoffrey Garen.
- Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.in:
Canonical link: https://commits.webkit.org/251290@main
- 2:21 PM Changeset in webkit [295234] by
-
- 1 edit in trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm
Enable HEIC decoding for all non-browser apps on macOS
https://bugs.webkit.org/show_bug.cgi?id=241271
<rdar://92983791>
Reviewed by Geoffrey Garen.
Enable HEIC decoding for all non-browser apps on macOS, since this capability is also needed for other apps besides Mail.
We do not want to enable it for Web browsers yet, since this currently requries an unconditional sandbox extension for
trustd.
- Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
Canonical link: https://commits.webkit.org/251289@main
- 2:12 PM Changeset in webkit [295233] by
-
- 3 edits in trunk/Source/WebCore/platform/graphics/texmap
Remove TextureMapperLayer::setChildren(const Vector<GraphicsLayer*>&) to make TextureMapperLayer independent to GraphicsLayer and GraphicsLayerTextureMapper
https://bugs.webkit.org/show_bug.cgi?id=241248
Reviewed by Don Olmstead.
setChildren(const Vector<GraphicsLayer*>&) was taking GraphicsLayer
objects as an argument, and assuming the GraphicsLayer objects were
GraphicsLayerTextureMapper objects. This was a layer violation.
TextureMapperLayer doen't need to know about GraphicsLayer and
GraphicsLayerTextureMapper.
- Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
- Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:
- Source/WebCore/platform/graphics/texmap/TextureMapperLayer.h:
Canonical link: https://commits.webkit.org/251288@main
- 2:08 PM Changeset in webkit [295232] by
-
- 28 edits11 adds8 deletes in trunk
Web Inspector: drop InspectorAdditionsEnabled in favor of new methods on InspectorFrontendhost
https://bugs.webkit.org/show_bug.cgi?id=241192
Reviewed by Patrick Angle.
This removes custom things from standardized IDLs and allows custom functionality necessary for Web
Inspector to be kept inside inspector objects (as well as the fact thatInspectorFrontendHostis
guaranteed to exist, so there's no concern about this functionality not being available).
- Source/WTF/Scripts/Preferences/WebPreferences.yaml:
- Source/WebCore/page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setInspectorAdditionsEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::inspectorAdditionsEnabled const): Deleted.
- Source/WebKit/UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetInspectorAdditionsEnabled): Deleted.
(WKPreferencesGetInspectorAdditionsEnabled): Deleted.
- Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h:
- Source/WebKit/WebProcess/Inspector/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::enableFrontendFeatures):
- Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h:
- Source/WebKitLegacy/mac/WebView/WebPreferences.mm:
(-[WebPreferences inspectorAdditionsEnabled]): Deleted.
(-[WebPreferences setInspectorAdditionsEnabled:]): Deleted.
- Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h:
- Source/WebKitLegacy/win/Interfaces/IWebPreferencesPrivate.idl:
- Source/WebKitLegacy/win/WebPreferenceKeysPrivate.h:
- Source/WebKitLegacy/win/WebPreferences.cpp:
(WebPreferences::initializeDefaultSettings):
(WebPreferences::inspectorAdditionsEnabled): Deleted.
(WebPreferences::setInspectorAdditionsEnabled): Deleted.
- Source/WebKitLegacy/win/WebPreferences.h:
- Source/WebKitLegacy/win/WebView.cpp:
(WebView::notifyPreferencesChanged):
- Tools/DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):
Remove all things related toInspectorAdditionsEnabled.
- Source/WebCore/html/canvas/CanvasPath.idl:
- Source/WebCore/html/canvas/CanvasRenderingContext2D.idl:
- Source/WebCore/html/canvas/OffscreenCanvasRenderingContext2D.idl:
Remove nonstandard functionality gated by
InspectorAdditionsEnabledin standardized IDLs.
- Source/WebCore/inspector/InspectorFrontendHost.h:
- Source/WebCore/inspector/InspectorFrontendHost.idl:
- Source/WebCore/inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::getPath const): Added.
(WebCore::InspectorFrontendHost::getCurrentX const): Added.
(WebCore::InspectorFrontendHost::getCurrentY const): Added.
(WebCore::InspectorFrontendHost::setPath const): Added.
- Source/WebInspectorUI/UserInterface/Base/IDLExtensions.js: Added.
(File.prototype.getPath): Added.
(CanvasRenderingContext2D.prototype.currentX): Added.
(CanvasRenderingContext2D.prototype.currentY): Added.
(CanvasRenderingContext2D.prototype.getPath): Added.
(CanvasRenderingContext2D.prototype.setPath): Added.
Centralize all custom IDL extensions in a new file with the same name so it's very easy to find.
- Source/WebInspectorUI/UserInterface/Base/ImageUtilities.js:
(WI.ImageUtilities.supportsCanvasPathDebugging): Deleted.
- Source/WebInspectorUI/UserInterface/Models/RecordingAction.js:
(WI.RecordingAction.prototype.process):
- Source/WebInspectorUI/UserInterface/Models/RecordingState.js:
(WI.RecordingState.prototype.fromContext):
- Source/WebInspectorUI/UserInterface/Views/RecordingContentView.js:
(WI.RecordingContentView):
(WI.RecordingContentView.prototype.get navigationItems):
(WI.RecordingContentView.prototype.attached):
(WI.RecordingContentView.prototype._generateContentCanvas2D):
- Source/WebInspectorUI/UserInterface/Views/ResourceContentView.js:
(WI.ResourceContentView.prototype.async _handleMapLocalResourceOverrideToFile):
Remove checks based onInspectorAdditionsEnabled(technically they check for the existence of the
custom functionality on the builtin prototype, but that's added based onInspectorAdditionsEnabled).
- Source/WebInspectorUI/UserInterface/Main.html:
- Source/WebInspectorUI/UserInterface/Test.html:
- LayoutTests/fast/canvas/2d.currentPoint.html: Removed.
- LayoutTests/fast/canvas/2d.currentPoint-expected.txt: Removed.
- LayoutTests/fast/canvas/2d.getPath.modification.html: Removed.
- LayoutTests/fast/canvas/2d.getPath.modification-expected.txt: Removed.
- LayoutTests/fast/canvas/2d.getPath.newobject.html: Removed.
- LayoutTests/fast/canvas/2d.getPath.newobject-expected.txt: Removed.
- LayoutTests/fast/canvas/2d.setPath.html: Removed.
- LayoutTests/fast/canvas/2d.setPath-expected.txt: Removed.
- LayoutTests/inspector/idl-extensions/CanvasRenderingContext2D/getPath.html: Added.
- LayoutTests/inspector/idl-extensions/CanvasRenderingContext2D/getPath-expected.txt: Added.
- LayoutTests/inspector/idl-extensions/CanvasRenderingContext2D/get_currentX.html: Added.
- LayoutTests/inspector/idl-extensions/CanvasRenderingContext2D/get_currentX-expected.txt: Added.
- LayoutTests/inspector/idl-extensions/CanvasRenderingContext2D/get_currentY.html: Added.
- LayoutTests/inspector/idl-extensions/CanvasRenderingContext2D/get_currentY-expected.txt: Added.
- LayoutTests/inspector/idl-extensions/CanvasRenderingContext2D/setPath.html: Added.
- LayoutTests/inspector/idl-extensions/CanvasRenderingContext2D/setPath-expected.txt: Added.
Canonical link: https://commits.webkit.org/251287@main
- 2:06 PM Changeset in webkit [295231] by
-
- 2 edits in trunk/Source/WebKit/Shared/RemoteLayerTree
Unreviewed build fix after r295149
- Source/WebKit/Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.cpp:
(WebKit::CGDisplayListImageBufferBackend::getPixelBuffer const):
- Source/WebKit/Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.h:
Fix the build.
Canonical link: https://commits.webkit.org/251286@main
- 2:03 PM Changeset in webkit [295230] by
-
- 2 edits in trunk
HSTS synthesized redirect responses should not be blocked by CORS
https://bugs.webkit.org/show_bug.cgi?id=241003
Reviewed by Youenn Fablet.
If a cross-origin request is made to an http URL that would be upgraded to an https URL
because of HSTS, we synthesize a "response" to call willPerformHTTPRedirection with.
Unfortunately, this response can fail CORS checks causing the request to be unnecessarily blocked.
To prevent this, just add CORS headers to the synthesized responses for HSTS.
- Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:_schemeUpgraded:completionHandler:]):
- Tools/TestWebKitAPI/Tests/WebKitCocoa/HSTS.mm:
(TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/251284@main
- 2:03 PM Changeset in webkit [295229] by
-
- 3 edits in trunk/Tools/CISupport/build-webkit-org
Repurpose arm64 iOS simulator GPUP bot as a general arm64 iOS simulator tester
https://bugs.webkit.org/show_bug.cgi?id=241278
Reviewed by Aakash Jain.
- Tools/CISupport/build-webkit-org/config.json:
- Tools/CISupport/build-webkit-org/factories_unittest.py:
(TestExpectedBuildSteps):
- Tools/CISupport/build-webkit-org/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
Canonical link: https://commits.webkit.org/251284@main
- 2:00 PM Changeset in webkit [295228] by
-
- 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations
[Gardening]: [ macOS Debug wk2 EWS ] fast/animation/request-animation-frame-throttling-detached-iframe.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=241283
<rdar://94364006>
Unreviewed test gardening.
- LayoutTests/platform/mac-wk2/TestExpectations:
Canonical link: https://commits.webkit.org/251283@main
- 1:52 PM Changeset in webkit [295227] by
-
- 31 edits2 adds in trunk
[GPU Process] [Filters] Make PixelBuffer an abstract class
https://bugs.webkit.org/show_bug.cgi?id=240809
<rdar://problem/94117981>
Reviewed by Simon Fraser.
Hide the current underlying memory of PixelBuffer which is 'Uint8ClampedArray'
and move it to a new subclass named ByteArrayPixelBuffer.
All clients should use the virtual methods 'bytes()' and 'sizeInBytes()' to have
access to the pixel bytes. All calls to 'PixelBuffer::tryCreate()' should be
replaced with 'ByteArrayPixelBuffer::tryCreate()'.
In future patches and when GPUProcess applies software filters, we are going to
create new subclass of PixelBuffer for the result FilterImages. This new sub-
class will use SharedMemory as its underlying pixel data and it will attribute
this SharedMemory to WebProcess.
- Source/WebCore/Headers.cmake:
- Source/WebCore/Sources.txt:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebCore/bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::dumpImageBitmap):
(WebCore::CloneDeserializer::readImageBitmap):
- Source/WebCore/html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getImageData):
- Source/WebCore/html/ImageData.cpp:
(WebCore::ImageData::create):
(WebCore::ImageData::pixelBuffer const):
- Source/WebCore/html/ImageData.h:
- Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::getImageData const):
- Source/WebCore/page/PageColorSampler.cpp:
(WebCore::sampleColor):
- Source/WebCore/platform/graphics/GraphicsContextGL.cpp:
(WebCore::GraphicsContextGL::extractPixelBuffer):
- Source/WebCore/platform/graphics/ImageBufferAllocator.cpp:
(WebCore::ImageBufferAllocator::createPixelBuffer const):
- Source/WebCore/platform/graphics/ImageBufferBackend.cpp:
(WebCore::ImageBufferBackend::convertToLuminanceMask):
(WebCore::ImageBufferBackend::getPixelBuffer const):
(WebCore::ImageBufferBackend::putPixelBuffer):
- Source/WebCore/platform/graphics/PixelBuffer.cpp:
(WebCore::PixelBuffer::supportedPixelFormat):
(WebCore::PixelBuffer::PixelBuffer):
(WebCore::PixelBuffer::tryCreateForDecoding): Deleted.
(WebCore::PixelBuffer::tryCreate): Deleted.
(WebCore::PixelBuffer::create): Deleted.
(WebCore::PixelBuffer::bytes const): Deleted.
(WebCore::PixelBuffer::sizeInBytes const): Deleted.
(WebCore::PixelBuffer::createScratchPixelBuffer const): Deleted.
(WebCore::operator<<): Deleted.
- Source/WebCore/platform/graphics/PixelBuffer.h:
(WebCore::PixelBuffer::size const):
(WebCore::PixelBuffer::isByteArrayPixelBuffer const):
(WebCore::PixelBuffer::data const): Deleted.
(WebCore::PixelBuffer::takeData): Deleted.
(WebCore::PixelBuffer::encode const): Deleted.
(WebCore::PixelBuffer::decode): Deleted.
- Source/WebCore/platform/graphics/ShadowBlur.cpp:
(WebCore::ShadowBlur::blurShadowBuffer):
- Source/WebCore/platform/graphics/ByteArrayPixelBuffer.cpp: Added.
(WebCore::ByteArrayPixelBuffer::create):
(WebCore::ByteArrayPixelBuffer::tryCreate):
(WebCore::ByteArrayPixelBuffer::tryCreateForDecoding):
(WebCore::ByteArrayPixelBuffer::ByteArrayPixelBuffer):
(WebCore::ByteArrayPixelBuffer::bytes const):
(WebCore::ByteArrayPixelBuffer::sizeInBytes const):
(WebCore::ByteArrayPixelBuffer::createScratchPixelBuffer const):
- Source/WebCore/platform/graphics/ByteArrayPixelBuffer.h: Added.
(WebCore::ByteArrayPixelBuffer::data const):
(WebCore::ByteArrayPixelBuffer::takeData):
(WebCore::ByteArrayPixelBuffer::encode const):
(WebCore::ByteArrayPixelBuffer::decode):
(isType):
- Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::readPixelsForPaintResults):
(WebCore::GraphicsContextGLANGLE::paintRenderingResultsToPixelBuffer):
- Source/WebCore/platform/graphics/cg/GraphicsContextGLCG.cpp:
(WebCore::GraphicsContextGL::paintToCanvas):
- Source/WebCore/platform/graphics/cg/ImageBufferCGBackend.cpp:
(WebCore::ImageBufferCGBackend::copyCGImageForEncoding const):
- Source/WebCore/platform/graphics/cg/ImageBufferUtilitiesCG.cpp:
(WebCore::encode):
- Source/WebCore/platform/graphics/cv/VideoFrameCV.mm:
(WebCore::VideoFrameCV::createFromPixelBuffer):
- Source/WebCore/platform/graphics/filters/FilterImage.cpp:
(WebCore::copyImageBytes):
- Source/WebCore/rendering/shapes/Shape.cpp:
(WebCore::Shape::createRasterShape):
- Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::RemoteGraphicsContextGL::paintPixelBufferToImageBuffer):
- Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::getPixelBufferForImageBuffer):
- Source/WebKit/Platform/IPC/PixelBufferReference.h:
(IPC::PixelBufferReference::encode const):
(IPC::PixelBufferReference::decode):
- Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
- Tools/TestWebKitAPI/Tests/WebCore/ImageBufferTests.cpp:
(TestWebKitAPI::imageBufferPixelIs):
Canonical link: https://commits.webkit.org/251282@main
- 1:39 PM Changeset in webkit [295226] by
-
- 1 edit in trunk/LayoutTests/platform/win/TestExpectations
[Gardening]: [ Windows EWS ] webanimations/accelerated-animations-and-motion-path.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=241282
<rdar://94362852>
Unreviewed test gardening.
- LayoutTests/platform/win/TestExpectations:
Canonical link: https://commits.webkit.org/251281@main
- 1:31 PM Changeset in webkit [295225] by
-
- 1 edit in trunk/LayoutTests/http/tests/inspector/network/copy-as-fetch.html
New test: http/tests/inspector/network/copy-as-fetch.html is a frequent / flaky failure
https://bugs.webkit.org/show_bug.cgi?id=241279
<rdar://problem/94361782>
Unreviewed text fix.
- LayoutTests/http/tests/inspector/network/copy-as-fetch.html:
Canonical link: https://commits.webkit.org/251280@main
- 1:29 PM Changeset in webkit [295224] by
-
- 14 edits in trunk/Source/WebInspectorUI/UserInterface
Web Inspector: Sources: creating a local override when viewing a resource should automatically place the cursor where it was before
https://bugs.webkit.org/show_bug.cgi?id=218301
<rdar://problem/70773143>
Reviewed by Patrick Angle.
- Source/WebInspectorUI/UserInterface/Base/Main.js:
(WI.showLocalResourceOverride):
If the overriddenWI.Resourceis also provided, grab the selected text and scroll position from
theWI.ContentViewcreated for it (if it exists) and pass it along when showing theWI.ContentView
for the givenWI.LocalResourceOverride.
- Source/WebInspectorUI/UserInterface/Views/ContextMenuUtilities.js:
(WI.appendContextMenuItemsForSourceCode):
- Source/WebInspectorUI/UserInterface/Views/FontResourceContentView.js:
(WI.FontResourceContentView.prototype.dropZoneHandleDrop):
- Source/WebInspectorUI/UserInterface/Views/ImageResourceContentView.js:
(WI.ImageResourceContentView.prototype.dropZoneHandleDrop):
- Source/WebInspectorUI/UserInterface/Views/LocalResourceOverrideTreeElement.js:
(WI.LocalResourceOverrideTreeElement.prototype.willDismissPopover):
- Source/WebInspectorUI/UserInterface/Views/LocalResourceOverrideWarningView.js:
(WI.LocalResourceOverrideWarningView.prototype.initialLayout):
- Source/WebInspectorUI/UserInterface/Views/ResourceContentView.js:
(WI.ResourceContentView.prototype.async _createAndShowLocalResourceOverride):
(WI.ResourceContentView.prototype._handleImportLocalResourceOverride):
Pass along the overriddenWI.Resource.
- Source/WebInspectorUI/UserInterface/Views/TextEditor.js:
(WI.TextEditor.prototype.get scrollOffset): Added.
(WI.TextEditor.prototype.set scrollOffset): Added.
(WI.TextEditor.prototype.revealPosition):
(WI.TextEditor.prototype.revealPosition.revealAndHighlightLine):
(WI.TextEditor.prototype._updateAfterFormatting):
(WI.TextEditor.prototype._revealPendingPositionIfPossible):
Add a way for callers to get/set the scroll position.
Allow callers ofrevealPositionto alsofocusfor instant editability.
Drive-by: Rework the structure of the parameters to make it easier to add new one.
- Source/WebInspectorUI/UserInterface/Views/ResourceClusterContentView.js:
(WI.ResourceClusterContentView.prototype.restoreFromCookie):
(WI.ResourceClusterContentView.prototype.showResponse):
(WI.ResourceClusterContentView.prototype._resourceLoadingDidFinish):
TeachrestoreFromCookiehow to pull out more things (e.g.WI.TextRange,WI.Point, etc.).
Drive-by: Remove parameters fromshowResponseas they're not used anywhere.
- Source/WebInspectorUI/UserInterface/Views/ScriptContentView.js:
(WI.ScriptContentView.prototype.revealPosition):
(WI.ScriptContentView.prototype.restoreFromCookie):
- Source/WebInspectorUI/UserInterface/Views/ShaderProgramContentView.js:
(WI.ShaderProgramContentView.prototype.revealPosition):
- Source/WebInspectorUI/UserInterface/Views/SourceCodeTextEditor.js:
(WI.SourceCodeTextEditor.prototype.dialogWasDismissedWithRepresentedObject):
- Source/WebInspectorUI/UserInterface/Views/TextContentView.js:
(WI.TextContentView.prototype.revealPosition):
- Source/WebInspectorUI/UserInterface/Views/TextResourceContentView.js:
(WI.TextResourceContentView.prototype.revealPosition):
AdjustrevealPositionto simply pass along parameters instead of trying to do things with them.
Canonical link: https://commits.webkit.org/251279@main
- 1:24 PM Changeset in webkit [295223] by
-
- 5 edits in trunk/Source/WebKit/UIProcess
Allow the element fullscreen security heuristic to ignore certain touches
https://bugs.webkit.org/show_bug.cgi?id=241068
Reviewed by Eric Carlson.
- Source/WebKit/UIProcess/API/ios/WKWebViewIOS.h:
- Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _shouldAvoidSecurityHeuristicScoreUpdates]):
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.h:
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _shouldAvoidSecurityHeuristicScoreUpdates]):
- Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenViewController.mm:
(-[WKFullScreenViewController _touchDetected:]):
Canonical link: https://commits.webkit.org/251278@main
- 1:24 PM Changeset in webkit [295222] by
-
- 1 edit in branches/safari-613-branch/Source/WebCore/Modules/cache/WorkerCacheStorageConnection.cpp
Unreviewed build fix. rdar://problem/92853663
FAILURE ./Modules/cache/WorkerCacheStorageConnection.cpp:125:107: error: non-virtual member function marked 'final' hides virtual member function
FAILURE ./Modules/cache/WorkerCacheStorageConnection.cpp:119:72: error: allocating an object of abstract class type 'WebCore::StoppedCacheStorageConnection'
- 1:24 PM Changeset in webkit [295221] by
-
- 1 edit in branches/safari-613-branch/Source/WebCore/animation/KeyframeEffect.cpp
Revert 41769648c46b. rdar://problem/93513759
This reverts commit dc0c4463e249c835881c42cc7446662a85914ae1.
- 1:19 PM Changeset in webkit [295220] by
-
- 1 edit in trunk/LayoutTests/platform/win/TestExpectations
[Gardening]: [ Windows ] two tests imported/blink and fast/layers are a consistent failure
https://bugs.webkit.org/show_bug.cgi?id=241281
<rdar://94362021>
Unreviewed test gardening.
- LayoutTests/platform/win/TestExpectations:
Canonical link: https://commits.webkit.org/251277@main
- 12:59 PM Changeset in webkit [295219] by
-
- 26 edits in trunk
Implement CSSNumericValue.to
https://bugs.webkit.org/show_bug.cgi?id=241167
Reviewed by Chris Dumez.
- LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssRotate.tentative-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/cssMathValue.tentative-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/to.tentative-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/toSum.tentative-expected.txt:
- Source/WebCore/css/CSSUnits.cpp:
(WebCore::canonicalUnitType): Deleted.
- Source/WebCore/css/CSSUnits.h:
- Source/WebCore/css/typedom/CSSNumericValue.cpp:
(WebCore::operationOnValuesOfSameUnit):
(WebCore::CSSNumericValue::multiplyInternal):
(WebCore::CSSNumericValue::min):
(WebCore::CSSNumericValue::max):
(WebCore::CSSNumericValue::to):
- Source/WebCore/css/typedom/CSSNumericValue.h:
- Source/WebCore/css/typedom/CSSUnitValue.cpp:
(WebCore::CSSUnitValue::parseUnit):
(WebCore::CSSUnitValue::create):
(WebCore::CSSUnitValue::CSSUnitValue):
(WebCore::conversionToCanonicalUnitsScaleFactor):
(WebCore::CSSUnitValue::convertTo const):
(WebCore::CSSUnitValue::toSumValue const):
(WebCore::numericType): Deleted.
(WebCore::parseUnit): Deleted.
- Source/WebCore/css/typedom/CSSUnitValue.h:
- Source/WebCore/css/typedom/numeric/CSSMathInvert.cpp:
(WebCore::CSSMathInvert::toSumValue const):
- Source/WebCore/css/typedom/numeric/CSSMathInvert.h:
- Source/WebCore/css/typedom/numeric/CSSMathMax.cpp:
(WebCore::CSSMathMax::create):
(WebCore::CSSMathMax::CSSMathMax):
(WebCore::CSSMathMax::toSumValue const):
- Source/WebCore/css/typedom/numeric/CSSMathMax.h:
- Source/WebCore/css/typedom/numeric/CSSMathMin.cpp:
(WebCore::CSSMathMin::create):
(WebCore::CSSMathMin::CSSMathMin):
(WebCore::CSSMathMin::toSumValue const):
- Source/WebCore/css/typedom/numeric/CSSMathMin.h:
- Source/WebCore/css/typedom/numeric/CSSMathNegate.cpp:
(WebCore::CSSMathNegate::toSumValue const):
- Source/WebCore/css/typedom/numeric/CSSMathNegate.h:
- Source/WebCore/css/typedom/numeric/CSSMathProduct.cpp:
(WebCore::CSSMathProduct::toSumValue const):
- Source/WebCore/css/typedom/numeric/CSSMathProduct.h:
- Source/WebCore/css/typedom/numeric/CSSMathSum.cpp:
(WebCore::CSSMathSum::toSumValue const):
- Source/WebCore/css/typedom/numeric/CSSMathSum.h:
- Source/WebCore/css/typedom/numeric/CSSNumericArray.cpp:
(WebCore::CSSNumericArray::forEach):
- Source/WebCore/css/typedom/numeric/CSSNumericType.cpp:
(WebCore::CSSNumericType::create):
(WebCore::typeFromVector):
- Source/WebCore/css/typedom/numeric/CSSNumericType.h:
(WebCore::CSSNumericType::operator!= const):
- Source/WebCore/css/typedom/transform/CSSTransformValue.cpp:
(WebCore::CSSTransformValue::serialize const):
Canonical link: https://commits.webkit.org/251276@main
- 12:57 PM Changeset in webkit [295218] by
-
- 18 edits in trunk/Source/WebCore/html/canvas
WebGL extensions enable code cleanup
https://bugs.webkit.org/show_bug.cgi?id=241264
Patch by Alexey Knyazev <3479527+lexaknyazev@users.noreply.github.com> on 2022-06-03
Reviewed by Kenneth Russell.
- Use extension ctors to enable them in ANGLE. It is safe to
call ensureExtensionEnabled even when ANGLE is not used
- Do not request ARB-prefixed extensions from ANGLE
- Fixed duplicated extension enable requests for
- ANGLE_instanced_arrays
- OES_fbo_render_mipmap
- WEBGL_draw_buffers
- Directly check for enabled extensions in
WebGL2RenderingContext::renderbufferStorageImpl and
WebGLRenderingContextBase::addExtensionSupportedFormatsAndTypes
instead of scanning through the list of strings
- Source/WebCore/html/canvas/ANGLEInstancedArrays.cpp:
(WebCore::ANGLEInstancedArrays::ANGLEInstancedArrays):
- Source/WebCore/html/canvas/EXTBlendMinMax.cpp:
(WebCore::EXTBlendMinMax::EXTBlendMinMax):
- Source/WebCore/html/canvas/EXTFragDepth.cpp:
(WebCore::EXTFragDepth::EXTFragDepth):
- Source/WebCore/html/canvas/EXTShaderTextureLOD.cpp:
(WebCore::EXTShaderTextureLOD::EXTShaderTextureLOD):
- Source/WebCore/html/canvas/EXTTextureCompressionBPTC.cpp:
(WebCore::EXTTextureCompressionBPTC::EXTTextureCompressionBPTC):
- Source/WebCore/html/canvas/EXTTextureCompressionRGTC.cpp:
(WebCore::EXTTextureCompressionRGTC::EXTTextureCompressionRGTC):
- Source/WebCore/html/canvas/EXTTextureFilterAnisotropic.cpp:
(WebCore::EXTTextureFilterAnisotropic::EXTTextureFilterAnisotropic):
- Source/WebCore/html/canvas/EXTTextureNorm16.cpp:
(WebCore::EXTTextureNorm16::EXTTextureNorm16):
- Source/WebCore/html/canvas/EXTsRGB.cpp:
(WebCore::EXTsRGB::EXTsRGB):
- Source/WebCore/html/canvas/OESElementIndexUint.cpp:
(WebCore::OESElementIndexUint::OESElementIndexUint):
- Source/WebCore/html/canvas/OESStandardDerivatives.cpp:
(WebCore::OESStandardDerivatives::OESStandardDerivatives):
- Source/WebCore/html/canvas/OESTextureFloatLinear.cpp:
(WebCore::OESTextureFloatLinear::OESTextureFloatLinear):
- Source/WebCore/html/canvas/OESTextureHalfFloatLinear.cpp:
(WebCore::OESTextureHalfFloatLinear::OESTextureHalfFloatLinear):
- Source/WebCore/html/canvas/OESVertexArrayObject.cpp:
(WebCore::OESVertexArrayObject::OESVertexArrayObject):
- Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::getExtension):
(WebCore::WebGL2RenderingContext::renderbufferStorageImpl):
- Source/WebCore/html/canvas/WebGLDepthTexture.cpp:
(WebCore::WebGLDepthTexture::WebGLDepthTexture):
- Source/WebCore/html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getExtension):
- Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::addExtensionSupportedFormatsAndTypes):
Canonical link: https://commits.webkit.org/251275@main
- 12:30 PM Changeset in webkit [295217] by
-
- 2 edits1 delete in trunk/LayoutTests
[iOS] editing/selection/ios/do-not-hide-selection-in-visible-container.html fails on iPhone 12 simulator
https://bugs.webkit.org/show_bug.cgi?id=241270
rdar://86025461
Reviewed by Tim Horton.
This test currently fails when run on iPhone 12 simulator. Due to the slightly wider screen size, the row of buttons at
the top of the page no longer wraps to the next line, which in turn causes the output text to have one less space
character when compared to the output on iPhone SE.
To fix this, make the test robust against this difference by removing each button before the end of the test. This also
causes the text ouput on iPad to now match the expected output on iPhone, so we no longer require test expectations that
are specific to iPad vs. iPhone.
- LayoutTests/editing/selection/ios/do-not-hide-selection-in-visible-container-expected.txt:
- LayoutTests/editing/selection/ios/do-not-hide-selection-in-visible-container.html:
- LayoutTests/platform/ipad/editing/selection/ios/do-not-hide-selection-in-visible-container-expected.txt: Removed.
Canonical link: https://commits.webkit.org/251274@main
- 10:11 AM Changeset in webkit [295216] by
-
- 3 edits in trunk/Source/WebCore
[GTK] Fix a couple clang warnings related with DESTINATION_COLOR_SPACE_LINEAR_SRGB and atspi
https://bugs.webkit.org/show_bug.cgi?id=241269
Patch by Philippe Normand <philn@igalia.com> on 2022-06-03
Reviewed by Michael Catanzaro.
- Source/WebCore/accessibility/atspi/AXObjectCacheAtspi.cpp:
(WebCore::AXObjectCache::postPlatformNotification): Add switch case for AXHasPopupChanged, stubbed for now.
- Source/WebCore/platform/graphics/cairo/ImageBufferCairoBackend.cpp:
(WebCore::ImageBufferCairoBackend::transformToColorSpace): makr newColorSpace as unused when
DESTINATION_COLOR_SPACE_LINEAR_SRGB is disabled.
- Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::applyResource): Move svgStyle declaration to
DESTINATION_COLOR_SPACE_LINEAR_SRGB code path.
Canonical link: https://commits.webkit.org/251273@main
- 9:30 AM Changeset in webkit [295215] by
-
- 18 edits in trunk/Source/WebCore
Remove last remnants of old Media Controls related sliders
https://bugs.webkit.org/show_bug.cgi?id=241226
Patch by Philippe Normand <philn@igalia.com> on 2022-06-03
Reviewed by Tim Nguyen.
The
media-*-slider-*parttheme parts are no longer used, so should be removed.
- Source/WebCore/WebCore.order:
- Source/WebCore/accessibility/AccessibilitySlider.cpp:
(WebCore::AccessibilitySlider::orientation const):
- Source/WebCore/css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
- Source/WebCore/css/CSSValueKeywords.in:
- Source/WebCore/css/mediaControls.css:
(:is(audio, video)::-webkit-media-controls-timeline):
- Source/WebCore/css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
- Source/WebCore/html/RangeInputType.cpp:
(WebCore::RangeInputType::handleKeydownEvent):
- Source/WebCore/html/shadow/ShadowPseudoIds.cpp:
(WebCore::ShadowPseudoIds::webkitMediaSliderThumb): Deleted.
(WebCore::ShadowPseudoIds::webkitMediaSliderContainer): Deleted.
- Source/WebCore/html/shadow/ShadowPseudoIds.h:
- Source/WebCore/html/shadow/SliderThumbElement.cpp:
(WebCore::hasVerticalAppearance):
(WebCore::SliderThumbElement::create):
(WebCore::SliderThumbElement::resolveCustomStyle):
(WebCore::SliderContainerElement::create):
(WebCore::SliderThumbElement::shadowPseudoId const): Deleted.
(WebCore::SliderContainerElement::resolveCustomStyle): Deleted.
(WebCore::SliderContainerElement::shadowPseudoId const): Deleted.
- Source/WebCore/html/shadow/SliderThumbElement.h:
(WebCore::SliderThumbElement::create): Deleted.
- Source/WebCore/platform/ThemeTypes.cpp:
(WebCore::operator<<):
- Source/WebCore/platform/ThemeTypes.h:
- Source/WebCore/rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::autoAppearanceForElement const):
(WebCore::RenderTheme::paint):
- Source/WebCore/rendering/RenderTheme.h:
(WebCore::RenderTheme::paintMediaSliderTrack): Deleted.
(WebCore::RenderTheme::paintMediaSliderThumb): Deleted.
(WebCore::RenderTheme::paintMediaVolumeSliderTrack): Deleted.
(WebCore::RenderTheme::paintMediaVolumeSliderThumb): Deleted.
(WebCore::RenderTheme::paintMediaFullScreenVolumeSliderTrack): Deleted.
(WebCore::RenderTheme::paintMediaFullScreenVolumeSliderThumb): Deleted.
- Source/WebCore/rendering/RenderThemeAdwaita.cpp:
(WebCore::parentMediaElement): Deleted.
(WebCore::RenderThemeAdwaita::paintMediaSliderTrack): Deleted.
(WebCore::RenderThemeAdwaita::paintMediaVolumeSliderTrack): Deleted.
- Source/WebCore/rendering/RenderThemeAdwaita.h:
- Source/WebCore/rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintSliderTrack):
Canonical link: https://commits.webkit.org/251272@main
- 9:13 AM Changeset in webkit [295214] by
-
- 9 edits in trunk/Source
Drop unnecessary operator==() overloads for String
https://bugs.webkit.org/show_bug.cgi?id=241235
Reviewed by Alex Christensen.
- Source/WTF/wtf/text/WTFString.h:
(WTF::operator==):
(WTF::operator!=):
Canonical link: https://commits.webkit.org/251271@main
- 8:55 AM Changeset in webkit [295213] by
-
- 6 edits in trunk/Source
Call function to restrict image decoders for all clients
https://bugs.webkit.org/show_bug.cgi?id=240958
<rdar://93794556>
Reviewed by Geoffrey Garen.
Call function to enable HEIC decoding for all clients on iOS. The main motivation behind this patch
is to avoid using IOKit when decoding HEIC or JPEGs with aux HEIC. Calling enableDecodingHEIC() will
make sure IOKit is not being used, as well as enabling HEIC decoding. We previously only did this for
Mail, but decoding of HEIC images should be possible for all clients. We are not enabling this for
all clients on macOS, since macOS is not blocking IOKit in the WebContent process. This patch also
renames the function, since the former name was not accurate.
- Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp:
(WebCore::createImageSourceOptions):
(WebCore::ImageDecoderCG::enableDecodeHEIC):
(WebCore::ImageDecoderCG::decodeHEICEnabled):
(WebCore::ImageDecoderCG::enableRestrictedDecoding): Deleted.
(WebCore::ImageDecoderCG::restrictedDecodingEnabled): Deleted.
- Source/WebCore/platform/graphics/cg/ImageDecoderCG.h:
- Source/WebKit/Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
- Source/WebKit/Shared/WebProcessCreationParameters.h:
- Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
- Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
Canonical link: https://commits.webkit.org/251270@main
- 8:47 AM Changeset in webkit [295212] by
-
- 1 edit in trunk/LayoutTests/platform/win/TestExpectations
[Gardening]: [ Windows EWS ] webanimations/accelerated-transform-animation-from-scale-zero-and-implicit-to-kefyrame.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=241268
<rdar://94347232>
Unreviewed test gardening.
- LayoutTests/platform/win/TestExpectations:
Canonical link: https://commits.webkit.org/251269@main
- 8:29 AM Changeset in webkit [295211] by
-
- 10 edits in trunk
Disallow styles using container units from matched declarations cache
https://bugs.webkit.org/show_bug.cgi?id=241261
Reviewed by Alan Bujtas.
We may fail to invalidate styles using container units correctly on container size change
because they are getting cached.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-invalidation-expected.txt:
- Source/WebCore/css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::computeNonCalcLengthDouble):
Mark styles that use container units.
- Source/WebCore/css/CSSToLengthConversionData.cpp:
(WebCore::CSSToLengthConversionData::defaultViewportFactor const):
(WebCore::CSSToLengthConversionData::smallViewportFactor const):
(WebCore::CSSToLengthConversionData::largeViewportFactor const):
(WebCore::CSSToLengthConversionData::dynamicViewportFactor const):
(WebCore::CSSToLengthConversionData::setUsesContainerUnits const):
- Source/WebCore/css/CSSToLengthConversionData.h:
- Source/WebCore/dom/Document.cpp:
(WebCore::Document::updateViewportUnitsOnResize):
- Source/WebCore/rendering/RenderIFrame.cpp:
(WebCore::RenderIFrame::isFullScreenIFrame const):
- Source/WebCore/rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::RenderStyle):
- Source/WebCore/rendering/style/RenderStyle.h:
(WebCore::RenderStyle::setUsesViewportUnits):
(WebCore::RenderStyle::usesViewportUnits const):
Also rename hasViewportUnits -> usesViewportUnits for clarity.
(WebCore::RenderStyle::setUsesContainerUnits):
(WebCore::RenderStyle::usesContainerUnits const):
(WebCore::RenderStyle::NonInheritedFlags::operator== const):
(WebCore::RenderStyle::NonInheritedFlags::copyNonInheritedFrom):
(WebCore::RenderStyle::setHasViewportUnits): Deleted.
(WebCore::RenderStyle::hasViewportUnits const): Deleted.
- Source/WebCore/style/MatchedDeclarationsCache.cpp:
(WebCore::Style::MatchedDeclarationsCache::isCacheable):
Disallow caching.
(WebCore::Style::MatchedDeclarationsCache::clearEntriesAffectedByViewportUnits):
- Source/WebCore/style/StyleResolver.cpp:
(WebCore::Style::Resolver::styleForElement):
(WebCore::Style::Resolver::pseudoStyleForElement):
Canonical link: https://commits.webkit.org/251268@main
- 8:24 AM Changeset in webkit [295210] by
-
- 1 edit in trunk/Source/WebCore/html/HTMLMapElement.cpp
Allow image map adding/removing when in tree scope
https://bugs.webkit.org/show_bug.cgi?id=241263
Patch by Rob Buis <rbuis@igalia.com> on 2022-06-03
Reviewed by Ryosuke Niwa.
Allow image map adding/removing when in tree scope, even
when disconnected, to avoid insert/remove mismatches.
- Source/WebCore/html/HTMLMapElement.cpp:
(WebCore::HTMLMapElement::parseAttribute):
Canonical link: https://commits.webkit.org/251267@main
- 8:13 AM Changeset in webkit [295209] by
-
- 1 edit in trunk/LayoutTests/platform/mac-wk1/TestExpectations
[Gardening]: [ macOS wk1 ] compositing/video/video-border-radius.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=241266
Unreviewed test gardening.
- LayoutTests/platform/mac-wk1/TestExpectations:
Canonical link: https://commits.webkit.org/251266@main
- 8:03 AM Changeset in webkit [295208] by
-
- 4 edits in trunk/Source/WebCore/layout
FlexLayout should not use non-logical intrinsic widths
https://bugs.webkit.org/show_bug.cgi?id=241256
Reviewed by Antti Koivisto.
This is in preparation for using logical-intrinsic widths in flex layout.
- Source/WebCore/layout/FormattingState.h:
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::convertFlexItemsToLogicalSpace):
(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):
- Source/WebCore/layout/formattingContexts/flex/FlexLayout.cpp:
(WebCore::Layout::FlexLayout::FlexLayout):
(WebCore::Layout::FlexLayout::computeLogicalWidthForShrinkingFlexItems):
(WebCore::Layout::FlexLayout::computeLogicalWidthForStretchingFlexItems):
- Source/WebCore/layout/formattingContexts/flex/FlexLayout.h:
(WebCore::Layout::FlexLayout::LogicalFlexItem::minimumContentWidth const):
(WebCore::Layout::FlexLayout::LogicalFlexItem::LogicalFlexItem):
(WebCore::Layout::FlexLayout::formattingState const): Deleted.
Canonical link: https://commits.webkit.org/251265@main
- 7:41 AM Changeset in webkit [295207] by
-
- 2 edits in trunk/Source/WebCore/html/parser
Optimize HTMLToken::appendToComment()
https://bugs.webkit.org/show_bug.cgi?id=241250
Reviewed by Yusuke Suzuki.
Append several characters at once whenever possible instead of going one
character at a time. Also avoid updating the m_data8BitCheck data member
when the input characters are not UChars.
- Source/WebCore/html/parser/HTMLToken.h:
(WebCore::HTMLToken::appendToComment):
- Source/WebCore/html/parser/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::processToken):
Canonical link: https://commits.webkit.org/251264@main
- 7:16 AM Changeset in webkit [295206] by
-
- 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations
[Gardening]: [ macOS Debug wk2 EWS ] WebCore::RenderView::paint(WebCore::PaintInfo&, WebCore::LayoutPoint const&)
https://bugs.webkit.org/show_bug.cgi?id=241265
<rdar://94344274>
Unreviewed test gardening.
- LayoutTests/platform/mac-wk2/TestExpectations:
Canonical link: https://commits.webkit.org/251263@main
- 7:00 AM Changeset in webkit [295205] by
-
- 114 edits2 adds in trunk/Source/ThirdParty/ANGLE
Update ANGLE to 2022-05-31 (b6a93d753bdd819ddc0dacb8cea554c86bc4c04e))
https://bugs.webkit.org/show_bug.cgi?id=241140
Patch by Kenneth Russell <kbr@chromium.org> on 2022-06-03
Reviewed by Kimmo Kinnunen.
Contains upstream commits:
git log --oneline 8291f2d3e72eca3a25826b689a013c292ef4ba94..b6a93d753bdd819ddc0dacb8cea554c86bc4c04e --pretty=%h %s
b6a93d753 GL: Temporarily enable validation for all GL calls.
d96cee668 Fix to invalidate cache when binding Transform Feedback.
86fce7a77 Roll SwiftShader from d070309f7d15 to 51c43dc015b7 (1 revision)
31c13df5d Revert "Initialize buffer contents separately from BufferImpl::setData"
213f669d3 Roll Chromium from 312583ebe76f to 85bb5555c93e (843 revisions)
0b533e64c Make GLProgram non-copyable.
9f4b9c650 Vulkan: Refactor command buffer retain calls.
ae74bdb3d Roll vulkan-deps from 528f7d8e618c to 59aa5963cf64 (8 revisions)
33b254fe8 Fix ValidateFragmentShaderColorBufferMaskMatch for indexed masks
e02848080 Roll SwiftShader from 5ca5b0ae5a7d to d070309f7d15 (5 revisions)
23f213d13 Vulkan: Make drawable size uniform
73019edeb Vulkan: SPIR-V Gen: No RelaxedPrecision on bitCount() and findLSB()
a2fe4445d Vulkan: Sync pipeline cache only when truly changed
9ea3967d3 Bug fix in GL_EXT_YUV_target
34cff1a14 Initialize buffer contents separately from BufferImpl::setData
2df17a127 Vulkan: Pack driver uniforms
98c2e169c Vulkan: Reduce pre-rotation spec const to bool
b267c009d Add support for comparison operator in FlatUnorderedSet
ee023e6af D3D11: fix constant buffer cache lookup.
cd42f669a Roll vulkan-deps from 6885957e17e7 to 528f7d8e618c (11 revisions)
5b74b1218 Roll SwiftShader from b5cb037f0292 to 5ca5b0ae5a7d (4 revisions)
aa2201725 Roll Chromium from f86f5d40df44 to 312583ebe76f (401 revisions)
c8989675e FramebufferTest: Add FramebufferConditionalFeedbackLoop test.
ae3de1a8c Add test for primitive state change
cd80b511e Metal: Upstream uniform limits from WebKit
54e08a5af Trace Tests: Remove Pixel 2 expectations.
757b84973 Vulkan: Fix reserve varying for xfb (take 2)
7495509b3 Roll vulkan-deps from c8893896acff to 6885957e17e7 (7 revisions)
7076ae5d0 Roll Chromium from 1f342b327faa to f86f5d40df44 (495 revisions)
891dd5b3d Vulkan: Fix mid-RP draw clear w.r.t growing scissor
7ad48b846 Revert "Add Vulkan backend support for texture labels"
fea195678 Vulkan: Remove removeEarlyFragmentTestsOpt flag
7b880204d Vulkan: Remove invalid ASSERT in DescriptorSetDesc.
4aa0975e6 Vulkan: Support Wayland EGL_DEFAULT_DISPLAY
4a20c9143 D3D: Fix race condition with parallel shader compile.
17750ab06 Roll vulkan-deps from 82a65519c521 to c8893896acff (10 revisions)
ccca0c25b libANGLE: Fix evaluating the sample count
2edb216bf Roll Chromium from d624307d6d25 to 1f342b327faa (484 revisions)
a81524477 Capture/Replay: Override eglCreateImage and eglDestroyImage
c608df696 Code Cleanup
802321922 Add ffz@google.com to OWNERS
615b2c685 D3D: implement whole-struct assignment in SSBOs.
Canonical link: https://commits.webkit.org/251261@main
- 6:59 AM Changeset in webkit [295204] by
-
- 1 edit in trunk/Source/WebCore/rendering/RenderTable.cpp
Layout table captions in simplified layout
https://bugs.webkit.org/show_bug.cgi?id=241262
Patch by Rob Buis <rbuis@igalia.com> on 2022-06-03
Reviewed by Alan Bujtas.
Layout table captions in simplified layout.
- Source/WebCore/rendering/RenderTable.cpp:
(WebCore::RenderTable::simplifiedNormalFlowLayout):
Canonical link: https://commits.webkit.org/251261@main
- 6:31 AM Changeset in webkit [295203] by
-
- 3 edits in trunk/Source/WebCore/layout/formattingContexts/flex
FlexLayout::computeLogicalHeightForFlexItems should check if the logical height value is auto
https://bugs.webkit.org/show_bug.cgi?id=241255
Reviewed by Antti Koivisto.
FlexLayout should always operate on logical values even if just checking whether height/width is auto.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::convertFlexItemsToLogicalSpace):
- Source/WebCore/layout/formattingContexts/flex/FlexLayout.cpp:
(WebCore::Layout::FlexLayout::computeLogicalHeightForFlexItems):
- Source/WebCore/layout/formattingContexts/flex/FlexLayout.h:
(WebCore::Layout::FlexLayout::LogicalFlexItem::setTop):
(WebCore::Layout::FlexLayout::LogicalFlexItem::setLeft):
(WebCore::Layout::FlexLayout::LogicalFlexItem::setWidth):
(WebCore::Layout::FlexLayout::LogicalFlexItem::setHeight):
(WebCore::Layout::FlexLayout::LogicalFlexItem::rect const):
(WebCore::Layout::FlexLayout::LogicalFlexItem::topLeft const):
(WebCore::Layout::FlexLayout::LogicalFlexItem::top const):
(WebCore::Layout::FlexLayout::LogicalFlexItem::bottom const):
(WebCore::Layout::FlexLayout::LogicalFlexItem::left const):
(WebCore::Layout::FlexLayout::LogicalFlexItem::right const):
(WebCore::Layout::FlexLayout::LogicalFlexItem::width const):
(WebCore::Layout::FlexLayout::LogicalFlexItem::height const):
(WebCore::Layout::FlexLayout::LogicalFlexItem::isHeightAuto const):
(WebCore::Layout::FlexLayout::LogicalFlexItem::LogicalFlexItem):
Canonical link: https://commits.webkit.org/251260@main
- 6:27 AM Changeset in webkit [295202] by
-
- 52 edits in trunk/Source/WebCore/html/canvas
WebGL extensions support code cleanup
https://bugs.webkit.org/show_bug.cgi?id=241229
Patch by Alexey Knyazev <3479527+lexaknyazev@users.noreply.github.com> on 2022-06-03
Reviewed by Kenneth Russell.
- Add missing static functions, do not call supportsExtension directly
- Use the same template for all WebGL extension classes
- Remove redundant ENABLE(WEBGL) guards from various WebGL extension headers,
since those are already guarded elsewhere
- Aligned includes in OESVertexArrayObject and WebGLCompressedTextureASTC
- Source/WebCore/html/canvas/ANGLEInstancedArrays.h:
- Source/WebCore/html/canvas/EXTBlendMinMax.cpp:
(WebCore::EXTBlendMinMax::supported):
- Source/WebCore/html/canvas/EXTBlendMinMax.h:
- Source/WebCore/html/canvas/EXTFragDepth.cpp:
(WebCore::EXTFragDepth::supported):
- Source/WebCore/html/canvas/EXTFragDepth.h:
- Source/WebCore/html/canvas/EXTShaderTextureLOD.cpp:
(WebCore::EXTShaderTextureLOD::supported):
- Source/WebCore/html/canvas/EXTShaderTextureLOD.h:
- Source/WebCore/html/canvas/EXTTextureFilterAnisotropic.cpp:
(WebCore::EXTTextureFilterAnisotropic::supported):
- Source/WebCore/html/canvas/EXTTextureFilterAnisotropic.h:
- Source/WebCore/html/canvas/EXTsRGB.cpp:
(WebCore::EXTsRGB::supported):
- Source/WebCore/html/canvas/EXTsRGB.h:
- Source/WebCore/html/canvas/KHRParallelShaderCompile.h:
- Source/WebCore/html/canvas/OESElementIndexUint.cpp:
(WebCore::OESElementIndexUint::supported):
- Source/WebCore/html/canvas/OESElementIndexUint.h:
- Source/WebCore/html/canvas/OESFBORenderMipmap.h:
- Source/WebCore/html/canvas/OESStandardDerivatives.cpp:
(WebCore::OESStandardDerivatives::supported):
- Source/WebCore/html/canvas/OESStandardDerivatives.h:
- Source/WebCore/html/canvas/OESTextureFloat.h:
- Source/WebCore/html/canvas/OESTextureFloatLinear.cpp:
(WebCore::OESTextureFloatLinear::supported):
- Source/WebCore/html/canvas/OESTextureFloatLinear.h:
- Source/WebCore/html/canvas/OESTextureHalfFloat.cpp:
- Source/WebCore/html/canvas/OESTextureHalfFloat.h:
- Source/WebCore/html/canvas/OESTextureHalfFloatLinear.cpp:
(WebCore::OESTextureHalfFloatLinear::supported):
- Source/WebCore/html/canvas/OESTextureHalfFloatLinear.h:
- Source/WebCore/html/canvas/OESVertexArrayObject.cpp:
(WebCore::OESVertexArrayObject::supported):
- Source/WebCore/html/canvas/OESVertexArrayObject.h:
- Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::getExtension):
(WebCore::WebGL2RenderingContext::getSupportedExtensions):
- Source/WebCore/html/canvas/WebGLColorBufferFloat.h:
- Source/WebCore/html/canvas/WebGLCompressedTextureASTC.cpp:
- Source/WebCore/html/canvas/WebGLCompressedTextureASTC.h:
- Source/WebCore/html/canvas/WebGLCompressedTextureATC.cpp:
- Source/WebCore/html/canvas/WebGLCompressedTextureATC.h:
- Source/WebCore/html/canvas/WebGLCompressedTextureETC.cpp:
- Source/WebCore/html/canvas/WebGLCompressedTextureETC.h:
- Source/WebCore/html/canvas/WebGLCompressedTextureETC1.cpp:
- Source/WebCore/html/canvas/WebGLCompressedTextureETC1.h:
- Source/WebCore/html/canvas/WebGLCompressedTexturePVRTC.cpp:
- Source/WebCore/html/canvas/WebGLCompressedTexturePVRTC.h:
- Source/WebCore/html/canvas/WebGLCompressedTextureS3TC.cpp:
- Source/WebCore/html/canvas/WebGLCompressedTextureS3TC.h:
- Source/WebCore/html/canvas/WebGLCompressedTextureS3TCsRGB.cpp:
- Source/WebCore/html/canvas/WebGLCompressedTextureS3TCsRGB.h:
- Source/WebCore/html/canvas/WebGLDebugRendererInfo.cpp:
- Source/WebCore/html/canvas/WebGLDebugRendererInfo.h:
- Source/WebCore/html/canvas/WebGLDebugShaders.cpp:
(WebCore::WebGLDebugShaders::supported):
- Source/WebCore/html/canvas/WebGLDebugShaders.h:
- Source/WebCore/html/canvas/WebGLDepthTexture.cpp:
- Source/WebCore/html/canvas/WebGLDepthTexture.h:
- Source/WebCore/html/canvas/WebGLDrawBuffers.h:
- Source/WebCore/html/canvas/WebGLLoseContext.cpp:
- Source/WebCore/html/canvas/WebGLLoseContext.h:
- Source/WebCore/html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getSupportedExtensions):
Canonical link: https://commits.webkit.org/251259@main
- 5:43 AM Changeset in webkit [295201] by
-
- 3 edits in trunk/Source/WebCore/layout/formattingContexts/flex
FlexLayout::LogicalFlexItem should provide setters and getters
https://bugs.webkit.org/show_bug.cgi?id=241254
Reviewed by Antti Koivisto.
This is in preparation for adding more members to struct LogicalFlexItem.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::convertFlexItemsToLogicalSpace):
(WebCore::Layout::FlexFormattingContext::setFlexItemsGeometry):
- Source/WebCore/layout/formattingContexts/flex/FlexLayout.cpp:
(WebCore::Layout::FlexLayout::computeAvailableLogicalVerticalSpace const):
(WebCore::Layout::FlexLayout::computeAvailableLogicalHorizontalSpace const):
(WebCore::Layout::FlexLayout::computeLogicalWidthForShrinkingFlexItems):
(WebCore::Layout::FlexLayout::computeLogicalWidthForStretchingFlexItems):
(WebCore::Layout::FlexLayout::computeLogicalWidthForFlexItems):
(WebCore::Layout::FlexLayout::computeLogicalHeightForFlexItems):
(WebCore::Layout::FlexLayout::alignFlexItems):
(WebCore::Layout::FlexLayout::justifyFlexItems):
- Source/WebCore/layout/formattingContexts/flex/FlexLayout.h:
(WebCore::Layout::FlexLayout::LogicalFlexItem::setTop):
(WebCore::Layout::FlexLayout::LogicalFlexItem::setLeft):
(WebCore::Layout::FlexLayout::LogicalFlexItem::setWidth):
(WebCore::Layout::FlexLayout::LogicalFlexItem::setHeight):
(WebCore::Layout::FlexLayout::LogicalFlexItem::rect const):
(WebCore::Layout::FlexLayout::LogicalFlexItem::topLeft const):
(WebCore::Layout::FlexLayout::LogicalFlexItem::top const):
(WebCore::Layout::FlexLayout::LogicalFlexItem::bottom const):
(WebCore::Layout::FlexLayout::LogicalFlexItem::left const):
(WebCore::Layout::FlexLayout::LogicalFlexItem::right const):
(WebCore::Layout::FlexLayout::LogicalFlexItem::width const):
(WebCore::Layout::FlexLayout::LogicalFlexItem::height const):
(WebCore::Layout::FlexLayout::LogicalFlexItem::style const):
(WebCore::Layout::FlexLayout::LogicalFlexItem::layoutBox const):
(WebCore::Layout::FlexLayout::LogicalFlexItem::LogicalFlexItem):
Canonical link: https://commits.webkit.org/251258@main
- 2:54 AM Changeset in webkit [295200] by
-
- 10 edits in trunk
Re-evaluate queries after subframe size changes
https://bugs.webkit.org/show_bug.cgi?id=241225
Reviewed by Alan Bujtas.
Container queries in frames don't react to frame size changes.
- LayoutTests/TestExpectations:
Mark imported/w3c/web-platform-tests/css/css-contain/container-queries/inline-size-bfc-floats.html as failure, it has ever
been passing by fluke (there are some containment issues with floats).
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/iframe-in-container-invalidation-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/iframe-invalidation-expected.txt:
- Source/WebCore/css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
Ensure we update layout when there are container queries in a subframe, similar to media queries.
- Source/WebCore/dom/Document.cpp:
(WebCore::Document::resolveStyle):
(WebCore::Document::updateLayout):
- Source/WebCore/page/FrameView.cpp:
(WebCore::FrameView::updateContentsSize):
(WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
- Source/WebCore/page/FrameViewLayoutContext.cpp:
(WebCore::FrameViewLayoutContext::layout):
Move the container query invalidation loop to the main layout function so all paths are covered.
(WebCore::FrameViewLayoutContext::performLayout):
- Source/WebCore/page/FrameViewLayoutContext.h:
- Source/WebCore/style/StyleScopeRuleSets.cpp:
(WebCore::Style::ScopeRuleSets::hasContainerQueries const):
- Source/WebCore/style/StyleScopeRuleSets.h:
Canonical link: https://commits.webkit.org/251257@main
- 1:29 AM Changeset in webkit [295199] by
-
- 1 edit in trunk/Tools/jhbuild/jhbuild-minimal.modules
[JHBuild] Disable gnutls backend in glib-networking and enable openssl backend
https://bugs.webkit.org/show_bug.cgi?id=239324
Reviewed by Carlos Alberto Lopez Perez.
glib-networking uses gnutls backend by default. Ubuntu 18.04's gnutls
doesn't meet the minimal version required by glib-networking. Use
openssl instead.
- jhbuild/jhbuild-minimal.modules: Use openssl backend in glib-networking.
Canonical link: https://commits.webkit.org/251256@main
Jun 2, 2022:
- 11:46 PM Changeset in webkit [295198] by
-
- 2 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick 969b67ab0154. rdar://problem/80059355
Unreviewed, fix the Catalyst build after r292888
MCProfileConnectionis not available on Mac Catalyst.
- UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView _dataOwnerForPasteboard:]):
Canonical link: https://commits.webkit.org/249666@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292896 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:46 PM Changeset in webkit [295197] by
-
- 1 edit2 adds in branches/safari-613-branch
Cherry-pick d323be61003f. rdar://problem/14839536
Breaking out of a quoted reply block by inserting a new paragraph should reset writing direction
https://bugs.webkit.org/show_bug.cgi?id=240778
rdar://14839536
Reviewed by Devin Rousso.
The process of breaking out of a
blockquotevia the "InsertNewlineInQuotedContent" editor command currently works by
splitting theblockquoteinto two sibling elements underneath the same parent container, and then inserting abr
element in between these siblingblockquoteelements. The selection is then moved to the end of the newly created
br, which inherits the writing direction (dir) of the element containing theblockquote. In the case of Mail, if
the system language is right-to-left but the quoted content is left-to-right, this can lead to some unintuitive behavior
when breaking out of quoted LTR content, since the newly created line break will inherit the right-to-left direction of
its ancestor.
To fix this, in the case where we're breaking out of a
blockquoteand the start of the selection is left-to-right but
the element that contains theblockquoteis right-to-left, we can wrap thebrin another block-level container
element withdir=autoto avoid inheriting the writing direction from theblockquote's ancestor. This means that the
writing direction of the newly inserted paragraph will automatically be determined by what the user types.
Test: editing/execCommand/reset-direction-after-breaking-blockquote.html
- LayoutTests/editing/execCommand/reset-direction-after-breaking-blockquote-expected.txt: Added.
- LayoutTests/editing/execCommand/reset-direction-after-breaking-blockquote.html: Added.
- Source/WebCore/editing/BreakBlockquoteCommand.cpp: (WebCore::BreakBlockquoteCommand::doApply):
Canonical link: https://commits.webkit.org/250901@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294714 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:46 PM Changeset in webkit [295196] by
-
- 5 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick c8efcc3a72bc. rdar://problem/90913864
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:
Canonical link: https://commits.webkit.org/249896@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293232 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:46 PM Changeset in webkit [295195] by
-
- 3 edits2 adds in branches/safari-613-branch
Cherry-pick 91f59a5ac796. rdar://problem/90245637
Crash in KeyframeList.cpp:183 in WebCore::KeyframeList::fillImplicitKeyframes
https://bugs.webkit.org/show_bug.cgi?id=237858
Reviewed by Antoine Quint.
Source/WebCore:
When filling implicit key frames, we iterate through the current keyframes (m_keyframes),
and cache the address of the implicitZeroKeyframe and implicitOneKeyframe.
However, if we're not provided with an existing implicit zero keyframe, we will create a new one
and insert it to the list of current keyframes.
This mutates m_keyframes and the old address for the implicitOneKeyframe would no longer be valid.
Thus we should iterate through the current keyframes, after the insertion, to get the latest address.
Test: animations/fill-implicit-keyframes-crash.html
- rendering/style/KeyframeList.cpp: (WebCore::KeyframeList::fillImplicitKeyframes):
LayoutTests:
- animations/fill-implicit-keyframes-crash-expected.txt: Added.
- animations/fill-implicit-keyframes-crash.html: Added.
Canonical link: https://commits.webkit.org/248420@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291281 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:45 PM Changeset in webkit [295194] by
-
- 2 edits in branches/safari-613-branch
Cherry-pick 706e3063ae33. rdar://problem/86832561
[css-values-4] logical
*vi(inline) and*vb(block) viewport units should be based on the current element'swriting-mode
https://bugs.webkit.org/show_bug.cgi?id=234373
<rdar://problem/86832561>
Reviewed by Tim Nguyen.
Previously, we only looked at the root element's
writing-mode. Looking at the current element's
writing-modeallows for non-root elements to have awriting-modeindependent of the root element,
as well as having styles based on that. This was changed in <https://github.com/w3c/csswg-drafts/issues/6873>.
Tests: CSSViewportUnits.AllSame
CSSViewportUnits.MinimumViewportInsetWithWritingMode
CSSViewportUnits.MaximumViewportInsetWithWritingMode
CSSViewportUnits.EmptyUnobscuredSizeOverrides
CSSViewportUnits.SameUnobscuredSizeOverrides
CSSViewportUnits.DifferentUnobscuredSizeOverrides
CSSViewportUnits.SVGDocument
- Source/WebCore/css/CSSPrimitiveValue.cpp: (WebCore::lengthOfViewportPhysicalAxisForLogicalAxis): (WebCore::CSSPrimitiveValue::computeNonCalcLengthDouble):
- Tools/TestWebKitAPI/Tests/WebKitCocoa/CSSViewportUnits.mm: (changeCSSPropertyOfElements): Added. (TEST.CSSViewportUnits.AllSame): (TEST.CSSViewportUnits.MinimumViewportInsetWithWritingMode): (TEST.CSSViewportUnits.MaximumViewportInsetWithWritingMode): (TEST.CSSViewportUnits.EmptyUnobscuredSizeOverrides): (TEST.CSSViewportUnits.SameUnobscuredSizeOverrides): (TEST.CSSViewportUnits.DifferentUnobscuredSizeOverrides): (TEST.CSSViewportUnits.SVGDocument):
Canonical link: https://commits.webkit.org/250835@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294609 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:45 PM Changeset in webkit [295193] by
-
- 5 edits in branches/safari-613-branch/Source/JavaScriptCore
Cherry-pick 31381facf3cc. rdar://problem/87220688
Better handle clobbered registers in O0 register allocation
https://bugs.webkit.org/show_bug.cgi?id=240205
<rdar://87220688>
Reviewed by Yusuke Suzuki.
This patch makes Air's O0 register allocator better handle clobbered
registers. We now model both early and late clobber directly, and use
this to perform a basic interference analysis when allocating a register
to a Tmp. An early clobber interferes with any Use in an instruction, and
any early Defs. A late clobber interferes with any Defs in an instruction,
and any late Uses. What this enables is an early Use can be allocated
to a register that is only late clobbered. And a result can be allocated
to a register that is only early clobbered.
Prior to this, the algorithm had a bug where a Use may be allocated to
a register that is early clobbered.
- b3/air/AirAllocateRegistersAndStackAndGenerateCode.cpp: (JSC::B3::Air::GenerateAndAllocateRegisters::buildLiveRanges): (JSC::B3::Air::GenerateAndAllocateRegisters::alloc): (JSC::B3::Air::GenerateAndAllocateRegisters::freeDeadTmpsIfNeeded): (JSC::B3::Air::GenerateAndAllocateRegisters::assignTmp): (JSC::B3::Air::GenerateAndAllocateRegisters::prepareForGeneration): (JSC::B3::Air::GenerateAndAllocateRegisters::generate):
- b3/air/AirAllocateRegistersAndStackAndGenerateCode.h:
- b3/air/testair.cpp:
- jit/RegisterSet.h:
Canonical link: https://commits.webkit.org/250477@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294087 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:45 PM Changeset in webkit [295192] by
-
- 2 edits in branches/safari-613-branch/Source/WTF
Cherry-pick f822d46cdb31. rdar://problem/93265374
Enforce foreground WebContent memory limit on macOS
https://bugs.webkit.org/show_bug.cgi?id=240397
Reviewed by Chris Dumez.
We removed the foreground memory limit for WebContent on macOS in r272046. But based on some
bug reports that we've seen, it seems like we need to restore some limit to prevent bad user
outcomes when a misbehaving process has runaway memory usage.
This patch adds a foreground memory limit of 8GB or 16GB depending on RAM size. This matches
the limits set by other browsers for their content process.
- wtf/MemoryPressureHandler.cpp: (WTF::thresholdForMemoryKillOfActiveProcess): (WTF::MemoryPressureHandler::thresholdForMemoryKill):
Canonical link: https://commits.webkit.org/250548@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294181 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:45 PM Changeset in webkit [295191] by
-
- 1 edit2 adds in branches/safari-613-branch
Cherry-pick e9396cf1b69b. rdar://problem/92390285
Assertion in RenderTreeBuilder::attachToRenderElementInternal
https://bugs.webkit.org/show_bug.cgi?id=239823
<rdar://92390285>
Reviewed by Alan Bujtas.
- LayoutTests/fast/css/display-content-with-pending-stylesheet-crash-expected.txt: Added.
- LayoutTests/fast/css/display-content-with-pending-stylesheet-crash.html: Added.
- Source/WebCore/style/StyleTreeResolver.cpp: (WebCore::Style::TreeResolver::resolveElement):
We can't skip resolution for elements that we have already computed style for. This includes elements with display:contents.
Canonical link: https://commits.webkit.org/251178@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@295083 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:45 PM Changeset in webkit [295190] by
-
- 1 edit in branches/safari-613-branch/Source/WebCore/loader/cache/CachedRawResource.cpp
Cherry-pick e5db10363bb2. rdar://problem/93781799
Capture WeakPtr to CachedResourceClient in lambdas in CachedRawResource::didAddClient()
https://bugs.webkit.org/show_bug.cgi?id=240828
<rdar://93781799>
Reviewed by Alex Christensen.
Capture WeakPtr to CachedResourceClient in lambdas in CachedRawResource::didAddClient()
instead of a raw pointer, for hardening.
- Source/WebCore/loader/cache/CachedRawResource.cpp: (WebCore::iterateRedirects): (WebCore::CachedRawResource::didAddClient):
Canonical link: https://commits.webkit.org/250896@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294692 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:45 PM Changeset in webkit [295189] by
-
- 3 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick cb6ddf5edf6c. rdar://problem/92853663
Create a stopped CacheStorageConnection for workers in case of detached documents
https://bugs.webkit.org/show_bug.cgi?id=240224
<rdar://problem/92853663>
Reviewed by Chris Dumez.
A worker might not always have a main thread connection as its document may be detached.
In that case, we now create a StoppedCacheStorageConnection that will always return Error::Stopped to any callback.
Covered by existing tests.
- Modules/cache/WorkerCacheStorageConnection.cpp: (WebCore::StoppedCacheStorageConnection::create): (WebCore::createMainThreadConnection): (WebCore::WorkerCacheStorageConnection::WorkerCacheStorageConnection): (WebCore::WorkerCacheStorageConnection::~WorkerCacheStorageConnection): (WebCore::WorkerCacheStorageConnection::create): Deleted.
- Modules/cache/WorkerCacheStorageConnection.h:
Canonical link: https://commits.webkit.org/250442@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294006 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:45 PM Changeset in webkit [295188] by
-
- 5 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick b07ce12ec55d. rdar://problem/92697007
Private relay should fail closed for third party loads if the main resource was loaded over private relay
https://bugs.webkit.org/show_bug.cgi?id=240483
<rdar://92697007>
Patch by Alex Christensen <achristensen@webkit.org> on 2022-05-17
Reviewed by Chris Dumez.
This re-lands the change from r293861 along with r293481 which should fix problems related to rdar://92336270
along with r293591 which should fix performance regressions related to rdar://92458995 but was insufficient.
During a basic browsing test, I found two more places where we were making a NetworkDataTask without setting the
parameters' top origin, one in the SpeculativeLoad constructor and another in WebLoaderStrategy::preconnectTo.
- Source/WebKit/NetworkProcess/NetworkCORSPreflightChecker.cpp: (WebKit::NetworkCORSPreflightChecker::startPreflight):
- Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp: (WebKit::NetworkCache::SpeculativeLoad::SpeculativeLoad):
- Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: (WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
- Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm: (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]): (WebKit::NetworkSessionCocoa::createWebSocketTask):
- Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp: (WebKit::WebLoaderStrategy::preconnectTo):
Canonical link: https://commits.webkit.org/250670@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294371 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:45 PM Changeset in webkit [295187] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick ad5aeb95fb39. rdar://problem/92442408
REGRESSION (r281791): [iOS] WKWebView cannot load local .log file
https://bugs.webkit.org/show_bug.cgi?id=239591
<rdar://problem/92442408>
Unreviewed correction based on a comment from Darin.
- platform/network/ios/WebCoreURLResponseIOS.mm: (WebCore::adjustMIMETypeIfNecessary):
Canonical link: https://commits.webkit.org/250549@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294182 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:45 PM Changeset in webkit [295186] by
-
- 2 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick 9a7e68adec7a. rdar://problem/93329781
Add logging when taking a process assertion synchronously
https://bugs.webkit.org/show_bug.cgi?id=240334
Reviewed by Chris Dumez.
No observable change of behavior.
- UIProcess/ios/ProcessAssertionIOS.mm: (WebKit::ProcessAssertion::acquireSync):
Canonical link: https://commits.webkit.org/250580@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294222 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:45 PM Changeset in webkit [295185] by
-
- 6 edits in branches/safari-613-branch/Source/WebCore/html/track
Cherry-pick 8cfadef7857b. rdar://problem/93512736
TextTrackCue should get its document for its ActiveDOMObject base class
https://bugs.webkit.org/show_bug.cgi?id=240660
<rdar://93512736>
Reviewed by Eric Carlson.
TextTrackCue should get its document for its ActiveDOMObject base class instead
of requiring an extra data member to store it.
- Source/WebCore/html/track/TextTrackCue.cpp: (WebCore::TextTrackCue::TextTrackCue): (WebCore::TextTrackCue::scriptExecutionContext const): (WebCore::TextTrackCue::document const): (WebCore::TextTrackCue::getCueAsHTML): (WebCore::TextTrackCue::rebuildDisplayTree):
- Source/WebCore/html/track/TextTrackCue.h: (WebCore::TextTrackCue::ownerDocument): Deleted.
- Source/WebCore/html/track/TextTrackCueGeneric.cpp: (WebCore::TextTrackCueGeneric::createDisplayTree): (WebCore::TextTrackCueGeneric::setFontSize):
- Source/WebCore/html/track/TextTrackCueGeneric.h:
- Source/WebCore/html/track/VTTCue.cpp: (WebCore::VTTCue::VTTCue): (WebCore::VTTCue::initialize): (WebCore::VTTCue::createDisplayTree): (WebCore::VTTCue::displayTreeInternal): (WebCore::VTTCue::createWebVTTNodeTree): (WebCore::VTTCue::getCueAsHTML): (WebCore::VTTCue::createCueRenderingTree): (WebCore::VTTCue::getDisplayTree): (WebCore::VTTCue::removeDisplayTree):
- Source/WebCore/html/track/VTTCue.h:
Canonical link: https://commits.webkit.org/250757@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294498 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:45 PM Changeset in webkit [295184] by
-
- 1 edit in branches/safari-613-branch/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in
Cherry-pick 69306d30d9ef. rdar://problem/92460835
[macOS][WP] Add required methods to graphics filters
https://bugs.webkit.org/show_bug.cgi?id=240398
<rdar://92460835>
Reviewed by Geoffrey Garen.
Add required methods to graphics filters. These have been observed being used in telemetry.
- Source/WebKit/WebProcess/com.apple.WebProcess.sb.in:
Canonical link: https://commits.webkit.org/250665@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294362 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:45 PM Changeset in webkit [295183] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick 5883fa195996. rdar://problem/92442408
REGRESSION (r281791): [iOS] WKWebView cannot load local .log file
https://bugs.webkit.org/show_bug.cgi?id=239591
<rdar://problem/92442408>
Reviewed by Geoffrey Garen.
The refactoring in Bug 229414 did not retain the old behavior on iOS where local
files (which do not get a MIME type assigned by CFNetwork) passed through the
same 'preferredMIMETypeForFileExtensionFromUTType' logic we use on macOS.
- platform/network/ios/WebCoreURLResponseIOS.mm: (WebCore::adjustMIMETypeIfNecessary):
Canonical link: https://commits.webkit.org/250499@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294118 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:45 PM Changeset in webkit [295182] by
-
- 1 edit in branches/safari-613-branch/Source/WebCore/animation/KeyframeEffect.cpp
Cherry-pick 41769648c46b. rdar://problem/93513759
Need to keep the document alive in KeyframeEffect::processKeyframes()
https://bugs.webkit.org/show_bug.cgi?id=240677
<rdar://93513759>
Reviewed by Saam Barati.
Since the Document is used throughout KeyframeEffect::processKeyframes and it's provided
as a simple reference, we must ensure we keep it alive with a Ref since JS code in a custom
iterator for the keyframes object could cause it to be torn down.
- Source/WebCore/animation/KeyframeEffect.cpp: (WebCore::KeyframeEffect::processKeyframes):
Canonical link: https://commits.webkit.org/250756@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294497 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:45 PM Changeset in webkit [295181] by
-
- 2 edits in branches/safari-613-branch/Source/JavaScriptCore
Cherry-pick 1d5e3b70369b. rdar://problem/93369102
[JSC] Always have non nullptr for WebAssembly.Memory buffer
https://bugs.webkit.org/show_bug.cgi?id=240510
Reviewed by Mark Lam.
This patch adds CagedUniquePtr to allocate a pointer for that.
- Source/JavaScriptCore/runtime/ArrayBuffer.cpp: (JSC::ArrayBuffer::makeShared):
- Source/JavaScriptCore/wasm/js/JSWebAssemblyMemory.cpp: (JSC::JSWebAssemblyMemory::buffer):
Canonical link: https://commits.webkit.org/250639@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294319 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:45 PM Changeset in webkit [295180] by
-
- 1 edit in branches/safari-613-branch/Source/WebKit/UIProcess/ios/ProcessAssertionIOS.mm
Cherry-pick 0f9af8a58c18. rdar://problem/93740263
Bump the priority of iOS ProcessAssertion Queue
https://bugs.webkit.org/show_bug.cgi?id=240784
Patch by Youenn Fablet <youennf@gmail.com> on 2022-05-23
Reviewed by Chris Dumez.
It is important to acquire assertions in a timely manner as otherwise the UIProcess
might think a process is unresponsive.
Bump the priority to WorkQueue::QOS::UserInitiated.
- Source/WebKit/UIProcess/ios/ProcessAssertionIOS.mm: (assertionsWorkQueue):
Canonical link: https://commits.webkit.org/250874@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294650 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:45 PM Changeset in webkit [295179] by
-
- 3 edits2 adds in branches/safari-613-branch
Cherry-pick 07c0107aa7af. rdar://problem/92301472
[selectors] Double script focus after mouse click shouldn't match :focus-visible
https://bugs.webkit.org/show_bug.cgi?id=239472
<rdar://problem/92301472>
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
- web-platform-tests/css/selectors/focus-visible-script-focus-020-expected.txt: Added.
- web-platform-tests/css/selectors/focus-visible-script-focus-020.html: Added.
Source/WebCore:
When you do the second script focus, we were setting
m_latestFocusTrigger to FocusTrigger::Bindings, that makes us lose the
information about the previous element that was focused via mouse
click and start matching :focus-visible on that case.
Test: imported/w3c/web-platform-tests/css/selectors/focus-visible-script-focus-020.html
- dom/Document.cpp: (WebCore::Document::setFocusedElement): We avoid setting m_latestFocusTrigger if we come from script focus. That way we know if the previous focused element was focused via mouse click after several script focus.
Canonical link: https://commits.webkit.org/250373@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293926 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:45 PM Changeset in webkit [295178] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore/html
Cherry-pick 0062ea642e7f. rdar://problem/93525670
MediaController should be an ContextDestructionObserver
https://bugs.webkit.org/show_bug.cgi?id=240749
<rdar://93525670>
Reviewed by Youenn Fablet.
- html/MediaController.cpp: (WebCore::MediaController::MediaController):
- html/MediaController.h:
Canonical link: https://commits.webkit.org/250882@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294664 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:45 PM Changeset in webkit [295177] by
-
- 3 edits in branches/safari-613-branch
Cherry-pick 21a843f63576. rdar://problem/80059355
[iOS] [WK2] Managed pasteboard should function for all managed domains
https://bugs.webkit.org/show_bug.cgi?id=239319
rdar://80059355
Reviewed by Kate Cheney.
Source/WebCore/PAL:
Add an SPI method on
MCProfileConnection.
- pal/spi/ios/ManagedConfigurationSPI.h:
Source/WebKit:
Unless a WebKit client has specified a data owner for the web view that is not _UIDataOwnerUndefined, fall back
to _UIDataOwnerEnterprise when the current domain of the WKWebView is managed (that is, `-[MCProfileConnection
isURLManaged:]` returns YES for the web view's current URL). This allows managed pasteboard to work for all
WebKit clients, if the current URL is managed.
Test: UIPasteboardTests.PerformAsDataOwnerWithManagedURL
- Platform/spi/ios/UIKitSPI.h:
Drive-by fix: move the staged declarations of
-_dataOwnerForCopyand-_dataOwnerForPasteout of the IPI
section, and into the non-internal SDK section.
- UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView _dataOwnerForPasteboard:]):
Tools:
Add a new API test to verify that we fall back to consulting
-[MCProfileConnection isURLManaged:]when
determining the data owner for copy and paste, unless a data owner is already explicitly set on a view in the
responder chain (specifically, the WKWebView).
- TestWebKitAPI/Tests/ios/UIPasteboardTests.mm: (+[TestUIPasteboard _performAsDataOwner:block:]): (-[TestMCProfileConnection isURLManaged:]): (TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/249658@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292888 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:45 PM Changeset in webkit [295176] by
-
- 4 edits in branches/safari-613-branch/Source/WebKit
Apply patch. rdar://problem/88904160
- 11:45 PM Changeset in webkit [295175] by
-
- 5 edits in branches/safari-613-branch
Apply patch. rdar://problem/92380002
- 11:45 PM Changeset in webkit [295174] by
-
- 4 edits in branches/safari-613-branch
Apply patch. rdar://problem/92015599
- 11:44 PM Changeset in webkit [295173] by
-
- 5 edits in branches/safari-613-branch/Source/WebKit
Apply patch. rdar://problem/88904160
- 11:44 PM Changeset in webkit [295172] by
-
- 18 edits in branches/safari-613-branch
Apply patch. rdar://problem/88904160
- 10:41 PM Changeset in webkit [295171] by
-
- 2 edits in trunk/Source/WebCore/html/parser
Optimize HTMLTokenizer::bufferASCIICharacter()
https://bugs.webkit.org/show_bug.cgi?id=241252
Reviewed by Yusuke Suzuki.
Optimize HTMLTokenizer::bufferASCIICharacter() by appending several characters
at once whenever possible.
- Source/WebCore/html/parser/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::processToken):
- Source/WebCore/html/parser/HTMLTokenizer.h:
(WebCore::HTMLTokenizer::bufferCharacters):
Canonical link: https://commits.webkit.org/251255@main
- 10:35 PM Changeset in webkit [295170] by
-
- 2 edits in trunk/Source
Add check for pixel buffer format in RemoteRenderingBackend::getPixelBufferForImageBuffer
https://bugs.webkit.org/show_bug.cgi?id=241243
<rdar://89611041>
Reviewed by Simon Fraser.
Add check to ensure that pixel buffer format is supported.
- Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::getPixelBufferForImageBuffer):
Canonical link: https://commits.webkit.org/251254@main
- 10:31 PM Changeset in webkit [295169] by
-
- 2 edits in trunk/Source/WebCore/loader/cache
Can't load a very large image as an image document
https://bugs.webkit.org/show_bug.cgi?id=241110
<rdar://94126683>
Reviewed by Jer Noble.
Stop flattening the SharedBuffer whenever we received a new segment.
The core logic change to support this was done in https://bugs.webkit.org/show_bug.cgi?id=236695
but the CachedImage wasn't modified at the time (it should have been).
We have to use const_cast for now to minimize the change size, proper solution will be done in
https://bugs.webkit.org/show_bug.cgi?id=241251
- Source/WebCore/loader/cache/CachedImage.cpp:
(WebCore::CachedImage::updateBufferInternal):
(WebCore::CachedImage::updateBuffer):
- Source/WebCore/loader/cache/CachedImage.h:
Canonical link: https://commits.webkit.org/251253@main
- 10:02 PM Changeset in webkit [295168] by
-
- 5 edits in trunk/Source/WebCore/crypto/openssl
[OpenSSL] Treat types as opaque
https://bugs.webkit.org/show_bug.cgi?id=239858
Reviewed by Basuke Suzuki.
LibreSSL 3.5.x made a number of types opaque for compatibility with OpenSSL. Unfortunately
a number of places in the WebCrypto implementation were accessing these structs directly.
Modify the code to use the provided functions to access and modify the types in the same
manner they were being used.
Modified WebCore::convertToBigNumber to return a BIGNUMPtr with a newly allocated BIGNUM.
This change was done because all calls to the function were returning a new BIGNUM rather
than reusing one after transitioning to opaque types. By returning a BIGNUMPtr leaks are
prevented. In the case where OpenSSL expects ownership to be transferred release() is
used.
- Source/WebCore/crypto/openssl/CryptoAlgorithmECDSAOpenSSL.cpp:
- Source/WebCore/crypto/openssl/CryptoKeyECOpenSSL.cpp:
- Source/WebCore/crypto/openssl/CryptoKeyRSAOpenSSL.cpp:
- Source/WebCore/crypto/openssl/OpenSSLUtilities.cpp:
- Source/WebCore/crypto/openssl/OpenSSLUtilities.h:
Canonical link: https://commits.webkit.org/251252@main
- 7:08 PM Changeset in webkit [295167] by
-
- 4 edits in trunk/Source
Optimize HTMLTokenizer::processEntity()
https://bugs.webkit.org/show_bug.cgi?id=241239
Reviewed by Darin Adler.
Optimize HTMLTokenizer::processEntity() by appending all characters in the
StringBuffer at once, instead of one by one.
- Source/WebCore/html/parser/HTMLToken.h:
(WebCore::HTMLToken::appendToCharacters):
- Source/WebCore/html/parser/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::bufferCharacters):
(WebCore::HTMLTokenizer::processEntity):
- Source/WebCore/html/parser/HTMLTokenizer.h:
Canonical link: https://commits.webkit.org/251251@main
- 6:31 PM Changeset in webkit [295166] by
-
- 1 edit in trunk/Source/WebInspectorUI/UserInterface/Views/LayoutDetailsSidebarPanel.js
Web Inspector: Layout details sidebar panel does unnecessary tracking of the selected DOM node's styles
https://bugs.webkit.org/show_bug.cgi?id=241245
rdar://94318782
Reviewed by Devin Rousso.
Code that, among other things, causes a layout when the selected DOM node's styles change should have been removed when
the Box Model diagram was removed from this sidebar panel. Additionally, because that was the only node-specific thing
in this panel, we can persist the sidebar panel even when the selected node is not an element.
- Source/WebInspectorUI/UserInterface/Views/LayoutDetailsSidebarPanel.js:
(WI.LayoutDetailsSidebarPanel):
(WI.LayoutDetailsSidebarPanel.prototype.inspect): Deleted.
(WI.LayoutDetailsSidebarPanel.prototype.supportsDOMNode): Deleted.
(WI.LayoutDetailsSidebarPanel.prototype._nodeStylesRefreshed): Deleted.
(WI.LayoutDetailsSidebarPanel.prototype._nodeStylesNeedsRefreshed): Deleted.
Canonical link: https://commits.webkit.org/251250@main
- 6:07 PM Changeset in webkit [295165] by
-
- 1 edit in trunk/Source/WebCore/accessibility/AXObjectCache.h
Unreviewed !ENABLE(ACCESSIBILITY) build fix for r295139.
- Source/WebCore/accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::relatedObjectIDsFor):
(WebCore::AXObjectCache::relatedObjectsFor): Deleted.
Canonical link: https://commits.webkit.org/251249@main
- 6:04 PM Changeset in webkit [295164] by
-
- 2 edits in trunk/Source/WebInspectorUI/UserInterface
Web Inspector: Layout overlay color swatches don't update saved color until popover is dismissed
https://bugs.webkit.org/show_bug.cgi?id=241244
rdar://94318762
Reviewed by Devin Rousso.
We should save all changes to layout overlay color, not just the state when you close the color picker popover. Not
doing this causes a few issues:
- DOM node badge colors don't update as you dynamically adjust the color for an overlay.
- The new "sample color from screen" can be used without opening the popover for the color picker, which means these
changes are never saved.
Canonical link: https://commits.webkit.org/251248@main
- 5:54 PM Changeset in webkit [295163] by
-
- 1 copy in tags/WebKit-7614.1.15.1
Tag WebKit-7614.1.15.1.
- 5:53 PM Changeset in webkit [295162] by
-
- 9 edits in branches/safari-7614.1.15-branch/Source
Versioning.
WebKit-7614.1.15.1
- 5:48 PM Changeset in webkit [295161] by
-
- 6 edits in trunk/Source/WebInspectorUI/UserInterface
Web Inspector: reference page links don't open externally when inspecting that reference page
https://bugs.webkit.org/show_bug.cgi?id=241246
Reviewed by Patrick Angle.
- Source/WebInspectorUI/UserInterface/Base/ReferencePage.js:
(WI.ReferencePage.prototype.createLinkElement):
- Source/WebInspectorUI/UserInterface/Base/Main.js:
(WI.handlePossibleLinkClick):
(WI.openURL):
- Source/WebInspectorUI/UserInterface/Views/ContextMenuUtilities.js:
(WI.appendContextMenuItemsForURL):
- Source/WebInspectorUI/UserInterface/Views/DOMDetailsSidebarPanel.js:
(WI.DOMDetailsSidebarPanel.prototype._mouseWasClicked):
- Source/WebInspectorUI/UserInterface/Views/DOMTreeContentView.js:
(WI.DOMTreeContentView.prototype._mouseWasClicked.followLink):
- Source/WebInspectorUI/UserInterface/Views/ResourceContentView.js:
(WI.ResourceContentView.prototype._mouseWasClicked):
Drive-by: RefactorWI.openURL(andWI.handlePossibleLinkClick) to haveframebe inoptions.
Canonical link: https://commits.webkit.org/251247@main
- 5:44 PM Changeset in webkit [295160] by
-
- 9 edits in branches/safari-7614.1.14.11-branch/Source
Versioning.
WebKit-7614.1.14.11.5
- 5:39 PM Changeset in webkit [295159] by
-
- 4 edits in trunk/Source
Consolidate NSSpellCheckerSPI to one file.
https://bugs.webkit.org/show_bug.cgi?id=241242
Reviewed by Tim Horton.
Move random bits of SPI that predate our SPI files to the existing SPI files
to clean things up.
- Source/WebCore/PAL/pal/spi/mac/NSSpellCheckerSPI.h:
- Source/WebKit/UIProcess/mac/TextCheckerMac.mm:
- Source/WebKitLegacy/mac/WebCoreSupport/WebEditorClient.mm:
- Source/WebKitLegacy/mac/WebView/WebView.mm:
Canonical link: https://commits.webkit.org/251246@main
- 5:26 PM Changeset in webkit [295158] by
-
- 5 edits in trunk/Source/WebInspectorUI/UserInterface
Web Inspector: Timelines Tab: Screenshots: missing ReferencePage
https://bugs.webkit.org/show_bug.cgi?id=241247
Reviewed by Patrick Angle.
- Source/WebInspectorUI/UserInterface/Base/ReferencePage.js:
- Source/WebInspectorUI/UserInterface/Views/ScreenshotsTimelineView.js:
(WI.ScreenshotsTimelineView.prototype.initialLayout): Added.
(WI.ScreenshotsTimelineView.prototype.layout):
- Source/WebInspectorUI/UserInterface/Views/ScreenshotsTimelineView.css:
(.timeline-view.screenshots > .content-view): Renamed from
.timeline-view.screenshots.
(.timeline-view.screenshots > .content-view > .spacer): Renamed from.timeline-view.screenshots > .spacer.
(.timeline-view.screenshots > .content-view > img): Renamed from.timeline-view.screenshots > img.
(.timeline-view.screenshots > .content-view > img + img): Renamed from.timeline-view.screenshots > img + img.
(.timeline-view.screenshots > .content-view > img.selected): Renamed from.timeline-view.screenshots > img.selected.
(@media (prefers-color-scheme: dark) .timeline-view.screenshots > .content-view): Renamed from@media (prefers-color-scheme: dark) .timeline-view.screenshots.
Wrap all of the<img>inside aWI.ContentView(which also includes the special styling for
WI.createMessageTextViewinside aWI.ContentView) so thatremoveChildrendoesn't also remove
the reference page link.
- Source/WebInspectorUI/UserInterface/Views/TimelineView.css:
(.timeline-view > .reference-page-link-container):
Make sure the reference page link is always on top.
- Source/WebInspectorUI/UserInterface/Views/TimelineView.js:
(WI.TimelineView.prototype.initialLayout):
Assume that aReferencePageis defined so that if it's not, WebKit engineers will catch that more
obviously (i.e. the uncaught exception reporter) instead of having to notice an assertion failure.
Canonical link: https://commits.webkit.org/251245@main
- 5:20 PM Changeset in webkit [295157] by
-
- 4 edits in trunk
PreconnectTask should follow HSTS "redirects"
https://bugs.webkit.org/show_bug.cgi?id=241237
rdar://92870039
Reviewed by Chris Dumez.
NetworkLoadClient::willSendRedirectedRequest requires callees to call
NetworkLoad::continueWillSendRequest when finished.
This should be refactored into a direct completion handler call instead of
storing the completion handler on the NetworkLoad, but that is more invasive
and should be done in a separate PR that will be harder to merge to branches.
- Source/WebKit/NetworkProcess/PreconnectTask.cpp:
(WebKit::PreconnectTask::willSendRedirectedRequest):
- Tools/TestWebKitAPI/Tests/WebKitCocoa/HSTS.mm:
(TestWebKitAPI::TEST):
- Tools/TestWebKitAPI/cocoa/HTTPServer.h:
(TestWebKitAPI::Connection::terminate):
- Tools/TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::Connection::terminate):
Canonical link: https://commits.webkit.org/251244@main
- 5:13 PM Changeset in webkit [295156] by
-
- 1 copy in tags/WebKit-7614.1.14.0.14
Tag WebKit-7614.1.14.0.14.
- 5:08 PM Changeset in webkit [295155] by
-
- 1 edit2 adds in trunk
Regression(r294902) Web Inspector highlight gets stuck when hovering over items.
https://bugs.webkit.org/show_bug.cgi?id=241231
Reviewed by Simon Fraser.
This patch ensures that repaint() goes through for the "about-to-be-destroyed" content.
Staring from r294902, when the RenderLayer says "I am scheduled for a full repaint", any subsequent repaint call on the associated renderer returns early (no repaint) as we are certain that a full repaint is going to be issued still within the current "rendering update" frame as part of the post-layout tasks.
Except this one case when soon after marking the RenderLayer dirty with the "needs full repaint" flag, we destroy both the layer and the associated renderer. In this case the layer has no chance to issue the repaint.
- LayoutTests/fast/repaint/repaint-renderer-with-layer-on-detach-expected.txt: Added.
- LayoutTests/fast/repaint/repaint-renderer-with-layer-on-detach.html: Added.
- Source/WebCore/rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::detachFromRenderElement):
Canonical link: https://commits.webkit.org/251243@main
- 5:05 PM Changeset in webkit [295154] by
-
- 9 edits in branches/safari-7614.1.14.0-branch/Source
Versioning.
WebKit-7614.1.14.0.14
- 4:28 PM Changeset in webkit [295153] by
-
- 1 edit in trunk/Tools/Scripts/webkitpy/common/system/platforminfo.py
Add support for NetBSD
https://bugs.webkit.org/show_bug.cgi?id=241078
Patch by Leonardo Taccari <leot@NetBSD.org> on 2022-06-02
Reviewed by Fujii Hironori.
- Tools/Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo._determine_os_name):
Canonical link: https://commits.webkit.org/251242@main
- 4:16 PM Changeset in webkit [295152] by
-
- 14 edits2 moves in trunk
Web Inspector: Audit: allow audits to be evaluated as a user gesture
https://bugs.webkit.org/show_bug.cgi?id=200276
Reviewed by Patrick Angle.
This will allow developers to create/run audits that pretend to be a user (e.g. play media, etc.).
- Source/WebCore/inspector/InspectorAuditDOMObject.idl:
- Source/WebCore/inspector/InspectorAuditDOMObject.h:
(WebCore::InspectorAuditDOMObject::create):
- Source/WebCore/inspector/InspectorAuditDOMObject.cpp:
(WebCore::InspectorAuditDOMObject::InspectorAuditDOMObject):
(WebCore::InspectorAuditDOMObject::simulateUserInteraction): Added.
- Source/JavaScriptCore/inspector/protocol/Audit.json:
- Source/WebInspectorUI/UserInterface/Models/AuditTestBase.js:
Increment the current audit version number.
- Source/WebCore/inspector/agents/page/PageAuditAgent.h:
(WebCore::PageAuditAgent::inspectedPage const): Added.
Expose a way forInspectorAudit*Objectto access the inspectedPage.
- Source/WebCore/inspector/UserGestureEmulationScope.h: Renamed from Source/WebCore/inspector/agents/page/UserGestureEmulationScope.h.
- Source/WebCore/inspector/UserGestureEmulationScope.cpp: Renamed from Source/WebCore/inspector/agents/page/UserGestureEmulationScope.cpp.
- Source/WebCore/Sources.txt:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
Drive-by: Move this file as it's now used by more than just the
Page*Agentspecializations.
- LayoutTests/inspector/audit/run-dom.html:
- LayoutTests/inspector/audit/run-dom-expected.txt:
- LayoutTests/inspector/model/auditTestCase.html:
- LayoutTests/inspector/model/auditTestCase-expected.txt:
- LayoutTests/inspector/model/auditTestGroup.html:
- LayoutTests/inspector/model/auditTestGroup-expected.txt:
Drive-by: Make it so that these tests no longer need to be updated when the audit version changes.
Canonical link: https://commits.webkit.org/251241@main
- 3:37 PM Changeset in webkit [295151] by
-
- 6 edits in trunk
Promote _WKWebsiteDataTypeFileSystem to API
https://bugs.webkit.org/show_bug.cgi?id=241142
Reviewed by Geoffrey Garen.
- Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataRecord.h:
- Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataRecord.mm:
(dataTypesToString):
- Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h:
(WebKit::toWebsiteDataType):
(WebKit::toWKWebsiteDataTypes):
- Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataRecordPrivate.h:
- Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(+[WKWebsiteDataStore allWebsiteDataTypes]):
(+[WKWebsiteDataStore _allWebsiteDataTypesIncludingPrivate]):
- Tools/TestWebKitAPI/Tests/WebKitCocoa/FileSystemAccess.mm:
Canonical link: https://commits.webkit.org/251240@main
- 3:33 PM Changeset in webkit [295150] by
-
- 1 edit2 adds in trunk
[WK2] Sharing services picker button in Mail does not appear after scrolling.
https://bugs.webkit.org/show_bug.cgi?id=240260
<rdar://problem/91492622>
Reviewed by Tim Horton.
Adjust CSS for image controls button to make sure it scrolls with the image in the case
where the image is larger than the Mail compose window.
First we need to remove 'overflow: hidden' from the container div in order for sticky to work.
This seems fine because we never crop or adjust the image-controls container div, it is always
set to the size of the image, even when the image is cropped or the size is adjusted.
Then we add position: sticky and replace 'right: 0px' with 'float: right' because sticky will ignore
any position specification after 'top: 0px' due to its implementation.
- LayoutTests/fast/images/mac/image-controls-sticky-scrolling-expected.txt: Added.
Observing that the RenderButton layer has scrolled to (1978,500) tests this behavior.
- LayoutTests/fast/images/mac/image-controls-sticky-scrolling.html: Added.
- Source/WebCore/html/shadow/mac/imageControlsMac.css:
(#if defined(ENABLE_SERVICE_CONTROLS) && ENABLE_SERVICE_CONTROLS):
(button#image-controls-button):
Canonical link: https://commits.webkit.org/251239@main
- 3:12 PM Changeset in webkit [295149] by
-
- 28 edits4 copies1 add in trunk/Source
[GPU Process] [Filters] Make ImageBufferAllocator control the creation of the FilterImage buffers
https://bugs.webkit.org/show_bug.cgi?id=240808
<rdar://problem/94117817>
Reviewed by Simon Fraser.
Route all the allocations of the ImageBuffers and the PixelBuffers, which are made
by filter effects to a new class named ImageBufferAllocator. Because some filter
effects may call ImageBuffer::getPixelBuffer() from their FilterImages, we need
to pass an ImageBufferAllocator to this method as well.
The goal is to be able to attribute all the filter intermediate result FilterImage
to WebPorcess from one class. This will be a super class of ImageBufferAllocator
named ImageBufferShareableAllocator.
In a future patch, this class will be able to create shareable PixelBuffer and
will be able to attribute all its allocated memory to WebProcess.
- Source/WebCore/Headers.cmake:
- Source/WebCore/Sources.txt:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebCore/platform/graphics/ConcreteImageBuffer.h:
- Source/WebCore/platform/graphics/ImageBuffer.h:
- Source/WebCore/platform/graphics/ImageBufferAllocator.cpp: Copied from Source/WebCore/platform/graphics/filters/FilterResults.h.
(WebCore::ImageBufferAllocator::createImageBuffer const):
(WebCore::ImageBufferAllocator::createPixelBuffer const):
- Source/WebCore/platform/graphics/ImageBufferAllocator.h: Copied from Source/WebCore/platform/graphics/filters/FilterResults.h.
- Source/WebCore/platform/graphics/ImageBufferBackend.cpp:
(WebCore::ImageBufferBackend::getPixelBuffer const):
- Source/WebCore/platform/graphics/ImageBufferBackend.h:
- Source/WebCore/platform/graphics/cg/ImageBufferCGBitmapBackend.cpp:
(WebCore::ImageBufferCGBitmapBackend::getPixelBuffer const):
- Source/WebCore/platform/graphics/cg/ImageBufferCGBitmapBackend.h:
- Source/WebCore/platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp:
(WebCore::ImageBufferIOSurfaceBackend::getPixelBuffer const):
- Source/WebCore/platform/graphics/cg/ImageBufferIOSurfaceBackend.h:
- Source/WebCore/platform/graphics/filters/Filter.cpp:
(WebCore::Filter::apply):
- Source/WebCore/platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::apply):
- Source/WebCore/platform/graphics/filters/FilterImage.cpp:
(WebCore::FilterImage::create):
(WebCore::FilterImage::FilterImage):
(WebCore::FilterImage::imageBufferFromPixelBuffer):
(WebCore::getConvertedPixelBuffer):
(WebCore::FilterImage::pixelBuffer):
(WebCore::FilterImage::getPixelBuffer):
(WebCore::FilterImage::copyPixelBuffer):
- Source/WebCore/platform/graphics/filters/FilterImage.h:
- Source/WebCore/platform/graphics/filters/FilterResults.cpp: Copied from Source/WebCore/platform/graphics/filters/FilterResults.h.
(WebCore::FilterResults::FilterResults):
(WebCore::FilterResults::effectResult const):
(WebCore::FilterResults::setEffectResult):
(WebCore::FilterResults::clearEffectResult):
- Source/WebCore/platform/graphics/filters/FilterResults.h:
(WebCore::FilterResults::allocator const):
(WebCore::FilterResults::effectResult const): Deleted.
(WebCore::FilterResults::setEffectResult): Deleted.
(WebCore::FilterResults::clearEffectResult): Deleted.
- Source/WebKit/GPUProcess/graphics/ImageBufferShareableAllocator.cpp: Added.
(WebKit::ImageBufferShareableAllocator::createImageBuffer const):
(WebKit::ImageBufferShareableAllocator::createPixelBuffer const):
(WebKit::ImageBufferShareableAllocator::transferMemoryOwnership):
- Source/WebKit/GPUProcess/graphics/ImageBufferShareableAllocator.h: Copied from Source/WebCore/platform/graphics/filters/FilterResults.h.
- Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp:
(WebKit::RemoteDisplayListRecorder::drawFilteredImageBuffer):
- Source/WebKit/GPUProcess/media/RemoteVideoFrameObjectHeap.cpp:
- Source/WebKit/Shared/ShareableBitmap.h:
(WebKit::ShareableBitmap::Handle::handle):
(WebKit::ShareableBitmap::sizeInBytes const):
- Source/WebKit/Sources.txt:
- Source/WebKit/WebKit.xcodeproj/project.pbxproj:
- Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:
(WebKit::ImageBufferShareableBitmapBackend::getPixelBuffer const):
- Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h:
- Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
- Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.cpp:
(WebKit::ImageBufferRemoteIOSurfaceBackend::getPixelBuffer const):
- Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.h:
Canonical link: https://commits.webkit.org/251238@main
- 2:45 PM Changeset in webkit [295148] by
-
- 5 edits in trunk
Reflection for FrozenArray<Element> caching invariant
https://bugs.webkit.org/show_bug.cgi?id=240563
Reviewed by Ryosuke Niwa.
This patch implements the caching layer described in the spec PR
for reflection of FrozenArray<T> attributes:
https://github.com/whatwg/html/pull/3917
Which fixes the test cases that were checking for:
el.ariaDescribedByElements === el.ariaDescribedByElements
This patch stores a new JSObject in the JSElement using a PrivateName.
Then for each attribute we store the cached JSValue in the JSObject.
If the cached JSValue matches the current Vector of Elements that
we're going to return, we return the cached JSValue instead.
- LayoutTests/imported/w3c/web-platform-tests/dom/nodes/aria-element-reflection.tentative-expected.txt: Update expectations.
- LayoutTests/imported/w3c/web-platform-tests/dom/nodes/aria-element-reflection.tentative.html: Add new test cases.
- Source/WebCore/accessibility/AriaAttributes.idl: Add CustomGetter for FrozenArray<Element> reflection.
- Source/WebCore/bindings/js/JSElementCustom.cpp:
(WebCore::getElementsArrayAttribute): New method that implements the
caching invariant.
(WebCore::JSElement::ariaControlsElements const): Custom getter that
calls getElementsArrayAttribute().
(WebCore::JSElement::ariaDescribedByElements const): Ditto.
(WebCore::JSElement::ariaDetailsElements const): Ditto.
(WebCore::JSElement::ariaFlowToElements const): Ditto.
(WebCore::JSElement::ariaLabelledByElements const): Ditto.
(WebCore::JSElement::ariaOwnsElements const): Ditto.
- Source/WebCore/bindings/js/WebCoreBuiltinNames.h: New built-in PrivateName.
Canonical link: https://commits.webkit.org/251237@main
- 2:43 PM Changeset in webkit [295147] by
-
- 29 edits1 add in trunk/Source
Web Inspector: Color picker should allow picking a color from any pixel on screen
https://bugs.webkit.org/show_bug.cgi?id=124357
rdar://15469621
Reviewed by Devin Rousso.
Add the long-missing "eyedropper" for picking a color from the screen to the Color Picker in Web Inspector. This
implementation supports both sRGB color space as well as Display P3 (the two colorspaces currently supported by the Web
Inspector frontend). The existing value format and gamut is preserved as best as possible while not clamping the color
(unless interacting with a color swatch/picker that does not allow changing the format). For example, on macOS the color
picker will return a Display-P3 color on supported displays, but the color itself may be representable in sRGB. If the
existing color you are overwriting is already in sRGB, that is preserved by converting the system's Display-P3 color
into sRGB. If the sampled color can not be represented in sRGB, we update the CSS value to support the new wider gamut
of the selected color in order to provide the best fidelity in color matching.
The picker is implemented in two places. The first is the Color Picker popovers used in Web Inspector. The second place
is as an Option-Click action for inline swatches to allow you to quickly begin color selection without opening the
picker itself.
- Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js:
- Source/WebInspectorUI/UserInterface/Images/Pipette.svg: Added.
- Source/WebInspectorUI/UserInterface/Models/Color.js:
(WI.Color.prototype.fromStringBestMatchingSuggestedFormatAndGamut):
- New convencience "constructor" for creating a color from a String while attempting (or forcing) preservation of an
existing format and gamut.
- Source/WebInspectorUI/UserInterface/Views/ColorPicker.css:
(.color-picker > .color-inputs-wrapper):
(.color-picker > .color-inputs-wrapper > .color-inputs):
(.color-picker > .color-inputs-wrapper > .color-inputs > div):
(.color-picker > .color-inputs-wrapper > .color-inputs > div + div):
(.color-picker > .color-inputs-wrapper > .color-inputs input):
(.color-picker > .color-inputs-wrapper > .pick-color-from-screen):
(.color-picker > .color-inputs-wrapper > .pick-color-from-screen.active):
(.color-picker > .color-inputs): Deleted.
(.color-picker > .color-inputs > div): Deleted.
(.color-picker > .color-inputs > div + div): Deleted.
(.color-picker > .color-inputs input): Deleted.
- Source/WebInspectorUI/UserInterface/Views/ColorPicker.js:
(WI.ColorPicker.async pickColorFromScreen):
- Add new static method to picking a color from the screen (so that InlineSwatch can use it), and add a new Pipette icon
to begin the modal color picking mode.
- Source/WebInspectorUI/UserInterface/Views/InlineSwatch.js:
(WI.InlineSwatch.prototype._updateSwatch):
- Add Option-Click for color swatches to immediately enter the modal color picking mode.
- Source/WebCore/inspector/InspectorFrontendClient.h:
- Source/WebCore/inspector/InspectorFrontendClientLocal.h:
- Source/WebCore/inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::canPickColorFromScreen):
(WebCore::InspectorFrontendHost::pickColorFromScreen):
- Source/WebCore/inspector/InspectorFrontendHost.h:
- Source/WebCore/inspector/InspectorFrontendHost.idl:
- Source/WebKit/UIProcess/Inspector/RemoteWebInspectorUIProxy.cpp:
(WebKit::RemoteWebInspectorUIProxy::pickColorFromScreen):
(WebKit::RemoteWebInspectorUIProxy::platformPickColorFromScreen):
- Source/WebKit/UIProcess/Inspector/RemoteWebInspectorUIProxy.h:
- Source/WebKit/UIProcess/Inspector/RemoteWebInspectorUIProxy.messages.in:
- Source/WebKit/UIProcess/Inspector/WebInspectorUIProxy.cpp:
(WebKit::WebInspectorUIProxy::pickColorFromScreen):
(WebKit::WebInspectorUIProxy::platformPickColorFromScreen):
- Source/WebKit/UIProcess/Inspector/WebInspectorUIProxy.h:
- Source/WebKit/UIProcess/Inspector/WebInspectorUIProxy.messages.in:
- Source/WebKit/WebProcess/Inspector/RemoteWebInspectorUI.cpp:
(WebKit::RemoteWebInspectorUI::pickColorFromScreen):
- Source/WebKit/WebProcess/Inspector/RemoteWebInspectorUI.h:
- Source/WebKit/WebProcess/Inspector/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::pickColorFromScreen):
(WebKit::WebInspectorUI::canPickColorFromScreen):
- Source/WebKit/WebProcess/Inspector/WebInspectorUI.h:
- Add plubming for picking a color from the screen.
- Source/WebKit/UIProcess/Inspector/mac/RemoteWebInspectorUIProxyMac.mm:
(WebKit::RemoteWebInspectorUIProxy::platformPickColorFromScreen):
- Source/WebKit/UIProcess/Inspector/mac/WebInspectorUIProxyMac.mm:
(WebKit::WebInspectorUIProxy::platformPickColorFromScreen):
- Use NSColorSampler to get the system "pick a color from the screen" UI.
- Source/WebKit/UIProcess/Inspector/gtk/RemoteWebInspectorUIProxyGtk.cpp:
(WebKit::RemoteWebInspectorUIProxy::platformPickColorFromScreen):
- Source/WebKit/UIProcess/Inspector/gtk/WebInspectorUIProxyGtk.cpp:
(WebKit::WebInspectorUIProxy::platformPickColorFromScreen):
- Source/WebKit/UIProcess/Inspector/win/RemoteWebInspectorUIProxyWin.cpp:
(WebKit::RemoteWebInspectorUIProxy::platformPickColorFromScreen):
- Source/WebKit/UIProcess/Inspector/win/WebInspectorUIProxyWin.cpp:
(WebKit::WebInspectorUIProxy::platformPickColorFromScreen):
- Source/WebKit/WebProcess/Inspector/gtk/WebInspectorUIGtk.cpp:
(WebKit::WebInspectorUI::canPickColorFromScreen):
- Source/WebKit/WebProcess/Inspector/mac/WebInspectorUIMac.mm:
(WebKit::WebInspectorUI::canPickColorFromScreen):
- Source/WebKit/WebProcess/Inspector/win/WebInspectorUIWin.cpp:
(WebKit::WebInspectorUI::canPickColorFromScreen):
- Add stubs for Windows/GTK implementations.
Canonical link: https://commits.webkit.org/251236@main
- 2:33 PM Changeset in webkit [295146] by
-
- 11 edits in trunk
Support CSS animation for text-align-last and text-justify
https://bugs.webkit.org/show_bug.cgi?id=240591
<rdar://93918638>
Patch by Kiet Ho <Kiet Ho> on 2022-06-02
Reviewed by Tim Nguyen.
Tests: LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-interpolation.html
LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-interpolation.html
LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002.html
LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002.html
LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002.html
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-interpolation-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-interpolation-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:
- LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt:
- LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt:
- LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:
- Source/WebCore/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
- Source/WebCore/rendering/style/RenderStyleConstants.cpp:
(WebCore::operator<<):
- Source/WebCore/rendering/style/RenderStyleConstants.h:
Canonical link: https://commits.webkit.org/251235@main
- 2:11 PM Changeset in webkit [295145] by
-
- 9 edits in branches/safari-613-branch/Source
Versioning.
WebKit-7613.3.3
- 2:06 PM Changeset in webkit [295144] by
-
- 3 edits in trunk
REGRESSION(r286765): [Cairo][GTK][WPE] Various SVG tests that use filters fail
https://bugs.webkit.org/show_bug.cgi?id=234118
Reviewed by Don Olmstead.
Cairo doesn't support color space yet. Turned
ENABLE_DESTINATION_COLOR_SPACE_LINEAR_SRGB off for all non-Cocoa
ports.
- LayoutTests/platform/glib/TestExpectations: Unmarked tests. But,
some tests are still failing due to different reasons. Re-marked them as
other bugs.
- Source/WTF/wtf/PlatformEnable.h:
- Source/WebCore/platform/graphics/cairo/ImageBufferCairoBackend.cpp:
(WebCore::ImageBufferCairoBackend::transformToColorSpace):
Canonical link: https://commits.webkit.org/251234@main
- 1:53 PM Changeset in webkit [295143] by
-
- 2 edits in trunk/Source/WebCore/html/parser
Optimize HTMLTokenizer::temporaryBufferIs()
https://bugs.webkit.org/show_bug.cgi?id=241236
Reviewed by Darin Adler.
Optimize HTMLTokenizer::temporaryBufferIs() by leveraging the known length of
the string literal parameter.
- Source/WebCore/html/parser/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::processToken):
(WebCore::HTMLTokenizer::temporaryBufferIs):
(WebCore::vectorEqualsString): Deleted.
- Source/WebCore/html/parser/HTMLTokenizer.h:
Canonical link: https://commits.webkit.org/251232@main
- 1:52 PM Changeset in webkit [295142] by
-
- 3 edits2 adds in trunk
ASAN_ILL | decltype; InlineIterator::Box::line; WebCore::logicallyNextRun
https://bugs.webkit.org/show_bug.cgi?id=238673
<rdar://problem/90482678>
Reviewed by Simon Fraser.
r286350 made it so that whenever the layout viewport of a
FrameViewchanged, it would call
Document::updateViewportUnitsOnResize, which invalidates the style of all elements that use CSS
viewport units. This is problematic because it can be triggered by a layout (specifically during
LayoutPhase::InPostLayout), meaning that there will be dirty styles after a layout.
In reality, the only reason that that
Document::updateViewportUnitsOnResizecall was needed was
because on the first layout, theRenderView::sizewould be empty (as it derives its size during
layout). All subsequent layouts would have a correct size.
After much investigation and debate, it was decided that the CSS dynamic
dv*viewport units should
really be using theFrameView::size(i.e. never using theRenderView::size) because they really
care about the size of the view(port). As such, partially revertFrameViewto before r286350 and
make it so thatFrameView::sizeForCSSDynamicViewportUnitsnever looks at theRenderView::size.
- Source/WebCore/page/FrameView.h:
- Source/WebCore/page/FrameView.cpp:
(WebCore::FrameView::setLayoutViewportOverrideRect):
(WebCore::FrameView::availableContentSizeChanged):
(WebCore::FrameView::layoutOrVisualViewportChanged):
(WebCore::FrameView::sizeForCSSDynamicViewportUnits const):
- LayoutTests/fast/layoutformattingcontext/set-content-size-layout-reentry-crash.html: Added.
- LayoutTests/fast/layoutformattingcontext/set-content-size-layout-reentry-crash-expected.txt: Added.
- Tools/TestWebKitAPI/Tests/WebKitCocoa/CSSViewportUnits.mm:
(TEST.CSSViewportUnits.AllSame):
(TEST.CSSViewportUnits.NegativeMinimumViewportInset):
(TEST.CSSViewportUnits.NegativeMaximumViewportInset):
(TEST.CSSViewportUnits.MinimumViewportInsetLargerThanMaximumViewportInset):
(TEST.CSSViewportUnits.MinimumViewportInsetThanLargerFrame):
(TEST.CSSViewportUnits.MaximumViewportInsetThanLargerFrame):
(TEST.CSSViewportUnits.MinimumViewportInset):
(TEST.CSSViewportUnits.MaximumViewportInset):
(TEST.CSSViewportUnits.MinimumViewportInsetWithZoom):
(TEST.CSSViewportUnits.MaximumViewportInsetWithZoom):
(TEST.CSSViewportUnits.MinimumViewportInsetWithWritingMode):
(TEST.CSSViewportUnits.MaximumViewportInsetWithWritingMode):
(TEST.CSSViewportUnits.MinimumViewportInsetWithFrame):
(TEST.CSSViewportUnits.MaximumViewportInsetWithFrame):
(TEST.CSSViewportUnits.MinimumViewportInsetWithBounds):
(TEST.CSSViewportUnits.MaximumViewportInsetWithBounds):
(TEST.CSSViewportUnits.MinimumViewportInsetWithContentInset):
(TEST.CSSViewportUnits.MaximumViewportInsetWithContentInset):
(TEST.CSSViewportUnits.MinimumViewportInsetWithSafeAreaInsets):
(TEST.CSSViewportUnits.MaximumViewportInsetWithSafeAreaInsets):
(TEST.CSSViewportUnits.UnobscuredSizeOverridesIgnoreMinimumViewportInset):
(TEST.CSSViewportUnits.UnobscuredSizeOverridesIgnoreMaximumViewportInset):
(TEST.CSSViewportUnits.EmptyUnobscuredSizeOverrides):
(TEST.CSSViewportUnits.SameUnobscuredSizeOverrides):
(TEST.CSSViewportUnits.DifferentUnobscuredSizeOverrides):
(TEST.CSSViewportUnits.SVGDocument):
FrameView::sizedoesn't include scrollbars, so manually account for them where expected. This is
expected, as according to <https://drafts.csswg.org/css-values-4/#viewport-variants>:
In all cases, scrollbars are assumed not to exist.
Canonical link: https://commits.webkit.org/251232@main
- 1:34 PM Changeset in webkit [295141] by
-
- 1 edit in trunk/Source/WTF/wtf/text/AtomString.h
Drop unnecessary operator==() overloads for AtomString
https://bugs.webkit.org/show_bug.cgi?id=241232
Reviewed by Darin Adler.
- Source/WTF/wtf/text/AtomString.h:
(WTF::operator==):
(WTF::operator!=):
Canonical link: https://commits.webkit.org/251231@main
- 1:17 PM Changeset in webkit [295140] by
-
- 1 copy in tags/WebKit-7613.3.2
Tag WebKit-7613.3.2.
- 12:46 PM Changeset in webkit [295139] by
-
- 9 edits in trunk/Source/WebCore/accessibility
AX ITM: Cache several object relationships that were not cached in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=240239
Reviewed by Chris Fleizach.
Instead of caching individual relations as separate Vectors of AXIsolatedObjects, this patch uses the new relationships implementation to cache a copy of the AXObjectCache::m_relations in the AXIsolatedTree. This data structure is updated when the AXObjectCache sets the flag m_relationsNeedUpdate and one of the relations properties is requested on the AX thread. This allows for a common implementation for all the methods to retrieve individual relationships, and the main two derived classes AXObject and AXIsolatedObject only override the relatedObjects method.
Canonical link: https://commits.webkit.org/251230@main
- 12:31 PM Changeset in webkit [295138] by
-
- 1 edit in trunk/Source/WebCore/bindings/js/WebCoreOpaqueRoot.h
Inline addWebCoreOpaqueRoot() / containsWebCoreOpaqueRoot() functions
https://bugs.webkit.org/show_bug.cgi?id=241230
Reviewed by Geoffrey Garen.
Inline addWebCoreOpaqueRoot() / containsWebCoreOpaqueRoot() functions since I
noticed looking at profiles that they weren't getting inlined. This is a ~0.35%
progression on Intel (neutral on Apple Silicon).
- Source/WebCore/bindings/js/WebCoreOpaqueRoot.h:
(WebCore::addWebCoreOpaqueRoot):
(WebCore::containsWebCoreOpaqueRoot):
Canonical link: https://commits.webkit.org/251229@main
- 12:24 PM Changeset in webkit [295137] by
-
- 1 edit in trunk/Source/WebGPU/WGSLUnitTests/WGSLLexerTests.mm
[WGSL] Adjust comment of test to match the tested source
https://bugs.webkit.org/show_bug.cgi?id=240773
Patch by Mehmet Oguz Derin <mehmetoguzderin@mehmetoguzderin.com> on 2022-06-02
Reviewed by Myles C. Maxfield.
- WGSLUnitTests/WGSLLexerTests.mm
Canonical link: https://commits.webkit.org/251228@main
- 12:19 PM Changeset in webkit [295136] by
-
- 2 edits in trunk/Source/cmake
Unreviewed, revert "[WPE][GTK] Expose ENABLE_VIDEO build option"
https://bugs.webkit.org/show_bug.cgi?id=241128
Patch by Michael Catanzaro <mcatanzaro@redhat.com> on 2022-06-02
This partially reverts commit 07bad458c767bb286106091e3f66e87acc319b2e.
This commit was incorrect because the option is already exposed from
GStreamerDefinitions.cmake.
Canonical link: https://commits.webkit.org/251227@main
- 11:57 AM Changeset in webkit [295135] by
-
- 3 edits2 adds in trunk
Web Inspector: ER: Copy as fetch
https://bugs.webkit.org/show_bug.cgi?id=241216
Reviewed by Patrick Angle.
- Source/WebInspectorUI/UserInterface/Models/Resource.js:
(WI.Resource.prototype.generateFetchCode): Added.
- Source/WebInspectorUI/UserInterface/Views/ContextMenuUtilities.js:
(WI.appendContextMenuItemsForSourceCode):
- Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js:
- LayoutTests/http/tests/inspector/network/copy-as-fetch.html: Added.
- LayoutTests/http/tests/inspector/network/copy-as-fetch-expected.txt: Added.
Canonical link: https://commits.webkit.org/251226@main
- 11:29 AM Changeset in webkit [295134] by
-
- 45 edits in trunk/Source
Fix build failures introduced in "[Xcode] Prevent STP and other self-contained builds from overwriting content in the macOS SDK"
https://bugs.webkit.org/show_bug.cgi?id=240408
Reviewed by Alexey Proskuryakov.
Revert "Revert "[Xcode] Prevent STP and other self-contained builds from overwriting content in the macOS SDK""
This reverts commit 680fe6580f261df69a607a33b6252f3e19704169.
Apply small fixups across xcconfig files to address regressions:
- Fix SYSTEM_HEADER_SEARCH_PATHS not referring to Catlyst's include directory.
- Replace /usr/local/include literal in PROFILE_DATA_PATH with WK_ALTERNATE_WEBKIT_SDK_PATH and WK_LIBRARY_HEADERS_FOLDER_PATH to select the correct profdata for Catalyst or self-contained builds.
- Source/JavaScriptCore/Configurations/Base.xcconfig: Clean up an old WK_STATICLIB_INSTALL_PREFIX, replacing it with WK_LIBRARY_HEADERS_FOLDER_PATH.
- Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig:
- Source/WebCore/Configurations/WebCore.xcconfig:
- Source/WebCore/PAL/Configurations/PAL.xcconfig:
- Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj: PAL's SDKVariant.xcconfig was not included in the project for some reason. This is fine for building (as it's still includable) but prevents Xcode from indexing it. Add it.
- Source/WebGPU/Configurations/WGSL.xcconfig:
- Source/WebGPU/Configurations/WebGPU.xcconfig:
- Source/WebKit/Configurations/BaseTarget.xcconfig:
- Source/WebKit/Configurations/SandboxProfiles.xcconfig: Clean up an old WK_STATICLIB_INSTALL_PREFIX setting. We don't need to redirect sandbox profiles to a separate directory, like we do headers and static libraries, so leave these paths hard coded to /usr/local/include.
- Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig:
Canonical link: https://commits.webkit.org/251225@main
- 11:25 AM Changeset in webkit [295133] by
-
- 1 edit in trunk/Source/WTF/wtf/GenerateProfiles.h
Improved inefficient string handling method to fix conversion error
https://bugs.webkit.org/show_bug.cgi?id=241194
Patch by briannafan <briannaf@berkeley.edu> on 2022-06-02
Reviewed by Dewei Zhu and Chris Dumez.
Enabling profile generation for WebKit build resulted in a compile error. Fixed conversion error so that the build completes.
- Source/wtf/GenerateProfiles.h
Canonical link: https://commits.webkit.org/251224@main
- 11:13 AM Changeset in webkit [295132] by
-
- 4 edits2 adds in trunk
REGRESSION(r289580): Canvas: putImageData sometimes draws nothing
https://bugs.webkit.org/show_bug.cgi?id=240802
rdar://93801722
Reviewed by Simon Fraser.
RemoteImageBufferProxy::putPixelBuffer() needs to setNeedsFlush(true) once the
request to change the backend is sent to GPUProcess. If WebProcess has access to
the ImageBufferBackend, flushDrawingContext() will be called from copyNativeImage().
This call has to wait for all DisplayList items and PutPixelBuffer messages to be
flushed to the backend before copyNativeImage() copies the pixels of the backend
to a NativeImage.
- LayoutTests/fast/canvas/canvas-put-image-data-no-draw-expected.html: Added.
- LayoutTests/fast/canvas/canvas-put-image-data-no-draw.html: Added.
- LayoutTests/platform/mac-wk2/TestExpectations:
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::convertFlexItemsToLogicalSpace):
- Source/WebCore/platform/graphics/ImageBuffer.h:
(WebCore::ImageBuffer::setNeedsFlush):
- Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
(WebKit::RemoteDisplayListRecorderProxy::send):
(WebKit::RemoteDisplayListRecorderProxy::resetNeedsFlush): Deleted.
(WebKit::RemoteDisplayListRecorderProxy::needsFlush const): Deleted.
(): Deleted.
- Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
(WebKit::RemoteImageBufferProxy::~RemoteImageBufferProxy):
Canonical link: https://commits.webkit.org/251223@main
- 10:41 AM Changeset in webkit [295131] by
-
- 3 edits in trunk
Reset WebKitTestRunner notification policies as part of test cleanup
https://bugs.webkit.org/show_bug.cgi?id=239300
Reviewed by Geoffrey Garen.
Some notification layout tests that check permissions (e.g. http/tests/push-api/subscribe) seem to
be flaky. I can't reproduce this flakiness locally, but from code inspection, this flakiness is
possible if a prewarmed or cached WebContent process is used for one of these tests.
The reason for this is that when a test finishes,
WebNotificationProvider(in WebKitTestRunner)
tries to reset the notification permissions. However, it doesn't tell cached WebContent processes
about this reset viaWKNotificationManagerProviderDidRemoveNotificationPolicies. To fix this, make
WebNotificationProvider::resetcall that function.
- LayoutTests/platform/mac-wk2/TestExpectations:
- Source/WebKit/NetworkProcess/Notifications/NetworkNotificationManager.cpp:
(WebKit::NetworkNotificationManager::deletePushAndNotificationRegistration):
- Tools/WebKitTestRunner/WebNotificationProvider.cpp:
(WTR::securityOriginsFromStrings):
(WTR::WebNotificationProvider::reset):
Canonical link: https://commits.webkit.org/251222@main
- 10:20 AM Changeset in webkit [295130] by
-
- 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations
[macOS WK2] svg/animations/smil-leak-element-instances.svg is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=214579
Unreviewed test gardening.
Remove release from the flaky expectation as this affects debug bots as well.
- LayoutTests/platform/mac-wk2/TestExpectations:
Canonical link: https://commits.webkit.org/251221@main
- 8:51 AM Changeset in webkit [295129] by
-
- 51 edits in trunk
Drop unnecessary operator==() overloads from StringView
https://bugs.webkit.org/show_bug.cgi?id=241189
Reviewed by Darin Adler.
- Source/JavaScriptCore/runtime/IntlRelativeTimeFormat.cpp:
(JSC::relativeTimeUnitType):
- Source/JavaScriptCore/runtime/TemporalObject.cpp:
(JSC::temporalUnitType):
- Source/WTF/wtf/text/StringView.h:
(WTF::operator==):
(WTF::operator!=):
- Source/WebCore/Modules/applepay-ams-ui/ApplePayAMSUIPaymentHandler.cpp:
(WebCore::ApplePayAMSUIPaymentHandler::handlesIdentifier):
- Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:
(WebCore::ApplePayPaymentHandler::handlesIdentifier):
- Source/WebCore/Modules/cache/DOMCache.cpp:
(WebCore::hasResponseVaryStarHeaderValue):
- Source/WebCore/Modules/cache/DOMCacheEngine.cpp:
(WebCore::DOMCacheEngine::queryCacheMatch):
- Source/WebCore/Modules/entriesapi/DOMFileSystem.cpp:
(WebCore::isValidPathSegment):
(WebCore::resolveRelativeVirtualPath):
(WebCore::DOMFileSystem::evaluatePath):
- Source/WebCore/Modules/fetch/FetchRequest.cpp:
(WebCore::computeReferrer):
- Source/WebCore/Modules/plugins/YouTubePluginReplacement.cpp:
(WebCore::createYouTubeURL):
(WebCore::processAndCreateYouTubeURL):
- Source/WebCore/css/SelectorCheckerTestFunctions.h:
(WebCore::containslanguageSubtagMatchingRange):
- Source/WebCore/css/StyleProperties.cpp:
(WebCore::isCSSWideValueKeyword):
- Source/WebCore/css/parser/CSSPropertyParser.cpp:
(WebCore::parseGridTemplateAreasColumnNames):
- Source/WebCore/dom/Document.cpp:
(WebCore::Document::initDNSPrefetch):
- Source/WebCore/editing/TextManipulationController.cpp:
(WebCore::ParagraphContentIterator::advanceIteratorNodeAndUpdateText):
- Source/WebCore/fileapi/ThreadableBlobRegistry.cpp:
(WebCore::isBlobURLContainsNullOrigin):
- Source/WebCore/html/FeaturePolicy.cpp:
(WebCore::processOriginItem):
- Source/WebCore/html/HTMLScriptElement.h:
- Source/WebCore/html/parser/CSSPreloadScanner.cpp:
(WebCore::hasValidImportConditions):
- Source/WebCore/loader/CrossOriginAccessControl.cpp:
(WebCore::shouldCrossOriginResourcePolicyCancelLoad):
- Source/WebCore/loader/CrossOriginEmbedderPolicy.cpp:
(WebCore::obtainCrossOriginEmbedderPolicy):
- Source/WebCore/loader/CrossOriginOpenerPolicy.cpp:
(WebCore::obtainCrossOriginOpenerPolicy):
- Source/WebCore/loader/ResourceLoadInfo.cpp:
(WebCore::ContentExtensions::readResourceType):
(WebCore::ContentExtensions::readLoadType):
(WebCore::ContentExtensions::readLoadContext):
- Source/WebCore/mathml/MathMLMencloseElement.cpp:
(WebCore::MathMLMencloseElement::addNotationFlags):
- Source/WebCore/mathml/MathMLPresentationElement.cpp:
(WebCore::MathMLPresentationElement::parseNamedSpace):
- Source/WebCore/page/EventSource.cpp:
(WebCore::EventSource::parseEventStreamLine):
- Source/WebCore/page/FrameTree.cpp:
(WebCore::isSelfTargetFrameName):
- Source/WebCore/page/Quirks.cpp:
(WebCore::Quirks::shouldAllowNavigationToCustomProtocolWithoutUserGesture):
- Source/WebCore/platform/LegacySchemeRegistry.cpp:
(WebCore::LegacySchemeRegistry::isUserExtensionScheme):
- Source/WebCore/platform/LocalizedStrings.cpp:
(WebCore::AXARIAContentGroupText):
- Source/WebCore/platform/graphics/HEVCUtilities.cpp:
(WebCore::parseAVCCodecParameters):
(WebCore::parseHEVCCodecParameters):
- Source/WebCore/platform/graphics/cg/UTIRegistry.cpp:
(WebCore::isGIFImageType):
- Source/WebCore/platform/graphics/cocoa/SourceBufferParserWebM.cpp:
(WebCore::WebMParser::OnTrackEntry):
(WebCore::WebMParser::isSupportedVideoCodec):
(WebCore::WebMParser::isSupportedAudioCodec):
(WebCore::SourceBufferParserWebM::isContentTypeSupported):
- Source/WebCore/platform/graphics/cocoa/VideoTrackPrivateWebM.cpp:
(WebCore::VideoTrackPrivateWebM::codec const):
- Source/WebCore/platform/graphics/gstreamer/eme/CDMThunder.cpp:
(WebCore::sessionLoadFailureFromThunder):
- Source/WebCore/platform/network/HTTPParsers.cpp:
(WebCore::filenameFromHTTPContentDisposition):
(WebCore::parseCrossOriginResourcePolicyHeader):
- Source/WebCore/platform/network/ParsedContentRange.cpp:
(WebCore::parseContentRange):
- Source/WebCore/platform/network/TimingAllowOrigin.cpp:
(WebCore::passesTimingAllowOriginCheck):
- Source/WebCore/svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::parseCondition):
- Source/WebGPU/WGSL/AST/TypeDecl.h:
(WGSL::AST::ParameterizedType::stringViewToKind):
- Source/WebGPU/WGSL/Lexer.cpp:
(WGSL::Lexer<T>::lex):
- Source/WebGPU/WGSL/Parser.cpp:
(WGSL::Parser<Lexer>::parseAttribute):
(WGSL::Parser<Lexer>::parsePrimaryExpression):
- Source/WebKit/NetworkProcess/PrivateClickMeasurement/cocoa/PrivateClickMeasurementNetworkLoaderCocoa.mm:
(WebKit::PCM::NetworkLoader::start):
- Source/WebKit/NetworkProcess/cache/CacheStorageEngineCache.cpp:
(WebKit::CacheStorage::updateVaryInformation):
- Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::setResourceLoadStatisticsFirstPartyHostCNAMEDomainForTesting):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsThirdPartyCNAMEDomainForTesting):
- Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::handleEditingCommand):
(WebKit::PDFPlugin::isEditingCommandEnabled):
- Tools/TestWebKitAPI/Tests/WTF/StringView.cpp:
(TestWebKitAPI::TEST):
- Tools/TestWebKitAPI/Tests/WTF/URL.cpp:
(TestWebKitAPI::TEST_F):
- Tools/TestWebKitAPI/Tests/WebKitCocoa/IndexedDBFileName.mm:
(createDirectories):
Canonical link: https://commits.webkit.org/251220@main
- 8:36 AM Changeset in webkit [295128] by
-
- 23 edits1 copy38 adds2 deletes in trunk
[GTK][WPE] Enable modern media controls
https://bugs.webkit.org/show_bug.cgi?id=182502
Patch by Philippe Normand <philn@igalia.com> on 2022-06-02
Reviewed by Adrian Perez de Castro.
Initial support for the modern media controls on GTK and WPE. The old media controls are broken,
their buttons are no longer rendered.
These new controls are adapted from the macOS controls, both inline and fullscreen, with the
difference that we use the Adwaita icon theme. SVG/PNG icons are shipped in the WebKit library using
GResources. Some adaptations had to be made in the cross-platform JS code of the controls, so that
Airplay UI components can be disabled, WPE/GTK don't support this yet.
- LayoutTests/platform/glib/TestExpectations:
- LayoutTests/platform/gtk/TestExpectations:
- Source/WTF/wtf/Platform.h:
- Source/WebCore/CMakeLists.txt:
- Source/WebCore/Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::layoutTraitsClassName const):
- Source/WebCore/Modules/mediacontrols/mediaControlsAdwaita.css: Removed.
- Source/WebCore/Modules/mediacontrols/mediaControlsAdwaita.js: Removed.
- Source/WebCore/Modules/modern-media-controls/controls/adwaita-fullscreen-media-controls.css: Added.
(.media-controls.adwaita.fullscreen):
(.media-controls.adwaita.fullscreen > .controls-bar):
(.media-controls.adwaita.fullscreen:not(.uses-ltr-user-interface-layout-direction) .volume.slider):
(.media-controls.adwaita.fullscreen .buttons-container):
(.media-controls.adwaita.fullscreen .buttons-container.left):
(.media-controls.adwaita.fullscreen .buttons-container.center):
(.media-controls.adwaita.fullscreen .buttons-container.right):
(.media-controls.adwaita.fullscreen .buttons-container.right button):
(.media-controls.adwaita.fullscreen .time-control):
(.media-controls.adwaita.fullscreen > .controls-bar .status-label):
- Source/WebCore/Modules/modern-media-controls/controls/adwaita-fullscreen-media-controls.js: Added.
(AdwaitaFullscreenMediaControls.prototype.handleEvent):
(AdwaitaFullscreenMediaControls.prototype.layout):
(AdwaitaFullscreenMediaControls.prototype._volumeControlsForCurrentDirection):
(AdwaitaFullscreenMediaControls.prototype._collapsableButtons):
(AdwaitaFullscreenMediaControls.prototype._handleMousedown):
(AdwaitaFullscreenMediaControls.prototype._handleMousemove):
(AdwaitaFullscreenMediaControls.prototype._handleMouseup):
(AdwaitaFullscreenMediaControls.prototype._pointForEvent):
(AdwaitaFullscreenMediaControls):
- Source/WebCore/Modules/modern-media-controls/controls/adwaita-inline-media-controls.css: Added.
(.media-controls.adwaita.inline .volume-slider-container):
(.media-controls.adwaita.inline.audio .volume-slider-container):
(.media-controls.adwaita.inline .volume-slider-container > .background-tint):
(.media-controls.adwaita.inline .volume-slider-container > .background-tint > div):
(.media-controls.adwaita.inline .volume-slider-container > .slider):
- Source/WebCore/Modules/modern-media-controls/controls/adwaita-inline-media-controls.js: Added.
(AdwaitaInlineMediaControls.prototype.layout):
(AdwaitaInlineMediaControls.prototype.get preferredMuteButtonStyle):
(AdwaitaInlineMediaControls.prototype.handleEvent):
- Source/WebCore/Modules/modern-media-controls/controls/adwaita-layout-traits.js: Copied from Source/WebCore/Modules/modern-media-controls/controls/macos-layout-traits.js.
(AdwaitaLayoutTraits.prototype.mediaControlsClass):
(AdwaitaLayoutTraits.prototype.overridenSupportingObjectClasses):
(AdwaitaLayoutTraits.prototype.resourceDirectory):
(AdwaitaLayoutTraits.prototype.controlsAlwaysAvailable):
(AdwaitaLayoutTraits.prototype.controlsNeverAvailable):
(AdwaitaLayoutTraits.prototype.supportsIconWithFullscreenVariant):
(AdwaitaLayoutTraits.prototype.supportsDurationTimeLabel):
(AdwaitaLayoutTraits.prototype.controlsDependOnPageScaleFactor):
(AdwaitaLayoutTraits.prototype.skipDuration):
(AdwaitaLayoutTraits.prototype.promoteSubMenusWhenShowingMediaControlsContextMenu):
(AdwaitaLayoutTraits.prototype.supportsTouches):
(AdwaitaLayoutTraits.prototype.supportsAirPlay):
(AdwaitaLayoutTraits.prototype.supportsPiP):
(AdwaitaLayoutTraits.prototype.toString):
(AdwaitaLayoutTraits):
- Source/WebCore/Modules/modern-media-controls/controls/inline-media-controls.js:
(InlineMediaControls.prototype._rightContainerButtons):
(InlineMediaControls.prototype._droppableButtons):
- Source/WebCore/Modules/modern-media-controls/controls/ios-layout-traits.js:
(IOSLayoutTraits.prototype.supportsAirPlay):
(IOSLayoutTraits.prototype.supportsPiP):
- Source/WebCore/Modules/modern-media-controls/controls/layout-traits.js:
(LayoutTraits.prototype.supportsAirPlay):
(LayoutTraits.prototype.supportsPiP):
- Source/WebCore/Modules/modern-media-controls/controls/macos-layout-traits.js:
(MacOSLayoutTraits.prototype.supportsAirPlay):
(MacOSLayoutTraits.prototype.supportsPiP):
- Source/WebCore/Modules/modern-media-controls/controls/media-controls.js:
(MediaControls.):
- Source/WebCore/Modules/modern-media-controls/controls/watchos-layout-traits.js:
(WatchOSLayoutTraits.prototype.supportsAirPlay):
(WatchOSLayoutTraits.prototype.supportsPiP):
- Source/WebCore/Modules/modern-media-controls/images/adwaita/EnterFullscreen.svg: Added.
- Source/WebCore/Modules/modern-media-controls/images/adwaita/ExitFullscreen.svg: Added.
- Source/WebCore/Modules/modern-media-controls/images/adwaita/Forward.svg: Added.
- Source/WebCore/Modules/modern-media-controls/images/adwaita/MediaSelector-fullscreen.svg: Added.
- Source/WebCore/Modules/modern-media-controls/images/adwaita/MediaSelector.svg: Added.
- Source/WebCore/Modules/modern-media-controls/images/adwaita/Overflow.svg: Added.
- Source/WebCore/Modules/modern-media-controls/images/adwaita/Pause.svg: Added.
- Source/WebCore/Modules/modern-media-controls/images/adwaita/PipIn-fullscreen.svg: Added.
- Source/WebCore/Modules/modern-media-controls/images/adwaita/PipIn.svg: Added.
- Source/WebCore/Modules/modern-media-controls/images/adwaita/PipOut.svg: Added.
- Source/WebCore/Modules/modern-media-controls/images/adwaita/Play.svg: Added.
- Source/WebCore/Modules/modern-media-controls/images/adwaita/Rewind.svg: Added.
- Source/WebCore/Modules/modern-media-controls/images/adwaita/SkipBack10.svg: Added.
- Source/WebCore/Modules/modern-media-controls/images/adwaita/SkipBack15.svg: Added.
- Source/WebCore/Modules/modern-media-controls/images/adwaita/SkipForward10.svg: Added.
- Source/WebCore/Modules/modern-media-controls/images/adwaita/SkipForward15.svg: Added.
- Source/WebCore/Modules/modern-media-controls/images/adwaita/Volume0-RTL.svg: Added.
- Source/WebCore/Modules/modern-media-controls/images/adwaita/Volume0.svg: Added.
- Source/WebCore/Modules/modern-media-controls/images/adwaita/Volume1-RTL.svg: Added.
- Source/WebCore/Modules/modern-media-controls/images/adwaita/Volume1.svg: Added.
- Source/WebCore/Modules/modern-media-controls/images/adwaita/Volume2-RTL.svg: Added.
- Source/WebCore/Modules/modern-media-controls/images/adwaita/Volume2.svg: Added.
- Source/WebCore/Modules/modern-media-controls/images/adwaita/Volume3-RTL.svg: Added.
- Source/WebCore/Modules/modern-media-controls/images/adwaita/Volume3.svg: Added.
- Source/WebCore/Modules/modern-media-controls/images/adwaita/VolumeMuted-RTL.svg: Added.
- Source/WebCore/Modules/modern-media-controls/images/adwaita/VolumeMuted.svg: Added.
- Source/WebCore/Modules/modern-media-controls/images/adwaita/X.svg: Added.
- Source/WebCore/Modules/modern-media-controls/images/adwaita/invalid-placard@1x.png: Added.
- Source/WebCore/Modules/modern-media-controls/images/adwaita/invalid-placard@2x.png: Added.
- Source/WebCore/Modules/modern-media-controls/media/media-controller.js:
(MediaController.prototype._supportingObjectClasses):
- Source/WebCore/Modules/modern-media-controls/media/media-document-controller.js:
(MediaDocumentController):
- Source/WebCore/PlatformGLib.cmake: Added.
- Source/WebCore/PlatformGTK.cmake:
- Source/WebCore/PlatformMac.cmake:
- Source/WebCore/PlatformWPE.cmake:
- Source/WebCore/rendering/RenderThemeAdwaita.cpp:
(WebCore::RenderThemeAdwaita::mediaControlsScripts):
(WebCore::RenderThemeAdwaita::mediaControlsStyleSheet):
(WebCore::RenderThemeAdwaita::mediaControlsBase64StringForIconNameAndType):
(WebCore::RenderThemeAdwaita::mediaControlsFormattedStringForDuration):
(WebCore::RenderThemeAdwaita::extraMediaControlsStyleSheet): Deleted.
- Source/WebCore/rendering/RenderThemeAdwaita.h:
- Source/WebKit/ModernMediaControlsGResources.cmake: Added.
- Source/WebKit/PlatformGTK.cmake:
- Source/WebKit/PlatformWPE.cmake:
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsWPE.cmake:
- Source/cmake/WebKitFeatures.cmake:
- Tools/glib/generate-modern-media-controls-gresource-manifest.py: Added.
(get_filenames):
Canonical link: https://commits.webkit.org/251219@main
- 7:23 AM Changeset in webkit [295127] by
-
- 1 edit in trunk/metadata/contributors.json
Add fred-wang github account to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=241219
Reviewed by Tim Nguyen.
- metadata/contributors.json: Add my github account.
Canonical link: https://commits.webkit.org/251218@main
- 6:56 AM Changeset in webkit [295126] by
-
- 1 edit in trunk/LayoutTests/platform/ios/TestExpectations
[Gardening]: REGRESSION (250836@main): [ iOS ] fast/forms/textfield-outline.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=241205
<rdar://94255807>
Unreviewed test gardening.
- LayoutTests/platform/ios/TestExpectations:
Canonical link: https://commits.webkit.org/251217@main
- 6:01 AM Changeset in webkit [295125] by
-
- 2 edits in trunk/Tools/WebKitTestRunner/InjectedBundle
AX ITM: Remaining WTR::AccessibilityUIElement calls into the Mac accessibility API must be dispatched to the AX thread.
https://bugs.webkit.org/show_bug.cgi?id=241209
Reviewed by Chris Fleizach.
There was a handful of calls into WebAccessibilityObjectWrapper methods that still needed to be dispatched to the AX thread for testing purposes in isolated tree mode. In particular, [WebAccessibilityObjectWrapper accessibilityPerformAction] and [WebAccessibilityObjectWrapper accessibilityActionNames].
- Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
- Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::parameterizedAttributeNames):
(WTR::AccessibilityUIElement::scrollToMakeVisible):
(WTR::AccessibilityUIElement::scrollToGlobalPoint):
(WTR::AccessibilityUIElement::scrollToMakeVisibleWithSubFocus):
(WTR::AccessibilityUIElement::dismiss):
(WTR::AccessibilityUIElement::increment):
(WTR::AccessibilityUIElement::decrement):
(WTR::AccessibilityUIElement::asyncIncrement):
(WTR::AccessibilityUIElement::asyncDecrement):
(WTR::AccessibilityUIElement::showMenu):
(WTR::AccessibilityUIElement::press):
(WTR::AccessibilityUIElement::syncPress):
(WTR::AccessibilityUIElement::isIgnored const):
(WTR::AccessibilityUIElement::insertText):
(WTR::AccessibilityUIElement::performAction const):
Canonical link: https://commits.webkit.org/251216@main
- 5:52 AM Changeset in webkit [295124] by
-
- 1 edit2 adds in trunk
Do not assume that an absolute positioned block box's height is always resolvable
https://bugs.webkit.org/show_bug.cgi?id=241213
Reviewed by Simon Fraser.
- While the ICB (RenderView) always has fixed height/width, the RenderStyle values are set to auto.
- It's incorrect to assume that we can always resolve the height for an absolute positioned box (e.g. it may have a "height: auto" relative positioned containing block)
- LayoutTests/fast/block/fill-available-with-absolute-position-expected.html: Added.
- LayoutTests/fast/block/fill-available-with-absolute-position.html: Added.
- Source/WebCore/rendering/RenderBox.cpp:
(WebCore::RenderBox::computeIntrinsicLogicalContentHeightUsing const):
(WebCore::RenderBox::computePositionedLogicalHeightUsing const):
Canonical link: https://commits.webkit.org/251215@main
- 1:47 AM Changeset in webkit [295123] by
-
- 1 edit in trunk/LayoutTests/platform/ios/TestExpectations
Revert REGRESSION (r294452): [ iOS ] ImageBufferIOSurfaceBackend - nine tests are a consistent image failure
https://bugs.webkit.org/show_bug.cgi?id=240654
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-06-02
Unreviewed.
The offending commits were reverted and the tests pass now.
LayoutTests/platform/ios/TestExpectations:
Remove the failure expectations
Canonical link: https://commits.webkit.org/251214@main
- 12:48 AM Changeset in webkit [295122] by
-
- 2 edits in trunk/LayoutTests/platform
Unreviewed test gardening
https://bugs.webkit.org/show_bug.cgi?id=240439
- LayoutTests/platform/wincairo-wk1/TestExpectations:
- LayoutTests/platform/wincairo/TestExpectations:
Canonical link: https://commits.webkit.org/251213@main
- 12:42 AM Changeset in webkit [295121] by
-
- 4 edits1 add in trunk/Source
Add additional refinements for consistency in grammar checking on macCatalyst
https://bugs.webkit.org/show_bug.cgi?id=241203
Reviewed by Tim Horton.
- Source/WebCore/editing/Editor.cpp:
(WebCore::Editor::markAndReplaceFor):
- Source/WebKit/UIProcess/ios/TextCheckerIOS.mm:
(WebKit::TextChecker::checkTextOfParagraph):
- Source/WebKit/UIProcess/mac/TextCheckerMac.mm:
(WebKit::TextChecker::checkTextOfParagraph):
Canonical link: https://commits.webkit.org/251212@main
Jun 1, 2022:
- 10:05 PM Changeset in webkit [295120] by
-
- 2 edits in trunk
text-align: match-parent on root handles direction incorrectly
https://bugs.webkit.org/show_bug.cgi?id=241164
Reviewed by Myles C. Maxfield.
The spec says the initial containing block's direction should be used when the element has no parent.
Regarding the computed value, Chrome & Firefox computes to
startfor this case.
This may change in https://github.com/w3c/csswg-drafts/issues/6542 toleft/right.
Test: imported/w3c/web-platform-tests/css/css-text/text-align/text-align-match-parent-root-rtl.html
- LayoutTests/TestExpectations:
- Source/WebCore/style/StyleBuilderConverter.h:
(WebCore::Style::BuilderConverter::convertTextAlign):
Canonical link: https://commits.webkit.org/251211@main
- 9:05 PM Changeset in webkit [295119] by
-
- 1 edit in trunk/Source/WebCore/svg/SVGGeometryElement.cpp
Clamp distance earlier in SVGGeometryElement::getPointAtLength
https://bugs.webkit.org/show_bug.cgi?id=241212
Reviewed by Chris Dumez.
- LayoutTests/fast/svg/get-point-at-length-layout-expected.txt: Added.
- LayoutTests/fast/svg/get-point-at-length-layout.html: Added.
- Source/WebCore/svg/SVGGeometryElement.cpp:
(WebCore::SVGGeometryElement::getPointAtLength const):
Canonical link: https://commits.webkit.org/251210@main
- 9:02 PM Changeset in webkit [295118] by
-
- 1 edit in trunk/Source/WebCore/bindings/js/DOMPromiseProxy.h
DOMPromiseProxyWithResolveCallback<IDLType>::promise() should not use |this| after calling resolve() / reject()
https://bugs.webkit.org/show_bug.cgi?id=241195
Reviewed by Alex Christensen.
- Source/WebCore/bindings/js/DOMPromiseProxy.h:
(WebCore::DOMPromiseProxyWithResolveCallback<IDLType>::promise):
Canonical link: https://commits.webkit.org/251209@main
- 8:56 PM Changeset in webkit [295117] by
-
- 2 edits in trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa
[iOS] TestWebKitAPI.IndexedDB.IndexedDBSuspendImminently is consistently timing out on release
https://bugs.webkit.org/show_bug.cgi?id=240886
Reviewed by Chris Dumez.
Modify the test to make it less flaky and easier to debug. The changes including:
- "Continue" message is sent from web page after first operation completes, instead of database is opened, so we can
make sure transaction is started before _sendNetworkProcessWillSuspendImminently.
- Call _sendNetworkProcessDidResume after first transaction is aborted ("Abort" message is received), so we can make
sure network process has handled suspend message.
- The test pages create only two different transactions: the first is a long transaction, which keeps running until it
gets aborted by suspension; the second is a short transaction, which is only used to prove that not all transactions
will be aborted by suspension. We used to create 10 identical transactions and it could be any of them gets aborted.
- Tools/TestWebKitAPI/Tests/WebKitCocoa/IndexedDBSuspendImminently.html:
- Tools/TestWebKitAPI/Tests/WebKitCocoa/IndexedDBSuspendImminently.mm:
(TEST):
Canonical link: https://commits.webkit.org/251208@main
- 8:51 PM Changeset in webkit [295116] by
-
- 3 edits in trunk/Source/WebCore/html/canvas
CanvasGradient should store a strong reference instead of a CanvasBase&
https://bugs.webkit.org/show_bug.cgi?id=241211
Reviewed by Chris Dumez.
- LayoutTests/fast/canvas/add-color-stop-after-gc-expected.txt: Added.
- LayoutTests/fast/canvas/add-color-stop-after-gc.html: Added.
- Source/WebCore/html/canvas/CanvasGradient.cpp:
(WebCore::CanvasGradient::CanvasGradient):
(WebCore::m_context):
(WebCore::CanvasGradient::create):
(WebCore::CanvasGradient::addColorStop):
(WebCore::m_canvas): Deleted.
- Source/WebCore/html/canvas/CanvasGradient.h:
- Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::createLinearGradient):
(WebCore::CanvasRenderingContext2DBase::createRadialGradient):
(WebCore::CanvasRenderingContext2DBase::createConicGradient):
Canonical link: https://commits.webkit.org/251207@main
- 8:22 PM Changeset in webkit [295115] by
-
- 1 edit in trunk/Source/WebKit/WebProcess/Plugins/PluginView.cpp
Set PluginView::Stream::m_loader before calling NetscapePlugInStreamLoader::cancel
https://bugs.webkit.org/show_bug.cgi?id=241210
Reviewed by Chris Dumez.
- ../../Source/WebKit/WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::Stream::cancel):
Canonical link: https://commits.webkit.org/251206@main
- 6:24 PM Changeset in webkit [295114] by
-
- 2 edits in trunk/Tools/TestWebKitAPI/Tests/WTF
REGRESSION (250986@main): ASSERTION FAILED: isASCII(characters[I]) in WTF::ASCIILiteral WTF::StringLiterals::operator""_s()
https://bugs.webkit.org/show_bug.cgi?id=241207
<rdar://94256662>
Unreviewed, a few URL API tests were using ""_s with non-ASCII characters, which is
not supported. Use StringView::fromLatin1() instead to restore pre-existing behavior.
- Tools/TestWebKitAPI/Tests/WTF/URL.cpp:
(TestWebKitAPI::TEST_F):
- Tools/TestWebKitAPI/Tests/WTF/URLParser.cpp:
(TestWebKitAPI::TEST_F):
Canonical link: https://commits.webkit.org/251205@main
- 6:07 PM Changeset in webkit [295113] by
-
- 61 edits1 add in trunk/Source
[GPU Process] [Filters] Make PixelBuffer a RefCounted class
https://bugs.webkit.org/show_bug.cgi?id=240807
rdar://94040771
Reviewed by Simon Fraser.
The plan is to hide the underlying memory of PixelBuffer. GPUProcess needs to
allocate shared memory and attribute it to the WebProcess.
Currently the PixelBuffer is created as std::optional<PixelBuffer> which does
not allow sub-classing it. We need to create PixelBuffer as a pointer.
The patch follows these simple replacement rules:
- std::optional<PixelBuffer> will be replaced by RefPtr<PixelBuffer>
- PixelBuffer will be replaced by Ref<PixelBuffer> and Ref<PixelBuffer>&&
- PixelBuffer&& will be replaced by Ref<PixelBuffer>&&
A new IPC class named PixelBufferReference will be added to allow sending and
receiving a Ref<PixelBuffer> through IPC.
- Source/WebCore/html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::toVideoFrame):
- Source/WebCore/html/ImageData.cpp:
(WebCore::ImageData::create):
(WebCore::ImageData::pixelBuffer const):
- Source/WebCore/html/ImageData.h:
- Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::getImageData const):
- Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::paintRenderingResultsToPixelBuffer):
- Source/WebCore/html/canvas/WebGLRenderingContextBase.h:
- Source/WebCore/platform/graphics/ConcreteImageBuffer.h:
- Source/WebCore/platform/graphics/GraphicsContextGL.h:
- Source/WebCore/platform/graphics/ImageBuffer.h:
- Source/WebCore/platform/graphics/ImageBufferBackend.cpp:
(WebCore::ImageBufferBackend::getPixelBuffer const):
- Source/WebCore/platform/graphics/ImageBufferBackend.h:
- Source/WebCore/platform/graphics/PixelBuffer.cpp:
(WebCore::PixelBuffer::tryCreateForDecoding):
(WebCore::PixelBuffer::tryCreate):
(WebCore::PixelBuffer::create):
(WebCore::PixelBuffer::createScratchPixelBuffer const):
(WebCore::PixelBuffer::deepClone const): Deleted.
- Source/WebCore/platform/graphics/PixelBuffer.h:
(WebCore::PixelBuffer::decode):
- Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::readPixelsForPaintResults):
(WebCore::GraphicsContextGLANGLE::readRenderingResults):
(WebCore::GraphicsContextGLANGLE::paintRenderingResultsToCanvas):
(WebCore::GraphicsContextGLANGLE::paintCompositedResultsToCanvas):
(WebCore::GraphicsContextGLANGLE::paintRenderingResultsToPixelBuffer):
(WebCore::GraphicsContextGLANGLE::readRenderingResultsForPainting):
(WebCore::GraphicsContextGLANGLE::readCompositedResultsForPainting):
- Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.h:
- Source/WebCore/platform/graphics/cg/GraphicsContextGLCG.cpp:
(WebCore::GraphicsContextGL::paintToCanvas):
- Source/WebCore/platform/graphics/cg/ImageBufferCGBitmapBackend.cpp:
(WebCore::ImageBufferCGBitmapBackend::getPixelBuffer const):
- Source/WebCore/platform/graphics/cg/ImageBufferCGBitmapBackend.h:
- Source/WebCore/platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp:
(WebCore::ImageBufferIOSurfaceBackend::getPixelBuffer const):
- Source/WebCore/platform/graphics/cg/ImageBufferIOSurfaceBackend.h:
- Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm:
(WebCore::GraphicsContextGLANGLE::readCompositedResults):
- Source/WebCore/platform/graphics/cv/VideoFrameCV.h:
- Source/WebCore/platform/graphics/cv/VideoFrameCV.mm:
(WebCore::VideoFrameCV::createFromPixelBuffer):
- Source/WebCore/platform/graphics/filters/FilterImage.cpp:
(WebCore::getConvertedPixelBuffer):
(WebCore::FilterImage::pixelBufferSlot):
(WebCore::FilterImage::pixelBuffer):
(WebCore::FilterImage::getPixelBuffer):
(WebCore::FilterImage::copyPixelBuffer):
- Source/WebCore/platform/graphics/filters/FilterImage.h:
- Source/WebCore/platform/graphics/filters/software/FEGaussianBlurSoftwareApplier.cpp:
(WebCore::FEGaussianBlurSoftwareApplier::applyPlatform):
- Source/WebCore/platform/graphics/filters/software/FEGaussianBlurSoftwareApplier.h:
- Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGL.cpp:
(WebCore::GraphicsContextGLOpenGL::readCompositedResults):
(WebCore::GraphicsContextGLOpenGL::readRenderingResults):
(WebCore::GraphicsContextGLOpenGL::paintRenderingResultsToPixelBuffer):
(WebCore::GraphicsContextGLOpenGL::readRenderingResultsForPainting):
(WebCore::GraphicsContextGLOpenGL::readCompositedResultsForPainting):
- Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGL.h:
- Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::RemoteGraphicsContextGL::paintPixelBufferToImageBuffer):
- Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h:
- Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.messages.in:
- Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLFunctionsGenerated.h:
(paintRenderingResultsToPixelBuffer):
- Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::putPixelBufferForImageBuffer):
- Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h:
- Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in:
- Source/WebKit/Platform/IPC/PixelBufferReference.h: Added.
(IPC::PixelBufferReference::PixelBufferReference):
(IPC::PixelBufferReference::takePixelBuffer):
(IPC::PixelBufferReference::encode const):
(IPC::PixelBufferReference::decode):
- Source/WebKit/Scripts/webkit/messages.py:
(types_that_cannot_be_forward_declared):
- Source/WebKit/Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.cpp:
(WebKit::CGDisplayListImageBufferBackend::getPixelBuffer const):
- Source/WebKit/Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.h:
- Source/WebKit/Shared/WebCoreArgumentCoders.h:
- Source/WebKit/WebKit.xcodeproj/project.pbxproj:
- Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:
(WebKit::ImageBufferShareableBitmapBackend::getPixelBuffer const):
- Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h:
- Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
- Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxyFunctionsGenerated.cpp:
(WebKit::RemoteGraphicsContextGLProxy::paintRenderingResultsToPixelBuffer):
- Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
- Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::putPixelBufferForImageBuffer):
- Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.cpp:
(WebKit::ImageBufferRemoteIOSurfaceBackend::getPixelBuffer const):
- Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.h:
Canonical link: https://commits.webkit.org/251204@main
- 5:39 PM Changeset in webkit [295112] by
-
- 1 copy in tags/WebKit-7614.1.14.10.10
Tag WebKit-7614.1.14.10.10.
- 5:36 PM Changeset in webkit [295111] by
-
- 9 edits in branches/safari-7614.1.14.10-branch/Source
Versioning.
WebKit-7614.1.14.10.10
- 5:17 PM Changeset in webkit [295110] by
-
- 1 edit in trunk/Source/JavaScriptCore/dfg/DFGJITCode.h
Speculative build fix for Mac Catalyst.
https://bugs.webkit.org/show_bug.cgi?id=241206
Unreviewed.
- Source/JavaScriptCore/dfg/DFGJITCode.h:
Canonical link: https://commits.webkit.org/251203@main
- 5:15 PM Changeset in webkit [295109] by
-
- 6 edits in trunk/Source/WebCore
WebGL extensions code cleanup
https://bugs.webkit.org/show_bug.cgi?id=241185
Patch by Alexey Knyazev <3479527+lexaknyazev@users.noreply.github.com> on 2022-06-01
Reviewed by Kenneth Russell.
Sorted extensions in the same order everywhere, added new macros.
Drive-by fixes:
- WebGLRenderingContextBase::extensionIsEnabled for EXT_texture_filter_anisotropic
- WebGLRenderingContextBase::extensionIsEnabled for WEBGL_compressed_texture_pvrtc
- WebGLRenderingContextBase::loseExtensions for WEBGL_compressed_texture_s3tc_srgb
- WebGLRenderingContextBase::loseExtensions for WEBGL_multi_draw
- Source/WebCore/bindings/js/JSDOMConvertWebGL.cpp:
(WebCore::convertToJSValue):
- Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::getExtension):
(WebCore::WebGL2RenderingContext::getSupportedExtensions):
- Source/WebCore/html/canvas/WebGLExtension.h:
- Source/WebCore/html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getSupportedExtensions):
- Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::extensionIsEnabled):
(WebCore::WebGLRenderingContextBase::loseExtensions):
- Source/WebCore/html/canvas/WebGLRenderingContextBase.h:
Canonical link: https://commits.webkit.org/251202@main
- 4:16 PM WebKitGTK/2.36.x edited by
- (diff)
- 3:30 PM Changeset in webkit [295108] by
-
- 1 copy in tags/WebKit-7614.1.15
Tag WebKit-7614.1.15.
- 3:21 PM Changeset in webkit [295107] by
-
- 1 edit in trunk/Websites/webkit.org/wp-content/themes/webkit/header.php
Add privacy-friendly usage statistics reporting for webkit.org
https://bugs.webkit.org/show_bug.cgi?id=241200
Reviewed by Devin Rousso.
- Websites/webkit.org/wp-content/themes/webkit/header.php:
Canonical link: https://commits.webkit.org/251201@main
- 2:59 PM Changeset in webkit [295106] by
-
- 1 edit in branches/safari-613-branch/Source/WebCore/dom/Document.cpp
Unreviewed build fix.
error: no member named 'isResolvingContainerQueries' in 'WebCore::Document'
- 2:42 PM Changeset in webkit [295105] by
-
- 5 edits2 adds in trunk
[macOS] Only allow the active, visible tab to trigger
-_focusWebView:
https://bugs.webkit.org/show_bug.cgi?id=241108
rdar://93973632
Reviewed by Chris Dumez.
To address <https://webkit.org/b/233686>, Safari removed their implementation of the UI delegate
method-_focusWebView:, which is invoked when a webpage useswindow.open()with a target, and
which Safari previously handled by making the web view the active tab. However, this breaks a valid
use case in which a webpage useswindow.open()to open itself in a new tab, and later use it again
to return to the original tab. To address this, we'll restore Safari's implementation of the
WKWebViewfocus delegate method, but will change WebKit to only allow this method call to bubble
up into the client layer in the case where the page that's callingwindow.open()is already active
and visible.
- Source/WebCore/loader/FrameLoader.cpp:
(WebCore::isInVisibleAndActivePage):
(WebCore::FrameLoader::loadFrameRequest):
(WebCore::createWindow):
- Source/WebCore/page/DOMWindow.cpp:
(WebCore::DOMWindow::focus):
Check that the opener (or source) frame that's triggering the call to
open()is in a page that's
visible and active.
- Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- Tools/TestWebKitAPI/Tests/mac/FocusWebView.mm: Added.
(TestWebKitAPI::TEST):
Add an API test to verify that
-_focusWebView:is not called when opening a window once the web
page containing the frame that's callingwindow.open()is unparented from its window.
- Tools/TestWebKitAPI/Tests/mac/open-in-new-tab.html: Added.
- Tools/TestWebKitAPI/cocoa/TestUIDelegate.h:
- Tools/TestWebKitAPI/cocoa/TestUIDelegate.mm:
(-[TestUIDelegate _focusWebView:]):
Canonical link: https://commits.webkit.org/251200@main
- 1:36 PM Changeset in webkit [295104] by
-
- 1 edit in trunk/Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm
Relax the assertions for min/max unobscured size
https://bugs.webkit.org/show_bug.cgi?id=241083
Reviewed by Tim Horton.
The assertions in _setMinimumUnobscuredSizeOverride and
_setMaximumUnobscuredSizeOverride often trigger when the current bounds are
- This is handled acceptably, and the assertion is not necessary in that
case.
- Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _setMinimumUnobscuredSizeOverride:]):
(-[WKWebView _setMaximumUnobscuredSizeOverride:]):
Canonical link: https://commits.webkit.org/251199@main
- 1:17 PM Changeset in webkit [295103] by
-
- 3 edits in trunk/Source/WebKit
Avoid triggering image analysis when the user has disabled Live Text
https://bugs.webkit.org/show_bug.cgi?id=241193
Reviewed by Aditya Keerthi.
- Source/WebKit/Platform/cocoa/ImageAnalysisUtilities.h:
- Source/WebKit/Platform/cocoa/ImageAnalysisUtilities.mm:
(WebKit::canStartImageAnalysis):
- Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _startImageAnalysis:target:]):
Canonical link: https://commits.webkit.org/251198@main
- 1:15 PM Changeset in webkit [295102] by
-
- 1 edit in trunk/Source/bmalloc/libpas/Documentation.md
[libpas] add documentation (Follow-up)
https://bugs.webkit.org/show_bug.cgi?id=236385
<rdar://88704094>
Reviewed by Mark Lam.
- Source/bmalloc/libpas/Documentation.md: Convert hashes and revisions to identifiers.
Canonical link: https://commits.webkit.org/251196@main
- 1:15 PM Changeset in webkit [295101] by
-
- 2 edits in trunk
Allow decidePolicyForNavigation* decisionHandlers to be called on non-main runloops
https://bugs.webkit.org/show_bug.cgi?id=241157
<rdar://94130705>
Reviewed by Brady Eidson.
Wouldn't it be nice if all apps used your APIs exactly how you want them to?
This is not the case. People call decision handlers on non-main threads.
When this happens, just hop to the main thread to avoid threading issues.
- Source/WebKit/UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):
(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationResponse):
Canonical link: https://commits.webkit.org/251196@main
- 11:52 AM Changeset in webkit [295100] by
-
- 4 edits in trunk
Web Inspector: Even after r293565, button/select elements created after Web Inspector is open are considered Flexbox containers
https://bugs.webkit.org/show_bug.cgi?id=241054
rdar://94063718
Reviewed by Devin Rousso.
r293565 updated the logic for determining the layout type for RenderObjects, but that fix did not account for the fact
thatInspectorCSSAgent::nodeLayoutContextTypeChangedis called during the creation ofRenderFlexibleBox, at which
point the creation of subclass-specific bits, including overrides will not have occurred, includingisFlexibleBoxImpl
which we use to determine if the flexbox container is a "real" flexbox container, or an internal implementation detail.
We should instead determine the layout context type later just before we send the event to the frontend (it is already
delayed specifically becausenodeLayoutContextTypeChangedcan be called in destructors, which can be the result of
garbage collection). This doesn't change when the frontend receives any information, only adjust when we resolve the
layout context type.
- LayoutTests/inspector/css/nodeLayoutContextTypeChanged-expected.txt:
- LayoutTests/inspector/css/nodeLayoutContextTypeChanged.html:
- Source/WebCore/inspector/agents/InspectorCSSAgent.cpp:
- Source/WebCore/inspector/agents/InspectorCSSAgent.h:
Canonical link: https://commits.webkit.org/251195@main
- 11:51 AM Changeset in webkit [295099] by
-
- 6 edits in trunk/Source/WebInspectorUI/UserInterface/Views
Web Inspector: Color swatches for layout container overlays allow format changes via context menu
https://bugs.webkit.org/show_bug.cgi?id=241055
rdar://94063968
Reviewed by Devin Rousso.
NodeOverlayListSection already signaled that the color swatches it creates should not allow changing formats (although
it expressed this as preventing Shift+Clicking to change the format). This only makes sense if we prevent the context
menu from being shown as well, which current allows changing the color format for these swatches. Because currently we
only support sRGB color for overlays anyways, this is unnecessary and confusing.
- Source/WebInspectorUI/UserInterface/Views/InlineSwatch.js:
(WI.InlineSwatch):
- Add an option to prevent changing color formats and convert read-only to an option as well.
- Don't add the context menu click handler for color swatches when changing formats is disabled.
(WI.InlineSwatch.prototype._allowChangingColorFormats):
(WI.InlineSwatch.prototype.set shiftClickColorEnabled): Deleted.
(WI.InlineSwatch.prototype._swatchElementClicked):
- Source/WebInspectorUI/UserInterface/Views/AnimationDetailsSidebarPanel.js:
(WI.AnimationDetailsSidebarPanel.prototype._refreshEffectSection.optionsForType):
(WI.AnimationDetailsSidebarPanel.prototype._refreshEffectSection):
- Source/WebInspectorUI/UserInterface/Views/NodeOverlayListSection.js:
(WI.NodeOverlayListSection.prototype.layout):
- Source/WebInspectorUI/UserInterface/Views/RecordingActionTreeElement.js:
(WI.RecordingActionTreeElement._createSwatchForColorParameters):
- Source/WebInspectorUI/UserInterface/Views/RecordingStateDetailsSidebarPanel.js:
(WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):
(WI.RecordingStateDetailsSidebarPanel):
- Source/WebInspectorUI/UserInterface/Views/SpreadsheetStyleProperty.js:
(WI.SpreadsheetStyleProperty.prototype._createInlineSwatch):
- Adopt new WI.InlineSwatch constructor.
Canonical link: https://commits.webkit.org/251194@main
- 11:32 AM Changeset in webkit [295098] by
-
- 2 edits in trunk
[iOS] WKWebViews can get into a state with multiple find overlays
https://bugs.webkit.org/show_bug.cgi?id=241163
rdar://93904570
Reviewed by Devin Rousso.
When
-[WKWebView didEndTextSearchOperation]and-[WKWebView didBeginTextSearchOperation]
are called in quick succession, the web view can get into a state with multiple
find overlays. This state occurs becausedidBeginTextSearchOperationnulls out
the find overlay before the fade out animation has finished.
didBeginTextSearchOperationthen observes that there is no find overlay, and
adds another overlay.
To fix, the page overlay member should be nulled out at the right time.
- Source/WebKit/WebProcess/WebPage/WebFoundTextRangeController.cpp:
(WebKit::WebFoundTextRangeController::didBeginTextSearchOperation):
If there is already a find overlay, cancel its removal if it is being
uninstalled. This ensures that calling end/begin in quick succession will preserve
the overlay.
(WebKit::WebFoundTextRangeController::didEndTextSearchOperation):
Do not null out the page overlay immediately when uninstalling. Nulling out
the member is handled inwillMoveToPage, which is called after the animation
is finished.
- Tools/TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm:
(traverseLayerTree):
(overlayCount):
(TestWebKitAPI::TEST):
Added an API test to ensure at most one find overlay is in the layer tree at
any time.
Canonical link: https://commits.webkit.org/251193@main
- 10:50 AM Changeset in webkit [295097] by
-
- 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations
[Gardening]: REGRESSION (250044@main?): [ Monterey Debug wk2 ] webgl/1.0.3/conformance/attribs/gl-vertexattribpointer-offsets.html is an almost consistent timeout
https://bugs.webkit.org/show_bug.cgi?id=241191
<rdar://94231182>
Unreviewed test gardening.
- LayoutTests/platform/mac-wk2/TestExpectations:
Canonical link: https://commits.webkit.org/251192@main
- 10:41 AM Changeset in webkit [295096] by
-
- 3 edits in trunk/Tools/Scripts/libraries/webkitscmpy
[git-webkit] Append -- to
git logcommands
https://bugs.webkit.org/show_bug.cgi?id=241161
<rdar://problem/94185199>
Reviewed by Alexey Proskuryakov.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.Cache.populate): Append -- to
git logcommand.
(Git.commit): Ditto.
(Git.commits): Ditto.
(Git.checkout): Append -- togit checkoutcommand.
Canonical link: https://commits.webkit.org/251191@main
- 10:32 AM Changeset in webkit [295095] by
-
- 2 edits in trunk
Revert "Allow decidePolicyForNavigation* decisionHandlers to be called on non-main runloops"
Unreviewed, this reverts commit 251175@main.
Canonical link: https://commits.webkit.org/251190@main
- 10:26 AM Changeset in webkit [295094] by
-
- 1 edit2 adds in trunk
Spacing after some posts is too large on Dead by Daylight forums
https://bugs.webkit.org/show_bug.cgi?id=241104
<rdar://88110302>
Reviewed by Antti Koivisto.
Do not cross containing block boundary while resolving fill-available. If the containing block does not specify the constraint value for the fill-available descendant, we should just return "can't resolve" instead of climbing the containing block tree and potentially hit the ICB as the first container with fixed height(width).
- LayoutTests/fast/block/fill-available-with-no-specified-containing-block-height-expected.html: Added.
- LayoutTests/fast/block/fill-available-with-no-specified-containing-block-height.html: Added.
- Source/WebCore/rendering/RenderBox.cpp:
(WebCore::isOrthogonal):
(WebCore::RenderBox::computeIntrinsicLogicalContentHeightUsing const):
Canonical link: https://commits.webkit.org/251189@main
- 10:04 AM Changeset in webkit [295093] by
-
- 45 edits in trunk/Source
Revert "[Xcode] Prevent STP and other self-contained builds from overwriting content in the macOS SDK"
Unreviewed, this reverts commit 251168@main to fix internal builds.
Canonical link: https://commits.webkit.org/251188@main
- 9:58 AM Changeset in webkit [295092] by
-
- 3 edits in trunk
WeakHashMap::ensure() may crash if the map contains null references https://bugs.webkit.org/show_bug.cgi?id=241162
Reviewed by Geoffrey Garen.
WeakHashMap::ensure() may crash if the map contains null references, because
the WeakHashMap iterator destructor can clear null references and the AddResult
constructor copies and destroys the input iterator.
I find it very error-prone that destroying an iterator would modify the hash
map and thus invalidate other iterators (or even itself if the iterator was
merely copied). As a result, I removed this logic from the
WeakHashMapIteratorBase destructor. Instead, I now increase
WeakHashMap::m_operationCountSinceLastCleanup whenever the iterator gets
incremented so that null references will be removed the next time the hash map
is modified.
I also updated other read-only operations (such as get() / find() / contains())
to just increment m_operationCountSinceLastCleanup without actually clearing
null references for the same reason as above. Having such read-only operations
invalidate existing iterators is just too error-prone.
Finally, I updated the AddResult constructor to avoid copying the
WeakHashMapIterator it is passed, given that the WeakHashMapIterator
constructor and destructor do some work.
- Source/WTF/wtf/WeakHashMap.h:
- Source/WebCore/dom/Element.cpp:
(WebCore::Element::identifier const):
- Tools/TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
(TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/251187@main
- 9:55 AM Changeset in webkit [295091] by
-
- 1 edit1 add in trunk
Fix Wasm referenced function calculation for globals
https://bugs.webkit.org/show_bug.cgi?id=239588
Patch by Asumu Takikawa <asumu@igalia.com> on 2022-06-01
Reviewed by Keith Miller.
JSTests:
- wasm/regress/239588.js: Added.
(module):
Source/JavaScriptCore:
- wasm/WasmSectionParser.cpp:
(JSC::Wasm::SectionParser::parseInitExpr):
Canonical link: https://commits.webkit.org/251186@main
- 9:20 AM Changeset in webkit [295090] by
-
- 5 edits2 adds in trunk
AX: inert attribute doesn't cause display:contents element to be ignored
https://bugs.webkit.org/show_bug.cgi?id=241022
Reviewed by Chris Fleizach.
Prior to this patch, the inert attribute didn't cause node-only objects
(like those with display:contents) to be ignored. This was because
AccessibilityObject::defaultObjectInclusion only checkedeffectiveInert
for elements with renderers, even though you only need an element to
have style (not a renderer).
This patch fixes this by adding a new AccessibilityObject::style()
method which uses AccessibilityObject::element() to get
Element::computedStyle() and checking effectiveInert on that, which
works for both renderer and renderer-less objects.
- LayoutTests/accessibility/node-only-inert-object-expected.txt: Added.
- LayoutTests/accessibility/node-only-inert-object.html: Added.
- LayoutTests/platform/ios/TestExpectations: Enable new test.
- LayoutTests/platform/mac-wk1/TestExpectations: Skip new test.
- Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::style const): Added.
(WebCore::AccessibilityObject::defaultObjectInclusion const):
- Source/WebCore/accessibility/AccessibilityObject.h:
Canonical link: https://commits.webkit.org/251185@main
- 8:36 AM Changeset in webkit [295089] by
-
- 1 edit4 adds in trunk/LayoutTests/platform/mac-wk1
[Mac] http/tests/inspector/network/har/har-page.html constant failure on wk1
https://bugs.webkit.org/show_bug.cgi?id=229458
rdar://82301476
Reviewed by Devin Rousso.
This test ensures that the _serverPort, _priority, and request cookies are as-expected when exporting a HAR, but that
data is part ofAdditionalNetworkLoadMetricsForWebInspectorinternally, which is not implemented for WK1. In order to
defend the rest of the results going forward, create WK1-specific expectations that exclude those three specific pieces
of data that are unavailable.
- LayoutTests/platform/mac-wk1/TestExpectations:
- LayoutTests/platform/mac-wk1/http/tests/inspector/network/har/har-page-expected.txt: Added.
Canonical link: https://commits.webkit.org/251184@main
- 8:06 AM Changeset in webkit [295088] by
-
- 19 edits in trunk/Source
Firing a fetch event should not be blocked on main thread
https://bugs.webkit.org/show_bug.cgi?id=241096
Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-01
Reviewed by Chris Dumez.
The main thread might be blocked by work done by the web page, like executing JavaScript.
This might delay fetch events handling. This can cause PLT regressions when serving content through a service worker.
To limit the perf penalty, we are now hopping to a work queue to process all WebSWContextManagerConnection messages.
For fetch events and message events, we directly go from that thread to the service worker thread.
For install/activate/push/notification events, we keep going through the main thread as they are not as perf crtical.
Also install/activate should follow the same flow as other events like updatefound which are served through WebSWClientConnection.
We change skipWaiting accordingly to remove races in case the reply would go to main thread directly instead of going through the background work queue.
We do some refactoring to allow getting a ServiceWorkerThreadProxy from a background queue.
- Source/WebCore/workers/service/context/SWContextManager.cpp:
(WebCore::SWContextManager::didSaveScriptsToDisk): Deleted.
- Source/WebCore/workers/service/context/SWContextManager.h:
- Source/WebCore/workers/service/server/SWServerToContextConnection.cpp:
(WebCore::SWServerToContextConnection::skipWaiting): Deleted.
- Source/WebCore/workers/service/server/SWServerToContextConnection.h:
- Source/WebCore/workers/service/server/SWServerWorker.h:
- Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::ServiceWorkerThreadProxy::startFetch):
(WebCore::ServiceWorkerThreadProxy::convertFetchToDownload):
(WebCore::ServiceWorkerThreadProxy::continueDidReceiveFetchResponse):
(WebCore::ServiceWorkerThreadProxy::fireMessageEvent):
(WebCore::ServiceWorkerThreadProxy::didSaveScriptsToDisk):
(WebCore::ServiceWorkerThreadProxy::firePushEvent):
(WebCore::ServiceWorkerThreadProxy::firePushSubscriptionChangeEvent):
(WebCore::ServiceWorkerThreadProxy::fireNotificationEvent):
(WebCore::ServiceWorkerThreadProxy::willPostTaskToFireMessageEvent): Deleted.
- Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.h:
- Source/WebKit/Shared/WebPreferencesStore.h
- Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp:
(WebKit::WebSWServerToContextConnection::skipWaiting):
- Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h:
- Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerToContextConnection.messages.in:
- Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::~WebSWContextManagerConnection):
(WebKit::WebSWContextManagerConnection::cancelFetch):
(WebKit::WebSWContextManagerConnection::continueDidReceiveFetchResponse):
(WebKit::WebSWContextManagerConnection::postMessageToServiceWorker):
(WebKit::WebSWContextManagerConnection::didSaveScriptsToDisk):
(WebKit::WebSWContextManagerConnection::convertFetchToDownload):
(WebKit::WebSWContextManagerConnection::skipWaiting):
(WebKit::WebSWContextManagerConnection::skipWaitingCompleted):
- Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.h:
- Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.messages.in:
Canonical link: https://commits.webkit.org/251183@main
- 8:04 AM Changeset in webkit [295087] by
-
- 12 edits in trunk/Source/WebKit
[iOS][GPUP] Apply workaround for invalid Mobile Gestalt cache
https://bugs.webkit.org/show_bug.cgi?id=241036
<rdar://93614152>
Reviewed by Geoffrey Garen.
In the WebContent process on iOS, we have a workaround to repopulate the Mobile Gestalt cache in case
the disk version is invalid. This workaround should be applied to the GPU process as well.
- Source/WebKit/GPUProcess/GPUProcessCreationParameters.cpp:
(WebKit::GPUProcessCreationParameters::encode const):
(WebKit::GPUProcessCreationParameters::decode):
- Source/WebKit/GPUProcess/GPUProcessCreationParameters.h:
- Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.in:
- Source/WebKit/Shared/AuxiliaryProcess.h:
- Source/WebKit/Shared/AuxiliaryProcess.cpp:
(WebKit::AuxiliaryProcess::populateMobileGestaltCache):
- Source/WebKit/Shared/ios/AuxiliaryProcessIOS.cpp:
(WebKit::AuxiliaryProcess::populateMobileGestaltCache):
- Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp:
(WebKit::AuxiliaryProcessProxy::createMobileGestaltSandboxExtensionIfNeeded const):
- Source/WebKit/UIProcess/AuxiliaryProcessProxy.h:
- Source/WebKit/UIProcess/Cocoa/GPUProcessProxyCocoa.mm:
(WebKit::GPUProcessProxy::platformInitializeGPUProcessParameters):
- Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
- Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
Canonical link: https://commits.webkit.org/251182@main
- 4:29 AM Changeset in webkit [295086] by
-
- 15 edits43 adds in trunk/LayoutTests
Re-import container query WPTs
https://bugs.webkit.org/show_bug.cgi?id=241168
Reviewed by Tim Nguyen.
- LayoutTests/TestExpectations:
- LayoutTests/imported/w3c/resources/resource-files.json:
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-001-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-001.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-002-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-002.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-003-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-003.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-004-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-004.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-for-cue-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-for-cue-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-for-cue.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-for-shadow-dom.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-longhand-animation-type-expected.txt: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-longhand-animation-type.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-name-computed-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-name-computed.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-size-invalidation-after-load-expected.txt: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-size-invalidation-after-load.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-gradient-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-gradient-invalidation-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-gradient-invalidation.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-gradient-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-gradient.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-media-queries-expected.txt: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-media-queries.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-shadow-expected.txt: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-shadow.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-svglength-expected.txt: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-svglength.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/crashtests/br-crash.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/crashtests/columns-in-table-002-crash.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/crashtests/container-in-canvas-crash.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/crashtests/orthogonal-replaced-crash.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/crashtests/w3c-import.log:
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/deep-nested-inline-size-containers.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/iframe-in-container-invalidation-expected.txt: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/iframe-in-container-invalidation.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/inner-first-line-non-matching-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/inner-first-line-non-matching-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/inner-first-line-non-matching.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/pseudo-elements-002-expected.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/pseudo-elements-002-ref.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/pseudo-elements-002.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/pseudo-elements-003.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/pseudo-elements-004-expected.txt: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/pseudo-elements-004.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/style-change-in-container.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/support/cq-testcommon.js:
(polyfill_declarative_shadow_dom):
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/support/test.vtt: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/support/w3c-import.log:
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/svg-foreignobject-child-container-expected.txt: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/svg-foreignobject-child-container.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/svg-g-no-size-container-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/svg-g-no-size-container-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/svg-g-no-size-container.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/w3c-import.log:
Canonical link: https://commits.webkit.org/251181@main
- 4:05 AM Changeset in webkit [295085] by
-
- 1 edit in trunk/Tools/wpe/backends/PlatformWPE.cmake
WPEToolingsBackend requires linking against libgobject
https://bugs.webkit.org/show_bug.cgi?id=241180
Patch by Žan Doberšek <zdobersek@igalia.com> on 2022-06-01
Unreviewed, WPEToolingsBackend library should link against the GObject library
as required by ATK code, avoiding linking issues that only pop up at the point
of linking the WebKitTestRunner binary, and in only some specific
configurations.
- Tools/wpe/backends/PlatformWPE.cmake:
Have the WPEToolingsBackend link against GObject libraries.
Canonical link: https://commits.webkit.org/251180@main
- 3:30 AM Changeset in webkit [295084] by
-
- 2 edits in trunk/Source/WebCore/platform
Non-unified build fixes, early June 2022 edition
https://bugs.webkit.org/show_bug.cgi?id=241170
Unreviewed non-unified build fix.
- Source/WebCore/platform/audio/MultiChannelResampler.cpp: Add missing wtf/PrintStream.h inclusion.
- Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp: Add missing inclusion of the <functional> stdlib header.
Canonical link: https://commits.webkit.org/251179@main
- 1:54 AM Changeset in webkit [295083] by
-
- 1 edit2 adds in trunk
Assertion in RenderTreeBuilder::attachToRenderElementInternal
https://bugs.webkit.org/show_bug.cgi?id=239823
<rdar://92390285>
Reviewed by Alan Bujtas.
- LayoutTests/fast/css/display-content-with-pending-stylesheet-crash-expected.txt: Added.
- LayoutTests/fast/css/display-content-with-pending-stylesheet-crash.html: Added.
- Source/WebCore/style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::resolveElement):
We can't skip resolution for elements that we have already computed style for. This includes elements with display:contents.
Canonical link: https://commits.webkit.org/251178@main
- 12:04 AM Changeset in webkit [295082] by
-
- 4 edits in trunk/Source/ThirdParty/ANGLE
Improve performance of many render passes.
https://bugs.webkit.org/show_bug.cgi?id=234008
Patch by Dan Glastonbury <djg@apple.com> on 2022-05-31
Reviewed by Kimmo Kinnunen.
Through experimentation, it was found that reducing the number of render passes
inflight in the system improves performance. Breaking command buffers with a
large number of render passes into smaller chunks, of at most 16 render passes,
brought the frame rate of ANGLE metal backend inline with ANGLE opengl on macOS
and iOS.
- Source/ThirdParty/ANGLE/changes.diff:
- Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.h:
- Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm:
(rx::ContextMtl::flushCommandBuffer):
(rx::ContextMtl::flushCommandBufferIfNeeded):
(rx::ContextMtl::present):
(rx::ContextMtl::getRenderPassCommandEncoder):
- Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_common.h:
Canonical link: https://commits.webkit.org/251177@main
May 31, 2022:
- 10:27 PM Changeset in webkit [295081] by
-
- 1 edit in trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp
DOM order may not be sufficient when constructing the LogicalFlexItemList
https://bugs.webkit.org/show_bug.cgi?id=241166
Reviewed by Antti Koivisto.
We need to hold on to a reference to the layout box in case logical order != DOM order.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::convertFlexItemsToLogicalSpace):
Canonical link: https://commits.webkit.org/251176@main
- 10:00 PM Changeset in webkit [295080] by
-
- 2 edits in trunk
Allow decidePolicyForNavigation* decisionHandlers to be called on non-main runloops
https://bugs.webkit.org/show_bug.cgi?id=241157
<rdar://94130705>
Reviewed by Brady Eidson.
Wouldn't it be nice if all apps used your APIs exactly how you want them to?
This is not the case. People call decision handlers on non-main threads.
When this happens, just hop to the main thread to avoid threading issues.
- Source/WebKit/UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):
(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationResponse):
Canonical link: https://commits.webkit.org/251175@main
- 8:00 PM Changeset in webkit [295079] by
-
- 32 edits25 adds in trunk/LayoutTests
Import css/css-text/text-align tests from WPT
https://bugs.webkit.org/show_bug.cgi?id=241160
Patch by Kiet Ho <Kiet Ho> on 2022-05-31
Reviewed by Tim Nguyen.
Imported from WPT commit 9a7bbe40439176ace294a65474b3a9fed2f8b2d3.
- LayoutTests/TestExpectations:
- LayoutTests/imported/w3c/resources/resource-files.json:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-006-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-006.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-007-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-007.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-008.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-inline-end-crash.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justify-shy-001-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justify-shy-001.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justifyall-001-expected.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justifyall-001.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justifyall-002-expected.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justifyall-002.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justifyall-003-expected.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justifyall-003.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justifyall-004-expected.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justifyall-004.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justifyall-005-expected.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justifyall-005.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justifyall-006-expected.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justifyall-006.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-001.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-002.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-003.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-004.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-005.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-006.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-007.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-008.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-009.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-010-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-010.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-011.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-012.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-013.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-014.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-interpolation-expected.txt: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-interpolation.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-match-parent-01-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-match-parent-01.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-match-parent-02-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-match-parent-02.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-match-parent-03-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-match-parent-03.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-match-parent-04-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-match-parent-04.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-match-parent-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-match-parent-root-ltr-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-match-parent-root-ltr-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-match-parent-root-ltr.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-match-parent-root-rtl-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-match-parent-root-rtl-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-match-parent-root-rtl.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-webkit-match-parent-expected.txt: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-webkit-match-parent.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/w3c-import.log:
Canonical link: https://commits.webkit.org/251174@main
- 7:07 PM Changeset in webkit [295078] by
-
- 1 edit in trunk/Source/ThirdParty/ANGLE/changes.diff
Regenerate Source/ThirdParty/ANGLE/changes.diff
https://bugs.webkit.org/show_bug.cgi?id=241165
Patch by Dan Glastonbury <djg@apple.com> on 2022-05-31
Reviewed by Dean Jackson.
- Source/ThirdParty/ANGLE/changes.diff:
Output of update-angle --regenerate-changes-diff
Canonical link: https://commits.webkit.org/251173@main
- 6:53 PM Changeset in webkit [295077] by
-
- 2 edits in trunk/LayoutTests
Move conformance[2]/textures/image_bitmap_from_image_bitmap/ suppressions to top level
https://bugs.webkit.org/show_bug.cgi?id=241145
Patch by Kenneth Russell <kbr@chromium.org> on 2022-05-31
Unreviewed test gardening. Move suppressions from
webgl/TestExpectations to top-level TestExpectations.
- LayoutTests/TestExpectations:
- LayoutTests/webgl/TestExpectations:
Canonical link: https://commits.webkit.org/251172@main
- 6:33 PM Changeset in webkit [295076] by
-
- 1 edit in trunk/Source/WebInspectorUI/UserInterface/Base/Setting.js
Web Inspector: CSS autocomplete: enable experimental feature for initial hint being the most commonly used property of the matching suggestions
https://bugs.webkit.org/show_bug.cgi?id=241146
Reviewed by Patrick Angle.
- Source/WebInspectorUI/UserInterface/Base/Setting.js:
Canonical link: https://commits.webkit.org/251171@main
- 6:25 PM Changeset in webkit [295075] by
-
- 1 edit in trunk/Source/WebInspectorUI/UserInterface/Base/Setting.js
Web Inspector: Debugger: blackbox breakpoint evaluations by default
https://bugs.webkit.org/show_bug.cgi?id=241143
Reviewed by Patrick Angle.
According to <https://webkit.org/web-inspector/script-blackboxing/>
Script blackboxing is the ability to mark a
<script>in Web Inspector so that it is ignored by
the JavaScript debugger, meaning that any JavaScript execution pauses that would happen in that
<script>are instead deferred until JavaScript execution has continued outside of that<script>.
Based on that, developers will likely expect that breakpoint evaluations fall under the category of
"things that the JavaScript debugger does" and would therefore expect that they're ignored/deferred.
- Source/WebInspectorUI/UserInterface/Base/Setting.js:
Canonical link: https://commits.webkit.org/251170@main
- 6:16 PM Changeset in webkit [295074] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Timelines Tab: Screenshots: enable by default
https://bugs.webkit.org/show_bug.cgi?id=241144
Reviewed by Patrick Angle.
- Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js:
- Source/WebInspectorUI/UserInterface/Base/Setting.js:
- Source/WebInspectorUI/UserInterface/Models/ScreenshotsInstrument.js:
(WI.ScreenshotsInstrument.supported):
- Source/WebInspectorUI/UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
Canonical link: https://commits.webkit.org/251169@main
- 4:42 PM Changeset in webkit [295073] by
-
- 45 edits in trunk/Source
[Xcode] Prevent STP and other self-contained builds from overwriting content in the macOS SDK
https://bugs.webkit.org/show_bug.cgi?id=240408
Reviewed by Alexey Proskuryakov.
When building with WK_OVERRIDE_FRAMEWORKS_DIR, we assume that WebKit is
being built as part of a self-contained application, e.g. Safari
Technology Preview. This means that most content is installed to the
override directory, instead of the normal /System/Library/Frameworks
directory.
However, static library content (e.g. headers and archives
for bmalloc, webrtc, WTF) is _not_ installed to the override directory,
as it is not needed at runtime. It was being installed to the default
/usr/local prefix, where it would merge with and overwrite whatever
WebKit content was already present.
To prevent overwrites and other sorts of conflict with the
system-provided WebKit, introduce WK_LIBRARY_HEADERS_FOLDER_PATH and
WK_LIBRARY_INSTALL_PATH, which expand to /usr/local/include/safari-sdk
and /usr/local/lib/safari-sdk respectively when building in this mode.
Static library headers and archives are built to these locations, where
they're still in the expected SDK location, but won't clobber system
WebKit.
- Source/bmalloc/Configurations/Base.xcconfig:
- Source/bmalloc/Configurations/bmalloc.xcconfig:
- Source/bmalloc/Configurations/mbmalloc.xcconfig:
- Source/JavaScriptCore/Configurations/Base.xcconfig:
- Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig:
- Source/JavaScriptCore/DerivedSources.make:
- Source/JavaScriptCore/Scripts/generate-unified-sources.sh:
- Source/JavaScriptCore/offlineasm/config.rb:
- Source/JavaScriptCore/offlineasm/parser.rb:
- Source/ThirdParty/ANGLE/Configurations/ANGLE-dynamic.xcconfig:
- Source/ThirdParty/ANGLE/Configurations/AngleMetalLib.xcconfig:
- Source/ThirdParty/ANGLE/Configurations/Base.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/boringssl.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/libabsl.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/libsrtp.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/libvpx.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/libwebm.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/libyuv.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/opus.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/usrsctp.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/yasm.xcconfig:
- Source/WebCore/PAL/Configurations/Base.xcconfig:
- Source/WebCore/PAL/Configurations/PAL.xcconfig:
- Source/WebGPU/Configurations/Base.xcconfig:
- Source/WebGPU/Configurations/WGSL.xcconfig:
- Source/WebGPU/Configurations/WGSLUnitTests.xcconfig:
- Source/WebGPU/Configurations/WebGPU.xcconfig:
- Source/WebKit/Configurations/Base.xcconfig:
- Source/WebKit/Configurations/BaseTarget.xcconfig:
- Source/WebKit/Configurations/SandboxProfiles.xcconfig:
- Source/WebKit/WebKit.xcodeproj/project.pbxproj:
- Source/WebKitLegacy/scripts/generate-unified-sources.sh:
- Source/WebKitLegacy/mac/Configurations/Base.xcconfig:
- Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig:
- Source/WTF/Configurations/Base.xcconfig:
- Source/WTF/Configurations/WTF.xcconfig:
- Source/WTF/Configurations/icu.xcconfig:
- Source/WebCore/Configurations/Base.xcconfig:
- Source/WebCore/Configurations/WebCore.xcconfig:
- Source/WebCore/Configurations/WebCoreTestSupport.xcconfig:
- Source/WebCore/DerivedSources.make:
- Source/WebCore/Scripts/generate-unified-sources.sh:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/251168@main
- 4:05 PM Changeset in webkit [295072] by
-
- 3 edits in trunk/Source
Fix whitespace paths in "Copy Profiling Data"
https://bugs.webkit.org/show_bug.cgi?id=240285
Unreviewed build fix. JAVASCRIPTCORE_PRIVATE_HEADERS_DIR may contain
spaces, so when we're invoking copy-profiling-data.sh from that
directory we need to defensively quote it.
- Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebKit/WebKit.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/251167@main
- 3:43 PM Changeset in webkit [295071] by
-
- 40 edits in trunk/Source
Revert "Perform media networking operations off the main thread"
This reverts commit be35d3c403e1c80fbc18a7a9c0389633448758ac.
Unreviewed revert due to causing 25 consistent crashes on bot.
Canonical link: https://commits.webkit.org/251166@main
- 3:24 PM Changeset in webkit [295070] by
-
- 1 edit in trunk/Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm
[WebAuthn][ios] weakThis not checked before clearing ASCProxy
https://bugs.webkit.org/show_bug.cgi?id=241029
rdar://93932684
Reviewed by Brent Fulgham.
This issue causes crashes after cancelling some types of requests. This change
has been tested on device to verify it fixes the crash.
- Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:
Canonical link: https://commits.webkit.org/251165@main
- 3:22 PM Changeset in webkit [295069] by
-
- 1 edit in trunk/metadata/contributors.json
Add Nikita Vasilyev's GitHub username to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=241158
Patch by Nikita Vasilyev <me@elv1s.ru> on 2022-05-31
Reviewed by Jonathan Bedard.
- metadata/contributors.json:
Canonical link: https://commits.webkit.org/251164@main
- 3:08 PM Changeset in webkit [295068] by
-
- 1 edit in trunk/Source/WebKit/UIProcess/Cocoa/SOAuthorization/PopUpSOAuthorizationSession.mm
PopUpSOAuthorization::initSecretWebView modifies parent web view configuration
https://bugs.webkit.org/show_bug.cgi?id=241155
<rdar://94176551>
Reviewed by Chris Dumez.
The AppSSO flows that create a new WKWebView pass through the method
'PopUpSOAuthorizationSession::initSecretWebView'. This conducts SSO flows in
an invisible Window for cases where other UI handles the actual authentication,
but a web view is needed to handle server interactions. It deactivates AppSSO
in the hidden view so that normal server authentication can happen without AppSSO
being triggered a second time.
This method made the common mistake of assuming that performing 'copy' on the
configuration member of the paren't WKWebView yielded a deep copy that could bei
manipulated to control the invisible view independently of the parent view. While
the method correctly disabled AppSSO for the hidden view, it also deactivated it
for the parent view.
This bug could lead to cases where someone who mistakenly terminated an AppSSO flow
would be unable to start the process a second time, as the view would now be
configured to block access to AppSSO authentication.
This patch corrects that bug.
Tested by SOAuthorizationPopUp.InterceptionSucceedTwice.
- Source/WebKit/UIProcess/Cocoa/SOAuthorization/PopUpSOAuthorizationSession.mm:
(WebKit::PopUpSOAuthorizationSession::initSecretWebView):
Canonical link: https://commits.webkit.org/251163@main
- 2:47 PM Changeset in webkit [295067] by
-
- 4 edits1 add in trunk/Source/WebKit
[Xcode] Fix dependency cycles caused by Safari header imports
https://bugs.webkit.org/show_bug.cgi?id=240285
Reviewed by Tim Horton.
We were including headers produced by targets which depend on WebKit.
For Xcode engineering builds, this is not a valid dependency, because
an engineering build does not distinguish between a "header"
dependency and a regular target dependency. These errors have survived
in the codebase because:
- Xcode doesn't recognize header imports as "implicit dependencies",
so the build system hasn't traditionally known these dependencies
exist, except in some incremental builds.
- These headers are available in internal SDKs, so it's possible for
the targets to build out-of-order but build successfully (as long as
the first target to build can use a possibly-outdated version of the
code from the SDK).
When building targets in parallel, we are emitting more information to
recognize these as implicit dependencies (revealing the cycle) and the
build system is laying down framework bundle directories earlier on in
the build (preventing reliance on SDK frameworks).
- Source/WebKit/WebKit.xcodeproj/project.pbxproj: WebKit needs to build after AuthenticationServicesCore in internal builds. Add it as a product dependency.
- Source/WebKit/Configurations/WebKit.xcconfig: Because AuthenticationServicesCore.framework is not available externally, add it to EXCLUDED_SOURCE_FILE_NAMES. The build system still honors the product dependency ordering, but won't fail when it's missing.
- Source/WebKit/Platform/spi/ios/SafariServicesSPI.h: Added, contains interface declarations for needed SSReadingList API. Technically not SPI, but follows the convention of similar platform redeclaration headers.
- Source/WebKit/UIProcess/API/Cocoa/_WKElementAction.mm: WebKit cannot depend on SafariServices. Replace the import of SSReadingList.h with SafariServicesSPI.h.
- Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm: WebKit cannot depend on AuthenticationServices.framework. Thankfully, this import was unused. Delete it.
- Source/WebKit/UIProcess/ios/WKActionSheetAssistant.mm: WebKit cannot depend on SafariServices. Replace the import of SSReadingList.h with SafariServicesSPI.h.
Canonical link: https://commits.webkit.org/251162@main
- 2:22 PM Changeset in webkit [295066] by
-
- 3 edits1 add in trunk
ASSERTION FAILED: regExp->isValid() LLIntSlowPaths.cpp(625)
https://bugs.webkit.org/show_bug.cgi?id=241107
<rdar://93369481>
Reviewed by Mark Lam.
We can remove this ASSERT(regExp->isValid()) and others like it that are used for NewRegExp
bytecode processing because subsequent code already must handle the invalid case. These code
paths may create a new RegExp or retrieve a cached RegExp. For the case where a RegExp is
created for the first time it is valid or we wouldn't have generated the NewRegExp bytecode.
This valid RegExp can subsequently be marked with an error if it fails YARR RegExp engine JIT
code or interpreter bytecode generation. Matching with a RegExp with one of these generation
errors properly throws a Syntax error. These ASSERTs fail when the NewRegExp processing
retrieves an already cached RegExp, with a generation error. The matching code will still
throw a Syntax Error.
- JSTests/stress/regexp-late-compilation-error.js: Added.
(testRegExp1):
(testRegExp2):
(test):
- Source/JavaScriptCore/dfg/DFGOperations.cpp:
(JSC::DFG::JSC_DEFINE_JIT_OPERATION):
- Source/JavaScriptCore/jit/JITOperations.cpp:
(JSC::JSC_DEFINE_JIT_OPERATION):
- Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
Canonical link: https://commits.webkit.org/251161@main
- 2:18 PM Changeset in webkit [295065] by
-
- 6 edits1 add in trunk/Source
Refer to correct profiling data in WebCore and WebKit
https://bugs.webkit.org/show_bug.cgi?id=239681
Reviewed by Alexey Proskuryakov.
Revert "Unreviewed, revert "[Xcode] Compute PGO profdata paths instead of searching for them at build time""
This reverts commit 2ee0d9d171e2ff7daa94d1a15727033a994e6414.
A bad copy-paste led to WebCore and WebKit's production builds using PGO
data from JavaScriptCore. Fix it, and add back a check that ensures
production builds fail instead of falling back to stub profiling data.
- Source/WebCore/Configurations/WebCore.xcconfig:
- Source/WebKit/Configurations/BaseTarget.xcconfig:
Canonical link: https://commits.webkit.org/251160@main
- 2:13 PM Changeset in webkit [295064] by
-
- 2 edits in trunk/Source/WebKit/UIProcess/API/Cocoa
Remove setUsernameForLocalCredentialWithGroupAndID SPI
https://bugs.webkit.org/show_bug.cgi?id=240829
<rdar://93366441>
Reviewed by Brent Fulgham.
This SPI is no longer used internally and can be removed.
- Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(+[_WKWebAuthenticationPanel setUsernameForLocalCredentialWithID:username:]): Deleted.
(+[_WKWebAuthenticationPanel setUsernameForLocalCredentialWithGroupAndID:credential:username:]): Deleted.
Canonical link: https://commits.webkit.org/251159@main
- 1:53 PM Changeset in webkit [295063] by
-
- 1 edit in trunk/Source/WebCore/dom/Element.cpp
REGRESSION (251042@main):[ iOS Debug ] ASSERTION FAILED: m_ptr in Ref.h(115) : T *WTF::Ref<WTF::WeakPtrImpl<>>::operator->() const [T = WTF::WeakPtrImpl<>, Traits = WTF::RawPtrTraits<WTF::WeakPtrImpl<>>]
https://bugs.webkit.org/show_bug.cgi?id=241141
<rdar://94168551>
Unreviewed, remove null references in the WeakHashMap before calling
WeakHashMap::ensure() to address assertion hits on iOS Debug bots.
This seems to indicate a potential WeakHashMap bug where
WeakHashMap::ensure() can get confused if the WeakMapHash contains
null references but I'll investigate separately.
- Source/WebCore/dom/Element.cpp:
(WebCore::Element::identifier const):
Canonical link: https://commits.webkit.org/251158@main
- 1:19 PM Changeset in webkit [295062] by
-
- 1 edit2 adds in trunk
[macOS] Include text context menu actions when right clicking on selected Live Text in a link
https://bugs.webkit.org/show_bug.cgi?id=241069
rdar://91606522
Reviewed by Devin Rousso.
Currently, when right clicking selected text inside of an image that's inside of a link, we only
show context menu actions for the link and image. While it's still possible to copy this selected
text using the Menu Bar (Edit > Copy), this should be reflected in the context menu as well.
To fix this, we adjust a bit of macOS-specific logic in
ContextMenuControllerto include the set
of text actions as well, in this scenario.
- LayoutTests/fast/images/text-recognition/mac/context-menu-for-image-in-link-contains-copy-expected.txt: Added.
- LayoutTests/fast/images/text-recognition/mac/context-menu-for-image-in-link-contains-copy.html: Added.
Add a layout test to verify the change.
- Source/WebCore/page/ContextMenuController.cpp:
(WebCore::ContextMenuController::populate):
Always show selected text options for selected Live Text. Additionally, simplify a bit of nearby
code to take advantage of "if statements with initializers".
Canonical link: https://commits.webkit.org/251157@main
- 12:14 PM Changeset in webkit [295061] by
-
- 2 edits in trunk/Source/JavaScriptCore/runtime
Simplify Structure::checkOffsetConsistency()
https://bugs.webkit.org/show_bug.cgi?id=241025
Reviewed by Geoffrey Garen.
Drop redundant isCompilationThread() check in checkOffsetConsistency() before calling
checkOffsetConsistency(PropertyTable*, const DetailsFunc&) since the callee already
does this check. Hopefully, the compiler was already optimizing out the duplicate
check but it is better to be sure given that this check shows on speedometer profiles,
mostly under checkOffsetConsistency().
Also drop the return value since no caller makes use of it.
- Source/JavaScriptCore/runtime/Structure.h:
- Source/JavaScriptCore/runtime/StructureInlines.h:
(JSC::Structure::checkOffsetConsistency const):
Canonical link: https://commits.webkit.org/251156@main
- 11:09 AM Changeset in webkit [295060] by
-
- 9 edits in trunk
Web Inspector: Open Resource dialog should support matching file paths
https://bugs.webkit.org/show_bug.cgi?id=178152
<rdar://problem/34925656>
Reviewed by Patrick Angle.
- Source/WebInspectorUI/UserInterface/Controllers/ResourceQueryController.js:
(WI.ResourceQueryController.prototype.executeQuery):
(WI.ResourceQueryController.prototype._findSpecialCharacterIndicesInDisplayName): Added.
(WI.ResourceQueryController.prototype._findSpecialCharacterIndicesInURL): Added.
(WI.ResourceQueryController.prototype._findSpecialCharacterIndices): Deleted.
Do a second search for the entire URL. Use the result that has the better rank.
- Source/WebInspectorUI/UserInterface/Controllers/QueryController.js:
(WI.QueryController.prototype.findSpecialCharacterIndices): Added.
- Source/WebInspectorUI/UserInterface/Controllers/CSSQueryController.js:
(WI.CSSQueryController.prototype.executeQuery):
(WI.CSSQueryController.prototype._findSpecialCharacterIndicesInPropertyName): Added.
(WI.CSSQueryController.prototype._findSpecialCharacterIndices): Deleted.
Move the shared_findSpecialCharacterIndicesto the base class to avoid repeated logic.
- Source/WebInspectorUI/UserInterface/Models/ResourceQueryResult.js:
(WI.ResourceQueryResult):
(WI.ResourceQueryResult.prototype.get searchString): Added.
Include the string for the matches so callers can reason about what was matched.
- Source/WebInspectorUI/UserInterface/Views/OpenResourceDialog.js:
(WI.OpenResourceDialog.prototype._populateResourceTreeOutline):
(WI.OpenResourceDialog.prototype._populateResourceTreeOutline.createHighlightedTitleFragment):
Shift the matches if it was for the entire URL, so that highlights still appear for the display name.
- LayoutTests/inspector/unit-tests/css-query-controller.html:
- LayoutTests/inspector/unit-tests/css-query-controller-expected.txt:
- LayoutTests/inspector/unit-tests/resource-query-controller.html:
- LayoutTests/inspector/unit-tests/resource-query-controller-expected.txt:
Canonical link: https://commits.webkit.org/251155@main
- 11:00 AM Changeset in webkit [295059] by
-
- 2 edits in trunk/Source/WebCore/dom
Avoid GCReacheableRefMap lookup inside JSNodeOwner::isReachableFromOpaqueRoots()
https://bugs.webkit.org/show_bug.cgi?id=241063
Reviewed by Geoffrey Garen.
Avoid GCReacheableRefMap lookup inside JSNodeOwner::isReachableFromOpaqueRoots()
by leveraging a flag on Node. According to A/B testing this is a ~0.5%
progression on Speedometer on Apple Silicon.
- Source/WebCore/dom/GCReachableRef.h:
(WebCore::GCReachableRefMap::contains):
(WebCore::GCReachableRefMap::add):
(WebCore::GCReachableRefMap::remove):
- Source/WebCore/dom/Node.h:
(WebCore::Node::isInGCReacheableRefMap const):
(WebCore::Node::setIsInGCReacheableRefMap):
Canonical link: https://commits.webkit.org/251154@main
- 10:12 AM Changeset in webkit [295058] by
-
- 3 edits in trunk
REGRESSION (250981@main): Two SOAuthorization API tests failing
https://bugs.webkit.org/show_bug.cgi?id=240979
<rdar://93996565>
Reviewed by Chris Dumez.
In Bug 240739 I modified AppSSO to lazily initialize the SOAuthenticationCoordinator. This introduced
two problems in the API Tests:
- SOAuthorizationRedirect.InterceptionSucceed3 expected SOAuthentiationCoordinator initialization to happen as soon as the WKWebsiteDataStore was created, but this is now too soon. The assertion just needed to be made after an AppSSO operation was called that would construct the SSO object.
- SOAuthorizationPopUp.InterceptionSucceedTwice revealed a real bug. We almost never start an AppSSO flow, then turn off the feature -- except in the case of a pop-up authentication, which creates a secret hidden window without AppSSO turned on. Hitting this test case caused a crash that needed to be addressed by checking for this rare case, and making sure we didn't dereference a nullptr.
- Source/WebKit/UIProcess/Cocoa/SOAuthorization/PopUpSOAuthorizationSession.mm:
(WebKit::PopUpSOAuthorizationSession::initSecretWebView): Properly disable AppSSO through the WKPreference,
rather than reaching into the object to modify WebKit internal state.
- Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::trySOAuthorization): Don't attempt to dereference the SOAuthenticationCoordinator when the
AppSSO feature is turned off for a pop-up window.
- Tools/TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm:
(TestWebKitAPI::TEST): Move the assertion to after AppSSO initialization is complete.
Canonical link: https://commits.webkit.org/251153@main
- 10:05 AM Changeset in webkit [295057] by
-
- 2 edits in trunk/Source/cmake
[WPE][GTK] Expose ENABLE_VIDEO build option
https://bugs.webkit.org/show_bug.cgi?id=241128
Patch by Michael Catanzaro <mcatanzaro@redhat.com> on 2022-05-31
Reviewed by Philippe Normand.
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsWPE.cmake:
Canonical link: https://commits.webkit.org/251151@main
- 10:05 AM Changeset in webkit [295056] by
-
- 17 edits in trunk
Remove some WebSQL code from WebKit
https://bugs.webkit.org/show_bug.cgi?id=240857
Reviewed by Chris Dumez.
- Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
(WebKit::bubblewrapSpawn):
- Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::defaultWebSQLDatabaseDirectory):
(WebKit::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation):
- Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::resolveDirectoriesIfNecessary):
(WebKit::WebsiteDataStore::fetchDataAndApply):
(WebKit::WebsiteDataStore::removeData):
- Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h:
(WebKit::WebsiteDataStore::resolvedMediaKeysDirectory const):
(WebKit::WebsiteDataStore::resolvedDatabaseDirectory const): Deleted.
- Source/WebKit/UIProcess/WebsiteData/playstation/WebsiteDataStorePlayStation.cpp:
(WebKit::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation):
- Source/WebKit/UIProcess/WebsiteData/win/WebsiteDataStoreWin.cpp:
(WebKit::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation):
- Source/WebKit/UIProcess/glib/WebProcessProxyGLib.cpp:
(WebKit::WebProcessProxy::platformGetLaunchOptions):
- Source/WebKit/UIProcess/glib/WebsiteDataStoreGLib.cpp:
(WebKit::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation):
- Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleClearAllDatabases): Deleted.
- Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
- Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::exceededDatabaseQuota): Deleted.
- Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h:
- Source/WebKit/WebProcess/WebProcess.cpp:
(WebKit::WebProcess::prepareToSuspend):
- Tools/TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.html:
- Tools/TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(runWebsiteDataStoreCustomPaths):
- Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
- Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::clearAllDatabases):
Canonical link: https://commits.webkit.org/251151@main
- 9:59 AM Changeset in webkit [295055] by
-
- 1 edit in trunk/Source/WebInspectorUI/UserInterface/Views/ScreenshotsTimelineOverviewGraph.css
Web Inspector: Timelines Tab: Screenshots: the selected image should be on top in the overview
https://bugs.webkit.org/show_bug.cgi?id=240878
Reviewed by Patrick Angle.
- Source/WebInspectorUI/UserInterface/Views/ScreenshotsTimelineOverviewGraph.css:
(.timeline-overview-graph.screenshots > img.selected):
Canonical link: https://commits.webkit.org/251150@main
- 9:08 AM Changeset in webkit [295054] by
-
- 5 edits in trunk/Source/WebCore/svg/properties
Handle start/stop conflicts with multiple SVG animators
https://bugs.webkit.org/show_bug.cgi?id=241121
Reviewed by Said Abou-Hallawa.
While animating an SVG property from multiple animators, and if there
are multiple instance of this property, then starting or stopping a
specific animator can override the shared m_animVal. This patch fixes
that issue by allowing instanceStartAnimation/instanceStopAnimation
to modify m_animVal only in the case where there are no other animators
for this property. The change is performed for each SVG type (Value,
Primitive, Decorated and List).
- Source/WebCore/svg/properties/SVGAnimatedDecoratedProperty.h: Do not touch m_animVal if there are other animators for this property.
- Source/WebCore/svg/properties/SVGAnimatedPrimitiveProperty.h: Ditto.
- Source/WebCore/svg/properties/SVGAnimatedProperty.h: Ditto.
- Source/WebCore/svg/properties/SVGAnimatedPropertyList.h: Ditto.
- Source/WebCore/svg/properties/SVGAnimatedValueProperty.h: Fix a typo.
Canonical link: https://commits.webkit.org/251149@main
- 8:41 AM Changeset in webkit [295053] by
-
- 1 edit in trunk/Tools/CISupport/ews-build/steps.py
EWS should email PR author in case Merge-Queue silently fails on their PR
https://bugs.webkit.org/show_bug.cgi?id=241101
Reviewed by Jonathan Bedard.
- Tools/CISupport/ews-build/steps.py:
(ValidateChange.validate_github):
(ValidateChange.send_email_for_github_failure):
Canonical link: https://commits.webkit.org/251148@main
- 8:22 AM Changeset in webkit [295052] by
-
- 9 edits in trunk/Source
[iOS] Refactor some logic around
VideoFullscreenInterfaceAVKit
https://bugs.webkit.org/show_bug.cgi?id=241113
Reviewed by Eric Carlson.
Adjust the window level of
VideoFullscreenInterfaceAVKit's window. No change in behavior.
- Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm:
(VideoFullscreenInterfaceAVKit::doSetup):
- Source/WebKit/UIProcess/PageClient.h:
- Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didEnterFullscreen):
(WebKit::WebPageProxy::didExitFullscreen):
Also refactor
WebPageProxy::did(Enter|Exit)Fullscreen, such that we implement
didExitFullscreen(PlaybackSessionContextIdentifier)in the case where
ENABLE(VIDEO_PRESENTATION_MODE)is enabled, anddidExitFullscreen()(with no arguments) in the
case where it's disabled.
Currently both versions of
did(Enter|Exit)Fullscreen()exist ifENABLE(VIDEO_PRESENTATION_MODE)
is set, even though we only expect to call intodid(Enter|Exit)Fullscreen()from outside of
WebPageProxy.
- Source/WebKit/UIProcess/WebPageProxy.h:
- Source/WebKit/UIProcess/ios/PageClientImplIOS.h:
- Source/WebKit/UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::didEnterFullscreen):
(WebKit::PageClientImpl::didExitFullscreen):
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.h:
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _didEnterFullscreen]):
(-[WKContentView _didExitFullscreen]):
- Source/WebKit/UIProcess/mac/PageClientImplMac.h:
Canonical link: https://commits.webkit.org/251147@main
- 6:41 AM Changeset in webkit [295051] by
-
- 3 edits in trunk/Source/WebCore/layout
Add support for margin: auto
https://bugs.webkit.org/show_bug.cgi?id=241111
Reviewed by Antti Koivisto.
Auto margins take up all of the space that they can in their axis.
- compute the space 'margin: auto' can take
- distribute it among flex items with 'margin: auto'
- adjust final top/left with the computed margin
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::computedAutoMarginValueForFlexItems):
(WebCore::Layout::FlexFormattingContext::convertFlexItemsToLogicalSpace):
(WebCore::Layout::FlexFormattingContext::setFlexItemsGeometry):
(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.h:
Canonical link: https://commits.webkit.org/251146@main
- 6:39 AM Changeset in webkit [295050] by
-
- 3 edits in trunk/Source/WebCore
Ensure logical properties have skip-builder
https://bugs.webkit.org/show_bug.cgi?id=241105
Reviewed by Tim Nguyen.
Builder::applyProperty resolves logical properties into physical ones.
So there is no need to define BuilderCustom methods for them.
Thus, most already have skip-builder:true. This patch covers the only
two exceptions.
No test since there should be no change in behavior.
- Source/WebCore/css/CSSProperties.json:
Flag contain-intrinsic-block-size and contain-intrinsic-inline-size with
skip-builder:true.
- Source/WebCore/css/makeprop.pl:
Require logical properties to have skip-builder:true.
- Source/WebCore/style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyInitialContainIntrinsicBlockSize): Deleted.
(WebCore::Style::BuilderCustom::applyInheritContainIntrinsicBlockSize): Deleted.
(WebCore::Style::BuilderCustom::applyValueContainIntrinsicBlockSize): Deleted.
(WebCore::Style::BuilderCustom::applyInitialContainIntrinsicInlineSize): Deleted.
(WebCore::Style::BuilderCustom::applyInheritContainIntrinsicInlineSize): Deleted.
(WebCore::Style::BuilderCustom::applyValueContainIntrinsicInlineSize): Deleted.
Remove unnecessary logic.
Canonical link: https://commits.webkit.org/251145@main
- 6:24 AM Changeset in webkit [295049] by
-
- 32 edits27 adds1 delete in trunk
Unprefix -webkit-text-justify and add inter-character value
https://bugs.webkit.org/show_bug.cgi?id=229084
<rdar://82177456>
Reviewed by Antti Koivisto.
This is still disabled by default behind the cssTextJustifyEnabled setting.
We don't keep support for the -webkit- prefix, since only Firefox ships text-justify (without the prefix) and it was never enabled in WebKit for macOS/iOS.
distribute and inter-character are aliases, with distribute being the legacy one. The spec specifies it as parse-time, but we implement it compute-time (like Chrome).
https://github.com/w3c/csswg-drafts/issues/7322 is filed about potentially removing 'distribute' from the spec.
- LayoutTests/fast/css3-text/css3-text-justify/getComputedStyle/getComputedStyle-text-justify-expected.txt: Removed.
- LayoutTests/fast/css3-text/css3-text-justify/getComputedStyle/getComputedStyle-text-justify-inherited-expected.txt: Removed.
- LayoutTests/fast/css3-text/css3-text-justify/getComputedStyle/getComputedStyle-text-justify-inherited.html: Removed.
- LayoutTests/fast/css3-text/css3-text-justify/getComputedStyle/getComputedStyle-text-justify.html: Removed.
Removed parsing tests redundant with WPT.
- LayoutTests/fast/css3-text/css3-text-justify/text-justify-none.html:
- LayoutTests/fast/text/text-combine-crash.html:
- LayoutTests/TestExpectations:
- LayoutTests/imported/w3c/resources/resource-files.json:
- LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-revert-layer-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-allowed-properties-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-allowed-properties-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/inheritance-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/parsing/text-justify-computed-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/parsing/text-justify-valid-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/letter-spacing/letter-spacing-bidi-003.xht:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-001.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-002.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-003.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-004.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-005.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-006.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/distribute-alias.tentative-expected.txt: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/distribute-alias.tentative.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-and-trailing-spaces-001-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-and-trailing-spaces-001.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-and-trailing-spaces-002-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-and-trailing-spaces-002.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-and-trailing-spaces-003-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-and-trailing-spaces-003.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-and-trailing-spaces-004-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-and-trailing-spaces-004.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-and-trailing-spaces-005-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-and-trailing-spaces-005.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-and-trailing-spaces-006-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-and-trailing-spaces-006.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-distribute-001-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-distribute-001.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-inter-character-001-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-inter-character-001-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-inter-character-001.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-inter-word-001-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-inter-word-001-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-inter-word-001.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-interpolation-expected.txt: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-interpolation.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-none-001-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-none-001-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-none-001.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/w3c-import.log:
- LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/css/css-cascade/all-prop-revert-layer-expected.txt:
- LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
Import new WPT from 6aa9a39, remove prefixes automatically added by the importer, and rebaseline tests.
- Source/WebCore/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
- Source/WebCore/css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
- Source/WebCore/css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator TextJustify const):
- Source/WebCore/css/CSSProperties.json:
- Source/WebCore/css/StyleProperties.cpp:
- Source/WebCore/css/parser/CSSParserContext.cpp:
(WebCore::CSSParserContext::isPropertyRuntimeDisabled const):
- Source/WebCore/css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::CSSParserFastPaths::isKeywordPropertyID):
- Source/WebCore/rendering/LegacyLineLayout.cpp:
(WebCore::LegacyLineLayout::textAlignmentForLine const):
- Source/WebCore/rendering/style/RenderStyleConstants.h:
- Source/WebInspectorUI/UserInterface/Models/CSSKeywordCompletions.js:
Canonical link: https://commits.webkit.org/251144@main
- 6:02 AM Changeset in webkit [295048] by
-
- 5 edits1 add in trunk/Source/WebCore/platform
[Linux] TextureMapperPlatformLayerProxyDMABuf should support different colorspaces
https://bugs.webkit.org/show_bug.cgi?id=240633
Patch by Žan Doberšek <zdobersek@igalia.com> on 2022-05-31
Reviewed by Miguel Gomez and Philippe Normand.
Add the DMABufColorSpace enumeration, covering different colorspaces we
currently can support between decoded GStreamer data and the TextureMapper
DMABuf integration.
DMABufObject gains a DMABufColorSpace member variable, initially of an invalid
value but that can be overridden by whoever is constructing the object.
In MediaPlayerPrivateGStreamer, the desired colorspace can be retrieved from the
GstVideoInfo colorimetry information and set on the DMABufObject.
The colorspace is now respected in TextureMapperPlatformLayerProxyDMABuf,
choosing between different YUV-to-RGB matrices that are to be used when sampling
from the set of plane-assigned textures. The default is the BT.601 conversion
matrix. For RGBA-like formats, no conversion is required, so an assert is placed
to ensure that the colorspace is either unspecified or specified as SRGB.
- Source/WebCore/platform/TextureMapper.cmake:
- Source/WebCore/platform/graphics/gbm/DMABufColorSpace.h: Added.
- Source/WebCore/platform/graphics/gbm/DMABufObject.h:
(WebCore::DMABufObject::encode const):
(WebCore::DMABufObject::encode):
(WebCore::DMABufObject::decode):
- Source/WebCore/platform/graphics/gbm/GBMBufferSwapchain.cpp:
- Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::colorSpaceForColorimetry):
(WebCore::MediaPlayerPrivateGStreamer::pushDMABufToCompositor):
- Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxyDMABuf.cpp:
(WebCore::TextureMapperPlatformLayerProxyDMABuf::DMABufLayer::paintToTextureMapper):
Canonical link: https://commits.webkit.org/251143@main
- 5:33 AM Changeset in webkit [295047] by
-
- 2 edits in trunk/Source/WebKit/WebProcess/WebPage
[WPE][GTK] Build broken with ENABLE_VIDEO=OFF after r292252
https://bugs.webkit.org/show_bug.cgi?id=241123
Reviewed by Philippe Normand.
- Source/WebKit/WebProcess/WebPage/WebPage.cpp: Add missing ENABLE(VIDEO) guard.
- Source/WebKit/WebProcess/WebPage/WebPage.h: Ditto.
Canonical link: https://commits.webkit.org/251142@main
- 3:38 AM Changeset in webkit [295046] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/gstreamer/DMABufVideoSinkGStreamer.cpp
[GStreamer] DMABufVideoSink fails to list NV21 as a supported format
https://bugs.webkit.org/show_bug.cgi?id=241119
Patch by Žan Doberšek <zdobersek@igalia.com> on 2022-05-31
Reviewed by Miguel Gomez and Philippe Normand.
- Source/WebCore/platform/graphics/gstreamer/DMABufVideoSinkGStreamer.cpp:
NV12 is listed twice in the DMABufVideoSink's list of supported formats. This
is a typo, one of those was supposed to be NV21, a different-but-similar format
that works just fine.
Canonical link: https://commits.webkit.org/251141@main
- 1:22 AM WebKitGTK/2.36.x edited by
- Started section of merges for the 2.36.x releases (diff)
- 1:15 AM Changeset in webkit [295045] by
-
- 1 edit in trunk/Source/WebCore/bindings/js/JSDOMMapLike.cpp
[GTK][WPE] Build failure when cross-building for 64-bit ARM
https://bugs.webkit.org/show_bug.cgi?id=241109
Unreviewed build fix.
- Source/WebCore/bindings/js/JSDOMMapLike.cpp: Add missing JavaScriptCore/HashMapImplInlines.h header inclusion.
Canonical link: https://commits.webkit.org/251140@main
May 30, 2022:
- 11:43 PM Changeset in webkit [295044] by
-
- 2 edits in trunk/Source
RemoteVideoFrameProxy::pixelBuffer should properly compute canUseIOSurface
https://bugs.webkit.org/show_bug.cgi?id=241100
Patch by Youenn Fablet <youennf@gmail.com> on 2022-05-30
Reviewed by Eric Carlson.
We can use IOSurface when doing WebGL in WebProcess, instead of when doing WebGL in GPUProcess.
Update canUseIOSurface accordingly.
Add error logging when creating a CVPixelBufferRef.
- Source/WebCore/platform/graphics/cv/CVUtilities.mm:
(WebCore::createCVPixelBuffer):
- Source/WebKit/WebProcess/GPU/media/RemoteVideoFrameProxy.cpp:
(WebKit::RemoteVideoFrameProxy::pixelBuffer const):
Canonical link: https://commits.webkit.org/251139@main
- 10:49 PM Changeset in webkit [295043] by
-
- 1 edit in trunk/Source/bmalloc/libpas/src/libpas/pas_utils.c
[libpas] Build fix macOS
https://bugs.webkit.org/show_bug.cgi?id=241116
Reviewed by Yusuke Suzuki.
Convert from int to uint64_t. Line should always be a positive number.
- Source/bmalloc/libpas/src/libpas/pas_utils.c:
(pas_assertion_failed_no_inline):
(pas_assertion_failed_no_inline_with_extra_detail):
Canonical link: https://commits.webkit.org/251138@main
- 9:50 PM Changeset in webkit [295042] by
-
- 1 edit in trunk/.clangd
Clangd should always interpret headers as C++
https://bugs.webkit.org/show_bug.cgi?id=241118
Reviewed by Saam Barati.
Attach
-xc++flag to headers in .clangd to interpret all headers as C++ by default.
- .clangd:
Canonical link: https://commits.webkit.org/251137@main
- 9:18 PM Changeset in webkit [295041] by
-
- 1 edit in trunk/Source/WebCore/Modules/websockets/ThreadableWebSocketChannel.cpp
REGRESSION(251043@main): "ASSERTION FAILED: channel" in WebCore::ThreadableWebSocketChannel::create
https://bugs.webkit.org/show_bug.cgi?id=241087
Reviewed by Don Olmstead.
Since 251043@main, WinCairo WK1 was crashing for WebSocket tests.
channelvariable was null inThreadableWebSocketChannel::create.
In the case, it should call WebSocketChannel::create like Mac port
does.
- Source/WebCore/Modules/websockets/ThreadableWebSocketChannel.cpp:
(WebCore::ThreadableWebSocketChannel::create):
Canonical link: https://commits.webkit.org/251136@main
- 9:13 PM Changeset in webkit [295040] by
-
- 6 edits in trunk/Source
[JSC] Make VMEntryScope cheap
https://bugs.webkit.org/show_bug.cgi?id=241091
Reviewed by Mark Lam.
This patch makes VMEntryScope cheap. In some microbenchmarks, we observe repeated execution of VMEntryScope
because of many ticks driven by microtasks. And currently VMEntryScope is designed to be non-cheap based on
the assumption that this is not frequently executed.
- We add isJSThread flag to Thread so that we can skip some of unnecessary initializations.
- Appropriately set UNLIKELY / LIKELY for the major path.
- Make DateCache::resetIfNecessary fast path inlined.
ToT
Time(doxbee-async-es2017-native): 24 ms.
Time(doxbee-promises-es2015-native): 44.9 ms.
Time(fibonacci-async-es2017-native): 197.6 ms.
Time(parallel-async-es2017-native): 109.1 ms.
Time(parallel-promises-es2015-native): 80.4 ms.
Patched
Time(doxbee-async-es2017-native): 21.4 ms.
Time(doxbee-promises-es2015-native): 36.4 ms.
Time(fibonacci-async-es2017-native): 168.1 ms.
Time(parallel-async-es2017-native): 103.7 ms.
Time(parallel-promises-es2015-native): 70.9 ms.
- Source/JavaScriptCore/runtime/JSDateMath.cpp:
(JSC::DateCache::resetIfNecessarySlow):
(JSC::DateCache::resetIfNecessary): Deleted.
- Source/JavaScriptCore/runtime/JSDateMath.h:
(JSC::DateCache::resetIfNecessary):
- Source/JavaScriptCore/runtime/VM.h:
(JSC::VM::firePrimitiveGigacageEnabledIfNecessary):
- Source/JavaScriptCore/runtime/VMEntryScope.cpp:
(JSC::VMEntryScope::VMEntryScope):
(JSC::VMEntryScope::~VMEntryScope):
- Source/WTF/wtf/Threading.cpp:
(WTF::Thread::registerJSThread):
- Source/WTF/wtf/Threading.h:
Canonical link: https://commits.webkit.org/251135@main
- 6:26 PM Changeset in webkit [295039] by
-
- 5 edits1 copy1 add in trunk/Source/WebCore
Move core flex layout to FlexLayout
https://bugs.webkit.org/show_bug.cgi?id=241106
Reviewed by Antti Koivisto.
- Source/WebCore/Headers.cmake:
- Source/WebCore/Sources.txt:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::convertFlexItemsToLogicalSpace):
(WebCore::Layout::FlexFormattingContext::setFlexItemsGeometry):
(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):
(WebCore::Layout::FlexFormattingContext::computeAvailableLogicalVerticalSpace const): Deleted.
(WebCore::Layout::FlexFormattingContext::computeAvailableLogicalHorizontalSpace const): Deleted.
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForShrinkingFlexItems): Deleted.
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForStretchingFlexItems): Deleted.
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForFlexItems): Deleted.
(WebCore::Layout::FlexFormattingContext::computeLogicalHeightForFlexItems): Deleted.
(WebCore::Layout::FlexFormattingContext::alignFlexItems): Deleted.
(WebCore::Layout::FlexFormattingContext::justifyFlexItems): Deleted.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.h:
- Source/WebCore/layout/formattingContexts/flex/FlexLayout.cpp: Added.
(WebCore::Layout::FlexLayout::FlexLayout):
(WebCore::Layout::FlexLayout::computeAvailableLogicalVerticalSpace const):
(WebCore::Layout::FlexLayout::computeAvailableLogicalHorizontalSpace const):
(WebCore::Layout::FlexLayout::computeLogicalWidthForShrinkingFlexItems):
(WebCore::Layout::FlexLayout::computeLogicalWidthForStretchingFlexItems):
(WebCore::Layout::FlexLayout::computeLogicalWidthForFlexItems):
(WebCore::Layout::FlexLayout::computeLogicalHeightForFlexItems):
(WebCore::Layout::FlexLayout::alignFlexItems):
(WebCore::Layout::FlexLayout::justifyFlexItems):
(WebCore::Layout::FlexLayout::layout):
- Source/WebCore/layout/formattingContexts/flex/FlexLayout.h: Copied from Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.h.
(WebCore::Layout::FlexLayout::formattingState const):
(WebCore::Layout::FlexLayout::flexBoxStyle const):
Canonical link: https://commits.webkit.org/251134@main
- 4:59 PM Changeset in webkit [295038] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp
[Cocoa] Rename [de]normalizeWeight() to [de]normalizeGXWeight()
https://bugs.webkit.org/show_bug.cgi?id=241112
Reviewed by Alan Bujtas.
Weights are measured in 3 different scales:
- CSS weights (1 - 999)
- Core Text weights (-1.0 - 1.0)
- TrueType GX weights (0.0ish to 2.0ish, it's not really defined, only the "default" value
of 1.0 is defined).
Our current functions convert between CSS weights and TrueType GX weights, so this makes that more
clear. A subsequent patch will add conversions between CSS weights and Core Text weights.
No new tests because there is no behavior change.
- Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::normalizeGXWeight):
(WebCore::denormalizeGXWeight):
(WebCore::preparePlatformFont):
(WebCore::variationCapabilitiesForFontDescriptor):
(WebCore::normalizeWeight): Deleted.
(WebCore::denormalizeWeight): Deleted.
Canonical link: https://commits.webkit.org/251132@main
- 4:58 PM Changeset in webkit [295037] by
-
- 1 edit in trunk/Source/WTF/wtf/RAMSize.cpp
Include <sys/sysinfo.h> on FreeBSD too
https://bugs.webkit.org/show_bug.cgi?id=241099
Patch by Leonardo Taccari <leot@NetBSD.org> on 2022-05-30
Reviewed by Fujii Hironori.
sysinfo(2)/sysinfo(3) is used also in FreeBSD, include corresponding
<sys/sysinfo.h> header too.
- Source/WTF/wtf/RAMSize.cpp:
Canonical link: https://commits.webkit.org/251132@main
- 4:41 PM Changeset in webkit [295036] by
-
- 3 edits in trunk/Source/JavaScriptCore/heap
[JSC] Make Strong::set cheap
https://bugs.webkit.org/show_bug.cgi?id=241090
Reviewed by Mark Lam.
HandleSet::writeBarrier is frequently called because it is called every time we set a value in Strong<>.
This patch optimizes it,
- We should make it inline function since it has a super fast path major use can be covered. And this function is small.
- We should not always remove a node from the list first. We should insert / remove it only when necessary.
- Remove m_immediateList since it is not necessary.
- Make HandleNode as a derived class of BasicRawSentinelNode to make implementation simpler.
This change improves promise benchmarks score since promise uses microtasks which hold values via Strong<>.
ToT
Time(doxbee-async-bluebird): 42.8 ms.
Time(doxbee-async-es2017-babel): 36.4 ms.
Time(doxbee-async-es2017-native): 28.3 ms.
Time(doxbee-promises-bluebird): 514.2 ms.
Time(doxbee-promises-es2015-native): 44.8 ms.
Time(fibonacci-async-es2017-babel): 380.5 ms.
Time(fibonacci-async-es2017-native): 218.2 ms.
Time(parallel-async-bluebird): 648.8 ms.
Time(parallel-async-es2017-babel): 116.9 ms.
Time(parallel-async-es2017-native): 115.6 ms.
Time(parallel-promises-bluebird): 638 ms.
Time(parallel-promises-es2015-native): 82 ms.
Patched
Time(doxbee-async-bluebird): 38 ms.
Time(doxbee-async-es2017-babel): 27 ms.
Time(doxbee-async-es2017-native): 19.5 ms.
Time(doxbee-promises-bluebird): 508.3 ms.
Time(doxbee-promises-es2015-native): 33.3 ms.
Time(fibonacci-async-es2017-babel): 349.1 ms.
Time(fibonacci-async-es2017-native): 151 ms.
Time(parallel-async-bluebird): 639.6 ms.
Time(parallel-async-es2017-babel): 100.9 ms.
Time(parallel-async-es2017-native): 101.9 ms.
Time(parallel-promises-bluebird): 614 ms.
Time(parallel-promises-es2015-native): 70.9 ms.
- Source/JavaScriptCore/heap/HandleSet.cpp:
(JSC::HandleSet::writeBarrier): Deleted.
- Source/JavaScriptCore/heap/HandleSet.h:
(JSC::HandleSet::heapFor):
(JSC::HandleSet::allocate):
(JSC::HandleSet::deallocate):
(JSC::HandleSet::writeBarrier):
(JSC::HandleSet::toHandle): Deleted.
(JSC::HandleSet::toNode): Deleted.
(JSC::HandleNode::HandleNode): Deleted.
(JSC::HandleNode::setPrev): Deleted.
(JSC::HandleNode::prev): Deleted.
(JSC::HandleNode::setNext): Deleted.
(JSC::HandleNode::next): Deleted.
- Source/JavaScriptCore/heap/Strong.h:
(JSC::Strong::set):
Canonical link: https://commits.webkit.org/251131@main
- 3:10 PM Changeset in webkit [295035] by
-
- 9 edits12 adds in trunk
Fix invalidation with scope breaking :is/not()
https://bugs.webkit.org/show_bug.cgi?id=241098
Reviewed by Alan Bujtas.
Selector like :has(:is(foo bar)) can be affected by mutations outside the :has scope.
- LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/child-indexed-pseudo-classes-in-has-expected.txt: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/child-indexed-pseudo-classes-in-has.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/empty-pseudo-in-has-expected.txt: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/empty-pseudo-in-has.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/has-in-adjacent-position.html:
- LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/has-in-ancestor-position.html:
- LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/has-in-parent-position.html:
- LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/has-in-sibling-position.html:
- LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/is-pseudo-containing-complex-in-has-expected.txt: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/is-pseudo-containing-complex-in-has.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/link-pseudo-in-has-expected.txt: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/link-pseudo-in-has.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/not-pseudo-containing-complex-in-has-expected.txt: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/not-pseudo-containing-complex-in-has.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/typed-child-indexed-pseudo-classes-in-has-expected.txt: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/typed-child-indexed-pseudo-classes-in-has.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/w3c-import.log:
Reimport selector invalidation tests.
- Source/WebCore/style/ChildChangeInvalidation.cpp:
(WebCore::Style::ChildChangeInvalidation::invalidateForChangedElement):
(WebCore::Style::needsDescendantTraversal):
- Source/WebCore/style/RuleFeature.cpp:
(WebCore::Style::isSiblingOrSubject):
(WebCore::Style::isHasPseudoClassMatchElement):
(WebCore::Style::computeNextMatchElement):
(WebCore::Style::computeHasPseudoClassMatchElement):
(WebCore::Style::computeSubSelectorMatchElement):
(WebCore::Style::RuleFeatureSet::recursivelyCollectFeaturesFromSelector):
Detect the case and fall back to very wide invalidation (same a non-subject :has() for now).
- Source/WebCore/style/RuleFeature.h:
(WebCore::Style::RuleFeatureSet::usesHasPseudoClass const):
- Source/WebCore/style/StyleInvalidator.cpp:
(WebCore::Style::Invalidator::invalidateStyleWithMatchElement):
Canonical link: https://commits.webkit.org/251130@main
- 3:03 PM Changeset in webkit [295034] by
-
- 4 edits in trunk
WebKitTestRunner shouldn't link object files of JavaScriptCore and WebCore
https://bugs.webkit.org/show_bug.cgi?id=241002
Reviewed by Don Olmstead.
243269@main removed
WebKitfromWebKitTestRunner_FRAMEWORKSfor
WPE. But, it should be there not to link object files of
JavaScriptCore and WebCore to WebKitTestRunner. In WPE builds,
JavaScriptCore and WebCore API are exported from WebKit shared
library. WebKit consumers shouldn't link with object files of
JavaScriptCore and WebCore.
However, adding
WebKittoWebKitTestRunner_FRAMEWORKSintroduced a
new problem that the object file of LowLevelInterpreter.cpp was linked
into WebKitTestRunner. This problem was fixed by changing
LowLevelInterpreterLib to a STATIC library.
- Source/JavaScriptCore/CMakeLists.txt:
- Tools/WebKitTestRunner/CMakeLists.txt:
- Tools/WebKitTestRunner/PlatformGTK.cmake:
- Tools/WebKitTestRunner/PlatformWin.cmake:
Canonical link: https://commits.webkit.org/251129@main
- 2:59 PM Changeset in webkit [295033] by
-
- 1 edit in trunk/Source/bmalloc/bmalloc/AvailableMemory.cpp
Include <sys/sysinfo.h> only on FreeBSD and Linux
https://bugs.webkit.org/show_bug.cgi?id=241077
Patch by Leonardo Taccari <leot@NetBSD.org> on 2022-05-30
Reviewed by Fujii Hironori.
sysinfo(2)/sysinfo(3) is used only on FreeBSD and Linux and could be not
available in other Unix-like operating systems.
- Source/bmalloc/bmalloc/AvailableMemory.cpp:
Canonical link: https://commits.webkit.org/251128@main
- 11:07 AM Changeset in webkit [295032] by
-
- 1 edit in trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp
Add support for justify-content: space-evenly
https://bugs.webkit.org/show_bug.cgi?id=241085
Reviewed by Antti Koivisto.
Distribute items evenly. Items have equal space around them.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::justifyFlexItems):
Canonical link: https://commits.webkit.org/251127@main
- 9:48 AM Changeset in webkit [295031] by
-
- 17 edits in trunk
MediaStreamTrack.getConstraints is empty object
https://bugs.webkit.org/show_bug.cgi?id=240569
Patch by Youenn Fablet <youennf@gmail.com> on 2022-05-30
Reviewed by Eric Carlson.
Cover audio and video constraints in UserMediaRequest.
Set these constraints on the created tracks at promise resolution time.
Make a refactoring to move from using RefPtr<MediaStreamTrack> to Ref<MediaStreamTrack>.
Remove use of MediaStream::getTracks since it is not efficient.
Covered by updated tests.
- Source/WebCore/Modules/mediastream/MediaDevices.cpp:
(WebCore::MediaDevices::getUserMedia):
(WebCore::MediaDevices::getDisplayMedia):
- Source/WebCore/Modules/mediastream/MediaDevices.h:
- Source/WebCore/Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::MediaStream):
(WebCore::MediaStream::clone):
(WebCore::MediaStream::getTrackById):
(WebCore::MediaStream::getFirstAudioTrack const):
(WebCore::MediaStream::getFirstVideoTrack const):
(WebCore::MediaStream::getTracks const):
(WebCore::MediaStream::internalAddTrack):
(WebCore::MediaStream::internalTakeTrack):
(WebCore::MediaStream::mediaState const):
(WebCore::MediaStream::updateActiveState):
(WebCore::MediaStream::filteredTracks const):
- Source/WebCore/Modules/mediastream/MediaStream.h:
- Source/WebCore/Modules/mediastream/MediaStreamTrack.h:
(WebCore::MediaStreamTrack::setConstraints):
- Source/WebCore/Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::create):
(WebCore::UserMediaRequest::UserMediaRequest):
(WebCore::UserMediaRequest::allow):
- Source/WebCore/Modules/mediastream/UserMediaRequest.h:
- LayoutTests/fast/mediastream/getDisplayMedia-max-constraints3.html:
- LayoutTests/fast/mediastream/getUserMedia-webaudio.html:
- LayoutTests/fast/mediastream/mediastreamtrack-video-clone.html:
Canonical link: https://commits.webkit.org/251126@main
- 9:44 AM Changeset in webkit [295030] by
-
- 1 edit in trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp
Add support for justify-content: space-around
https://bugs.webkit.org/show_bug.cgi?id=241084
Reviewed by Antti Koivisto.
Distribute items evenly. Items have a half-size space on either end.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::justifyFlexItems):
Canonical link: https://commits.webkit.org/251125@main
- 8:20 AM Changeset in webkit [295029] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/cpu/arm/filters/FEGaussianBlurNEON.h
[GPU Process][Filters] Don't use Uint8ClampedArray in software filter appliers also for FEGaussianBlurNEON
https://bugs.webkit.org/show_bug.cgi?id=240964
Reviewed by Said Abou-Hallawa.
This complement the changes done in r250982 by adapting the specific
method used for ARMv7 NEON.
- Source/WebCore/platform/graphics/cpu/arm/filters/FEGaussianBlurNEON.h:
(WebCore::boxBlurNEON):
Canonical link: https://commits.webkit.org/251124@main
- 7:18 AM Changeset in webkit [295028] by
-
- 34 edits in trunk/Source
Unreviewed, non-unified build fixes after 251082@main
- Source/WebCore/bindings/js/JSAttrCustom.cpp:
- Source/WebCore/bindings/js/JSAudioBufferSourceNodeCustom.cpp:
- Source/WebCore/bindings/js/JSCSSRuleCustom.cpp:
- Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp:
- Source/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp:
- Source/WebCore/bindings/js/JSDOMWindowCustom.cpp:
- Source/WebCore/bindings/js/JSDocumentCustom.cpp:
- Source/WebCore/bindings/js/JSFetchEventCustom.cpp:
- Source/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp:
- Source/WebCore/bindings/js/JSHTMLTemplateElementCustom.cpp:
- Source/WebCore/bindings/js/JSIDBCursorCustom.cpp:
- Source/WebCore/bindings/js/JSIntersectionObserverCustom.cpp:
- Source/WebCore/bindings/js/JSIntersectionObserverEntryCustom.cpp:
- Source/WebCore/bindings/js/JSMessageChannelCustom.cpp:
- Source/WebCore/bindings/js/JSMessagePortCustom.cpp:
- Source/WebCore/bindings/js/JSNodeCustom.cpp:
- Source/WebCore/bindings/js/JSNodeIteratorCustom.cpp:
- Source/WebCore/bindings/js/JSPaintRenderingContext2DCustom.cpp:
- Source/WebCore/bindings/js/JSResizeObserverEntryCustom.cpp:
- Source/WebCore/bindings/js/JSSVGViewSpecCustom.cpp:
- Source/WebCore/bindings/js/JSStyleSheetCustom.cpp:
- Source/WebCore/bindings/js/JSTextTrackCueCustom.cpp:
- Source/WebCore/bindings/js/JSUndoItemCustom.cpp:
- Source/WebCore/bindings/js/JSWebGL2RenderingContextCustom.cpp:
- Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp:
- Source/WebCore/bindings/js/JSWebXRSessionCustom.cpp:
- Source/WebCore/bindings/js/JSWorkerGlobalScopeCustom.cpp:
- Source/WebCore/bindings/js/JSWorkerNavigatorCustom.cpp:
- Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp:
- Source/WebCore/bindings/js/JSXPathResultCustom.cpp:
- Source/WebCore/html/HTMLCanvasElement.cpp:
- Source/WebCore/page/DOMWindowProperty.h:
- Source/WebCore/page/UndoManager.h:
- Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp:
Canonical link: https://commits.webkit.org/251123@main
- 7:10 AM Changeset in webkit [295027] by
-
- 1 edit in trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp
Add support for justify-content: space-between
https://bugs.webkit.org/show_bug.cgi?id=241080
Reviewed by Antti Koivisto.
Distribute items evenly. The first item is flush with the start, the last is flush with the end.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::justifyFlexItems):
- Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::canUseForFlexLayout):
Canonical link: https://commits.webkit.org/251122@main
- 7:05 AM Changeset in webkit [295026] by
-
- 11 edits1 copy6 adds in trunk
REGRESSION (r293885): [ macOS wk2 ] webrtc/canvas-to-peer-connection.html is a consistent failure
https://bugs.webkit.org/show_bug.cgi?id=240814
Patch by Youenn Fablet <youennf@gmail.com> on 2022-05-30
Reviewed by Eric Carlson.
With r293885, we stopped using a pixel conformer to convert frames to YUV.
Instead, we used libyuv routines.
Libyuv is using BT.601 while our pixel conformer was using BT.709.
BT.709 is preferred in WebRTC so we now simply remove our conversion routine from RealtimeOutgoingVideoSourceCocoa.
Our hardware codecs can directly take RGB and convert it to YUV using BT.709.
To ensure we use the proper conversion routine, we add a RGB -> YUV conformer in LibWebRTCCodecsProxy.
Libvpx will use BT.601 routine so we do not have a very good story with VP8.
A follow-up should fix this. We add dedicated tests for both H264 and VP8.
We skip the new tests in glib as GTK bots do not like it.
- LayoutTests/platform/glib/TestExpectations:
- LayoutTests/platform/ios-simulator/TestExpectations:
- LayoutTests/platform/mac-wk2/TestExpectations:
- LayoutTests/webrtc/canvas-to-peer-connection.html:
- LayoutTests/webrtc/routines.js:
- Source/WebCore/platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.cpp:
(WebCore::RealtimeOutgoingVideoSourceCocoa::videoFrameAvailable):
- Source/WebCore/platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.h:
- Source/WebCore/platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.mm:
(WebCore::RealtimeOutgoingVideoSourceCocoa::pixelBufferPool): Deleted.
- Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.h:
- Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:
Canonical link: https://commits.webkit.org/251121@main
- 6:54 AM Changeset in webkit [295025] by
-
- 3 edits in trunk/Source/bmalloc/libpas/src/libpas
Unreviewed, build fix on Linux
https://bugs.webkit.org/show_bug.cgi?id=240331
- Source/bmalloc/libpas/src/libpas/pas_heap_config.h:
- Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c:
(pas_probabilistic_guard_malloc_debug_info):
- Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.h:
Canonical link: https://commits.webkit.org/251120@main
- 6:00 AM Changeset in webkit [295024] by
-
- 2 edits in trunk/Source/WebCore/accessibility
Fix a11y build warnings
https://bugs.webkit.org/show_bug.cgi?id=241044
Patch by Michael Catanzaro <mcatanzaro@redhat.com> on 2022-05-30
Reviewed by Adrian Perez de Castro.
- Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::symmetricRelation):
- Source/WebCore/accessibility/atspi/AXObjectCacheAtspi.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
Canonical link: https://commits.webkit.org/251119@main
- 3:02 AM Changeset in webkit [295023] by
-
- 1 edit in trunk/Source/WTF/wtf/CompactPtr.h
Unreviewed, build fix for iOS debug build
- Source/WTF/wtf/CompactPtr.h:
(WTF::CompactPtr::encode):
(WTF::CompactPtr::decode):
(WTF::CompactPtr::decode const): Deleted.
Canonical link: https://commits.webkit.org/251118@main
- 3:00 AM Changeset in webkit [295022] by
-
- 2 edits in trunk/Source/JavaScriptCore/runtime
[JSC] Shrink BrandedStructure
https://bugs.webkit.org/show_bug.cgi?id=241092
Reviewed by Mark Lam.
Use CompactRefPtr and WriteBarrierStructureID to shrink sizeof(BrandedStructure) from 112 to 104.
While it is not enough for 32byte alignment, anyway we can make it smaller, and if we make it 8byte
smaller further, it will become 96bytes.
- Source/JavaScriptCore/runtime/BrandedStructure.cpp:
(JSC::BrandedStructure::BrandedStructure):
- Source/JavaScriptCore/runtime/BrandedStructure.h:
Canonical link: https://commits.webkit.org/251117@main
- 1:29 AM Changeset in webkit [295021] by
-
- 45 edits1 delete in trunk
Unprefix -webkit-text-align-last and add match-parent value support
https://bugs.webkit.org/show_bug.cgi?id=229083
<rdar://82176885>
Reviewed by Antti Koivisto.
We do not keep support for the prefixed version since no other browser supports it, and WebKit never exposed it on macOS/iOS.
Also, unprefix WPTs where prefixes were added automatically by the test importer.
Note that serialization of the match-parent value isn't as specified in the spec, but the behavior matches other browsers.
Original patch by Brent Fulgham.
- LayoutTests/fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last-expected.txt: Removed.
- LayoutTests/fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last-inherited-expected.txt: Removed.
- LayoutTests/fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last-inherited.html: Removed.
- LayoutTests/fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last.html: Removed.
These tests are redundant with the parsing ones on WPT.
- LayoutTests/fast/css3-text/css3-text-align-last/text-align-last-with-text-align-justify.html:
- LayoutTests/fast/css3-text/css3-text-align-last/text-align-last-with-text-align-non-justify.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-revert-layer-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-text-align-expected.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-text-align-ref.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-text-align.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-percent-001-expected.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-percent-001.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/inheritance-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/letter-spacing/letter-spacing-bidi-003.xht:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/parsing/text-align-last-computed-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/parsing/text-align-last-valid-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-001.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-002.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-003.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-004.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-005.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-006.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-007.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-008.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-009.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-010.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-011.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-012.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-013.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-014.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-empty-inline.html:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-wins-001.html:
- LayoutTests/imported/w3c/web-platform-tests/svg/styling/required-properties-expected.txt:
- LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/css/css-cascade/all-prop-revert-layer-expected.txt:
- LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- Source/WebCore/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
- Source/WebCore/css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
- Source/WebCore/css/CSSProperties.json:
- Source/WebCore/css/StyleProperties.cpp:
- Source/WebCore/css/parser/CSSParserContext.cpp:
(WebCore::CSSParserContext::isPropertyRuntimeDisabled const):
- Source/WebCore/css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::CSSParserFastPaths::isKeywordPropertyID):
- Source/WebCore/rendering/style/RenderStyle.h:
(WebCore::RenderStyle::textAlignLast const):
(WebCore::RenderStyle::textIndentType const):
(WebCore::RenderStyle::setTextAlignLast):
(WebCore::RenderStyle::setTextIndentType):
(WebCore::RenderStyle::initialTextAlignLast):
(WebCore::RenderStyle::initialTextIndentType):
- Source/WebCore/style/StyleBuilderConverter.h:
(WebCore::Style::BuilderConverter::convertTextAlignLast):
- Source/WebCore/style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyInitialTextAlignLast):
(WebCore::Style::BuilderCustom::applyValueTextAlignLast):
- Source/WebInspectorUI/UserInterface/External/CSSDocumentation/CSSDocumentation-overrides.json:
- Source/WebInspectorUI/UserInterface/External/CSSDocumentation/CSSDocumentation.js:
- Source/WebInspectorUI/UserInterface/Models/CSSKeywordCompletions.js:
Canonical link: https://commits.webkit.org/251116@main
- 12:19 AM Changeset in webkit [295020] by
-
- 1 edit in trunk/Tools/Scripts/update-angle
Avoid staging autogenerated commit-message.txt
https://bugs.webkit.org/show_bug.cgi?id=240967
Patch by Kenneth Russell <kbr@chromium.org> on 2022-05-29
Unstage the autogenerated commit-message.txt before exiting the
update-angle script to make it easier for the user to remove.
Reviewed by Kimmo Kinnunen.
- Source/ThirdParty/ANGLE/commit-message.txt: Added.
- Tools/Scripts/update-angle:
Canonical link: https://commits.webkit.org/251115@main
May 29, 2022:
- 12:56 PM Changeset in webkit [295019] by
-
- 1 edit in trunk/LayoutTests/fast/dom/HTMLMeterElement/meter-element-markup-expected.txt
[Gardening] Rebaseline fast/dom/HTMLMeterElement/meter-element-markup.html after 9a73643
https://bugs.webkit.org/show_bug.cgi?id=240930
Unreviewed test gardening.
Just reflects the new unprefixed style.
- LayoutTests/fast/dom/HTMLMeterElement/meter-element-markup-expected.txt:
Canonical link: https://commits.webkit.org/251114@main
- 10:10 AM Changeset in webkit [295018] by
-
- 2 edits in trunk/Source/WebCore/layout/formattingContexts/inline
LineBuilder::initialConstraintsForLine needs to know whether there is previous line and if it ended with line break
https://bugs.webkit.org/show_bug.cgi?id=241062
Reviewed by Antti Koivisto.
No need to pass in the PreviousLine struct.
- Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::layoutInlineContent):
(WebCore::Layout::LineBuilder::computedIntrinsicWidth):
(WebCore::Layout::LineBuilder::initialConstraintsForLine const):
- Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.h:
Canonical link: https://commits.webkit.org/251112@main
- 10:09 AM Changeset in webkit [295017] by
-
- 2 edits in trunk/Source/WebCore/layout/formattingContexts/flex
Add basic support for justify-content
https://bugs.webkit.org/show_bug.cgi?id=241073
Reviewed by Antti Koivisto.
"justify-content" property defines how space is distributed between and around flex items along the main-axis.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::justiftFlexItems):
(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.h:
Canonical link: https://commits.webkit.org/251112@main
- 8:34 AM Changeset in webkit [295016] by
-
- 1 edit in trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp
Add support for align-self
https://bugs.webkit.org/show_bug.cgi?id=241071
Reviewed by Antti Koivisto.
Align-items behavior can be overwritten for individual flex items by applying the align-self property to them.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::alignFlexItems):
Canonical link: https://commits.webkit.org/251111@main
- 7:03 AM Changeset in webkit [295015] by
-
- 2 edits in trunk/Source/WebCore/layout/formattingContexts/flex
Compute available space when ConstraintsForFlexContent does not provide one
https://bugs.webkit.org/show_bug.cgi?id=241070
Reviewed by Antti Koivisto.
e.g. if the flex box does not have fixed height in the cross axis direction, all flex items become as tall as the tallest flex item.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::computeAvailableLogicalVerticalSpace const):
(WebCore::Layout::FlexFormattingContext::computeAvailableLogicalHorizontalSpace const):
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForFlexItems):
(WebCore::Layout::FlexFormattingContext::computeLogicalHeightForFlexItems):
(WebCore::Layout::FlexFormattingContext::alignFlexItems):
(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):
(WebCore::Layout::availableLogicalVerticalSpace): Deleted.
(WebCore::Layout::availableLogicalHorizontalSpace): Deleted.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.h:
Canonical link: https://commits.webkit.org/251110@main
- 6:44 AM Changeset in webkit [295014] by
-
- 1 edit in trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp
Add support for flex-start/flex-end/start/end alignment
https://bugs.webkit.org/show_bug.cgi?id=241067
Reviewed by Antti Koivisto.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::computeLogicalHeightForFlexItems):
(WebCore::Layout::FlexFormattingContext::alignFlexItems):
Canonical link: https://commits.webkit.org/251109@main
- 6:22 AM Changeset in webkit [295013] by
-
- 2 edits in trunk/Source/WebCore/layout/formattingContexts/flex
Introduce FlexFormattingContext::alignFlexItems
https://bugs.webkit.org/show_bug.cgi?id=241064
Reviewed by Antti Koivisto.
This is cross axis alignment (add support for 'center' to showcase).
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::computeLogicalHeightForFlexItems):
(WebCore::Layout::FlexFormattingContext::alignFlexItems):
(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.h:
Canonical link: https://commits.webkit.org/251108@main
- 1:24 AM Changeset in webkit [295012] by
-
- 1 edit in trunk/Source/WTF/wtf/CompactPtr.h
REGRESSION(251103@main): Broke GTK/WPE
https://bugs.webkit.org/show_bug.cgi?id=241076
Patch by Philippe Normand <philn@igalia.com> on 2022-05-29
Unreviewed. Fix GTK/WPE build.
- Source/WTF/wtf/CompactPtr.h:
(WTF::CompactPtr::swap):
Canonical link: https://commits.webkit.org/251107@main
- 1:14 AM Changeset in webkit [295011] by
-
- 10 edits1 add in trunk
[JSC] Async / Await should not wrap awaited value with one tick
https://bugs.webkit.org/show_bug.cgi?id=241072
Reviewed by Saam Barati.
This patch integrates spec change[1], which removes one level tick count when resolving promise with await.
Previously, regardless of whether the value is promise or not, we are always using resolveWithoutPromise,
but it introduces one tick before the handlers are resolved. The spec change makes it that we can call
performPromiseThen directly if the input value is promise, so we can skip one tick which looks up "then"
and register handlers.
This is beneficial for await performance and it also fixes a bug tested via test262 and attached test due
to the spec change.
We observed performance improvement in async + native promise tests.
ToT
Time(doxbee-async-es2017-native): 35.6 ms.
Time(fibonacci-async-es2017-native): 292.3 ms.
Time(parallel-async-es2017-native): 117.3 ms.
Patched
Time(doxbee-async-es2017-native): 24.2 ms.
Time(fibonacci-async-es2017-native): 198.1 ms.
Time(parallel-async-es2017-native): 109.5 ms.
[1]: https://github.com/tc39/ecma262/pull/1250
- JSTests/stress/async-await-basic.js:
- JSTests/stress/async-await-tick-count.js: Added.
(shouldBe):
(async returnDirectPrimitive):
(async returnAwaitPrimitive):
(async returnDirectPromisePrimitive):
(async returnAwaitPromisePrimitive):
(async test):
(async tests):
(globalThis.setUnhandledRejectionCallback.setUnhandledRejectionCallback):
- JSTests/test262/expectations.yaml:
- LayoutTests/inspector/canvas/recording-bitmaprenderer-frameCount-expected.txt:
- LayoutTests/inspector/canvas/recording-bitmaprenderer-full-expected.txt:
- LayoutTests/inspector/canvas/recording-bitmaprenderer-memoryLimit-expected.txt:
- LayoutTests/inspector/console/message-stack-trace-expected.txt:
- Source/JavaScriptCore/builtins/AsyncFromSyncIteratorPrototype.js:
- Source/JavaScriptCore/builtins/AsyncFunctionPrototype.js:
(globalPrivate.asyncFunctionResume):
- Source/JavaScriptCore/builtins/AsyncGeneratorPrototype.js:
(globalPrivate.awaitValue):
(globalPrivate.asyncGeneratorResumeNext):
- Source/JavaScriptCore/builtins/PromiseOperations.js:
(globalPrivate.newPromiseCapabilitySlow):
(globalPrivate.promiseResolve):
(globalPrivate.promiseResolveSlow):
(globalPrivate.promiseRejectSlow):
(globalPrivate.resolvePromiseWithFirstResolvingFunctionCallCheck):
(globalPrivate.fulfillPromiseWithFirstResolvingFunctionCallCheck):
(globalPrivate.rejectPromiseWithFirstResolvingFunctionCallCheck):
(globalPrivate.resolveWithoutPromiseForAsyncAwait):
Canonical link: https://commits.webkit.org/251106@main
- 12:57 AM Changeset in webkit [295010] by
-
- 35 edits in trunk
Replace CSS3_TEXT build flag with Experimental feature settings
https://bugs.webkit.org/show_bug.cgi?id=121875
Patch by Kiet Ho <Kiet Ho> on 2022-05-29
Reviewed by Tim Nguyen and Myles C. Maxfield.
Currently, -webkit-text-align-last and -webkit-text-justify are gated behind
the ENABLE(CSS3_TEXT) build flag. EWS bots doesn't enable it, hence the properties
aren't tested even though tests are available for them. This patch replaces the build
flag with two experimental settings, which is on during layout tests, allowing the
properties to be tested.
- LayoutTests/TestExpectations:
- LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
- LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
- LayoutTests/platform/ios/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
- LayoutTests/platform/win/TestExpectations:
- LayoutTests/platform/wincairo/TestExpectations:
- LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
- Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml:
- Source/WTF/wtf/PlatformEnable.h:
- Source/WebCore/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
Temporarily mark -webkit-text-align-last and -webkit-text-justify as not animatable
to avoid the assert. CSS animations for those properties will be implemented in
webkit.org/b/240591.
- Source/WebCore/css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
- Source/WebCore/css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::operator TextJustify const):
- Source/WebCore/css/CSSProperties.json:
- Source/WebCore/css/StyleProperties.cpp:
- Source/WebCore/css/parser/CSSParserContext.cpp:
(WebCore::operator==):
(WebCore::add):
(WebCore::CSSParserContext::isPropertyRuntimeDisabled const):
- Source/WebCore/css/parser/CSSParserContext.h:
- Source/WebCore/css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::CSSParserFastPaths::isKeywordPropertyID):
- Source/WebCore/rendering/LegacyLineLayout.cpp:
(WebCore::LegacyLineLayout::textAlignmentForLine const):
- Source/WebCore/rendering/style/RenderStyle.cpp:
(WebCore::rareInheritedDataChangeRequiresLayout):
- Source/WebCore/rendering/style/RenderStyle.h:
(WebCore::RenderStyle::textIndentType const):
(WebCore::RenderStyle::textJustify const):
(WebCore::RenderStyle::setTextIndentType):
(WebCore::RenderStyle::setTextJustify):
(WebCore::RenderStyle::initialTextIndentType):
(WebCore::RenderStyle::initialTextJustify):
- Source/WebCore/rendering/style/RenderStyleConstants.h:
- Source/WebCore/rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator== const):
- Source/WebCore/rendering/style/StyleRareInheritedData.h:
- Source/WebKitLegacy/win/WebPreferences.cpp:
(WebPreferences::cssTextAlignLastEnabled):
(WebPreferences::cssTextJustifyEnabled):
- Source/WebKitLegacy/win/WebPreferences.h:
- Source/WebKitLegacy/win/WebView.cpp:
(WebView::notifyPreferencesChanged):
- Source/cmake/OptionsWin.cmake:
- Source/cmake/WebKitFeatures.cmake:
- Source/cmake/tools/vsprops/FeatureDefines.props:
- Source/cmake/tools/vsprops/FeatureDefinesCairo.props:
- Tools/DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):
- Tools/Scripts/webkitperl/FeatureList.pm:
Canonical link: https://commits.webkit.org/251105@main
May 28, 2022:
- 10:09 PM Changeset in webkit [295009] by
-
- 2 edits in trunk/Source/WebCore/html/parser
Optimize href attribute lookup in TokenPreloadScanner::updatePredictedBaseURL()
https://bugs.webkit.org/show_bug.cgi?id=241051
Reviewed by Darin Adler.
Optimize href attribute lookup in TokenPreloadScanner::updatePredictedBaseURL() by avoiding
is8Bit() checks for every character of the parameter. Instead, make sure both the parameter
is aconst UChar*for fast comparison with attributes, which are stored as Vector<UChar>.
- Source/WebCore/html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::updatePredictedBaseURL):
- Source/WebCore/html/parser/HTMLToken.h:
(WebCore::findAttribute):
(WebCore::nameMatches): Deleted.
Canonical link: https://commits.webkit.org/251104@main
- 8:23 PM Changeset in webkit [295008] by
-
- 29 edits2 copies1 move3 adds in trunk
Shrink Structure to 96 Bytes when addresses can be encoded in 36-bits
https://bugs.webkit.org/show_bug.cgi?id=240407
Reviewed by Yusuke Suzuki.
We have 2% RAMification regression on iOS, which needs a memory performance
improvement. To work towards resolving this regression, this patch is to
reduce JS object's structure size from 112 bytes to 96 bytes for iOS systems.
- We can reduce 36-bit addresses into 4 bytes when dealing with pointers that
have 16-byte alignment.
- StructureID can be removed from StructureIDBlob since we can directly compute
the id by encoding the Structure pointer.
CompactPtr and CompactRefPtr classes are introduced for pointers, which can
achieve 8 bytes in MacOS and 4 bytes in iOS.
- PerformanceTests/JetStream2/RexBench/OfflineAssembler/LowLevelInterpreter64.asm:
- PerformanceTests/JetStream2/RexBench/OfflineAssembler/LowLevelInterpreter64.js:
- PerformanceTests/JetStream2/RexBench/OfflineAssembler/expected.js:
- PerformanceTests/RexBench/OfflineAssembler/LowLevelInterpreter64.asm:
- PerformanceTests/RexBench/OfflineAssembler/LowLevelInterpreter64.js:
- PerformanceTests/RexBench/OfflineAssembler/expected.js:
- Source/JavaScriptCore/CMakeLists.txt:
- Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
- Source/JavaScriptCore/bytecode/GetByValHistory.h:
(JSC::GetByValHistory::observe):
- Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:
- Source/JavaScriptCore/ftl/FTLAbstractHeapRepository.cpp:
(JSC::FTL::AbstractHeapRepository::AbstractHeapRepository):
- Source/JavaScriptCore/ftl/FTLAbstractHeapRepository.h:
- Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
- Source/JavaScriptCore/heap/ConservativeRoots.cpp:
(JSC::ConservativeRoots::genericAddPointer):
(JSC::ConservativeRoots::genericAddSpan):
- Source/JavaScriptCore/heap/ConservativeRoots.h:
- Source/JavaScriptCore/heap/HeapSnapshot.h:
- Source/JavaScriptCore/heap/HeapUtil.h:
(JSC::HeapUtil::findGCObjectPointersForMarking):
(JSC::HeapUtil::isPointerGCObjectJSCell):
(JSC::HeapUtil::isValueGCObject):
- Source/JavaScriptCore/heap/MarkedBlockSet.h:
(JSC::MarkedBlockSet::add):
(JSC::MarkedBlockSet::recomputeFilter):
(JSC::MarkedBlockSet::filter const):
- Source/JavaScriptCore/heap/TinyBloomFilter.h:
(JSC::TinyBloomFilter<Bits>::TinyBloomFilter):
(JSC::TinyBloomFilter<Bits>::add):
(JSC::TinyBloomFilter<Bits>::ruleOut const):
(JSC::TinyBloomFilter<Bits>::reset):
(JSC::TinyBloomFilter::TinyBloomFilter): Deleted.
(JSC::TinyBloomFilter::add): Deleted.
(JSC::TinyBloomFilter::ruleOut const): Deleted.
(JSC::TinyBloomFilter::reset): Deleted.
- Source/JavaScriptCore/jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::emitStoreStructureWithTypeInfo):
(JSC::AssemblyHelpers::emitEncodeStructure):
- Source/JavaScriptCore/jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::emitStoreStructureWithTypeInfo):
(JSC::AssemblyHelpers::loadCompactPtr):
(JSC::AssemblyHelpers::branchCompactPtr):
- Source/JavaScriptCore/jit/JITPropertyAccess.cpp:
(JSC::JIT::generateOpGetFromScopeThunk):
(JSC::JIT::emit_op_put_to_scope):
- Source/JavaScriptCore/runtime/ClassInfo.h:
(JSC::ClassInfo::offsetOfParentClass): Deleted.
(JSC::ClassInfo::isSubClassOf const): Deleted.
- Source/JavaScriptCore/runtime/SamplingProfiler.cpp:
(JSC::SamplingProfiler::processUnverifiedStackTraces):
- Source/JavaScriptCore/runtime/Structure.cpp:
(JSC::Structure::Structure):
- Source/JavaScriptCore/runtime/Structure.h:
(JSC::Structure::id const):
(JSC::Structure::typeInfoBlob const):
(JSC::Structure::classInfoForCells const):
(JSC::Structure::indexingModeIncludingHistoryOffset):
(JSC::Structure::objectInitializationBlob const): Deleted.
(JSC::Structure::idBlob const): Deleted.
(JSC::Structure::structureIDOffset): Deleted.
- Source/JavaScriptCore/runtime/StructureInlines.h:
(JSC::Structure::get):
(JSC::Structure::add):
- Source/JavaScriptCore/runtime/TypeInfoBlob.h: Renamed from Source/JavaScriptCore/runtime/StructureIDBlob.h.
(JSC::TypeInfoBlob::TypeInfoBlob):
(JSC::TypeInfoBlob::operator=):
(JSC::TypeInfoBlob::indexingModeIncludingHistory const):
(JSC::TypeInfoBlob::fencedIndexingModeIncludingHistory):
(JSC::TypeInfoBlob::setIndexingModeIncludingHistory):
(JSC::TypeInfoBlob::type const):
(JSC::TypeInfoBlob::inlineTypeFlags const):
(JSC::TypeInfoBlob::typeInfo const):
(JSC::TypeInfoBlob::blob const):
(JSC::TypeInfoBlob::indexingModeIncludingHistoryOffset):
- Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp:
(JSC::WebAssemblyFunction::jsCallEntrypointSlow):
- Source/WTF/WTF.xcodeproj/project.pbxproj:
- Source/WTF/wtf/CMakeLists.txt:
- Source/WTF/wtf/CompactPtr.h: Added.
(WTF::CompactPtr::CompactPtr):
(WTF::CompactPtr::operator* const):
(WTF::CompactPtr::operator-> const):
(WTF::CompactPtr::operator! const):
(WTF::CompactPtr::operator bool const):
(WTF::CompactPtr::operator=):
(WTF::CompactPtr::get const):
(WTF::CompactPtr::set):
(WTF::CompactPtr::exchange):
(WTF::CompactPtr::swap):
(WTF::CompactPtr::encode):
(WTF::CompactPtr::encode const):
(WTF::CompactPtr::decode const):
(WTF::GetPtrHelper<CompactPtr<T>>::getPtr):
(WTF::CompactPtrTraits::exchange):
(WTF::CompactPtrTraits::swap):
(WTF::CompactPtrTraits::unwrap):
(WTF::CompactPtrTraits::hashTableDeletedValue):
(WTF::CompactPtrTraits::isHashTableDeletedValue):
- Source/WTF/wtf/CompactRefPtr.h: Copied from Source/JavaScriptCore/heap/HeapSnapshot.h.
- Source/WTF/wtf/text/StringImpl.cpp:
- Source/WTF/wtf/text/StringImpl.h:
- Tools/TestWebKitAPI/CMakeLists.txt:
- Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- Tools/TestWebKitAPI/Tests/WTF/AlignedRefLogger.h: Copied from Source/JavaScriptCore/heap/TinyBloomFilter.h.
(TestWebKitAPI::DerivedAlignedRefLogger::DerivedAlignedRefLogger):
- Tools/TestWebKitAPI/Tests/WTF/CompactPtr.cpp: Added.
(TestWebKitAPI::TEST):
- Tools/TestWebKitAPI/Tests/WTF/CompactRefPtr.cpp: Added.
(TestWebKitAPI::TEST):
(TestWebKitAPI::f1):
(TestWebKitAPI::returnConstRefCountedRef):
(TestWebKitAPI::returnRefCountedRef):
(TestWebKitAPI::CompactRefPtrCheckingAlignedRefLogger::CompactRefPtrCheckingAlignedRefLogger):
(TestWebKitAPI::loggerName):
(TestWebKitAPI::CompactRefPtrCheckingAlignedRefLogger::ref):
(TestWebKitAPI::CompactRefPtrCheckingAlignedRefLogger::deref):
- Tools/TestWebKitAPI/Tests/WTF/JSONValue.cpp:
(TestWebKitAPI::TEST):
- Websites/browserbench.org/JetStream2.0/RexBench/OfflineAssembler/LowLevelInterpreter64.asm:
- Websites/browserbench.org/JetStream2.0/RexBench/OfflineAssembler/LowLevelInterpreter64.js:
- Websites/browserbench.org/JetStream2.0/RexBench/OfflineAssembler/expected.js:
Canonical link: https://commits.webkit.org/251103@main
- 7:03 PM Changeset in webkit [295007] by
-
- 1 edit in trunk/Source/WTF/wtf/text/StringBuilderJSON.cpp
Simplify / Optimize StringBuilder::appendQuotedJSONString()
https://bugs.webkit.org/show_bug.cgi?id=240955
Reviewed by Darin Adler.
This simplifies the code, makes it more consistent with the test of StringBuilder,
and appears to be a ~0.3% progression on Speedometer on Apple Silicon.
- Source/WTF/wtf/text/StringBuilderJSON.cpp:
(WTF::StringBuilder::appendQuotedJSONString):
Canonical link: https://commits.webkit.org/251102@main
- 5:11 PM Changeset in webkit [295006] by
-
- 1 edit in trunk/LayoutTests/editing/execCommand/outdent-paragraph-crash.html
Null check split node parent in outdentParagraph
https://bugs.webkit.org/show_bug.cgi?id=235914
Patch by Rob Buis <rbuis@igalia.com> on 2022-05-28
Reviewed by Ryosuke Niwa.
Changed test to use setTimeout as it more reliably causes the original crash.
- LayoutTests/editing/execCommand/outdent-paragraph-crash.html:
Canonical link: https://commits.webkit.org/251101@main
- 4:33 PM Changeset in webkit [295005] by
-
- 1 copy in tags/WebKit-7614.1.14.1.15
Tag WebKit-7614.1.14.1.15.
- 3:58 PM Changeset in webkit [295004] by
-
- 9 edits in branches/safari-7614.1.14.1-branch/Source
Versioning.
WebKit-7614.1.14.1.15
- 11:00 AM Changeset in webkit [295003] by
-
- 1 edit in branches/safari-613-branch/Source/WebCore/rendering/RenderElement.h
Unreviewed build fix. rdar://problem/91519558
./rendering/RenderElement.cpp:723:21:|error: out-of-line definition of 'moveLayers' does not match any declaration in 'WebCore::RenderElement'
- 10:44 AM Changeset in webkit [295002] by
-
- 6 edits1 delete in trunk/Source
Unreviewed, revert "[Xcode] Compute PGO profdata paths instead of searching for them at build time"
This reverts commit 6dfb5dc2b3bcd083231cee3cacc599ca7f76998b because of Speedometer2 3% regression.
Probably breaking PGO build.
Canonical link: https://commits.webkit.org/251100@main
- 9:31 AM Changeset in webkit [295001] by
-
- 2 edits in trunk/Source/WebCore/layout/formattingContexts/flex
Introduce FlexFormattingContext::computeLogicalHeightForFlexItems
https://bugs.webkit.org/show_bug.cgi?id=241056
Reviewed by Antti Koivisto.
This is just a very basic "let's stretch the flex items in the cross axis direction" change.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::availableLogicalVerticalSpace):
(WebCore::Layout::availableLogicalHorizontalSpace):
(WebCore::Layout::FlexFormattingContext::setFlexItemsGeometry):
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForFlexItems):
(WebCore::Layout::FlexFormattingContext::computeLogicalHeightForFlexItems):
(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.h:
Canonical link: https://commits.webkit.org/251099@main
- 9:18 AM Changeset in webkit [295000] by
-
- 1 edit in trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp
Transition flex-grow computation to flex-basis based
https://bugs.webkit.org/show_bug.cgi?id=241057
Reviewed by Antti Koivisto.
- Introduce StrechingFlexItem to cache growth related values
- Use flex-basis as the base for the flex grow computation
- Compute the final logical width values
(This is very similar to how we compute "shrink values".)
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForShrinkingFlexItems):
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForStretchingFlexItems):
Canonical link: https://commits.webkit.org/251098@main
- 6:26 AM Changeset in webkit [294999] by
-
- 40 edits in trunk/Source
Perform media networking operations off the main thread
https://bugs.webkit.org/show_bug.cgi?id=235353
rdar://84517825
Reviewed by Eric Carlson.
We run the media's networking operation and IPC service into a new dedicated WorkQueue.
Not all operation on a MediaResource can be made thread-agnostic, and the creation and shutdown of the MediaResource must still occur on the main thread due to the current architecture which forces more task dispatches than ideal.
However, all other operations will now run on a WorkQueue when the GPU Process is enabled. For WK1 we continue to use the main thread.
We use the IPC::Connection::WorkQueueMessageReceiver characteristics to proxy the network operations from the content process main thread to the GPU Process MediaResourceLoader's WorkQueue.
Some changes were required in data structures such as ResourceResponseBase, where we must use Strings over AtomStrings. A WorkQueue while guaranteeing that all tasks runs sequentially, will use different threads making the use of AtomStrings impossible.
RemoteMediaResourceManager now holds a strong reference to the RemoteMediaResource, to clear that reference and to make the call more explicit we rename PlatformMediaResource::stop into PlatformMediaResource::shutdown()
A call to shutdown() is equivalent to the previous call to stop() followed by setClient(nullptr).
Side-by fixes: various thread-safety fixes in WebCoreNSURLSession, access to some members weren't thread-safe.
To make the code flow easier to follow, we use the new assertIsCurrent(WorkQueue&) extensively. Most methods will now assert that it runs on the thread it's supposed to.
- Source/WebCore/Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::create):
- Source/WebCore/Modules/websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::readServerHandshake):
(WebCore::WebSocketHandshake::readStatusLine):
- Source/WebCore/Modules/websockets/WebSocketHandshake.h:
- Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp:
(WebCore::InspectorNetworkAgent::interceptWithResponse):
(WebCore::InspectorNetworkAgent::interceptRequestWithResponse):
- Source/WebCore/loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::setResponseMIMEType):
- Source/WebCore/loader/DocumentLoader.h:
- Source/WebCore/loader/MediaResourceLoader.cpp:
(WebCore::MediaResource::MediaResource):
(WebCore::MediaResource::~MediaResource):
(WebCore::MediaResource::shutdown):
(WebCore::MediaResource::responseReceived):
(WebCore::MediaResource::shouldCacheResponse):
(WebCore::MediaResource::redirectReceived):
(WebCore::MediaResource::dataSent):
(WebCore::MediaResource::dataReceived):
(WebCore::MediaResource::notifyFinished):
(WebCore::MediaResource::ensureShutdown):
(WebCore::MediaResource::stop): Deleted.
- Source/WebCore/loader/MediaResourceLoader.h:
- Source/WebCore/loader/cache/CachedRawResourceClient.h:
- Source/WebCore/platform/graphics/PlatformMediaResourceLoader.h:
(WebCore::PlatformMediaResourceLoader::targetQueue):
(WebCore::PlatformMediaResource::shutdown):
(WebCore::PlatformMediaResource::didPassAccessControlCheck const):
(WebCore::PlatformMediaResource::setClient):
(WebCore::PlatformMediaResource::client const):
(WebCore::PlatformMediaResource::stop): Deleted.
(WebCore::PlatformMediaResource::client): Deleted.
- Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::clearMediaCache):
(WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
(WebCore::MediaPlayerPrivateAVFoundationObjC::didCancelLoadingRequest):
(WebCore::MediaPlayerPrivateAVFoundationObjC::didStopLoadingRequest):
(WebCore::MediaPlayerPrivateAVFoundationObjC::didPassCORSAccessCheck const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::wouldTaintOrigin const):
- Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
- Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
(WebCore::CachedResourceMediaLoader::responseReceived):
(WebCore::PlatformResourceMediaLoader::create):
(WebCore::PlatformResourceMediaLoader::PlatformResourceMediaLoader):
(WebCore::PlatformResourceMediaLoader::stop):
(WebCore::PlatformResourceMediaLoader::responseReceived):
(WebCore::PlatformResourceMediaLoader::loadFailed):
(WebCore::PlatformResourceMediaLoader::loadFinished):
(WebCore::PlatformResourceMediaLoader::dataReceived):
(WebCore::DataURLResourceMediaLoader::DataURLResourceMediaLoader):
(WebCore::WebCoreAVFResourceLoader::create):
(WebCore::WebCoreAVFResourceLoader::WebCoreAVFResourceLoader):
(WebCore::WebCoreAVFResourceLoader::~WebCoreAVFResourceLoader):
(WebCore::WebCoreAVFResourceLoader::startLoading):
(WebCore::WebCoreAVFResourceLoader::stopLoading):
(WebCore::WebCoreAVFResourceLoader::responseReceived):
(WebCore::WebCoreAVFResourceLoader::loadFailed):
(WebCore::WebCoreAVFResourceLoader::loadFinished):
(WebCore::WebCoreAVFResourceLoader::newDataStoredInSharedBuffer):
(WebCore::WebCoreAVFResourceLoader::invalidate): Deleted.
- Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(stopLoaderIfNeeded):
(webKitWebSrcUnLock):
(webKitSrcWouldTaintOrigin):
- Source/WebCore/platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::crossThreadData const):
(WebCore::ResourceResponseBase::fromCrossThreadData):
(WebCore::ResourceResponseBase::mimeType const):
(WebCore::ResourceResponseBase::setMimeType):
(WebCore::ResourceResponseBase::textEncodingName const):
(WebCore::ResourceResponseBase::setTextEncodingName):
(WebCore::ResourceResponseBase::httpStatusText const):
(WebCore::ResourceResponseBase::setHTTPStatusText):
(WebCore::ResourceResponseBase::httpVersion const):
(WebCore::ResourceResponseBase::setHTTPVersion):
- Source/WebCore/platform/network/ResourceResponseBase.h:
(WebCore::ResourceResponseBase::decode):
- Source/WebCore/platform/network/cf/ResourceResponseCFNet.cpp:
(WebCore::ResourceResponse::cfURLResponse const):
(WebCore::ResourceResponse::platformLazyInit):
- Source/WebCore/platform/network/cocoa/RangeResponseGenerator.h:
(WebCore::RangeResponseGenerator::create):
- Source/WebCore/platform/network/cocoa/RangeResponseGenerator.mm:
(WebCore::RangeResponseGenerator::Data::Data):
(WebCore::RangeResponseGenerator::Data::~Data):
(WebCore::RangeResponseGenerator::Data::shutdownResource):
(WebCore::RangeResponseGenerator::RangeResponseGenerator):
(WebCore::synthesizedResponseForRange):
(WebCore::RangeResponseGenerator::removeTask):
(WebCore::RangeResponseGenerator::giveResponseToTaskIfBytesInRangeReceived):
(WebCore::RangeResponseGenerator::expectedContentLengthFromData):
(WebCore::RangeResponseGenerator::giveResponseToTasksWithFinishedRanges):
(WebCore::RangeResponseGenerator::willHandleRequest):
(WebCore::RangeResponseGenerator::willSynthesizeRangeResponses):
(WebCore::RangeResponseGenerator::~RangeResponseGenerator): Deleted.
- Source/WebCore/platform/network/cocoa/WebCoreNSURLSession.h:
- Source/WebCore/platform/network/cocoa/WebCoreNSURLSession.mm:
(-[WebCoreNSURLSessionTaskTransactionMetrics _initWithMetrics:onTarget:]):
(-[WebCoreNSURLSessionTaskTransactionMetrics dealloc]):
(-[WebCoreNSURLSessionTaskMetrics _initWithMetrics:onTarget:]):
(-[WebCoreNSURLSessionTaskMetrics dealloc]):
(-[WebCoreNSURLSessionTaskMetrics transactionMetrics]):
(-[WebCoreNSURLSession initWithResourceLoader:delegate:delegateQueue:]):
(-[WebCoreNSURLSession dealloc]):
(-[WebCoreNSURLSession taskCompleted:]):
(-[WebCoreNSURLSession addDelegateOperation:]):
(-[WebCoreNSURLSession task:didReceiveCORSAccessCheckResult:]):
(-[WebCoreNSURLSession task:didReceiveResponseFromOrigin:]):
(-[WebCoreNSURLSession rangeResponseGenerator]):
(-[WebCoreNSURLSession didPassCORSAccessChecks]):
(-[WebCoreNSURLSession finishTasksAndInvalidate]):
(-[WebCoreNSURLSession dataTaskWithRequest:]):
(-[WebCoreNSURLSession sendH2Ping:pongHandler:]):
(WebCore::WebCoreNSURLSessionDataTaskClient::WebCoreNSURLSessionDataTaskClient):
(WebCore::WebCoreNSURLSessionDataTaskClient::clearTask):
(WebCore::WebCoreNSURLSessionDataTaskClient::dataSent):
(WebCore::WebCoreNSURLSessionDataTaskClient::responseReceived):
(WebCore::WebCoreNSURLSessionDataTaskClient::shouldCacheResponse):
(WebCore::WebCoreNSURLSessionDataTaskClient::dataReceived):
(WebCore::WebCoreNSURLSessionDataTaskClient::redirectReceived):
(WebCore::WebCoreNSURLSessionDataTaskClient::accessControlCheckFailed):
(WebCore::WebCoreNSURLSessionDataTaskClient::loadFailed):
(WebCore::WebCoreNSURLSessionDataTaskClient::loadFinished):
(-[WebCoreNSURLSessionDataTask initWithSession:identifier:request:targetQueue:]):
(-[WebCoreNSURLSessionDataTask _cancel:]):
(-[WebCoreNSURLSessionDataTask error]):
(-[WebCoreNSURLSessionDataTask session]):
(-[WebCoreNSURLSessionDataTask setSession:]):
(-[WebCoreNSURLSessionDataTask resource]):
(-[WebCoreNSURLSessionDataTask setResource:]):
(-[WebCoreNSURLSessionDataTask cancel]):
(-[WebCoreNSURLSessionDataTask suspend]):
(-[WebCoreNSURLSessionDataTask resume]):
(-[WebCoreNSURLSessionDataTask dealloc]):
(-[WebCoreNSURLSessionDataTask resource:sentBytes:totalBytesToBeSent:]):
(-[WebCoreNSURLSessionDataTask resource:receivedResponse:completionHandler:]):
(-[WebCoreNSURLSessionDataTask resource:shouldCacheResponse:]):
(-[WebCoreNSURLSessionDataTask resource:receivedData:]):
(-[WebCoreNSURLSessionDataTask resource:receivedRedirect:request:completionHandler:]):
(-[WebCoreNSURLSessionDataTask _resource:loadFinishedWithError:metrics:]):
(-[WebCoreNSURLSessionDataTask resource:accessControlCheckFailedWithError:]):
(-[WebCoreNSURLSessionDataTask resource:loadFailedWithError:]):
(-[WebCoreNSURLSessionDataTask resourceFinished:metrics:]):
(-[WebCoreNSURLSessionTaskTransactionMetrics _initWithMetrics:]): Deleted.
(-[WebCoreNSURLSessionTaskMetrics _initWithMetrics:]): Deleted.
(-[WebCoreNSURLSessionDataTask initWithSession:identifier:request:]): Deleted.
(-[WebCoreNSURLSessionDataTask _restart]): Deleted.
(-[WebCoreNSURLSessionDataTask _cancel]): Deleted.
- Source/WebCore/platform/network/curl/CurlCacheEntry.cpp:
(WebCore::CurlCacheEntry::setResponseFromCachedHeaders):
- Source/WebCore/platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::ResourceHandle::handleDataURL):
- Source/WebCore/platform/network/curl/ResourceResponseCurl.cpp:
(WebCore::ResourceResponse::ResourceResponse):
(WebCore::ResourceResponse::setStatusLine):
- Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::ResourceResponse):
- Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::didClose):
(WebKit::GPUConnectionToWebProcess::remoteMediaResourceManager):
- Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::requestResource):
- Source/WebKit/GPUProcess/media/RemoteMediaResource.cpp:
(WebKit::RemoteMediaResource::RemoteMediaResource):
(WebKit::RemoteMediaResource::~RemoteMediaResource):
(WebKit::RemoteMediaResource::shutdown):
(WebKit::RemoteMediaResource::didPassAccessControlCheck const):
(WebKit::RemoteMediaResource::responseReceived):
(WebKit::RemoteMediaResource::redirectReceived):
(WebKit::RemoteMediaResource::dataSent):
(WebKit::RemoteMediaResource::dataReceived):
(WebKit::RemoteMediaResource::accessControlCheckFailed):
(WebKit::RemoteMediaResource::loadFailed):
(WebKit::RemoteMediaResource::loadFinished):
(WebKit::RemoteMediaResource::stop): Deleted.
- Source/WebKit/GPUProcess/media/RemoteMediaResource.h:
- Source/WebKit/GPUProcess/media/RemoteMediaResourceLoader.cpp:
(WebKit::RemoteMediaResourceLoader::RemoteMediaResourceLoader):
(WebKit::RemoteMediaResourceLoader::requestResource):
(WebKit::RemoteMediaResourceLoader::sendH2Ping):
- Source/WebKit/GPUProcess/media/RemoteMediaResourceLoader.h:
- Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.cpp:
(WebKit::RemoteMediaResourceManager::~RemoteMediaResourceManager):
(WebKit::RemoteMediaResourceManager::stopListeningForIPC):
(WebKit::RemoteMediaResourceManager::initializeConnection):
(WebKit::RemoteMediaResourceManager::addMediaResource):
(WebKit::RemoteMediaResourceManager::removeMediaResource):
(WebKit::RemoteMediaResourceManager::resourceForIdAndReady):
(WebKit::RemoteMediaResourceManager::responseReceived):
(WebKit::RemoteMediaResourceManager::redirectReceived):
(WebKit::RemoteMediaResourceManager::dataSent):
(WebKit::RemoteMediaResourceManager::dataReceived):
(WebKit::RemoteMediaResourceManager::accessControlCheckFailed):
(WebKit::RemoteMediaResourceManager::loadFailed):
(WebKit::RemoteMediaResourceManager::loadFinished):
- Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.h:
- Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::didReceiveResponse):
- Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:
(WebKit::ServiceWorkerFetchTask::processResponse):
- Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::didGetFileInfo):
- Source/WebKit/Shared/API/glib/WebKitURIResponse.cpp:
(webkit_uri_response_get_mime_type):
- Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequest.cpp:
(webkitURISchemeRequestReadCallback):
- Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::~MediaPlayerPrivateRemote):
(WebKit::MediaPlayerPrivateRemote::removeResource):
- Source/WebKit/WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::didReceiveData):
- Source/WebKit/WebProcess/Network/WebResourceLoader.h:
Canonical link: https://commits.webkit.org/251097@main
- 6:22 AM Changeset in webkit [294998] by
-
- 1 copy in releases/WPE WebKit/webkit-2.36.3
WPE WebKit 2.36.3
- 6:21 AM Changeset in webkit [294997] by
-
- 4 edits in releases/WebKitGTK/webkit-2.36
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.36.3 release
.:
- Source/cmake/OptionsWPE.cmake: Bump version numbers.
Source/WebKit:
- wpe/NEWS: Add release notes for 2.36.3.
- 6:21 AM Changeset in webkit [294996] by
-
- 1 edit in trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp
Use flex-basis when shrinking flex items
https://bugs.webkit.org/show_bug.cgi?id=241046
Reviewed by Antti Koivisto.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForShrinkingFlexItems):
Canonical link: https://commits.webkit.org/251096@main
- 6:06 AM Changeset in webkit [294995] by
-
- 1 edit in trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp
Introduce the concept of frozen flex items
https://bugs.webkit.org/show_bug.cgi?id=241034
Reviewed by Antti Koivisto.
When a shrinking flex item gets too small, we exclude it from the shrinking algorithm and recompute the shrink factor. However the new shrink factor could make additional flex items too small.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForShrinkingFlexItems):
Canonical link: https://commits.webkit.org/251095@main
- 5:43 AM Changeset in webkit [294994] by
-
- 1 edit in trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp
Introduce ShrinkingFlexItem structure
https://bugs.webkit.org/show_bug.cgi?id=241033
Reviewed by Antti Koivisto.
This local structure caches some of the shrinking related values.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForShrinkingFlexItems):
Canonical link: https://commits.webkit.org/251094@main
- 3:43 AM Changeset in webkit [294993] by
-
- 5 edits in trunk/Source/WebCore/bindings/js
REGRESSION(251082@main): Broke WPE/GTK builds
https://bugs.webkit.org/show_bug.cgi?id=241060
Patch by Philippe Normand <philn@igalia.com> on 2022-05-28
Unreviewed, fix WPE/GTK builds by including new WebCoreOpaqueRoot header in custom JS bindings.
- Source/WebCore/bindings/js/JSDOMQuadCustom.cpp:
- Source/WebCore/bindings/js/JSNavigatorCustom.cpp:
- Source/WebCore/bindings/js/JSServiceWorkerGlobalScopeCustom.cpp:
- Source/WebCore/bindings/js/JSWorkerGlobalScopeCustom.cpp:
- Source/WebCore/bindings/js/JSWorkerNavigatorCustom.cpp:
Canonical link: https://commits.webkit.org/251093@main
- 2:11 AM Changeset in webkit [294992] by
-
- 1 copy in releases/WebKitGTK/webkit-2.36.3
WebKitGTK 2.36.3
- 2:10 AM Changeset in webkit [294991] by
-
- 4 edits in releases/WebKitGTK/webkit-2.36
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.36.3 release
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit:
- gtk/NEWS: Add release notes for 2.36.3.
- 2:10 AM Changeset in webkit [294990] by
-
- 2 edits in releases/WebKitGTK/webkit-2.36/Source
Merge r294939 - Non unified build fixes, lateish May 2022 edition
https://bugs.webkit.org/show_bug.cgi?id=241019
Unreviewed build fixes.
- Source/JavaScriptCore/wasm/js/WasmToJS.cpp: Add missing JSCJSValueInlines.h header inclusion.
- Source/WebCore/platform/audio/MultiChannelResampler.cpp: Add missing <functional> header inclusion, needed for std::bind().
Canonical link: https://commits.webkit.org/251050@main
- 2:10 AM Changeset in webkit [294989] by
-
- 3 edits in releases/WebKitGTK/webkit-2.36/Source
Merge r294881 - Cannot link WebKitTestRunner in non-unified builds
https://bugs.webkit.org/show_bug.cgi?id=240755
Reviewed by Adrian Perez de Castro.
In GTK non-unified build, WebKit shared library didn't export all
WEBCORE_EXPORT marked WebCore symbols because WebCore was a static
library.
WebCore should be an SHARED or OBJECT library to work WEBCORE_EXPORT
macro as expected.
- Source/WebCore/PlatformGTK.cmake:
- Source/WebCore/page/gtk/DragControllerGtk.cpp:
- Source/WebKit/WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsWPE.cmake:
Canonical link: https://commits.webkit.org/251011@main
- 1:07 AM Changeset in webkit [294988] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/avfoundation/objc/QueuedVideoOutput.mm
CRASH: Exception thrown from QueuedVideoOutput::invalidate
https://bugs.webkit.org/show_bug.cgi?id=241052
<rdar://93953827>
Reviewed by Eric Carlson.
- Source/WebCore/platform/graphics/avfoundation/objc/QueuedVideoOutput.mm:
(WebCore::QueuedVideoOutput::QueuedVideoOutput):
An Objective-C exception is thrown from -removeObserver: stating the observer
was never added in the first place. Clear out ivars in the early return to avoid
doing work in invalidate() which (in addition to being unnecessary) will trigger
the exception.
Canonical link: https://commits.webkit.org/251092@main
May 27, 2022:
- 10:25 PM Changeset in webkit [294987] by
-
- 4 edits in trunk/Source/WebKit/UIProcess
Use desktop User Agent when preconnecting for loads that are predicted to use desktop content mode
https://bugs.webkit.org/show_bug.cgi?id=240938
Reviewed by Geoffrey Garen.
- Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _preconnectToServer:]):
- Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadRequestWithNavigationShared):
(WebKit::WebPageProxy::preconnectTo):
- Source/WebKit/UIProcess/WebPageProxy.h:
- Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::useDesktopClassBrowsing const):
(WebKit::WebPageProxy::predictedUserAgentForRequest const):
(WebKit::WebPageProxy::effectiveContentModeAfterAdjustingPolicies):
- Source/WebKit/UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::predictedUserAgentForRequest const):
Canonical link: https://commits.webkit.org/251091@main
- 10:24 PM Changeset in webkit [294986] by
-
- 1 edit in trunk/Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp
Trigger element fullscreen video extraction after the
seekedevent
https://bugs.webkit.org/show_bug.cgi?id=241053
Reviewed by Devin Rousso.
- Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::handleEvent):
(WebKit::WebFullScreenManager::setMainVideoElement):
Canonical link: https://commits.webkit.org/251090@main
- 9:30 PM Changeset in webkit [294985] by
-
- 1 edit in trunk/Source/WebInspectorUI/UserInterface/Models/CSSProperty.js
Web Inspector: CSS property name counts should be updated atomically
https://bugs.webkit.org/show_bug.cgi?id=240994
Reviewed by Patrick Angle.
Consider the following example:
`
display: foo;
display: bar;
`
Before this change, the following would happen:
- get the cached count of
display: foo - increment the cached count of
display: fooby 1 - get the stored count of
display: foo - get the cached count of
display: bar - increment the cached count of
display: barby 1 - get the stored count of
display: bar
(async)
- increment the stored count of
display: foo(from c) by 1
(async)
- increment the stored count of
display: bar(from f) by 1
The problem is that g/h get the same stored count because c/f happened before any updates occurred.
After this change, the following would happen:
- get the cached count of
display: foo - increment the cached count of
display: fooby 1 - get the cached count of
display: bar - increment the cached count of
display: barby 1
(async)
- get the stored count of
display: foo
(async)
- increment the stored count of
display: foo(from e) by 1
(async)
- get the stored count of
display: bar
(async)
- increment the stored count of
display: bar(from g) by 1
By ensuring there is never more than one active operation on
WI.objectStores.cssPropertyNameCounts
at a time, it is guaranteed that values will never be trampled over (though it takes a bit longer).
- Source/WebInspectorUI/UserInterface/Models/CSSProperty.js:
(WI.CSSProperty._initializePropertyNameCounts):
(WI.CSSProperty.prototype._updateName.changeCount):
Canonical link: https://commits.webkit.org/251089@main
- 9:22 PM Changeset in webkit [294984] by
-
- 1 edit in trunk/Source/WebCore/html/InputType.cpp
Optimize InputType::create() by reducing calls to AtomString::convertToASCIILowercase()
https://bugs.webkit.org/show_bug.cgi?id=241043
Reviewed by Cameron McCormack.
In the common case, InputType::create() gets called with a
typestring that
is already lowercase. As a result, we would iterate over the whole string
unnecessarily under convertToASCIILowercase() to verify that it is already
lowercase, just to look up the type in a HashMap.
To avoid this, we now trying to look up the type in the HashMap directly, and
only fallback to calling convertToASCIILowercase() in the rare case where the
look up failed.
On my Apple Silicon MacBook Pro, this reduces the number of samples under
convertToASCIILowercase() from 17 to 4. Also reduces the number of samples
under InputType::create() from 21 to 12.
- Source/WebCore/html/InputType.cpp:
(WebCore::createInputTypeFactoryMap):
(WebCore::findFactory):
(WebCore::InputType::create):
Canonical link: https://commits.webkit.org/251088@main
- 9:10 PM Changeset in webkit [294983] by
-
- 1 edit in trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp
Introduce base-size to the flex algorithm
https://bugs.webkit.org/show_bug.cgi?id=241001
Reviewed by Antti Koivisto.
This is in preparation for supporting flex-basis, where the flex-basis value is used as the base for flexing.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForShrinkingFlexItems):
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForFlexItems):
Canonical link: https://commits.webkit.org/251087@main
- 9:05 PM Changeset in webkit [294982] by
-
- 3 edits in trunk/Source/WebKit
Rename the WebKit2
Imagelogging category toImageAnalysis
https://bugs.webkit.org/show_bug.cgi?id=241032
Reviewed by Devin Rousso.
This existing logging category is only used for image analysis -- as such, the logging category
should be renamed to reflect that. This also avoids confusing these logs with the Images logging
category in WebCore, which is really about image decoding, rendering and painting.
No change in behavior.
- Source/WebKit/Platform/Logging.h:
- Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::requestTextRecognition):
(WebKit::WebViewImpl::computeHasVisualSearchResults):
(WebKit::WebViewImpl::installImageAnalysisOverlayView): Deleted.
(WebKit::WebViewImpl::uninstallImageAnalysisOverlayView): Deleted.
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _cancelImageAnalysis]):
(-[WKContentView validateImageAnalysisRequestIdentifier:]):
(-[WKContentView imageAnalysisGestureDidBegin:]):
(-[WKContentView _completeImageAnalysisRequestForContextMenu:requestIdentifier:hasTextResults:]):
(-[WKContentView imageAnalysisGestureDidTimeOut:]):
(-[WKContentView installImageAnalysisInteraction:]): Deleted.
(-[WKContentView uninstallImageAnalysisInteraction]): Deleted.
Canonical link: https://commits.webkit.org/251086@main
- 8:37 PM Changeset in webkit [294981] by
-
- 7 edits in trunk/Source/WebCore
Fix sense of the display list AsTextFlags
https://bugs.webkit.org/show_bug.cgi?id=240939
Reviewed by Simon Fraser.
They do the opposite of what their names suggest.
- Source/WebCore/platform/graphics/displaylists/DisplayList.cpp:
(WebCore::DisplayList::DisplayList::shouldDumpForFlags):
(WebCore::DisplayList::DisplayList::dump const):
- Source/WebCore/platform/graphics/displaylists/DisplayListItemType.h:
- Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::dumpItem):
- Source/WebCore/platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::operator<<):
- Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::displayListForElement):
(WebCore::Internals::replayDisplayListForElement):
(WebCore::Internals::cachedGlyphDisplayListsForTextNode):
- Source/WebCore/testing/Internals.h:
- Source/WebCore/testing/Internals.idl:
Canonical link: https://commits.webkit.org/251085@main
- 8:16 PM Changeset in webkit [294980] by
-
- 4 edits in trunk/Source/WebCore/dom
Remove some unnecessary work from the Node destructor
https://bugs.webkit.org/show_bug.cgi?id=241035
Reviewed by Geoffrey Garen.
Remove some unnecessary work from the Node destructor as it shows on
Speedometer profiles.
In particular, stop calling clearRareData() as this is just clearing a data
member. Also move work that only applies to non-ContainerNode to the Text
and CharacterData destructors since those are the only two non-ContainerNodes.
- Source/WebCore/dom/Attr.cpp:
(WebCore::Attr::~Attr):
- Source/WebCore/dom/CharacterData.cpp:
(WebCore::CharacterData::~CharacterData):
- Source/WebCore/dom/CharacterData.h:
- Source/WebCore/dom/Node.cpp:
(WebCore::Node::~Node):
Canonical link: https://commits.webkit.org/251084@main
- 8:13 PM Changeset in webkit [294979] by
-
- 3 edits in trunk
Fix typo in ConcatenateCTM display list item serialization
https://bugs.webkit.org/show_bug.cgi?id=240935
Reviewed by Simon Fraser.
- LayoutTests/displaylists/extent-includes-transforms-expected.txt:
- LayoutTests/platform/mac-wk1/displaylists/extent-includes-transforms-expected.txt:
- Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::operator<<):
Canonical link: https://commits.webkit.org/251083@main
- 7:40 PM Changeset in webkit [294978] by
-
- 131 edits1 add1 delete in trunk/Source/WebCore
Refactor opaque root logic in WebCore in preparation for Node GC optimizations
https://bugs.webkit.org/show_bug.cgi?id=240998
Reviewed by Geoffrey Garen.
Refactor opaque root logic in WebCore in preparation for Node GC optimizations.
Introduce addWebCoreOpaqueRoot() / containsWebCoreOpaqueRoot() functions for
WebCore to deal with opaque roots, instead of interacting with the SlotVisitor
directly. This introduce a nice central point in WebCore where we will be
able to set / check flags on Node to speed up GC.
Also introduce a WebCoreOpaqueRoot type to replace
void*as type of opaque
roots in WebCore. This is useful because we will need to know whether an
opaque root in a Node or not in a future patch.
There is no expected behavior change from this patch, this is just pure
refactoring to make it a lot easier for us to optimize Node gargabe collection.
- Source/WebCore/Modules/fetch/FetchRequest.cpp:
(WebCore::root):
- Source/WebCore/Modules/fetch/FetchRequest.h:
- Source/WebCore/Modules/indexeddb/IDBIndex.cpp:
(WebCore::IDBIndex::opaqueRoot):
(WebCore::root):
- Source/WebCore/Modules/indexeddb/IDBIndex.h:
- Source/WebCore/Modules/indexeddb/IDBIndex.idl:
- Source/WebCore/Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::visitReferencedIndexes const):
(WebCore::root):
- Source/WebCore/Modules/indexeddb/IDBObjectStore.h:
- Source/WebCore/Modules/indexeddb/IDBRequest.cpp:
(WebCore::root):
- Source/WebCore/Modules/indexeddb/IDBRequest.h:
- Source/WebCore/Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::visitReferencedObjectStores const):
- Source/WebCore/Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::opaqueRoot):
- Source/WebCore/Modules/mediasource/SourceBuffer.h:
- Source/WebCore/Modules/mediasource/SourceBufferList.cpp:
(WebCore::root):
- Source/WebCore/Modules/mediasource/SourceBufferList.h:
- Source/WebCore/Modules/remoteplayback/RemotePlayback.cpp:
(WebCore::RemotePlayback::opaqueRootConcurrently const):
- Source/WebCore/Modules/remoteplayback/RemotePlayback.h:
- Source/WebCore/Modules/webaudio/AudioBuffer.cpp:
(WebCore::root):
- Source/WebCore/Modules/webaudio/AudioBuffer.h:
- Source/WebCore/Modules/webaudio/AudioWorkletGlobalScope.cpp:
(WebCore::AudioWorkletGlobalScope::visitProcessors):
- Source/WebCore/Modules/webaudio/AudioWorkletProcessor.cpp:
(WebCore::root):
- Source/WebCore/Modules/webaudio/AudioWorkletProcessor.h:
- Source/WebCore/Modules/webxr/WebXRSession.cpp:
(WebCore::root):
- Source/WebCore/Modules/webxr/WebXRSession.h:
- Source/WebCore/Sources.txt:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebCore/bindings/js/JSAbortSignalCustom.cpp:
(WebCore::JSAbortSignalOwner::isReachableFromOpaqueRoots):
- Source/WebCore/bindings/js/JSAttrCustom.cpp:
(WebCore::JSAttr::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSAudioBufferSourceNodeCustom.cpp:
(WebCore::JSAudioBufferSourceNode::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSCSSRuleCustom.cpp:
(WebCore::JSCSSRule::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSCSSRuleCustom.h:
(WebCore::root):
- Source/WebCore/bindings/js/JSCSSRuleListCustom.cpp:
(WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots):
- Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::root):
(WebCore::JSCSSStyleDeclaration::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.h:
- Source/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp:
(WebCore::JSCanvasRenderingContext2DOwner::isReachableFromOpaqueRoots):
(WebCore::JSCanvasRenderingContext2D::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSDOMQuadCustom.cpp:
(WebCore::JSDOMQuad::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSDeprecatedCSSOMValueCustom.cpp:
(WebCore::JSDeprecatedCSSOMValueOwner::isReachableFromOpaqueRoots):
- Source/WebCore/bindings/js/JSDocumentCustom.cpp:
(WebCore::JSDocument::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSFetchEventCustom.cpp:
(WebCore::JSFetchEvent::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::JSHTMLCanvasElement::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSHTMLTemplateElementCustom.cpp:
(WebCore::JSHTMLTemplateElement::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSIDBCursorCustom.cpp:
(WebCore::JSIDBCursor::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSIDBIndexCustom.cpp: Removed.
(WebCore::JSIDBIndex::visitAdditionalChildren): Deleted.
- Source/WebCore/bindings/js/JSIntersectionObserverCustom.cpp:
(WebCore::JSIntersectionObserver::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSIntersectionObserverEntryCustom.cpp:
(WebCore::JSIntersectionObserverEntry::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSMediaListCustom.h:
(WebCore::root):
- Source/WebCore/bindings/js/JSMessageChannelCustom.cpp:
(WebCore::JSMessageChannel::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSMessagePortCustom.cpp:
(WebCore::JSMessagePort::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSNavigatorCustom.cpp:
(WebCore::JSNavigator::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSNodeCustom.cpp:
(WebCore::JSNodeOwner::isReachableFromOpaqueRoots):
(WebCore::JSNode::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSNodeCustom.h:
(WebCore::root):
- Source/WebCore/bindings/js/JSNodeIteratorCustom.cpp:
(WebCore::JSNodeIterator::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSNodeListCustom.cpp:
(WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
- Source/WebCore/bindings/js/JSOffscreenCanvasRenderingContext2DCustom.cpp:
(WebCore::root):
(WebCore::JSOffscreenCanvasRenderingContext2DOwner::isReachableFromOpaqueRoots):
(WebCore::JSOffscreenCanvasRenderingContext2D::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSPaintRenderingContext2DCustom.cpp:
(WebCore::root):
(WebCore::JSPaintRenderingContext2DOwner::isReachableFromOpaqueRoots):
(WebCore::JSPaintRenderingContext2D::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSResizeObserverEntryCustom.cpp:
(WebCore::JSResizeObserverEntry::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSSVGViewSpecCustom.cpp:
(WebCore::JSSVGViewSpec::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSServiceWorkerGlobalScopeCustom.cpp:
(WebCore::JSServiceWorkerGlobalScope::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSStyleSheetCustom.cpp:
(WebCore::JSStyleSheet::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSStyleSheetCustom.h:
(WebCore::root):
- Source/WebCore/bindings/js/JSTextTrackCueCustom.cpp:
(WebCore::JSTextTrackCueOwner::isReachableFromOpaqueRoots):
(WebCore::JSTextTrackCue::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSTreeWalkerCustom.cpp:
(WebCore::JSTreeWalker::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSUndoItemCustom.cpp:
(WebCore::JSUndoItemOwner::isReachableFromOpaqueRoots):
- Source/WebCore/bindings/js/JSWebGL2RenderingContextCustom.cpp:
(WebCore::JSWebGL2RenderingContext::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::JSWebGLRenderingContext::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSWebXRSessionCustom.cpp:
(WebCore::JSWebXRSession::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSWorkerGlobalScopeCustom.cpp:
(WebCore::JSWorkerGlobalScope::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSWorkerNavigatorCustom.cpp:
(WebCore::JSWorkerNavigator::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::visitAdditionalChildren):
- Source/WebCore/bindings/js/JSXPathResultCustom.cpp:
(WebCore::JSXPathResult::visitAdditionalChildren):
- Source/WebCore/bindings/js/WebCoreOpaqueRoot.h: Added.
(WebCore::WebCoreOpaqueRoot::WebCoreOpaqueRoot):
(WebCore::WebCoreOpaqueRoot::isNode const):
(WebCore::WebCoreOpaqueRoot::pointer const):
(WebCore::addWebCoreOpaqueRoot):
(WebCore::containsWebCoreOpaqueRoot):
- Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
- Source/WebCore/bindings/scripts/test/JS/JSTestGenerateAddOpaqueRoot.cpp:
(WebCore::JSTestGenerateAddOpaqueRoot::visitChildrenImpl):
- Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::JSTestGenerateIsReachableOwner::isReachableFromOpaqueRoots):
- Source/WebCore/crypto/CryptoKey.cpp:
(WebCore::root):
- Source/WebCore/crypto/CryptoKey.h:
- Source/WebCore/dom/AbortController.cpp:
(WebCore::AbortController::opaqueRoot):
- Source/WebCore/dom/AbortController.h:
- Source/WebCore/dom/AbortController.idl:
- Source/WebCore/dom/AbortSignal.cpp:
(WebCore::root):
- Source/WebCore/dom/AbortSignal.h:
- Source/WebCore/dom/DOMPointReadOnly.cpp:
(WebCore::root):
- Source/WebCore/dom/DOMPointReadOnly.h:
- Source/WebCore/dom/DOMRectReadOnly.cpp:
(WebCore::root):
- Source/WebCore/dom/DOMRectReadOnly.h:
- Source/WebCore/dom/DocumentInlines.h:
(WebCore::Node::opaqueRoot const):
- Source/WebCore/dom/MessagePort.cpp:
(WebCore::root):
- Source/WebCore/dom/MessagePort.h:
- Source/WebCore/dom/MutationObserverRegistration.cpp:
(WebCore::MutationObserverRegistration::isReachableFromOpaqueRoots const):
- Source/WebCore/dom/MutationRecord.cpp:
- Source/WebCore/dom/Node.cpp:
(WebCore::Node::traverseToOpaqueRoot const):
- Source/WebCore/dom/Node.h:
(WebCore::Node::opaqueRoot const): Deleted.
- Source/WebCore/dom/NodeFilter.h:
(WebCore::root):
- Source/WebCore/dom/Range.cpp:
(WebCore::Range::visitNodesConcurrently const):
- Source/WebCore/dom/ScriptExecutionContext.cpp:
(WebCore::root):
- Source/WebCore/dom/ScriptExecutionContext.h:
- Source/WebCore/dom/StaticRange.cpp:
(WebCore::StaticRange::visitNodesConcurrently const):
- Source/WebCore/fileapi/Blob.cpp:
(WebCore::root):
- Source/WebCore/fileapi/Blob.h:
- Source/WebCore/html/CanvasBase.cpp:
(WebCore::root):
- Source/WebCore/html/CanvasBase.h:
- Source/WebCore/html/HTMLCanvasElement.cpp:
(WebCore::root):
- Source/WebCore/html/HTMLCanvasElement.h:
- Source/WebCore/html/HTMLMediaElement.h:
- Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::addMembersToOpaqueRoots):
- Source/WebCore/html/canvas/WebGLFramebuffer.cpp:
- Source/WebCore/html/canvas/WebGLObject.cpp:
(WebCore::root):
- Source/WebCore/html/canvas/WebGLObject.h:
- Source/WebCore/html/canvas/WebGLProgram.cpp:
(WebCore::WebGLProgram::addMembersToOpaqueRoots):
- Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::addMembersToOpaqueRoots):
(WebCore::root):
- Source/WebCore/html/canvas/WebGLRenderingContextBase.h:
- Source/WebCore/html/canvas/WebGLTransformFeedback.cpp:
(WebCore::WebGLTransformFeedback::addMembersToOpaqueRoots):
- Source/WebCore/html/canvas/WebGLVertexArrayObjectBase.cpp:
(WebCore::WebGLVertexArrayObjectBase::addMembersToOpaqueRoots):
(WebCore::root):
- Source/WebCore/html/canvas/WebGLVertexArrayObjectBase.h:
- Source/WebCore/html/track/TrackBase.cpp:
(WebCore::TrackBase::opaqueRoot):
- Source/WebCore/html/track/TrackBase.h:
(WebCore::root):
- Source/WebCore/html/track/TrackListBase.cpp:
(WebCore::TrackListBase::opaqueRoot):
- Source/WebCore/html/track/TrackListBase.h:
(WebCore::root):
- Source/WebCore/page/DOMWindow.cpp:
(WebCore::root):
- Source/WebCore/page/DOMWindow.h:
- Source/WebCore/page/IntersectionObserver.cpp:
(WebCore::IntersectionObserver::isReachableFromOpaqueRoots const):
- Source/WebCore/page/NavigatorBase.cpp:
(WebCore::root):
- Source/WebCore/page/NavigatorBase.h:
- Source/WebCore/page/ResizeObserver.cpp:
(WebCore::ResizeObserver::isReachableFromOpaqueRoots const):
- Source/WebCore/workers/WorkerLocation.cpp:
(WebCore::root):
- Source/WebCore/workers/WorkerLocation.h:
(WebCore::WorkerLocation::create):
(WebCore::WorkerLocation::url const):
(WebCore::WorkerLocation::WorkerLocation):
- Source/WebCore/workers/service/ServiceWorkerClients.cpp:
(WebCore::root):
- Source/WebCore/workers/service/ServiceWorkerClients.h:
- Source/WebCore/workers/service/ServiceWorkerRegistration.cpp:
(WebCore::root):
- Source/WebCore/workers/service/ServiceWorkerRegistration.h:
- Source/WebCore/xml/XMLHttpRequestUpload.cpp:
(WebCore::root):
- Source/WebCore/xml/XMLHttpRequestUpload.h:
Canonical link: https://commits.webkit.org/251082@main
- 7:19 PM Changeset in webkit [294977] by
-
- 1 edit in trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm
WKHTTPCookieStore tests should use removeDataOfTypes to delete all cookies
https://bugs.webkit.org/show_bug.cgi?id=240726
Reviewed by Sihui Liu.
Call WKWebsiteDataStore.removeDataOfTypes when to clear all cookies
instead of deleting them one by one. Besides simplifying the code it
documents the API recommended for the clients.
- Tools/TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
(clearCookies):
(TEST):
(deleteCookies): Deleted.
Canonical link: https://commits.webkit.org/251081@main
- 7:12 PM Changeset in webkit [294976] by
-
- 1 edit in trunk/Source/WebCore/html/HTMLAttachmentElement.cpp
[WK2] Attachment icons do not update after updating filewrapper
https://bugs.webkit.org/show_bug.cgi?id=241026
rdar://86293273
Reviewed by Wenson Hsieh.
In the case of certain iWork file types downloaded from iCloud that require
thumbnails, we don't remove the progress update once the filewrapper is updated
with the complete attachment, which prevents the thumbnail from appearing.
This patch removes the progress attribute once the thumbnail is updated
so we know we can now paint the icon.
No new tests. There's no clear way to test this change. For previous thumbnail bugs
we swizzled the thumbnail generator code to make sure we were generating
thumbnails; however, this bug is a case of the thumbnail being generated but not
displayed. Similarly, we can't compare the attachment size because it is the same for
the attachment with and without the correct thumbnail.
- Source/WebCore/html/HTMLAttachmentElement.cpp:
(WebCore::HTMLAttachmentElement::updateThumbnail):
Canonical link: https://commits.webkit.org/251080@main
- 6:46 PM Changeset in webkit [294975] by
-
- 1 edit in trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm
[ iOS ] TestWebKitAPI.SOAuthorizationSubFrame.InterceptionErrorWithReferrer is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=239311
<rdar://91723056>
Reviewed by Brent Fulgham.
There is a race condition when using waitForMessage that we hit here, causing flaky tests on
some bots. This patch avoids this by specifying the messages waited for before loading the
request.
- Tools/TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm:
(-[TestSOAuthorizationScriptMessageHandler initWithExpectation:]):
(-[TestSOAuthorizationScriptMessageHandler userContentController:didReceiveScriptMessage:]):
(TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/251079@main
- 6:23 PM Changeset in webkit [294974] by
-
- 1 edit in trunk/Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp
[GLib] Properly deprecate WebKitSettings properties enable-accelerated-2d-canvas, enable-plugins, and enable-xss-auditor
https://bugs.webkit.org/show_bug.cgi?id=240993
Patch by Michael Catanzaro <mcatanzaro@redhat.com> on 2022-05-27
Reviewed by Adrian Perez de Castro.
- Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp:
(webkit_settings_class_init):
Canonical link: https://commits.webkit.org/251078@main
- 6:06 PM Changeset in webkit [294973] by
-
- 41 edits in trunk/Source/WebCore
Add a fake style bit for mouse click handlers
https://bugs.webkit.org/show_bug.cgi?id=240924
Reviewed by Antti Koivisto.
Add a bit to
EventListenerRegionTypefor mouse click events, and
populate it via Node::willRespondToMouseClickEvents.
To do so while avoiding recursive style computation, make it possible
to plumb Editability through to willRespondToMouseClickEventsWithEditability.
This short-circuits Node calling into computeEditability() from the base
implementation of willRespondToMouseClickEvents, which reenters style computation
via computedStyle() when called from StyleAdjuster (whereEventListenerRegionType
is populated).
Also make a variant of computeEditability that takes a passed-in style, and
do some refactoring to share more code between platforms (without changing
behavior, even in cases where the behavior differences are suprising).
- Source/WebCore/dom/Node.cpp:
(WebCore::computeEditabilityFromComputedStyle):
Instead of computing style, computeEditabilityFromComputedStyle is now passed a RenderStyle reference.
(WebCore::Node::computeEditabilityWithStyle const):
This subsumes most of the logic from computeEditability(), but will
compute the style (only if we need it) if it is not passed in.
(WebCore::Node::computeEditability const):
computeEditability retains its "normal" API, passing through its arguments and a null style,
indicating to computeEditabilityWithStyle that it should compute the style as usual.
(WebCore::Node::computeEditabilityForMouseClickEvents const):
A variant ofcomputeEditabilityWithStylethat maintains an odd existing
platform-specific difference in theUserSelectAllTreatmentargument,
and allows callers ofwillRespondToMouseClickEventsWithEditabilityto
all be consistent.
(WebCore::Node::willRespondToMouseClickEvents const):
Maintain the existing behavior of willRespondToMouseClickEvents; compute editability as needed.
(WebCore::Node::willRespondToMouseClickEventsWithEditability const):
willRespondToMouseClickEventsWithEditabilityis now the override point, and
will not itself cause a style update.
Refactor this function a bit to share as much code as possible between platforms
(and maintain an existing comment questioning the differences that we maintain).
- Source/WebCore/dom/Node.h:
- Source/WebCore/rendering/EventRegion.cpp:
(WebCore::EventRegion::eventListenerRegionForType const):
- Source/WebCore/rendering/RenderLayerBacking.cpp:
(WebCore::patternForEventListenerRegionType):
Add EventListenerRegionType::MouseClick to these two switches over EventListenerRegionType,
but break and fall into the ASSERT_NOT_REACHED default state; these are only called
for wheel event listeners.
- Source/WebCore/rendering/style/RenderStyleConstants.cpp:
(WebCore::operator<<):
- Source/WebCore/rendering/style/RenderStyleConstants.h:
- Source/WebCore/style/StyleAdjuster.cpp:
(WebCore::Style::Adjuster::adjustEventListenerRegionTypesForRootStyle):
(WebCore::Style::Adjuster::computeEventListenerRegionTypes):
(WebCore::Style::Adjuster::adjust const):
If we're building interaction regions, propagate EventListenerRegionType::MouseClick
down the style tree like we do for wheel event listeners. This is a bit more complicated
than wheel event listeners, using the Node method instead of just looking at the
set of event listeners, because many elements accept mouse clicks *without* having
event listeners installed; they just implement behaviors in their default event handlers.
- Source/WebCore/style/StyleAdjuster.h:
- Source/WebCore/page/InteractionRegion.cpp:
(WebCore::interactionRegions):
Adopt the new fake style bit. This is not the final intended use: we will use it from
EventRegion::unite(), like we do for wheel events, in a future patch.
- Source/WebCore/html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::HTMLAnchorElement::willRespondToMouseClickEvents const): Deleted.
- Source/WebCore/html/HTMLAnchorElement.h:
- Source/WebCore/html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::HTMLButtonElement::willRespondToMouseClickEvents const): Deleted.
- Source/WebCore/html/HTMLButtonElement.h:
- Source/WebCore/html/HTMLElement.cpp:
(WebCore::HTMLElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::HTMLElement::willRespondToMouseClickEvents const): Deleted.
- Source/WebCore/html/HTMLElement.h:
- Source/WebCore/html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::HTMLImageElement::willRespondToMouseClickEvents const): Deleted.
- Source/WebCore/html/HTMLImageElement.h:
- Source/WebCore/html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::HTMLInputElement::willRespondToMouseClickEvents const): Deleted.
- Source/WebCore/html/HTMLInputElement.h:
- Source/WebCore/html/HTMLLabelElement.cpp:
(WebCore::HTMLLabelElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::HTMLLabelElement::willRespondToMouseClickEvents const): Deleted.
- Source/WebCore/html/HTMLLabelElement.h:
- Source/WebCore/html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::HTMLPlugInElement::willRespondToMouseClickEvents const): Deleted.
- Source/WebCore/html/HTMLPlugInElement.h:
- Source/WebCore/html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::HTMLSelectElement::willRespondToMouseClickEvents const): Deleted.
- Source/WebCore/html/HTMLSelectElement.h:
- Source/WebCore/html/HTMLSummaryElement.cpp:
(WebCore::HTMLSummaryElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::HTMLSummaryElement::willRespondToMouseClickEvents const): Deleted.
- Source/WebCore/html/HTMLSummaryElement.h:
- Source/WebCore/html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::HTMLTextAreaElement::willRespondToMouseClickEvents const): Deleted.
- Source/WebCore/html/HTMLTextAreaElement.h:
- Source/WebCore/html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::SliderThumbElement::willRespondToMouseClickEvents const): Deleted.
- Source/WebCore/html/shadow/SliderThumbElement.h:
- Source/WebCore/html/shadow/SpinButtonElement.cpp:
(WebCore::SpinButtonElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::SpinButtonElement::willRespondToMouseClickEvents const): Deleted.
- Source/WebCore/html/shadow/SpinButtonElement.h:
- Source/WebCore/html/shadow/TextControlInnerElements.cpp:
(WebCore::SearchFieldResultsButtonElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::SearchFieldCancelButtonElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::SearchFieldResultsButtonElement::willRespondToMouseClickEvents const): Deleted.
(WebCore::SearchFieldCancelButtonElement::willRespondToMouseClickEvents const): Deleted.
- Source/WebCore/html/shadow/TextControlInnerElements.h:
- Source/WebCore/mathml/MathMLElement.cpp:
(WebCore::MathMLElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::MathMLElement::willRespondToMouseClickEvents const): Deleted.
- Source/WebCore/mathml/MathMLElement.h:
- Source/WebCore/mathml/MathMLSelectElement.cpp:
(WebCore::MathMLSelectElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::MathMLSelectElement::willRespondToMouseClickEvents const): Deleted.
- Source/WebCore/mathml/MathMLSelectElement.h:
- Source/WebCore/svg/SVGAElement.cpp:
(WebCore::SVGAElement::willRespondToMouseClickEventsWithEditability const):
(WebCore::SVGAElement::willRespondToMouseClickEvents const): Deleted.
- Source/WebCore/svg/SVGAElement.h:
Propagate editability through overrides of willRespondToMouseClickEvents(WithEditability).
Canonical link: https://commits.webkit.org/251077@main
- 5:56 PM Changeset in webkit [294972] by
-
- 15 edits3 copies in trunk/Source/WebCore
Add EXT_texture_compression_bptc WebGL extension support
https://bugs.webkit.org/show_bug.cgi?id=235637
Patch by Alexey Knyazev <3479527+lexaknyazev@users.noreply.github.com> on 2022-05-27
Reviewed by Kenneth Russell.
Support BPTC texture formats and slightly cleanup RGTC code.
- Source/WebCore/CMakeLists.txt:
- Source/WebCore/DerivedSources-input.xcfilelist:
- Source/WebCore/DerivedSources-output.xcfilelist:
- Source/WebCore/DerivedSources.make:
- Source/WebCore/Sources.txt:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebCore/bindings/js/JSDOMConvertWebGL.cpp:
(WebCore::convertToJSValue):
- Source/WebCore/html/canvas/EXTTextureCompressionBPTC.cpp: Copied from Source/WebCore/html/canvas/EXTTextureCompressionRGTC.cpp.
(WebCore::EXTTextureCompressionBPTC::EXTTextureCompressionBPTC):
(WebCore::EXTTextureCompressionBPTC::getName const):
(WebCore::EXTTextureCompressionBPTC::supported):
- Source/WebCore/html/canvas/EXTTextureCompressionBPTC.h: Copied from Source/WebCore/html/canvas/EXTTextureCompressionRGTC.h.
- Source/WebCore/html/canvas/EXTTextureCompressionBPTC.idl: Copied from Source/WebCore/html/canvas/EXTTextureCompressionRGTC.h.
- Source/WebCore/html/canvas/EXTTextureCompressionRGTC.cpp:
(WebCore::EXTTextureCompressionRGTC::EXTTextureCompressionRGTC):
(WebCore::EXTTextureCompressionRGTC::supported):
- Source/WebCore/html/canvas/EXTTextureCompressionRGTC.h:
- Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::getExtension):
(WebCore::WebGL2RenderingContext::getSupportedExtensions):
- Source/WebCore/html/canvas/WebGLExtension.h:
- Source/WebCore/html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getSupportedExtensions):
- Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::extensionIsEnabled):
(WebCore::WebGLRenderingContextBase::validateCompressedTexFuncData):
(WebCore::WebGLRenderingContextBase::loseExtensions):
- Source/WebCore/html/canvas/WebGLRenderingContextBase.h:
- Source/WebCore/platform/graphics/GraphicsContextGL.h:
Canonical link: https://commits.webkit.org/251076@main
- 5:32 PM Changeset in webkit [294971] by
-
- 1 edit1 delete in trunk/Source/WebKit
Remove WebKit feature flags plist
https://bugs.webkit.org/show_bug.cgi?id=241042
Reviewed by Wenson Hsieh.
- Source/WebKit/FeatureFlags/WebKit.plist: Removed.
- Source/WebKit/WebKit.xcodeproj/project.pbxproj:
Now that the blocking bug is resolved, we can remove this entirely.
Canonical link: https://commits.webkit.org/251075@main
- 5:01 PM Changeset in webkit [294970] by
-
- 12 edits in trunk
Optimize setting SVG element transforms
https://bugs.webkit.org/show_bug.cgi?id=240825
Reviewed by Said Abou-Hallawa.
When parseTransformValueGeneric() creates SVGTransformValues, it default-constructed them
and then called setRotate(), setScale() etc, which would reset m_matrix to identity a second time.
Optimize by providing static helpers for creating translate, rotate and scale SVGTransformValues
which initialize the matrix with the final value. Helpers are added to AffineTransform to
create scale, translate and rotate transforms, renamingtranslationtomakeTranslationso
that the "scale" helper doesn't conflict with thescalemember function.
This reduces the time spent under the Element::setAttribute() function in the MotionMark
Suits test by about 14%.
- Source/WebCore/page/FrameView.cpp:
(WebCore::FrameView::rectForViewportConstrainedObjects):
- Source/WebCore/platform/graphics/FontCascade.cpp:
(WebCore::GlyphToPathTranslator::GlyphToPathTranslator):
- Source/WebCore/rendering/svg/LegacyRenderSVGRoot.cpp:
(WebCore::LegacyRenderSVGRoot::paintReplaced):
(WebCore::LegacyRenderSVGRoot::localToParentTransform const):
- Source/WebCore/rendering/svg/RenderSVGResourceMarker.cpp:
(WebCore::RenderSVGResourceMarker::localToParentTransform const):
- Source/WebCore/rendering/svg/RenderSVGViewportContainer.cpp:
(WebCore::RenderSVGViewportContainer::calculateLocalTransform):
- Source/WebCore/svg/SVGTransform.h:
(WebCore::SVGTransform::create):
(WebCore::SVGTransform::SVGTransform):
- Source/WebCore/svg/SVGTransformList.cpp:
(WebCore::SVGTransformList::parseGeneric):
- Source/WebCore/svg/SVGTransformValue.h:
(WebCore::SVGTransformValue::translateTransformValue):
(WebCore::SVGTransformValue::rotateTransformValue):
(WebCore::SVGTransformValue::scaleTransformValue):
(WebCore::SVGTransformValue::setMatrix):
(WebCore::SVGTransformValue::matrixDidChange):
(WebCore::SVGTransformValue::setTranslate):
(WebCore::SVGTransformValue::setScale):
(WebCore::SVGTransformValue::setRotate):
- Source/WebCore/svg/SVGTransformable.cpp:
(WebCore::parseTransformValueGeneric):
- Source/WebCore/svg/properties/SVGValueProperty.h:
- Tools/TestWebKitAPI/Tests/WebCore/AffineTransform.cpp:
(TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/251074@main
- 5:00 PM Changeset in webkit [294969] by
-
- 1 edit in trunk/Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in
[macOS][GPUP] Block unused system calls
https://bugs.webkit.org/show_bug.cgi?id=240966
<rdar://84826074>
Reviewed by Chris Dumez.
- Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
Canonical link: https://commits.webkit.org/251073@main
- 4:55 PM Changeset in webkit [294968] by
-
- 1 edit in trunk/Source/WebInspectorUI/UserInterface/Views/BreakpointActionView.js
Web Inspector: Sources: editing a breakpoint action to cause the CodeMirror to wrap doesn't update the
WI.Popoversize
https://bugs.webkit.org/show_bug.cgi?id=220643
<rdar://problem/73225206>
Reviewed by Patrick Angle.
- Source/WebInspectorUI/UserInterface/Views/BreakpointActionView.js:
(WI.BreakpointActionView.prototype._updateBody):
(WI.BreakpointActionView.prototype._handleJavaScriptCodeMirrorUpdate): Added.
(WI.BreakpointActionView.prototype._codeMirrorViewportChanged): Deleted.
Replace listening for"viewportChange"(and"update") with"updates", each time comparing the
getScrollInfo().clientHeight(we don't care about theclientWidthbecause it's hardcoded in the
CSS.breakpoint-action-eval-editor > .CodeMirror) with the last value. This is necessary because
"viewportChange"is only fired when the number of lines changes, which a wrapped line doesn't do.
Canonical link: https://commits.webkit.org/251072@main
- 4:52 PM Changeset in webkit [294967] by
-
- 1 edit in trunk/Source/WebInspectorUI/UserInterface/Views/TimelineOverview.js
Web Inspector: Timelines: switching between Events/Frames while editing instruments leaves the UI in a broken state
https://bugs.webkit.org/show_bug.cgi?id=218700
<rdar://problem/71180148>
Reviewed by Patrick Angle.
- Source/WebInspectorUI/UserInterface/Views/TimelineOverview.js:
(WI.TimelineOverview.prototype.set viewMode):
(WI.TimelineOverview.prototype._viewModeDidChange):
Forcibly stop editing instruments when switching between Events/Frames. Note that this will save the
current state of edited instruments, so no changes will be lost.
Canonical link: https://commits.webkit.org/251071@main
- 4:40 PM Changeset in webkit [294966] by
-
- 1 edit in trunk/Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py
git-webkit pr: Show server response when updating an issue fails
Reviewed by Jonathan Bedard.
Small changes are also made to the request() method to make it more
reusable: now it can handle methods other than GET, and can print custom
error messages when requests fail.
Bare usages of python-requests have been refactored to use
self.request() where possible (that is, when the path being accessed is
within the repo URL).
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py:
Canonical link: https://commits.webkit.org/251070@main
- 4:09 PM Changeset in webkit [294965] by
-
- 57 edits2 deletes in trunk
Revert "Enable WasmLLInt on ARMv7"
Unreviewed.
This reverts commit 2a12d06fc13f7c3bbcf8d204d6f760ab222d75d9.
2a12d06fc13f7c3bbcf8d204d6f760ab222d75d9 breaks WASM on 64-bit platforms.
Canonical link: https://commits.webkit.org/251068@main
- 4:08 PM Changeset in webkit [294964] by
-
- 1 edit in trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
[iOS] Performing the image markup action should reset
_imageAnalysisMarkupData
https://bugs.webkit.org/show_bug.cgi?id=241024
Reviewed by Aditya Keerthi.
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView imageAnalysisMarkupMenu]):
Canonical link: https://commits.webkit.org/251068@main
- 4:02 PM Changeset in webkit [294963] by
-
- 11 edits in trunk/Source/WebCore
Update internal CSS to remove '-webkit-' prefixing where possible
https://bugs.webkit.org/show_bug.cgi?id=240930
<rdar://93934318>
Patch by Sammy Gill <sgill26@apple.com> on 2022-05-27
Reviewed by Brent Fulgham and Tim Nguyen.
There are many instances in WebCore where prefixed versions of CSS
attributes are being used even though these attributes have been
standardized and have unprefixed versions. The prefixed versions no
longer need to be used and can be replaced by their unprefixed
equivalents.
- Source/WebCore/Modules/mediacontrols/mediaControlsAdwaita.css:
- Source/WebCore/Modules/mediacontrols/mediaControlsApple.css:
- Source/WebCore/Modules/mediacontrols/mediaControlsBase.css:
- Source/WebCore/css/html.css:
- Source/WebCore/css/legacyFormControlsIOS.css:
- Source/WebCore/css/mediaControls.css:
- Source/WebCore/css/themeAdwaita.css:
- Source/WebCore/html/shadow/imageOverlay.css:
- Source/WebCore/html/shadow/mac/imageControlsMac.css:
- Source/WebCore/html/shadow/meterElementShadow.css:
- Source/WebCore/xml/XMLViewer.css:
Canonical link: https://commits.webkit.org/251067@main
- 3:59 PM Changeset in webkit [294962] by
-
- 3 edits in trunk/LayoutTests/platform
[Gardening]: [ iOS macOS ] two imported/w3c/web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-display-p3-drawImage tests are a consistent failure
https://bugs.webkit.org/show_bug.cgi?id=241048
<rdar://94056966>
Unreviewed test gardening.
- LayoutTests/platform/ios/TestExpectations:
- LayoutTests/platform/mac-wk1/TestExpectations:
- LayoutTests/platform/mac-wk2/TestExpectations:
Canonical link: https://commits.webkit.org/251066@main
- 3:55 PM Changeset in webkit [294961] by
-
- 1 edit in trunk/LayoutTests/webgl/TestExpectations
Flakes in WebGL conformance[2]/textures/image_bitmap_from_image_bitmap/ tests
https://bugs.webkit.org/show_bug.cgi?id=241027
Patch by Kenneth Russell <kbr@chromium.org> on 2022-05-27
Unreviewed test gardening.
- LayoutTests/webgl/TestExpectations:
Mark all tests under:
webgl/2.0.0/conformance[2]/textures/image_bitmap_from_image_bitmap
as flaky (Pass Failure) while the bug is being investigated.
Canonical link: https://commits.webkit.org/251065@main
- 3:48 PM Changeset in webkit [294960] by
-
- 2 edits in trunk/Source
Revert "Non unified build fixes, lateish May 2022 edition"
Unreviewed.
This reverts commit 2db7e5eef53c0424ac30bccf7cdf9aa8428e9464.
We need to revert 2a12d06fc13f7c3bbcf8d204d6f760ab222d75d9 because it broke WASM on
64-bit platforms. 2db7e5eef53c0424ac30bccf7cdf9aa8428e9464 was builds on top of
2a12d06fc13f7c3bbcf8d204d6f760ab222d75d9, and hence, needs to be reverted too.
Canonical link: https://commits.webkit.org/251064@main
- 3:10 PM Changeset in webkit [294959] by
-
- 2 edits2 adds in trunk
[Modern Media Controls] REGRESSION(r293684) cannot pause
<video>ifcontrolsare added after"play"
https://bugs.webkit.org/show_bug.cgi?id=240985
<rdar://problem/93822316>
Reviewed by Eric Carlson.
- Source/WebCore/Modules/modern-media-controls/media/media-controller.js:
(MediaController):
Actually check if themediais playing and/or has played instead of always assumingfalse.
- Source/WebCore/Modules/modern-media-controls/media/start-support.js:
(StartSupport.prototype._shouldShowStartButton):
Drive-by: It's no longer necessary to checkmedia.played.lengthhere it's part ofmediaController.hasPlayed.
- LayoutTests/media/modern-media-controls/ios-inline-media-controls/touch/ios-inline-media-controls-added-after-play.html: Added.
- LayoutTests/media/modern-media-controls/ios-inline-media-controls/touch/ios-inline-media-controls-added-after-play-expected.txt: Added.
Canonical link: https://commits.webkit.org/251062@main
- 3:10 PM Changeset in webkit [294958] by
-
- 2 edits in trunk/Source
Crash under RemoteDisplayListRecorder::restore()
https://bugs.webkit.org/show_bug.cgi?id=240545
Reviewed by Simon Fraser.
- Source/WebKit/GPUProcess/graphics/RemoteImageBuffer.h:
(WebKit::RemoteImageBuffer::~RemoteImageBuffer):
Avoid restoring the GraphicsContext stack for volatile
ImageBuffers. The buffers do not have a graphics context.
- Source/WebCore/platform/graphics/ConcreteImageBuffer.h:
Add an assertion to check that volatile image buffers
do not try to access their context.
Canonical link: https://commits.webkit.org/251061@main
- 3:05 PM Changeset in webkit [294957] by
-
- 1 copy in tags/WebKit-7614.1.14.10.9
Tag WebKit-7614.1.14.10.9.
- 3:02 PM Changeset in webkit [294956] by
-
- 9 edits in branches/safari-7614.1.14.10-branch/Source
Versioning.
WebKit-7614.1.14.10.9
- 2:50 PM Changeset in webkit [294955] by
-
- 6 edits4 adds in trunk
CrashTracer: com.apple.WebKit.WebContent at com.apple.WebKit: WebKit::TextCheckingControllerProxy::annotatedSubstringBetweenPositions
https://bugs.webkit.org/show_bug.cgi?id=239909
<rdar://problem/87885717>
Reviewed by Wenson Hsieh.
This exception happens when trying to add attributes for text that contains collapsed whitespace and
has also been wrapped due to the size of its parent container. The exception specifically is about
trying to add attributes beyond the current length of aNSAttributedString.
- Source/WebCore/editing/TextIteratorBehavior.h:
- Source/WebCore/editing/TextIterator.cpp:
(WebCore::TextIterator::handleTextRun):
In the case thatm_lastTextNodeEndedWithCollapsedSpace, we only want to add the remaining text if
we're still within the desired portion of them_textRun. Otherwise, we'll iterate over too much of
the text and result in a string that's longer than what would be the case if one manually calculated
it from the givenoffsetandoffsetEnd. Add a newTextIteratorBehavior::IgnoresWhiteSpaceAtEndOfRun
to not include the trailing whitespace.
- Source/WebKit/WebProcess/WebPage/Cocoa/TextCheckingControllerProxy.mm:
(WebKit::TextCheckingControllerProxy::annotatedSubstringBetweenPositions):
Use the newWebCore::TextIteratorBehavior::IgnoresWhiteSpaceAtEndOfRunto not include the trailing
whitespace.
Also add some defensive checks just in case.
- Source/WebCore/testing/Internals.idl:
- Source/WebCore/testing/Internals.h:
- Source/WebCore/testing/Internals.cpp:
(WebCore::toTextIteratorBehaviors): Added.
(WebCore::Internals::locationFromRange):
(WebCore::Internals::lengthFromRange):
(WebCore::Internals::statesOfTextIterator): Added.
Add a way to provideTextIteratorBehaviorsto methods that useTextIterator.
Add a method that gets thetextandrangeof aTextIteratorafter everyadvance.
- LayoutTests/editing/text-iterator/sequential-collapsed-ranges.html: Added.
- LayoutTests/editing/text-iterator/sequential-collapsed-ranges-expected.txt: Added.
- LayoutTests/editing/text-iterator/subrange-with-trailing-collapsed-whitespace.html: Added.
- LayoutTests/editing/text-iterator/subrange-with-trailing-collapsed-whitespace-expected.txt: Added.
Canonical link: https://commits.webkit.org/251061@main
- 2:37 PM Changeset in webkit [294954] by
-
- 1 copy in tags/WebKit-7614.1.14.1.14
Tag WebKit-7614.1.14.1.14.
- 2:35 PM Changeset in webkit [294953] by
-
- 1 copy in tags/WebKit-7614.1.14.0.13
Tag WebKit-7614.1.14.0.13.
- 2:10 PM Changeset in webkit [294952] by
-
- 6 edits1 add in trunk/Source
[Xcode] Compute PGO profdata paths instead of searching for them at build time
https://bugs.webkit.org/show_bug.cgi?id=239681
Reviewed by Wenson Hsieh and Alexey Proskuryakov.
Production builds should always use profdata from the SDK, internal
release builds should use profdata from the local WebKitAdditions when
available, and open source builds should use the stub profdata. Add a
PROFILE_DATA_PATH build setting which implements these rules and replace
the script phases that checked those paths dynamically.
This fixes XCBuild validation issues in the open-source build, and
should prevent production builders from using stale profdata in
BUILT_PRODUCTS_DIR. Additionally, engineers can now build with custom
profile data by overriding PROFILE_DATA_PATH.
- Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig:
- Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
- Source/JavaScriptCore/Scripts/copy-profiling-data.sh: Added. This file is part of JavaScriptCore's private headers and replaces the "Copy Profiling Data" script phase logic all projects.
- Source/WebKit/Configurations/BaseTarget.xcconfig:
- Source/WebKit/WebKit.xcodeproj/project.pbxproj:
- Source/WebCore/Configurations/WebCore.xcconfig:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/251060@main
- 1:52 PM Changeset in webkit [294951] by
-
- 2 edits in trunk/Source
Start allocating shared memory with MAP_MEM_VM_SHARE again on newer OSes
https://bugs.webkit.org/show_bug.cgi?id=241014
<rdar://94032696>
Reviewed by Simon Fraser.
When we started doing memory attribution in the GPUProcess, we stopped using
the MAP_MEM_VM_SHARE flag when creating SharedMemory, because it was
incompatible with attribution. However, creating shared memory would fail
without the MAP_MEM_VM_SHARE flag under certain circumstances (due to size
restriction iirc), in which case we would fall back to using MAP_MEM_VM_SHARE
and fail memory attribution.
As of <rdar://73715428>, MAP_MEM_VM_SHARE is now compatible with memory
attribution so this patch starts using the flag again and unconditionally on
newer OSes.
- Source/WTF/wtf/PlatformHave.h:
- Source/WebKit/Platform/cocoa/SharedMemoryCocoa.cpp:
(WebKit::makeMemoryEntry):
Canonical link: https://commits.webkit.org/251059@main
- 1:14 PM Changeset in webkit [294950] by
-
- 3 edits in trunk/Source
[WebAuthn] Forward declare ASC SPI for internal needs.
https://bugs.webkit.org/show_bug.cgi?id=240928
rdar://problem/93930713
Reviewed by Brent Fulgham.
This fixes the build after an internal change for older macOS.
- Source/WebKit/Platform/spi/Cocoa/AuthenticationServicesCoreSPI.h:
- Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:
Remove unused import that isn't present in older macOS sdk.
Canonical link: https://commits.webkit.org/251058@main
- 12:54 PM Changeset in webkit [294949] by
-
- 3 edits in trunk/Source/WebCore
Stop exposing ApplicationCache API if it is not enabled
https://bugs.webkit.org/show_bug.cgi?id=241000
Reviewed by Chris Dumez.
- Source/WebCore/bindings/js/WebCoreBuiltinNames.h:
- Source/WebCore/loader/appcache/DOMApplicationCache.idl:
- Source/WebCore/page/DOMWindow.idl:
Canonical link: https://commits.webkit.org/251057@main
- 12:29 PM Changeset in webkit [294948] by
-
- 7 edits2 deletes in trunk
Revert "REGRESSION(r289580): Canvas: putImageData sometimes draws nothing"
Unreviewed revert of commit 749c20ef7e6693fc1e69be46db08eedabc4d8a1b.
This caused Mac EWS testing to exit early with 30+ failures.
Canonical link: https://commits.webkit.org/251056@main
- 12:20 PM Changeset in webkit [294947] by
-
- 27 edits in trunk/Source
Move disk operations when deleting cookies off from the main thread
https://bugs.webkit.org/show_bug.cgi?id=240981
<rdar://92415240>
Reviewed by Geoff Garen.
This should reduce hangs and increase responsiveness.
- Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h:
- Source/WebCore/inspector/agents/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::deleteCookie):
- Source/WebCore/loader/CookieJar.cpp:
(WebCore::CookieJar::deleteCookie):
- Source/WebCore/loader/CookieJar.h:
- Source/WebCore/platform/network/NetworkStorageSession.h:
- Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm:
(WebCore::NetworkStorageSession::deleteCookie):
(WebCore::NetworkStorageSession::setAllCookiesToSameSiteStrict):
(WebCore::NetworkStorageSession::deleteHTTPCookie const):
(WebCore::NetworkStorageSession::deleteCookie const):
(WebCore::NetworkStorageSession::deleteAllCookies):
(WebCore::NetworkStorageSession::deleteCookiesForHostnames):
(WebCore::NetworkStorageSession::deleteAllCookiesModifiedSince):
(WebCore::NetworkStorageSession::flushCookieStore): Deleted.
(WebCore::deleteAllHTTPCookies): Deleted.
- Source/WebKit/NetworkProcess/Cookies/WebCookieManager.cpp:
(WebKit::WebCookieManager::deleteCookiesForHostnames):
(WebKit::WebCookieManager::deleteAllCookies):
(WebKit::WebCookieManager::deleteCookie):
(WebKit::WebCookieManager::deleteAllCookiesModifiedSince):
- Source/WebKit/NetworkProcess/Cookies/WebCookieManager.h:
- Source/WebKit/NetworkProcess/Cookies/WebCookieManager.messages.in:
- Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::deleteCookie):
- Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h:
- Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- Source/WebKit/NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::deleteWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
(WebKit::NetworkProcess::deleteAndRestrictWebsiteDataForRegistrableDomains):
- Source/WebKit/UIProcess/API/APIHTTPCookieStore.cpp:
(API::HTTPCookieStore::deleteAllCookies):
- Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::deleteAllCookies):
- Source/WebKit/UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::deleteCookiesForHostnames):
(WebKit::WebCookieManagerProxy::deleteAllCookies):
- Source/WebKit/UIProcess/WebCookieManagerProxy.h:
- Source/WebKit/WebProcess/Automation/WebAutomationSessionProxy.cpp:
(WebKit::WebAutomationSessionProxy::deleteCookie):
- Source/WebKit/WebProcess/WebPage/WebCookieCache.cpp:
(WebKit::WebCookieCache::cookiesDeleted):
(WebKit::WebCookieCache::clearForHost):
- Source/WebKit/WebProcess/WebPage/WebCookieJar.cpp:
(WebKit::WebCookieJar::deleteCookie):
- Source/WebKit/WebProcess/WebPage/WebCookieJar.h:
- Source/WebKitLegacy/mac/WebView/WebPreferences.mm:
(+[WebPreferences _clearNetworkLoaderSession]):
Canonical link: https://commits.webkit.org/251055@main
- 11:58 AM Changeset in webkit [294946] by
-
- 13 edits3 adds in trunk
Add EXT_texture_norm16 WebGL extension support
https://bugs.webkit.org/show_bug.cgi?id=220343
Patch by Alexey Knyazev <3479527+lexaknyazev@users.noreply.github.com> on 2022-05-27
Reviewed by Kenneth Russell.
- LayoutTests/TestExpectations:
- Source/WebCore/CMakeLists.txt:
- Source/WebCore/DerivedSources-input.xcfilelist:
- Source/WebCore/DerivedSources-output.xcfilelist:
- Source/WebCore/DerivedSources.make:
- Source/WebCore/Sources.txt:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebCore/bindings/js/JSDOMConvertWebGL.cpp:
(WebCore::convertToJSValue):
- Source/WebCore/html/canvas/EXTTextureNorm16.cpp: Added.
(WebCore::EXTTextureNorm16::EXTTextureNorm16):
(WebCore::EXTTextureNorm16::getName const):
(WebCore::EXTTextureNorm16::supported):
- Source/WebCore/html/canvas/EXTTextureNorm16.h: Added.
- Source/WebCore/html/canvas/EXTTextureNorm16.idl: Added.
- Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::getExtension):
(WebCore::WebGL2RenderingContext::getSupportedExtensions):
(WebCore::WebGL2RenderingContext::renderbufferStorageImpl):
- Source/WebCore/html/canvas/WebGLExtension.h:
- Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::extensionIsEnabled):
(WebCore::WebGLRenderingContextBase::addExtensionSupportedFormatsAndTypesWebGL2):
(WebCore::WebGLRenderingContextBase::loseExtensions):
- Source/WebCore/html/canvas/WebGLRenderingContextBase.h:
- Source/WebCore/platform/graphics/GraphicsContextGL.h:
Canonical link: https://commits.webkit.org/251054@main
- 11:41 AM Changeset in webkit [294945] by
-
- 9 edits in branches/safari-7614.1.14.1-branch/Source
Versioning.
WebKit-7614.1.14.1.14
- 11:38 AM Changeset in webkit [294944] by
-
- 9 edits in branches/safari-7614.1.14.0-branch/Source
Versioning.
WebKit-7614.1.14.0.13
- 10:59 AM Changeset in webkit [294943] by
-
- 1 edit in trunk/Source/cmake/WebKitFeatures.cmake
[CMake] Support string values in cmakeconfig.h
https://bugs.webkit.org/show_bug.cgi?id=241013
Reviewed by Adrian Perez de Castro and Michael Catanzaro.
Add
EXPOSE_STRING_VARIABLE_TO_BUILDwhich adds a string variable to the config. Modify
CREATE_CONFIGURATION_HEADERto output the values tocmakeconfig.h.
- Source/cmake/WebKitFeatures.cmake:
Canonical link: https://commits.webkit.org/251053@main
- 10:58 AM Changeset in webkit [294942] by
-
- 1 edit in trunk/Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp
[GTK] Deprecate WebKitSettings:enable-java
https://bugs.webkit.org/show_bug.cgi?id=239538
Reviewed by Adrian Perez de Castro.
- Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
(testWebKitSettings): Move test of deprecated function to section
disabling deprecation warnings.
Canonical link: https://commits.webkit.org/251052@main
- 10:22 AM Changeset in webkit [294941] by
-
- 9 edits in trunk/Source
Versioning.
WebKit-7614.1.16
- 10:12 AM Changeset in webkit [294940] by
-
- 1 copy in tags/WebKit-7614.1.14.11.4
Tag WebKit-7614.1.14.11.4.
- 9:54 AM Changeset in webkit [294939] by
-
- 2 edits in trunk/Source
Non unified build fixes, lateish May 2022 edition
https://bugs.webkit.org/show_bug.cgi?id=241019
Unreviewed build fixes.
- Source/JavaScriptCore/wasm/js/WasmToJS.cpp: Add missing JSCJSValueInlines.h header inclusion.
- Source/WebCore/platform/audio/MultiChannelResampler.cpp: Add missing <functional> header inclusion, needed for std::bind().
Canonical link: https://commits.webkit.org/251050@main
- 8:49 AM Changeset in webkit [294938] by
-
- 8 edits1 add in trunk
AX: Update the isolated tree in response to dynamic aria-haspopup and aria-describedby changes
https://bugs.webkit.org/show_bug.cgi?id=240968
Reviewed by Chris Fleizach.
Testcases added to aria-describedby-on-input.html
and element-haspopup.html to cover this change.
- LayoutTests/accessibility/aria-describedby-on-input-expected.txt:
- LayoutTests/accessibility/aria-describedby-on-input.html:
- LayoutTests/accessibility/element-haspopup-expected.txt:
- LayoutTests/accessibility/element-haspopup.html:
- LayoutTests/platform/ios/accessibility/aria-describedby-on-input-expected.txt: Added.
- LayoutTests/platform/ios/TestExpectations:
- Source/WebCore/accessibility/AXLogger.cpp:
(WebCore::operator<<):
- Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::handleAttributeChange):
(WebCore::AXObjectCache::updateIsolatedTree):
- Source/WebCore/accessibility/AXObjectCache.h:
Canonical link: https://commits.webkit.org/251049@main
- 7:47 AM Changeset in webkit [294937] by
-
- 6 edits in trunk/Source/WebKit
Simplify MediaPlayerPrivateRemote::RequestResource API
https://bugs.webkit.org/show_bug.cgi?id=240999
<rdar://94012261>
Reviewed by Eric Carlson.
When the GPU Process' MediaPlayerProxy needs to allocate a new MediaResource it sends
a message to the content process via the MediaPlayerPrivateRemote::RequestResource
IPC call with a RemoteMediaResourceIdentifier which will then respond to indicate that
the MediaResource is now "ready".
There's two scenarios possible here:
Either the creation of the media resource in the content process is successful or it's not.
If it's successful the content process will start sending data starting by a call to the
GPU's RemoteMediaResourceManager responseReceived
Or it will fail and call RemoteMediaResourceManager::LoadFailed.
The RemoteMediaResourceManager will only accept incoming data once the MediaResource's
ready status is true, and if you're only working on the main thread, it will always be,
as the Content Process' RequestResource response will always be received before either
a LoadFailed or ResponseReceived call.
Under these conditions, the ready status is totally redundant. Testing that the
RemoteMediaResource exists in the MediaResourceManager's map is sufficient.
However, if we want to parallelise networking operations so that ResponseReceived and
LoadFailed will be called on a secondary thread as introduced in bug 235353;
the "ready" flag becomes problematic as the response from a RequestResource is handled
on the main thread.
The multi-threaded nature of the work means that the RequestResource response could be
received only after LoadFailed or ResponseReceived message; and if that's the case
those two messages will be dropped.
This can be seen with the intermittent failures occurring with media/video-src-blob-replay.html test.
So we remove this concept of RemoteMediaResource::ready as at best it serves no purpose.
- Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::requestResource):
- Source/WebKit/GPUProcess/media/RemoteMediaResource.h:
(WebKit::RemoteMediaResource::ready const): Deleted.
(WebKit::RemoteMediaResource::setReady): Deleted.
- Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.cpp:
(WebKit::RemoteMediaResourceManager::responseReceived):
(WebKit::RemoteMediaResourceManager::redirectReceived):
(WebKit::RemoteMediaResourceManager::dataSent):
(WebKit::RemoteMediaResourceManager::dataReceived):
(WebKit::RemoteMediaResourceManager::accessControlCheckFailed):
(WebKit::RemoteMediaResourceManager::loadFailed):
(WebKit::RemoteMediaResourceManager::loadFinished):
- Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::requestResource):
- Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
- Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.messages.in:
Canonical link: https://commits.webkit.org/251048@main
- 6:17 AM Changeset in webkit [294936] by
-
- 1 edit in trunk/Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in
Unreviewed, reverting r294898.
https://bugs.webkit.org/show_bug.cgi?id=241008
Introduced crash
Reverted changeset:
"[macOS][GPUP] Block unused system calls"
https://bugs.webkit.org/show_bug.cgi?id=240966
https://commits.webkit.org/r294898
Canonical link: https://commits.webkit.org/251047@main
- 4:03 AM Changeset in webkit [294935] by
-
- 7 edits in trunk/Source/WebCore/platform/graphics
[TextureMapper] Generalize YUV-to-RGB matrices
https://bugs.webkit.org/show_bug.cgi?id=240952
Patch by Žan Doberšek <zdobersek@igalia.com> on 2022-05-27
Reviewed by Miguel Gomez.
Right now, TextureMapper supports converting YUV data to RGB when using either
the BT.601 or BT.709 colorspaces. The caller provides the basic 3x3 conversion
matrix for the given colorspace, and the offsets agains the initial YUV values
are hard-coded in the shader since they are the same for both colorspaces.
To support additional colorspaces (which don't share the same offset values) the
matrix handling has to be generalized. This means every conversion matrix is now
4x4 in size, with the adjusted offset values residing in the last column.
- Source/WebCore/platform/graphics/gstreamer/GStreamerVideoFrameHolder.cpp:
(WebCore::GstVideoFrameHolder::platformLayerBuffer):
- Source/WebCore/platform/graphics/gstreamer/VideoTextureCopierGStreamer.cpp:
(WebCore::VideoTextureCopierGStreamer::copyVideoTextureToPlatformTexture):
- Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::drawTexturePlanarYUV):
(WebCore::TextureMapperGL::drawTextureSemiPlanarYUV):
(WebCore::TextureMapperGL::drawTexturePackedYUV):
- Source/WebCore/platform/graphics/texmap/TextureMapperGL.h:
- Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerBuffer.h:
- Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxyDMABuf.cpp:
(WebCore::TextureMapperPlatformLayerProxyDMABuf::DMABufLayer::paintToTextureMapper):
- Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp:
Canonical link: https://commits.webkit.org/251046@main
- 1:47 AM Changeset in webkit [294934] by
-
- 57 edits2 adds in trunk
Enable WasmLLInt on ARMv7
Patch by Geza Lore <Geza Lore> on 2022-05-27
https://bugs.webkit.org/show_bug.cgi?id=221260
Reviewed by Saam Barati.
Patch by Geza Lore and Xan López.
Implement the LLInt tier of WebAssembly for ARMv7. A lot of the
work will be shared by any 32bit port, but the offlineassembler
has only been updated for ARMv7 so far.
Main highlights:
We have split the WebAssembly.asm file into three chunks,
following what LowLevelInterpreter.asm does. The common code
remains in WebAssembly.asm, and 32 and 64bit specific code (mostly
opcode implementations) goes into WebAssembly32_64.asm and
WebAssembly64.asm.
We have decided to use consecutive even/odd pairs of GPRs for every
type of wasm values, even if they are 32bit (i32/f32), with the odd
(higher) numbered GPR holding the more significant half. 32bit values
are held in the even (lower) numbered register. This makes the code
much simpler and allows us to share more code with the 64bit variant.
This is mostly relevant for argument passing, and given that every
value ends up in the stack anyway we do not think it is significant
from a performance POV.
We are reusing JSValueRegs to hold Wasm values too. Obviously they
are not really JSValues, so it might make sense to create a base
class that can be used for both JS and Wasm values.
We do not have enough registers to keep things like the memory
base pointer and size in pinned registers, so we are forced to
load them on each use.
We disable the 'Signaling' memory mode, since the current
implementation relies on being able to mprotect a 232 + redzone
region of memory. This can be changed in the future but it's not a
priority at the moment.
- stress/sampling-profiler-wasm-name-section.js:
- stress/sampling-profiler-wasm.js:
- wasm/regress/llint-callee-saves-with-fast-memory.js:
- CMakeLists.txt:
- assembler/ARMv7Assembler.h:
(JSC::ARMv7Assembler::vcvt_signedToFloatingPoint):
- assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::convertInt32ToFloat):
(JSC::MacroAssemblerARMv7::threadSafePatchableNearCall):
(JSC::MacroAssemblerARMv7::callOperation):
- b3/B3ValueRep.h:
(JSC::B3::ValueRep::ValueRep):
- bytecode/BytecodeDumper.cpp:
(JSC::Wasm::BytecodeDumper::formatConstant const):
- interpreter/CallFrame.h: adapt to new callee tagging format.
(JSC::CallFrame::callee const):
(JSC::CallFrame::unsafeCallee const):
- interpreter/CalleeBits.h: add wasm tagging of callee values for
32bit.
(JSC::CalleeBits::CalleeBits):
(JSC::CalleeBits::operator=):
(JSC::CalleeBits::boxWasm):
(JSC::CalleeBits::isWasm const):
(JSC::CalleeBits::asWasmCallee const):
- interpreter/Register.h:
(JSC::Register::unboxedFloat const):
(JSC::Register::asanUnsafeUnboxedFloat const):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::unboxDouble):
- jit/RegisterAtOffsetList.cpp:
(JSC::RegisterAtOffsetList::RegisterAtOffsetList):
- jit/RegisterAtOffsetList.h:
(JSC::RegisterAtOffsetList::sizeOfAreaInBytes const):
- jit/RegisterSet.cpp:
(JSC::RegisterSet::macroScratchRegisters):
- llint/LLIntOfflineAsmConfig.h:
- llint/LowLevelInterpreter32_64.asm:
- llint/WebAssembly.asm:
- llint/WebAssembly32_64.asm: Added.
- llint/WebAssembly64.asm: Added.
- offlineasm/arm.rb:
- offlineasm/instructions.rb:
- offlineasm/registers.rb:
- offlineasm/risc.rb:
- runtime/JSCJSValue.h:
(JSC::wasmUnboxedFloat):
- runtime/JSCJSValueInlines.h:
(JSC::JSValue::JSValue):
- wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::useSignalingMemory const):
(JSC::Wasm::AirIRGenerator::AirIRGenerator):
(JSC::Wasm::AirIRGenerator::emitCheckAndPreparePointer):
(JSC::Wasm::AirIRGenerator::addCall):
- wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::useSignalingMemory const):
(JSC::Wasm::B3IRGenerator::B3IRGenerator):
(JSC::Wasm::B3IRGenerator::addArguments):
(JSC::Wasm::B3IRGenerator::emitCheckAndPreparePointer):
(JSC::Wasm::B3IRGenerator::memoryKind):
(JSC::Wasm::B3IRGenerator::addCall):
- wasm/WasmBinding.cpp:
(JSC::Wasm::wasmToWasm):
- wasm/WasmCallee.cpp:
(JSC::Wasm::LLIntCallee::calleeSaveRegisters):
- wasm/WasmCalleeGroup.cpp:
(JSC::Wasm::CalleeGroup::isSafeToRun):
- wasm/WasmCallingConvention.cpp:
(JSC::Wasm::jsCallingConvention):
(JSC::Wasm::wasmCallingConvention):
- wasm/WasmCallingConvention.h:
(JSC::Wasm::CallInformation::computeResultsOffsetList):
(JSC::Wasm::WasmCallingConvention::WasmCallingConvention):
(JSC::Wasm::WasmCallingConvention::marshallLocationImpl const):
(JSC::Wasm::WasmCallingConvention::marshallLocation const):
(JSC::Wasm::JSCallingConvention::JSCallingConvention):
(JSC::Wasm::JSCallingConvention::marshallLocationImpl const):
(JSC::Wasm::JSCallingConvention::marshallLocation const):
(JSC::Wasm::JSCallingConvention::callInformationFor const):
- wasm/WasmFormat.h:
- wasm/WasmIndexOrName.cpp:
(JSC::Wasm::IndexOrName::IndexOrName):
(JSC::Wasm::makeString):
- wasm/WasmIndexOrName.h:
(JSC::Wasm::IndexOrName::IndexOrName):
(JSC::Wasm::IndexOrName::isEmpty const):
(JSC::Wasm::IndexOrName::isIndex const):
(JSC::Wasm::IndexOrName::isName const):
(JSC::Wasm::IndexOrName::index const):
(JSC::Wasm::IndexOrName::name const):
(JSC::Wasm::IndexOrName::nameSection const):
- wasm/WasmInstance.h:
(JSC::Wasm::Instance::updateCachedMemory):
- wasm/WasmLLIntGenerator.cpp:
(JSC::Wasm::LLIntGenerator::virtualRegisterForWasmLocal):
(JSC::Wasm::LLIntGenerator::callInformationForCaller):
(JSC::Wasm::LLIntGenerator::callInformationForCallee):
(JSC::Wasm::LLIntGenerator::addArguments):
(JSC::Wasm::LLIntGenerator::addLoop):
- wasm/WasmLLIntPlan.cpp:
(JSC::Wasm::LLIntPlan::didCompleteCompilation):
- wasm/WasmMemory.cpp:
(JSC::Wasm::MemoryHandle::~MemoryHandle):
(JSC::Wasm::Memory::tryCreate):
(JSC::Wasm::Memory::growShared):
(JSC::Wasm::Memory::grow):
(JSC::Wasm::Memory::copy):
- wasm/WasmMemory.h:
- wasm/WasmMemoryInformation.cpp:
(JSC::Wasm::PinnedRegisterInfo::get):
- wasm/WasmMemoryInformation.h:
(JSC::Wasm::PinnedRegisterInfo::toSave const):
- wasm/WasmMemoryMode.cpp:
(JSC::Wasm::makeString):
- wasm/WasmMemoryMode.h:
- wasm/WasmOpcodeOrigin.cpp:
- wasm/WasmOpcodeOrigin.h:
- wasm/WasmOperations.cpp:
(JSC::Wasm::JSC_DEFINE_JIT_OPERATION):
- wasm/WasmOperations.h:
- wasm/WasmPageCount.h:
- wasm/WasmParser.h:
(JSC::Wasm::Parser<SuccessType>::parseUInt32):
(JSC::Wasm::Parser<SuccessType>::parseUInt64):
- wasm/WasmSlowPaths.cpp:
(JSC::LLInt::WASM_SLOW_PATH_DECL):
(JSC::LLInt::slow_path_wasm_popcount):
(JSC::LLInt::slow_path_wasm_popcountll):
(JSC::LLInt::slow_path_wasm_i32_div_s):
(JSC::LLInt::slow_path_wasm_i32_div_u):
(JSC::LLInt::slow_path_wasm_i32_rem_s):
(JSC::LLInt::slow_path_wasm_i32_rem_u):
(JSC::LLInt::slow_path_wasm_i64_div_s):
(JSC::LLInt::slow_path_wasm_i64_div_u):
(JSC::LLInt::slow_path_wasm_i64_rem_s):
(JSC::LLInt::slow_path_wasm_i64_rem_u):
- wasm/WasmSlowPaths.h:
- wasm/WasmValueLocation.cpp:
(JSC::Wasm::ValueLocation::dump const):
(WTF::printInternal):
- wasm/WasmValueLocation.h:
(JSC::Wasm::ValueLocation::ValueLocation):
(JSC::Wasm::ValueLocation::isGPR const):
(JSC::Wasm::ValueLocation::isFPR const):
(JSC::Wasm::ValueLocation::isStack const):
(JSC::Wasm::ValueLocation::isStackArgument const):
(JSC::Wasm::ValueLocation::jsr const):
(JSC::Wasm::ValueLocation::fpr const):
(JSC::Wasm::ValueLocation::reg): Deleted.
(JSC::Wasm::ValueLocation::isReg const): Deleted.
(JSC::Wasm::ValueLocation::reg const): Deleted.
(JSC::Wasm::ValueLocation::gpr const): Deleted.
- wasm/js/JSToWasm.cpp:
(JSC::Wasm::marshallJSResult):
(JSC::Wasm::createJSToWasmWrapper):
- wasm/js/WasmToJS.cpp:
(JSC::Wasm::wasmToJS):
- wasm/js/WebAssemblyFunction.cpp:
(JSC::WebAssemblyFunction::previousInstanceOffset const):
(JSC::WebAssemblyFunction::jsCallEntrypointSlow):
- wasm/js/WebAssemblyGlobalConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- wasm/js/WebAssemblyModuleRecord.cpp:
(JSC::WebAssemblyModuleRecord::initializeExports):
- wtf/PlatformEnable.h: enable WebAssembly on ARMv7.
- Scripts/run-jsc-stress-tests: allow to run the wasm tests on
armv7 even without jit support (for now).
Canonical link: https://commits.webkit.org/251045@main
May 26, 2022:
- 11:57 PM Changeset in webkit [294933] by
-
- 7 edits in trunk
Remove per-iteration detached buffer check in %TypedArray% set and sort methods
https://bugs.webkit.org/show_bug.cgi?id=240995
Reviewed by Yusuke Suzuki.
This patch implements the spec changes of tc39/ecma262#2646 and tc39/ecma262#2723:
%TypedArray%.prototype.{set, sort} no longer repeatedly check for detachment as they iterate through a buffer.
- JSTests/stress/typedarray-functions-with-neutered.js:
- JSTests/test262/expectations.yaml:
- LayoutTests/js/typed-array-mutated-during-set.html:
- LayoutTests/js/typed-array-mutated-during-set-expected.txt:
- Source/JavaScriptCore/builtins/TypedArrayPrototype.js:
(globalPrivate.typedArrayMerge):
(globalPrivate.typedArrayElementCompare): Deleted.
- Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h:
- Source/JavaScriptCore/runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::set):
Canonical link: https://commits.webkit.org/251044@main
- 11:23 PM Changeset in webkit [294932] by
-
- 7 edits2 adds in trunk
[Curl] Implement WebSocketTask
https://bugs.webkit.org/show_bug.cgi?id=237579
Reviewed by Alex Christensen.
Implement WebSocketTask for curl platforms. Use the SocketProvider to create the
WebSocketChannel. Update web socket expectations based on the WebSocketTask
implementation.
- LayoutTests/platform/wincairo/TestExpectations:
- Source/WebCore/Modules/websockets/ThreadableWebSocketChannel.cpp:
- Source/WebKit/NetworkProcess/WebSocketTask.h:
- Source/WebKit/NetworkProcess/curl/NetworkSessionCurl.cpp:
- Source/WebKit/NetworkProcess/curl/NetworkSessionCurl.h:
- Source/WebKit/NetworkProcess/curl/WebSocketTaskCurl.cpp: Added.
- Source/WebKit/NetworkProcess/curl/WebSocketTaskCurl.h: Added.
- Source/WebKit/PlatformPlayStation.cmake:
- Source/WebKit/PlatformWin.cmake:
Canonical link: https://commits.webkit.org/251043@main
- 10:47 PM Changeset in webkit [294931] by
-
- 12 edits in trunk/Source
Avoid ElementIdentifier-related work under Element::removedFromAncestor()
https://bugs.webkit.org/show_bug.cgi?id=240932
Reviewed by Darin Adler.
Avoid ElementIdentifier-related work under Element::removedFromAncestor() since it is a
hot function and we want to do as little work as possible in there.
- Source/WebCore/dom/Document.cpp:
(WebCore::Document::dispatchSystemPreviewActionEvent):
(WebCore::Document::identifierForElement): Deleted.
(WebCore::Document::searchForElementByIdentifier): Deleted.
(WebCore::Document::identifiedElementWasRemovedFromDocument): Deleted.
- Source/WebCore/dom/Document.h:
- Source/WebCore/dom/Element.cpp:
(WebCore::Element::removedFromAncestor):
(WebCore::elementIdentifiersMap):
(WebCore::Element::identifier const):
(WebCore::Element::fromIdentifier):
(WebCore::Element::createElementIdentifier): Deleted.
- Source/WebCore/dom/Element.h:
- Source/WebCore/dom/Node.h:
- Source/WebCore/html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::handleClick):
- Source/WebCore/page/InteractionRegion.cpp:
(WebCore::regionForElement):
- Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::elementIdentifier const):
(WebCore::Internals::isElementAlive const):
- Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::elementForContext const):
(WebKit::WebPage::contextForElement const):
- Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::textInputContextsInRect):
Canonical link: https://commits.webkit.org/251042@main
- 10:45 PM Changeset in webkit [294930] by
-
- 8 edits2 adds in trunk/Source/WebCore
Move some of the work from Element::insertedIntoAncestor() / removedFromAncestor() to subclasses
https://bugs.webkit.org/show_bug.cgi?id=240914
Reviewed by Ryosuke Niwa and Darin Adler.
Move some of the work from Element::insertedIntoAncestor() / removedFromAncestor() to subclasses.
These functions are hot and should be kept as efficient as possible. There is no reason for every
Element to pay run-time cost for checks that only apply to article or label elements.
- Source/WebCore/Headers.cmake:
- Source/WebCore/Sources.txt:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebCore/dom/Element.cpp:
(WebCore::Element::insertedIntoAncestor):
(WebCore::Element::removedFromAncestor):
- Source/WebCore/dom/Element.h:
- Source/WebCore/html/HTMLArticleElement.cpp: Added.
(WebCore::HTMLArticleElement::create):
(WebCore::HTMLArticleElement::HTMLArticleElement):
(WebCore::HTMLArticleElement::insertedIntoAncestor):
(WebCore::HTMLArticleElement::removedFromAncestor):
- Source/WebCore/html/HTMLArticleElement.h: Added.
- Source/WebCore/html/HTMLLabelElement.cpp:
(WebCore::HTMLLabelElement::insertedIntoAncestor):
(WebCore::HTMLLabelElement::removedFromAncestor):
- Source/WebCore/html/HTMLLabelElement.h:
- Source/WebCore/html/HTMLTagNames.in:
Canonical link: https://commits.webkit.org/251041@main
- 10:20 PM Changeset in webkit [294929] by
-
- 2 edits in trunk
ArrayBuffer species should be ignored when cloning a Typed Array
https://bugs.webkit.org/show_bug.cgi?id=240996
Reviewed by Yusuke Suzuki.
This patch implements the spec change of tc39/ecma262#2719:
Constructing one Typed Array from another used to require that we check @@species on the source buffer and create
a new ArrayBuffer using the species constructor's *prototype*...without actually calling the species constructor itself.
Happily, this ridiculous behavior turned out to be web-compatible to remove.
- JSTests/test262/expectations.yaml:
- Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::constructGenericTypedArrayViewWithArguments):
(JSC::constructCustomArrayBufferIfNeeded): Deleted.
Canonical link: https://commits.webkit.org/251040@main
- 8:55 PM Changeset in webkit [294928] by
-
- 7 edits2 adds in trunk
REGRESSION(r289580): Canvas: putImageData sometimes draws nothing
https://bugs.webkit.org/show_bug.cgi?id=240802
rdar://93801722
Reviewed by Simon Fraser.
RemoteImageBufferProxy::putPixelBuffer() needs to setNeedsFlush(true) once the
request to change the backend is sent to GPUProcess. If WebProcess has access to
the ImageBufferBackend, flushDrawingContext() will be called from copyNativeImage().
This call has to wait all DisplayList items and PutPixelBuffer messages to be
flushed to the backend before copyNativeImage() copies the pixels of the backend
to a NativeImage.
- Source/WebCore/platform/graphics/ImageBuffer.h:
(WebCore::ImageBuffer::setNeedsFlush):
- Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
(WebKit::RemoteDisplayListRecorderProxy::send):
(WebKit::RemoteDisplayListRecorderProxy::resetNeedsFlush): Deleted.
(WebKit::RemoteDisplayListRecorderProxy::needsFlush const): Deleted.
(): Deleted.
- Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
(WebKit::RemoteImageBufferProxy::~RemoteImageBufferProxy):
Canonical link: https://commits.webkit.org/251039@main
- 8:51 PM Changeset in webkit [294927] by
-
- 8 edits in trunk
Use _adoptEffectiveConfiguration instead of a separate NSURLSession without credentials
https://bugs.webkit.org/show_bug.cgi?id=240362
Reviewed by Chris Dumez.
This is a PLT performance improvement because we spend less time initiating TCP connections.
- Source/WTF/wtf/PlatformHave.h:
- Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h:
- Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
- Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h:
- Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::initializeNSURLSessionsInSet):
(WebKit::SessionSet::initializeEphemeralStatelessSessionIfNeeded):
(WebKit::NetworkSessionCocoa::sessionWrapperForTask):
(WebKit::NetworkSessionCocoa::appBoundSession):
(WebKit::SessionSet::isolatedSession):
(WebKit::NetworkSessionCocoa::invalidateAndCancelSessionSet):
- Tools/TestWebKitAPI/Tests/WebKitCocoa/HSTS.mm:
(TestWebKitAPI::TEST):
- Tools/TestWebKitAPI/Tests/WebKitCocoa/Preconnect.mm:
(TestWebKitAPI::TEST):
- Tools/TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::HTTPServer::respondWithChallengeThenOK):
Canonical link: https://commits.webkit.org/251038@main
- 7:29 PM Changeset in webkit [294926] by
-
- 2 edits in trunk/JSTests/test262
Unreviewed test262 gardening, use useArrayGroupByMethod for feature tests
https://bugs.webkit.org/show_bug.cgi?id=240997
- JSTests/test262/config.yaml:
- JSTests/test262/expectations.yaml:
Canonical link: https://commits.webkit.org/251037@main
- 6:54 PM Changeset in webkit [294925] by
-
- 1 copy in tags/WebKit-7614.1.14.3.4
Tag WebKit-7614.1.14.3.4.
- 6:51 PM Changeset in webkit [294924] by
-
- 9 edits in branches/safari-7614.1.14.3-branch/Source
Versioning.
WebKit-7614.1.14.3.4
- 6:49 PM Changeset in webkit [294923] by
-
- 1 copy in tags/WebKit-7614.1.14.2.5
Tag WebKit-7614.1.14.2.5.
- 6:48 PM Changeset in webkit [294922] by
-
- 9 edits in branches/safari-7614.1.14.2-branch/Source
Versioning.
WebKit-7614.1.14.2.5
- 6:47 PM Changeset in webkit [294921] by
-
- 8 edits2 deletes in branches/safari-7614.1.14.2-branch
Revert r294186. rdar://problem/93213436
This reverts r294697.
- 6:40 PM Changeset in webkit [294920] by
-
- 4 edits in trunk
[GTK] Deprecate WebKitSettings:enable-java
https://bugs.webkit.org/show_bug.cgi?id=239538
Reviewed by Adrian Perez de Castro and Michael Catanzaro.
250264@main removed the WKPreference entry regarding Java support, which in turn
was dropped long time ago.
- Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp:
(webKitSettingsSetProperty): Do not call deprecated function.
(webKitSettingsGetProperty): Ditto.
(webkit_settings_class_init): Ditto.
(webkit_settings_get_enable_java): Add deprecation warnings.
(webkit_settings_set_enable_java): Add deprecation warnings.
- Source/WebKit/UIProcess/API/gtk/WebKitSettings.h: Mark functions as
deprecated.
- Source/WebKit/UIProcess/API/wpe/WebKitSettings.h: Ditto.
- Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
(testWebKitSettings): Update for new behavior and remove fatal warning
flag for enable-java block as the warnings are expected.
Canonical link: https://commits.webkit.org/251036@main
- 5:58 PM Changeset in webkit [294919] by
-
- 1 copy in tags/WebKit-7614.1.14.0.12
Tag WebKit-7614.1.14.0.12.
- 5:57 PM Changeset in webkit [294918] by
-
- 1 copy in tags/WebKit-7614.1.14.1.13
Tag WebKit-7614.1.14.1.13.
- 5:56 PM Changeset in webkit [294917] by
-
- 12 edits in trunk/Source/JavaScriptCore
Rename putDirect to putDirectOffset
https://bugs.webkit.org/show_bug.cgi?id=240992
<rdar://92298537>
Reviewed by Mark Lam.
- Source/JavaScriptCore/dfg/DFGOperations.cpp:
(JSC::DFG::JSC_DEFINE_JIT_OPERATION):
- Source/JavaScriptCore/ftl/FTLOperations.cpp:
(JSC::FTL::JSC_DEFINE_JIT_OPERATION):
- Source/JavaScriptCore/runtime/ClonedArguments.cpp:
(JSC::ClonedArguments::createEmpty):
- Source/JavaScriptCore/runtime/CommonSlowPaths.cpp:
(JSC::JSC_DEFINE_COMMON_SLOW_PATH):
- Source/JavaScriptCore/runtime/IteratorOperations.cpp:
(JSC::createIteratorResultObject):
- Source/JavaScriptCore/runtime/JSONObject.cpp:
(JSC::Walker::walk):
- Source/JavaScriptCore/runtime/JSObject.cpp:
(JSC::JSObject::setPrototypeDirect):
(JSC::JSObject::putDirectCustomGetterSetterWithoutTransition):
(JSC::JSObject::putDirectNonIndexAccessorWithoutTransition):
- Source/JavaScriptCore/runtime/JSObject.h:
(JSC::JSObject::putDirectOffset):
(JSC::JSObject::putDirectWithoutBarrier):
(JSC::JSObject::putDirectUndefined): Deleted.
- Source/JavaScriptCore/runtime/JSObjectInlines.h:
(JSC::JSObject::putDirectWithoutTransition):
(JSC::JSObject::putDirectInternal):
- Source/JavaScriptCore/runtime/ObjectConstructor.h:
(JSC::constructObjectFromPropertyDescriptor):
- Source/JavaScriptCore/runtime/RegExpMatchesArray.h:
(JSC::createRegExpMatchesArray):
- Source/JavaScriptCore/runtime/Structure.cpp:
(JSC::Structure::flattenDictionaryStructure):
Canonical link: https://commits.webkit.org/251035@main
- 5:50 PM Changeset in webkit [294916] by
-
- 10 edits in trunk
Make StringView(const char*) private
https://bugs.webkit.org/show_bug.cgi?id=240942
Reviewed by Darin Adler.
Make StringView(const char*) private and update existing call sites
to use either StringView(ASCIILiteral) or StringView::fromLatin1(const char*).
- Source/WTF/wtf/text/StringView.h:
- Source/WebCore/platform/sql/SQLiteStatement.cpp:
(WebCore::SQLiteStatement::isColumnDeclaredAsBlob):
- Source/WebGPU/WGSL/Parser.cpp:
(WGSL::Parser<Lexer>::parseTypeDecl):
- Tools/TestWebKitAPI/Tests/WTF/StringParsingBuffer.cpp:
(TestWebKitAPI::TEST):
- Tools/TestWebKitAPI/Tests/WTF/StringView.cpp:
(TestWebKitAPI::stringViewFromLiteral):
- Tools/TestWebKitAPI/Tests/WTF/TextBreakIterator.cpp:
(TestWebKitAPI::TEST):
- Tools/TestWebKitAPI/Tests/WebCore/ISOBox.cpp:
(TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/251034@main
- 5:23 PM Changeset in webkit [294915] by
-
- 1 edit in branches/safari-7614.1.14.11-branch/Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in
Cherry-pick r294282. rdar://problem/93249176
[macOS] Fix mach syscall sandbox violation in the Network process
https://bugs.webkit.org/show_bug.cgi?id=240466
<rdar://93249176>
Reviewed by Chris Dumez.
Fix mach syscall sandbox violation in the Network process on macOS.
- Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
Canonical link: https://commits.webkit.org/250626@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294282 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:10 PM Changeset in webkit [294914] by
-
- 9 edits in branches/safari-7614.1.14.11-branch/Source
Versioning.
WebKit-7614.1.14.11.4
- 5:05 PM Changeset in webkit [294913] by
-
- 22 edits in branches/safari-7614.1.15-branch
Cherry-pick r294897. rdar://problem/93984643
Define WK_NOT_NO in SDKVariant.xcconfig
https://bugs.webkit.org/show_bug.cgi?id=240963
rdar://problem/93984643
Reviewed by Alexey Proskuryakov.
Provide a definition of
WK_NOT_NO = YES, so that the$(WK_NOT_$(SOME_BUILD_SETTING))construction can
be relied upon to produce a result of YES if the original build setting has a value of NO, which shouldn't
be handled substantially different from an empty string.
- PerformanceTests/MediaTime/Configurations/SDKVariant.xcconfig:
- Source/JavaScriptCore/Configurations/SDKVariant.xcconfig:
- Source/ThirdParty/ANGLE/Configurations/SDKVariant.xcconfig:
- Source/ThirdParty/gtest/xcode/Config/SDKVariant.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/SDKVariant.xcconfig:
- Source/WTF/Configurations/SDKVariant.xcconfig:
- Source/WebCore/Configurations/SDKVariant.xcconfig:
- Source/WebCore/PAL/Configurations/SDKVariant.xcconfig:
- Source/WebGPU/Configurations/SDKVariant.xcconfig:
- Source/WebInspectorUI/Configurations/SDKVariant.xcconfig:
- Source/WebKit/Configurations/SDKVariant.xcconfig:
- Source/WebKitLegacy/mac/Configurations/SDKVariant.xcconfig:
- Source/bmalloc/Configurations/SDKVariant.xcconfig:
- Tools/ContentExtensionTester/Configurations/SDKVariant.xcconfig:
- Tools/DumpRenderTree/mac/Configurations/SDKVariant.xcconfig:
- Tools/ImageDiff/cg/Configurations/SDKVariant.xcconfig:
- Tools/MiniBrowser/Configurations/SDKVariant.xcconfig:
- Tools/MobileMiniBrowser/Configurations/SDKVariant.xcconfig:
- Tools/TestWebKitAPI/Configurations/SDKVariant.xcconfig:
- Tools/WebEditingTester/Configurations/SDKVariant.xcconfig:
- Tools/WebKitTestRunner/Configurations/SDKVariant.xcconfig:
- Tools/lldb/lldbWebKitTester/Configurations/SDKVariant.xcconfig:
Canonical link: https://commits.webkit.org/251020@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294897 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:01 PM Changeset in webkit [294912] by
-
- 1 edit in trunk/Source/WebInspectorUI/UserInterface/Models/CSSProperty.js
REGRESSION (250994@main): inspector/css/css-property.html is consistently failing
https://bugs.webkit.org/show_bug.cgi?id=240986
<rdar://problem/94001813>
Reviewed by Patrick Angle.
- Source/WebInspectorUI/UserInterface/Models/CSSProperty.js:
(WI.CSSProperty.prototype._updateName.changeCount):
Don't adjustWI.CSSProperty._cachedNameCountswhen updatingWI.objectStores.cssPropertyNameCounts
as the latter will not work in LayoutTests (to avoid having to reset state between tests).
Canonical link: https://commits.webkit.org/251033@main
- 4:59 PM Changeset in webkit [294911] by
-
- 1 edit in trunk/LayoutTests/platform/mac/TestExpectations
[ Gardening ]: New test: [macOS] http/tests/media/hls/hls-webvtt-flashing.html is frequently failing
https://bugs.webkit.org/show_bug.cgi?id=240989
Unreviewed test gardening.
- LayoutTests/platform/mac/TestExpectations:
Canonical link: https://commits.webkit.org/251032@main
- 4:48 PM Changeset in webkit [294910] by
-
- 1 copy in tags/WebKit-7614.1.14.10.8
Tag WebKit-7614.1.14.10.8.
- 4:47 PM Changeset in webkit [294909] by
-
- 9 edits in branches/safari-7614.1.14.10-branch/Source
Versioning.
WebKit-7614.1.14.10.8
- 4:41 PM Changeset in webkit [294908] by
-
- 2 edits in trunk/LayoutTests/platform
Disable heic tests temporarily
https://bugs.webkit.org/show_bug.cgi?id=240990
Unreviewed test expectation chnage.
- LayoutTests/platform/ios/TestExpectations:
- LayoutTests/platform/mac/TestExpectations:
Canonical link: https://commits.webkit.org/251030@main
- 4:41 PM Changeset in webkit [294907] by
-
- 2 edits in trunk/LayoutTests/inspector/debugger/breakpoints
Web Inspector:
inspector/debugger/breakpoints/resolved-dump-all-pause-locations.htmlis a flakey failure
https://bugs.webkit.org/show_bug.cgi?id=239134
rdar://91639437
Reviewed by Devin Rousso.
This test was flaky because the only piece of code in the test keeping the SourceProvider alive for
dump-multiline.js
was thefunction test(), which is replaced by thefunction test()in the test page itself. This meant that the
function from dump-multiline.js would be garbage collected at some point, and since it was the last possible way to
reach source code indump-multiline.js, the SourceProvider was also disposed of at the same time.
Normally this would not be an issue for users because the source code itself is still viewable in Web Inspector, and
breakpoints can still be set (and will be triggered after a reload). The issue here is that when we attach Web Inspector
the source code is longer reachable, so the backend doesn't send information for it to the frontend for it (until a page
reload), but this test is assuming the script will have been sent from the backend to associate with the resource.
- LayoutTests/inspector/debugger/breakpoints/resolved-dump-all-pause-locations-expected.txt:
- LayoutTests/inspector/debugger/breakpoints/resources/dump-multiline.js:
Canonical link: https://commits.webkit.org/251030@main
- 4:13 PM Changeset in webkit [294906] by
-
- 1 edit in trunk/Source/cmake/OptionsPlayStation.cmake
[CMake][PlayStation] Base find_package checks on whether WebCore is being built
https://bugs.webkit.org/show_bug.cgi?id=240974
Reviewed by Ross Kirsling.
Move any
find_packagefor WebCore libraries under a check for
ENABLE_WEBCORE. Shift thefind_packagechecks to the top of the
file. This will allow us to baseENABLEflags on whether or not a
package is found. Fix a couple style issues while there.
- Source/cmake/OptionsPlayStation.cmake:
Canonical link: https://commits.webkit.org/251029@main
- 3:51 PM Changeset in webkit [294905] by
-
- 1 edit in trunk/Source/JavaScriptCore/runtime/JSCellInlines.h
Re-factoring clean up in allocateCell and tryAllocateCell.
https://bugs.webkit.org/show_bug.cgi?id=240973
Reviewed by Saam Barati.
The AllocationFailureMode should be a template parameter to tryAllocateCellHelper because it's
constant. Also, tryAllocateCellHelper should take a VM& instead of taking a Heap& and then
converting it back to a VM&.
- Source/JavaScriptCore/runtime/JSCellInlines.h:
(JSC::tryAllocateCellHelper):
(JSC::allocateCell):
(JSC::tryAllocateCell):
Canonical link: https://commits.webkit.org/251028@main
- 3:39 PM Changeset in webkit [294904] by
-
- 2 edits in trunk/Source/WebCore/layout/formattingContexts/flex
Add support for flex-shrink
https://bugs.webkit.org/show_bug.cgi?id=240957
Reviewed by Antti Koivisto.
This patch implements a simple "let's shrink the flex items when available space is limited" logic.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForShrinkingFlexItems):
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForStretchingFlexItems):
(WebCore::Layout::FlexFormattingContext::computeLogicalWidthForFlexItems):
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.h:
Canonical link: https://commits.webkit.org/251027@main
- 3:34 PM Changeset in webkit [294903] by
-
- 1 edit in trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in
[iOS][WP] Block access to file-ioctl commands
https://bugs.webkit.org/show_bug.cgi?id=240977
<rdar://88334007>
Reviewed by Chris Dumez.
This is based on collected telemetry. This patch also adds telemetry to file read/write of /dev/aes_0
to determine if that can be removed as well.
- Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
Canonical link: https://commits.webkit.org/251026@main
- 3:22 PM Changeset in webkit [294902] by
-
- 5 edits in trunk/Source/WebCore/rendering
Do not issue repaint when the ancestor layer has already been scheduled for one
https://bugs.webkit.org/show_bug.cgi?id=240728
Reviewed by Simon Fraser.
When a renderer needs repaint, we walk the layer tree to search for the repaint container (root for all the paints).
If we find a layer between the renderer and the repaint container that has already been scheduled for a full repaint
we know that this repaint is redundant and will be covered by the ancestor layer.
Since layers paint their overflow content, this works even when the renderer "sticks out" of the ancestor layer's renderer's border box (i.e. produces ink/scrollable overflow).
- Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::enclosingCompositingLayerForRepaint const):
(WebCore::RenderLayer::clipCrossesPaintingBoundary const):
(WebCore::RenderLayer::calculateClipRects const):
- Source/WebCore/rendering/RenderLayer.h:
(WebCore::RenderLayer::needsFullRepaint const):
- Source/WebCore/rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::repaintInCompositedAncestor):
- Source/WebCore/rendering/RenderObject.cpp:
(WebCore::RenderObject::containerForRepaint const):
(WebCore::fullRepaintIsScheduled): This covers the cases when the content is embedded inside an iframe and the iframe's view is not composited.
(WebCore::RenderObject::repaint const):
(WebCore::RenderObject::repaintRectangle const):
- Source/WebCore/rendering/RenderView.cpp:
(WebCore::RenderView::paintBoxDecorations):
Canonical link: https://commits.webkit.org/251025@main
- 3:15 PM Changeset in webkit [294901] by
-
- 1 edit in trunk/Source/WebCore/accessibility/atspi/AXObjectCacheAtspi.cpp
AX: -Wswitch warnings in AXObjectCacheAtspi.cpp
https://bugs.webkit.org/show_bug.cgi?id=240956
Patch by Michael Catanzaro <mcatanzaro@redhat.com> on 2022-05-26
Reviewed by Adrian Perez de Castro.
- Source/WebCore/accessibility/atspi/AXObjectCacheAtspi.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
Canonical link: https://commits.webkit.org/251024@main
- 2:56 PM Changeset in webkit [294900] by
-
- 7 edits in trunk/Tools/Scripts/libraries/webkitscmpy
[git-webkit] Use --git-common-dir over hard-coded .git
https://bugs.webkit.org/show_bug.cgi?id=240732
<rdar://93676555>
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/local/git.py:
(Git.Cache.path): Use common_directory instead of .git.
(Git.is_svn): Ditto.
(Git.common_directory): Attempt to determine path to .git directory with
git rev-parse --git-common-dir.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:
(Scm.common_directory): Added.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn.Cache.path): Use common_directory instead of .svn.
(Svn.common_directory): Added.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py:
(Setup.git): Use common_directory instead of .git.
Canonical link: https://commits.webkit.org/251023@main
- 2:31 PM Changeset in webkit [294899] by
-
- 1 edit in trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.in
[iOS][GPUP] Block unused system calls
https://bugs.webkit.org/show_bug.cgi?id=240960
<rdar://84826074>
Reviewed by Chris Dumez.
- Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.in:
Canonical link: https://commits.webkit.org/251022@main
- 2:29 PM Changeset in webkit [294898] by
-
- 1 edit in trunk/Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in
[macOS][GPUP] Block unused system calls
https://bugs.webkit.org/show_bug.cgi?id=240966
<rdar://84826074>
Reviewed by Chris Dumez.
- Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
Canonical link: https://commits.webkit.org/251021@main
- 2:12 PM Changeset in webkit [294897] by
-
- 22 edits in trunk
Define WK_NOT_NO in SDKVariant.xcconfig
https://bugs.webkit.org/show_bug.cgi?id=240963
rdar://problem/93984643
Reviewed by Alexey Proskuryakov.
Provide a definition of
WK_NOT_NO = YES, so that the$(WK_NOT_$(SOME_BUILD_SETTING))construction can
be relied upon to produce a result of YES if the original build setting has a value of NO, which shouldn't
be handled substantially different from an empty string.
- PerformanceTests/MediaTime/Configurations/SDKVariant.xcconfig:
- Source/JavaScriptCore/Configurations/SDKVariant.xcconfig:
- Source/ThirdParty/ANGLE/Configurations/SDKVariant.xcconfig:
- Source/ThirdParty/gtest/xcode/Config/SDKVariant.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/SDKVariant.xcconfig:
- Source/WTF/Configurations/SDKVariant.xcconfig:
- Source/WebCore/Configurations/SDKVariant.xcconfig:
- Source/WebCore/PAL/Configurations/SDKVariant.xcconfig:
- Source/WebGPU/Configurations/SDKVariant.xcconfig:
- Source/WebInspectorUI/Configurations/SDKVariant.xcconfig:
- Source/WebKit/Configurations/SDKVariant.xcconfig:
- Source/WebKitLegacy/mac/Configurations/SDKVariant.xcconfig:
- Source/bmalloc/Configurations/SDKVariant.xcconfig:
- Tools/ContentExtensionTester/Configurations/SDKVariant.xcconfig:
- Tools/DumpRenderTree/mac/Configurations/SDKVariant.xcconfig:
- Tools/ImageDiff/cg/Configurations/SDKVariant.xcconfig:
- Tools/MiniBrowser/Configurations/SDKVariant.xcconfig:
- Tools/MobileMiniBrowser/Configurations/SDKVariant.xcconfig:
- Tools/TestWebKitAPI/Configurations/SDKVariant.xcconfig:
- Tools/WebEditingTester/Configurations/SDKVariant.xcconfig:
- Tools/WebKitTestRunner/Configurations/SDKVariant.xcconfig:
- Tools/lldb/lldbWebKitTester/Configurations/SDKVariant.xcconfig:
Canonical link: https://commits.webkit.org/251020@main
- 2:07 PM Changeset in webkit [294896] by
-
- 1 edit in trunk/Source/WebCore/accessibility/AXObjectCache.h
Fix !ENABLE(ACCESSIBILITY) after r294878
https://bugs.webkit.org/show_bug.cgi?id=240976
Reviewed by Chris Fleizach.
Some methods with AXObjectCache were missing an !ENABLE(ACCESSIBILITY) build.
- Source/WebCore/accessibility/AXObjectCache.h:
Canonical link: https://commits.webkit.org/251019@main
- 1:45 PM Changeset in webkit [294895] by
-
- 4 edits in trunk/Source
Build with -Wno-stringop-overflow when using GCC
https://bugs.webkit.org/show_bug.cgi?id=240596
Patch by Michael Catanzaro <mcatanzaro@redhat.com> on 2022-05-26
Reviewed by Adrian Perez de Castro.
Also, rearrange and simplify the warning flag code.
And remove suppression of -Wno-attributes, since GCC 8 is everywhere nowadays.
- Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
- Source/JavaScriptCore/ftl/FTLOSRExit.cpp:
(JSC::FTL::OSRExitDescriptor::prepareOSRExitHandle):
- Source/WebCore/loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::end):
- Source/cmake/WebKitCompilerFlags.cmake:
Canonical link: https://commits.webkit.org/251018@main
- 1:19 PM Changeset in webkit [294894] by
-
- 2 edits in trunk/Source/WebCore/accessibility/isolatedtree
AX: Don't create isolated objects from ignored live objects
https://bugs.webkit.org/show_bug.cgi?id=240507
Reviewed by Chris Fleizach.
Sometimes, we can get into a state where a live object has dynamically
become ignored but not removed as a child from its parent (since
unignored objects are the only thing that should be in any
AccessibilityObject::m_children). This can cause us to create an
isolated object for this ignored live object.
With this change, we now return a std::nullopt NodeChange for an
ignored live object.
I split this change off from a different patch improving our handling of
modals. It is required to make accessibility/aria-modal-multiple-dialogs.html
pass in isolated tree mode.
- Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::nodeChangeForObject):
(WebCore::AXIsolatedTree::queueRemovalsAndUnresolvedChanges):
(WebCore::AXIsolatedTree::updateNode):
- Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h:
Canonical link: https://commits.webkit.org/251016@main
- 1:18 PM Changeset in webkit [294893] by
-
- 2 edits in trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy
[git-webkit] Support radar when auto-filing bug
https://bugs.webkit.org/show_bug.cgi?id=240969
<rdar://problem/93989777>
Reviewed by Dewei Zhu.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py:
(Branch.main): Handle case where tracker does not have defined credentials.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/branch_unittest.py:
(TestBranch.test_create_bug): Added.
Canonical link: https://commits.webkit.org/251016@main
- 1:06 PM Changeset in webkit [294892] by
-
- 1 edit in branches/safari-7614.1.14.1-branch/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm
Cherry-pick r294877. rdar://problem/93834054
Uniform buffer reuse causes flush, creates invalid state
https://bugs.webkit.org/show_bug.cgi?id=240896
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-05-26
Patch by Kyle Piddington.
Reviewed by Kimmo Kinnunen.
A flush during draw setup would leave the render command encoder
not started and render pipeline unset. This would assert in debug
and leak memory with corrupted draws in release.
This would happen for example when uniform buffer pool would run
out of uniform memory. If the pool is maxed out, we flush the
existing rendering to obtain free buffers. After the flush,
we need to re-run the setup.
Test is tracked in bug 240948.
- Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm: (rx::ContextMtl::setupDraw): (rx::ContextMtl::setupDrawImpl):
Canonical link: https://commits.webkit.org/251007@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294877 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:06 PM Changeset in webkit [294891] by
-
- 5 edits in branches/safari-7614.1.14.1-branch/Source/WebKit/UIProcess
Cherry-pick r294831. rdar://problem/93656000
Prevent NSAttributedString crashes when AppSSO URLs are provided
https://bugs.webkit.org/show_bug.cgi?id=240739
<rdar://93656000>
Reviewed by Chris Dumez.
When NSAttributedString is used in a sandboxed app, it is prevented from checking in with the
AppSSO plugin manager, causing a Sandbox Violation and crash. We don't want NSAttributedString
to ever hand-off to AppSSO, so we should configure it's internal WKWebView to do the right thing.
Reviewed by Chris Dumez.
- Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm: (+[_WKAttributedStringWebViewCache configuration]): Turn off AppSSO for string uses.
- Source/WebKit/UIProcess/Cocoa/NavigationState.mm: (WebKit::trySOAuthorization): Use new lazy loading approach.
- Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::trySOAuthorization): Ditto.
- Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp: (WebKit::WebsiteDataStore::WebsiteDataStore): (WebKit::WebsiteDataStore::soAuthorizationCoordinator): Lazily initialize, and RELEASE_ASSERT if we somehow reach this code without enabling AppSSO.
- Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h: (WebKit::WebsiteDataStore::soAuthorizationCoordinator): Deleted.
Canonical link: https://commits.webkit.org/250981@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294831 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:03 PM Changeset in webkit [294890] by
-
- 9 edits in branches/safari-7614.1.14.1-branch/Source
Versioning.
WebKit-7614.1.14.1.13
- 1:02 PM Changeset in webkit [294889] by
-
- 9 edits in branches/safari-7614.1.14.0-branch/Source
Versioning.
WebKit-7614.1.14.0.12
- 12:50 PM Changeset in webkit [294888] by
-
- 1 edit in trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
spurious
RELEASE_LOGwhen creating aWKWebViewwith an emptyframe
https://bugs.webkit.org/show_bug.cgi?id=240959
Reviewed by Tim Horton.
- Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _recalculateViewportSizesWithMinimumViewportInset:maximumViewportInset:throwOnInvalidInput:]):
Don'tRELEASE_LOG(orthrow) unless aminimumViewportInset/maximumViewportInsethas been specified.
Canonical link: https://commits.webkit.org/251015@main
- 12:30 PM Changeset in webkit [294887] by
-
- 1 edit in releases/WebKitGTK/webkit-2.36/Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxyGL.cpp
Crash in WebCore::TextureMapperLayer::paintSelf https://bugs.webkit.org/show_bug.cgi?id=240283
Unreviewed merge.
There are 4 cases that can happen after there has been a layerFlush and
we're adopting the new state in the composition stage:
- The layer is removed from the tree and the proxy is not assigned to any other layer: the deletion of the layer causes an invalidation of the proxy and both are destroyed afterwards. This works fine.
- The layer is removed from the tree and the proxy is reassigned to a new layer: the deletion of the first layer causes the invalidation of the proxy, which is then activated on the second layer. As the first layer is destroyed, we don't have to worry about dangling references from it to the proxy's currentBuffer. This works fine.
- The layer is kept in the tree and the proxy gets disassociated from it and not used by any other layer: we detect that the proxy is not used anymore and call invalidate on it, but the layer keeps a reference to the proxy's currentBuffer, which has been deleted during invalidate, which leads to a crash when trying to render the layer.
- The layer is kept in the tree and the proxy gets associated to a new layer: as we detect that the proxy is still being used it's not invalidated, but it gets activated on the second layer. The first layer keeps a reference to the proxy's currentBuffer, which will be destroyed a bit later when swapBuffers is called on the proxy. This leads to a crash when trying to render the first layer.
This patch addresses cases 3. and 4. described above.
- Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxyGL.cpp:
(WebCore::TextureMapperPlatformLayerProxyGL::activateOnCompositingThread):
Ensure that the layer no longer keeps a reference to the current buffer if the
proxy is already active on a different layer.
(WebCore::TextureMapperPlatformLayerProxyGL::invalidate): Ensure that
the invalidated layer does not keep a reference to the current buffer.
- 11:41 AM Changeset in webkit [294886] by
-
- 10 edits in trunk
Remove resolution media feature dpi/dpcm unit warning
https://bugs.webkit.org/show_bug.cgi?id=240907
Reviewed by Simon Fraser.
- LayoutTests/fast/media/mq-resolution-dpi-dpcm-warning-expected.txt:
- LayoutTests/fast/media/mq-resolution-expected.txt:
- LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries-expected.txt:
- LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries-expected.txt:
- LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries-expected.txt:
- Source/WebCore/css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::setMediaQueries):
- Source/WebCore/css/MediaList.cpp:
(WebCore::addResolutionWarningMessageToConsole): Deleted.
(WebCore::reportMediaQueryWarningIfNeeded): Deleted.
- Source/WebCore/css/MediaList.h:
- Source/WebCore/css/MediaQueryMatcher.cpp:
(WebCore::MediaQueryMatcher::matchMedia):
- Source/WebCore/css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::parserAppendRule):
Canonical link: https://commits.webkit.org/251014@main
- 11:30 AM Changeset in webkit [294885] by
-
- 7 edits in trunk/Source
Drop unnecessary overloads now that StringView(const char*) is explicit
https://bugs.webkit.org/show_bug.cgi?id=240941
Reviewed by Darin Adler.
- Source/WTF/wtf/text/AtomString.h:
- Source/WTF/wtf/text/StringImpl.h:
(WTF::StringImpl::find):
(WTF::StringImpl::reverseFind):
- Source/WTF/wtf/text/StringView.h:
- Source/WTF/wtf/text/WTFString.h:
- Source/WebCore/platform/network/HTTPHeaderMap.h:
- Source/WebCore/platform/network/ResourceRequestBase.h:
- Source/WebCore/platform/network/ResourceResponseBase.h:
Canonical link: https://commits.webkit.org/251013@main
- 11:21 AM Changeset in webkit [294884] by
-
- 9 edits in branches/safari-7614.1.15-branch/Source
Versioning.
WebKit-7614.1.15
- 11:00 AM Changeset in webkit [294883] by
-
- 1 copy in branches/safari-7614.1.15-branch
New branch.
- 10:46 AM Changeset in webkit [294882] by
-
- 1 edit in trunk/Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.mm
[iOS] Update the presentation style of the photo picker
https://bugs.webkit.org/show_bug.cgi?id=240926
rdar://89670039
Reviewed by Wenson Hsieh.
The photo picker should no longer be displayed as a popover. Instead, let UIKit
decide the modal presentation style.
- Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.mm:
(-[WKFileUploadPanel dealloc]):
(-[WKFileUploadPanel dismiss]):
(-[WKFileUploadPanel _dismissDisplayAnimated:]):
(-[WKFileUploadPanel _showPhotoPickerWithSourceType:]):
Set the presentationController's delegate so that we are informed when the picker
is dismissed by swiping down.
(-[WKFileUploadPanel _presentMenuOptionForCurrentInterfaceIdiom:]): Deleted.
This method was already unused.
(-[WKFileUploadPanel _presentPopoverWithContentViewController:animated:]): Deleted.
(-[WKFileUploadPanel popoverControllerDidDismissPopover:]): Deleted.
Canonical link: https://commits.webkit.org/251012@main
- 10:25 AM Changeset in webkit [294881] by
-
- 5 edits in trunk/Source
Cannot link WebKitTestRunner in non-unified builds
https://bugs.webkit.org/show_bug.cgi?id=240755
Reviewed by Adrian Perez de Castro.
In GTK non-unified build, WebKit shared library didn't export all
WEBCORE_EXPORT marked WebCore symbols because WebCore was a static
library.
WebCore should be an SHARED or OBJECT library to work WEBCORE_EXPORT
macro as expected.
- Source/WebCore/PlatformGTK.cmake:
- Source/WebCore/page/gtk/DragControllerGtk.cpp:
- Source/WebKit/WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsWPE.cmake:
Canonical link: https://commits.webkit.org/251011@main
- 9:56 AM Changeset in webkit [294880] by
-
- 1 edit in trunk/Source/WebCore/rendering/RenderLayerBacking.cpp
Incorrect layout on iframe with object-fit
https://bugs.webkit.org/show_bug.cgi?id=240940
<rdar://93188925>
Reviewed by Alan Bujtas.
Don't use replacedContentRect() when positioning iframe content layers, because iframes
don't (yet) respond to object-fit.
- Source/WebCore/rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::contentsBox const):
Canonical link: https://commits.webkit.org/251010@main
- 9:16 AM Changeset in webkit [294879] by
-
- 2 edits in trunk
[GStreamer][WebRTC] Local/remote ICE candidates stats gathering support
https://bugs.webkit.org/show_bug.cgi?id=240949
Patch by Philippe Normand <philn@igalia.com> on 2022-05-26
Reviewed by Xabier Rodriguez-Calvar.
The corresponding feature was implemented in GStreamer as part of:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998
- LayoutTests/platform/glib/TestExpectations:
- Source/WebCore/Modules/mediastream/gstreamer/GStreamerStatsCollector.cpp:
(WebCore::iceCandidateType):
(WebCore::fillRTCCandidateStats):
(WebCore::fillRTCCandidatePairStats):
(WebCore::fillReportCallback):
Canonical link: https://commits.webkit.org/251009@main
- 9:01 AM Changeset in webkit [294878] by
-
- 10 edits2 adds in trunk
AX: Refactor implementation of AX object relationships.
https://bugs.webkit.org/show_bug.cgi?id=240842
Reviewed by Chris Fleizach and Tyler Wilcock.
Test: accessibility/grid-with-aria-owned-cells.html
Relationships between AX objects were being computed by the methods
AccessibilityObject::ariaElementsFromAttribute and
ariaElementsReferencedByAttribute, both of which performed walks of the DOM tree
to match ids between origin and target of a specific relationship, having a
significant performance impact when called repeatedly.
With this patch, these two methods are replaced with a single method,
AccessibilityObject::relatedObjects, that in turn calls
AXObjectCache::relatedObjectsFor. This AXObjectCache method computes and caches
all relationships in one walk of the DoM tree. The cache is updated when
relevant event notifications are received. This makes support of relationships between objects more efficient, and the code clearer.
The test added exercises this implementation of relationships via the aria-owns
attribute to relate table rows to their cells. The execution time of this test
before this change was estimated in one system at about 1.91s, and after the
change was reduced to 1.87s.
- Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::objectsForIDs const):
(WebCore::AXObjectCache::handleActiveDescendantChanged):
(WebCore::AXObjectCache::handleAttributeChange):
(WebCore::AXObjectCache::relationAttributes):
(WebCore::AXObjectCache::symmetricRelation):
(WebCore::AXObjectCache::attributeToRelationType):
(WebCore::AXObjectCache::addRelation):
(WebCore::AXObjectCache::updateRelationsIfNeeded):
(WebCore::AXObjectCache::relatedObjectsFor):
- Source/WebCore/accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::relationsNeedUpdate):
- Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::relatedObjects const):
(WebCore::AccessibilityObject::activeDescendantOfObjects const):
(WebCore::AccessibilityObject::controlledObjects const):
(WebCore::AccessibilityObject::controllers const):
(WebCore::AccessibilityObject::describedByObjects const):
(WebCore::AccessibilityObject::descriptionForObjects const):
(WebCore::AccessibilityObject::detailedByObjects const):
(WebCore::AccessibilityObject::detailsForObjects const):
(WebCore::AccessibilityObject::errorMessageObjects const):
(WebCore::AccessibilityObject::errorMessageForObjects const):
(WebCore::AccessibilityObject::flowToObjects const):
(WebCore::AccessibilityObject::flowFromObjects const):
(WebCore::AccessibilityObject::labelledByObjects const):
(WebCore::AccessibilityObject::labelForObjects const):
(WebCore::AccessibilityObject::ownedObjects const):
(WebCore::AccessibilityObject::owners const):
(WebCore::AccessibilityObject::ariaElementsFromAttribute const): Deleted.
(WebCore::AccessibilityObject::ariaElementsReferencedByAttribute const): Deleted.
- Source/WebCore/accessibility/AccessibilityObject.h:
- Source/WebCore/accessibility/AccessibilityObjectInterface.h:
(WebCore::Accessibility::findRelatedObjectInAncestry):
- Source/WebCore/accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::activeDescendant const):
- Source/WebCore/accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::columnHeaders):
- Source/WebCore/accessibility/atspi/AccessibilityObjectAtspi.cpp:
(WebCore::AccessibilityObjectAtspi::relationMap const):
- Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
(-[WebAccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
- LayoutTests/accessibility/grid-with-aria-owned-cells-expected.txt: Added.
- LayoutTests/accessibility/grid-with-aria-owned-cells.html: Added.
Canonical link: https://commits.webkit.org/251008@main
- 7:00 AM Changeset in webkit [294877] by
-
- 1 edit in trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm
Uniform buffer reuse causes flush, creates invalid state
https://bugs.webkit.org/show_bug.cgi?id=240896
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-05-26
Patch by Kyle Piddington.
Reviewed by Kimmo Kinnunen.
A flush during draw setup would leave the render command encoder
not started and render pipeline unset. This would assert in debug
and leak memory with corrupted draws in release.
This would happen for example when uniform buffer pool would run
out of uniform memory. If the pool is maxed out, we flush the
existing rendering to obtain free buffers. After the flush,
we need to re-run the setup.
Test is tracked in bug 240948.
- Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm:
(rx::ContextMtl::setupDraw):
(rx::ContextMtl::setupDrawImpl):
Canonical link: https://commits.webkit.org/251007@main
- 5:13 AM Changeset in webkit [294876] by
-
- 1 delete in trunk/LayoutTests/platform/win/fast/css3-text/css3-text-decoration/getComputedStyle
[Windows] Remove obsolete css3-text-decoration test results
https://bugs.webkit.org/show_bug.cgi?id=240951
Unreviewed test gardening.
- LayoutTests/platform/win/fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-line-expected.txt: Removed.
- LayoutTests/platform/win/fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-style-expected.txt: Removed.
Canonical link: https://commits.webkit.org/251006@main
- 4:40 AM Changeset in webkit [294875] by
-
- 9 edits4 adds in trunk
AccessibilityTable::m_isExposable is never recomputed after AccessibilityTable::init
https://bugs.webkit.org/show_bug.cgi?id=240750
Reviewed by Andres Gonzalez.
AccessibilityTable::m_isExposable is never recomputed after
AccessibilityTable::init. This is bad because the semantics of table,
and the semantics of the table cells in the table, are dependent on
whether the table is exposed.
With this commit, we recompute m_isExposable when a table's row count
changes. This commit also updates the isolated tree for row count
changes, meaning we handle dynamic aria-rowcount value modifications.
Test: accessibility/table-exposure-updates-dynamically.html.
Also added another testcase to accessibility/aria-table-attributes.html.
- LayoutTests/accessibility/aria-table-attributes-expected.txt:
- LayoutTests/accessibility/aria-table-attributes.html: Add testcase.
- LayoutTests/accessibility/table-exposure-updates-dynamically-expected.txt: Added.
- LayoutTests/accessibility/table-exposure-updates-dynamically.html: Added.
- LayoutTests/platform/glib/accessibility/table-exposure-updates-dynamically-expected.txt: Added.
- LayoutTests/platform/ios/TestExpectations: Enable new test.
- LayoutTests/platform/ios/accessibility/table-exposure-updates-dynamically-expected.txt: Added.
- LayoutTests/platform/win/TestExpectations: Disable new test.
- Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::remove):
(WebCore::AXObjectCache::childrenChanged):
(WebCore::AXObjectCache::handleRowCountChanged): Added.
(WebCore::AXObjectCache::handleAriaExpandedChange):
(WebCore::AXObjectCache::handleAttributeChange):
(WebCore::filterWeakHashSetForRemoval):
(WebCore::AXObjectCache::prepareForDocumentDestruction):
(WebCore::AXObjectCache::performDeferredCacheUpdate):
(WebCore::AXObjectCache::updateIsolatedTree):
- Source/WebCore/accessibility/AXObjectCache.h:
- Source/WebCore/accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::recomputeIsExposable): Added.
(WebCore::AccessibilityTable::updateChildrenRoles): Added.
(WebCore::AccessibilityTable::addChildren):
- Source/WebCore/accessibility/AccessibilityTable.h:
- Source/WebCore/html/HTMLTablePartElement.h:
Moved findParentTable from protected to public so it can be called from
accessibility code.
Canonical link: https://commits.webkit.org/251005@main
- 4:05 AM Changeset in webkit [294874] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/gstreamer/DMABufVideoSinkGStreamer.cpp
[GStreamear] DMABufVideoSink can already handle Y41B
https://bugs.webkit.org/show_bug.cgi?id=240946
Patch by Žan Doberšek <zdobersek@igalia.com> on 2022-05-26
Reviewed by Philippe Normand.
In GStreamer-specific DMABufVideoSink, Y41B multi-planar format was listed as
problematic and not included in the list of formats that are supported by
default. In reality, it's handled properly already and works, so it's moved over
to the list of supported formats.
- Source/WebCore/platform/graphics/gstreamer/DMABufVideoSinkGStreamer.cpp:
Canonical link: https://commits.webkit.org/251004@main
- 1:13 AM Changeset in webkit [294873] by
-
- 41 edits in trunk
[JSC] Introduce unlinked StructureStubInfo into uDFG
https://bugs.webkit.org/show_bug.cgi?id=240557
Reviewed by Saam Barati.
This patch introduces unlinked StructureStubInfo into uDFG. To make it work, we refactor existing StructureStubInfo mechanism
to make unlinked StructureStubInfo first citizen instead of adhoc code.
- JITXXXGenerator takes CompileTimeStructureStubInfo as its argument. It is variant of unlinked / linked StructureStubInfo. And we configure registers etc. in one place. JITXXXGenerator sets necessary fields for each type of StructureStubInfo so we have massive less code in Baseline and uDFG.
- DFG::JITCompiler::LinkableConstant takes DFG::JITCompiler instead of DFG::Graph to make code simpler.
- Introduce DFG::LinkerIR, which is currently just a constant pool. We will eventually extend it to support many uDFG LinkerIR opcodes.
- Clean up some of unused registers in some JITXXXGenerator to make code simpler.
- Rename useDataICInOptimizingJIT to useDataICInFTL and use it only for FTL. That flag was used to keep maintaining DataIC in DFG / FTL, and in uDFG case, we already have forceUnlinkedDFG flag.
- Tools/Scripts/run-jsc-stress-tests:
- JSTests/microbenchmarks/deltablue-varargs.js:
- JSTests/microbenchmarks/richards-try-catch.js:
- Source/JavaScriptCore/bytecode/AccessCase.cpp:
(JSC::AccessCase::generateWithGuard):
(JSC::AccessCase::generateImpl):
- Source/JavaScriptCore/bytecode/CodeBlock.cpp:
(JSC::CodeBlock::setupWithUnlinkedBaselineCode):
(JSC::CodeBlock::~CodeBlock):
(JSC::CodeBlock::propagateTransitions):
(JSC::CodeBlock::finalizeJITInlineCaches):
(JSC::CodeBlock::getICStatusMap):
(JSC::CodeBlock::findStubInfo):
(JSC::CodeBlock::stronglyVisitStrongReferences):
(JSC::CodeBlock::findPC):
(JSC::CodeBlock::useDataIC const):
- Source/JavaScriptCore/bytecode/CodeBlock.h:
(JSC::CodeBlock::useDataIC const): Deleted.
- Source/JavaScriptCore/bytecode/InlineAccess.cpp:
(JSC::InlineAccess::generateSelfPropertyAccess):
(JSC::getScratchRegister):
(JSC::InlineAccess::generateSelfPropertyReplace):
(JSC::InlineAccess::generateArrayLength):
(JSC::InlineAccess::generateStringLength):
(JSC::InlineAccess::generateSelfInAccess):
- Source/JavaScriptCore/bytecode/PolymorphicAccess.cpp:
(JSC::AccessGenerationState::makeDefaultScratchAllocator):
(JSC::PolymorphicAccess::regenerate):
- Source/JavaScriptCore/bytecode/PolymorphicAccess.h:
(JSC::AccessGenerationState::AccessGenerationState):
- Source/JavaScriptCore/bytecode/StructureStubInfo.cpp:
(JSC::slowOperationFromUnlinkedStructureStubInfo):
(JSC::StructureStubInfo::initializeFromUnlinkedStructureStubInfo):
(JSC::StructureStubInfo::initializeFromDFGUnlinkedStructureStubInfo):
(JSC::StructureStubInfo::checkConsistency):
- Source/JavaScriptCore/bytecode/StructureStubInfo.h:
(JSC::StructureStubInfo::StructureStubInfo):
(JSC::StructureStubInfo::valueRegs const):
(JSC::StructureStubInfo::propertyRegs const):
(JSC::StructureStubInfo::baseRegs const):
(JSC::StructureStubInfo::thisValueIsInExtraGPR const):
(JSC::StructureStubInfo::thisGPR const):
(JSC::StructureStubInfo::prototypeGPR const):
(JSC::StructureStubInfo::propertyGPR const):
(JSC::StructureStubInfo::brandGPR const):
(JSC::StructureStubInfo::thisValueIsInThisGPR const): Deleted.
- Source/JavaScriptCore/dfg/DFGInlineCacheWrapperInlines.h:
(JSC::DFG::InlineCacheWrapper<GeneratorType>::finalize):
- Source/JavaScriptCore/dfg/DFGJITCode.cpp:
(JSC::DFG::JITData::JITData):
- Source/JavaScriptCore/dfg/DFGJITCode.h:
(JSC::DFG::LinkerIR::ValueHash::hash):
(JSC::DFG::LinkerIR::ValueHash::equal):
(JSC::DFG::LinkerIR::ValueTraits::emptyValue):
(JSC::DFG::LinkerIR::ValueTraits::constructDeletedValue):
(JSC::DFG::LinkerIR::ValueTraits::isDeletedValue):
(JSC::DFG::LinkerIR::LinkerIR):
(JSC::DFG::LinkerIR::size const):
(JSC::DFG::LinkerIR::at const):
(JSC::DFG::JITData::create):
- Source/JavaScriptCore/dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::link):
(JSC::DFG::JITCompiler::loadConstant):
(JSC::DFG::JITCompiler::LinkableConstant::LinkableConstant):
(JSC::DFG::JITCompiler::addToConstantPool):
(JSC::DFG::JITCompiler::addStructureStubInfo):
- Source/JavaScriptCore/dfg/DFGJITCompiler.h:
- Source/JavaScriptCore/dfg/DFGPlan.cpp:
(JSC::DFG::Plan::finalizeJITData):
(JSC::DFG::Plan::addLinkableConstant): Deleted.
- Source/JavaScriptCore/dfg/DFGPlan.h:
- Source/JavaScriptCore/dfg/DFGSlowPathGenerator.h:
(JSC::DFG::slowPathICCall):
- Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::emitGetCallee):
(JSC::DFG::SpeculativeJIT::silentFill):
(JSC::DFG::SpeculativeJIT::compileGetById):
(JSC::DFG::SpeculativeJIT::compileGetByIdFlush):
(JSC::DFG::SpeculativeJIT::compileDeleteById):
(JSC::DFG::SpeculativeJIT::compileDeleteByVal):
(JSC::DFG::SpeculativeJIT::compileInById):
(JSC::DFG::SpeculativeJIT::compileInByVal):
(JSC::DFG::SpeculativeJIT::compileHasPrivate):
(JSC::DFG::SpeculativeJIT::compilePushWithScope):
(JSC::DFG::SpeculativeJIT::compileStringSlice):
(JSC::DFG::SpeculativeJIT::compileToLowerCase):
(JSC::DFG::SpeculativeJIT::compileCheckTraps):
(JSC::DFG::SpeculativeJIT::compileContiguousPutByVal):
(JSC::DFG::SpeculativeJIT::compileDoublePutByVal):
(JSC::DFG::SpeculativeJIT::compilePutByVal):
(JSC::DFG::SpeculativeJIT::compileGetByValOnString):
(JSC::DFG::SpeculativeJIT::compileFromCharCode):
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
- Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h:
- Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNullOrUndefined):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNullOrUndefined):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::genericJSValueNonPeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compileToBooleanObjectOrOther):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compileGetByVal):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::compileArithRandom):
- Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNullOrUndefined):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNullOrUndefined):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::genericJSValueNonPeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compileCompareEqPtr):
(JSC::DFG::SpeculativeJIT::compileToBooleanObjectOrOther):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::emitUntypedBranch):
(JSC::DFG::SpeculativeJIT::compileGetByVal):
(JSC::DFG::SpeculativeJIT::compileRegExpTestInline):
(JSC::DFG::SpeculativeJIT::compile):
- Source/JavaScriptCore/dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
- Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::getPrivateName):
(JSC::FTL::DFG::LowerDFGToB3::compilePrivateBrandAccess):
(JSC::FTL::DFG::LowerDFGToB3::compilePutPrivateName):
(JSC::FTL::DFG::LowerDFGToB3::cachedPutById):
(JSC::FTL::DFG::LowerDFGToB3::compileGetByValImpl):
(JSC::FTL::DFG::LowerDFGToB3::compilePutByVal):
(JSC::FTL::DFG::LowerDFGToB3::compileDelBy):
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
- Source/JavaScriptCore/ftl/FTLState.cpp:
(JSC::FTL::State::addStructureStubInfo):
- Source/JavaScriptCore/ftl/FTLState.h:
- Source/JavaScriptCore/jit/BaselineJITCode.h:
- Source/JavaScriptCore/jit/BaselineJITRegisters.h:
- Source/JavaScriptCore/jit/GPRInfo.h:
(JSC::JSValueRegs::gpr const):
(JSC::JSValueRegs::JSValueRegs):
(JSC::JSValueRegs::withTwoAvailableRegs):
- Source/JavaScriptCore/jit/IntrinsicEmitter.cpp:
(JSC::IntrinsicGetterAccessCase::canEmitIntrinsicGetter):
- Source/JavaScriptCore/jit/JIT.cpp:
(JSC::JIT::addUnlinkedStructureStubInfo):
(JSC::JIT::link):
- Source/JavaScriptCore/jit/JIT.h:
- Source/JavaScriptCore/jit/JITCall.cpp:
(JSC::JIT::emit_op_iterator_open):
(JSC::JIT::emit_op_iterator_next):
- Source/JavaScriptCore/jit/JITCode.h:
(JSC::JITCode::useDataIC): Deleted.
- Source/JavaScriptCore/jit/JITInlineCacheGenerator.cpp:
(JSC::JITInlineCacheGenerator::JITInlineCacheGenerator):
(JSC::JITInlineCacheGenerator::finalize):
(JSC::JITInlineCacheGenerator::generateDFGDataICFastPath):
(JSC::JITInlineCacheGenerator::generateBaselineDataICFastPath):
(JSC::JITByIdGenerator::JITByIdGenerator):
(JSC::JITByIdGenerator::finalize):
(JSC::JITByIdGenerator::generateFastCommon):
(JSC::JITGetByIdGenerator::JITGetByIdGenerator):
(JSC::JITGetByIdGenerator::generateFastPath):
(JSC::JITGetByIdGenerator::generateBaselineDataICFastPath):
(JSC::JITGetByIdGenerator::generateDFGDataICFastPath):
(JSC::JITGetByIdWithThisGenerator::JITGetByIdWithThisGenerator):
(JSC::JITGetByIdWithThisGenerator::generateFastPath):
(JSC::JITGetByIdWithThisGenerator::generateBaselineDataICFastPath):
(JSC::JITGetByIdWithThisGenerator::generateDFGDataICFastPath):
(JSC::JITPutByIdGenerator::JITPutByIdGenerator):
(JSC::JITPutByIdGenerator::generateBaselineDataICFastPath):
(JSC::JITPutByIdGenerator::generateDFGDataICFastPath):
(JSC::JITPutByIdGenerator::generateFastPath):
(JSC::JITDelByValGenerator::JITDelByValGenerator):
(JSC::JITDelByValGenerator::generateFastPath):
(JSC::JITDelByValGenerator::finalize):
(JSC::JITDelByIdGenerator::JITDelByIdGenerator):
(JSC::JITDelByIdGenerator::generateFastPath):
(JSC::JITDelByIdGenerator::finalize):
(JSC::JITInByValGenerator::JITInByValGenerator):
(JSC::JITInByValGenerator::generateFastPath):
(JSC::JITInByValGenerator::finalize):
(JSC::JITInByIdGenerator::JITInByIdGenerator):
(JSC::JITInByIdGenerator::generateFastPath):
(JSC::JITInByIdGenerator::generateBaselineDataICFastPath):
(JSC::JITInByIdGenerator::generateDFGDataICFastPath):
(JSC::JITInstanceOfGenerator::JITInstanceOfGenerator):
(JSC::JITInstanceOfGenerator::generateFastPath):
(JSC::JITInstanceOfGenerator::finalize):
(JSC::JITGetByValGenerator::JITGetByValGenerator):
(JSC::JITGetByValGenerator::generateFastPath):
(JSC::JITGetByValGenerator::finalize):
(JSC::JITPutByValGenerator::JITPutByValGenerator):
(JSC::JITPutByValGenerator::generateFastPath):
(JSC::JITPutByValGenerator::finalize):
(JSC::JITPrivateBrandAccessGenerator::JITPrivateBrandAccessGenerator):
(JSC::JITPrivateBrandAccessGenerator::generateFastPath):
(JSC::JITPrivateBrandAccessGenerator::finalize):
- Source/JavaScriptCore/jit/JITInlineCacheGenerator.h:
(JSC::JITInlineCacheGenerator::setUpStubInfoImpl):
(JSC::JITByIdGenerator::setUpStubInfoImpl):
(JSC::JITInByValGenerator::setUpStubInfo):
- Source/JavaScriptCore/jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_instanceof):
- Source/JavaScriptCore/jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emit_op_get_private_name):
(JSC::JIT::emit_op_set_private_brand):
(JSC::JIT::emit_op_check_private_brand):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emit_op_put_private_name):
(JSC::JIT::emit_op_del_by_id):
(JSC::JIT::emit_op_del_by_val):
(JSC::JIT::emit_op_try_get_by_id):
(JSC::JIT::emit_op_get_by_id_direct):
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emit_op_get_by_id_with_this):
(JSC::JIT::emit_op_put_by_id):
(JSC::JIT::emit_op_in_by_id):
(JSC::JIT::emit_op_in_by_val):
(JSC::JIT::emitHasPrivate):
(JSC::JIT::emit_op_enumerator_get_by_val):
- Source/JavaScriptCore/runtime/OptionsList.h:
- Source/WTF/wtf/CompactPointerTuple.h:
Canonical link: https://commits.webkit.org/251003@main