Timeline
Mar 4, 2022:
- 11:22 PM Changeset in webkit [290863] by
-
- 3 edits in trunk/Source/WebKit
Stop setting NSURLIsExcludedFromBackupKey attribute for localSorageDirectory in UI process
https://bugs.webkit.org/show_bug.cgi?id=237447
Reviewed by Chris Dumez.
Let's do that on storage thread in network process when the directory is used.
Covered by existing test: WKWebView.LocalStorageDirectoryExcludedFromBackup.
- NetworkProcess/storage/OriginStorageManager.cpp:
(WebKit::OriginStorageManager::StorageBucket::resolvedLocalStoragePath):
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::parameters):
- 10:48 PM Clangd edited by
- (diff)
- 10:02 PM Changeset in webkit [290862] by
-
- 4 edits in trunk
Add null check for path in makeAllDirectories
https://bugs.webkit.org/show_bug.cgi?id=237477
Reviewed by Darin Adler.
Source/WTF:
- wtf/posix/FileSystemPOSIX.cpp:
(WTF::FileSystemImpl::makeAllDirectories):
Tools:
- TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::TEST_F):
- 9:39 PM Changeset in webkit [290861] by
-
- 3 edits in trunk/Source/WebCore
Optimize the padding in StyleRareInheritedData
https://bugs.webkit.org/show_bug.cgi?id=237488
Reviewed by Cameron McCormack.
Shrink StyleRareInheritedData from 280 bytes to 264 bytes on macOS.
Also fix a missing comparison of wordSpacing in operator==.
- rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator== const):
- rendering/style/StyleRareInheritedData.h:
- 6:38 PM Changeset in webkit [290860] by
-
- 2 edits in trunk/Source/WebCore
AX: Protect incoming object with Ref in AXObjectCache::textChanged
https://bugs.webkit.org/show_bug.cgi?id=237475
Reviewed by Chris Fleizach.
This is better practice as ascending the hierarchy could cause
the object to get deleted.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::textChanged):
- 6:21 PM Changeset in webkit [290859] by
-
- 3 edits in trunk/Source/WebKit
Change app launch scheme
https://bugs.webkit.org/show_bug.cgi?id=237480
rdar://89781553
Patch by Harrison Weinerman <hweinerman@apple.com> on 2022-03-04
Reviewed by Brady Eidson.
We need to change the app launch scheme and remove an entitlement that is no longer required.
- Scripts/process-entitlements.sh:
- webpushd/WebPushDaemon.mm:
(WebPushD::Daemon::notifyClientPushMessageIsAvailable):
- 6:03 PM Changeset in webkit [290858] by
-
- 9 edits3 adds in trunk
AX: [WebAccessibilityObjectWrapperMac AXAttributeStringSetFont] crashes when given a font with a nil postscript name, font family, or display name
https://bugs.webkit.org/show_bug.cgi?id=237373
Reviewed by Chris Fleizach and Andres Gonzalez.
Source/WebCore:
[WebAccessibilityObjectWrapperMac AXAttributeStringSetFont] crashes when given a font with a
nil postscript name, font family, or display name. This can be
triggered with a custom SVG @font-face -- for example:
@font-face {
font-family: 'Litherum';
src: url("resources/Litherum.svg") format(svg);
}
- { font-family: 'Litherum'; }
We fix this by checking if these values are nil before trying to add
them to a dictionary.
This patch also centralizes application of fonts to attributed strings
by moving AXAttributeStringSetFont to the base wrapper. In doing so,
we fix a bug where if [WebAccessibilityObjectWrapperBase AXAttributeStringSetStyle] was
called from a Mac-context, it set iOS font properties (e.g.
UIAccessibilityTokenFontFamily instead of NSAccessibilityFontFamilyKey).
Test: accessibility/svg-font-face.html
- accessibility/mac/WebAccessibilityObjectWrapperBase.h:
- accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(AXAttributedStringRangeIsValid): Added.
(AXAttributedStringSetFont): Added.
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(AXAttributeStringSetStyle):
(AXAttributedStringAppendText):
(AXAttributedStringRangeIsValid):
Moved to base wrapper.
(AXAttributeStringSetFont):
Moved to base wrapper.
LayoutTests:
- accessibility/resources/Litherum.svg: Added.
- accessibility/svg-font-face-expected.txt: Added.
- accessibility/svg-font-face.html: Added.
- platform/glib/TestExpectations: Skip new test.
- platform/ios/TestExpectations: Enable new test.
- platform/win/TestExpectations: Skip new test.
- platform/mac/accessibility/element-line-rects-and-text-expected.txt:
Before this patch, [WebAccessibilityObjectWrapperBase AXAttributeStringSetStyle] called the iOS
version of AXAttributeStringSetFont. This patch fixes this. The expectation for this test is updated as a result.
- 5:44 PM Changeset in webkit [290857] by
-
- 18 edits2 deletes in branches/safari-613-branch/Source/bmalloc
Apply patch. rdar://problem/89071706
- 5:06 PM Changeset in webkit [290856] by
-
- 16 edits in trunk/Source
REGRESSION (r284472): [ Monterey ] http/tests/websocket/tests/hybi/inspector/send-and-recieve-debugger.html is failing
https://bugs.webkit.org/show_bug.cgi?id=237280
Reviewed by Devin Rousso.
Source/WebCore:
Covered by existing http/tests/websocket/tests/hybi/inspector/* test cases.
On macOS Monterey we use NSURLSession-based WebSockets by default, unlike earlier versions of macOS. The channel
for these sockets is implemented inWebKit::WebSocketChannel. The non-NSURLSession WebSockets channel (at
least on Cocoa platforms) is implemented inWebCore::WebSocketChannel.
As of r284472 the logic to delay the dispatch of received WebSocket message on platforms using
NSURLSession-based WebSockets is handled byWebCore::WebSocket, not theWebKit::WebSocketChannel.
WebKit::WebSocketChannelnow immediately does the work it needs to, and only the delegated work toWebSocket
is queued and taken care of when the socket has resumed. This resulted in some of the instrumentation in
WebKit::WebSocketChannelbeing able to be called while the socket was suspended leading to events being logged
in the frontend "in the future" (e.g. before the paused script would have been able to be aware of them). To
correct this theWebKit::WebSocketChannelnow provides a hook into its helperWebSocketChannelInspector
object to allow theWebCore::WebSocketto notify Web Inspector of events at the same time it is being
logically handled by the page.
Other
ThreadableWebSocketChannelimplementations will instead providenullptrin place of a pointer to a
WebInspectorChannelInspector.WebCore::WebSocketChannelwas not affected by the changes in r284472 as it has
a different way to guarantee that the methods containing InspectorInstrumentation were not called while the
channel was suspended (and enforced with numerousASSERT(!m_suspended)checks).
- Modules/websockets/ThreadableWebSocketChannel.h:
(WebCore::ThreadableWebSocketChannel::channelInspector const):
- Modules/websockets/WebSocketChannelClient.h:
- Add
reasonfor error messages so they can be sent to Web Inspector.
- Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::didReceiveMessage):
(WebCore::WebSocket::didReceiveBinaryData):
(WebCore::WebSocket::didReceiveMessageError):
(WebCore::WebSocket::didClose):
- Modules/websockets/WebSocket.h:
- Move inspector instrumentation calls from
WebKit::WebSocketChannelto here so that they are not called until
the socket is resumed.
- We also now wrap these instrumentation calls in an unlikely check for frontends to avoid allocating the
simulated call frames when Web Inspector isn't even open.
- Modules/websockets/WebSocketChannelInspector.cpp:
(WebCore::WebSocketChannelInspector::WebSocketChannelInspector):
(WebCore::WebSocketChannelInspector::didCreateWebSocket const):
(WebCore::WebSocketChannelInspector::willSendWebSocketHandshakeRequest const):
(WebCore::WebSocketChannelInspector::didReceiveWebSocketHandshakeResponse const):
(WebCore::WebSocketChannelInspector::didCloseWebSocket const):
(WebCore::WebSocketChannelInspector::didReceiveWebSocketFrame const):
(WebCore::WebSocketChannelInspector::didSendWebSocketFrame const):
(WebCore::WebSocketChannelInspector::didReceiveWebSocketFrameError const):
(WebCore::WebSocketChannelInspector::createFrame):
(WebCore::WebSocketChannelInspector::didCreateWebSocket): Deleted.
(WebCore::WebSocketChannelInspector::willSendWebSocketHandshakeRequest): Deleted.
(WebCore::WebSocketChannelInspector::didReceiveWebSocketHandshakeResponse): Deleted.
(WebCore::WebSocketChannelInspector::didCloseWebSocket): Deleted.
(WebCore::WebSocketChannelInspector::didReceiveWebSocketFrame): Deleted.
(WebCore::WebSocketChannelInspector::didSendWebSocketFrame): Deleted.
(WebCore::WebSocketChannelInspector::didReceiveWebSocketFrameError): Deleted.
- Modules/websockets/WebSocketChannelInspector.h:
- Update to keep a WeakRef to the
Documentto reduce the amount of plumbing necessary to call these methods
from
WebSocket.
- Move static utility method
createFramehere fromWebKit::WebSocketChannelsince it is only used for
inspector instrumentation.
- Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessageError):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::connect):
- Modules/websockets/WorkerThreadableWebSocketChannel.h:
- Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError):
- Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
- Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::fail):
(WebCore::WebSocketChannel::didFailSocketStream):
- Modules/websockets/WebSocketChannel.h:
- Update these classes to pass along a reason, if available, for errors.
Source/WebKit:
Move inspector instrumentation for things that should be delayed until the websocket has resumed (in general,
these are instrumentation points for receiving messages) into WebCore::WebSocket so that they are sent at the
expected time in the frontend, not "in the future" when script execution is suspended (e.g. while debugging).
- WebProcess/Network/WebSocketChannel.cpp:
(WebKit::WebSocketChannel::notifySendFrame):
(WebKit::WebSocketChannel::connect):
(WebKit::WebSocketChannel::close):
(WebKit::WebSocketChannel::fail):
(WebKit::WebSocketChannel::disconnect):
(WebKit::WebSocketChannel::didReceiveText):
(WebKit::WebSocketChannel::didReceiveBinaryData):
(WebKit::WebSocketChannel::didClose):
(WebKit::WebSocketChannel::didReceiveMessageError):
(WebKit::WebSocketChannel::didSendHandshakeRequest):
(WebKit::WebSocketChannel::didReceiveHandshakeResponse):
(WebKit::createWebSocketFrameForWebInspector): Deleted.
- WebProcess/Network/WebSocketChannel.h:
- 5:01 PM Changeset in webkit [290855] by
-
- 2 edits in trunk/Source/WebKit
Web Inspector: [Cocoa] Continually opening and closing Web Inspector sometimes crashes
https://bugs.webkit.org/show_bug.cgi?id=237484
Reviewed by Darin Adler.
We need to handle operations on the main queue because
webView:stopURLSchemeTask:will be called from the main
queue, and we must not be in middle the operation when we get the request to stop said operation, otherwise we
may attempt to call[urlSchemeTask did*], which is not permitted after we have been asked to stop that task.
If we add the operation for theWKURLSchemeTaskto a different queue it is possible we will have already
started the operation on a background queue while at the same time are receiving a request to stop that same
WKURLSchemeTask.
- UIProcess/Inspector/mac/WKInspectorResourceURLSchemeHandler.mm:
(-[WKInspectorResourceURLSchemeHandler webView:startURLSchemeTask:]):
(-[WKInspectorResourceURLSchemeHandler webView:stopURLSchemeTask:]):
- 4:48 PM Changeset in webkit [290854] by
-
- 5 edits in trunk/Source/WebCore
Modernize OriginLock
https://bugs.webkit.org/show_bug.cgi?id=237485
Reviewed by Darin Adler.
OriginLock subclasses ThreadSafeRefCounted. As a result, it should have a create()
factory function instead of an error-prone public constructor. Its functions should
also take String parameters by const reference instead of by value.
- Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::originLockFor):
- Modules/webdatabase/DatabaseTracker.h:
- Modules/webdatabase/OriginLock.cpp:
(WebCore::lockFileNameForPath):
(WebCore::OriginLock::OriginLock):
(WebCore::OriginLock::deleteLockFile):
(WebCore::OriginLock::lockFileNameForPath): Deleted.
- Modules/webdatabase/OriginLock.h:
(WebCore::OriginLock::create):
- 3:45 PM Changeset in webkit [290853] by
-
- 6 edits2 adds in trunk
about:blank iframes do not always inherit parent CSP
https://bugs.webkit.org/show_bug.cgi?id=236347
<rdar://problem/88669147>
Reviewed by Brent Fulgham.
Source/WebCore:
Test: http/tests/security/contentSecurityPolicy/block-eval-onload-in-nested-about-blank-iframe.html
Usually we initialize CSP for window when we create a jsWindowProxy
for that frame. In this case, we load an about:blank iframe that
attempts to run eval() in the onload function of its own nested
iframe. Since we never run script in frame, we don't initialize a
jsWindowProxy and thus never propogate its CSP.
This fix checks the document's CSP in FrameLoader::clear when we
initialize a new JSGlobalObject and sets the eval value in the window
accordingly to properly enforce CSP.
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::enableEval):
- bindings/js/ScriptController.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::clear):
- page/csp/ContentSecurityPolicy.h:
(WebCore::ContentSecurityPolicy::evalErrorMessage const):
LayoutTests:
- http/tests/security/contentSecurityPolicy/block-eval-onload-in-nested-about-blank-iframe-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/block-eval-onload-in-nested-about-blank-iframe.html: Added
We can't use modern js-test.js and related functions because
js-test.js uses eval() and loading it makes the test time out when the
eval is blocked by the document's CSP. We can't specify unsafe-eval
because the whole point of this test is to block eval.
- 3:31 PM Changeset in webkit [290852] by
-
- 2 edits in trunk/LayoutTests
Update WPT css-scroll-snap tests
https://bugs.webkit.org/show_bug.cgi?id=237358
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 3:30 PM Changeset in webkit [290851] by
-
- 9 edits in branches/safari-613-branch/Source
Versioning.
WebKit-7613.2.2
- 3:08 PM Changeset in webkit [290850] by
-
- 11 edits in trunk
[iOS] Books ASSERTs upon opening a book with a debug build of WebKit
https://bugs.webkit.org/show_bug.cgi?id=237445
<rdar://problem/89776531>
Reviewed by Alex Christensen.
Source/WebCore:
- platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::open):
Source/WebKit:
- NetworkProcess/cache/NetworkCacheBlobStorage.cpp:
(WebKit::NetworkCache::BlobStorage::add):
- UIProcess/API/APIContentRuleListStore.cpp:
(API::openAndMapContentRuleList):
(API::compiledToFile):
Source/WTF:
makeSafeToUseMemoryMapForPath() runs an ASSERT() that it was successful.
However, it's not always successful, so this ASSERT() was getting hit when
trying to open a book in Books. So, this patch makes the function return a
bool to indicate success, and updates callers to do something sensible if
it failed.
Test: FileSystemTest.makeSafeToUseMemoryMapForPath
- wtf/FileSystem.cpp:
(WTF::FileSystemImpl::makeSafeToUseMemoryMapForPath):
(WTF::FileSystemImpl::mapToFile):
- wtf/FileSystem.h:
- wtf/cocoa/FileSystemCocoa.mm:
(WTF::FileSystemImpl::makeSafeToUseMemoryMapForPath):
Tools:
- TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::TEST_F):
- 2:57 PM Changeset in webkit [290849] by
-
- 21 edits2 adds in trunk
Home link on weather.gov is not working
https://bugs.webkit.org/show_bug.cgi?id=237451
<rdar://60409277>
Reviewed by Geoff Garen.
LayoutTests/imported/w3c:
- web-platform-tests/html/browsers/browsing-the-web/overlapping-navigations-and-traversals/tentative/anchor-fragment-history-back-on-click-expected.txt: Added.
- web-platform-tests/html/browsers/browsing-the-web/overlapping-navigations-and-traversals/tentative/anchor-fragment-history-back-on-click.html: Added.
Add layout test coverage (already upstreamed to WPT).
- web-platform-tests/html/browsers/browsing-the-web/overlapping-navigations-and-traversals/tentative/cross-document-traversal-same-document-nav-expected.txt:
- web-platform-tests/html/browsers/browsing-the-web/overlapping-navigations-and-traversals/tentative/same-document-traversal-same-document-nav-expected.txt:
Rebaseline a couple of WPT tests that are now failing. I have verified that these tests are fully failing (and in the same way) in Blink.
In Gecko, only the second subtest in each of these tests is failing.
Source/WebCore:
According to the HTML specification [1], when history.back() is called, we are supposed to
resolve the history entry based on the delta (-1), then we're supposed to queue a task to
traverse the history to that particular entry.
However, WebKit was merely scheduling a task to navigate the history with a delta of -1.
We only resolve the target history entry once the scheduled task runs asynchronously.
As a result, we could end up navigating to a different history entry than we'd expect if
the history list changes between the call to history.back() and the actual execution of
the task to traverse the history list. In particular, fragment navigations can cause
synchronous navigations and thus add new history entries.
On weather.gov, the "HOME" anchor looks like so:
<a href="#" onclick="history.back();">HOME</a>
Per the DOM specification, when clicking the anchor, we'd first call
history.back()and
then run the anchor activation behavior that would do a fragment navigation to "#".
Thehistory.back()call would schedule to task to navigate back, then we'd navigate to
"#" synchronously, which would add a new history entry. Once the task to navigate back
would run asynchronously, we would navigate back to the same page (but without the fragment)
instead of going back to the home page.
[1] https://html.spec.whatwg.org/multipage/history.html#traverse-the-history-by-a-delta
Test: imported/w3c/web-platform-tests/html/browsers/browsing-the-web/overlapping-navigations-and-traversals/tentative/anchor-fragment-history-back-on-click.html
- history/BackForwardClient.h:
- history/BackForwardController.cpp:
(WebCore::BackForwardController::containsItem const):
- history/BackForwardController.h:
- loader/EmptyClients.cpp:
- loader/NavigationScheduler.cpp:
(WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
(WebCore::NavigationScheduler::scheduleHistoryNavigation):
Source/WebKit:
- WebProcess/WebPage/WebBackForwardListProxy.cpp:
(WebKit::WebBackForwardListProxy::removeItem):
(WebKit::WebBackForwardListProxy::containsItem const):
- WebProcess/WebPage/WebBackForwardListProxy.h:
Source/WebKitLegacy/mac:
- History/BackForwardList.h:
- History/BackForwardList.mm:
(BackForwardList::containsItem const):
(BackForwardList::containsItem): Deleted.
Source/WebKitLegacy/win:
- BackForwardList.cpp:
(BackForwardList::containsItem):
- BackForwardList.h:
- WebBackForwardList.cpp:
(WebBackForwardList::containsItem):
LayoutTests:
Skip WPT tests that is timing out. I have verified that this WPT test is timing out in Blink as well.
- 2:43 PM Changeset in webkit [290848] by
-
- 3 edits in trunk/Source/WebCore
Use an OptionSet<> for GraphicsContextCGFlags
https://bugs.webkit.org/show_bug.cgi?id=237482
Reviewed by Wenson Hsieh.
Mechanical change to use an OptionSet<> for GraphicsContextCG::m_contextFlags.
- platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContextCG::setIsCALayerContext):
(WebCore::GraphicsContextCG::isCALayerContext const):
(WebCore::GraphicsContextCG::setIsAcceleratedContext):
(WebCore::GraphicsContextCG::renderingMode const):
- platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
(): Deleted.
- 2:12 PM Changeset in webkit [290847] by
-
- 2 edits in trunk/Source/WebKit
Crash under ScrollingCoordinatorMac::hasNodeWithAnimatedScrollChanged()
https://bugs.webkit.org/show_bug.cgi?id=237478
<rdar://89072235>
Reviewed by Alan Bujtas.
Crash data show that r290109 failed to fix this crash; the actual cause of the crash is a
null m_page on TiledCoreAnimationScrollingCoordinator, diagnosed by noting that the crash
offset corresponds to the offset of m_renderingUpdateRemainingSteps in Page.
- WebProcess/WebPage/mac/TiledCoreAnimationScrollingCoordinator.mm:
(WebKit::TiledCoreAnimationScrollingCoordinator::hasNodeWithAnimatedScrollChanged):
- 2:10 PM Changeset in webkit [290846] by
-
- 4 edits in trunk
URL's isolatedCopy() optimization when called on a r-value reference doesn't work
https://bugs.webkit.org/show_bug.cgi?id=237481
Reviewed by Geoffrey Garen.
Source/WTF:
URL has an isolatedCopy() implementation that attempts to optimize the case where
it is called on a r-value reference. The idea is to rely on the String's
isolatedCopy() implementation which is optimized when called on a r-value reference.
Note that there are some specific conditions under which the String implementation
is able to avoid the copy (see String::isSafeToSendToAnotherThread()).
Namely, the StringImpl's refcount needs to be 1 and it cannot be backed by an
AtomStringImpl.
The issue was that URL::isolatedCopy() would first copy the URL, which would copy
its m_string and thus bump its refcount. As a result, m_string's refcount could
never be 1 and the optimization could never kick in.
- wtf/URL.cpp:
(WTF::URL::isolatedCopy):
Tools:
Add API test coverage.
- TestWebKitAPI/Tests/WTF/URL.cpp:
(TestWebKitAPI::TEST_F):
- 2:08 PM Changeset in webkit [290845] by
-
- 6 edits3 adds in trunk/Source/WebCore
Support constants in IDL namespaces.
https://bugs.webkit.org/show_bug.cgi?id=232557
<radr://problem/85142162>
Patch by Dan Glastonbury <djg@apple.com> on 2022-03-04
Reviewed by Sam Weinig.
Test: bindings/script/test/TestNamespaceConst.idl
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateConstructorHelperMethods):
If namespace contains only constants, globalObject is unused
produces a compile error. Add UNUSED_PARAM to quiet error.
- bindings/scripts/IDLAttributes.json:
- bindings/scripts/IDLParser.pm:
(convertNamespaceToInterface): Copy namespace constants to new interface.
(applyTypedefs): Apply typedefs to namespace constants.
(parseNamespace): Added parsed constants to namespace's list of constants.
(parseNamespaceMember): Accept constants as namespace members.
- bindings/scripts/test/BindingTestGlobalConstructors.idl:
- bindings/scripts/test/JS/*: Updated.
- bindings/scripts/test/SupplementalDependencies.dep:
- bindings/scripts/test/TestNamespaceConst.idl: Added.
- 1:58 PM Changeset in webkit [290844] by
-
- 1 copy in tags/Safari-614.1.5.7
Tag Safari-614.1.5.7.
- 1:44 PM Changeset in webkit [290843] by
-
- 9 edits in branches/safari-614.1.5-branch/Source
Versioning.
WebKit-7614.1.5.7
- 1:00 PM Changeset in webkit [290842] by
-
- 1 copy in tags/Safari-613.2.1
Tag Safari-613.2.1.
- 12:35 PM Changeset in webkit [290841] by
-
- 8 edits2 adds in trunk
Load event never firing after form is submitted
https://bugs.webkit.org/show_bug.cgi?id=235407
<rdar://problem/87831049>
Reviewed by Geoffrey Garen.
LayoutTests/imported/w3c:
Rebaseline WPT tests that are no longer timing out.
- web-platform-tests/html/semantics/forms/form-submission-target/rel-base-target-expected.txt:
- web-platform-tests/html/semantics/forms/form-submission-target/rel-button-target-expected.txt:
- web-platform-tests/html/semantics/forms/form-submission-target/rel-form-target-expected.txt:
- web-platform-tests/html/semantics/forms/form-submission-target/rel-input-target-expected.txt:
Source/WebCore:
In Document::implicitClose(), we early return (and thus don't fire the load
event) if there is a location change pending. To determine if there is a
location change pending, we rely on NavigationScheduler::locationChangePending()
which checks if there is a schedule navigation or not. This usually works fine.
However, when a form gets submitted with a target that is "_blank",
FrameLoader::submitForm() is not able to find the target frame (since we'll need
to create one) and it ends up using the current frame's scheduler. The idea is
that once the navigation actually triggers, FrameLoader::loadFrameRequest() will
check the target and create the new Frame.
The issue is that as a result of this, NavigationScheduler::locationChangePending()
returns true for the submitter's frame while such form submission is scheduled,
even though the navigation will actually happen in another (new) frame. To address
the issue, I updated NavigationScheduler::locationChangePending() to check that
the pending navigation is actually for the current frame.
Test: http/tests/loading/form-submission-no-load-event.html
- loader/NavigationScheduler.cpp:
(WebCore::ScheduledNavigation::targetIsCurrentFrame const):
(WebCore::NavigationScheduler::locationChangePending):
(WebCore::ScheduledFormSubmission::ScheduledFormSubmission): Deleted.
LayoutTests:
Add layout test coverage (Based on reduction from Sam Sneddon).
- http/tests/loading/form-submission-no-load-event-expected.txt: Added.
- http/tests/loading/form-submission-no-load-event.html: Added.
- 12:33 PM Changeset in webkit [290840] by
-
- 2 edits in trunk/Source/WebKit
[WebAuthn] Don't use decidePolicyForLocalAuthenticator for Web Authentication Modern
https://bugs.webkit.org/show_bug.cgi?id=225646
rdar://78147681
Reviewed by Brent Fulgham.
decidePolicyForLocalAuthenticator is not implemented for the _WKWebAuthenticationPanelDelegate
used for modern because the prompt to allow Touch/FaceID comes earlier in the process.
- UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
(WebKit::LocalAuthenticator::makeCredential):
- 11:40 AM Changeset in webkit [290839] by
-
- 5 edits in trunk
[GPU Process] Canvas compositing buffer should be created through its GraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=237260
rdar://89196918
Reviewed by Simon Fraser.
Source/WebCore:
If the backend of the underlying ImageBuffer of the canvas is remote the
compositing ImageBuffer will also be remote. This will transfer the whole
compositing operation to GPUProcess.
The layout test fast/canvas/canvas-composite-canvas.html crashes because
of this bug on the GPUP layout bots.
- html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::fullCanvasCompositedDrawImage):
(WebCore::CanvasRenderingContext2DBase::createCompositingBuffer): Deleted.
- html/canvas/CanvasRenderingContext2DBase.h:
LayoutTests:
- gpu-process/TestExpectations:
- 11:15 AM Changeset in webkit [290838] by
-
- 6 edits in trunk/Source/WebCore
"OffscreenCanvas" in IDLs doesn't seem to be able to be compiled
https://bugs.webkit.org/show_bug.cgi?id=232733
<rdar://problem/85318653>
Patch by Dan Glastonbury <djg@apple.com> on 2022-03-04
Reviewed by Sam Weinig.
OffscreenCanvas is controlled by ENABLE flags. Add conditional
compilation to handle OffscreenCanvas to the WebGPU IDL bindings
when the OffscreenCanvas feature is enabled.
- Modules/WebGPU/GPUCanvasContext.cpp:
(WebCore::GPUCanvasContext::canvas):
- Modules/WebGPU/GPUCanvasContext.h:
- Modules/WebGPU/GPUCanvasContext.idl:
Add OffscreenCanvas to canvas attribute when it is enabled.
- Modules/WebGPU/GPUImageCopyExternalImage.h:
- Modules/WebGPU/GPUImageCopyExternalImage.idl:
Add OffscreenCanvas to source attribute when it is enabled.
- 10:46 AM Changeset in webkit [290837] by
-
- 5 edits in trunk/Source/WebCore
[Cocoa] Crash in MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL
https://bugs.webkit.org/show_bug.cgi?id=237456
rdar://80407863
Reviewed by Jer Noble.
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::enableInheritURIQueryComponent const): Create
and use a static, never destroyed, AtomString instead of creating one every time
a AVURLAsset is created. New method used by both AVF media players.
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::MediaPlayerPrivateAVFoundationCF::createAVAssetForURL): Call enableInheritURIQueryComponent.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Ditto.
- 10:03 AM Changeset in webkit [290836] by
-
- 5 edits in trunk/Source/WebCore
IDB serialization thread should pass isolated copy of IndexIDToIndexKeyMap to storage thread
https://bugs.webkit.org/show_bug.cgi?id=237455
Reviewed by Chris Dumez.
- Modules/indexeddb/server/MemoryObjectStore.cpp:
(WebCore::IDBServer::MemoryObjectStore::addRecord):
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::putOrAdd):
- bindings/js/IDBBindingUtilities.cpp:
(WebCore::generateIndexKeyMapForValueIsolatedCopy):
(WebCore::generateIndexKeyMapForValue): Deleted.
- bindings/js/IDBBindingUtilities.h:
- 9:44 AM Changeset in webkit [290835] by
-
- 3 edits in trunk/Source/WebKit
[iOS] Hard link AVPictureInPictureController
https://bugs.webkit.org/show_bug.cgi?id=237227
Reviewed by Brent Fulgham.
Hard linking instead of soft linking should be a small performance improvement.
- Configurations/WebKit.xcconfig:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
- 9:16 AM Changeset in webkit [290834] by
-
- 5 edits in trunk
[iOS] Unable to scroll to a found text range when there is an existing selection
https://bugs.webkit.org/show_bug.cgi?id=237407
rdar://89653213
Reviewed by Wenson Hsieh.
Source/WebCore:
Scrolling to a found text range is performed by creating a
TemporarySelectionChangeand using theRevealSelectionBounds
TemporarySelectionOption. When aTemporarySelectionChangeis
destroyed, the original selection is restored.
Currently, the selection is restored using the same set of selection
options used to make the temporary selection. Consequently, whenever a
"reveal" option is specified, WebKit scrolls to reveal the temporary
selection, and then scrolls again to reveal the original selection.
This behavior means that an attempt to scroll to a found text range
will fail if the document has an existing selection.
To fix, do not add any of the "reveal" options to the set of selection
options when restoring the original selection during a
TemporarySelectionChange. The only other features that use
TemporarySelectionChangewith "reveal" options are App Highlights
and Scroll To Text Fragment. Neither of these features require WebKit
to scroll to the original selection.
- editing/Editor.cpp:
(WebCore::TemporarySelectionChange::TemporarySelectionChange):
(WebCore::TemporarySelectionChange::~TemporarySelectionChange):
(WebCore::TemporarySelectionChange::setSelection):
- editing/Editor.h:
Tools:
Add an API test that sets a selection in the document, finds some
text outside the viewport, and scrolls to make the found text
visible.
- TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm:
(-[TestScrollViewDelegate init]):
(-[TestScrollViewDelegate scrollViewDidEndScrollingAnimation:]):
(TEST):
- 8:51 AM Changeset in webkit [290833] by
-
- 3 edits in trunk/Source/WebCore
AX ITM: Updating m_pendingLoadingProgress can cause deadlock on AXIsolatedTree::m_changeLogLock
https://bugs.webkit.org/show_bug.cgi?id=237402
Reviewed by Chris Fleizach.
AXIsolatedTree::m_pendingLoadingProgress is currently guarded by
AXIsolatedTree::m_changeLogLock. Because loading can happen at any time,
deadlocks can happen in this sequence:
- AXIsolatedTree::updateLoadingProgress is called on the main thread while the secondary thread holds the lock
- The secondary thread is holding the lock to service an AX request, and said AX request does something to call into the main thread (e.g. AXLOGs an isolated object, which causes a dispatch to the main thread as part of AXIsolatedObject::outerHTML).
- Deadlock
This patch fixes this by making m_loadingProgress threadsafe
via std::atomic<double> and removing m_pendingLoadingProgress.
This patch also removes an unnecessary acquisition of m_changeLogLock
in AXIsolatedTree::focusedNode(). This function is only called on the
secondary-thread, and only accesses secondary-thread safe functions
and member variables (nodeForID, m_focusedNodeID), so we don't need the lock.
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::focusedNode):
Removed unnecessary m_changeLogLock acquisition.
(WebCore::AXIsolatedTree::updateLoadingProgress):
Update m_loadingProgress directly instead of the now deleted intermediary
m_pendingLoadingProgress.
(WebCore::AXIsolatedTree::applyPendingChanges):
- accessibility/isolatedtree/AXIsolatedTree.h:
Remove m_pendingLoadingProgress.
- 7:49 AM Changeset in webkit [290832] by
-
- 2 edits in trunk/Source/WebCore
Top layers should not be moved
https://bugs.webkit.org/show_bug.cgi?id=237305
Patch by Rob Buis <rbuis@igalia.com> on 2022-03-04
Reviewed by Tim Nguyen.
Top layers are always children of RenderView and should not be moved.
- rendering/RenderElement.cpp:
(WebCore::RenderElement::moveLayers):
- 7:42 AM Changeset in webkit [290831] by
-
- 4 edits in trunk
[web-animations] "inherit" values should trigger keyframe recomputation if any previous effect has changed that property
https://bugs.webkit.org/show_bug.cgi?id=237471
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
- web-platform-tests/web-animations/responsive/textIndent-expected.txt:
Source/WebCore:
When we fixed 237371 we only looked at the unanimated style, but we should account for any previous keyframe effect
modifying a property set to "inherit" for the current effect.
- animation/KeyframeEffectStack.cpp:
(WebCore::KeyframeEffectStack::applyKeyframeEffects):
- 7:11 AM Changeset in webkit [290830] by
-
- 4 edits2 adds in trunk
CSP report does not get sent to the document in the case of a detached element
https://bugs.webkit.org/show_bug.cgi?id=237440
<rdar://problem/89081463>
Reviewed by Chris Dumez.
Source/WebCore:
Test: http/tests/security/contentSecurityPolicy/report-violation-to-document-after-element-has-been-detached.html
Only send a violation report to the element if it is connected. Check
right before dispatching in case the element gets detached after the
security policy violation has been created. If the element is not
connected in this case, we send the report to the document.
- dom/Element.cpp:
(WebCore::Element::enqueueSecurityPolicyViolationEvent):
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::reportViolation const):
Also sets the composed value on the violation event as per the spec.
LayoutTests:
- http/tests/security/contentSecurityPolicy/report-violation-to-document-after-element-has-been-detached-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/report-violation-to-document-after-element-has-been-detached.html: Added.
- 5:22 AM Changeset in webkit [290829] by
-
- 3 edits in trunk/Source/WebKit
LibWebRTCCodecs::setEncodeRates should send LibWebRTCCodecsProxy::SetEncodeRates only when the encoder is live
https://bugs.webkit.org/show_bug.cgi?id=237421
Reviewed by Darin Adler.
We were previously not asserting in LibWebRTCCodecsProxy::setEncodeRates and we were missing some encode rate orders.
This is due to the fact that when creating an encoder, we are hopping to main thread, then to work queue to send the message to create an encoder.
In LibWebRTCCodecs::setEncodeRates, we were hopping to main thread if needed.
If the encoder connection is null, we are now hopping to main thread, then to work queue as done when creating an encoder.
Since there is a time where LibWebRTCCodecsProxy::setEncodeRates might have sent encode rates, we bail out early to not set based on old bitrates.
Covered by existing tests not crashing in LibWebRTCCodecsProxy::setEncodeRates.
- WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:
(WebKit::LibWebRTCCodecs::setEncodeRates):
- WebProcess/GPU/webrtc/LibWebRTCCodecs.h:
- 5:16 AM Changeset in webkit [290828] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Improve reuse of known register values on ARMv7
https://bugs.webkit.org/show_bug.cgi?id=237424
Reviewed by Žan Doberšek.
Reduce the generated code size by introducing and pervasively using
setupArmAddress(AbsoluteAddress address, ...). This effectively
replaces sequences of e.g.
with
when a close enough address is already available in r6.
While here, change short_move to only emit an add/sub if this results in an
actual reduction in code size. When the add/sub would be neutral,
prefer loading an immediate as that doesn't introduce a data dependency
between the instructions.
This results in a measurable but small (< 1%) reduction in the
generated code size on JS2.
Hat tip to Geza Lore for the suggestions.
- assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::add32):
(JSC::MacroAssemblerARMv7::add64):
(JSC::MacroAssemblerARMv7::or8):
(JSC::MacroAssemblerARMv7::or16):
(JSC::MacroAssemblerARMv7::or32):
(JSC::MacroAssemblerARMv7::sub32):
(JSC::MacroAssemblerARMv7::load32):
(JSC::MacroAssemblerARMv7::load8):
(JSC::MacroAssemblerARMv7::load16):
(JSC::MacroAssemblerARMv7::store32):
(JSC::MacroAssemblerARMv7::store8):
(JSC::MacroAssemblerARMv7::store16):
(JSC::MacroAssemblerARMv7::storePair32):
(JSC::MacroAssemblerARMv7::short_move):
(JSC::MacroAssemblerARMv7::add32Impl):
(JSC::MacroAssemblerARMv7::branch8):
(JSC::MacroAssemblerARMv7::branchTest32):
(JSC::MacroAssemblerARMv7::branchTest8):
(JSC::MacroAssemblerARMv7::branchTest16):
(JSC::MacroAssemblerARMv7::farJump):
(JSC::MacroAssemblerARMv7::absoluteAddressWithinShortOffset):
(JSC::MacroAssemblerARMv7::setupArmAddress):
- 4:01 AM Changeset in webkit [290827] by
-
- 2 edits in trunk/Source/WebCore
Iteration to search for least active WebGLRenderingContextBase could use min_element
https://bugs.webkit.org/show_bug.cgi?id=237464
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-03-04
Reviewed by Antti Koivisto.
Apply review comments after landing bug 222411 r290816.
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::addActiveContext):
- 3:55 AM Changeset in webkit [290826] by
-
- 2 edits in trunk/Tools
[Flatpak SDK] Upgrade from llvm12 to llvm13
https://bugs.webkit.org/show_bug.cgi?id=237430
Patch by Philippe Normand <pnormand@igalia.com> on 2022-03-04
Reviewed by Adrian Perez de Castro.
- flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
(WebkitFlatpak._get_dependency_packages):
- 3:37 AM Changeset in webkit [290825] by
-
- 2 edits in trunk/Source/WebKit
[GTK][WPE] Documentation for webkit_web_context_set_spell_checking_languages() is incomplete
https://bugs.webkit.org/show_bug.cgi?id=237465
Reviewed by Carlos Garcia Campos.
- UIProcess/API/glib/WebKitWebContext.cpp: Improve documentation.
- 1:15 AM Changeset in webkit [290824] by
-
- 16 edits in trunk/Source/WebKit
Introduce routines to exchange SharedVideoFrame::Buffer directly
https://bugs.webkit.org/show_bug.cgi?id=237267
Reviewed by Eric Carlson.
Define explictly SharedVideoFrame::Buffer as Variant of the various buffer representations.
This allows to move more code in SharedVideoFrame for instance by adding direct support of sending webrtc::VideoFrame buffers in SharedVideoFrame.
Reuse that code in LibWebRTCCodecs as a refactoring/simplification.
Reuse that code in RemoteVideoFrameObjectHeap which allows to exchange IOSurfaces in case WebProcess can use them.
This is used when encoding such frames using software encoders.
Covered by existing tests.
- GPUProcess/media/RemoteVideoFrameObjectHeap.cpp:
- GPUProcess/media/RemoteVideoFrameObjectHeap.h:
- GPUProcess/media/RemoteVideoFrameObjectHeap.messages.in:
- GPUProcess/webrtc/LibWebRTCCodecsProxy.h:
- GPUProcess/webrtc/LibWebRTCCodecsProxy.messages.in:
- GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/GPU/media/RemoteVideoFrameProxy.cpp:
- WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:
- WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxy.h:
- WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxyProcessor.cpp:
- WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxyProcessor.h:
- WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxyProcessor.messages.in:
- WebProcess/GPU/webrtc/SharedVideoFrame.cpp:
- WebProcess/GPU/webrtc/SharedVideoFrame.h:
- 12:53 AM Changeset in webkit [290823] by
-
- 8 edits in trunk
[web-animations] keyframe values set to "inherit" should recompute their values when the inherited value changes
https://bugs.webkit.org/show_bug.cgi?id=237371
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
- web-platform-tests/web-animations/responsive/lineHeight-expected.txt:
- web-platform-tests/web-animations/responsive/opacity-expected.txt:
- web-platform-tests/web-animations/responsive/textIndent-expected.txt:
Source/WebCore:
We now keep track of properties set to "inherit" in keyframes such that we may determine when the
computed value may have changed when resolving animations.
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::processKeyframes):
- animation/KeyframeEffect.h:
(WebCore::KeyframeEffect::inheritedProperties const):
- animation/KeyframeEffectStack.cpp:
(WebCore::KeyframeEffectStack::applyKeyframeEffects):
- 12:42 AM Changeset in webkit [290822] by
-
- 3 edits in trunk/Source/WebCore
SQLiteDatabase::open should return early if journal mode cannot be set
https://bugs.webkit.org/show_bug.cgi?id=237130
<rdar://83130954>
Reviewed by Darin Adler.
Add early return in SQLiteDatabase::open if key operation fails; also make sure error is properly set and
database is closed in the case.
- platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::open):
(WebCore::SQLiteDatabase::useWALJournalMode):
(WebCore::SQLiteDatabase::close):
- platform/sql/SQLiteDatabase.h:
- 12:10 AM Changeset in webkit [290821] by
-
- 5 edits in trunk
webrtc/canvas-to-peer-connection.html is flakily failing a test assertion
https://bugs.webkit.org/show_bug.cgi?id=237423
Reviewed by Eric Carlson.
Source/WebCore:
Make sure the rotation session size is matching the buffer size.
Covered by updated test.
- platform/graphics/cocoa/GraphicsContextGLCocoa.h:
- platform/graphics/cocoa/GraphicsContextGLCocoa.mm:
(WebCore::GraphicsContextGLCocoa::paintCompositedResultsToMediaSample):
LayoutTests:
WebRTC pipeline is lossy so frames might disappear.
For that reason, we need to send multiple times the same frame to ensure we can read the expected frame.
To ensure we are not reading a previous test frame, what we do is changing the size of the canvas before doing the test.
This patch reduces the number of iterations to ensure the test is not too long to run.
- webrtc/canvas-to-peer-connection.html:
- 12:07 AM Changeset in webkit [290820] by
-
- 4 edits in trunk/Source/WebCore
AVVideoCaptureSource should reuse CaptureDevice label
https://bugs.webkit.org/show_bug.cgi?id=237363
<rdar://88301613>
Reviewed by Eric Carlson.
We are getting AV device name through AVCaptureDevice.localizedName, first in UIProcess, then in GPUProcess.
To make sure we always use the ones from UIProcess (which are the ones exposed through mediaDevices.enumerateDevices),
We make sure to use CaptureDevice.label when creating an AVVideoCaptureSource.
Manually tested.
- platform/mediastream/mac/AVVideoCaptureSource.h:
- platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::create):
(WebCore::AVVideoCaptureSource::AVVideoCaptureSource):
- platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
Mar 3, 2022:
- 11:55 PM Changeset in webkit [290819] by
-
- 4 edits in trunk/LayoutTests
fast/mediastream/getUserMedia-to-canvas-1.html and fast/mediastream/getUserMedia-to-canvas-2.html are failing on MacOS when remote video frame flag is enabled
https://bugs.webkit.org/show_bug.cgi?id=237042
<rdar://problem/89298601>
Reviewed by Eric Carlson.
Video element videoWidth/videoHeight are updated when track settings are changed,
and not when video frames being received.
This does not guarantee that videoWidth/videoHeight (main thread) are fully in sync
with the actual video frames (background thread) when there is a change of size.
We might be able to tighten this in MediaPlayerPrivateMediaStreamAVFObjC by only resorting on video frames.
In the meantime, we update the test to use requestVideoFrameCallback which provides accurate per frame metadata.
- fast/mediastream/getUserMedia-to-canvas-1.html:
- fast/mediastream/getUserMedia-to-canvas-2.html:
- webrtc/routines.js:
- 10:58 PM Changeset in webkit [290818] by
-
- 13 edits in trunk/Source/WebKit
Add a new "Daemon -> Client" message type to webpushd
https://bugs.webkit.org/show_bug.cgi?id=237391
Reviewed by Alex Christensen.
Future work will need more messages like this.
So let's add the mechanism in a small standalone patch that uses it for debug messages.
No behavior change for now.
- NetworkProcess/Notifications/Cocoa/WebPushDaemonConnectionCocoa.mm:
(WebKit::WebPushD::handleWebPushDaemonMessage):
(WebKit::WebPushD::Connection::connectionReceivedEvent):
(WebKit::WebPushD::Connection::connectionReceivedEvent const): Deleted.
- NetworkProcess/Notifications/WebPushDaemonConnection.cpp:
(WebKit::WebPushD::Connection::debugMessage):
- NetworkProcess/Notifications/WebPushDaemonConnection.h:
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementConnection.h:
- NetworkProcess/PrivateClickMeasurement/cocoa/PrivateClickMeasurementConnectionCocoa.mm:
(WebKit::PCM::Connection::connectionReceivedEvent):
(WebKit::PCM::Connection::connectionReceivedEvent const): Deleted.
- Platform/IPC/DaemonConnection.h:
- Shared/WebPushDaemonConstants.h:
(WebKit::WebPushD::daemonMessageTypeSendsReply):
- webpushd/ICAppBundle.mm:
(WebPushD::broadcastDebugMessage):
- webpushd/PushClientConnection.h:
- webpushd/PushClientConnection.mm:
(WebPushD::ClientConnection::broadcastDebugMessage):
(WebPushD::ClientConnection::sendDebugMessage):
(WebPushD::ClientConnection::sendDaemonMessage const):
- webpushd/WebPushDaemon.h:
- webpushd/WebPushDaemon.mm:
(WebPushD::Daemon::broadcastDebugMessage):
(WebPushD::Daemon::broadcastAllConnectionIdentities):
(WebPushD::Daemon::connectionAdded):
- 10:38 PM Changeset in webkit [290817] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION(r290815): Fix even more incorrect #if ENABLE(SERVICE_WORKER) usage in NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=237461
Unreviewed build fix.
- NetworkProcess/NetworkProcess.cpp:
The existence of NetworkProcess::{getPendingPushMessages, processPushMessages} depend on ENABLE(SERVICE_WORKER);
it is only when they exist that their implementation depends on ENABLE(BUILT_IN_NOTIFICATIONS).
- 10:02 PM Changeset in webkit [290816] by
-
- 14 edits2 deletes in trunk
WebGL context count is not limited for GPU process
https://bugs.webkit.org/show_bug.cgi?id=222411
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-03-03
Reviewed by Kenneth Russell.
Source/WebCore:
Move the context limit from the GraphicsContextGL implementation
level to WebGLRenderingContext level. This way the limit
is applied to the GPUP implementation too.
Recycle the context with the earliest activity (draw, readpixels)
instead of the creation order.
Stores the WebGL contexts to per-thread set and limits the size of the set.
The set is per-thread to support WebGL contexts in DOM as well as
offscreen canvas use-cases. Offscreen canvas is not implemented for Cocoa
but other ports may enable it.
Tested by:
LayoutTests/webgl/lose-context-after-context-lost.html
LayoutTests/webgl/many-contexts-access-after-loss.html
LayoutTests/webgl/many-contexts.html
LayoutTests/webgl/max-active-contexts-console-warning.html
LayoutTests/webgl/max-active-contexts-gc.html
LayoutTests/webgl/max-active-contexts-oldest-context-lost.html
LayoutTests/webgl/max-active-contexts-webglcontextlost-prevent-default.html
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::activeContexts):
(WebCore::addActiveContext):
(WebCore::removeActiveContext):
(WebCore::WebGLRenderingContextBase::WebGLRenderingContextBase):
(WebCore::WebGLRenderingContextBase::setGraphicsContextGL):
(WebCore::WebGLRenderingContextBase::destroyGraphicsContextGL):
(WebCore::WebGLRenderingContextBase::clearIfComposited):
(WebCore::WebGLRenderingContextBase::maybeRestoreContext):
(WebCore::WebGLRenderingContextBase::updateActiveOrdinal):
- html/canvas/WebGLRenderingContextBase.h:
(WebCore::WebGLRenderingContextBase::activeOrdinal const):
- platform/graphics/angle/GraphicsContextGLANGLE.cpp:
- platform/graphics/cocoa/GraphicsContextGLCocoa.mm:
(WebCore::GraphicsContextGLANGLE::~GraphicsContextGLANGLE):
- platform/graphics/cocoa/WebProcessGraphicsContextGLCocoa.mm:
(WebCore::createWebProcessGraphicsContextGL):
- platform/graphics/opengl/GraphicsContextGLOpenGL.cpp:
(WebCore::GraphicsContextGLOpenGL::~GraphicsContextGLOpenGL):
- platform/graphics/opengl/GraphicsContextGLOpenGLManager.cpp: Removed.
- platform/graphics/opengl/GraphicsContextGLOpenGLManager.h: Removed.
- platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp:
(WebCore::createWebProcessGraphicsContextGL):
- platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::~GraphicsContextGLANGLE):
LayoutTests:
- platform/ios-wk2/TestExpectations:
- 9:28 PM Changeset in webkit [290815] by
-
- 28 edits2 adds in trunk
Enforce silent push quota
https://bugs.webkit.org/show_bug.cgi?id=236863
Reviewed by Brady Eidson.
Source/WebCore:
All PushSubscriptions are created with the userVisibleOnly flag set. This means that all
push events should result in a user-facing notification.
To enforce this, we use a quota system. A push subscription can process up to three silent
pushes. After three silent pushes, we remove the push subscription. To continue to receive
pushes, the user must navigate back to the website and the site must request permission to
send pushes again.
Originally we were going to use a more complicated quota system that moved subscriptions
from waking to non-waking before finally unsubscribing, but this seemed like it could lead
to subscriptions being in a partially-working state that would be hard to explain and reason
about. As a result, I've removed the wakeState column from PushDatabase and replaced it
a silentPushCount column.
To track whether or not a service worker has shown a notification while processing a push
event, we use a boolean flag on ServiceWorkerGlobalScope. This should be sufficient because
we currently only process one push event at a time.
Covered by existing and new API tests.
- Modules/push-api/PushDatabase.cpp:
(WebCore::PushRecord::isolatedCopy const):
(WebCore::PushRecord::isolatedCopy):
(WebCore::PushDatabase::insertRecord):
(WebCore::makePushRecordFromRow):
(WebCore::PushDatabase::getRecordByTopic):
(WebCore::PushDatabase::getRecordByBundleIdentifierAndScope):
(WebCore::PushDatabase::getTopics):
(WebCore::PushDatabase::incrementSilentPushCount):
(WebCore::PushDatabase::removeRecordsByBundleIdentifierAndSecurityOrigin):
- Modules/push-api/PushDatabase.h:
- workers/service/ServiceWorkerGlobalScope.h:
- workers/service/ServiceWorkerRegistration.cpp:
(WebCore::ServiceWorkerRegistration::showNotification):
- workers/service/context/ServiceWorkerThread.cpp:
(WebCore::ServiceWorkerThread::queueTaskToFirePushEvent):
Source/WebKit:
- If a push event doesn't result in a notification or if the associated promise rejects, then we increment the silent push count associated with that origin.
- PushService now removes a subscription if the origin has reached its quota of silent pushes.
Covered by existing and new API tests.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::processPushMessage):
- NetworkProcess/Notifications/NetworkNotificationManager.cpp:
(WebKit::NetworkNotificationManager::incrementSilentPushCount):
(WebKit::ReplyCaller<int>::callReply):
- Shared/WebPushDaemonConstants.h:
(WebKit::WebPushD::messageTypeSendsReply):
- UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _notificationManagerForTesting]):
- webpushd/PushService.mm:
(WebPushD::updateTopicLists):
(WebPushD::PushService::incrementSilentPushCount):
- webpushd/WebPushDaemon.mm:
(WebPushD::MessageInfo::incrementSilentPushCount::encodeReply):
(WebPushD::Daemon::decodeAndHandleMessage):
(WebPushD::Daemon::incrementSilentPushCount):
Tools:
Modified existing push tests to show a notification. Added a new test case to make sure that
subscriptions are removed when an origin reaches its quota of silent pushes.
- TestWebKitAPI/TestNotificationProvider.cpp:
(TestWebKitAPI::notificationPermissions):
(TestWebKitAPI::TestNotificationProvider::TestNotificationProvider):
(TestWebKitAPI::TestNotificationProvider::~TestNotificationProvider):
(TestWebKitAPI::TestNotificationProvider::notificationPermissions):
(TestWebKitAPI::TestNotificationProvider::setPermission):
- TestWebKitAPI/Tests/WebCore/PushDatabase.cpp:
(TestWebKitAPI::makeTemporaryDatabasePath):
(TestWebKitAPI::getTopicsSync):
(TestWebKitAPI::PushDatabaseTest::getTopics):
(TestWebKitAPI::PushDatabaseTest::removeRecordsByBundleIdentifierAndSecurityOrigin):
(TestWebKitAPI::PushDatabaseTest::incrementSilentPushCount):
(TestWebKitAPI::operator==):
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::TEST):
- TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::HTTPServer::origin const):
LayoutTests:
Update PushEvent tests to check that notifications are displayed.
- http/wpt/push-api/pushEvent.any.js:
(promise_test.async const):
(promise_test.async if):
- http/wpt/push-api/pushEvent.any.serviceworker-expected.txt:
- 8:40 PM Changeset in webkit [290814] by
-
- 2 edits in trunk/Source/WebKit
Allow webpushd to launch browser in background
https://bugs.webkit.org/show_bug.cgi?id=237114
Reviewed by Brady Eidson.
Now that webpushd is sandboxed on Mac (r289566), the LaunchServices SPI call to launch
Safari is now failing, because LaunchServices goes down a different path when there is a
sandboxed caller. In particular, it fails to launch Safari because Safari doesn't register
for the webkit-app-launch scheme. Safari also doesn't want to list this scheme in its plist.
For now, to unblock our testing, we're giving ourselves an entitlement to restore the
pre-sandboxed behavior of being able to launch Safari even though it doesn't register for
the webkit-app-launch scheme. We are still in discussions with LaunchServices and Safari
about if there is a better and more restrictive way of granting ourselves this ability.
- Scripts/process-entitlements.sh:
- 8:08 PM Changeset in webkit [290813] by
-
- 35 edits5 adds in trunk/Source
[GPU Process] dont load Apple Pay button/logo PDFs in the WebProcess
https://bugs.webkit.org/show_bug.cgi?id=237177
Reviewed by Simon Fraser.
Source/WebCore:
- platform/graphics/SystemImage.h: Added.
(WebCore::SystemImage::draw const):
(WebCore::SystemImage::SystemImage):
Introduce a new extendable classSystemImagethat represents a collection of arguments
and methodology (that uses those arguments) to draw something from the system.
This patch introduces two concrete uses:
ApplePayButtonSystemImageuses PassKit SPI to draw an Apple Pay button.ApplePayLogoSystemImageloads a PDF file of the Apple Pay logo from inside PassKit.
This architecture was chosen so that
GraphicsContextdoesn't have to know about Apple Pay
specific things, instead only dealing with a very generic interface (whos subclasses know
more specifically what to do with the data they're given).
- Modules/applepay/ApplePayButtonSystemImage.h: Added.
(WebCore::ApplePayButtonSystemImage::create):
(WebCore::ApplePayButtonSystemImage::ApplePayButtonSystemImage):
(WebCore::ApplePayButtonSystemImage::encode const):
(WebCore::ApplePayButtonSystemImage::decode):
(isType):
- Modules/applepay/ApplePayButtonSystemImage.mm: Added.
(WebCore::toPKPaymentButtonType):
(WebCore::toPKPaymentButtonStyle):
(WebCore::ApplePayButtonSystemImage::draw const):
- css/CSSPrimitiveValueMappings.h:
- rendering/style/RenderStyle.h:
- rendering/style/RenderStyleConstants.cpp:
- rendering/style/RenderStyleConstants.h:
Drive-by: Move
ApplePayButtonStyleandApplePayButtonTypetoApplePayButtonSystemImage.h
so they can be used elsewhere (e.g. GPUProcess) without having to include everything else.
- Modules/applepay/ApplePayLogoSystemImage.h: Added.
(WebCore::ApplePayLogoSystemImage::create):
(WebCore::ApplePayLogoSystemImage::ApplePayLogoSystemImage):
(WebCore::ApplePayLogoSystemImage::encode const):
(WebCore::ApplePayLogoSystemImage::decode):
(isType):
- Modules/applepay/ApplePayLogoSystemImage.mm: Added.
(WebCore::passKitBundle):
(WebCore::loadPassKitPDFPage):
(WebCore::applePayLogoWhite):
(WebCore::applePayLogoBlack):
(WebCore::applePayLogoForStyle):
(WebCore::ApplePayLogoSystemImage::draw const):
Add a newApplePayLogoStyleso that the WebProcess isn't able to provide an arbitrary PDF
to load when rendering-webkit-named-image(apple-pay-logo-[white,black]).
- platform/cocoa/ThemeCocoa.mm:
(WebCore::ThemeCocoa::drawNamedImage const):
(WebCore::fitContextToBox): Deleted.
(WebCore::passKitBundle): Deleted.
(WebCore::loadPassKitPDFPage): Deleted.
(WebCore::applePayButtonLogoBlack): Deleted.
(WebCore::applePayButtonLogoWhite): Deleted.
(WebCore::drawApplePayButton): Deleted.
- rendering/RenderThemeCocoa.mm:
(WebCore::RenderThemeCocoa::paintApplePayButton):
(WebCore::toPKPaymentButtonStyle): Deleted.
(WebCore::toPKPaymentButtonType): Deleted.
Move the logic that draws the Apple Pay button to a method onGraphicsContextso that it
can hook into the various GPUProcess flags/systems.
- platform/graphics/GraphicsContext.h:
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawSystemImage): Added.
- platform/graphics/BifurcatedGraphicsContext.h:
- platform/graphics/BifurcatedGraphicsContext.cpp:
(WebCore::BifurcatedGraphicsContext::drawSystemImage): Added.
- platform/graphics/NullGraphicsContext.h:
(WebCore::NullGraphicsContext::drawSystemImage): Added.
- platform/graphics/displaylists/DisplayList.cpp:
(WebCore::DisplayList::DisplayList::append):
- platform/graphics/displaylists/DisplayListItemBuffer.cpp:
(WebCore::DisplayList::ItemHandle::apply):
(WebCore::DisplayList::ItemHandle::destroy):
(WebCore::DisplayList::ItemHandle::safeCopy const):
- platform/graphics/displaylists/DisplayListItemType.h:
- platform/graphics/displaylists/DisplayListItemType.cpp:
(WebCore::DisplayList::sizeOfItemInBytes):
(WebCore::DisplayList::isDrawingItem):
(WebCore::DisplayList::isInlineItem):
- platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::DrawSystemImage::DrawSystemImage): Added.
(WebCore::DisplayList::DrawSystemImage::systemImage const): Added.
(WebCore::DisplayList::DrawSystemImage::destination const): Added.
(WebCore::DisplayList::DrawSystemImage::globalBounds const): Added.
(WebCore::DisplayList::DrawSystemImage::localBounds const): Added.
(WebCore::DisplayList::DrawSystemImage::encode const): Added.
(WebCore::DisplayList::DrawSystemImage::decode): Added.
- platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::DrawSystemImage::apply const): Added.
(WebCore::DisplayList::operator<<):
- platform/graphics/displaylists/DisplayListRecorder.h:
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::drawSystemImage): Added.
- platform/graphics/displaylists/DisplayListRecorderImpl.h:
- platform/graphics/displaylists/DisplayListRecorderImpl.cpp:
(WebCore::DisplayList::RecorderImpl::recordDrawSystemImage): Added.
Add newDrawSystemImagedisplay list item to handle GPUProcess drawing ofSystemImage.
- Headers.cmake:
- Sources.txt:
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- Modules/model-element/scenekit/SceneKitModelLoaderUSD.mm:
Drive-by: Unified sources build fix.
Source/WebKit:
See
Source/WebCore/ChangeLogfor an explanation ofSystemImage.
- Shared/WebCoreArgumentCoders.h:
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<Ref<SystemImage>>::encode): Added.
(IPC::ArgumentCoder<Ref<SystemImage>>::decode): Added.
Support sendingSystemImage(technicallyRef<SystemImage>) across processes.
- GPUProcess/graphics/RemoteDisplayListRecorder.messages.in:
- GPUProcess/graphics/RemoteDisplayListRecorder.h:
- GPUProcess/graphics/RemoteDisplayListRecorder.cpp:
(WebKit::RemoteDisplayListRecorder::drawSystemImage): Added.
- WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
- WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:
(WebKit::RemoteDisplayListRecorderProxy::recordDrawSystemImage): Addded.
Add newDrawSystemImagedisplay list item.
- Scripts/webkit/messages.py:
(class_template_headers):
Add support forRef<T>in IPC messages.
- 6:54 PM Changeset in webkit [290812] by
-
- 4 edits3 adds in trunk
Element with position: sticky after sticking, starts to move incorrectly when scrolling
https://bugs.webkit.org/show_bug.cgi?id=231953
<rdar://84662329>
Reviewed by Sam Weinig.
Source/WebCore:
Sometimes we'd fail to push new StickyPositionViewportConstraints to the scrolling
tree, because operator== failed to compare m_constrainingRectAtLastLayout. This breaks
the requirement that the "last committed scroll position" for the overflow scrolling
node has to be updated in the same commit as the "constraining-rect-at-last-layout"
on the sticky node.
Test: scrollingcoordinator/scrolling-tree/sticky-in-overflow-stale-constraints.html
- page/scrolling/ScrollingConstraints.cpp:
(WebCore::operator<<):
- page/scrolling/ScrollingConstraints.h:
(WebCore::StickyPositionViewportConstraints::operator== const):
LayoutTests:
- platform/ios-wk2/scrollingcoordinator/scrolling-tree/sticky-in-overflow-stale-constraints-expected.txt: Added.
- scrollingcoordinator/scrolling-tree/sticky-in-overflow-stale-constraints-expected.txt: Added.
- scrollingcoordinator/scrolling-tree/sticky-in-overflow-stale-constraints.html: Added.
- 6:40 PM Changeset in webkit [290811] by
-
- 10 edits in trunk/Tools
'run-benchmark' script should log http requests during benchmark run.
https://bugs.webkit.org/show_bug.cgi?id=237076
<rdar://89270825>
Reviewed by Jonathan Bedard.
Relanding 290583 with fix.
Add support to log http requests during benchmark run for diagnostic purpose.
AutoInstall sets 'AUTOINSTALL_CA_CERT_PATH' to environment variables when certificate is specified,
and uses 'AUTOINSTALL_CA_CERT_PATH' when it's present in environment variables. This ensures scripts invoked
from subprocess can use autoinstalled correcctly.
- Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(AutoInstall):
(AutoInstall.set_index):
- Scripts/webkitpy/init.py: Update 'attr' package version to 20.3.0 so match upgraded twisted version
- Scripts/webkitpy/autoinstalled/twisted.py: Upgrade twisted version to latest python2 & python3 compatibile
version with specified implicit dependencies.
- Scripts/webkitpy/benchmark_runner/benchmark_runner.py: Ensure benchmark diagnostic directory is created.
(BenchmarkRunner.init):
- Scripts/webkitpy/benchmark_runner/http_server_driver/http_server/twisted_http_server.py: Add '--log-path'
arugment to allow specify logging output and it defaults to '/tmp/run-benchmark-http.log'
- Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_driver.py:
(HTTPServerDriver.set_device_id):
(HTTPServerDriver):
(HTTPServerDriver.set_http_log):
- Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py: Pass http log path to
twisted http server if specified.
(SimpleHTTPServerDriver.init):
(SimpleHTTPServerDriver.serve):
(SimpleHTTPServerDriver.set_http_log):
- Scripts/webkitpy/benchmark_runner/run_benchmark.py: Fix a tiny bug that default_diagnose_dir() is involked twice in
argument parser help message.
(config_argument_parser):
- Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py: Set http request log path if diagnostic directory
is specified.
(WebServerBenchmarkRunner.init):
Canonical link: https://commits.webkit.org/248047@main
- 6:19 PM Changeset in webkit [290810] by
-
- 4 edits in trunk/Tools
[git-webkit] Handle new PR with old branch name
https://bugs.webkit.org/show_bug.cgi?id=237457
<rdar://problem/89788939>
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):
Canonical link: https://commits.webkit.org/248046@main
- 5:38 PM Changeset in webkit [290809] by
-
- 1 copy in tags/Safari-614.1.5.6
Tag Safari-614.1.5.6.
- 5:38 PM Changeset in webkit [290808] by
-
- 1 delete in tags/Safari-614.1.5.6
Remove tag.
- 5:36 PM Changeset in webkit [290807] by
-
- 26 edits12 adds in branches/safari-614.1.5-branch/Source
Cherry-pick r290805. rdar://problem/89053248
Copy WebKit frameworks and XPC processes to Secondary Path
https://bugs.webkit.org/show_bug.cgi?id=237394
Reviewed by Saam Barati.
Source/JavaScriptCore:
Added build configuration variables and scripts to copy the built Framework to the SYSTEM_SECONDARY_CONTENT_PATH
when it is set.
- Configurations/Base.xcconfig:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Scripts/copy-frameworks-to-secondary-path.sh: Added.
Source/ThirdParty/ANGLE:
Added build configuration variables and scripts to copy the built Framework to the SYSTEM_SECONDARY_CONTENT_PATH
when it is set.
- ANGLE.xcodeproj/project.pbxproj:
- Configurations/ANGLE-dynamic.xcconfig:
- scripts/copy-frameworks-to-secondary-path.sh: Added.
Source/ThirdParty/libwebrtc:
Added build configuration variables and scripts to copy the built Framework to the SYSTEM_SECONDARY_CONTENT_PATH
when it is set.
- Configurations/libwebrtc.xcconfig:
- Scripts/copy-frameworks-to-secondary-path.sh: Added.
- libwebrtc.xcodeproj/project.pbxproj:
Source/WebCore:
Added build configuration variables and scripts to copy the built Framework to the SYSTEM_SECONDARY_CONTENT_PATH
when it is set.
- Configurations/WebCore.xcconfig:
- Scripts/copy-frameworks-to-secondary-path.sh: Added.
- WebCore.xcodeproj/project.pbxproj:
Source/WebGPU:
Added build configuration variables and scripts to copy the built Framework to the SYSTEM_SECONDARY_CONTENT_PATH
when it is set.
- Configurations/WebGPU.xcconfig:
- Scripts/copy-frameworks-to-secondary-path.sh: Added.
- WebGPU.xcodeproj/project.pbxproj:
Source/WebInspectorUI:
Added build configuration variables and scripts to copy the built Framework to the SYSTEM_SECONDARY_CONTENT_PATH
when it is set.
- Configurations/WebInspectorUIFramework.xcconfig:
- Scripts/copy-frameworks-to-secondary-path.sh: Added.
- WebInspectorUI.xcodeproj/project.pbxproj:
Source/WebKit:
Added build configuration variables and scripts to copy the built Framework as well as the XPC services
to the SYSTEM_SECONDARY_CONTENT_PATH when it is set. When copying the XPC services, we update the XPC
binaries to reference the frameworks from the SYSTEM_SECONDARY_CONTENT_PATH by updating
DYLD_VERSIONED_FRAMEWORK_PATH.
- Configurations/Base.xcconfig:
- Configurations/WebKitSwift.xcconfig:
- Scripts/copy-frameworks-to-secondary-path.sh: Added.
- Scripts/copy-xpc-services-to-secondary-path.sh: Added.
- Scripts/update-dyld-environment-load-command: Added.
- Scripts/webkitpy: Added.
- Scripts/webkitpy/mach_o.py: Added. (_utf8_bytes_to_str): (_mach_o_int_field): (_mach_o_int_field._get_mach_o_int_field): (_mach_o_int_field._set_mach_o_int_field): (_mach_o_int_field._set_mach_o_int_field.func): (_mach_o_chararray_field): (_mach_o_chararray_field._get_mach_o_chararray_field): (_mach_o_chararray_field._set_mach_o_chararray_field): (_mach_o_chararray_field._set_mach_o_chararray_field.func): (_mach_o_varchar_field): (_mach_o_varchar_field._get_mach_o_varchar_field): (_mach_o_varchar_field._set_mach_o_varchar_field): (_mach_o_varchar_field._set_mach_o_varchar_field.func): (MachOCommand): (MachOCommand.init): (MachOSourceVersionCommand): (MachOSourceVersionCommand.version_str): (MachOSection): (MachOSection.init): (MachOSegmentCommand): (MachOSection32): (MachOSegment32Command): (MachOSegment32Command.init): (MachOSection64): (MachOSegment64Command): (MachOSegment64Command.init): (MachOLoadDylibCommand): (MachOLoadDylibCommand._version_str): (MachOLoadDylibCommand.compatibility_version_str): (MachOLoadDylibCommand.current_version_str): (MachODyldEnvironmentCommand): (MachODyldEnvironmentCommand.variable): (MachODyldEnvironmentCommand.value): (MachODyldEnvironmentCommand.build): (MachOIDDylibCommand): (MachOHeader): (MachOHeader.init): (MachOHeader.used_header_size): (MachOHeader.total_header_size): (MachOHeader.available_header_size): (MachOHeader.architecture_name): (MachOHeader.id_command): (MachOHeader.dyld_env_commands): (MachOHeader.dyld_versioned_framework_paths): (MachOHeader.filter_commands): (MachOHeader.update_file): (MachOHeader.parse_command): (MachOHeader32LE): (MachOHeader32LE.init): (MachOHeader64LE): (MachOHeader64LE.init): (MachOFile): (MachOFile.init): (is_macho_bytes): (is_macho_file): (enumerate_macho_files):
- WebKit.xcodeproj/project.pbxproj:
Source/WebKitLegacy:
Added build configuration variables and scripts to copy the built Framework to the SYSTEM_SECONDARY_CONTENT_PATH
when it is set.
- WebKitLegacy.xcodeproj/project.pbxproj:
- scripts/copy-frameworks-to-secondary-path.sh: Added.
Source/WebKitLegacy/mac:
Added build configuration variables and scripts to copy the built Framework to the SYSTEM_SECONDARY_CONTENT_PATH
when it is set.
- Configurations/Base.xcconfig:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290805 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:32 PM Changeset in webkit [290806] by
-
- 9 edits in trunk
Text manipulation does not observe updated title element
https://bugs.webkit.org/show_bug.cgi?id=237435
rdar://87318842
Reviewed by Wenson Hsieh.
Source/WebCore:
TextManipulationController now monitors two types of nodes (after first-time manipulation):
(1) manipulated nodes with content update
(2) non-manipulated nodes (newly displayed or newly added)
We should make sure title element gets added to set (1) if it's newly created, and gets added to set (2) if its
text content is updated.
New test: TextManipulation.CompleteTextManipulationForTitleElement
- dom/Document.cpp:
(WebCore::Document::setTitle):
- dom/Text.cpp:
(WebCore::Text::setDataAndUpdate):
- editing/TextManipulationController.cpp:
(WebCore::TextManipulationController::didUpdateContentForNode):
(WebCore::TextManipulationController::didAddOrCreateRendererForNode):
(WebCore::TextManipulationController::scheduleObservationUpdate):
(WebCore::TextManipulationController::replace):
(WebCore::TextManipulationController::didCreateRendererForElement): Deleted.
(WebCore::TextManipulationController::didUpdateContentForText): Deleted.
(WebCore::TextManipulationController::didCreateRendererForTextNode): Deleted.
- editing/TextManipulationController.h:
- html/HTMLTitleElement.cpp:
- rendering/updating/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::createRenderer):
(WebCore::RenderTreeUpdater::createTextRenderer):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
- 5:26 PM Changeset in webkit [290805] by
-
- 26 edits14 adds in trunk/Source
Copy WebKit frameworks and XPC processes to Secondary Path
https://bugs.webkit.org/show_bug.cgi?id=237394
Reviewed by Saam Barati.
Source/JavaScriptCore:
Added build configuration variables and scripts to copy the built Framework to the SYSTEM_SECONDARY_CONTENT_PATH
when it is set.
- Configurations/Base.xcconfig:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Scripts/copy-frameworks-to-secondary-path.sh: Added.
Source/ThirdParty/ANGLE:
Added build configuration variables and scripts to copy the built Framework to the SYSTEM_SECONDARY_CONTENT_PATH
when it is set.
- ANGLE.xcodeproj/project.pbxproj:
- Configurations/ANGLE-dynamic.xcconfig:
- scripts/copy-frameworks-to-secondary-path.sh: Added.
Source/ThirdParty/libwebrtc:
Added build configuration variables and scripts to copy the built Framework to the SYSTEM_SECONDARY_CONTENT_PATH
when it is set.
- Configurations/libwebrtc.xcconfig:
- Scripts/copy-frameworks-to-secondary-path.sh: Added.
- libwebrtc.xcodeproj/project.pbxproj:
Source/WebCore:
Added build configuration variables and scripts to copy the built Framework to the SYSTEM_SECONDARY_CONTENT_PATH
when it is set.
- Configurations/WebCore.xcconfig:
- Scripts/copy-frameworks-to-secondary-path.sh: Added.
- WebCore.xcodeproj/project.pbxproj:
Source/WebGPU:
Added build configuration variables and scripts to copy the built Framework to the SYSTEM_SECONDARY_CONTENT_PATH
when it is set.
- Configurations/WebGPU.xcconfig:
- Scripts/copy-frameworks-to-secondary-path.sh: Added.
- WebGPU.xcodeproj/project.pbxproj:
Source/WebInspectorUI:
Added build configuration variables and scripts to copy the built Framework to the SYSTEM_SECONDARY_CONTENT_PATH
when it is set.
- Configurations/WebInspectorUIFramework.xcconfig:
- Scripts/copy-frameworks-to-secondary-path.sh: Added.
- WebInspectorUI.xcodeproj/project.pbxproj:
Source/WebKit:
Added build configuration variables and scripts to copy the built Framework as well as the XPC services
to the SYSTEM_SECONDARY_CONTENT_PATH when it is set. When copying the XPC services, we update the XPC
binaries to reference the frameworks from the SYSTEM_SECONDARY_CONTENT_PATH by updating
DYLD_VERSIONED_FRAMEWORK_PATH.
- Configurations/Base.xcconfig:
- Configurations/WebKitSwift.xcconfig:
- Scripts/copy-frameworks-to-secondary-path.sh: Added.
- Scripts/copy-xpc-services-to-secondary-path.sh: Added.
- Scripts/update-dyld-environment-load-command: Added.
- Scripts/webkitpy: Added.
- Scripts/webkitpy/mach_o.py: Added.
(_utf8_bytes_to_str):
(_mach_o_int_field):
(_mach_o_int_field._get_mach_o_int_field):
(_mach_o_int_field._set_mach_o_int_field):
(_mach_o_int_field._set_mach_o_int_field.func):
(_mach_o_chararray_field):
(_mach_o_chararray_field._get_mach_o_chararray_field):
(_mach_o_chararray_field._set_mach_o_chararray_field):
(_mach_o_chararray_field._set_mach_o_chararray_field.func):
(_mach_o_varchar_field):
(_mach_o_varchar_field._get_mach_o_varchar_field):
(_mach_o_varchar_field._set_mach_o_varchar_field):
(_mach_o_varchar_field._set_mach_o_varchar_field.func):
(MachOCommand):
(MachOCommand.init):
(MachOSourceVersionCommand):
(MachOSourceVersionCommand.version_str):
(MachOSection):
(MachOSection.init):
(MachOSegmentCommand):
(MachOSection32):
(MachOSegment32Command):
(MachOSegment32Command.init):
(MachOSection64):
(MachOSegment64Command):
(MachOSegment64Command.init):
(MachOLoadDylibCommand):
(MachOLoadDylibCommand._version_str):
(MachOLoadDylibCommand.compatibility_version_str):
(MachOLoadDylibCommand.current_version_str):
(MachODyldEnvironmentCommand):
(MachODyldEnvironmentCommand.variable):
(MachODyldEnvironmentCommand.value):
(MachODyldEnvironmentCommand.build):
(MachOIDDylibCommand):
(MachOHeader):
(MachOHeader.init):
(MachOHeader.used_header_size):
(MachOHeader.total_header_size):
(MachOHeader.available_header_size):
(MachOHeader.architecture_name):
(MachOHeader.id_command):
(MachOHeader.dyld_env_commands):
(MachOHeader.dyld_versioned_framework_paths):
(MachOHeader.filter_commands):
(MachOHeader.update_file):
(MachOHeader.parse_command):
(MachOHeader32LE):
(MachOHeader32LE.init):
(MachOHeader64LE):
(MachOHeader64LE.init):
(MachOFile):
(MachOFile.init):
(is_macho_bytes):
(is_macho_file):
(enumerate_macho_files):
- WebKit.xcodeproj/project.pbxproj:
Source/WebKitLegacy:
Added build configuration variables and scripts to copy the built Framework to the SYSTEM_SECONDARY_CONTENT_PATH
when it is set.
- WebKitLegacy.xcodeproj/project.pbxproj:
- scripts/copy-frameworks-to-secondary-path.sh: Added.
Source/WebKitLegacy/mac:
Added build configuration variables and scripts to copy the built Framework to the SYSTEM_SECONDARY_CONTENT_PATH
when it is set.
- Configurations/Base.xcconfig:
- 5:21 PM Changeset in webkit [290804] by
-
- 1 copy in tags/Safari-614.1.5.6
Tag Safari-614.1.5.6.
- 5:08 PM Changeset in webkit [290803] by
-
- 5 edits in trunk/Source/WebCore
Allow [SecureContext] extended attribute on namespaces.
https://bugs.webkit.org/show_bug.cgi?id=237401
Patch by Dan Glastonbury <djg@apple.com> on 2022-03-03
Reviewed by Alexey Shvayka.
- bindings/scripts/IDLAttributes.json:
Enable SecureContext as a valid extended attribute on namespace.
- bindings/scripts/test/BindingTestGlobalConstructors.idl:
- bindings/scripts/test/JS/*: Updated
- bindings/scripts/test/TestNamespaceObject.idl:
Added [SecureContext] to namespace
- 5:06 PM Changeset in webkit [290802] by
-
- 6 edits in trunk
[JSC] Update wasm branch hinting
https://bugs.webkit.org/show_bug.cgi?id=237411
Patch by Tom Tartarin <tom@leaningtech.com> on 2022-03-03
Reviewed by Yusuke Suzuki.
JSTests:
Simplify the module tested with the updated format.
- wasm/branch-hints/branchHintsModule.wasm:
- wasm/branch-hints/branchHintsSection.js:
Source/JavaScriptCore:
Change the section's name.
Clarify semantics in the parser.
- wasm/WasmBranchHintsSectionParser.cpp:
(JSC::Wasm::BranchHintsSectionParser::parse):
- wasm/WasmSectionParser.cpp:
(JSC::Wasm::SectionParser::parseCustom):
- 5:04 PM Changeset in webkit [290801] by
-
- 2 edits in trunk
Add Dan Glastonbury's name to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=237453
Patch by Dan Glastonbury <djg@apple.com> on 2022-03-03
Reviewed by Alan Bujtas.
- metadata/contributors.json:
- 4:57 PM Changeset in webkit [290800] by
-
- 2 edits in trunk
Add myself (Anjali Kumar) to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=237449
Patch by Anjali Kumar <anjalik_22@apple.com> on 2022-03-03
Reviewed by Patrick Angle.
- metadata/contributors.json: Added myself.
- 4:53 PM Changeset in webkit [290799] by
-
- 7 edits in trunk/Tools
[Python3] Switch a few more glib scripts to Python3
https://bugs.webkit.org/show_bug.cgi?id=237442
Reviewed by Adrian Perez de Castro.
- Scripts/check-for-global-bss-symbols-in-webkitgtk-libs: Update
shebang.
(bss_symbols): Decode Popen bytes output.
- gtk/jhbuildrc: Update shebang.
- gtk/ycm_extra_conf.py: Ditto.
- jhbuild/jhbuild-wrapper: Ditto.
(jhbuild_at_expected_revision): Decode Popen bytes output.
- jhbuild/jhbuildrc_common.py: Remove uneeded shebang.
- wpe/jhbuildrc: Update shebang.
- 3:46 PM Changeset in webkit [290798] by
-
- 3 edits in trunk/Source/WebKit
Unreviewed, reverting r290752.
r290752 broke mutliple tests, slowing down the iOS15 EWS
queue.
Reverted changeset:
"[iOS] Hard link AVPictureInPictureController"
https://bugs.webkit.org/show_bug.cgi?id=237227
https://commits.webkit.org/r290752
- 3:25 PM Changeset in webkit [290797] by
-
- 2 edits in trunk/Source/WebKit
WKContentView should explicitly request the system pointer in the fallback case
https://bugs.webkit.org/show_bug.cgi?id=237410
<rdar://79198381>
Reviewed by Anders Carlsson.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView pointerRegionForPositionInformation:point:]):
(-[WKContentView pointerInteraction:styleForRegion:]):
Instead of assuming a nil region and nil style will provide the system
pointer, provide a region the size of the WKContentView and explicitly
request the system pointer shape.
Also, drive-by adopt the API
systemPointerStyleinstead of the
deprecated SPI version.
- 2:51 PM Changeset in webkit [290796] by
-
- 7 edits in trunk/Tools
[webkitcorepy] Disable prompt when saving credentials
https://bugs.webkit.org/show_bug.cgi?id=237438
<rdar://problem/89764417>
Reviewed by Aakash Jain.
- Tools/Scripts/libraries/webkitbugspy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/init.py: Ditto.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py:
(Tracker.credentials): Pass 'save' to webkitcorepy.credentials.
- Tools/Scripts/libraries/webkitcorepy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Ditto.
- Tools/Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py:
(credentials): Unless caller explicitly disables saving, assume that all credentials
should be saved to a system's keyring.
- 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): Automatically save any prompted credentials.
(Setup.git): Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.credentials): Pass 'save' to github.Tracker.credentials.
Canonical link: https://commits.webkit.org/248036@main
- 2:38 PM Changeset in webkit [290795] by
-
- 3 edits in trunk/Source/WebKit
[macOS] WebContent processes crash with XPC_EXIT_REASON_SIGTERM_TIMEOUT when logging out
https://bugs.webkit.org/show_bug.cgi?id=237398
<rdar://88940229>
Reviewed by Darin Adler.
Because we don't use RunningBoard on macOS, we leak an OS transaction to control the lifetime of our XPC
services ourselves. However, one of the side effects of leaking this transaction is that the default SIGTERM
handler doesn't cleanly exit our XPC services when logging out or rebooting. This led to crashes with
XPC_EXIT_REASON_SIGTERM_TIMEOUT as termination reason (rdar://88940229).
To address the issue, we now set our own SIGTERM handler that releases the OS transaction and calls the
default SIGTERM handler to exit cleanly. In the future, we should likely adopt RunningBoard on macOS and
control our lifetime via process assertions instead of leaking this OS transaction.
- Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.h:
(WebKit::XPCServiceInitializer):
- Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.mm:
(WebKit::setOSTransaction):
(WebKit::XPCServiceExit):
(WebKit::osTransaction): Deleted.
- 2:07 PM Changeset in webkit [290794] by
-
- 9 edits in trunk/Source/WebKit
[iOS] Further reduce hangs underneath -[WKContentView requestAutocorrectionContextWithCompletionHandler:]
https://bugs.webkit.org/show_bug.cgi?id=237387
rdar://89654600
Reviewed by Tim Horton.
Tweak the mitigations landed in r288925 to be even more aggressive. Currently, we preemptively send an
autocorrection context from the web process to the UI process after receiving an IPC message from the UI process
indicating that an input view has been shown. However, this message might arrive too late in cases where the web
process hangs immediately after we're done setting element focus, within the very same runloop; in such a
scenario, we'll still end up hanging underneath the sync autocorrection request underneath-_elementDidFocus:
in the UI process.
We can instead make this mitigation even more aggressive, by setting a flag on WebPage when we're about to
propagate anElementDidFocusmessage to the UI process that (in lieu of the WebKit client) would normally
cause the keyboard to appear. During the next DOM selection change, we then consult this flag and preemptively
send an autocorrection context to the UI process.
Additionally, remove another safeguard in the original change in r288925 which effectively invalidated the
cached autocorrection context after the end of the runloop by setting_autocorrectionContextNeedsUpdate. This
was only done to narrow the scope of the fix to just the scenario where UIKit requests autocorrection contexts
multiple times in the same runloop iteration. However, this appears to be insufficient to tackle more scenarios
where UIKit frequently requests autocorrection contexts even though the selection has not changed; hopefully, by
leaving_autocorrectionContextNeedsUpdate := NO, we can mitigate some of these other cases.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView requestAutocorrectionContextWithCompletionHandler:]):
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::notifySelectionChanged):
- WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::respondToChangedSelection):
- WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
(WebKit::WebChromeClient::notifyRevealedSelectionByScrollingFrame):
(WebKit::WebChromeClient::didLayout):
- WebProcess/WebCoreSupport/ios/WebEditorClientIOS.mm:
(WebKit::WebEditorClient::overflowScrollPositionChanged):
(WebKit::WebEditorClient::subFrameScrollPositionChanged):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didScrollSelection):
(WebKit::WebPage::didChangeSelection):
Split
didChangeSelectioninto two methods:didScrollSelection, which is invoked from codepaths where we're
scheduling an editor state after overflow or mainframe scrolling, anddidChangeSelection, which now takes a
Frameindicating the frame that contains the changed selection. On iOS, we handle this by both scheduling an
editor state update, but also preemptively sending the autocorrection context to the UI process if we've just
focused an element that will probably cause the keyboard to appear (unless the client explicitly prevents it).
Note that we must check the
framecontaining the changed selection and bail if the render tree is in the
middle of being destroyed, so that we don't end up triggering layout (and release asserting) in the case where
we're clearing the selection during document teardown.
(WebKit::WebPage::resetFocusedElementForFrame):
(WebKit::WebPage::elementDidFocus):
(WebKit::WebPage::elementDidBlur):
(WebKit::WebPage::didCommitLoad):
(WebKit::WebPage::didChangeOverflowScrollPosition): Deleted.
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::setIsShowingInputViewForFocusedElement):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::updateSelectionAppearance):
Pass in
frametodidChangeSelection.
(WebKit::WebPage::setIsShowingInputViewForFocusedElement): Deleted.
Move this back into the header, now that it's a straightforward setter again.
- 1:51 PM Changeset in webkit [290793] by
-
- 7 edits in trunk/Tools
[git-webkit] Open pre-populated GitHub page for new tokens
https://bugs.webkit.org/show_bug.cgi?id=237436
<rdar://problem/89763053>
Reviewed by Ryan Haddad.
GitHub gives us a way to pre-populate its token generation web page. We should
open this page with appropriate arguments during setup.
- Tools/Scripts/libraries/webkitbugspy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/init.py: Ditto.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py:
(Tracker.credentials): Make 'prompt' into a function, allowing us to open a url
and change the prompt based on the success of opening the url.
- Tools/Scripts/libraries/webkitcorepy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Ditto.
- Tools/Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py:
(credentials): Allow 'prompt' to be callable.
Canonical link: https://commits.webkit.org/248033@main
- 1:19 PM Changeset in webkit [290792] by
-
- 3 edits in trunk/Tools
[build.webkit.org] Add GTK queue using clang
https://bugs.webkit.org/show_bug.cgi?id=229637
Reviewed by Michael Catanzaro.
This commit adds a specific queue to build with clang in place of GCC.
It will help cover both toolchains and catch bugs and warnings
that happen to be raised by/to affect only clang.
Initially, it'll be a build-only queue, moving to a complete build and
tester in the future. It'll use clang-12, the version available in the
current SDK used by GTK and WPE.
- CISupport/build-webkit-org/config.json:
- CISupport/build-webkit-org/factories_unittest.py:
(TestExpectedBuildSteps):
- 1:02 PM Changeset in webkit [290791] by
-
- 40 edits in trunk/Source/WebGPU
[WebGPU] Abide by the WebKit Style Guide
https://bugs.webkit.org/show_bug.cgi?id=237437
Reviewed by Darin Adler.
The style guide says "Do not place a space between the type name and the protocol name."
- WebGPU/Adapter.h:
(WebGPU::Adapter::create):
- WebGPU/Adapter.mm:
(WebGPU::Adapter::Adapter):
(WebGPU::deviceMeetsRequiredLimits):
- WebGPU/BindGroup.h:
(WebGPU::BindGroup::create):
(WebGPU::BindGroup::vertexArgumentBuffer const):
(WebGPU::BindGroup::fragmentArgumentBuffer const):
(WebGPU::BindGroup::computeArgumentBuffer const):
- WebGPU/BindGroup.mm:
(WebGPU::Device::createBindGroup):
(WebGPU::BindGroup::BindGroup):
- WebGPU/BindGroupLayout.h:
(WebGPU::BindGroupLayout::create):
(WebGPU::BindGroupLayout::vertexArgumentEncoder const):
(WebGPU::BindGroupLayout::fragmentArgumentEncoder const):
(WebGPU::BindGroupLayout::computeArgumentEncoder const):
- WebGPU/BindGroupLayout.mm:
(WebGPU::Device::createBindGroupLayout):
(WebGPU::BindGroupLayout::BindGroupLayout):
- WebGPU/Buffer.h:
(WebGPU::Buffer::create):
(WebGPU::Buffer::buffer const):
- WebGPU/Buffer.mm:
(WebGPU::Buffer::Buffer):
- WebGPU/CommandBuffer.h:
(WebGPU::CommandBuffer::create):
(WebGPU::CommandBuffer::commandBuffer const):
- WebGPU/CommandBuffer.mm:
(WebGPU::CommandBuffer::CommandBuffer):
- WebGPU/CommandEncoder.h:
(WebGPU::CommandEncoder::create):
- WebGPU/CommandEncoder.mm:
(WebGPU::CommandEncoder::CommandEncoder):
- WebGPU/ComputePassEncoder.h:
(WebGPU::ComputePassEncoder::create):
- WebGPU/ComputePassEncoder.mm:
(WebGPU::ComputePassEncoder::ComputePassEncoder):
- WebGPU/ComputePipeline.h:
(WebGPU::ComputePipeline::create):
(WebGPU::ComputePipeline::computePipelineState const):
- WebGPU/ComputePipeline.mm:
(WebGPU::createLibrary):
(WebGPU::createFunction):
(WebGPU::createComputePipelineState):
(WebGPU::ComputePipeline::ComputePipeline):
- WebGPU/Device.h:
- WebGPU/Device.mm:
(WebGPU::Device::create):
(WebGPU::Device::Device):
- WebGPU/Instance.mm:
(WebGPU::sortedDevices):
(WebGPU::Instance::requestAdapter):
- WebGPU/QuerySet.h:
(WebGPU::QuerySet::create):
(WebGPU::QuerySet::counterSampleBuffer const):
- WebGPU/QuerySet.mm:
(WebGPU::QuerySet::QuerySet):
- WebGPU/Queue.h:
(WebGPU::Queue::create):
- WebGPU/Queue.mm:
(WebGPU::Queue::Queue):
- WebGPU/RenderBundle.h:
(WebGPU::RenderBundle::create):
(WebGPU::RenderBundle::indirectCommandBuffer const):
- WebGPU/RenderBundle.mm:
(WebGPU::RenderBundle::RenderBundle):
- WebGPU/RenderBundleEncoder.h:
(WebGPU::RenderBundleEncoder::create):
- WebGPU/RenderBundleEncoder.mm:
(WebGPU::RenderBundleEncoder::RenderBundleEncoder):
- WebGPU/RenderPassEncoder.h:
(WebGPU::RenderPassEncoder::create):
- WebGPU/RenderPassEncoder.mm:
(WebGPU::RenderPassEncoder::RenderPassEncoder):
- WebGPU/RenderPipeline.h:
(WebGPU::RenderPipeline::create):
(WebGPU::RenderPipeline::renderPipelineState const):
- WebGPU/RenderPipeline.mm:
(WebGPU::RenderPipeline::RenderPipeline):
- WebGPU/Sampler.h:
(WebGPU::Sampler::create):
(WebGPU::Sampler::samplerState const):
- WebGPU/Sampler.mm:
(WebGPU::Sampler::Sampler):
- WebGPU/ShaderModule.h:
(WebGPU::ShaderModule::create):
(WebGPU::ShaderModule::library const):
- WebGPU/ShaderModule.mm:
(WebGPU::ShaderModule::createLibrary):
(WebGPU::earlyCompileShaderModule):
(WebGPU::ShaderModule::ShaderModule):
- WebGPU/Texture.h:
(WebGPU::Texture::create):
(WebGPU::Texture::texture const):
- WebGPU/Texture.mm:
(WebGPU::Texture::Texture):
- WebGPU/TextureView.h:
(WebGPU::TextureView::create):
(WebGPU::TextureView::texture const):
- WebGPU/TextureView.mm:
(WebGPU::TextureView::TextureView):
- 12:22 PM Changeset in webkit [290790] by
-
- 9 edits in branches/safari-613-branch/Source
Versioning.
WebKit-7613.2.1
- 12:21 PM Changeset in webkit [290789] by
-
- 3 edits in branches/safari-613-branch/Source/JavaScriptCore
Cherry-pick r288363. rdar://problem/88995092
Fix build when using Visual Studio 2022
https://bugs.webkit.org/show_bug.cgi?id=235440
Reviewed by Antti Koivisto.
It doesn't like having a switch with a default but no cases.
This is cleaner with if statements anyways.
Also make members const because I can.
- jit/JITCode.cpp: (JSC::JITCode::calleeSaveRegisters const):
- jit/JITCode.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288363 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:51 AM Changeset in webkit [290788] by
-
- 13 edits in trunk/Source/JavaScriptCore
Add a DeferTraps scope
https://bugs.webkit.org/show_bug.cgi?id=237306
<rdar://83494949>
Reviewed by Mark Lam.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::jettison):
(JSC::CodeBlock::noticeIncomingCall):
- bytecode/CodeBlock.h:
- bytecode/RepatchInlines.h:
(JSC::linkFor):
(JSC::virtualForWithFunction):
- dfg/DFGOperations.cpp:
(JSC::DFG::JSC_DEFINE_JIT_OPERATION):
- interpreter/Interpreter.cpp:
(JSC::Interpreter::executeProgram):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeModuleProgram):
- interpreter/InterpreterInlines.h:
(JSC::Interpreter::execute):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::setUpCall):
- runtime/ExceptionScope.h:
- runtime/ScriptExecutable.cpp:
(JSC::ScriptExecutable::installCode):
- runtime/VMTraps.cpp:
(JSC::VMTraps::handleTraps):
(JSC::VMTraps::takeTopPriorityTrap):
- runtime/VMTraps.h:
(JSC::VMTraps::needHandling const):
(JSC::VMTraps::maybeNeedHandling const):
(JSC::VMTraps::hasTrapBit):
(JSC::VMTraps::setTrapBit):
- runtime/VMTrapsInlines.h:
(JSC::DeferTraps::DeferTraps):
(JSC::DeferTraps::~DeferTraps):
- 11:04 AM Changeset in webkit [290787] by
-
- 8 edits2 adds in branches/safari-614.1.5-branch
Cherry-pick r290512. rdar://problem/89765722
[Tables] Incorrect table sizing when colgroup comes after tbody
https://bugs.webkit.org/show_bug.cgi?id=237205
<rdar://86582214>
Reviewed by Antti Koivisto.
Source/WebCore:
Let's use the colgroup for table sizing even when it comes after any thead, tbody, tfoot, and tr elements.
This makes WebKit match other rendering engines (see https://src.chromium.org/viewvc/blink?revision=159442&view=revision)
Test: fast/table/table-sizing-fails-when-colgroup-comes-after-content.html
- rendering/RenderTable.cpp: (WebCore::RenderTable::firstColumn const):
- rendering/RenderTableCol.cpp: (WebCore::RenderTableCol::nextColumn const):
LayoutTests:
- fast/table/table-sizing-fails-when-colgroup-comes-after-content-expected.html: Added.
- fast/table/table-sizing-fails-when-colgroup-comes-after-content.html: Added.
- platform/mac/tables/mozilla_expected_failures/dom/appendCol1-expected.txt: Progression.
- platform/mac/tables/mozilla_expected_failures/dom/appendColGroup1-expected.txt: Progression.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290512 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:00 AM Changeset in webkit [290786] by
-
- 9 edits in branches/safari-614.1.5-branch/Source
Versioning.
WebKit-7614.1.5.6
- 10:25 AM Changeset in webkit [290785] by
-
- 11 edits2 adds in trunk
nasa.gov page with fixed backgrounds paints incorrectly on scroll
https://bugs.webkit.org/show_bug.cgi?id=237405
<rdar://66568551>
Reviewed by Antti Koivisto.
Source/WebCore:
https://www.nasa.gov/specials/artemis/ shows an issue where elements with background-attachment:fixed
don't repaint on scroll. This page has scrollable <html> and <body>, and the elements with fixed
backgrounds are composited, so this reveals that we fail to repaint composited children
of an overflow scroll in this case.
Fix by having RenderLayerScrollableArea::scrollTo() do repaints on slow repaint objects
which are scrolled by the current scroller.
Do some unrelated cleanup in code that I was going to use in this patch but turned out
not to need: rename hasFixedBackgroundImage() to hasAnyFixedBackground() for clarity,
and share the implementation with hasAnyLocalBackground().
Test: fast/repaint/background-attachment-fixed-in-composited-scroll.html
- rendering/RenderElement.cpp:
(WebCore::RenderElement::styleWillChange):
(WebCore::RenderElement::willBeDestroyed):
- rendering/RenderLayer.cpp:
- rendering/RenderLayerScrollableArea.cpp:
(WebCore::RenderLayerScrollableArea::scrollTo):
- rendering/style/FillLayer.cpp:
(WebCore::FillLayer::hasImageWithAttachment const):
(WebCore::FillLayer::hasFixedImage const): Deleted.
- rendering/style/FillLayer.h:
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::hasAnyLocalBackground const): Deleted.
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::hasBackgroundImage const):
(WebCore::RenderStyle::hasAnyFixedBackground const):
(WebCore::RenderStyle::hasAnyLocalBackground const):
(WebCore::RenderStyle::hasFixedBackgroundImage const): Deleted.
LayoutTests:
Repaint test which is only valid for mac-wk2 (iOS does not support background-attachment:fixed).
- TestExpectations:
- fast/repaint/background-attachment-fixed-in-composited-scroll-expected.txt: Added.
- fast/repaint/background-attachment-fixed-in-composited-scroll.html: Added.
- platform/mac-wk2/TestExpectations:
- 10:20 AM Changeset in webkit [290784] by
-
- 4 edits in trunk
[Style] Forbid spaces between type names and protocol names in Objective-C
https://bugs.webkit.org/show_bug.cgi?id=237406
Reviewed by Darin Adler.
According to https://lists.webkit.org/pipermail/webkit-dev/2022-February/032130.html.
Tools:
Because the style checker uses regexes, we don't know what's a type name and what's
a protocol name, so the checker simplifies the problem and just checks for "id <".
- Scripts/webkitpy/style/checkers/cpp.py:
(check_objc_protocol):
(check_style):
Websites/webkit.org:
- code-style.md:
- 10:01 AM Changeset in webkit [290783] by
-
- 3 edits in trunk/LayoutTests
Unreviewed test gardening.
- gpu-process/TestExpectations:
- platform/ios/TestExpectations:
- 9:56 AM Changeset in webkit [290782] by
-
- 3 edits2 adds in trunk
A text node longer than 65,535 characters following another text node is invisible in a scrolling context
https://bugs.webkit.org/show_bug.cgi?id=237330
<rdar://problem/89645522>
Reviewed by Antti Koivisto.
Source/WebCore:
- We split text content at 65536 characters (see Text::createWithLengthLimit)
- InlineTextBox can only hold up to 65534 (max short unsigned) characters (unsigned short m_len { 0 };)
Arithmetic overflow produces 0 length inline text boxes and they get removed at
LegacyLineLayout::computeBlockDirectionPositionsForLine as redundant boxes.
Test: fast/text/text-overflow-over-64k.html
- rendering/LegacyInlineTextBox.h: Let's just use unsigned. At this point we don't have that many
legacy inline text boxes anyway.
LayoutTests:
- fast/text/text-overflow-over-64k-expected.html: Added.
- fast/text/text-overflow-over-64k.html: Added.
- 9:30 AM Changeset in webkit [290781] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION(r290776): NetworkSession::swServer depends on ENABLE(SERVICE_WORKER)
https://bugs.webkit.org/show_bug.cgi?id=237432
Unreviewed build fix.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::terminateRemoteWorkerContextConnectionWhenPossible):
- 9:25 AM Changeset in webkit [290780] by
-
- 5 edits in trunk/Source/WebCore
Update IDLParser to support trailing commas in enums.
https://bugs.webkit.org/show_bug.cgi?id=232607
<rdar://problem/85189036>
Patch by Dan Glastonbury <djg@apple.com> on 2022-03-03
Reviewed by Sam Weinig.
Now compatible with the grammar specified by [1].
[1] https://webidl.spec.whatwg.org/#prod-EnumValueListComma
- bindings/scripts/IDLParser.pm:
(parseEnumValues):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::convertEnumerationToString):
(WebCore::convertEnumerationToJS):
(WebCore::parseEnumeration<TestObj::EnumTrailingComma>):
(WebCore::expectedEnumerationValues<TestObj::EnumTrailingComma>):
- bindings/scripts/test/JS/JSTestObj.h:
- bindings/scripts/test/TestObj.idl:
- 9:24 AM Changeset in webkit [290779] by
-
- 11 edits in trunk/Source/WebCore
Simplify pseudo element resolution
https://bugs.webkit.org/show_bug.cgi?id=237413
Reviewed by Antoine Quint.
Remove ElementUpdates struct with a map that contains pseudo element updates.
Instead use a single ElementUpdate struct and pass the pseudo element styles
as cached pseudo styles of the element RenderStyle. Previously RenderTreeUpdater
would move them there.
- rendering/updating/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::Parent::Parent):
(WebCore::RenderTreeUpdater::updateRenderTree):
(WebCore::RenderTreeUpdater::pushParent):
(WebCore::RenderTreeUpdater::popParent):
(WebCore::RenderTreeUpdater::updateBeforeDescendants):
(WebCore::RenderTreeUpdater::updateAfterDescendants):
(WebCore::RenderTreeUpdater::updateElementRenderer):
- rendering/updating/RenderTreeUpdater.h:
- rendering/updating/RenderTreeUpdaterGeneratedContent.cpp:
(WebCore::RenderTreeUpdater::GeneratedContent::updatePseudoElement):
(WebCore::RenderTreeUpdater::GeneratedContent::needsPseudoElement):
- rendering/updating/RenderTreeUpdaterGeneratedContent.h:
- style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::computeDescendantsToResolve):
(WebCore::Style::TreeResolver::resolveElement):
(WebCore::Style::TreeResolver::shouldResolveElement):
(WebCore::Style::TreeResolver::resetDescendantStyleRelations):
(WebCore::Style::TreeResolver::resolveComposedTree):
(WebCore::Style::computeDescendantsToResolve): Deleted.
(WebCore::Style::shouldResolveElement): Deleted.
(WebCore::Style::resetDescendantStyleRelations): Deleted.
- style/StyleTreeResolver.h:
- style/StyleUpdate.cpp:
(WebCore::Style::Update::elementUpdate const):
(WebCore::Style::Update::elementUpdate):
(WebCore::Style::Update::elementStyle const):
(WebCore::Style::Update::elementStyle):
(WebCore::Style::Update::addElement):
(WebCore::Style::Update::elementUpdates const): Deleted.
(WebCore::Style::Update::elementUpdates): Deleted.
- style/StyleUpdate.h:
- 8:57 AM Changeset in webkit [290778] by
-
- 6 edits2 adds in trunk
macOS Safari 15.2 Audio Echo Issue after camera pause/unpause
https://bugs.webkit.org/show_bug.cgi?id=235544
<rdar://problem/88297045>
Reviewed by Eric Carlson.
Source/WebCore:
After https://commits.webkit.org/r275600, the muted state of MediaPlayer would be set to the page muted state
without taking into consideration HTMLMediaElement.muted.
Update the call site to use effectiveMuted instead.
Add internals API to write a corresponding layout test.
Test: fast/mediastream/mediastreamtrack-audiovideo-mutepage.html
- html/HTMLMediaElement.cpp:
- testing/Internals.cpp:
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
- fast/mediastream/mediastreamtrack-audiovideo-mutepage-expected.txt: Added.
- fast/mediastream/mediastreamtrack-audiovideo-mutepage.html: Added.
- 8:53 AM Changeset in webkit [290777] by
-
- 3 edits in trunk/Tools
[Python-3] Invoke webkit-patch with Python 3 by default (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=231591
<rdar://problem/84153640>
Unreviewed follow-up fix.
- Scripts/webkitpy/tool/commands/download.py:
(AbstractRevertPrepCommand._prepare_state): Reason may be spread accross multiple arguments.
- Scripts/webkitpy/tool/commands/download_unittest.py:
- 8:09 AM Changeset in webkit [290776] by
-
- 22 edits in trunk
REGRESSION(r290356-r290351?): [ iOS EWS ] 3 imported/w3c/web-platform-tests/service-workers/service-worker/* tests are constant text failures.
https://bugs.webkit.org/show_bug.cgi?id=237160
<rdar://problem/89440067>
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Rebaseline test that is now passing.
- web-platform-tests/service-workers/service-worker/fetch-request-no-freshness-headers.https-expected.txt:
Source/WebCore:
In r290352, I made a change so that the service worker is more likely to launch in the WebContent
process that caused it to launch. This is beneficial for performance and memory usage.
The partitioned-service-worker*.html service worker tests are relying on an ID variable that is
randomly generated inside the service worker and they expect this ID to not change during the
duration of the test. This means that if the service worker exits / relaunches, those tests start
failing because the ID changes.
The issue is that we have logic in WebProcessProxy::didStartProvisionalLoadForMainFrame() that
terminates the service workers running inside the WebProcess if a new eTLD+1 page is loaded inside
the process. We do so to try and achieve better process isolation between different sites. The
issue is that those tests launch a service worker and then open a new cross-site popup. When the
cross-site popup loads inside the same process, we'd make the decision to terminate the service
workers in this process and relaunch them in a new clean one, causing the tests to fail.
While it is true per the specification that service workers can be terminated / relaunched at
almost any point, there are exceptions. In particular, we should keep a service worker running
if it still has pending extendable events. For this reason, the tests rely on FetchEvent.waitUntil()
to keep the service worker running. Sadly, we would not obey that in this case.
To address the issue, we no longer unconditionally close the service worker context connection
when a WebProcess loads a new eTLD+1. Instead, we tell the network process to close that connection
as soon as possible. When the network process receives this IPC, it terminates the context
connection ONLY if the service workers using the connection have no pending events. If we cannot
close the context connection right away, we set a flag on the context connection to indicate that
we should close it as soon as possible. Currently, this flag is only used to close the connection
right away (no 10 second delay) once the connection no longer has any clients. I think that, ideally,
we'd close the connection as soon as the service workers no longer have pending events. However,
this adds complexity and is error-prone so I didn't implement it in this patch and merely added a
FIXME comment. As it stands, my patch STILL relaunches service workers in origin-clean processes
in the common case. It only fails to do so in the case where there are pending service worker
events which is a case where we had the correctness bug anyway.
No new tests, unskipped existing tests.
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::forEachServiceWorker const):
(WebCore::SWServer::terminateContextConnectionWhenPossible):
(WebCore::SWServer::unregisterServiceWorkerClient):
- workers/service/server/SWServer.h:
- workers/service/server/SWServerToContextConnection.cpp:
(WebCore::SWServerToContextConnection::SWServerToContextConnection):
(WebCore::SWServerToContextConnection::server const):
(WebCore::SWServerToContextConnection::terminateWhenPossible):
- workers/service/server/SWServerToContextConnection.h:
(WebCore::SWServerToContextConnection::shouldTerminateWhenPossible const):
Source/WebKit:
In r290352, I made a change so that the service worker is more likely to launch in the WebContent
process that caused it to launch. This is beneficial for performance and memory usage.
The partitioned-service-worker*.html service worker tests are relying on an ID variable that is
randomly generated inside the service worker and they expect this ID to not change during the
duration of the test. This means that if the service worker exits / relaunches, those tests start
failing because the ID changes.
The issue is that we have logic in WebProcessProxy::didStartProvisionalLoadForMainFrame() that
terminates the service workers running inside the WebProcess if a new eTLD+1 page is loaded inside
the process. We do so to try and achieve better process isolation between different sites. The
issue is that those tests launch a service worker and then open a new cross-site popup. When the
cross-site popup loads inside the same process, we'd make the decision to terminate the service
workers in this process and relaunch them in a new clean one, causing the tests to fail.
While it is true per the specification that service workers can be terminated / relaunched at
almost any point, there are exceptions. In particular, we should keep a service worker running
if it still has pending extendable events. For this reason, the tests rely on FetchEvent.waitUntil()
to keep the service worker running. Sadly, we would not obey that in this case.
To address the issue, we no longer unconditionally close the service worker context connection
when a WebProcess loads a new eTLD+1. Instead, we tell the network process to close that connection
as soon as possible. When the network process receives this IPC, it terminates the context
connection ONLY if the service workers using the connection have no pending events. If we cannot
close the context connection right away, we set a flag on the context connection to indicate that
we should close it as soon as possible. Currently, this flag is only used to close the connection
right away (no 10 second delay) once the connection no longer has any clients. I think that, ideally,
we'd close the connection as soon as the service workers no longer have pending events. However,
this adds complexity and is error-prone so I didn't implement it in this patch and merely added a
FIXME comment. As it stands, my patch STILL relaunches service workers in origin-clean processes
in the common case. It only fails to do so in the case where there are pending service worker
events which is a case where we had the correctness bug anyway.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::terminateRemoteWorkerContextConnectionWhenPossible):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp:
(WebKit::WebSWServerToContextConnection::WebSWServerToContextConnection):
(WebKit::WebSWServerToContextConnection::~WebSWServerToContextConnection):
(WebKit::WebSWServerToContextConnection::postMessageToServiceWorkerClient):
(WebKit::WebSWServerToContextConnection::close):
- NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h:
- NetworkProcess/SharedWorker/WebSharedWorkerServer.cpp:
(WebKit::WebSharedWorkerServer::terminateContextConnectionWhenPossible):
- NetworkProcess/SharedWorker/WebSharedWorkerServer.h:
- NetworkProcess/SharedWorker/WebSharedWorkerServerToContextConnection.cpp:
(WebKit::WebSharedWorkerServerToContextConnection::removeSharedWorkerObject):
- NetworkProcess/SharedWorker/WebSharedWorkerServerToContextConnection.h:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::terminateRemoteWorkerContextConnectionWhenPossible):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didStartProvisionalLoadForMainFrame):
LayoutTests:
Unskip tests that are no longer failing.
- platform/ios/TestExpectations:
- 7:22 AM Changeset in webkit [290775] by
-
- 7 edits in trunk/Source
Non-unified build fixes, early March 2022 edition
https://bugs.webkit.org/show_bug.cgi?id=237420
Unreviewed non-unified build fixes.
Source/JavaScriptCore:
- llint/LLIntExceptions.h: Add forward declaration for WasmInstruction.
Source/WebCore:
- inspector/agents/InspectorDOMDebuggerAgent.h: Add forward declaration for ScriptExecutionContext.
Source/WebKit:
- UIProcess/API/APIDataTask.cpp: Add missing inclusion of DataReference.h, remove
"#pragma once" from non-header file.
- UIProcess/API/APIDataTaskClient.h: Add missing inclusion of DataReference.h.
- 5:09 AM Changeset in webkit [290774] by
-
- 9 edits21 adds in trunk/LayoutTests
Update WPT css-scroll-snap tests
https://bugs.webkit.org/show_bug.cgi?id=237358
Reviewed by Manuel Rego Casasnovas.
LayoutTests/imported/w3c:
- resources/import-expectations.json:
- resources/resource-files.json:
- web-platform-tests/css/css-scroll-snap/capturing-snap-positions-expected.txt: Added.
- web-platform-tests/css/css-scroll-snap/capturing-snap-positions.html: Added.
- web-platform-tests/css/css-scroll-snap/input/keyboard.html:
- web-platform-tests/css/css-scroll-snap/input/mouse-wheel-expected.txt: Added.
- web-platform-tests/css/css-scroll-snap/input/mouse-wheel.html: Added.
- web-platform-tests/css/css-scroll-snap/input/snap-area-overflow-boundary-expected.txt: Added.
- web-platform-tests/css/css-scroll-snap/input/snap-area-overflow-boundary.html: Added.
- web-platform-tests/css/css-scroll-snap/input/w3c-import.log:
- web-platform-tests/css/css-scroll-snap/no-red-ref.html: Added.
- web-platform-tests/css/css-scroll-snap/scroll-snap-root-001-ref.html: Added.
- web-platform-tests/css/css-scroll-snap/scroll-snap-root-002-ref.html: Added.
- web-platform-tests/css/css-scroll-snap/scroll-target-001-ref.html: Added.
- web-platform-tests/css/css-scroll-snap/scroll-target-margin-005-expected.txt: Added.
- web-platform-tests/css/css-scroll-snap/scroll-target-margin-005.html: Added.
- web-platform-tests/css/css-scroll-snap/selection-target-expected.txt: Added.
- web-platform-tests/css/css-scroll-snap/selection-target.html: Added.
- web-platform-tests/css/css-scroll-snap/snap-after-initial-layout/scroll-snap-initial-layout-000-ref.html: Added.
- web-platform-tests/css/css-scroll-snap/snap-after-initial-layout/scroll-snap-writing-mode-000-ref.html: Added.
- web-platform-tests/css/css-scroll-snap/snap-after-initial-layout/snap-after-initial-layout-ref.html: Added.
- web-platform-tests/css/css-scroll-snap/snap-after-initial-layout/w3c-import.log:
- web-platform-tests/css/css-scroll-snap/support/common.js:
(waitForAnimationEnd.):
(waitForAnimationEnd):
(waitForWheelEvent):
(waitForScrollEnd):
(waitForScrollTo):
- web-platform-tests/css/css-scroll-snap/w3c-import.log:
LayoutTests:
- platform/glib/imported/w3c/web-platform-tests/css/css-scroll-snap/scroll-target-margin-005-expected.txt: Added.
- platform/mac-wk1/imported/w3c/web-platform-tests/css/css-scroll-snap/scroll-target-margin-005-expected.txt: Added.
- 3:06 AM Changeset in webkit [290773] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r290512): imported/blink/fast/table/crash-output-element-as-column-group.html asserts sometimes
https://bugs.webkit.org/show_bug.cgi?id=237393
Reviewed by Simon Fraser.
Merging https://chromium.googlesource.com/chromium/src/+/1cfc9b9c37f43567529b09a9824d6d3a7bd9abb6%5E%21/#F2
The reason why crash-output-element-as-column-group.html crashes after r290512 is because
now we allow colgroup after the table content (thead, tbody) -prior to r290512, this test was pretty much a no-op.
- rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::updateFromElement):
- 2:08 AM Changeset in webkit [290772] by
-
- 39 edits6 copies2 adds in trunk
Unreviewed, reverting r290756.
https://bugs.webkit.org/show_bug.cgi?id=237412
Speedometer2
Reverted changeset:
"[css] Implement 'text-decoration' as a shorthand."
https://bugs.webkit.org/show_bug.cgi?id=237175
https://commits.webkit.org/r290756
- 1:51 AM Changeset in webkit [290771] by
-
- 7 edits in trunk/Tools
[Python3] Switch a couple glib/flatpak scripts to Python3
https://bugs.webkit.org/show_bug.cgi?id=237377
Patch by Philippe Normand <pnormand@igalia.com> on 2022-03-03
Reviewed by Carlos Garcia Campos.
- Scripts/update-webkit-flatpak: Update shebang to Python3.
- Scripts/webkit-flatpak: Ditto.
- glib/api_test_runner.py: Ditto.
- glib/common.py: Remove useless shebang.
- glib/generate-inspector-gresource-manifest.py: Update shebang to Python3.
- glib/svn-revision: Ditto.