Timeline
Oct 7, 2021:
- 11:45 PM Changeset in webkit [283793] by
-
- 20 edits in trunk/Source
Plumb "animated scroll did end" back from the scrolling tree
https://bugs.webkit.org/show_bug.cgi?id=231412
Reviewed by Tim Horton.
Before we can enable async animated scrolls, we have to get the "did end" notification back
from the scrolling thread/UI process in order to clear the ScrollAnimationStatus on
ScrollableArea.
The scroll animations are run by the ScrollingEffectsController owned by
ScrollingTreeScrollingNodeDelegateMac/ScrollingTreeScrollingNodeDelegateNicosia. Their
didStopAnimatedScroll() implementations call through the ScrollingTreeScrollingNde to the
ScrollingTree, which enqueues ScrollUpdate just as we do for scroll position changes.
ScrollUpdate is enhanced to contain an 'updateType' with a AnimatedScrollDidEnd value. When
this is received by AsyncScrollingCoordinator it clears the ScrollAnimationStatus on the
relevant FrameView/RenderLayerScrollableArea.
With UI-side compositing, AnimatedScrollDidEndForNode is an IPC message back to
RemoteScrollingCoordinator.
Not yet tested because async animated scrolls are not enabled.
Source/WebCore:
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
(WebCore::AsyncScrollingCoordinator::applyScrollPositionUpdate):
(WebCore::AsyncScrollingCoordinator::animatedScrollDidEndForNode):
- page/scrolling/AsyncScrollingCoordinator.h:
- page/scrolling/ScrollingCoordinatorTypes.h:
(WebCore::ScrollUpdate::canMerge const):
- page/scrolling/ScrollingTree.h:
(WebCore::ScrollingTree::scrollingTreeNodeDidStopAnimatedScroll):
- page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::didStopAnimatedScroll):
- page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
(WebCore::ThreadedScrollingTree::scrollingTreeNodeDidStopAnimatedScroll):
- page/scrolling/ThreadedScrollingTree.h:
- page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h:
- page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::didStopAnimatedScroll):
- page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.cpp:
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::didStopAnimatedScroll):
- page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.h:
Source/WebKit:
- UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeDidStopAnimatedScroll):
- UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h:
- UIProcess/RemoteLayerTree/RemoteScrollingTree.cpp:
(WebKit::RemoteScrollingTree::scrollingTreeNodeDidStopAnimatedScroll):
- UIProcess/RemoteLayerTree/RemoteScrollingTree.h:
- WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.h:
- WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.messages.in:
- WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.mm:
(WebKit::RemoteScrollingCoordinator::scrollPositionChangedForNode):
(WebKit::RemoteScrollingCoordinator::animatedScrollDidEndForNode):
- 9:30 PM Changeset in webkit [283792] by
-
- 36 edits in trunk/Source
Add some plumbing for running smooth scroll animations in the scrolling thread/UI process
https://bugs.webkit.org/show_bug.cgi?id=231402
Reviewed by Tim Horton.
Source/WebCore:
These change prepare the scrolling tree to handle the starting and cancelation of
programmatic smooth scroll animations.
ScrollableArea subclasses implement requestAnimatedScrollToPosition() and
stopAsyncAnimatedScroll(), akin to the existing requestScrollPositionUpdate(). FrameView and
RenderLayerScrollableArea call through to AsyncScrollingCoordinator, which will soon respond
to these requests by setting state on scrolling state nodes. Currently,
AsyncScrollingCoordinator doesreturn false
to avoid a behavior change.
ScrollingTreeScrollingNode gains startAnimatedScrollToPosition() and stopAnimatedScroll(),
and concrete subclasses use their ScrollingTreeScrollingNodeDelegate (and its
ScrollingEffectsController) to actually trigger the scroll animation, or stop an existing
one.
RequestedScrollData will be used a bit more widely, so move it to
ScrollingCoordinatorTypes.h, and give it a ScrollIsAnimated field.
- dom/Element.cpp:
(WebCore::Element::scrollTo):
- page/FrameView.cpp:
(WebCore::FrameView::setScrollPosition):
(WebCore::FrameView::requestAnimatedScrollToPosition):
(WebCore::FrameView::stopAsyncAnimatedScroll):
- page/FrameView.h:
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
(WebCore::AsyncScrollingCoordinator::requestAnimatedScrollToPosition):
(WebCore::AsyncScrollingCoordinator::stopAnimatedScroll):
- page/scrolling/AsyncScrollingCoordinator.h:
- page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::requestScrollPositionUpdate):
(WebCore::ScrollingCoordinator::requestAnimatedScrollToPosition):
(WebCore::ScrollingCoordinator::stopAnimatedScroll):
- page/scrolling/ScrollingCoordinatorTypes.h:
(WebCore::RequestedScrollData::operator== const):
- page/scrolling/ScrollingStateScrollingNode.cpp:
(WebCore::ScrollingStateScrollingNode::dumpProperties const):
- page/scrolling/ScrollingStateScrollingNode.h:
(WebCore::RequestedScrollData::operator== const): Deleted.
- page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::didStopAnimatedScroll):
(WebCore::ScrollingTreeScrollingNode::handleScrollPositionRequest):
- page/scrolling/ScrollingTreeScrollingNode.h:
- page/scrolling/ScrollingTreeScrollingNodeDelegate.h:
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::commitStateAfterChildren):
(WebCore::ScrollingTreeFrameScrollingNodeMac::startAnimatedScrollToPosition):
(WebCore::ScrollingTreeFrameScrollingNodeMac::stopAnimatedScroll):
- page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.h:
- page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.mm:
(WebCore::ScrollingTreeOverflowScrollingNodeMac::commitStateAfterChildren):
(WebCore::ScrollingTreeOverflowScrollingNodeMac::startAnimatedScrollToPosition):
(WebCore::ScrollingTreeOverflowScrollingNodeMac::stopAnimatedScroll):
- page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h:
- page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::startAnimatedScrollToPosition):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::stopAnimatedScroll):
- page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.cpp:
(WebCore::ScrollingTreeFrameScrollingNodeNicosia::commitStateAfterChildren):
(WebCore::ScrollingTreeFrameScrollingNodeNicosia::startAnimatedScrollToPosition):
(WebCore::ScrollingTreeFrameScrollingNodeNicosia::stopAnimatedScroll):
(WebCore::ScrollingTreeFrameScrollingNodeNicosia::stopScrollAnimations): Deleted.
- page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.h:
- page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.cpp:
(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::commitStateAfterChildren):
(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::startAnimatedScrollToPosition):
(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::stopAnimatedScroll):
(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::stopScrollAnimations): Deleted.
- page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.h:
- page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.cpp:
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::startAnimatedScrollToPosition):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::stopAnimatedScroll):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::stopScrollAnimations): Deleted.
- page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.h:
- platform/ScrollTypes.h:
- platform/ScrollView.cpp:
(WebCore::ScrollView::setScrollPosition):
- platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::scrollToPositionWithAnimation):
- platform/ScrollableArea.h:
(WebCore::ScrollableArea::requestAnimatedScrollToPosition):
(WebCore::ScrollableArea::stopAsyncAnimatedScroll):
- rendering/RenderLayerScrollableArea.cpp:
(WebCore::RenderLayerScrollableArea::requestAnimatedScrollToPosition):
(WebCore::RenderLayerScrollableArea::stopAsyncAnimatedScroll):
- rendering/RenderLayerScrollableArea.h:
Source/WebKit:
- Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp:
(ArgumentCoder<RequestedScrollData>::encode):
(ArgumentCoder<RequestedScrollData>::decode):
- UIProcess/RemoteLayerTree/ios/ScrollingTreeFrameScrollingNodeRemoteIOS.mm:
(WebKit::ScrollingTreeFrameScrollingNodeRemoteIOS::commitStateAfterChildren):
- UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.h:
- UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm:
(WebKit::ScrollingTreeScrollingNodeDelegateIOS::commitStateAfterChildren):
(WebKit::ScrollingTreeScrollingNodeDelegateIOS::startAnimatedScrollToPosition):
(WebKit::ScrollingTreeScrollingNodeDelegateIOS::stopAnimatedScroll):
- 7:03 PM Changeset in webkit [283791] by
-
- 2 edits in branches/safari-612-branch/Source/WTF
Cherry-pick r283541. rdar://problem/83956057
Enable 2D canvas color space support on Apple platforms
https://bugs.webkit.org/show_bug.cgi?id=231145
<rdar://82948394>
Reviewed by Simon Fraser.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283541 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [283790] by
-
- 3 edits in branches/safari-612-branch/Source/WebCore
Cherry-pick r283322. rdar://problem/83954555
Web Audio panner node quality deteriorates over time
https://bugs.webkit.org/show_bug.cgi?id=230950
<rdar://problem/83675934>
Reviewed by Eric Carlson.
When profiling the test case, I noticed what we were spending most of the CPU time
under AudioParamTimeline::valuesForFrameRangeImpl() / isEventCurrent() called from
PannerNode::process(). The reason for that is that the number of events in the
AudioParamTimeline would keep growing unboundedly and it would make the
valuesForFrameRangeImpl() implementation more and more expensive over time, since
it has to iterate over all events.
To address the issue, valuesForFrameRangeImpl() now keeps track of the events
that it had to skip because they were in the past. Then, at the end of the loop,
it removes the outdated events so it won't have to iterate over them the next
time around. This behavior is similar to what Blink does.
- Modules/webaudio/AudioParamTimeline.cpp: (WebCore::AudioParamTimeline::removeOldEvents): (WebCore::AudioParamTimeline::valuesForFrameRangeImpl):
- Modules/webaudio/AudioParamTimeline.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283322 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [283789] by
-
- 3 edits in branches/safari-612-branch/Tools
Cherry-pick r283272. rdar://problem/83955254
Migrate _WKDownload tests from TCPServer to HTTPServer
https://bugs.webkit.org/show_bug.cgi?id=230980
<rdar://82100878>
Patch by Alex Christensen <achristensen@webkit.org> on 2021-09-29
Reviewed by Chris Dumez.
The former is very picky when it comes to numbers of TCP connections, and causes tests to time out when
the number of connections changes. The latter is more forgiving and runs code on the main thread.
- TestWebKitAPI/Tests/WebKitCocoa/Download.mm: (TestWebKitAPI::respondSlowly): (TestWebKitAPI::downloadAtRate): (TEST):
- TestWebKitAPI/cocoa/HTTPServer.mm: (TestWebKitAPI::Connection::send const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283272 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [283788] by
-
- 21 edits2 adds in branches/safari-612-branch
Cherry-pick r283238. rdar://problem/83955650
MediaStream canvas.captureStream() fails for WebGL
https://bugs.webkit.org/show_bug.cgi?id=230613
<rdar://82307293>
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-09-29
Reviewed by Youenn Fablet.
.:
Add a manual test to interact with media stream
captureStream() behavior until the implementation is
testable.
- ManualTests/mediastream/mediastream-canvas-to-video.html: Added.
Source/WebCore:
Remove previous incorrect behavior of turning on "preservesDrawingBuffer"
and sampling the drawing buffer. The drawing buffer is not what should
ever be touched, rather it's the display buffer that should be available.
Implement sampling of WebGL display buffer for
media stream capture. The upon sampling, obtain a shared
reference to the
display buffer, passes it to media sample consuming process and mark
the WebGL context display buffer non-eligible for recycling as
new drawing buffer.
Currently the implementation is displayed correctly for
WebGL contents that is premultiplied. Unpremultiplied
content is fixed in the associated bugs.
Note: there are bugs preventing robust use of the API,
listed in the associated bugs. As such, testing is not expanded
in this bug.
Tested by
ManualTests/mediastream/mediastream-canvas-to-video.html (added)
https://webrtc.github.io/samples/src/content/capture/canvas-video/
(Refresh the page or hide the window until MediaPlayer initialization
flakyness lets rendering happen)
The test LayoutTests/fast/mediastream/captureStream/canvas3d.html
cannot yet be used to test the implementation as the rest of the
captureStream() and playback implementation is so flaky.
- Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp: (WebCore::CanvasCaptureMediaStreamTrack::Source::canvasChanged):
- html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::toMediaSample):
- html/canvas/WebGLRenderingContextBase.cpp: (WebCore::WebGLRenderingContextBase::paintCompositedResultsToMediaSample):
- html/canvas/WebGLRenderingContextBase.h: (WebCore::WebGLRenderingContextBase::isPreservingDrawingBuffer const):
- platform/graphics/GraphicsContextGL.cpp:
- platform/graphics/GraphicsContextGL.h:
- platform/graphics/RemoteGraphicsContextGLProxyBase.cpp: (WebCore::RemoteGraphicsContextGLProxyBase::paintCompositedResultsToMediaSample):
- platform/graphics/RemoteGraphicsContextGLProxyBase.h:
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm: (WebCore::MediaSampleAVFObjC::createImageSample):
- platform/graphics/cocoa/GraphicsContextGLIOSurfaceSwapChain.cpp: (WebCore::GraphicsContextGLIOSurfaceSwapChain::present):
- platform/graphics/cocoa/GraphicsContextGLIOSurfaceSwapChain.h:
- platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm: (WebCore::GraphicsContextGLOpenGL::paintCompositedResultsToMediaSample):
- platform/graphics/cocoa/RemoteGraphicsContextGLProxyBaseCocoa.mm: (WebCore::RemoteGraphicsContextGLProxyBase::paintCompositedResultsToMediaSample):
- platform/graphics/opengl/GraphicsContextGLOpenGL.cpp: (WebCore::GraphicsContextGLOpenGL::paintCompositedResultsToMediaSample):
- platform/graphics/opengl/GraphicsContextGLOpenGL.h:
LayoutTests:
Add new expectations, a warning was removed.
CONSOLE MESSAGE: Turning drawing buffer preservation for the WebGL canvas being captured
- fast/mediacapturefromelement/CanvasCaptureMediaStream-webgl-events-expected.txt:
- fast/mediastream/captureStream/canvas3d-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283238 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [283787] by
-
- 14 edits1 add in branches/safari-612-branch/Source
Cherry-pick r283116. rdar://problem/83954304
iPadOS 15 / iOS 15 unable to decode VP9 stream
https://bugs.webkit.org/show_bug.cgi?id=230604
<rdar://problem/83391595>
Reviewed by Eric Carlson.
Source/WebCore:
Export a utility function to know whether HW VP9 is supported by VTB.
No change of behavior.
- platform/graphics/cocoa/VP9UtilitiesCocoa.h:
- platform/graphics/cocoa/VP9UtilitiesCocoa.mm: (WebCore::vp9HardwareDecoderAvailable):
Source/WebKit:
Update code to retrieve some parameters when synchronously creating the GPU process connection.
The sole parameter is currently to know the HW VP9 decoder availability.
If HW VP9 decoder is not supported by GPUProcess code, we fallback to SW libvpx.
Manually tested.
- GPUProcess/GPUProcess.cpp: (WebKit::GPUProcess::createGPUConnectionToWebProcess):
- GPUProcess/GPUProcess.h:
- GPUProcess/GPUProcess.messages.in:
- Shared/GPUProcessConnectionInitializationParameters.h: Added.
- UIProcess/GPU/GPUProcessProxy.cpp: (WebKit::GPUProcessProxy::getGPUProcessConnection):
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/GPU/GPUProcessConnection.cpp: (WebKit::GPUProcessConnection::GPUProcessConnection):
- WebProcess/GPU/GPUProcessConnection.h: (WebKit::GPUProcessConnection::create): (WebKit::GPUProcessConnection::hasVP9HardwareDecoder const):
- WebProcess/GPU/GPUProcessConnectionInfo.h: (WebKit::GPUProcessConnectionInfo::encode const): (WebKit::GPUProcessConnectionInfo::decode):
- WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp: (WebKit::LibWebRTCCodecs::setCallbacks):
- WebProcess/WebProcess.cpp: (WebKit::WebProcess::ensureGPUProcessConnection):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283116 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [283786] by
-
- 20 edits4 adds in branches/safari-612-branch
Cherry-pick r283114. rdar://problem/83954017
Make sure to reset presenting application pid in case of mediaserverd crash
https://bugs.webkit.org/show_bug.cgi?id=230822
<rdar://83474184>
Reviewed by Eric Carlson.
Source/WebCore:
Before the patch, we were asking MediaSessionHelper client to set the pid in case of mediaserverd crash.
Given GPUProcess is the only one receiving the notification now, only the GPUProcess client could do it,
which was not the case as MediaSessionManager in WebProcess was responsible to do so.
Instead of relying on MediaSessionHelper client to do the setup, we now let MediaSessionHelper do it on its own.
Everything will happen in GPUProcess which should also be faster.
We also make sure to reset the affine transform of m_sampleBufferDisplayLayer so that rotation is applied correctly
after mediaserverd crash.
Manually tested by crashing mediaserverd.
Test: fast/mediastream/video-rotation-gpu-process-crash.html (covers affine transform change).
- platform/audio/ios/MediaSessionHelperIOS.h:
- platform/audio/ios/MediaSessionHelperIOS.mm: (MediaSessionHelperiOS::providePresentingApplicationPID): (MediaSessionHelperiOS::mediaServerConnectionDied):
- platform/audio/ios/MediaSessionManagerIOS.h:
- platform/audio/ios/MediaSessionManagerIOS.mm:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm: (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::enqueueVideoSample):
Source/WebKit:
Add API to crash GPUProcess from WebKitTestRunner.
Make sure to forward to MediaPlayer the fact that the layer failed.
This was handled for GPUProcess crash but not for other cases like mediaserverd crashes.
- UIProcess/API/C/WKContext.cpp: (WKContextTerminateGPUProcess):
- UIProcess/API/C/WKContextPrivate.h:
- UIProcess/GPU/GPUProcessProxy.cpp: (WebKit::GPUProcessProxy::terminateForTesting):
- UIProcess/GPU/GPUProcessProxy.h:
- WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp: (WebKit::SampleBufferDisplayLayer::setDidFail):
Tools:
Add test runner API to crash GPUProcess.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::terminateGPUProcess):
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp: (WTR::TestController::terminateGPUProcess):
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
LayoutTests:
- fast/mediastream/video-rotation-gpu-process-crash-expected.txt: Added.
- fast/mediastream/video-rotation-gpu-process-crash.html: Added.
- platform/ios-simulator/fast/mediastream/video-rotation-gpu-process-crash-expected.png: Added.
- platform/mac/fast/mediastream/video-rotation-gpu-process-crash-expected.png: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283114 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [283785] by
-
- 1 edit5 deletes in branches/safari-612-branch/LayoutTests/imported/w3c
Cherry-pick r283093. rdar://problem/83955562
Remove canvas HitRegions tests
https://bugs.webkit.org/show_bug.cgi?id=230809
<rdar://problem/83553485>
Reviewed by Alan Bujtas.
These were removed upstream in
https://github.com/web-platform-tests/wpt/pull/30850.
- web-platform-tests/html/canvas/element/hit-regions/addHitRegions-NotSupportedError-01-expected.txt: Removed.
- web-platform-tests/html/canvas/element/hit-regions/addHitRegions-NotSupportedError-01.html: Removed.
- web-platform-tests/html/canvas/element/hit-regions/hitregions-members-exist-expected.txt: Removed.
- web-platform-tests/html/canvas/element/hit-regions/hitregions-members-exist.html: Removed.
- web-platform-tests/html/canvas/element/hit-regions/w3c-import.log: Removed.
- web-platform-tests/html/canvas/element/manual/hit-regions/addHitRegions-NotSupportedError-01-expected.txt: Removed.
- web-platform-tests/html/canvas/element/manual/hit-regions/addHitRegions-NotSupportedError-01.html: Removed.
- web-platform-tests/html/canvas/element/manual/hit-regions/hitregions-members-exist-expected.txt: Removed.
- web-platform-tests/html/canvas/element/manual/hit-regions/hitregions-members-exist.html: Removed.
- web-platform-tests/html/canvas/element/manual/hit-regions/w3c-import.log: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283093 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [283784] by
-
- 3 edits in branches/safari-612-branch/Source/ThirdParty/ANGLE
Cherry-pick r283014. rdar://problem/83954982
[WebGL2, Safari 15 - iOS15] Problems with drawElements in some conditions
https://bugs.webkit.org/show_bug.cgi?id=230107
Index buffer rewrite was dispatching too many threads.
Reviewed by Dean Jackson.
- src/libANGLE/renderer/metal/ProvokingVertexHelper.mm: (rx::ProvokingVertexHelper::preconditionIndexBuffer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283014 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [283783] by
-
- 3 edits8 adds in branches/safari-612-branch
Cherry-pick r282800. rdar://problem/83955324
ANGLE Metal: single-component swizzles do not compile
https://bugs.webkit.org/show_bug.cgi?id=230472
<rdar://problem/83310780>
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-09-20
Reviewed by Dean Jackson.
Source/ThirdParty/ANGLE:
Fix metal compiler compile errors when using
single value swizles (glslvariable.r) in position where lvalues would
be needed. Use the variable instead of single element array
(copy-paste typo).
- src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.cpp:
LayoutTests:
Add a test for testing the swizzles as lvalues.
- webgl/pending/conformance/glsl/misc/swizzle-as-lvalue-expected.txt: Added.
- webgl/pending/conformance/glsl/misc/swizzle-as-lvalue.html: Added.
- webgl/pending/resources/webgl_test_files/conformance/glsl/misc/swizzle-as-lvalue.html: Added.
- webgl/pending/resources/webgl_test_files/resources/glsl-feature-tests.css: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282800 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [283782] by
-
- 4 edits in branches/safari-612-branch/Source/WebKit
Cherry-pick r282754. rdar://problem/83953303
Fix race in RemoteRenderingBackend::allowsExitUnderMemoryPressure()
https://bugs.webkit.org/show_bug.cgi?id=229870
<rdar://82459484>
Reviewed by Simon Fraser.
RemoteRenderingBackend::allowsExitUnderMemoryPressure() gets called on the main thread while
RemoteResourceCache is always modified on a work queue. Introduce a std::atomic<bool> on
the RemoteResourceCache that RemoteRenderingBackend::allowsExitUnderMemoryPressure() can
safely query from the main thread.
- GPUProcess/graphics/RemoteRenderingBackend.cpp: (WebKit::RemoteRenderingBackend::updateRenderingResourceRequest): (WebKit::RemoteRenderingBackend::allowsExitUnderMemoryPressure const):
- GPUProcess/graphics/RemoteResourceCache.cpp: (WebKit::RemoteResourceCache::RemoteResourceCache): (WebKit::RemoteResourceCache::cacheImageBuffer): (WebKit::RemoteResourceCache::cacheNativeImage): (WebKit::RemoteResourceCache::maybeRemoveResource): (WebKit::RemoteResourceCache::updateHasActiveDrawables):
- GPUProcess/graphics/RemoteResourceCache.h: (WebKit::RemoteResourceCache::hasActiveDrawables const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282754 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [283781] by
-
- 2 edits in branches/safari-612-branch/Source/WebInspectorUI
Cherry-pick r282616. rdar://problem/83955758
Web Inspector: Regression(r279613) Audit result scope toggles are missing
https://bugs.webkit.org/show_bug.cgi?id=230322
Reviewed by Devin Rousso.
The sizing calculations modified in r279613 were erroneously applied to both the minimum space calculation as
well as the navigation item hiding calculations, despite hiding navigation items never being done for non-sidebar
navigation bars. The logic inWI.NavigationBar.prototype._calculateMinimumWidth
remains unchanged, as we still
need sidebars to provide a minimum width that can accommodate all items in a flex layout in order to avoid
flowing navigation items on to another row. The navigation bar in a sidebar is unique in this respect, as other
navigation bars will gracefully hide components if they truly don't have enough space, but a sidebar relies on
getting a minimum size that can actually accommodate all items in a single row.
- UserInterface/Views/NavigationBar.js: (WI.NavigationBar.prototype.layout.calculateVisibleItemWidth): (WI.NavigationBar.prototype.layout):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282616 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [283780] by
-
- 2 edits in branches/safari-612-branch/Source/WTF
Cherry-pick r282245. rdar://problem/83956084
Unreviewed, follow-up after r282007
Somehow, the wrong settings got enabled by the patch landed.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282245 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [283779] by
-
- 2 edits in branches/safari-612-branch/Source/WebCore
Cherry-pick r282117. rdar://problem/83954734
Ensure ImageBuffers are destroyed on the main thread
https://bugs.webkit.org/show_bug.cgi?id=229906
<rdar://problem/82745925>
Reviewed by Ryosuke Niwa.
- platform/graphics/ImageBuffer.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282117 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [283778] by
-
- 2 edits in branches/safari-612-branch/Source/WTF
Cherry-pick r282007. rdar://problem/83957048
[WK2] Turn on support for Cross-Origin-Opener-Policy / Cross-Origin-Embedder-Policy
https://bugs.webkit.org/show_bug.cgi?id=229818
Reviewed by Sam Weinig.
Turn on support for Cross-Origin-Opener-Policy / Cross-Origin-Embedder-Policy on WebKit2 now that
the feature is complete and all known issues have been fixed.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@282007 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [283777] by
-
- 13 edits6 deletes in branches/safari-612-branch
Cherry-pick r281779. rdar://problem/83957360
Migrate PrivateClickMeasurements from ResourceLoadStatistics database to new database
https://bugs.webkit.org/show_bug.cgi?id=229646
Patch by Alex Christensen <achristensen@webkit.org> on 2021-08-30
Reviewed by Kate Cheney.
Source/WebKit:
In r281721 I moved the PCM database to be separate from the ResourceLoadStatistics database.
This patch extracts data from the old database and sends it to the new database.
I added some tests that create databases in each of the 3 historical schemas then verify that
data is successfully migrated to the new database.
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp: (WebKit::ResourceLoadStatisticsDatabaseStore::checkForMissingTablesInSchema): (WebKit::ResourceLoadStatisticsDatabaseStore::tableExists): (WebKit::ResourceLoadStatisticsDatabaseStore::deleteTable): (WebKit::ResourceLoadStatisticsDatabaseStore::migrateDataToPCMDatabaseIfNecessary): (WebKit::ResourceLoadStatisticsDatabaseStore::openAndUpdateSchemaIfNecessary): (WebKit::ResourceLoadStatisticsDatabaseStore::destroyStatements):
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
- NetworkProcess/DatabaseUtilities.cpp: (WebKit::DatabaseUtilities::buildPrivateClickMeasurementFromDatabase):
- NetworkProcess/DatabaseUtilities.h:
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDatabase.cpp: (WebKit::PCM::Database::insertPrivateClickMeasurement): (WebKit::PCM::Database::findPrivateClickMeasurement): (WebKit::PCM::Database::allAttributedPrivateClickMeasurement): (WebKit::PCM::Database::getDomainStringFromDomainID const): (WebKit::PCM::Database::buildPrivateClickMeasurementFromDatabase): Deleted. (WebKit::PCM::Database::getDomainStringFromDomainID): Deleted.
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDatabase.h:
- UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
- UIProcess/API/Cocoa/WKWebViewTesting.mm: (-[WKWebView _dumpPrivateClickMeasurement:]):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
- TestWebKitAPI/Tests/WebKitCocoa/PrivateClickMeasurement.mm: (webViewWithResourceLoadStatisticsEnabledInNetworkProcess): (addValuesToTable): (earliestTimeToSend): (addAttributedPCMv1): (addUnattributedPCMv1): (addAttributedPCMv2): (addUnattributedPCMv2): (addAttributedPCMv3): (addUnattributedPCMv3): (dumpedPCM): (pollUntilPCMIsMigrated): (emptyObservationsDBPath): (cleanUp): (createAndPopulateObservedDomainTable): (setUp): (TEST):
- TestWebKitAPI/Tests/WebKitCocoa/pcmWithoutFraudPreventionDatabase.db: Removed.
- TestWebKitAPI/Tests/WebKitCocoa/pcmWithoutFraudPreventionDatabase.db-shm: Removed.
- TestWebKitAPI/Tests/WebKitCocoa/pcmWithoutFraudPreventionDatabase.db-wal: Removed.
- TestWebKitAPI/Tests/WebKitCocoa/pcmWithoutReportingColumns.db: Removed.
- TestWebKitAPI/Tests/WebKitCocoa/pcmWithoutReportingColumns.db-shm: Removed.
- TestWebKitAPI/Tests/WebKitCocoa/pcmWithoutReportingColumns.db-wal: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281779 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [283776] by
-
- 5 edits in branches/safari-612-branch
Cherry-pick r281723. rdar://problem/83957360
Add UIEventAttribution SPI that uses PrivateClickMeasurementAttributionEphemeral::Yes
https://bugs.webkit.org/show_bug.cgi?id=229623
Reviewed by John Wilander.
Source/WebKit:
This will be used by rdar://80806283.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/API/ios/WKWebViewIOS.mm: (-[WKWebView _setEphemeralUIEventAttribution:]): (-[WKWebView _ephemeralUIEventAttribution]):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm: (TestWebKitAPI::TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281723 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:01 PM Changeset in webkit [283775] by
-
- 37 edits3 copies6 adds in branches/safari-612-branch
Cherry-pick r281721. rdar://problem/83957360
Separate PrivateClickMeasurement database from ResourceLoadStatistics database and add SPI to set its location
https://bugs.webkit.org/show_bug.cgi?id=229527
Reviewed by Kate Cheney.
Source/WebCore:
- loader/PrivateClickMeasurement.cpp: (WebCore::PrivateClickMeasurement::SourceSecretToken::isolatedCopy const): (WebCore::PrivateClickMeasurement::EphemeralSourceNonce::isolatedCopy const): (WebCore::PrivateClickMeasurement::SourceUnlinkableToken::isolatedCopy const): (WebCore::PrivateClickMeasurement::isolatedCopy const):
- loader/PrivateClickMeasurement.h:
Source/WebKit:
This will be used by rdar://80806283
In order to do this, I moved common code to DatabaseUtilities and moved the PCM logic from ResourceLoadStatisticsDatabaseStore
to a new class. It puts the data in a different file in the same directory unless SPI tells it to put it in a different directory.
The biggest functional change I needed to do was to make a PCMObservedDomains table in the new DB instead of an ObservedDomains table,
which contained more information than I needed. I need just an index and a list of domains.
Another slight implementation change is that instead of checking isEphemeral in WebResourceLoadStatisticsStore, I just pass an empty
String to the Store if it's ephemeral, which causes no DB to be created, which causes equivalent behavior.
I also moved the debug message broadcasting to PrivateClickMeasurementManager::attribute in order to make the Database object not
need to know about the NetworkProcess and not need to keep state of whether debug mode is enabled. Database::attributePrivateClickMeasurement
now returns a DebugInfo object and PrivateClickMeasurementManager::attribute checks whether debug mode is enabled and broadcasts the messages.
I added a few calls to PrivateClickMeasurement::isolatedCopy when moving an PrivateClickMeasurement object to another thread.
I added a CompletionHandler to clearPrivateClickMeasurement and clearPrivateClickMeasurementForRegistrableDomain
so that clearing website data doesn't say it's done until it's done.
An even smaller change is I added a "ForTesting" suffix on some function names of functions that are only used in tests.
The rest of this patch just moves code from one location to another.
I still need to implement migrating data from the old DB to the new DB. I'll do that in another patch soon.
- CMakeLists.txt:
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp: (WebKit::expectedTableAndIndexQueries): (WebKit::ResourceLoadStatisticsDatabaseStore::ResourceLoadStatisticsDatabaseStore): (WebKit::ResourceLoadStatisticsDatabaseStore::openITPDatabase): (WebKit::ResourceLoadStatisticsDatabaseStore::needsUpdatedSchema): (WebKit::insertDistinctValuesInTableStatement): (WebKit::ResourceLoadStatisticsDatabaseStore::openAndUpdateSchemaIfNecessary): (WebKit::ResourceLoadStatisticsDatabaseStore::interruptAllDatabases): (WebKit::ResourceLoadStatisticsDatabaseStore::createUniqueIndices): (WebKit::ResourceLoadStatisticsDatabaseStore::createSchema): (WebKit::ResourceLoadStatisticsDatabaseStore::destroyStatements): (WebKit::ResourceLoadStatisticsDatabaseStore::clearDatabaseContents): (WebKit::expectedUnattributedColumns): Deleted. (WebKit::expectedAttributedColumns): Deleted. (WebKit::ResourceLoadStatisticsDatabaseStore::close): Deleted. (WebKit::ResourceLoadStatisticsDatabaseStore::enableForeignKeys): Deleted. (WebKit::ResourceLoadStatisticsDatabaseStore::needsUpdatedPrivateClickMeasurementSchema): Deleted. (WebKit::ResourceLoadStatisticsDatabaseStore::addMissingColumnsToTable): Deleted. (WebKit::ResourceLoadStatisticsDatabaseStore::addMissingColumnsIfNecessary): Deleted. (WebKit::ResourceLoadStatisticsDatabaseStore::renameColumnInTable): Deleted. (WebKit::ResourceLoadStatisticsDatabaseStore::renameColumnsIfNecessary): Deleted. (WebKit::ResourceLoadStatisticsDatabaseStore::scopedStatement const): Deleted. (WebKit::ResourceLoadStatisticsDatabaseStore::interrupt): Deleted. (WebKit::ResourceLoadStatisticsDatabaseStore::buildPrivateClickMeasurementFromDatabase): Deleted. (WebKit::ResourceLoadStatisticsDatabaseStore::findPrivateClickMeasurement): Deleted. (WebKit::ResourceLoadStatisticsDatabaseStore::insertPrivateClickMeasurement): Deleted. (WebKit::ResourceLoadStatisticsDatabaseStore::markAllUnattributedPrivateClickMeasurementAsExpiredForTesting): Deleted. (WebKit::ResourceLoadStatisticsDatabaseStore::removeUnattributed): Deleted. (WebKit::ResourceLoadStatisticsDatabaseStore::attributePrivateClickMeasurement): Deleted. (WebKit::ResourceLoadStatisticsDatabaseStore::allAttributedPrivateClickMeasurement): Deleted. (WebKit::ResourceLoadStatisticsDatabaseStore::clearPrivateClickMeasurement): Deleted. (WebKit::ResourceLoadStatisticsDatabaseStore::clearExpiredPrivateClickMeasurement): Deleted. (WebKit::ResourceLoadStatisticsDatabaseStore::attributionToString): Deleted. (WebKit::ResourceLoadStatisticsDatabaseStore::privateClickMeasurementToString): Deleted. (WebKit::ResourceLoadStatisticsDatabaseStore::earliestTimesToSend): Deleted. (WebKit::ResourceLoadStatisticsDatabaseStore::markReportAsSentToSource): Deleted. (WebKit::ResourceLoadStatisticsDatabaseStore::markReportAsSentToDestination): Deleted. (WebKit::ResourceLoadStatisticsDatabaseStore::clearSentAttribution): Deleted. (WebKit::ResourceLoadStatisticsDatabaseStore::markAttributedPrivateClickMeasurementsAsExpiredForTesting): Deleted. (WebKit::ResourceLoadStatisticsDatabaseStore::beginTransactionIfNecessary): Deleted.
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
- NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.h:
- NetworkProcess/Classifier/ResourceLoadStatisticsStore.h:
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp: (WebKit::pcmStoreDirectory): (WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore): (WebKit::WebResourceLoadStatisticsStore::create): (WebKit::WebResourceLoadStatisticsStore::didDestroyNetworkSession): (WebKit::WebResourceLoadStatisticsStore::suspend): (WebKit::WebResourceLoadStatisticsStore::insertPrivateClickMeasurement): Deleted. (WebKit::WebResourceLoadStatisticsStore::markAllUnattributedPrivateClickMeasurementAsExpiredForTesting): Deleted. (WebKit::WebResourceLoadStatisticsStore::attributePrivateClickMeasurement): Deleted. (WebKit::WebResourceLoadStatisticsStore::allAttributedPrivateClickMeasurement): Deleted. (WebKit::WebResourceLoadStatisticsStore::clearPrivateClickMeasurement): Deleted. (WebKit::WebResourceLoadStatisticsStore::clearPrivateClickMeasurementForRegistrableDomain): Deleted. (WebKit::WebResourceLoadStatisticsStore::clearExpiredPrivateClickMeasurement): Deleted. (WebKit::WebResourceLoadStatisticsStore::privateClickMeasurementToString): Deleted. (WebKit::WebResourceLoadStatisticsStore::clearSentAttribution): Deleted. (WebKit::WebResourceLoadStatisticsStore::markAttributedPrivateClickMeasurementsAsExpiredForTesting): Deleted.
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
- NetworkProcess/DatabaseUtilities.cpp: Added. (WebKit::DatabaseUtilities::DatabaseUtilities): (WebKit::DatabaseUtilities::~DatabaseUtilities): (WebKit::DatabaseUtilities::scopedStatement const): (WebKit::DatabaseUtilities::beginTransactionIfNecessary): (WebKit::DatabaseUtilities::openDatabaseAndCreateSchemaIfNecessary): (WebKit::DatabaseUtilities::enableForeignKeys): (WebKit::DatabaseUtilities::close): (WebKit::DatabaseUtilities::interrupt):
- NetworkProcess/DatabaseUtilities.h: Copied from Source/WebKit/NetworkProcess/webrtc/NetworkRTCResolver.h.
- NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::deleteWebsiteData): (WebKit::NetworkProcess::deleteWebsiteDataForOrigins): (WebKit::NetworkProcess::prepareToSuspend): (WebKit::NetworkProcess::resume): (WebKit::NetworkProcess::clearPrivateClickMeasurement):
- NetworkProcess/NetworkResourceLoader.cpp: (WebKit::NetworkResourceLoader::willSendRedirectedRequest): (WebKit::NetworkResourceLoader::continueWillSendRedirectedRequest):
- NetworkProcess/NetworkSession.cpp: (WebKit::NetworkSession::NetworkSession): (WebKit::NetworkSession::setResourceLoadStatisticsEnabled): (WebKit::NetworkSession::recreateResourceLoadStatisticStore): (WebKit::NetworkSession::dumpPrivateClickMeasurement): (WebKit::NetworkSession::clearPrivateClickMeasurement): (WebKit::NetworkSession::clearPrivateClickMeasurementForRegistrableDomain):
- NetworkProcess/NetworkSession.h:
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDatabase.cpp: Added. (WebKit::PCM::Database::Database): (WebKit::PCM::Database::~Database): (WebKit::PCM::Database::interruptAllDatabases): (WebKit::PCM::Database::createSchema): (WebKit::PCM::Database::insertPrivateClickMeasurement): (WebKit::PCM::Database::markAllUnattributedPrivateClickMeasurementAsExpiredForTesting): (WebKit::PCM::Database::findPrivateClickMeasurement): (WebKit::PCM::Database::attributePrivateClickMeasurement): (WebKit::PCM::Database::buildPrivateClickMeasurementFromDatabase): (WebKit::PCM::Database::removeUnattributed): (WebKit::PCM::Database::allAttributedPrivateClickMeasurement): (WebKit::PCM::Database::privateClickMeasurementToStringForTesting): (WebKit::PCM::Database::attributionToStringForTesting): (WebKit::PCM::Database::markAttributedPrivateClickMeasurementsAsExpiredForTesting): (WebKit::PCM::Database::clearPrivateClickMeasurement): (WebKit::PCM::Database::clearExpiredPrivateClickMeasurement): (WebKit::PCM::Database::clearSentAttribution): (WebKit::PCM::Database::markReportAsSentToDestination): (WebKit::PCM::Database::markReportAsSentToSource): (WebKit::PCM::Database::earliestTimesToSend): (WebKit::PCM::Database::domainID): (WebKit::PCM::Database::getDomainStringFromDomainID): (WebKit::PCM::Database::ensureDomainID): (WebKit::PCM::Database::destroyStatements):
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDatabase.h: Added.
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDebugInfo.cpp: Copied from Source/WebKit/NetworkProcess/webrtc/NetworkRTCResolver.h. (WebKit::PCM::DebugInfo::isolatedCopy const): (WebKit::PCM::DebugInfo::Message::isolatedCopy const):
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDebugInfo.h: Copied from Source/WebKit/NetworkProcess/webrtc/NetworkRTCResolver.h.
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementStore.cpp: Added. (WebKit::PCM::sharedWorkQueue): (WebKit::PCM::Store::prepareForProcessToSuspend): (WebKit::PCM::Store::processDidResume): (WebKit::PCM::Store::Store): (WebKit::PCM::Store::postTask): (WebKit::PCM::Store::postTaskReply): (WebKit::PCM::Store::insertPrivateClickMeasurement): (WebKit::PCM::Store::markAllUnattributedPrivateClickMeasurementAsExpiredForTesting): (WebKit::PCM::Store::attributePrivateClickMeasurement): (WebKit::PCM::Store::privateClickMeasurementToStringForTesting): (WebKit::PCM::Store::allAttributedPrivateClickMeasurement): (WebKit::PCM::Store::markAttributedPrivateClickMeasurementsAsExpiredForTesting): (WebKit::PCM::Store::clearPrivateClickMeasurement): (WebKit::PCM::Store::clearPrivateClickMeasurementForRegistrableDomain): (WebKit::PCM::Store::clearExpiredPrivateClickMeasurement): (WebKit::PCM::Store::clearSentAttribution): (WebKit::PCM::Store::close):
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementStore.h: Added. (WebKit::PCM::Store::create):
- NetworkProcess/PrivateClickMeasurementManager.cpp: (WebKit::PrivateClickMeasurementManager::insertPrivateClickMeasurement): (WebKit::PrivateClickMeasurementManager::attribute): (WebKit::PrivateClickMeasurementManager::clearSentAttribution): (WebKit::PrivateClickMeasurementManager::firePendingAttributionRequests): (WebKit::PrivateClickMeasurementManager::clear): (WebKit::PrivateClickMeasurementManager::clearForRegistrableDomain): (WebKit::PrivateClickMeasurementManager::clearExpired): (WebKit::PrivateClickMeasurementManager::toStringForTesting const): (WebKit::PrivateClickMeasurementManager::markAllUnattributedAsExpiredForTesting): (WebKit::PrivateClickMeasurementManager::markAttributedPrivateClickMeasurementsAsExpiredForTesting): (WebKit::PrivateClickMeasurementManager::toString const): Deleted.
- NetworkProcess/PrivateClickMeasurementManager.h:
- NetworkProcess/PrivateClickMeasurementNetworkLoader.cpp: (WebKit::PrivateClickMeasurementNetworkLoader::~PrivateClickMeasurementNetworkLoader): (WebKit::PrivateClickMeasurementNetworkLoader::cancel): (WebKit::PrivateClickMeasurementNetworkLoader::willSendRedirectedRequest):
- NetworkProcess/PrivateClickMeasurementNetworkLoader.h:
- NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
- NetworkProcess/webrtc/NetworkRTCResolver.h:
- NetworkProcess/webrtc/NetworkRTCResolverCocoa.cpp: (WebKit::resolvedName):
- Shared/ResourceLoadStatisticsParameters.h: (WebKit::ResourceLoadStatisticsParameters::encode const): (WebKit::ResourceLoadStatisticsParameters::decode):
- Sources.txt:
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm: (+[WKWebsiteDataStore _setNetworkProcessSuspensionAllowedForTesting:]): (+[WKWebsiteDataStore _preventNetworkProcessSuspensionForTesting]): Deleted.
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
- UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h:
- UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm: (-[_WKWebsiteDataStoreConfiguration privateClickMeasurementStorageDirectory]): (-[_WKWebsiteDataStoreConfiguration setPrivateClickMeasurementStorageDirectory:]):
- UIProcess/Network/NetworkProcessProxy.cpp: (WebKit::NetworkProcessProxy::setSuspensionAllowedForTesting): (WebKit::NetworkProcessProxy::sendPrepareToSuspend): (WebKit::NetworkProcessProxy::preventSuspensionForTesting): Deleted.
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp: (WebKit::WebsiteDataStore::resolveDirectoriesIfNecessary): (WebKit::WebsiteDataStore::parameters):
- UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp: (WebKit::WebsiteDataStoreConfiguration::copy const):
- UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h: (WebKit::WebsiteDataStoreConfiguration::privateClickMeasurementStorageDirectory const): (WebKit::WebsiteDataStoreConfiguration::setPrivateClickMeasurementStorageDirectory):
- WebKit.xcodeproj/project.pbxproj:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm: (TestWebKitAPI::runBasicEventAttributionTest): (TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/PrivateClickMeasurement.mm: (TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281721 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:01 PM Changeset in webkit [283774] by
-
- 4 edits in branches/safari-612-branch
Cherry-pick r281699. rdar://problem/83953557
REGRESSION (r281516): imported/w3c/web-platform-tests/IndexedDB/serialize-sharedarraybuffer-throws.https.html is failing
https://bugs.webkit.org/show_bug.cgi?id=229501
<rdar://problem/82346152>
Reviewed by Darin Adler.
Tools:
In case of a COOP process-swap, the old process gets a didFailProvisionalLoadWithErrorForFrame delegate call. We want to ignore
this call in WKTR's injected bundle since it causes the test to dump its output too eagerly, before the test has had a chance
to run in the new process.
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::InjectedBundlePage::didFailProvisionalLoadWithErrorForFrame): (WTR::InjectedBundlePage::didCommitLoadForFrame):
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
LayoutTests:
Unskip tests now that they should no longer be flaky.
- platform/ios/TestExpectations:
- platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281699 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:01 PM Changeset in webkit [283773] by
-
- 3 edits in branches/safari-612-branch/Source/WebKit
Cherry-pick r281661. rdar://problem/83955525
Manually release SharedBitmap if CGBitmapContextCreateWithData fails and doesn't do it
https://bugs.webkit.org/show_bug.cgi?id=229428
<rdar://problem/82264138>
Reviewed by Darin Adler.
- Shared/ShareableBitmap.h:
- Shared/cg/ShareableBitmapCG.cpp: (WebKit::ShareableBitmap::createGraphicsContext): (WebKit::ShareableBitmap::releaseBitmapContextData):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281661 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:01 PM Changeset in webkit [283772] by
-
- 2 edits in branches/safari-612-branch/Source/WebCore
Cherry-pick r281495. rdar://problem/83954155
ThreadSanitizer: data race in WTF::StringImpl::deref() for WebCore::FormDataElement::EncodedFileData::filename
https://bugs.webkit.org/show_bug.cgi?id=229432
Patch by Alex Christensen <achristensen@webkit.org> on 2021-08-24
Reviewed by Darin Adler.
Call the FormDataElement destructor on the main thread in advanceCurrentStream.
- platform/network/cf/FormDataStreamCFNet.cpp: (WebCore::advanceCurrentStream): (WebCore::createHTTPBodyCFReadStream):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281495 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:01 PM Changeset in webkit [283771] by
-
- 3 edits in branches/safari-612-branch/Source/WebCore
Cherry-pick r281488. rdar://problem/83952981
Avoid unnecessary CGColor creation in Gradient::createCGGradient for common sRGB-only cases
https://bugs.webkit.org/show_bug.cgi?id=229422
<rdar://problem/82261384>
Reviewed by Sam Weinig.
- platform/graphics/Gradient.h:
- platform/graphics/cg/GradientCG.cpp: (WebCore::Gradient::hasOnlyBoundedSRGBColorStops const): (WebCore::Gradient::createCGGradient):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281488 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:01 PM Changeset in webkit [283770] by
-
- 25 edits2 adds in branches/safari-612-branch
Cherry-pick r281480. rdar://problem/83957360
PCM: Support ephemeral measurement with non-persistent WebCore::PrivateClickMeasurement
https://bugs.webkit.org/show_bug.cgi?id=228984
<rdar://problem/81778213>
Reviewed by Kate Cheney.
This patch adds support for ephemeral measurement with non-persistent
WebCore::PrivateClickMeasurement for direct response advertising.
Such advertising means there is only one pending click, held in memory,
and only stored right before the triggering event causes attribution
reports to be scheduled.
Source/WebCore:
Test: http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-ephemeral.html
- loader/PrivateClickMeasurement.h: (WebCore::PrivateClickMeasurement::SourceSite::operator!= const): (WebCore::PrivateClickMeasurement::AttributionDestinationSite::operator!= const): (WebCore::PrivateClickMeasurement::PrivateClickMeasurement):
Now takes an optional PrivateClickMeasurementAttributionEphemeral
parameter, set to PrivateClickMeasurementAttributionEphemeral::No
by default.
(WebCore::PrivateClickMeasurement::isEphemeral const):
(WebCore::PrivateClickMeasurement::setEphemeral):
(WebCore::PrivateClickMeasurement::encode const):
(WebCore::PrivateClickMeasurement::decode):
Source/WebKit:
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp: (WebKit::WebResourceLoadStatisticsStore::attributePrivateClickMeasurement):
Now takes an optional ephemeral PrivateClickMeasurement parameter
and stores it right before moving on with attribution.
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
- NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::setPrivateClickMeasurementEphemeralMeasurementForTesting):
Test infrastructure.
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/NetworkSession.cpp: (WebKit::NetworkSession::setPrivateClickMeasurementEphemeralMeasurementForTesting):
Test infrastructure.
- NetworkProcess/NetworkSession.h:
- NetworkProcess/PrivateClickMeasurementManager.cpp: (WebKit::PrivateClickMeasurementManager::storeUnattributed): (WebKit::PrivateClickMeasurementManager::getSignedUnlinkableToken): (WebKit::PrivateClickMeasurementManager::insertPrivateClickMeasurement):
New convenience function. Only stores in memory if the
PrivateClickMeasurement parameter is marked as ephemeral.
(WebKit::PrivateClickMeasurementManager::attribute):
Checks that the triggering event matches the ephemeral measurement if
it exists, and if so, forwards it.
(WebKit::PrivateClickMeasurementManager::clear):
Now clears the ephemeral state too.
- NetworkProcess/PrivateClickMeasurementManager.h: (WebKit::PrivateClickMeasurementManager::setEphemeralMeasurementForTesting):
Test infrastructure.
- UIProcess/API/C/WKPage.cpp: (WKPageSetPrivateClickMeasurementEphemeralMeasurementForTesting):
Test infrastructure.
- UIProcess/API/C/WKPagePrivate.h:
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::setPrivateClickMeasurementEphemeralMeasurementForTesting):
Test infrastructure.
- UIProcess/WebPageProxy.h:
Tools:
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setPrivateClickMeasurementEphemeralMeasurementForTesting):
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp: (WTR::TestController::setPrivateClickMeasurementEphemeralMeasurementForTesting):
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
LayoutTests:
- http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-ephemeral-expected.txt: Added.
- http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-ephemeral.html: Added.
- http/tests/privateClickMeasurement/resources/util.js: (tearDownAndFinish):
Resets the new testRunner.setPrivateClickMeasurementEphemeralMeasurementForTesting().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281480 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:01 PM Changeset in webkit [283769] by
-
- 28 edits6 adds in branches/safari-612-branch
Cherry-pick r281470. rdar://problem/83957311
LayoutTests/imported/w3c:
Preserve color space when getting current color in DisplayListDrawGlyphsRecorder.
https://bugs.webkit.org/show_bug.cgi?id=229024
<rdar://problem/81828477>
Reviewed by Sam Weinig.
Add tests for calling fillText() and strokeText() with a display-p3
color for fillStyle, strokeStyle, and shadowColor, on a display-p3 canvas.
- web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.fillText-expected.txt: Added.
- web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.fillText.html: Added.
- web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.fillText.shadow-expected.txt: Added.
- web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.fillText.shadow.html: Added.
- web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.strokeText-expected.txt: Added.
- web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.strokeText.html: Added.
- web-platform-tests/html/canvas/tools/yaml/element/color_space.yaml:
Source/WebCore:
Preserve color space when getting current color in DisplayList::DrawGlyphsRecorder
https://bugs.webkit.org/show_bug.cgi?id=229024
<rdar://problem/81828477>
Reviewed by Sam Weinig.
When GPU canvas is enabled, DrawGlyphsRecorder records the text fill,
stroke, and shadow colors by getting them from the context using
CGGStateGetFillColor etc. This is done so that color glyphs have each
part painted in the right color. But the current conversion from
CGColor to WebCore::Color lossily converts to sRGB. So we need to get
the color space and color components from the CGColor and preserve them.
The existing Color(CGColorRef) constructor is replaced by two
constructor functions, createAndPreserveColorSpace and
roundAndClampToSRGBALossy, so the conversion behavior is clear at call
sites. createAndPreserveColorSpace will match the CGColor's color
space to one of the predefined spaces that WebCore::Color can
represent. If it's some other color space, we convert to XYZ (on
platforms where that's available), since that will result in the least
loss, or to sRGB (on platforms where XYZ is not available).
CGColorSpaceEqualToColorSpace, which is used when determining the
CGColor's color space, is not very expensive, but it will do more than a
pointer comparison in case we pass in two CGColorSpaceRefs that are
equivalent but not the same pointer value. Since our new
colorSpaceForCGColorSpace function will be used with CGColors that have
been set WebCore during canvas drawing, we will get back the same
pointers that we have cached in sRGBColorSpaceRef(),
displayP3ColorSpaceRef(), etc. If calling CGColorSpaceEqualToColorSpace
on all our supported color spaces turns out to be too expensive, we
could start by doing a pointer comparison on each before calling
CGColorSpaceEqualToColorSpace.
The way colorSpaceForCGColorSpace is written we could end up
instantiating all of our supported color spaces, if an author used an
XYZ color when drawing text (the last color profile we check). We
could try harder to avoid doing this if it's important.
Tests: imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.fillText.html
imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.fillText.shadow.html
imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.strokeText.html
- page/CaptionUserPreferencesMediaAF.cpp: (WebCore::CaptionUserPreferencesMediaAF::captionsWindowCSS const): (WebCore::CaptionUserPreferencesMediaAF::captionsBackgroundCSS const): (WebCore::CaptionUserPreferencesMediaAF::captionsTextColor const):
- platform/graphics/Color.h: (WebCore::Color::createAndPreserveColorSpace): (WebCore::Color::createAndLosslesslyConvertToSupportedColorSpace):
- platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm: (WebCore::PlatformCALayerCocoa::backgroundColor const):
- platform/graphics/ca/cocoa/WebTiledBackingLayer.mm: (-[WebTiledBackingLayer setBorderColor:]):
- platform/graphics/ca/win/PlatformCALayerWin.cpp: (PlatformCALayerWin::backgroundColor const): (printColor):
- platform/graphics/ca/win/PlatformCALayerWinInternal.cpp: (PlatformCALayerWinInternal::drawRepaintCounters):
- platform/graphics/cg/ColorCG.cpp: (WebCore::roundAndClampToSRGBALossy): (WebCore::Color::createAndLosslesslyConvertToSupportedColorSpace): (WebCore::Color::createAndPreserveColorSpace): (WebCore::platformConvertColorComponents):
- platform/graphics/cg/ColorSpaceCG.cpp: (WebCore::colorSpaceForCGColorSpace):
- platform/graphics/cg/ColorSpaceCG.h:
- platform/graphics/displaylists/DisplayListDrawGlyphsRecorderCoreText.cpp: (WebCore::DisplayList::DrawGlyphsRecorder::updateShadow): (WebCore::DisplayList::DrawGlyphsRecorder::recordDrawGlyphs):
- platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: (WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer):
- platform/ios/PlatformPasteboardIOS.mm: (WebCore::PlatformPasteboard::color):
- rendering/RenderThemeIOS.mm: (WebCore::systemColorFromCSSValueSystemColorInformation):
Source/WebKit:
Preserve color space when getting current color in DisplayList::DrawGlyphsRecorder
https://bugs.webkit.org/show_bug.cgi?id=229024
<rdar://problem/81828477>
Reviewed by Sam Weinig.
Change existing CGColor -> WebCore::Color conversions to be explicit
about lossily converting to sRGB.
- UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView setUnderPageBackgroundColor:]):
- UIProcess/API/Cocoa/_WKApplicationManifest.mm: (-[_WKApplicationManifest initWithCoder:]):
- UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::platformUnderPageBackgroundColor const):
- WebProcess/Plugins/PDF/PDFPlugin.mm: (WebKit::PDFPlugin::PDFPlugin):
Tools:
Preserve color space when getting current color in DisplayList::DrawGlyphsRecorder
https://bugs.webkit.org/show_bug.cgi?id=229024
<rdar://problem/81828477>
Reviewed by Sam Weinig.
Change existing CGColor -> WebCore::Color conversions to be explicit
about lossily converting to sRGB.
- TestWebKitAPI/Tests/WebKitCocoa/SampledPageTopColor.mm: (TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281470 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:01 PM Changeset in webkit [283768] by
-
- 6 edits2 adds in branches/safari-612-branch
Cherry-pick r281463. rdar://problem/83955719
Pre-formatted content gets distorted when attempting to select content
https://bugs.webkit.org/show_bug.cgi?id=228655
<rdar://81288187>
Reviewed by Simon Fraser.
Source/WebCore:
"This property specifies whether the UA may break at otherwise disallowed points within
a line to prevent overflow, when an otherwise-unbreakable string is too long to fit within the line box.
It only has an effect when white-space allows wrapping."
(also see https://trac.webkit.org/changeset/10095/webkit where the wrapping behavior was introduced)
Test: fast/text/no-wrap-in-pre-with-word-wrap.html
- rendering/line/BreakingContext.h: (WebCore::BreakingContext::handleText):
LayoutTests:
- fast/text/no-wrap-in-pre-with-word-wrap-expected.html: Added.
- fast/text/no-wrap-in-pre-with-word-wrap.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281463 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:01 PM Changeset in webkit [283767] by
-
- 11 edits in branches/safari-612-branch
Cherry-pick r281349. rdar://problem/83957360
Make UIEventAttribution tests less platform dependent
https://bugs.webkit.org/show_bug.cgi?id=229323
Reviewed by John Wilander.
Source/WebKit:
This allows me to run the UIEventAttribution tests on macOS.
It also makes them not time out, which they were doing since r277447.
To accomplish this, I added more test SPI to prevent the network process
suspension message, which was causing the test to time out on the iOS simulator.
- UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
- UIProcess/API/Cocoa/WKWebViewTesting.mm: (-[WKWebView _addEventAttributionWithSourceID:destinationURL:sourceDescription:purchaser:reportEndpoint:optionalNonce:]):
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm: (+[WKWebsiteDataStore _preventNetworkProcessSuspensionForTesting]):
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
- UIProcess/API/ios/WKWebViewPrivateForTestingIOS.h:
- UIProcess/API/ios/WKWebViewTestingIOS.mm: (-[WKWebView _setUIEventAttributionForTesting:withNonce:]): Deleted.
- UIProcess/Network/NetworkProcessProxy.cpp: (WebKit::NetworkProcessProxy::preventSuspensionForTesting): (WebKit::NetworkProcessProxy::sendPrepareToSuspend):
- UIProcess/Network/NetworkProcessProxy.h:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm: (TestWebKitAPI::exampleURL): (TestWebKitAPI::runBasicEventAttributionTest): (TestWebKitAPI::TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281349 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:43 PM Changeset in webkit [283766] by
-
- 3 edits in trunk/Source/WebKit
[GPU Process] Unique RenderingResourceIdentifiers Part 2: Unroll PendingWakeupInformation::arguments
https://bugs.webkit.org/show_bug.cgi?id=231403
Reviewed by Wenson Hsieh.
We're in the process of replacing RenderingResourceIdentifiers in the GPU process with
QualifiedRenderingResourceIdentifier. Unfortunately, PendingWakeupInformation holds
a GPUProcessWakeupMessageArguments which itself holds a RenderingResourceIdentifiers.
PendingWakeupInformation is part of the GPU process, so it needs to migrate to
QualifiedRenderingResourceIdentifier, but GPUProcessWakeupMessageArguments is the type
of the arguments to the WakeUpAndApplyDisplayList message, so it can't hold a
QualifiedRenderingResourceIdentifier.
So, the solution is to unroll PendingWakeupInformation::arguments, and hoist its fields
directly into the PendingWakeupInformation. That way, PendingWakeupInformation can be
updated to use QualifiedRenderingResourceIdentifier, without affecting
the WakeUpAndApplyDisplayList message.
No new tests because there is no behavior change.
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::createImageBufferWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::nextDestinationImageBufferAfterApplyingDisplayLists):
(WebKit::RemoteRenderingBackend::wakeUpAndApplyDisplayList):
(WebKit::RemoteRenderingBackend::setNextItemBufferToRead):
(WebKit::RemoteRenderingBackend::cacheNativeImageWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::cacheFontWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::finalizeRenderingUpdate):
(WebKit::RemoteRenderingBackend::didCreateSharedDisplayListHandleWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::resumeFromPendingWakeupInformation):
- GPUProcess/graphics/RemoteRenderingBackend.h:
(WebKit::RemoteRenderingBackend::PendingWakeupInformation::arguments const):
(WebKit::RemoteRenderingBackend::PendingWakeupInformation::shouldPerformWakeup const):
- 6:34 PM Changeset in webkit [283765] by
-
- 13 edits in trunk
highWaterMark
should be a readonly WebIDL attribute of queuing strategies
https://bugs.webkit.org/show_bug.cgi?id=231355
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
- web-platform-tests/streams/idlharness.any-expected.txt:
- web-platform-tests/streams/idlharness.any.worker-expected.txt:
- web-platform-tests/streams/queuing-strategies.any-expected.txt:
- web-platform-tests/streams/queuing-strategies.any.worker-expected.txt:
Source/JavaScriptCore:
Removes now unused @Object.@defineProperty private method.
In most cases, property descriptor merging is unnecessary and @putDirect should be used instead.
- runtime/ObjectConstructor.cpp:
(JSC::ObjectConstructor::finishCreation):
Source/WebCore:
This patch:
- Makes
highWaterMark
a readonly WebIDL attribute, backed by private name, as per current spec [1], instead of an strategy's own property that was required before Streams Standard was moved to WebIDL. Ensures a TypeError is thrown for incorrect |this| value.
- Aligns extraction of
highWaterMark
for ByteLengthQueuingStrategy constructor with the spec [2]: throws a TypeError with user-friendly message for non-object argument instead of the obscure "undefined is not an object" and coerceshighWaterMark
member, if present, to a number; otherwise, throws a TypeError.
- Increases "length" of queuing strategy constructors to 1 as init argument is required.
Aligns WebKit with Blink and Gecko.
[1] https://streams.spec.whatwg.org/#blqs-internal-slots (also see note)
[2] https://heycam.github.io/webidl/#es-dictionary
Tests: imported/w3c/web-platform-tests/streams/idlharness.any.js
imported/w3c/web-platform-tests/streams/queuing-strategies.any.js
- Modules/streams/ByteLengthQueuingStrategy.idl:
- Modules/streams/ByteLengthQueuingStrategy.js:
(getter.highWaterMark):
(initializeByteLengthQueuingStrategy):
- Modules/streams/CountQueuingStrategy.idl:
- Modules/streams/CountQueuingStrategy.js:
(getter.highWaterMark):
(initializeCountQueuingStrategy):
- Modules/streams/StreamInternals.js:
(extractHighWaterMarkFromQueuingStrategyInit):
- 5:45 PM Changeset in webkit [283764] by
-
- 1 copy in tags/Safari-612.2.9.1.6
Tag Safari-612.2.9.1.6.
- 5:39 PM Changeset in webkit [283763] by
-
- 1 copy in tags/Safari-612.2.9.0.6
Tag Safari-612.2.9.0.6.
- 5:34 PM Changeset in webkit [283762] by
-
- 3 edits in trunk/Source/WebCore
De-virtualize two overrides of GraphicsContext::drawImage
https://bugs.webkit.org/show_bug.cgi?id=231399
Reviewed by Devin Rousso.
- platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContext::drawImage):
- platform/graphics/NullGraphicsContext.h:
Devin correctly noted in https://bugs.webkit.org/show_bug.cgi?id=231385#c5
that it doesn't make sense for the two variants of drawImage() that
just call the version with more arguments to be virtual, and indeed, they
are not overridden. Devirtualize them, and remove the NullGraphicsContext overrides.
- 5:32 PM Changeset in webkit [283761] by
-
- 9 edits in trunk/Source
Minor refactoring to use ScrollUpdate in more places
https://bugs.webkit.org/show_bug.cgi?id=231395
Reviewed by Myles C. Maxfield.
Source/WebCore:
ScrollUpdate is used to communicate changes from the scrolling tree back to FrameView etc.
Future patches will extend ScrollUpdate a little. Move to ScrollingCoordinatorTypes.h, and
pass ScrollUpdate to some more AsyncScrollingCoordinator functions, only unpacking at the
last minute.
Move ScrollType to the end of the updateScrollPositionAfterAsyncScroll() argument list since
it's not part of ScrollUpdate.
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
(WebCore::AsyncScrollingCoordinator::synchronizeStateFromScrollingTree):
(WebCore::AsyncScrollingCoordinator::applyPendingScrollUpdates):
(WebCore::AsyncScrollingCoordinator::applyScrollUpdate):
(WebCore::AsyncScrollingCoordinator::applyScrollPositionUpdate):
(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
- page/scrolling/AsyncScrollingCoordinator.h:
- page/scrolling/ScrollingCoordinatorTypes.h:
(WebCore::ScrollUpdate::canMerge const):
(WebCore::ScrollUpdate::merge):
- page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::takePendingScrollUpdates):
- page/scrolling/ScrollingTree.h:
(WebCore::ScrollingTree::ScrollUpdate::canMerge const): Deleted.
(WebCore::ScrollingTree::ScrollUpdate::merge): Deleted.
- page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
Source/WebKit:
- WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.mm:
(WebKit::RemoteScrollingCoordinator::scrollPositionChangedForNode):
- 5:22 PM Changeset in webkit [283760] by
-
- 1 copy in tags/Safari-611.4.2.0.3
Tag Safari-611.4.2.0.3.
- 5:09 PM Changeset in webkit [283759] by
-
- 2 edits in trunk/Tools
[webkitscmpy] Library should own contributors.json loading
https://bugs.webkit.org/show_bug.cgi?id=231310
<rdar://problem/83941327>
Unreviewed follow-up fix.
- Scripts/git-webkit: Fix imports.
- 4:45 PM Changeset in webkit [283758] by
-
- 9 edits in trunk/Tools
[webkitscmpy] Library should own contributors.json loading
https://bugs.webkit.org/show_bug.cgi?id=231310
<rdar://problem/83941327>
Reviewed by Dewei Zhu.
- Scripts/git-webkit: Do not load contributors from webkitpy.
- Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Scripts/libraries/webkitscmpy/webkitscmpy/contributor.py:
(Contributor.Encoder.default): Save contributor status to json.
(Contributor.Mapping.load): contributors.json is a list, may include
status, aliases and nicks.
(Contributor.Mapping.save): Save contributors to json file.
(Contributor.Mapping.iter): Iterate through all contributors.
(Contributor.init): Add status to contributor.
- Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:
(Scm.init): Attempt to load contributors.
- Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn.init): Set root_path before constructing base class.
- Scripts/libraries/webkitscmpy/webkitscmpy/scm_base.py:
(ScmBase.init): Only reset path if it's not already defined.
- Scripts/libraries/webkitscmpy/webkitscmpy/test/contributor_unittest.py:
(TestContributor.test_iteration):
- 4:43 PM Changeset in webkit [283757] by
-
- 27 edits2 adds in trunk/Source/WebCore
Introduce ShadowPseudoIds to store all UA shadow root pseudo-element ids
https://bugs.webkit.org/show_bug.cgi?id=231383
Reviewed by Wenson Hsieh.
Organize all UA shadow root pseudo-element ids in ShadowPseudoIds.
This refactoring also enables detection of a specific UA shadow root
element (for example: answering the question "is this element a caps
lock indicator?"). The implementation of 'appearance: auto' relies on
being able to to answer that question.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- html/BaseDateAndTimeInputType.cpp:
(WebCore::BaseDateAndTimeInputType::createShadowSubtreeAndUpdateInnerTextElementEditability):
- html/ColorInputType.cpp:
(WebCore::ColorInputType::createShadowSubtreeAndUpdateInnerTextElementEditability):
- html/FileInputType.cpp:
(WebCore::UploadButtonElement::createInternal):
- html/HTMLKeygenElement.cpp:
- html/HTMLMeterElement.cpp:
(WebCore::setValueClass):
(WebCore::HTMLMeterElement::didAddUserAgentShadowRoot):
- html/RangeInputType.cpp:
(WebCore::RangeInputType::createShadowSubtreeAndUpdateInnerTextElementEditability):
- html/SearchInputType.cpp:
(WebCore::updateResultButtonPseudoType):
- html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::createShadowSubtreeAndUpdateInnerTextElementEditability):
(WebCore::TextFieldInputType::createDataListDropdownIndicator):
(WebCore::autoFillButtonTypeToAutoFillButtonPseudoClassName):
(WebCore::isAutoFillButtonTypeChanged):
(WebCore::TextFieldInputType::createContainer):
- html/ValidationMessage.cpp:
(WebCore::ValidationMessage::buildBubbleTree):
- html/shadow/DateTimeEditElement.cpp:
(WebCore::DateTimeEditBuilder::visitLiteral):
(WebCore::DateTimeEditElement::create):
(WebCore::DateTimeEditElement::layout):
- html/shadow/DetailsMarkerControl.cpp:
(WebCore::DetailsMarkerControl::create):
- html/shadow/MediaControlTextTrackContainerElement.cpp:
(WebCore::MediaControlTextTrackContainerElement::create):
- html/shadow/ProgressShadowElement.cpp:
(WebCore::ProgressInnerElement::create):
(WebCore::ProgressBarElement::create):
(WebCore::ProgressValueElement::create):
- html/shadow/ShadowPseudoIds.cpp: Added.
(WebCore::ShadowPseudoIds::cue):
(WebCore::ShadowPseudoIds::fileSelectorButton):
(WebCore::ShadowPseudoIds::placeholder):
(WebCore::ShadowPseudoIds::webkitContactsAutoFillButton):
(WebCore::ShadowPseudoIds::webkitCredentialsAutoFillButton):
(WebCore::ShadowPseudoIds::webkitCreditCardAutoFillButton):
(WebCore::ShadowPseudoIds::webkitStrongPasswordAutoFillButton):
(WebCore::ShadowPseudoIds::webkitCapsLockIndicator):
(WebCore::ShadowPseudoIds::webkitColorSwatch):
(WebCore::ShadowPseudoIds::webkitColorSwatchWrapper):
(WebCore::ShadowPseudoIds::webkitDatetimeEdit):
(WebCore::ShadowPseudoIds::webkitDatetimeEditText):
(WebCore::ShadowPseudoIds::webkitDatetimeEditFieldsWrapper):
(WebCore::ShadowPseudoIds::webkitDateAndTimeValue):
(WebCore::ShadowPseudoIds::webkitDetailsMarker):
(WebCore::ShadowPseudoIds::webkitGenericCueRoot):
(WebCore::ShadowPseudoIds::webkitInnerSpinButton):
(WebCore::ShadowPseudoIds::webkitKeygenSelect):
(WebCore::ShadowPseudoIds::webkitListButton):
(WebCore::ShadowPseudoIds::webkitMediaSliderThumb):
(WebCore::ShadowPseudoIds::webkitMediaSliderContainer):
(WebCore::ShadowPseudoIds::webkitMediaTextTrackContainer):
(WebCore::ShadowPseudoIds::webkitMediaTextTrackDisplay):
(WebCore::ShadowPseudoIds::webkitMediaTextTrackDisplayBackdrop):
(WebCore::ShadowPseudoIds::webkitMediaTextTrackRegion):
(WebCore::ShadowPseudoIds::webkitMediaTextTrackRegionContainer):
(WebCore::ShadowPseudoIds::webkitMeterBar):
(WebCore::ShadowPseudoIds::webkitMeterInnerElement):
(WebCore::ShadowPseudoIds::webkitMeterOptimumValue):
(WebCore::ShadowPseudoIds::webkitMeterSuboptimumValue):
(WebCore::ShadowPseudoIds::webkitMeterEvenLessGoodValue):
(WebCore::ShadowPseudoIds::webkitPluginReplacement):
(WebCore::ShadowPseudoIds::webkitProgressBar):
(WebCore::ShadowPseudoIds::webkitProgressValue):
(WebCore::ShadowPseudoIds::webkitProgressInnerElement):
(WebCore::ShadowPseudoIds::webkitSearchDecoration):
(WebCore::ShadowPseudoIds::webkitSearchResultsButton):
(WebCore::ShadowPseudoIds::webkitSearchResultsDecoration):
(WebCore::ShadowPseudoIds::webkitSearchCancelButton):
(WebCore::ShadowPseudoIds::webkitSliderRunnableTrack):
(WebCore::ShadowPseudoIds::webkitSliderThumb):
(WebCore::ShadowPseudoIds::webkitSliderContainer):
(WebCore::ShadowPseudoIds::webkitTextfieldDecorationContainer):
(WebCore::ShadowPseudoIds::webkitValidationBubble):
(WebCore::ShadowPseudoIds::webkitValidationBubbleArrowClipper):
(WebCore::ShadowPseudoIds::webkitValidationBubbleArrow):
(WebCore::ShadowPseudoIds::webkitValidationBubbleMessage):
(WebCore::ShadowPseudoIds::webkitValidationBubbleIcon):
(WebCore::ShadowPseudoIds::webkitValidationBubbleTextBlock):
(WebCore::ShadowPseudoIds::webkitValidationBubbleHeading):
(WebCore::ShadowPseudoIds::webkitValidationBubbleBody):
- html/shadow/ShadowPseudoIds.h: Added.
- html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::resolveCustomStyle):
(WebCore::SliderContainerElement::resolveCustomStyle):
- html/shadow/SpinButtonElement.cpp:
(WebCore::SpinButtonElement::create):
- html/shadow/TextControlInnerElements.cpp:
(WebCore::TextControlPlaceholderElement::create):
(WebCore::SearchFieldCancelButtonElement::create):
- html/shadow/YouTubeEmbedShadowElement.cpp:
(WebCore::YouTubeEmbedShadowElement::create):
- html/track/TextTrackCue.cpp:
(WebCore::TextTrackCueBox::initialize):
(WebCore::tagPseudoObjects):
(WebCore::TextTrackCue::rebuildDisplayTree):
(WebCore::TextTrackCue::cueShadowPseudoId): Deleted.
(WebCore::TextTrackCue::cueBoxShadowPseudoId): Deleted.
(WebCore::TextTrackCue::cueBackdropShadowPseudoId): Deleted.
- html/track/TextTrackCue.h:
- html/track/VTTCue.cpp:
(WebCore::VTTCue::getDisplayTree):
- html/track/VTTRegion.cpp:
(WebCore::VTTRegion::getDisplayTree):
(WebCore::VTTRegion::prepareRegionDisplayTree):
(WebCore::VTTRegion::textTrackCueContainerShadowPseudoId): Deleted.
(WebCore::VTTRegion::textTrackRegionShadowPseudoId): Deleted.
- html/track/VTTRegion.h:
- page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::captionsStyleSheetOverride const):
- style/RuleData.cpp:
(WebCore::Style::determinePropertyAllowlistType):
- 4:37 PM Changeset in webkit [283756] by
-
- 4 edits2 adds in trunk
Shadowing of @font-palette-values rules doesn't work
https://bugs.webkit.org/show_bug.cgi?id=231218
<rdar://problem/83872258>
Reviewed by Wenson Hsieh.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-fonts/font-palette-32-expected.html: Added.
- web-platform-tests/css/css-fonts/font-palette-32.html: Added.
Source/WebCore:
https://drafts.csswg.org/css-fonts-4/#font-palette-values says:
When a given descriptor occurs multiple times in a given @font-palette-values rule,
only the last descriptor declaration is used.
Test: imported/w3c/web-platform-tests/css/css-fonts/font-palette-32.html
- css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::buildStarted):
(WebCore::CSSFontSelector::addFontPaletteValuesRule):
(WebCore::CSSFontSelector::lookupFontPaletteValues):
- css/CSSFontSelector.h:
- 4:30 PM Changeset in webkit [283755] by
-
- 9 edits2 adds in trunk/Source
Source/WebCore:
Do not check for firstLineStyle while constructing RenderText
https://bugs.webkit.org/show_bug.cgi?id=231370
<rdar://83973189>
Patch by Alan Bujtas <Alan Bujtas> on 2021-10-07
Reviewed by Antti Koivisto.
First line computation requires the renderer to be fully attached to the tree.
Let's check for "can use simplified text measuring for first line" at a later time, when we
construct the LFC tree instead.
Test: fast/inline/first-line-style-too-early-crash.html
- layout/formattingContexts/inline/InlineTextItem.cpp:
(WebCore::Layout::InlineTextItem::createAndAppendTextItems):
- layout/formattingContexts/inline/text/TextUtil.cpp:
(WebCore::Layout::TextUtil::canUseSimplifiedTextMeasuringForFirstLine):
- layout/formattingContexts/inline/text/TextUtil.h:
- layout/integration/LayoutIntegrationBoxTree.cpp:
(WebCore::LayoutIntegration::BoxTree::buildTree):
- rendering/RenderText.cpp:
(WebCore::RenderText::computeCanUseSimplifiedTextMeasuring const):
Source/WebKit:
[GPU Process] Unique RenderingResourceIdentifiers Part 1: Uniquify at entry points
https://bugs.webkit.org/show_bug.cgi?id=231281
<rdar://problem/83920780>
Reviewed by Chris Dumez.
Each web process creates its own RenderingResourceIdentifiers. Because the GPU process
can service multiple web processes, these identifiers can collide in the GPU process.
This is somewhat error prone, and might cause us to make a mistake in the future and
introduce a bug which lets one web process see another web process's resources (which
would be mega bad).
The goal of this project is to treat RenderingResourceIdentifiers in the GPU process
as a tuple of (the identifer we got from the web process, the process identifier of
the web process). This way, the tuples uniquely identify a resource across the entire
GPU process. Doing it this way makes it less likely that we'll make a mega bad mistake
in the future.
This patch is the first step: It introduces the QualifiedRenderingResourceIdentifier
type, which holds the tuple described above, and makes all the GPU process message
receivers immediately turn any RenderingResourceIdentifiers they received from the
web processes into QualifiedRenderingResourceIdentifiers. Not only do the identifiers
immediately get packed, but each message receiver now has an implementation function
which only accepts the QualifiedRenderingResourceIdentifier, so we can't make a
mistake and use the unpacked one accidentally.
Because this patch is just the first step, the QualifiedRenderingResourceIdentifiers
get unpacked eagerly, and the inner logic of the GPU process is unaffected. The
subsequent two patches will push the QualifiedRenderingResourceIdentifiers deeper
into the guts of the GPU process, eventually to the point where
RenderingResourceIdentifiers are never used there.
- GPUProcess/graphics/QualifiedRenderingResourceIdentifier.h: Added.
- GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::RemoteGraphicsContextGL::RemoteGraphicsContextGL):
(WebKit::RemoteGraphicsContextGL::paintRenderingResultsToCanvas):
(WebKit::RemoteGraphicsContextGL::paintRenderingResultsToCanvasWithQualifiedIdentifier):
(WebKit::RemoteGraphicsContextGL::paintCompositedResultsToCanvas):
(WebKit::RemoteGraphicsContextGL::paintCompositedResultsToCanvasWithQualifiedIdentifier):
(WebKit::RemoteGraphicsContextGL::paintPixelBufferToImageBuffer):
- GPUProcess/graphics/RemoteGraphicsContextGL.h:
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::createImageBuffer):
(WebKit::RemoteRenderingBackend::createImageBufferWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::getDataURLForImageBuffer):
(WebKit::RemoteRenderingBackend::getDataURLForImageBufferWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::getDataForImageBuffer):
(WebKit::RemoteRenderingBackend::getDataForImageBufferWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::getShareableBitmapForImageBuffer):
(WebKit::RemoteRenderingBackend::getShareableBitmapForImageBufferWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::cacheNativeImage):
(WebKit::RemoteRenderingBackend::cacheNativeImageWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::cacheFont):
(WebKit::RemoteRenderingBackend::cacheFontWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::releaseRemoteResource):
(WebKit::RemoteRenderingBackend::releaseRemoteResourceWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::didCreateSharedDisplayListHandle):
(WebKit::RemoteRenderingBackend::didCreateSharedDisplayListHandleWithQualifiedIdentifier):
- GPUProcess/graphics/RemoteRenderingBackend.h:
- WebKit.xcodeproj/project.pbxproj:
- 4:25 PM Changeset in webkit [283754] by
-
- 8 edits2 adds in trunk
Do not check for firstLineStyle while constructing RenderText
https://bugs.webkit.org/show_bug.cgi?id=231370
<rdar://83973189>
Reviewed by Antti Koivisto.
Source/WebCore:
First line computation requires the renderer to be fully attached to the tree.
Let's check for "can use simplified text measuring for first line" at a later time, when we
construct the LFC tree instead.
Test: fast/inline/first-line-style-too-early-crash.html
- layout/formattingContexts/inline/InlineTextItem.cpp:
(WebCore::Layout::InlineTextItem::createAndAppendTextItems):
- layout/formattingContexts/inline/text/TextUtil.cpp:
(WebCore::Layout::TextUtil::canUseSimplifiedTextMeasuringForFirstLine):
- layout/formattingContexts/inline/text/TextUtil.h:
- layout/integration/LayoutIntegrationBoxTree.cpp:
(WebCore::LayoutIntegration::BoxTree::buildTree):
- rendering/RenderText.cpp:
(WebCore::RenderText::computeCanUseSimplifiedTextMeasuring const):
LayoutTests:
- TestExpectations: existing bug surfaced by this change.
- fast/inline/first-line-style-too-early-crash-expected.txt: Added.
- fast/inline/first-line-style-too-early-crash.html: Added.
- 4:12 PM Changeset in webkit [283753] by
-
- 6 edits1 add in branches/safari-611.4.2.0-branch
Apply patch. rdar://problem/83512725
- 4:05 PM Changeset in webkit [283752] by
-
- 10 edits in trunk
Stop parsing font palette things that we can't implement
https://bugs.webkit.org/show_bug.cgi?id=230799
<rdar://problem/83537772>
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-fonts/parsing/font-palette-values-valid.html:
Source/WebCore:
We can't implement the <string> values in base-palette and override-colors. It's better
not to parse them, so this behavior can at least be feature detected by JS reading the
serialized value that was parsed.
I'm investigating changing the spec to disallow these unimplementable things in
https://github.com/w3c/csswg-drafts/issues/6627.
For base-palette, we were representing the absence of the descriptor by making the internal
representation hold a null string. Now that we're removing the string value from the internal
representation, this is now being represented by using an std::optional instead.
Test: imported/w3c/web-platform-tests/css/css-fonts/parsing/font-palette-values-valid.html
- css/CSSFontPaletteValuesRule.cpp:
(WebCore::CSSFontPaletteValuesRule::basePalette const):
(WebCore::CSSFontPaletteValuesRule::overrideColors const):
(WebCore::CSSFontPaletteValuesRule::cssText const):
- css/StyleRule.cpp:
(WebCore::StyleRuleFontPaletteValues::StyleRuleFontPaletteValues):
- css/StyleRule.h:
- css/parser/CSSParserImpl.cpp:
(WebCore::CSSParserImpl::consumeFontPaletteValuesRule):
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeBasePaletteDescriptor):
(WebCore::consumeOverrideColorsDescriptor):
- platform/graphics/FontPaletteValues.h:
(WebCore::FontPaletteIndex::operator bool const):
(WebCore::FontPaletteIndex::operator== const):
(WebCore::add):
(WebCore::FontPaletteValues::FontPaletteValues):
(WebCore::FontPaletteValues::basePalette const):
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::addAttributesForCustomFontPalettes):
- 4:00 PM Changeset in webkit [283751] by
-
- 4 edits in trunk/Tools
[webkitscmpy] Share cache between processes
https://bugs.webkit.org/show_bug.cgi?id=231176
<rdar://problem/83841221>
Reviewed by Dewei Zhu.
Generating the identifier cache is more expensive than reading a file with
that cache in it. This is particularly relevant for webservers, which are
likely running multiple processes.
Reviewed by Dewei Zhu.
- Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.Cache.init): Move cache loading into "load" function.
(Git.Cache.load): Open cache file.
(Git.Cache.to_hash): If we fail to find a match, attempt to load the file
before populating the file.
(Git.Cache.to_revision): Ditto.
(Git.Cache.to_identifier): Ditto.
- 3:55 PM Changeset in webkit [283750] by
-
- 1 edit1 delete in trunk/Tools
[contributors.json] Relocation (Part 7)
https://bugs.webkit.org/show_bug.cgi?id=229690
<rdar://problem/82552403>
Reviewed by Dewei Zhu.
- Scripts/webkitpy/common/config/contributors.json: Removed.
- 3:50 PM Changeset in webkit [283749] by
-
- 3 edits in trunk/Tools
[tvOS] Build simulator for arm64
https://bugs.webkit.org/show_bug.cgi?id=231390
<rdar://problem/83998448>
Reviewed by Alexey Proskuryakov.
- CISupport/build-webkit-org/config.json: Change tvOS simulator build to arm64.
- CISupport/ews-build/config.json: Ditto.
- 3:27 PM Changeset in webkit [283748] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] Marking expectations as slow for the tests that are flaky timing out.
https://bugs.webkit.org/show_bug.cgi?id=231397
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 3:18 PM Changeset in webkit [283747] by
-
- 7 edits in trunk
BifurcatedGraphicsContext doesn't bifurcate draw{Tiled}Image
https://bugs.webkit.org/show_bug.cgi?id=231385
<rdar://problem/83922633>
Reviewed by Devin Rousso.
Source/WebCore:
New API Test: BifurcatedGraphicsContextTests.DrawGradientImage, DrawTiledGradientImage
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/GradientImage.h:
Export GradientImage's constructor and GradientImage and GeneratedImage headers.
- platform/graphics/BifurcatedGraphicsContext.cpp:
(WebCore::BifurcatedGraphicsContext::drawTiledImage):
(WebCore::BifurcatedGraphicsContext::drawImage):
(WebCore::BifurcatedGraphicsContext::drawImageForCanvas):
- platform/graphics/BifurcatedGraphicsContext.h:
Forward draw{Tiled}Image to both GraphicsContext instances.
I had initially avoided it because I assumed drawNativeImage would
be the eventual result, but because of the non-BitmapImage subclasses
that is actually not the case! For example, in the gradient case,
drawing the image results in GradientCG directly interacting with the
platform context, not round-tripping back through GraphicsContext,
so the commands are not replicated.
Tools:
- TestWebKitAPI/Tests/WebCore/cg/BifurcatedGraphicsContextTestsCG.cpp:
(TestWebKitAPI::TEST):
Add some test.
- 3:12 PM Changeset in webkit [283746] by
-
- 2 edits in trunk/Tools
[build.webkit.org] Build iOS 15 as universal binary
https://bugs.webkit.org/show_bug.cgi?id=231389
<rdar://problem/83997697>
Reviewed by Ryan Haddad.
- CISupport/build-webkit-org/config.json: Make iOS 15 Simulator Release build universal.
- 2:29 PM Changeset in webkit [283745] by
-
- 2 edits in trunk/Tools
[WinCairo] Support run-jsc-stress-tests without posix commands
https://bugs.webkit.org/show_bug.cgi?id=231101
Reviewed by Adrian Perez de Castro.
Add support for collecting the test result files when not on
a posix host platform by roughly emulating the find command
current used in ruby code when using the ruby-runner or
for playstation.
- Scripts/run-jsc-stress-tests:
- 2:25 PM Changeset in webkit [283744] by
-
- 2 edits in trunk/LayoutTests
[ iOS 15 Debug ] fast/selectors/is-complex.html is timing out.
https://bugs.webkit.org/show_bug.cgi?id=231391
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 2:22 PM Changeset in webkit [283743] by
-
- 6 edits in trunk/Tools
[WebKitBot] Land local changes on production host
https://bugs.webkit.org/show_bug.cgi?id=231388
<rdar://problem/83996428>
Reviewed by Yusuke Suzuki.
- WebKitBot/src/Commit.mjs: Add Slack ID integration.
- WebKitBot/src/Contributors.mjs: Ditto.
- WebKitBot/src/Utility.mjs:
- WebKitBot/src/WebKitBot.mjs: Add "hi" and "yt" commands.
- WebKitBot/src/index.mjs:
- 2:08 PM Changeset in webkit [283742] by
-
- 29 edits in trunk
[css-ui] Parsing support for accent-color
https://bugs.webkit.org/show_bug.cgi?id=231334
rdar://83955508
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- web-platform-tests/css/css-ui/accent-color-computed-expected.txt:
- web-platform-tests/css/css-ui/accent-color-parsing-expected.txt:
- web-platform-tests/css/css-ui/animation/accent-color-interpolation-expected.txt:
- web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
- web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
Source/WebCore:
Add parsing support for accent-color as specified in
https://www.w3.org/TR/css-ui-4/#widget-accent. The grammar is
"accent-color: auto | <color>".
Implemented behind a disabled-by-default experimental setting.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
- css/CSSProperties.json:
- css/parser/CSSParserContext.cpp:
(WebCore::operator==):
(WebCore::add):
(WebCore::CSSParserContext::isPropertyRuntimeDisabled const):
- css/parser/CSSParserContext.h:
- css/parser/CSSParserFastPaths.cpp:
(WebCore::parseColorWithAuto):
(WebCore::CSSParserFastPaths::maybeParseValue):
(WebCore::parseCaretColor): Deleted.
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeColorWithAuto):
(WebCore::CSSPropertyParser::parseSingleValue):
(WebCore::consumeCaretColor): Deleted.
- rendering/style/RenderStyle.cpp:
(WebCore::rareInheritedDataChangeRequiresRepaint):
(WebCore::RenderStyle::unresolvedColorForProperty const):
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::setAccentColor):
(WebCore::RenderStyle::setHasAutoAccentColor):
(WebCore::RenderStyle::accentColor const):
(WebCore::RenderStyle::hasAutoAccentColor const):
- rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator== const):
- rendering/style/StyleRareInheritedData.h:
- style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyInitialAccentColor):
(WebCore::Style::BuilderCustom::applyInheritAccentColor):
(WebCore::Style::BuilderCustom::applyValueAccentColor):
Source/WTF:
- Scripts/Preferences/WebPreferencesExperimental.yaml:
LayoutTests:
Platform-specific rebaselines.
- platform/gtk/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
- platform/ios/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
- 1:59 PM Changeset in webkit [283741] by
-
- 2 edits in trunk/LayoutTests
Cleaning up expectations for iOS 15.
https://bugs.webkit.org/show_bug.cgi?id=230968
Unreviewed test gardening.
- platform/ios/TestExpectations:
- 1:36 PM Changeset in webkit [283740] by
-
- 10 edits in trunk/Source/WebCore
Cache PannerNode's azimuth, elevation and coneGain
https://bugs.webkit.org/show_bug.cgi?id=231314
Reviewed by Eric Carlson.
Cache PannerNode's azimuth, elevation and coneGain for better performance. I have noticed while profiling
https://downloads.scirra.com/labs/bugs/safaripannerquality/ that PannerNode::process() spends most of its
CPU time under PannerNode::calculateAzimuthElevation(). We shouldn't have to re-calculate those properties
for every rendering quantum.
- Modules/webaudio/AudioListener.cpp:
(WebCore::AudioListener::updateDirtyState):
- Modules/webaudio/AudioListener.h:
(WebCore::AudioListener::isPositionDirty const):
(WebCore::AudioListener::isOrientationDirty const):
(WebCore::AudioListener::isUpVectorDirty const):
- Modules/webaudio/BaseAudioContext.cpp:
(WebCore::BaseAudioContext::handlePreRenderTasks):
- Modules/webaudio/PannerNode.cpp:
(WebCore::PannerNode::process):
(WebCore::PannerNode::processSampleAccurateValues):
(WebCore::PannerNode::setDistanceModelForBindings):
(WebCore::PannerNode::setRefDistanceForBindings):
(WebCore::PannerNode::setMaxDistanceForBindings):
(WebCore::PannerNode::setRolloffFactorForBindings):
(WebCore::PannerNode::setConeOuterGainForBindings):
(WebCore::PannerNode::setConeOuterAngleForBindings):
(WebCore::PannerNode::setConeInnerAngleForBindings):
(WebCore::PannerNode::calculateAzimuthElevation):
(WebCore::PannerNode::azimuthElevation const):
(WebCore::PannerNode::calculateDistanceConeGain):
(WebCore::PannerNode::distanceConeGain):
(WebCore::PannerNode::invalidateCachedPropertiesIfNecessary):
(WebCore::PannerNode::azimuthElevation): Deleted.
- Modules/webaudio/PannerNode.h:
- platform/audio/Cone.cpp:
(WebCore::ConeEffect::gain const):
(WebCore::ConeEffect::gain): Deleted.
- platform/audio/Cone.h:
- platform/audio/Distance.cpp:
(WebCore::DistanceEffect::gain const):
(WebCore::DistanceEffect::linearGain const):
(WebCore::DistanceEffect::inverseGain const):
(WebCore::DistanceEffect::exponentialGain const):
(WebCore::DistanceEffect::gain): Deleted.
(WebCore::DistanceEffect::linearGain): Deleted.
(WebCore::DistanceEffect::inverseGain): Deleted.
(WebCore::DistanceEffect::exponentialGain): Deleted.
- platform/audio/Distance.h:
- 1:26 PM Changeset in webkit [283739] by
-
- 2 edits in trunk/LayoutTests
[ iOS 15 Debug ] imported/w3c/web-platform-tests/IndexedDB/interleaved-cursors-small.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=231387
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 1:17 PM Changeset in webkit [283738] by
-
- 2 edits in trunk/LayoutTests
[ BigSur wk2 ] http/tests/resourceLoadStatistics/website-data-removal-for-site-with-user-interaction.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=231386.
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 1:11 PM Changeset in webkit [283737] by
-
- 2 edits in trunk/LayoutTests
Remove expectation for accessibility/misspelling-range.html from ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=231261
Unreviewed test gardening.
- 12:57 PM Changeset in webkit [283736] by
-
- 6 edits in trunk
Misc compiler warning fixes, October 2021
https://bugs.webkit.org/show_bug.cgi?id=231377
Patch by Michael Catanzaro <Michael Catanzaro> on 2021-10-07
Reviewed by Adrian Perez de Castro.
Source/WebCore:
Fix -Wreturn-type warnings.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::fontPaletteFromStyle):
- css/CSSFontPaletteValuesRule.cpp:
(WebCore::CSSFontPaletteValuesRule::basePalette const):
- platform/graphics/opengl/GraphicsContextGLOpenGL.cpp:
(WebCore::GraphicsContextGLOpenGL::releaseThreadResources):
Tools:
Stop testing the default value of the XSS auditor setting. I could have used
IGNORE_DEPRECATED_DECLARATIONS_BEGIN instead, but I see no point in testing the default
value of a setting that no longer does anything.
- TestWebKitAPI/Tests/WebKit/WKPreferences.cpp:
(TestWebKitAPI::TEST):
- 12:48 PM Changeset in webkit [283735] by
-
- 5 edits1 delete in trunk
[GTK][WPE] Disable privateClickMeasurement when creating the network process
https://bugs.webkit.org/show_bug.cgi?id=231175
Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2021-10-07
Reviewed by Adrian Perez de Castro.
Source/WebKit:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::sendCreationParametersToNewProcess):
LayoutTests:
Skip privateClickMeasurement tests on GTK and WPE.
- platform/glib/TestExpectations:
- platform/glib/http/tests/privateClickMeasurement/attribution-conversion-through-cross-site-image-redirect-expected.txt: Removed.
- platform/glib/http/tests/privateClickMeasurement/attribution-conversion-through-fetch-keepalive-expected.txt: Removed.
- platform/glib/http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-ephemeral-expected.txt: Removed.
- platform/glib/http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-in-new-window-expected.txt: Removed.
- platform/glib/http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-with-priority-expected.txt: Removed.
- platform/glib/http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-without-priority-expected.txt: Removed.
- platform/glib/http/tests/privateClickMeasurement/conversion-disabled-in-ephemeral-session-expected.txt: Removed.
- platform/glib/http/tests/privateClickMeasurement/private-click-measurement-with-source-nonce-null-content-expected.txt: Removed.
- platform/glib/http/tests/privateClickMeasurement/private-click-measurement-with-source-nonce-wrong-content-type-expected.txt: Removed.
- platform/glib/http/tests/privateClickMeasurement/second-attribution-converted-with-higher-priority-expected.txt: Removed.
- platform/glib/http/tests/privateClickMeasurement/second-attribution-converted-with-lower-priority-expected.txt: Removed.
- platform/glib/http/tests/privateClickMeasurement/second-conversion-with-higher-priority-expected.txt: Removed.
- platform/glib/http/tests/privateClickMeasurement/second-conversion-with-lower-priority-expected.txt: Removed.
- platform/glib/http/tests/privateClickMeasurement/store-private-click-measurement-expected.txt: Removed.
- platform/wpe/TestExpectations:
- 12:31 PM Changeset in webkit [283734] by
-
- 2 edits in branches/safari-613.1.4-branch/Source/JavaScriptCore
Cherry-pick r283632. rdar://problem/83985604
Speculative fix for a null pointer dereference in ByteCodeParser::handlePutByVal.
https://bugs.webkit.org/show_bug.cgi?id=231252
rdar://83310320
Reviewed by Yusuke Suzuki.
We're seeing a null pointer dereference in ByteCodeParser::handlePutByVal().
Adding a null check here as a speculative fix to mitigate crashes while we
investigate further.
- dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::handlePutByVal):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283632 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:31 PM Changeset in webkit [283733] by
-
- 9 edits in branches/safari-613.1.4-branch/Source/WebKit
Revert r283187. rdar://problem/83985586
- 12:27 PM WikiStart edited by
- (diff)
- 12:24 PM AnalyzingBuildPerformance edited by
- (diff)
- 12:14 PM AnalyzingBuildPerformance edited by
- (diff)
- 12:12 PM Changeset in webkit [283732] by
-
- 5 edits in trunk/Source
Add feature flag for COOP / COEP violation reporting and turn off by default
https://bugs.webkit.org/show_bug.cgi?id=231371
Reviewed by Youenn Fablet.
Add feature flag for COOP / COEP violation reporting and turn off by default since our
implementation doesn't match the latest specification.
Source/WebCore:
- loader/CrossOriginEmbedderPolicy.cpp:
(WebCore::sendCOEPPolicyInheritenceViolation):
(WebCore::sendCOEPCORPViolation):
- loader/CrossOriginOpenerPolicy.cpp:
(WebCore::sendViolationReportWhenNavigatingToCOOPResponse):
(WebCore::sendViolationReportWhenNavigatingAwayFromCOOPResponse):
Source/WTF:
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- 11:56 AM Changeset in webkit [283731] by
-
- 2 edits in trunk/Source/WebKit
Fix the macCatalyst build
https://bugs.webkit.org/show_bug.cgi?id=231373
rdar://83984197
Reviewed by Tim Horton.
- UIProcess/API/ios/WKWebViewIOS.mm: Add missing import.
- 11:55 AM Changeset in webkit [283730] by
-
- 2 edits in trunk/LayoutTests
security/contentSecurityPolicy/video-with-blob-url-allowed-by-media-src-star.html and security/contentSecurityPolicy/video-with-data-url-allowed-by-media-src-star.html are flaky.
https://bugs.webkit.org/show_bug.cgi?id=155196
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 11:41 AM Changeset in webkit [283729] by
-
- 2 edits in trunk/LayoutTests
[ iOS 15 ] Rebaselining platform/ios/ios/fast/text/opticalFontWithWeight.html.
https://bugs.webkit.org/show_bug.cgi?id=231380
Unreviewed test gardening.
- platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt:
- 11:38 AM Changeset in webkit [283728] by
-
- 11 edits in trunk
Web Inspector: WebInspectorExtensionTabContentView should not reload its iframe when detached
https://bugs.webkit.org/show_bug.cgi?id=230758
<rdar://74714861>
Reviewed by Timothy Hatcher.
Source/WebInspectorUI:
When an <iframe> element detaches from the DOM, the script context is destroyed, which we don't
want to happen for _WKInspectorExtension tabs. Fix this by teaching ContentViewContainer to
'hide' such content views by settingdisplay:none
rather than detaching from the DOM.
- UserInterface/Views/ContentViewContainer.js:
(WI.ContentViewContainer.prototype._showEntry):
(WI.ContentViewContainer.prototype._hideEntry):
Set and unset 'display:none' instead of calling addSubview() / removeSubview().
- UserInterface/Views/ContentViewContainer.css:
(.content-view-container > .content-view.hidden-for-detach): Added.
(WI.ContentViewContainer.prototype._disassociateFromContentView):
Clean up any remaining content views that were not detached due to overriding shouldNotRemoveFromDOMWhenHidden.
- UserInterface/Views/ContentView.js:
(WI.ContentView.prototype.get shouldNotRemoveFromDOMWhenHidden): Added.
- UserInterface/Views/WebInspectorExtensionTabContentView.js:
(WI.WebInspectorExtensionTabContentView):
(WI.WebInspectorExtensionTabContentView.prototype.get shouldNotRemoveFromDOMWhenHidden):
Override this to opt into the alternate behavior that does not detach from the DOM. It is still
necessary to call attached() and detached() so that WebInpectorExtensionTabContentView can generate
didShowExtensionTab/didHideExtensionTab event callbacks.
- UserInterface/Controllers/WebInspectorExtensionController.js:
(WI.WebInspectorExtensionController.prototype.get registeredExtensionIDs):
- UserInterface/Debug/Bootstrap.js:
(updateMockWebExtensionTab):
(WI.runBootstrapOperations):
This is a drive-by fix to address a console assertion seen while developing the API test.
Don't unregister the mock extension if it is not registered in the first place.
Tools:
Add a new test to verify that re-selecting an extension tab does not cause it to reload.
- TestWebKitAPI/Tests/WebKitCocoa/InspectorExtension-basic-tab.html:
- TestWebKitAPI/Tests/WebKitCocoa/WKInspectorExtension.mm:
(TEST):
- 11:35 AM Changeset in webkit [283727] by
-
- 2 edits in trunk/LayoutTests
[ BigSur wk2 Release ] http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=231379.
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 11:32 AM Changeset in webkit [283726] by
-
- 4 edits in trunk/Source/WebCore
[LFC][Integration] Use optimized InlineContent::boxesForRect for hit testing
https://bugs.webkit.org/show_bug.cgi?id=231363
Reviewed by Alan Bujtas.
This makes hit testing large blocks faster.
- layout/integration/LayoutIntegrationInlineContent.cpp:
(WebCore::LayoutIntegration::InlineContent::boxesForRect const):
(WebCore::LayoutIntegration:: const): Deleted.
- layout/integration/LayoutIntegrationInlineContent.h:
(WebCore::LayoutIntegration::InlineContent::BoxRange::begin const):
(WebCore::LayoutIntegration::InlineContent::BoxRange::end const):
(WebCore::LayoutIntegration::InlineContent::BoxRange::rbegin const):
(WebCore::LayoutIntegration::InlineContent::BoxRange::rend const):
Add a reversable iterator.
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::hitTest):
Hit test using boxesForRect.
- 11:28 AM Changeset in webkit [283725] by
-
- 2 edits in trunk/LayoutTests
[ iOS 15 ] platform/ios/fast/text/system-monospaced-numbers.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=231378
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 11:17 AM Changeset in webkit [283724] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] CSS Flexbox tests are constant failure (fixed-table-layout-with-percentage-width-in-flex-item.html and flex-item-compressible-001.html).
https://bugs.webkit.org/show_bug.cgi?id=230773
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 11:15 AM Changeset in webkit [283723] by
-
- 10 edits3 adds2 deletes in trunk
Web Inspector: Styles: format style declarations after editing
https://bugs.webkit.org/show_bug.cgi?id=178835
<rdar://problem/35185060>
Reviewed by Devin Rousso.
Source/WebInspectorUI:
Indent CSS properties with spaces/tabs set in Web Inspector settings. Increse indentation level when CSS rules are
inside of at-rules (e.g. @media, @keyframes, @supports).
Don't indent CSS properties in style attributes. Keep them on the single line, separated by a space character:
style="font-size: 12px; color: black;"
- UserInterface/Models/CSSProperty.js:
(WI.CSSProperty.prototype.set text):
Introduce_isTextPendingSave
flag. It's needed when saving pasted text, and saving commented out or uncommented CSS properties.
(WI.CSSProperty.prototype.get formattedText):
(WI.CSSProperty.prototype.replaceWithText): Deleted.
This is redundant - settingtext
works the same.
(WI.CSSProperty.prototype._updateStyleText):
(WI.CSSProperty.prototype._updateOwnerStyleText):
(WI.CSSProperty.prototype._prependSemicolonIfNeeded): Deleted.
Greatly simplify the logic now that we save formatted text and don't modify styleText.
- UserInterface/Models/CSSStyleDeclaration.js:
(WI.CSSStyleDeclaration.prototype.removeProperty):
Remode unnecessary code that modifies_styleSheetTextRange
. The backend sends new_styleSheetTextRange
data
upon a change.
(WI.CSSStyleDeclaration.prototype.generateFormattedText): Renamed from 'generateCSSRuleString'.
- UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
(WI.SpreadsheetCSSStyleDeclarationSection.prototype._populateIconElementContextMenu):
- UserInterface/Views/SpreadsheetStyleProperty.js:
(WI.SpreadsheetStyleProperty.prototype.remove):
LayoutTests:
- Indent text of expected CSS properties.
- Test generateFormattedText with all permutations of its options.
- Add a basic test ensuring styleSheetTextRange updates correctly from the backend.
- inspector/css/add-css-property.html:
- inspector/css/generateCSSRuleString-expected.txt: Removed.
- inspector/css/generateCSSRuleString.html: Removed.
- inspector/css/generateFormattedText-expected.txt: Added.
- inspector/css/generateFormattedText.html: Added.
- inspector/css/modify-css-property-expected.txt:
- inspector/css/modify-css-property.html:
- inspector/css/modify-inline-style-expected.txt:
- inspector/css/resources/modify-css-property.css: Added.
(.rule-a):
(.rule-b):
(.rule-c):
(.rule-d):
- 11:08 AM Changeset in webkit [283722] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, build fix for non-unified JSC.
- dfg/DFGBackwardsPropagationPhase.cpp:
Add missing include.
- 10:58 AM Changeset in webkit [283721] by
-
- 23 edits in trunk/Source
Get rid of the deviceClass function, up-leveling to deviceClassIsSmallScreen
https://bugs.webkit.org/show_bug.cgi?id=231344
Reviewed by Tim Horton.
Source/WebCore:
- platform/ios/Device.cpp:
(WebCore::deviceClassIsSmallScreen): Replaced deviceClass with this.
- platform/ios/Device.h: Ditto.
Source/WebKit:
- Shared/UserInterfaceIdiom.h:
- Shared/UserInterfaceIdiom.mm:
(WebKit::currentUserInterfaceIdiomIsSmallScreen): Renamed to say "is small screen"
instead of "is phone or watch", the same concept. Also switched to TriState instead
of using a unique enumeration.
(WebKit::setCurrentUserInterfaceIdiomIsSmallScreen): Ditto.
(WebKit::updateCurrentUserInterfaceIdiom): Updated for name change.
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const): Updated for name change.
(WebKit::WebProcessCreationParameters::decode): Ditto.
- Shared/WebProcessCreationParameters.h: Ditto.
- Shared/ios/WebPreferencesDefaultValuesIOS.mm:
(WebKit::defaultTextAutosizingUsesIdempotentMode): Updated for name change.
(WebKit::defaultMediaSourceEnabled): Use !deviceClassIsSmallScreen instead of
deviceClass != iPhone and != iPod, and also remove unneeded compile time conditionals.
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm: Removed uneeded Device.h include.
(-[WKWebViewConfiguration init]): Updated for name change.
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess): Ditto.
(WebKit::WebProcessPool::registerNotificationObservers): Ditto, also got rid of
local variable.
- UIProcess/ios/SmartMagnificationController.mm:
(WebKit::SmartMagnificationController::didCollectGeometryForSmartMagnificationGesture):
Updated for name change.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKFormInputSession setAccessoryViewCustomButtonTitle:]): Ditto.
(-[WKContentView endEditingAndUpdateFocusAppearanceWithReason:]): Ditto.
(-[WKContentView _shouldShowAutomaticKeyboardUIIgnoringInputMode]): Ditto.
(-[WKContentView _zoomToRevealFocusedElement]): Ditto.
(-[WKContentView _elementTypeRequiresAccessoryView:]): Ditto.
(-[WKContentView _updateAccessory]): Ditto.
(-[WKContentView _shouldUseLegacySelectPopoverDismissalBehavior]): Ditto.
- UIProcess/ios/WebDataListSuggestionsDropdownIOS.mm:
(WebKit::WebDataListSuggestionsDropdownIOS::show): Ditto.
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::desktopClassBrowsingSupported): Ditto.
- UIProcess/ios/forms/WKAirPlayRoutePicker.mm:
(-[WKAirPlayRoutePicker show:fromRect:]): Ditto.
- UIProcess/ios/forms/WKFileUploadPanel.mm:
(-[WKFileUploadPanel _showPhotoPickerWithSourceType:]): Ditto.
(-[WKFileUploadPanel _presentMenuOptionForCurrentInterfaceIdiom:]): Ditto.
- UIProcess/ios/forms/WKFormSelectControl.mm:
(-[WKFormSelectControl initWithView:]): Ditto.
- UIProcess/ios/forms/WKFormSelectPicker.mm:
(-[WKSelectMultiplePicker configurePresentation]): Ditto.
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess): Ditto.
(WebKit::WebProcess::userInterfaceIdiomDidChange): Ditto.
Source/WebKitLegacy/mac:
- WebView/WebPreferences.mm: Removed uneeded Device.h include.
- WebView/WebPreferencesDefaultValues.mm:
(WebKit::defaultAllowsInlineMediaPlayback): Use !deviceClassIsSmallScreen
instead of deviceClass == iPad.
(WebKit::defaultAllowsInlineMediaPlaybackAfterFullscreen): Use
deviceClassIsSmallScreen instead of deviceClass != iPad.
(WebKit::defaultInlineMediaPlaybackRequiresPlaysInlineAttribute): Ditto.
(WebKit::defaultMediaSourceEnabled): Use !deviceClassIsSmallScreen instead of
deviceClass != iPhone and != iPod, and also remove unneeded compile time conditionals.
- 10:46 AM Changeset in webkit [283720] by
-
- 8 edits in branches/safari-612.2.9.0-branch/Source
Versioning.
WebKit-7612.2.9.0.6
- 10:32 AM Changeset in webkit [283719] by
-
- 2 edits in trunk/LayoutTests
[ BigSur AS EWS ] http/tests/xmlhttprequest/access-control-response-with-body.html is flaky crashing.
https://bugs.webkit.org/show_bug.cgi?id=231372
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 10:18 AM Changeset in webkit [283718] by
-
- 14 edits in trunk
Cascade layer styles should be lower priority than unlayered styles
https://bugs.webkit.org/show_bug.cgi?id=231342
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
Update from the WPT repo.
- web-platform-tests/css/css-cascade/layer-basic.html:
- web-platform-tests/css/css-cascade/layer-font-face-override-expected.txt:
- web-platform-tests/css/css-cascade/layer-font-face-override.html:
- web-platform-tests/css/css-cascade/layer-import.html:
- web-platform-tests/css/css-cascade/layer-keyframes-override-expected.txt:
- web-platform-tests/css/css-cascade/layer-keyframes-override.html:
- web-platform-tests/css/css-cascade/layer-stylesheet-sharing.html:
Source/WebCore:
Update the implementation to match the resolution for https://github.com/w3c/csswg-drafts/issues/6284.
- style/ElementRuleCollector.cpp:
(WebCore::Style::ElementRuleCollector::addMatchedRule):
(WebCore::Style::compareRules):
- style/ElementRuleCollector.h:
- style/RuleSet.h:
(WebCore::Style::RuleSet::cascadeLayerPriorityForIdentifier const):
(WebCore::Style::RuleSet::cascadeLayerPriorityFor const):
Return std::numeric_limits<unsigned>::max() for unlayered rules.
(WebCore::Style::RuleSet::cascadeLayerOrderForIdentifier const): Deleted.
(WebCore::Style::RuleSet::cascadeLayerOrderFor const): Deleted.
Also update naming order->priority to better match the spec text.
- style/RuleSetBuilder.cpp:
(WebCore::Style::RuleSetBuilder::~RuleSetBuilder):
(WebCore::Style::RuleSetBuilder::updateCascadeLayerPriorities):
(WebCore::Style::RuleSetBuilder::addMutatingRulesToResolver):
(WebCore::Style::RuleSetBuilder::updateCascadeLayerOrder): Deleted.
- style/RuleSetBuilder.h:
- 9:49 AM Changeset in webkit [283717] by
-
- 8 edits in branches/safari-611.4.2.0-branch/Source
Versioning.
WebKit-7611.4.2.0.3
- 9:20 AM Changeset in webkit [283716] by
-
- 14 edits in trunk/Source/WebCore
Clean up state maintenance around animated scrolls
https://bugs.webkit.org/show_bug.cgi?id=231347
Reviewed by Martin Robinson.
ScrollBehaviorStatus tracked whether an animated scroll is in progress. Rename it
for clarity, and remove the "non-native" term since this will never track native
vs. non-native animations.
Since ScrollBehaviorStatus is specifically about programmatic smooth scroll animations
triggered from script, it should be stored on ScrollableArea and is not relevant to the
scrolling tree. Remove it from the ScrollingTreeScrollingNodeDelegates.
The state becomes ScrollAnimationStatus::Animating immediately when JS triggers animations,
but the animation completion signal may come back in future from the scrolling thread.
Currently it comes via ScrollingEffectsController::scrollAnimationDidEnd().
We never need to call setScrollAnimationStatus(ScrollAnimationStatus::NotAnimating) other
than from scrollAnimationDidEnd(), because canceling an ongoing animation will always
call that.
- page/DOMWindow.cpp:
(WebCore::DOMWindow::scrollTo const):
- page/FrameView.cpp:
(WebCore::FrameView::scrollToPositionWithAnimation):
- page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h:
- page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.h:
- platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::scrollToPositionWithAnimation):
(WebCore::ScrollAnimator::retargetRunningAnimation):
(WebCore::ScrollAnimator::willStartAnimatedScroll):
(WebCore::ScrollAnimator::didStopAnimatedScroll):
(WebCore::ScrollAnimator::setScrollBehaviorStatus): Deleted.
(WebCore::ScrollAnimator::scrollBehaviorStatus const): Deleted.
- platform/ScrollAnimator.h:
- platform/ScrollTypes.h:
- platform/ScrollView.cpp:
(WebCore::ScrollView::setScrollPosition):
- platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::scrollToPositionWithAnimation):
(WebCore::ScrollableArea::resnapAfterLayout):
- platform/ScrollableArea.h:
(WebCore::ScrollableArea::scrollAnimationStatus):
(WebCore::ScrollableArea::setScrollAnimationStatus):
(WebCore::ScrollableArea::currentScrollBehaviorStatus): Deleted.
(WebCore::ScrollableArea::setScrollBehaviorStatus): Deleted.
- platform/ScrollingEffectsController.cpp:
(WebCore::ScrollingEffectsController::scrollAnimationDidEnd):
- platform/ScrollingEffectsController.h:
(WebCore::ScrollingEffectsControllerClient::willStartAnimatedScroll):
(WebCore::ScrollingEffectsControllerClient::didStopAnimatedScroll):
- rendering/RenderLayerScrollableArea.cpp:
(WebCore::RenderLayerScrollableArea::scrollToOffset):
(WebCore::RenderLayerScrollableArea::scrollTo):
(WebCore::RenderLayerScrollableArea::updateScrollPosition):
- 8:40 AM Changeset in webkit [283715] by
-
- 6 edits in trunk/Source/WebCore
[LFC][IFC] InlineDisplay::Box should be able to tell if it's the first or the last box within the associated Layout::Box
https://bugs.webkit.org/show_bug.cgi?id=231341
Reviewed by Antti Koivisto.
This patch helps the iterators to jump right to the first/last display box inside a layout box. This is used when a certain Layout::Box (e.g. <span>)
overlaps multiple lines producing multiple display boxes.
- layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::isFirstLastBox):
(WebCore::Layout::InlineDisplayContentBuilder::build):
(WebCore::Layout::InlineDisplayContentBuilder::createBoxesAndUpdateGeometryForLineContent):
(WebCore::Layout::InlineDisplayContentBuilder::createBoxesAndUpdateGeometryForLineSpanningInlineBoxes):
- layout/formattingContexts/inline/InlineLevelBox.h:
(WebCore::Layout::InlineLevelBox::isFirstBox const):
(WebCore::Layout::InlineLevelBox::isLastBox const):
(WebCore::Layout::InlineLevelBox::InlineLevelBox):
(WebCore::Layout::InlineLevelBox::setIsFirstBox):
(WebCore::Layout::InlineLevelBox::setIsLastBox):
(WebCore::Layout::m_isLastWithinLayoutBox):
(WebCore::Layout::InlineLevelBox::createInlineBox):
- layout/formattingContexts/inline/InlineLineBox.cpp:
(WebCore::Layout::LineBox::LineBox):
(): Deleted.
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::constructAndAlignInlineLevelBoxes):
- layout/formattingContexts/inline/display/InlineDisplayBox.h:
(WebCore::InlineDisplay::Box::Box):
(WebCore::InlineDisplay::Box::isFirstBox const):
(WebCore::InlineDisplay::Box::isLastBox const):
- 8:20 AM Changeset in webkit [283714] by
-
- 3 edits in trunk/Tools
REGRESSION (r283613): [ macOS ] TestWebKitAPI.ResourceLoadDelegate.LoadInfo is failing
https://bugs.webkit.org/show_bug.cgi?id=231303
<rdar://problem/83940067>
Reviewed by Chris Dumez.
Make sure to clear all data store at the end of PushAPI test, as well as at the beginning of ResourceLoadDelegate test.
- TestWebKitAPI/Tests/WebKitCocoa/PushAPI.mm:
- TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm:
- 8:16 AM Changeset in webkit [283713] by
-
- 6 edits1 add in trunk/Source/WebKit
Add the ability to dispatch messages to multiple receiver types in IPC::StreamServerConnection
https://bugs.webkit.org/show_bug.cgi?id=231305
Reviewed by Kimmo Kinnunen.
In preparation for using streamable IPC for display list rendering in the GPU process (i.e. 2D canvas and DOM
rendering), refactor StreamServerConnection such that it is capable of dispatching stream messages to generic
StreamMessageReceivers. This has the disadvantage of performing a vtable lookup with each message dispatch, but
I did not measure this to be a significant performance regression on any of the canvas subtests in MotionMark.
- GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::RemoteGraphicsContextGL::RemoteGraphicsContextGL):
- GPUProcess/graphics/RemoteGraphicsContextGL.h:
Make RemoteGraphicsContextGL subclass StreamMessageReceiver.
- Platform/IPC/StreamMessageReceiver.h: Added.
(IPC::StreamMessageReceiver::~StreamMessageReceiver):
- Platform/IPC/StreamServerConnection.cpp:
(IPC::StreamServerConnection::startReceivingMessages):
(IPC::StreamServerConnection::stopReceivingMessages):
(IPC::StreamServerConnection::dispatchStreamMessages):
(IPC::StreamServerConnection::processSetStreamDestinationID):
(IPC::StreamServerConnection::dispatchStreamMessage):
(IPC::StreamServerConnection::dispatchOutOfStreamMessage):
Now that these methods are no longer templated, we can move their implementations from the header to the
implementation file.
- Platform/IPC/StreamServerConnection.h:
Remove the template argument from StreamServerConnection, and instead make this start and stop receiving
messages for generic StreamMessageReceiver objects.
(IPC::StreamServerConnection<Receiver>::startReceivingMessages): Deleted.
(IPC::StreamServerConnection<Receiver>::stopReceivingMessages): Deleted.
(IPC::StreamServerConnection<Receiver>::dispatchStreamMessages): Deleted.
(IPC::StreamServerConnection<Receiver>::processSetStreamDestinationID): Deleted.
(IPC::StreamServerConnection<Receiver>::dispatchStreamMessage): Deleted.
(IPC::StreamServerConnection<Receiver>::dispatchOutOfStreamMessage): Deleted.
- WebKit.xcodeproj/project.pbxproj:
- 8:02 AM Changeset in webkit [283712] by
-
- 4 edits2 adds in trunk/Tools
Add back RetainPtrARC and TypeCastsCocoaARC tests to TestWTF
<https://webkit.org/b/231251>
<rdar://problem/83902809>
Reviewed by Darin Adler.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- Add RetainPtrARC.mm and TypeCastsCocoaARC.mm to the project.
- TestWebKitAPI/Tests/WTF/cocoa/TypeCastsCocoa.mm:
(TestWebKitAPI::TEST):
- Modify tests to clean up autoreleased objects in Debug builds that are optimized out of Release builds.
- TestWebKitAPI/Tests/WTF/cocoa/TypeCastsCocoaARC.mm: Add.
- TestWebKitAPI/Tests/WTF/ns/RetainPtr.mm:
(TestWebKitAPI::TEST):
- Modify tests to clean up autoreleased objects in Debug builds that are optimized out of Release builds.
- TestWebKitAPI/Tests/WTF/ns/RetainPtrARC.mm: Add.
- 8:01 AM Changeset in webkit [283711] by
-
- 4 edits in trunk/Source/WebCore
[LFC][Integration] Optimize InlineContent::boxesForRect
https://bugs.webkit.org/show_bug.cgi?id=231356
Reviewed by Alan Bujtas.
- layout/integration/LayoutIntegrationInlineContent.cpp:
(WebCore::LayoutIntegration::InlineContent::boxesForRect const):
Approximate the starting points from the rect using the average line height and then search for
the first and last line that paint fully outside the rect.
- layout/integration/LayoutIntegrationInlineContent.h:
- layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):
Add a bit that tells if the content has lines with paint area exceeding those of the neighboring lines.
We can't use the optimization in this rare case.
- 7:55 AM Changeset in webkit [283710] by
-
- 4 edits in trunk/Tools
ASSERTION FAILED: This HTTPServer does not know how to respond to a request for /popup-after-redirection.html
https://bugs.webkit.org/show_bug.cgi?id=231256
<rdar://problem/83904937>
Reviewed by Alex Christensen.
Stop hardcoding the HTTPServer port in COOP API tests to address flakiness.
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
- TestWebKitAPI/cocoa/HTTPServer.h:
- TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::HTTPServer::addResponse):
- 7:19 AM Changeset in webkit [283709] by
-
- 3 edits2 adds in trunk
REGRESSION (IFC selections): Overlapping selection rectangles when selecting preformatted text
https://bugs.webkit.org/show_bug.cgi?id=231291
<rdar://problem/83939949>
Reviewed by Alan Bujtas.
Source/WebCore:
We are painting selections for soft linebreaks.
Test: editing/selection/soft-line-break-no-paint.html
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::paint):
Like legacy, don't paint any linebreak boxes.
LayoutTests:
- editing/selection/soft-line-break-no-paint-expected.html: Added.
- editing/selection/soft-line-break-no-paint.html: Added.
- 7:11 AM Changeset in webkit [283708] by
-
- 3 edits in trunk/LayoutTests
Stop relying on autofocus for deleteFromDocument-crash.html
https://bugs.webkit.org/show_bug.cgi?id=231357
Reviewed by Antti Koivisto.
Stop relying on current autofocus sync timing which will become async.
- imported/blink/editing/selection/deleteFromDocument-crash-expected.html:
- imported/blink/editing/selection/deleteFromDocument-crash.html:
- 6:41 AM Changeset in webkit [283707] by
-
- 10 edits in trunk
[GTK] Reenable -fvisibility=hidden
https://bugs.webkit.org/show_bug.cgi?id=181916
Reviewed by Michael Catanzaro.
.:
- Source/cmake/OptionsGTK.cmake:
Source/JavaScriptCore:
- shell/PlatformGTK.cmake:
Source/WebCore:
- PlatformGTK.cmake:
- dom/EventTarget.cpp:
- dom/EventTarget.h:
Tools:
- TestWebKitAPI/PlatformGTK.cmake:
- 4:55 AM Changeset in webkit [283706] by
-
- 37 edits in trunk/Source/WebCore
Streamline and make call to objective-C methods more consistent across call sites.
https://bugs.webkit.org/show_bug.cgi?id=231351
rdar://problem/83966853
Since bug 97403, RetainPtr<T*> has a T* conversion operator; the call to
RetainPtr::get() is now redundant under some circumstances.
Make the use of RetainPtr<T*> in objective-C call more consistent by using the pattern:
RetainPtr<T*> foo;
[foo methodOfT];
Source-wide replacement of "\[([_a-zA-Z]+)\.get\(\) " by "\[([_a-zA-Z]+)\ ",
then manually fixing NeverDestroyed<RetainPtr<T*>> cases which do not yet allow
for that.
Reviewed by Tim Horton.
No change in observable behaviour.
- bindings/js/ScriptControllerMac.mm:
(WebCore::ScriptController::updatePlatformScriptObjects):
- bridge/objc/objc_instance.mm:
(JSC::Bindings::ObjcInstance::~ObjcInstance):
(JSC::Bindings::ObjcInstance::supportsInvokeDefaultMethod const):
(JSC::Bindings::ObjcInstance::invokeDefaultMethod):
(JSC::Bindings::ObjcInstance::defaultValue const):
- bridge/objc/objc_runtime.mm:
(JSC::Bindings::ObjcArray::setValueAt const):
(JSC::Bindings::ObjcArray::valueAt const):
(JSC::Bindings::ObjcArray::getLength const):
- editing/cocoa/DataDetection.mm:
(WebCore::resultIsURL):
- page/cocoa/ResourceUsageOverlayCocoa.mm:
(WebCore::ResourceUsageOverlay::platformInitialize):
(WebCore::ResourceUsageOverlay::platformDraw):
- platform/cocoa/ParentalControlsContentFilter.mm:
(WebCore::ParentalControlsContentFilter::addData):
(WebCore::ParentalControlsContentFilter::finishedAddingData):
- platform/gamepad/cocoa/GameControllerGamepad.mm:
(WebCore::GameControllerGamepad::setupAsExtendedGamepad):
- platform/graphics/avfoundation/objc/AVOutputDeviceMenuControllerTargetPicker.mm:
(WebCore::AVOutputDeviceMenuControllerTargetPicker::devicePicker):
(WebCore::AVOutputDeviceMenuControllerTargetPicker::outputContext):
- platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm:
(WebCore::CDMSessionAVFoundationObjC::generateKeyRequest):
- platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
(WebCore::InbandTextTrackPrivateAVFObjC::label const):
(WebCore::InbandTextTrackPrivateAVFObjC::language const):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC):
(WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createImageGenerator):
(WebCore::MediaPlayerPrivateAVFoundationObjC::synchronizeTextTrackState):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem):
(WebCore::MediaPlayerPrivateAVFoundationObjC::checkPlayability):
(WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata):
(WebCore::MediaPlayerPrivateAVFoundationObjC::accessLog const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::errorLog const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformSetVisible):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::currentMediaTime const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVolume):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setMuted):
(WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createImageForTimeInRect):
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateVideoLayerGravity):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput):
(WebCore::MediaPlayerPrivateAVFoundationObjC::destroyVideoOutput):
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateLastPixelBuffer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::firstEnabledTrack const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::hasLoadedMediaSelectionGroups):
(WebCore::MediaPlayerPrivateAVFoundationObjC::safeMediaSelectionGroupForLegibleMedia):
(WebCore::MediaPlayerPrivateAVFoundationObjC::safeMediaSelectionGroupForAudibleMedia):
(WebCore::MediaPlayerPrivateAVFoundationObjC::safeMediaSelectionGroupForVisualMedia):
(WebCore::MediaPlayerPrivateAVFoundationObjC::processMediaSelectionOptions):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setCurrentTextTrack):
(WebCore::MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessVideoPlaybackDisabled const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setWirelessVideoPlaybackDisabled):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldPlayToPlaybackTarget):
(WebCore::MediaPlayerPrivateAVFoundationObjC::metadataDidArrive):
(-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
- platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
(WebCore::WebCoreAVFResourceLoader::startLoading):
(WebCore::WebCoreAVFResourceLoader::responseReceived):
(WebCore::WebCoreAVFResourceLoader::loadFailed):
(WebCore::WebCoreAVFResourceLoader::loadFinished):
(WebCore::WebCoreAVFResourceLoader::newDataStoredInSharedBuffer):
- platform/graphics/cocoa/TextTrackRepresentationCocoa.mm:
(WebCore::TextTrackRepresentationCocoa::TextTrackRepresentationCocoa):
(WebCore::TextTrackRepresentationCocoa::~TextTrackRepresentationCocoa):
(WebCore::TextTrackRepresentationCocoa::update):
(WebCore::TextTrackRepresentationCocoa::setContentScale):
(WebCore::TextTrackRepresentationCocoa::setHidden const):
(WebCore::TextTrackRepresentationCocoa::bounds const):
- platform/ios/DragImageIOS.mm:
(WebCore::scaleDragImage):
(WebCore::createDragImageFromImage):
(WebCore::createDragImageForRange):
- platform/ios/LegacyTileCache.mm:
(WebCore::LegacyTileCache::~LegacyTileCache):
- platform/ios/LegacyTileLayerPool.mm:
(WebCore::LegacyTileLayerPool::addLayer):
- platform/ios/PlatformPasteboardIOS.mm:
(WebCore::PlatformPasteboard::readBuffer const):
- platform/ios/PlatformSpeechSynthesizerIOS.mm:
(WebCore::PlatformSpeechSynthesizer::pause):
(WebCore::PlatformSpeechSynthesizer::resume):
(WebCore::PlatformSpeechSynthesizer::speak):
(WebCore::PlatformSpeechSynthesizer::cancel):
(WebCore::PlatformSpeechSynthesizer::resetState):
- platform/ios/VideoFullscreenInterfaceAVKit.mm:
(-[WebAVPlayerLayer setVideoGravity:]):
(-[WebAVPlayerViewController enterFullScreenAnimated:completionHandler:]):
(-[WebAVPlayerViewController exitFullScreenAnimated:completionHandler:]):
(-[WebAVPlayerViewController MY_NO_RETURN]):
(-[WebAVPlayerViewController removeFromParentViewController]):
- platform/mac/PlatformPasteboardMac.mm:
(WebCore::PlatformPasteboard::getTypes):
(WebCore::PlatformPasteboard::bufferForType):
(WebCore::PlatformPasteboard::getPathnamesForType const):
(WebCore::PlatformPasteboard::changeCount const):
(WebCore::PlatformPasteboard::copy):
(WebCore::PlatformPasteboard::addTypes):
(WebCore::PlatformPasteboard::setURL):
(WebCore::PlatformPasteboard::setStringForType):
- platform/mac/PlatformSpeechSynthesizerMac.mm:
(WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):
(WebCore::PlatformSpeechSynthesizer::pause):
(WebCore::PlatformSpeechSynthesizer::resume):
(WebCore::PlatformSpeechSynthesizer::speak):
(WebCore::PlatformSpeechSynthesizer::cancel):
(WebCore::PlatformSpeechSynthesizer::resetState):
- platform/mac/SerializedPlatformDataCueMac.mm:
(WebCore::SerializedPlatformDataCueMac::isEqual const):
(WebCore::SerializedPlatformDataCueMac::encodableValue const):
- platform/mac/WebCoreFullScreenPlaceholderView.mm:
(-[WebCoreFullScreenPlaceholderView initWithFrame:]):
- platform/mac/WebCoreFullScreenWarningView.mm:
- platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:
(WebCore::MediaRecorderPrivateWriter::initialize):
(WebCore::MediaRecorderPrivateWriter::startAssetWriter):
(WebCore::MediaRecorderPrivateWriter::appendCompressedAudioSampleBufferIfPossible):
(WebCore::MediaRecorderPrivateWriter::appendCompressedVideoSampleBuffer):
(WebCore::MediaRecorderPrivateWriter::flushCompressedSampleBuffers):
- platform/mediastream/mac/AVCaptureDeviceManager.mm:
(WebCore::AVCaptureDeviceManager::updateCachedAVCaptureDevices):
- platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::AVVideoCaptureSource):
(-[WebCoreAVVideoCaptureSourceObserver observeValueForKeyPath:ofObject:change:context:]):
- platform/network/cocoa/ResourceRequestCocoa.mm:
(WebCore::ResourceRequest::doUpdateResourceRequest):
(WebCore::ResourceRequest::doUpdateResourceHTTPBody):
(WebCore::ResourceRequest::doUpdatePlatformRequest):
(WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
- platform/network/cocoa/ResourceResponseCocoa.mm:
(WebCore::ResourceResponse::initNSURLResponse const):
(WebCore::ResourceResponse::platformLazyInit):
- platform/network/mac/AuthenticationMac.mm:
(WebCore::AuthenticationChallenge::setAuthenticationClient):
(WebCore::AuthenticationChallenge::authenticationClient const):
- platform/network/mac/ResourceErrorMac.mm:
(WebCore::createNSErrorFromResourceErrorBase):
(WebCore::ResourceError::mapPlatformError):
(WebCore::ResourceError::platformLazyInit):
- platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]):
- platform/text/cocoa/LocaleCocoa.mm:
(WebCore::LocaleCocoa::LocaleCocoa):
(WebCore::LocaleCocoa::timeAMPMLabels):
(WebCore::LocaleCocoa::initializeLocaleData):
- platform/text/cocoa/LocalizedDateCache.mm:
(WebCore::LocalizedDateCache::calculateMaximumWidth):
- rendering/RenderThemeCocoa.mm:
(WebCore::RenderThemeCocoa::mediaControlsFormattedStringForDuration):
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::paintSystemPreviewBadge):
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::popupButton const):
(WebCore::RenderThemeMac::search const):
(WebCore::RenderThemeMac::sliderThumbHorizontal const):
(WebCore::RenderThemeMac::sliderThumbVertical const):
(WebCore::RenderThemeMac::textField const):
- 4:27 AM Changeset in webkit [283705] by
-
- 9 edits in trunk
[JSC] Temporal tweaks to pass more test262 tests
https://bugs.webkit.org/show_bug.cgi?id=231331
Patch by Philip Chimento <pchimento@igalia.com> on 2021-10-07
Reviewed by Yusuke Suzuki.
JSTests:
- test262/config.yaml: Three tests no longer crash, but they still depend on unimplemented functionality, so skip them.
- test262/expectations.yaml:
Source/JavaScriptCore:
- runtime/ISO8601.h:
(JSC::ISO8601::Duration::operator[]): Add an overload for Duration[]
that indexes by TemporalUnit enum instead of integer index.
(JSC::ISO8601::Duration::operator[] const):
- runtime/TemporalDuration.cpp:
(JSC::TemporalDuration::fromDurationLike): Access Duration properties in
the order defined in the specification.
(JSC::TemporalDuration::with const): Access Duration properties in the
order defined in the specification.
(JSC::TemporalDuration::round const): Temporarily throw an exception
here instead of failing an assertion, when attempting to use
unimplemented relativeTo functionality.
- runtime/TemporalObject.cpp:
(JSC::temporalUnitPluralPropertyName): Rename from
temporalUnitPropertyName.
(JSC::temporalUnitSingularPropertyName): Added.
- runtime/TemporalObject.h: Add array corresponding to the table in the spec text specifying alphabetical access order for unit properties.
- runtime/TemporalPlainTime.cpp:
(JSC::toTemporalTimeRecord): Access PlainTime properties in the order
defined in the specification.
(JSC::toPartialTime): Access PlainTime properties in the order defined
in the specification.
- 1:35 AM Changeset in webkit [283704] by
-
- 13 edits7 adds2 deletes in trunk/LayoutTests
Resync the-img-element WPT tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=231297
Patch by Rob Buis <rbuis@igalia.com> on 2021-10-07
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Resync html the-img-element tests from upstream 163d457f7eec.
- resources/import-expectations.json:
- web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-below-viewport-dynamic.html:
- web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-in-viewport-dynamic.html:
- web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-negative-margin-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-negative-margin.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-relevant-mutations.html:
- web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-slow-aspect-ratio.html:
- web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-slow.html:
- web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-to-eager.html:
- web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-use-list-of-available-images-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-use-list-of-available-images.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/list-of-available-images-does-not-coalesce-in-flight-requests.sub.tentative-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/list-of-available-images-does-not-coalesce-in-flight-requests.sub.tentative.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/relevant-mutations-expected.txt: Removed.
- web-platform-tests/html/semantics/embedded-content/the-img-element/relevant-mutations.html: Removed.
- web-platform-tests/html/semantics/embedded-content/the-img-element/resources/image-and-stash.py: Added.
(main):
- web-platform-tests/html/semantics/embedded-content/the-img-element/resources/image-loading-lazy-below-viewport.html:
- web-platform-tests/html/semantics/embedded-content/the-img-element/resources/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-img-element/w3c-import.log:
LayoutTests:
No lazy image loading available on wk1.
- platform/mac-wk1/TestExpectations:
- 1:08 AM Changeset in webkit [283703] by
-
- 16 edits2 moves2 deletes in trunk/Source
ScopedEGLDefaultDisplay should be removed
https://bugs.webkit.org/show_bug.cgi?id=231011
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-10-07
Reviewed by Kenneth Russell.
Source/WebCore:
Hard-coding the code to EGL_DEFAULT_DISPLAY only and using the scoped
holder is making the EGLDisplays harder to use than neccessary. The
implementation target, e.g. the ability to call EGLTerminate, was also a bit
more convoluted than needed.
Move the "call EGLTerminate" logic from a bit convoluted refcount mechanism
in ScopedEGLDefaultDisplay to the explicit GraphicsContextGLOpenGL::releaseResources().
The callers are expected to do the refcounting anyway, as the existing client
WebKit::ScopedWebGLRenderingResourcesRequest already did.
Make GraphicsContextGLOpenGL::releaseResources() available on all platforms.
It is implemented on all ANGLE implementations.
Platforms can augment the implementation by implementing
GraphicsContextGLOpenGL::platformReleaseResources(). For Cocoa, this function
resets the currentContext cache that is used to optimize making context current.
No new tests, refactor.
- CMakeLists.txt:
- Headers.cmake:
- PlatformMac.cmake:
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/angle/ANGLEUtilities.cpp: Renamed from Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLEEGLUtilities.h.
(WebCore::platformIsANGLEAvailable):
- platform/graphics/angle/ANGLEUtilities.h: Renamed from Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLEUtilities.h.
Rename GraphicsContextGLANGLEUtilities to simpler and more descriptive ANGLEUtilities.
Add the isANGLEAvailable to there.
- platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLOpenGL::releaseResources):
(WebCore::GraphicsContextGLOpenGL::platformReleaseResources):
- platform/graphics/angle/GraphicsContextGLANGLEEGLUtilities.cpp: Removed.
(WebCore::refDefaultDisplay): Deleted.
(WebCore::unrefDefaultDisplayIfNeeded): Deleted.
(WebCore::ScopedEGLDefaultDisplay::operator=): Deleted.
(WebCore::ScopedEGLDefaultDisplay::ScopedEGLDefaultDisplay): Deleted.
(WebCore::ScopedEGLDefaultDisplay::~ScopedEGLDefaultDisplay): Deleted.
(WebCore::ScopedEGLDefaultDisplay::releaseAllResourcesIfUnused): Deleted.
- platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:
(WebCore::platformIsANGLEAvailable):
(WebCore::initializeEGLDisplay):
(WebCore::GraphicsContextGLOpenGL::platformReleaseResources):
(WebCore::isANGLEAvailable): Deleted.
(WebCore::GraphicsContextGLOpenGL::releaseCurrentContext): Deleted.
(WebCore::GraphicsContextGLOpenGL::releaseAllResourcesIfUnused): Deleted.
- platform/graphics/opengl/GraphicsContextGLOpenGL.cpp:
(WebCore::GraphicsContextGLOpenGL::releaseResources):
(WebCore::GraphicsContextGLOpenGL::platformReleaseResources):
- platform/graphics/opengl/GraphicsContextGLOpenGL.h:
- platform/ios/wak/WebCoreThread.mm:
Source/WebKit:
Implement the release of WebGL resources with the amended
GraphicsContextGLOpenGL::releaseResources() instead of
previous separate function GraphicsContextGLOpenGL::releaseAllResources().
Use the resource release code path universally, as
GraphicsContextGLOpenGL::releaseResources() is now common code.
- GPUProcess/graphics/ScopedWebGLRenderingResourcesRequest.cpp:
(WebKit::ScopedWebGLRenderingResourcesRequest::scheduleFreeWebGLRenderingResources):
(WebKit::ScopedWebGLRenderingResourcesRequest::freeWebGLRenderingResources):
- GPUProcess/graphics/ScopedWebGLRenderingResourcesRequest.h:
- GPUProcess/graphics/ScopedWebGLRenderingResourcesRequestCocoa.cpp: Removed.
(WebKit::ScopedWebGLRenderingResourcesRequest::scheduleFreeWebGLRenderingResources): Deleted.
(WebKit::ScopedWebGLRenderingResourcesRequest::freeWebGLRenderingResources): Deleted.
- SourcesCocoa.txt:
- WebKit.xcodeproj/project.pbxproj:
- 12:56 AM Changeset in webkit [283702] by
-
- 10 edits in trunk/Source/WebKit
Change the confusing feature name for testing purpose
https://bugs.webkit.org/show_bug.cgi?id=231259
Reviewed by Tim Horton.
ENABLE(EXPERIMENTAL_FEATURE) was used in the test, but that is very confusing with
ENABLE_EXPERIMENTAL_FEATURES. Change them to more obvious ENABLE(FEATURE_FOR_TESTING).
- Scripts/webkit/parser_unittest.py:
- Scripts/webkit/tests/MessageArgumentDescriptions.cpp:
(IPC::jsValueForArguments):
(IPC::messageArgumentDescriptions):
- Scripts/webkit/tests/MessageNames.cpp:
(IPC::isValidMessageName):
- Scripts/webkit/tests/TestWithLegacyReceiver.messages.in:
- Scripts/webkit/tests/TestWithLegacyReceiverMessageReceiver.cpp:
(WebKit::TestWithLegacyReceiver::didReceiveTestWithLegacyReceiverMessage):
- Scripts/webkit/tests/TestWithLegacyReceiverMessages.h:
- Scripts/webkit/tests/TestWithoutAttributes.messages.in:
- Scripts/webkit/tests/TestWithoutAttributesMessageReceiver.cpp:
(WebKit::TestWithoutAttributes::didReceiveMessage):
- Scripts/webkit/tests/TestWithoutAttributesMessages.h:
Oct 6, 2021:
- 10:33 PM Changeset in webkit [283701] by
-
- 2 edits in trunk/Source/WebKit
_WKRemoteObjectRegistry's ReplyBlockCallChecker should always dealloc on the main thread
https://bugs.webkit.org/show_bug.cgi?id=231346
rdar://problem/83965481
Reviewed by Chris Dumez.
- Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
(-[_WKRemoteObjectRegistry _invokeMethod:]): Added WTF::DestructionThread::MainRunLoop to ReplyBlockCallChecker.
- 9:39 PM AnalyzingBuildPerformance created by
- 9:15 PM Changeset in webkit [283700] by
-
- 16 edits15 adds in trunk
Add PushSubscription stubs
https://bugs.webkit.org/show_bug.cgi?id=231278
Reviewed Alex Christensen.
LayoutTests/imported/w3c:
Updated the WPT test results to reflect the newly implemented interfaces.
- web-platform-tests/push-api/idlharness.https.any-expected.txt:
- web-platform-tests/push-api/idlharness.https.any.serviceworker-expected.txt:
Source/WebCore:
This adds PushSubscription-related IDL to WebCore. Currently the objects are just data
containers and PushSubscription.unsubscribe() does nothing.
Test: http/wpt/push-api/pushSubscription.https.any.html
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Modules/push-api/PushEncryptionKeyName.h: Added.
- Modules/push-api/PushEncryptionKeyName.idl: Added.
- Modules/push-api/PushSubscription.cpp: Added.
(WebCore::PushSubscription::create):
(WebCore::PushSubscription::PushSubscription):
(WebCore::PushSubscription::endpoint const):
(WebCore::PushSubscription::expirationTime const):
(WebCore::PushSubscription::options const):
(WebCore::PushSubscription::getKey const):
(WebCore::PushSubscription::unsubscribe):
(WebCore::PushSubscription::toJSON const):
- Modules/push-api/PushSubscription.h: Added.
- Modules/push-api/PushSubscription.idl: Added.
- Modules/push-api/PushSubscriptionJSON.h: Added.
- Modules/push-api/PushSubscriptionJSON.idl: Added.
- Modules/push-api/PushSubscriptionOptions.cpp: Added.
(WebCore::PushSubscriptionOptions::create):
(WebCore::PushSubscriptionOptions::PushSubscriptionOptions):
(WebCore::PushSubscriptionOptions::userVisibleOnly const):
(WebCore::PushSubscriptionOptions::serverVAPIDPublicKey const):
(WebCore::PushSubscriptionOptions::applicationServerKey const):
- Modules/push-api/PushSubscriptionOptions.h: Added.
- Modules/push-api/PushSubscriptionOptions.idl: Added.
- Modules/push-api/PushSubscriptionOptionsInit.h: Added.
- Modules/push-api/PushSubscriptionOptionsInit.idl: Added.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/WebCoreBuiltinNames.h:
- testing/Internals.cpp:
(WebCore::Internals::createPushSubscription):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
Added a basic test for PushSubscription. Right now the test only runs in the window global
scope because it relies on a constructor called via window.internals. I'll add more test
cases and test it in the worker scope as well once we change the test to create a
subscription via a mocked PushManager.subscribe call instead.
- http/wpt/push-api/pushSubscription.https.any-expected.txt: Added.
- http/wpt/push-api/pushSubscription.https.any.html: Added.
- http/wpt/push-api/pushSubscription.https.any.js: Added.
(bytesFrom):
(test):
- 9:02 PM Changeset in webkit [283699] by
-
- 4 edits in trunk/Source/WebCore
[LFC][IFC] InlineDisplay::Box should not hold on to RenderStyle&
https://bugs.webkit.org/show_bug.cgi?id=231325
<rdar://83925737>
Reviewed by Simon Fraser.
In the long run InlineDisplay::Box should retain the style so that we could paint the content independently, but for now
let's just consult the layout box for the style information.
- layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::build):
(WebCore::Layout::InlineDisplayContentBuilder::createBoxesAndUpdateGeometryForLineContent):
(WebCore::Layout::InlineDisplayContentBuilder::createBoxesAndUpdateGeometryForLineSpanningInlineBoxes):
- layout/formattingContexts/inline/display/InlineDisplayBox.h:
(WebCore::InlineDisplay::Box::style const): The assumption here was that the style object stays around for the lifecycle of the display box (i.e. style object is destroyed -> layout -> new set of display boxes).
(WebCore::InlineDisplay::Box::Box):
- layout/integration/LayoutIntegrationPagination.cpp:
(WebCore::LayoutIntegration::makeAdjustedContent):
- 8:54 PM Changeset in webkit [283698] by
-
- 7 edits in trunk/Source/WebCore
Rename the AnimatedScroll enum to ScrollIsAnimated for consistency
https://bugs.webkit.org/show_bug.cgi?id=231336
Reviewed by Wenson Hsieh.
All the other scroll-related enums start with "Scroll" so rename AnimatedScroll to
ScrollIsAnimated to match, and ScrollIsAnimated::Yes and ScrollIsAnimated::No become more
readable.
- dom/Element.cpp:
(WebCore::Element::scrollTo):
(WebCore::Element::setScrollLeft):
(WebCore::Element::setScrollTop):
- page/DOMWindow.cpp:
(WebCore::DOMWindow::scrollTo const):
- page/FrameView.cpp:
(WebCore::FrameView::setScrollPosition):
- platform/ScrollTypes.h:
(WebCore::ScrollPositionChangeOptions::createProgrammaticWithOptions):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollRectToVisible):
- rendering/RenderLayerScrollableArea.cpp:
(WebCore::RenderLayerScrollableArea::scrollToOffset):
- 7:22 PM Changeset in webkit [283697] by
-
- 10 edits in trunk/Source
Delete WebCore::DisplayList::SetInlineFillGradient
https://bugs.webkit.org/show_bug.cgi?id=231326
Reviewed by Simon Fraser.
Source/WebCore:
Remove this display list item, because:
- It should never have been encoded and decoded as POD data in the first place, due to the fact that it
indirectly contains Variants.
- Deleting this item does not cause any significant performance impact when using streaming IPC for
display lists.
- 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.cpp:
(WebCore::DisplayList::sizeOfItemInBytes):
(WebCore::DisplayList::isDrawingItem):
(WebCore::DisplayList::isInlineItem):
- platform/graphics/displaylists/DisplayListItemType.h:
- platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::operator<<):
(WebCore::DisplayList::SetInlineFillGradient::SetInlineFillGradient): Deleted.
(WebCore::DisplayList::SetInlineFillGradient::gradient const): Deleted.
(WebCore::DisplayList::SetInlineFillGradient::apply const): Deleted.
(WebCore::DisplayList::SetInlineFillGradient::isInline): Deleted.
- platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::SetInlineFillGradient::isValid const): Deleted.
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::containsOnlyInlineStateChanges):
(WebCore::DisplayList::Recorder::appendStateChangeItem):
Source/WebKit:
See WebCore/ChangeLog for more details.
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::decodeItem):
- 7:21 PM Changeset in webkit [283696] by
-
- 3 edits in trunk/Source/WebKit
Add a configurable wake up message hysteresis to IPC::StreamClientConnection
https://bugs.webkit.org/show_bug.cgi?id=231304
Reviewed by Simon Fraser.
Make it possible to avoid sending the wakeup message in StreamClientConnection, until some configurable number
of messages have been queued up. This allows us to avoid triggering excessive wakeups in the GPU Process when
using streaming IPC for display lists in the Canvas Lines subtest in MotionMark, which exercises sending a
massive, constant stream of cheap drawing commands to the GPUP.
By default, this hysteresis remains at 0, which means that we'll continue to immediately send GL commands to the
GPU Process when using GPU Process for WebGL. In a future patch, I intend on defaulting to a small hysteresis
(i.e. ~256) for 2D canvas and DOM rendering.
- Platform/IPC/StreamClientConnection.cpp:
(IPC::StreamClientConnection::wakeUpServer):
(IPC::StreamClientConnection::deferredWakeUpServer):
(IPC::StreamClientConnection::decrementRemainingMessageCountBeforeSendingWakeUp):
(IPC::StreamClientConnection::sendDeferredWakeUpMessageIfNeeded):
- Platform/IPC/StreamClientConnection.h:
Also mark StreamClientConnection with
WTF_MAKE_FAST_ALLOCATED
, so that we can wrap the client connection in a
std::unique_ptr
in a future patch.
(IPC::StreamClientConnection::trySendStream):
When sending a normal (non-blocking) stream message, if the wakeup hysteresis count is non-zero, avoid
immediately signaling the semaphore and instead just set the hysteresis count to the client's specified count
(m_wakeUpMessageHysteresis
).
(IPC::StreamClientConnection::trySendSyncStream):
When sending a sync message, we always want to immediately flush out any pending wakeup message regardless of
the current hysteresis, since we're waiting for the server to process a reply.
- 7:15 PM Changeset in webkit [283695] by
-
- 8 edits in branches/safari-612.2.9.1-branch/Source
Versioning.
WebKit-7612.2.9.1.6
- 6:39 PM Changeset in webkit [283694] by
-
- 2 edits in branches/safari-612.2.9.3-branch/Source/JavaScriptCore
Revert "Cherry-pick r283632. rdar://problem/83942645"
This reverts commit r283653.
- 6:19 PM Changeset in webkit [283693] by
-
- 1 copy in tags/Safari-612.2.9.1.5
Tag Safari-612.2.9.1.5.
- 5:56 PM Changeset in webkit [283692] by
-
- 2 edits in branches/safari-612-branch/Source/WebKit
Cherry-pick r283490. rdar://problem/83954408
Vorbis decoder can't be instantiated - follow up on Bug 230742
https://bugs.webkit.org/show_bug.cgi?id=231154
rdar://problem/83825162
Fix typo in expression.
Reviewed by Tim Horton.
- Scripts/process-entitlements.sh: Add missing bool keyword.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283490 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:56 PM Changeset in webkit [283691] by
-
- 3 edits in branches/safari-612-branch/Source/WebKit
Cherry-pick r283209. rdar://problem/83956699
Crash in WebKit::DisplayLink::displayLinkCallback()
https://bugs.webkit.org/show_bug.cgi?id=230917
<rdar://82528370>
Reviewed by Tim Horton.
We have evidence of a divide-by-zero crash in DisplayLink::notifyObserversDisplayWasRefreshed()
where m_currentUpdate.updatesPerSecond is zero. The only way I can see this happening
is if DisplayLink::DisplayLink() returns early, which should log. Protect against
this by initializing m_displayNominalFramesPerSecond to 60, and do another check,
with a log, in DisplayLink::addObserver() before we use m_displayNominalFramesPerSecond
for the first time.
Convert the logging to RELEASE_LOG_FAULT reports.
- UIProcess/mac/DisplayLink.cpp: (WebKit::DisplayLink::DisplayLink): (WebKit::DisplayLink::addObserver):
- UIProcess/mac/DisplayLink.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283209 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:52 PM Changeset in webkit [283690] by
-
- 2 edits in branches/safari-612-branch/Source/JavaScriptCore
Cherry-pick r283632. rdar://problem/83942704
Speculative fix for a null pointer dereference in ByteCodeParser::handlePutByVal.
https://bugs.webkit.org/show_bug.cgi?id=231252
rdar://83310320
Reviewed by Yusuke Suzuki.
We're seeing a null pointer dereference in ByteCodeParser::handlePutByVal().
Adding a null check here as a speculative fix to mitigate crashes while we
investigate further.
- dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::handlePutByVal):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283632 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:52 PM Changeset in webkit [283689] by
-
- 16 edits2 adds in branches/safari-612-branch
Cherry-pick r283556. rdar://problem/83956477
[JSC] JSPropertyNameEnumerator should not have cached prototype chain since empty JSPropertyNameEnumerator is shared
https://bugs.webkit.org/show_bug.cgi?id=231202
JSTests:
Reviewed by Keith Miller.
- stress/for-in-validation-poly-proto.js: Added. (shouldBe): (test): (factory.Test): (factory):
- stress/for-in-validation-watchpoint.js: Added. (shouldBe): (test): (Test): (factory):
Source/JavaScriptCore:
rdar://83815122
Reviewed by Keith Miller.
r282014 assumed an invariant that JSPropertyNameEnumerator's StructureChain is immutable.
This invariant is also used in validation of JSPropertyNameEnumerator. However, this
invariant was broken since we now have shared empty sentinel JSPropertyNameEnumerator, which can
be used for different structures having different prototype chain.
Since now we have shared JSPropertyNameEnumerator, JSPropertyNameEnumerator should not have
StructureChain in its member. When invalidating StructureChain in Structure, we also clear
cached JSPropertyNameEnumerator so that we do not get a stale JSPropertyNameEnumerator from
Structure even though watchpoint-based validation is not used.
This patch also removes ValidatedViaWatchpoint flag in JSPropertyNameEnumerator due to the same
reason. We should not modify JSPropertyNameEnumerator once it is instantiated. Instead, we encode
this flag as a lowest bit of m_cachedPropertyNameEnumerator. If it is validated via traversing (not watchpoints),
then this bit is set. So when loading that pointer from StructureRareData, we can quickly detect
it without even accessing to the enumerator. This fixes the issue, and it is even cleaner.
We rename m_cachedPropertyNameEnumerator to m_cachedPropertyNameEnumeratorAndFlag since it now
includes this flag.
While reviewing the code, we also found that watchpoint-based validation didn't care about PolyProto.
We should disable watchpoint-based validation if PolyProto is used.
- dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileGetPropertyEnumerator):
- ftl/FTLAbstractHeapRepository.h:
- ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
- jit/JITPropertyAccess.cpp: (JSC::JIT::emit_op_get_property_enumerator):
- llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL):
- llint/LowLevelInterpreter64.asm:
- runtime/JSPropertyNameEnumerator.cpp: (JSC::JSPropertyNameEnumerator::visitChildrenImpl):
- runtime/JSPropertyNameEnumerator.h: (JSC::propertyNameEnumerator):
- runtime/Structure.cpp: (JSC::Structure::visitChildrenImpl): (JSC::Structure::setCachedPropertyNameEnumerator): (JSC::Structure::cachedPropertyNameEnumeratorAndFlag const):
- runtime/Structure.h: (JSC::Structure::propertyNameEnumeratorShouldWatch const):
- runtime/StructureInlines.h: (JSC::Structure::prototypeChain const): (JSC::Structure::clearCachedPrototypeChain):
- runtime/StructureRareData.cpp: (JSC::StructureRareData::visitChildrenImpl):
- runtime/StructureRareData.h:
- runtime/StructureRareDataInlines.h: (JSC::StructureRareData::cachedPropertyNameEnumerator const): (JSC::StructureRareData::cachedPropertyNameEnumeratorAndFlag const): (JSC::StructureRareData::setCachedPropertyNameEnumerator): (JSC::StructureChainInvalidationWatchpoint::fireInternal): (JSC::StructureRareData::tryCachePropertyNameEnumeratorViaWatchpoint): (JSC::StructureRareData::clearCachedPropertyNameEnumerator): (JSC::StructureRareData::invalidateWatchpointBasedValidation): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283556 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:52 PM Changeset in webkit [283688] by
-
- 7 edits in branches/safari-612-branch/Source
Cherry-pick r283444. rdar://problem/83960033
Remove JSC hack after r283410
https://bugs.webkit.org/show_bug.cgi?id=230261
Reviewed by Mark Lam.
Source/JavaScriptCore:
- runtime/JSObject.cpp: (JSC::JSObject::getOwnPropertyDescriptor):
- runtime/PropertySlot.h:
Source/WebCore:
We revert a hack for accessors in JSC since this is not necessary.
- bindings/scripts/CodeGeneratorJS.pm: (GetJSCAttributesForAttribute):
- bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::JSTestObjDOMConstructor::construct): (WebCore::jsTestObj_searchGetter): (WebCore::JSC_DEFINE_CUSTOM_GETTER): (WebCore::setJSTestObj_searchSetter): (WebCore::JSC_DEFINE_CUSTOM_SETTER):
- bindings/scripts/test/TestObj.idl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283444 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:52 PM Changeset in webkit [283687] by
-
- 16 edits in branches/safari-612-branch
Cherry-pick r283410. rdar://problem/83960033
Disable new incumbent-window until it is fully implemented
https://bugs.webkit.org/show_bug.cgi?id=230261
<rdar://problem/83099726>
Reviewed by Chris Dumez and Geoffrey Garen.
LayoutTests/imported/w3c:
- web-platform-tests/html/webappapis/scripting/events/compile-event-handler-settings-objects-expected.txt:
- web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-incumbent-expected.txt:
Source/JavaScriptCore:
- interpreter/CallFrame.cpp: (JSC::CallFrame::globalObjectOfClosestCodeBlock):
- runtime/JSObject.cpp: (JSC::JSObject::getOwnPropertyDescriptor):
- runtime/PropertySlot.h:
Source/WebCore:
This patch disables new incumbent-window until it is fully implemented to avoid compatibility issue.
- bindings/js/JSDOMConvertCallbacks.h: (WebCore::Converter<IDLCallbackFunction<T>>::convert): (WebCore::Converter<IDLCallbackInterface<T>>::convert):
- bindings/js/JSDOMGlobalObject.cpp: (WebCore::callerGlobalObject): (WebCore::legacyActiveGlobalObjectForAccessor):
- bindings/js/JSDOMGlobalObject.h:
- bindings/js/JSDOMWindowBase.cpp: (WebCore::incumbentDOMWindow): (WebCore::legacyActiveDOMWindowForAccessor):
- bindings/js/JSDOMWindowBase.h:
- bindings/scripts/CodeGeneratorJS.pm: (GetJSCAttributesForAttribute): (GenerateCallWith):
- page/Location.idl:
LayoutTests:
- http/tests/security/frameNavigation/context-for-location-href-gopd-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283410 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:46 PM Changeset in webkit [283686] by
-
- 1 copy in tags/Safari-612.2.9.0.5
Tag Safari-612.2.9.0.5.
- 5:43 PM Changeset in webkit [283685] by
-
- 3 edits in trunk/Source/WebCore
Have SourceBufferPrivateAVJObjC use WorkQueue instead of dispatch_async
https://bugs.webkit.org/show_bug.cgi?id=230881
rdar://83429276
This change is twofold:
1- dispatch_async takes an objective-C block which doesn't support C++ move
semantics. As such the lambda would be copied including the captured variables.
When use with a non-thread safe refcounted object it could lead to a race
on the refcount which would result in a leak.
By using a WorkQueue instead, we avoid the above problem.
2- We want to unify in the media code how threads are created and task
dispatched: WorkQueue is a nice solution.
Reviewed by Chris Dumez.
No observable difference.
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):
(WebCore::SourceBufferPrivateAVFObjC::append):
(WebCore::SourceBufferPrivateAVFObjC::resetParserState):
- 5:32 PM Changeset in webkit [283684] by
-
- 2 edits in branches/safari-612-branch/Source/WebKit
Cherry-pick r283294. rdar://problem/83956654
Add weakThis check in addition to null check added in r282881
https://bugs.webkit.org/show_bug.cgi?id=231000
<rdar://83605614>
Patch by Alex Christensen <achristensen@webkit.org> on 2021-09-29
Reviewed by Brady Eidson.
r282881 made NetworkLoad::start call didCompleteWithError, which can cause the
NetworkResourceLoader to be deleted. It added a null check on m_networkLoad which
sometimes reads freed memory. This certainly isn't great, but luckily we have a way
to check if this object has been deleted. Let's do that.
- NetworkProcess/NetworkResourceLoader.cpp: (WebKit::NetworkResourceLoader::startNetworkLoad):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283294 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:32 PM Changeset in webkit [283683] by
-
- 2 edits in branches/safari-612-branch/Source/WebKitLegacy/mac
Cherry-pick r283225. rdar://problem/83953851
Make WebLocalizedString() thread-safe
https://bugs.webkit.org/show_bug.cgi?id=230954
Reviewed by Alexey Proskuryakov.
Make WebLocalizedString() thread-safe. It takes minimal effort to make it thread-safe given
that the NSBundle API is thread-safe [1] and clients keep calling it on the background thread.
[1] https://developer.apple.com/documentation/foundation/nslocalizedstringwithdefaultvalue
"As of OS X 10.11 and iOS 9, NSBundle is thread-safe. As such, you can safely call
NSLocalizedStringWithDefaultValue from any execution context."
- Misc/WebLocalizableStrings.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283225 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:09 PM Changeset in webkit [283682] by
-
- 13 edits in trunk
Python 3: run-inspector-generator-tests and generate-inspector-protocol-bindings.py
https://bugs.webkit.org/show_bug.cgi?id=231055
Reviewed by Jonathan Bedard.
Source/JavaScriptCore:
BaseException.message has been deprecated as of Python 2.6. Use
str(e) instead.
It seems that using frozenset causes flaky test failures in Python
- Stopped using frozenset.
Rebaselined test expected results with Python 3. This change is
not Python 2 compatible because Python 2 represent a unicode text
as u'pagee' while Python 3 does 'pagee'.
- inspector/scripts/codegen/models.py:
- inspector/scripts/generate-inspector-protocol-bindings.py:
- inspector/scripts/tests/expected/fail-on-command-targetType-matching-domain-debuggableType.json-error:
- inspector/scripts/tests/expected/fail-on-command-targetTypes-value.json-error:
- inspector/scripts/tests/expected/fail-on-domain-debuggableTypes-value.json-error:
- inspector/scripts/tests/expected/fail-on-domain-targetType-matching-domain-debuggableType.json-error:
- inspector/scripts/tests/expected/fail-on-domain-targetTypes-value.json-error:
- inspector/scripts/tests/expected/fail-on-event-targetType-matching-domain-debuggableType.json-error:
- inspector/scripts/tests/expected/fail-on-event-targetTypes-value.json-error:
Tools:
- Scripts/run-inspector-generator-tests:
- Scripts/webkitpy/inspector/main.py:
(InspectorGeneratorTests.generate_from_json): Use sys.executable
to invoke generate-inspector-protocol-bindings.py because 'python'
is python2.
- 5:06 PM Changeset in webkit [283681] by
-
- 2 edits in trunk/Source/WebKit
Fix unified source-related build failures in RemoteSourceBufferProxy.cpp
https://bugs.webkit.org/show_bug.cgi?id=231335
Reviewed by Tim Horton.
We directly use WebCore::AudioTrackPrivate and WebCore::VideoTrackPrivate in RemoteSourceBufferProxy.cpp, but we
don't import their respective WebCore headers; this causes the build to break when shifting around unified
source groupings. Resolve this via the usual means (by importing these headers).
- GPUProcess/media/RemoteSourceBufferProxy.cpp:
- 4:56 PM Changeset in webkit [283680] by
-
- 7 edits in trunk/Source/WebCore
AX: Make AccessibilityObjectInterface::contents return-by-value instead of return-by-out-parameter
https://bugs.webkit.org/show_bug.cgi?id=231289
Patch by Tyler Wilcock <Tyler Wilcock> on 2021-10-06
Reviewed by Darin Adler.
Make AccessibilityObjectInterface::contents return-by-value instead of
return-by-out-parameter as this is more ergonomic.
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::contents):
- accessibility/AccessibilityObject.h:
- accessibility/AccessibilityObjectInterface.h:
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeAttributeData):
(WebCore::AXIsolatedObject::contents):
- accessibility/isolatedtree/AXIsolatedObject.h:
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
- 4:49 PM Changeset in webkit [283679] by
-
- 5 edits in trunk/Source/WebKit
Add some helper functions to RemoteResourceCache and RemoteResourceCacheProxy
https://bugs.webkit.org/show_bug.cgi?id=231319
Reviewed by Simon Fraser.
Add a few const getters to RemoteResourceCache, and make an existing getter on RemoteResourceCacheProxy const.
I plan to use these in future patches, to support using streamable IPC for display list rendering in the GPU
process.
- GPUProcess/graphics/RemoteResourceCache.cpp:
(WebKit::RemoteResourceCache::cachedImageBuffer const):
(WebKit::RemoteResourceCache::cachedNativeImage const):
(WebKit::RemoteResourceCache::cachedFont const):
(WebKit::RemoteResourceCache::cachedImageBuffer): Deleted.
- GPUProcess/graphics/RemoteResourceCache.h:
- WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp:
(WebKit::RemoteResourceCacheProxy::cachedImageBuffer const):
(WebKit::RemoteResourceCacheProxy::cachedImageBuffer): Deleted.
- WebProcess/GPU/graphics/RemoteResourceCacheProxy.h:
- 4:18 PM Changeset in webkit [283678] by
-
- 2 edits in trunk/Source/WebKit
Adopt WTF::ApproximateTime in IPC::Timeout
https://bugs.webkit.org/show_bug.cgi?id=231301
Reviewed by Simon Fraser.
When computing time out deadlines for IPC messages, the time granularities (on the order of hundreds of
milliseconds) are many, many orders of magnitude greater than the granularity of ApproximateTime; this makes it
much cheaper to use ApproximateTime instead of MonotonicTime when computing these deadlines, which significantly
improves performance in the case where we're streaming high volumes of IPC messages.
Additionally, in the case where the timeout duration is infinite, we can avoid asking for the current time
altogether, and simply useApproximateTime::infinity()
.
- Platform/IPC/Timeout.h:
(IPC::Timeout::Timeout):
(IPC::Timeout::secondsUntilDeadline const):
(IPC::Timeout::deadline const):
(IPC::Timeout::didTimeOut const):
- 4:15 PM Changeset in webkit [283677] by
-
- 2 edits in trunk/LayoutTests
[ iOS 15 Debug ] imported/w3c/web-platform-tests/xhr/send-timeout-events.htm is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=231337
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 3:58 PM Changeset in webkit [283676] by
-
- 37 edits3 copies4 adds in trunk
Add support for FileSystemSyncAccessHandle
https://bugs.webkit.org/show_bug.cgi?id=231185
<rdar://problem/83847859>
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
- web-platform-tests/file-system-access/sandboxed_FileSystemFileHandle-sync-access-handle-lock.https.tentative.worker-expected.txt:
Source/WebCore:
Implement basic support for FileSystemSyncAccessHandle as proposal:
https://github.com/WICG/file-system-access/blob/main/AccessHandle.md
FileSystemSyncAccessHandle can be created via FileSystemFileHandle, and it commuicates with backend via
FileSystemFileHandle.
Test: storage/filesystemaccess/sync-access-handle-basics-worker.html
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Headers.cmake:
- Modules/filesystemaccess/FileSystemFileHandle.cpp:
(WebCore::FileSystemFileHandle::createSyncAccessHandle):
(WebCore::FileSystemFileHandle::getSize):
(WebCore::FileSystemFileHandle::truncate):
(WebCore::FileSystemFileHandle::flush):
(WebCore::FileSystemFileHandle::close):
- Modules/filesystemaccess/FileSystemFileHandle.h:
- Modules/filesystemaccess/FileSystemFileHandle.idl:
- Modules/filesystemaccess/FileSystemStorageConnection.h:
- Modules/filesystemaccess/FileSystemSyncAccessHandle.cpp: Added.
(WebCore::FileSystemSyncAccessHandle::create):
(WebCore::FileSystemSyncAccessHandle::FileSystemSyncAccessHandle):
(WebCore::FileSystemSyncAccessHandle::~FileSystemSyncAccessHandle):
(WebCore::FileSystemSyncAccessHandle::truncate):
(WebCore::FileSystemSyncAccessHandle::getSize):
(WebCore::FileSystemSyncAccessHandle::flush):
(WebCore::FileSystemSyncAccessHandle::close):
(WebCore::FileSystemSyncAccessHandle::didClose):
- Modules/filesystemaccess/FileSystemSyncAccessHandle.h: Added.
- Modules/filesystemaccess/FileSystemSyncAccessHandle.idl: Added.
- Modules/filesystemaccess/FileSystemSyncAccessHandleIdentifier.h: Added.
- Modules/filesystemaccess/WorkerFileSystemStorageConnection.cpp:
(WebCore::WorkerFileSystemStorageConnection::scopeClosed):
(WebCore::WorkerFileSystemStorageConnection::removeEntry):
(WebCore::WorkerFileSystemStorageConnection::didCreateSyncAccessHandle):
(WebCore::WorkerFileSystemStorageConnection::completeIntegerCallback):
(WebCore::WorkerFileSystemStorageConnection::completeVoidCallback):
(WebCore::WorkerFileSystemStorageConnection::createSyncAccessHandle):
(WebCore::WorkerFileSystemStorageConnection::getSize):
(WebCore::WorkerFileSystemStorageConnection::truncate):
(WebCore::WorkerFileSystemStorageConnection::flush):
(WebCore::WorkerFileSystemStorageConnection::close):
(WebCore::WorkerFileSystemStorageConnection::didRemoveEntry): Deleted.
- Modules/filesystemaccess/WorkerFileSystemStorageConnection.h:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/WebCoreBuiltinNames.h:
Source/WebKit:
Currently we only allow one open access handle on one file. Second access handle can be created after the first
is closed.
- NetworkProcess/storage/FileSystemStorageError.h:
(WebKit::convertToException):
(WebKit::convertToExceptionOr):
(WebKit::convertToExceptionCode): Deleted.
- NetworkProcess/storage/FileSystemStorageHandle.cpp:
(WebKit::FileSystemStorageHandle::createSyncAccessHandle):
(WebKit::FileSystemStorageHandle::getSize):
(WebKit::FileSystemStorageHandle::truncate):
(WebKit::FileSystemStorageHandle::flush):
(WebKit::FileSystemStorageHandle::close):
- NetworkProcess/storage/FileSystemStorageHandle.h:
- NetworkProcess/storage/FileSystemStorageManager.cpp:
(WebKit::FileSystemStorageManager::connectionClosed):
(WebKit::FileSystemStorageManager::acquireLockForFile):
(WebKit::FileSystemStorageManager::releaseLockForFile):
- NetworkProcess/storage/FileSystemStorageManager.h:
- NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::NetworkStorageManager::createSyncAccessHandle):
(WebKit::NetworkStorageManager::getSizeForAccessHandle):
(WebKit::NetworkStorageManager::truncateForAccessHandle):
(WebKit::NetworkStorageManager::flushForAccessHandle):
(WebKit::NetworkStorageManager::closeAccessHandle):
- NetworkProcess/storage/NetworkStorageManager.h:
- NetworkProcess/storage/NetworkStorageManager.messages.in:
- Scripts/webkit/messages.py:
(types_that_cannot_be_forward_declared):
- WebProcess/WebCoreSupport/WebFileSystemStorageConnection.cpp:
(WebKit::WebFileSystemStorageConnection::getFileHandle):
(WebKit::WebFileSystemStorageConnection::getDirectoryHandle):
(WebKit::WebFileSystemStorageConnection::removeEntry):
(WebKit::WebFileSystemStorageConnection::resolve):
(WebKit::WebFileSystemStorageConnection::createSyncAccessHandle):
(WebKit::WebFileSystemStorageConnection::getSize):
(WebKit::WebFileSystemStorageConnection::truncate):
(WebKit::WebFileSystemStorageConnection::flush):
(WebKit::WebFileSystemStorageConnection::close):
- WebProcess/WebCoreSupport/WebFileSystemStorageConnection.h:
- WebProcess/WebCoreSupport/WebStorageConnection.cpp:
(WebKit::WebStorageConnection::fileSystemGetDirectory):
Source/WTF:
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- wtf/FileSystem.h:
- wtf/glib/FileSystemGlib.cpp:
(WTF::FileSystemImpl::flushFile):
- wtf/posix/FileSystemPOSIX.cpp:
(WTF::FileSystemImpl::flushFile):
- wtf/win/FileSystemWin.cpp:
(WTF::FileSystemImpl::flushFile):
LayoutTests:
- storage/filesystemaccess/resources/sync-access-handle-basics.js: Added.
(finishTest):
(getDirectory):
- storage/filesystemaccess/sync-access-handle-basics-worker-expected.txt: Added.
- storage/filesystemaccess/sync-access-handle-basics-worker.html: Added.
- 3:41 PM Changeset in webkit [283675] by
-
- 9 edits2 deletes in trunk
Make ImageBuffer::drawingContext() return GraphicsContext instead of DisplayList::DrawingContext
https://bugs.webkit.org/show_bug.cgi?id=231296
Reviewed by Simon Fraser.
Source/WebCore:
In preparation for decoupling RemoteImageBufferProxy from DisplayList::ImageBuffer (as well as DrawingContext),
we refactorImageBuffer::drawingContext()
to no longer return a DisplayList::DrawingContext, but rather a
generic GraphicsContext. In future patches, this allows us to create a new GraphicsContext subclass that doesn't
manage its own DisplayList, but instead uses streamable IPC messages to send individual display list items (or
eventually, just their arguments) over to the GPU process.
Unfortunately, this means that HTMLCanvasElement can no longer use its display list drawing context to track
display list items. However, since this capability was only used for a single layout test, we can simply remove
it altogether (and simplify some of the code in HTMLCanvasElement in the process).
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::createImageBuffer const):
(WebCore::HTMLCanvasElement::setTracksDisplayListReplay): Deleted.
(WebCore::HTMLCanvasElement::displayListAsText const): Deleted.
(WebCore::HTMLCanvasElement::replayDisplayListAsText const): Deleted.
- html/HTMLCanvasElement.h:
- platform/graphics/displaylists/DisplayListImageBuffer.h:
- testing/Internals.cpp:
(WebCore::Internals::setElementTracksDisplayListReplay):
(WebCore::Internals::displayListForElement):
(WebCore::Internals::replayDisplayListForElement):
LayoutTests:
Remove support for display list tracking in the canvas element. See WebCore ChangeLog for more details.
- displaylists/canvas-display-list-expected.txt: Removed.
- displaylists/canvas-display-list.html: Removed.
- platform/ios/TestExpectations:
- platform/mac-wk1/TestExpectations:
- 3:41 PM Changeset in webkit [283674] by
-
- 2 edits in trunk/LayoutTests
[ iOS 15 ] media/track/track-forced-subtitles-in-band.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=231333
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 3:35 PM Changeset in webkit [283673] by
-
- 1 edit4 adds in trunk/LayoutTests
[ iOS 15 ]2 fast/dom/HTMLAnchorElement tests are failing
https://bugs.webkit.org/show_bug.cgi?id=231293
Unreviewed test gardening.
Add iOS 14 baselines.
- platform/ios-14/fast/dom/HTMLAnchorElement/anchor-file-blob-convert-to-download-async-delegate-expected.txt: Added.
- platform/ios-14/fast/dom/HTMLAnchorElement/anchor-file-blob-convert-to-download-expected.txt: Added.
- 3:26 PM Changeset in webkit [283672] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, reverting r283634.
https://bugs.webkit.org/show_bug.cgi?id=231332
Some debug assertions. RenderLayer needs to be fixed first
Reverted changeset:
"Ensure that the top layer is always anchored to the
RenderView"
https://bugs.webkit.org/show_bug.cgi?id=231292
https://commits.webkit.org/r283634
- 3:12 PM Changeset in webkit [283671] by
-
- 7 edits in branches/safari-613.1.4-branch/Source/WebKit
Revert r283374. rdar://problem/83847918
- 3:08 PM Changeset in webkit [283670] by
-
- 16 edits1 move in trunk
Move FlushIdentifier out of the DisplayList namespace
https://bugs.webkit.org/show_bug.cgi?id=231263
Reviewed by Simon Fraser.
Source/WebCore:
See WebKit/ChangeLog for more details.
- Headers.cmake:
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/GraphicsContextFlushIdentifier.h: Renamed from Source/WebCore/platform/graphics/displaylists/DisplayListFlushIdentifier.h.
- platform/graphics/ImageBuffer.h:
(WebCore::ImageBuffer::didFlush):
- platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::FlushContext::FlushContext):
(WebCore::DisplayList::FlushContext::identifier const):
- platform/graphics/displaylists/DisplayListRecorder.h:
(WebCore::DisplayList::Recorder::flushContext):
Source/WebKit:
In a future patch, I plan to use
DisplayList::FlushIdentifier
in code that is not specific to WebCore display
lists. As such, move this out into a separate header (GraphicsContextFlushIdentifier.h
), and rename the enum
class accordingly.
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::didFlush):
- GPUProcess/graphics/RemoteRenderingBackend.h:
- Scripts/webkit/messages.py:
(types_that_cannot_be_forward_declared):
(headers_for_type):
- WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
(WebKit::RemoteImageBufferProxy::lastSentFlushIdentifier const):
(WebKit::RemoteImageBufferProxy::waitForDidFlushOnSecondaryThread):
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::didFlush):
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.messages.in:
Tools:
- TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:
(TestWebKitAPI::TEST):
- 3:03 PM Changeset in webkit [283669] by
-
- 2 edits in trunk/JSTests
Unreviewed, ensure test262 expectations reflect BigSur release mode.
- test262/expectations.yaml:
- 2:47 PM Changeset in webkit [283668] by
-
- 8 edits in branches/safari-612-branch/Source
Versioning.
WebKit-7612.3.1
- 2:45 PM Changeset in webkit [283667] by
-
- 8 edits3 adds2 deletes in trunk
Shadertoy "truchet district" fails to compile with error: Internal error compiling shader with Metal backend"
https://bugs.webkit.org/show_bug.cgi?id=229378
<rdar://problem/82299053>
Reviewed by Kenneth Russell.
Source/ThirdParty/ANGLE:
Change TranslatorMetalDirect to prefix '_u' to all user defined variables.
Clean up builtins like samplers and ANGLE structs that were being
accidently promoted to userDefined variables.
- src/compiler/translator/TranslatorMetalDirect.cpp:
(sh::GetMslKeywords):
- src/compiler/translator/TranslatorMetalDirect/Name.cpp:
(Name::emit const):
- src/compiler/translator/TranslatorMetalDirect/SymbolEnv.cpp:
(SymbolEnv::getTextureEnv):
(SymbolEnv::getSamplerStruct):
(sh::GetTextureTypeName):
- src/libANGLE/renderer/metal/mtl_glslang_mtl_utils.mm:
(rx::mtl::GenerateTransformFeedbackVaryingOutput):
LayoutTests:
Add a test testing Metal reserved words and standard library macros.
- webgl/pending/conformance/glsl/misc/shader-with-reserved-words-2-expected.txt: Added.
- webgl/pending/conformance/glsl/misc/shader-with-reserved-words-2.html: Added.
- webgl/pending/resources/webgl_test_files/conformance/glsl/misc/shader-with-reserved-words-2.html: Added.
- 2:38 PM Changeset in webkit [283666] by
-
- 1 edit27 adds in trunk/JSTests
[JSC] Update test262
https://bugs.webkit.org/show_bug.cgi?id=231201
Add tests that were somehow cut off in the previous patch.
Patch by Philip Chimento <pchimento@igalia.com> on 2021-10-06
Reviewed by Ross Kirsling.
- test262/test/built-ins/Temporal/Now/*: Added.
- 2:24 PM Changeset in webkit [283665] by
-
- 1 copy in tags/Safari-613.1.3.2
Tag Safari-613.1.3.2.
- 2:23 PM Changeset in webkit [283664] by
-
- 2 edits in branches/safari-613.1.4-branch/Source/WebCore
Cherry-pick r283641. rdar://problem/83951373
Clear glyph cache in InlineContent::clearAndDetach
https://bugs.webkit.org/show_bug.cgi?id=231312
Reviewed by Alan Bujtas.
We may be leaving stale glyph cache entries behind.
- layout/integration/LayoutIntegrationInlineContent.cpp: (WebCore::LayoutIntegration::InlineContent::clearAndDetach):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283641 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:23 PM Changeset in webkit [283663] by
-
- 11 edits in branches/safari-613.1.4-branch
Cherry-pick r283293. rdar://problem/83951351
Print values in a nicer way in the jsc shell
https://bugs.webkit.org/show_bug.cgi?id=230931
Reviewed by Tadeu Zagallo.
JSTests:
- ChakraCore/test/jsc-lib.js:
Source/JavaScriptCore:
Currently, print(1), print("1"), and print([1]) all print to stdout
simply as "1" (without the quotes). Same for values when running the
REPL. This isn't super helpful. Let's print quotes for strings, and
brackets for arrays.
Some tests rely on the old print behavior. Those tests now use the legacyPrint
instead.
- jsc.cpp: (toCString): (printInternal): (JSC_DEFINE_HOST_FUNCTION): (runInteractive): (cStringFromViewWithString): Deleted.
- runtime/JSCJSValue.cpp: (JSC::JSValue::toWTFStringForConsole const):
- runtime/JSCJSValue.h:
LayoutTests:
- resources/standalone-pre.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283293 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:20 PM Changeset in webkit [283662] by
-
- 6 edits in trunk/Source
Fix watchOS, tvOS, and macCatalyst builds after r283592
https://bugs.webkit.org/show_bug.cgi?id=231300
rdar://83936867
Reviewed by Wenson Hsieh.
Source/WebKit:
- Platform/spi/ios/PhotosUISPI.h:
- UIProcess/ios/forms/WKFileUploadPanel.mm:
(-[WKFileUploadPanel imagePickerController:didFinishPickingMultipleMediaWithInfo:]):
Source/WTF:
- wtf/PlatformEnableCocoa.h:
- wtf/PlatformHave.h:
- 2:08 PM Changeset in webkit [283661] by
-
- 2 edits in trunk/LayoutTests
[ iOS 15 ] http/tests/websocket/tests/hybi/close-code-and-reason.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=231329
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 2:07 PM Changeset in webkit [283660] by
-
- 8 edits in branches/safari-613.1.3-branch/Source
Versioning.
WebKit-7613.1.3.2
- 1:57 PM Changeset in webkit [283659] by
-
- 10 edits in trunk/LayoutTests
Replace setTimeout(x, 0) with requestAnimationFrame(x) in some autofocus tests
https://bugs.webkit.org/show_bug.cgi?id=231323
Reviewed by Chris Dumez.
Reason being the new autofocus behavior will happen asynchronously during "update rendering"
steps which is caught by the first, but not the second method.
Other minor changes:
- Remove "in XHTML", because the file extensions aren't actually XHTML...
- Remove not needed attributes from <script> tag
- Remove unneeded whitespace
- fast/forms/autofocus-opera-001.html:
- fast/forms/autofocus-opera-002.html:
- fast/forms/autofocus-opera-003.html:
- fast/forms/autofocus-opera-004.html:
- fast/forms/autofocus-opera-005.html:
- fast/forms/autofocus-opera-006.html:
- fast/forms/autofocus-opera-007.html:
- fast/forms/autofocus-opera-008.html:
- fast/forms/textarea/textarea-autofocus-removal-while-focusing.html:
- 1:53 PM Changeset in webkit [283658] by
-
- 2 edits in branches/safari-612-branch/Source/JavaScriptCore
Cherry-pick r281647. rdar://problem/83776284
[AppleWin] JSC build failure
https://bugs.webkit.org/show_bug.cgi?id=229578
Reviewed by Don Olmstead.
Add new build dependency between LLIntOffsetsExtractor and JSCBuiltins targets.
- CMakeLists.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281647 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:47 PM Changeset in webkit [283657] by
-
- 2 edits in trunk/LayoutTests
Rewrite plugins/object-onfocus-mutation-crash.html to stop relying on autofocus
https://bugs.webkit.org/show_bug.cgi?id=231327
Reviewed by Chris Dumez.
This test mostly tests onfocus and <object>, we don't need it to use autofocus.
The new autofocus timing will be async so we don't want this test to break with the new
behavior implemented. Use input.focus() instead.
- plugins/object-onfocus-mutation-crash.html:
- 1:46 PM Changeset in webkit [283656] by
-
- 2 edits in branches/safari-612.2.9.1-branch/Source/JavaScriptCore
Cherry-pick r281647. rdar://problem/83782432
[AppleWin] JSC build failure
https://bugs.webkit.org/show_bug.cgi?id=229578
Reviewed by Don Olmstead.
Add new build dependency between LLIntOffsetsExtractor and JSCBuiltins targets.
- CMakeLists.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281647 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:44 PM Changeset in webkit [283655] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed build fix for non-unified build.
- Modules/webaudio/WaveShaperProcessor.cpp:
- 1:41 PM Changeset in webkit [283654] by
-
- 3 edits in trunk/LayoutTests
[ iOS macOS wk2 ] http/tests/preload/onload_event.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=231328
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- platform/mac-wk2/TestExpectations:
- 1:26 PM Changeset in webkit [283653] by
-
- 2 edits in branches/safari-612.2.9.3-branch/Source/JavaScriptCore
Cherry-pick r283632. rdar://problem/83942645
Speculative fix for a null pointer dereference in ByteCodeParser::handlePutByVal.
https://bugs.webkit.org/show_bug.cgi?id=231252
rdar://83310320
Reviewed by Yusuke Suzuki.
We're seeing a null pointer dereference in ByteCodeParser::handlePutByVal().
Adding a null check here as a speculative fix to mitigate crashes while we
investigate further.
- dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::handlePutByVal):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283632 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:25 PM Changeset in webkit [283652] by
-
- 8 edits in branches/safari-612.2.9.3-branch/Source
Versioning.
WebKit-7612.2.9.3.4
- 1:20 PM Changeset in webkit [283651] by
-
- 597 edits2847 adds15 deletes in trunk/JSTests
[JSC] Update test262
https://bugs.webkit.org/show_bug.cgi?id=231201
Patch by Philip Chimento <pchimento@igalia.com> on 2021-10-06
Reviewed by Ross Kirsling.
Update test262 to latest, to bring in Temporal tests.
- test262/config.yaml: Ignore tests that depend on unimplemented parts
of Temporal.
- test262/expectations.yaml: Add new failures.
- test262/*: Update from upstream.
- test262/test262-Revision.txt:
- 1:09 PM Changeset in webkit [283650] by
-
- 2 edits in branches/safari-612.2.9.0-branch/Source/JavaScriptCore
Cherry-pick r283632. rdar://problem/83942677
Speculative fix for a null pointer dereference in ByteCodeParser::handlePutByVal.
https://bugs.webkit.org/show_bug.cgi?id=231252
rdar://83310320
Reviewed by Yusuke Suzuki.
We're seeing a null pointer dereference in ByteCodeParser::handlePutByVal().
Adding a null check here as a speculative fix to mitigate crashes while we
investigate further.
- dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::handlePutByVal):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283632 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:07 PM Changeset in webkit [283649] by
-
- 8 edits in branches/safari-612.2.9.0-branch/Source
Versioning.
WebKit-7612.2.9.0.5
- 1:05 PM Changeset in webkit [283648] by
-
- 2 edits in trunk/Source/WebCore
WaveShaperProcessor missing JSTypedArrays include
Unreviewed build fix.
The missing include can cause a build failure when adding a new file to Sources.txt.
- Modules/webaudio/WaveShaperProcessor.cpp:
- 12:52 PM Changeset in webkit [283647] by
-
- 2 edits in trunk/Tools
[ iOS15 Release ] TestWebKitAPI.WebSocket.CloseCode
https://bugs.webkit.org/show_bug.cgi?id=231306
Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-06
Reviewed by Chris Dumez.
This test starts by navigating, opening a websocket connection, then navigating away.
Sometimes in release builds we only get one didFinishNavigation callback.
The important thing about this test is that the server receives the expected close code
whenever the page is navigated away from, so drop the two didFinishNavigation checks.
I manually verified that on iOS15 simulator release builds the test would time out here,
and that it doesn't any more.
- TestWebKitAPI/Tests/WebKitCocoa/WebSocket.mm:
(TestWebKitAPI::TEST):
- 12:32 PM Changeset in webkit [283646] by
-
- 2 edits3 adds in trunk/LayoutTests
[ iOS 15 ]2 fast/dom/HTMLAnchorElement tests are failing
https://bugs.webkit.org/show_bug.cgi?id=231293
<rdar://problem/83935262>
Unreviewed, land iOS15 baselines for those tests.
- platform/ios-wk2/TestExpectations:
- platform/ios/fast/dom/HTMLAnchorElement/anchor-file-blob-convert-to-download-async-delegate-expected.txt: Added.
- platform/ios/fast/dom/HTMLAnchorElement/anchor-file-blob-convert-to-download-expected.txt: Added.
- 12:24 PM Changeset in webkit [283645] by
-
- 5 edits158 adds in trunk/LayoutTests
Import css/motion tests from WPT
https://bugs.webkit.org/show_bug.cgi?id=231195
Patch by Kiet Ho <Kiet Ho> on 2021-10-06
Reviewed by Myles C. Maxfield.
LayoutTests/imported/w3c:
Imported from git hash 4060609421747fbcd6f99d59ded3df9eaf3018b4.
- resources/import-expectations.json:
- resources/resource-files.json:
- web-platform-tests/css/motion/META.yml: Added.
- web-platform-tests/css/motion/animation/offset-anchor-composition-expected.txt: Added.
- web-platform-tests/css/motion/animation/offset-anchor-composition.html: Added.
- web-platform-tests/css/motion/animation/offset-anchor-interpolation-expected.txt: Added.
- web-platform-tests/css/motion/animation/offset-anchor-interpolation.html: Added.
- web-platform-tests/css/motion/animation/offset-distance-composition-expected.txt: Added.
- web-platform-tests/css/motion/animation/offset-distance-composition.html: Added.
- web-platform-tests/css/motion/animation/offset-distance-interpolation-expected.txt: Added.
- web-platform-tests/css/motion/animation/offset-distance-interpolation.html: Added.
- web-platform-tests/css/motion/animation/offset-interpolation-expected.txt: Added.
- web-platform-tests/css/motion/animation/offset-interpolation.html: Added.
- web-platform-tests/css/motion/animation/offset-path-composition-expected.txt: Added.
- web-platform-tests/css/motion/animation/offset-path-composition.html: Added.
- web-platform-tests/css/motion/animation/offset-path-interpolation-001-expected.txt: Added.
- web-platform-tests/css/motion/animation/offset-path-interpolation-001.html: Added.
- web-platform-tests/css/motion/animation/offset-path-interpolation-002-expected.txt: Added.
- web-platform-tests/css/motion/animation/offset-path-interpolation-002.html: Added.
- web-platform-tests/css/motion/animation/offset-path-interpolation-003-expected.txt: Added.
- web-platform-tests/css/motion/animation/offset-path-interpolation-003.html: Added.
- web-platform-tests/css/motion/animation/offset-path-interpolation-004-expected.txt: Added.
- web-platform-tests/css/motion/animation/offset-path-interpolation-004.html: Added.
- web-platform-tests/css/motion/animation/offset-path-interpolation-005-expected.txt: Added.
- web-platform-tests/css/motion/animation/offset-path-interpolation-005.html: Added.
- web-platform-tests/css/motion/animation/offset-position-composition-expected.txt: Added.
- web-platform-tests/css/motion/animation/offset-position-composition.html: Added.
- web-platform-tests/css/motion/animation/offset-position-interpolation-expected.txt: Added.
- web-platform-tests/css/motion/animation/offset-position-interpolation.html: Added.
- web-platform-tests/css/motion/animation/offset-rotate-composition-expected.txt: Added.
- web-platform-tests/css/motion/animation/offset-rotate-composition.html: Added.
- web-platform-tests/css/motion/animation/offset-rotate-interpolation-expected.txt: Added.
- web-platform-tests/css/motion/animation/offset-rotate-interpolation.html: Added.
- web-platform-tests/css/motion/animation/reftests/offset-distance-interpolation-001-expected.html: Added.
- web-platform-tests/css/motion/animation/reftests/offset-distance-interpolation-001.html: Added.
- web-platform-tests/css/motion/animation/reftests/offset-path-path-interpolation-001-expected.html: Added.
- web-platform-tests/css/motion/animation/reftests/offset-path-path-interpolation-001.html: Added.
- web-platform-tests/css/motion/animation/reftests/offset-path-with-transforms-001-expected.html: Added.
- web-platform-tests/css/motion/animation/reftests/offset-path-with-transforms-001.html: Added.
- web-platform-tests/css/motion/animation/reftests/offset-rotate-interpolation-001-expected.html: Added.
- web-platform-tests/css/motion/animation/reftests/offset-rotate-interpolation-001.html: Added.
- web-platform-tests/css/motion/animation/reftests/w3c-import.log: Added.
- web-platform-tests/css/motion/animation/w3c-import.log: Added.
- web-platform-tests/css/motion/inheritance-expected.txt: Added.
- web-platform-tests/css/motion/inheritance.html: Added.
- web-platform-tests/css/motion/offset-anchor-transform-box-fill-box-001-expected.html: Added.
- web-platform-tests/css/motion/offset-anchor-transform-box-fill-box-001.html: Added.
- web-platform-tests/css/motion/offset-anchor-transform-box-fill-box-002-expected.html: Added.
- web-platform-tests/css/motion/offset-anchor-transform-box-fill-box-002.html: Added.
- web-platform-tests/css/motion/offset-anchor-transform-box-fill-box-003-expected.html: Added.
- web-platform-tests/css/motion/offset-anchor-transform-box-fill-box-003.html: Added.
- web-platform-tests/css/motion/offset-distance-001-expected.html: Added.
- web-platform-tests/css/motion/offset-distance-001.html: Added.
- web-platform-tests/css/motion/offset-distance-002-expected.html: Added.
- web-platform-tests/css/motion/offset-distance-002.html: Added.
- web-platform-tests/css/motion/offset-distance-003-expected.html: Added.
- web-platform-tests/css/motion/offset-distance-003.html: Added.
- web-platform-tests/css/motion/offset-distance-004-expected.html: Added.
- web-platform-tests/css/motion/offset-distance-004.html: Added.
- web-platform-tests/css/motion/offset-distance-005-expected.html: Added.
- web-platform-tests/css/motion/offset-distance-005.html: Added.
- web-platform-tests/css/motion/offset-distance-006-expected.html: Added.
- web-platform-tests/css/motion/offset-distance-006.html: Added.
- web-platform-tests/css/motion/offset-distance-007-expected.html: Added.
- web-platform-tests/css/motion/offset-distance-007.html: Added.
- web-platform-tests/css/motion/offset-distance-008-expected.html: Added.
- web-platform-tests/css/motion/offset-distance-008.html: Added.
- web-platform-tests/css/motion/offset-distance-009-expected.html: Added.
- web-platform-tests/css/motion/offset-distance-009.html: Added.
- web-platform-tests/css/motion/offset-path-huge-angle-deg-001-crash.html: Added.
- web-platform-tests/css/motion/offset-path-huge-angle-grad-001-crash.html: Added.
- web-platform-tests/css/motion/offset-path-huge-angle-turn-001-crash.html: Added.
- web-platform-tests/css/motion/offset-path-ray-001-expected.html: Added.
- web-platform-tests/css/motion/offset-path-ray-001.html: Added.
- web-platform-tests/css/motion/offset-path-ray-002-expected.html: Added.
- web-platform-tests/css/motion/offset-path-ray-002.html: Added.
- web-platform-tests/css/motion/offset-path-ray-003-expected.html: Added.
- web-platform-tests/css/motion/offset-path-ray-003.html: Added.
- web-platform-tests/css/motion/offset-path-ray-004-expected.html: Added.
- web-platform-tests/css/motion/offset-path-ray-004.html: Added.
- web-platform-tests/css/motion/offset-path-ray-005-expected.html: Added.
- web-platform-tests/css/motion/offset-path-ray-005.html: Added.
- web-platform-tests/css/motion/offset-path-ray-006-expected.html: Added.
- web-platform-tests/css/motion/offset-path-ray-006.html: Added.
- web-platform-tests/css/motion/offset-path-ray-007-expected.html: Added.
- web-platform-tests/css/motion/offset-path-ray-007.html: Added.
- web-platform-tests/css/motion/offset-path-ray-008-expected.html: Added.
- web-platform-tests/css/motion/offset-path-ray-008.html: Added.
- web-platform-tests/css/motion/offset-path-ray-009-expected.html: Added.
- web-platform-tests/css/motion/offset-path-ray-009.html: Added.
- web-platform-tests/css/motion/offset-path-ray-contain-001-expected.html: Added.
- web-platform-tests/css/motion/offset-path-ray-contain-001.html: Added.
- web-platform-tests/css/motion/offset-path-ray-contain-002-expected.html: Added.
- web-platform-tests/css/motion/offset-path-ray-contain-002.html: Added.
- web-platform-tests/css/motion/offset-path-ray-contain-003-expected.html: Added.
- web-platform-tests/css/motion/offset-path-ray-contain-003.html: Added.
- web-platform-tests/css/motion/offset-path-ray-contain-004-expected.html: Added.
- web-platform-tests/css/motion/offset-path-ray-contain-004.html: Added.
- web-platform-tests/css/motion/offset-path-ray-contain-005-expected.html: Added.
- web-platform-tests/css/motion/offset-path-ray-contain-005.html: Added.
- web-platform-tests/css/motion/offset-path-serialization-expected.txt: Added.
- web-platform-tests/css/motion/offset-path-serialization.html: Added.
- web-platform-tests/css/motion/offset-path-string-001-expected.html: Added.
- web-platform-tests/css/motion/offset-path-string-001.html: Added.
- web-platform-tests/css/motion/offset-path-string-002-expected.html: Added.
- web-platform-tests/css/motion/offset-path-string-002.html: Added.
- web-platform-tests/css/motion/offset-rotate-001-expected.html: Added.
- web-platform-tests/css/motion/offset-rotate-001.html: Added.
- web-platform-tests/css/motion/offset-rotate-002-expected.html: Added.
- web-platform-tests/css/motion/offset-rotate-002.html: Added.
- web-platform-tests/css/motion/offset-rotate-003-expected.html: Added.
- web-platform-tests/css/motion/offset-rotate-003.html: Added.
- web-platform-tests/css/motion/offset-rotate-004-expected.html: Added.
- web-platform-tests/css/motion/offset-rotate-004.html: Added.
- web-platform-tests/css/motion/offset-rotate-005-expected.html: Added.
- web-platform-tests/css/motion/offset-rotate-005.html: Added.
- web-platform-tests/css/motion/offset-supports-calc-expected.txt: Added.
- web-platform-tests/css/motion/offset-supports-calc.html: Added.
- web-platform-tests/css/motion/parsing/offset-anchor-computed-expected.txt: Added.
- web-platform-tests/css/motion/parsing/offset-anchor-computed.html: Added.
- web-platform-tests/css/motion/parsing/offset-anchor-parsing-invalid-expected.txt: Added.
- web-platform-tests/css/motion/parsing/offset-anchor-parsing-invalid.html: Added.
- web-platform-tests/css/motion/parsing/offset-anchor-parsing-valid-expected.txt: Added.
- web-platform-tests/css/motion/parsing/offset-anchor-parsing-valid.html: Added.
- web-platform-tests/css/motion/parsing/offset-distance-computed-expected.txt: Added.
- web-platform-tests/css/motion/parsing/offset-distance-computed.html: Added.
- web-platform-tests/css/motion/parsing/offset-distance-parsing-invalid-expected.txt: Added.
- web-platform-tests/css/motion/parsing/offset-distance-parsing-invalid.html: Added.
- web-platform-tests/css/motion/parsing/offset-distance-parsing-valid-expected.txt: Added.
- web-platform-tests/css/motion/parsing/offset-distance-parsing-valid.html: Added.
- web-platform-tests/css/motion/parsing/offset-parsing-invalid-expected.txt: Added.
- web-platform-tests/css/motion/parsing/offset-parsing-invalid.html: Added.
- web-platform-tests/css/motion/parsing/offset-parsing-valid-expected.txt: Added.
- web-platform-tests/css/motion/parsing/offset-parsing-valid.html: Added.
- web-platform-tests/css/motion/parsing/offset-path-computed-expected.txt: Added.
- web-platform-tests/css/motion/parsing/offset-path-computed.html: Added.
- web-platform-tests/css/motion/parsing/offset-path-parsing-invalid-expected.txt: Added.
- web-platform-tests/css/motion/parsing/offset-path-parsing-invalid.html: Added.
- web-platform-tests/css/motion/parsing/offset-path-parsing-valid-expected.txt: Added.
- web-platform-tests/css/motion/parsing/offset-path-parsing-valid.html: Added.
- web-platform-tests/css/motion/parsing/offset-position-computed-expected.txt: Added.
- web-platform-tests/css/motion/parsing/offset-position-computed.html: Added.
- web-platform-tests/css/motion/parsing/offset-position-parsing-invalid-expected.txt: Added.
- web-platform-tests/css/motion/parsing/offset-position-parsing-invalid.html: Added.
- web-platform-tests/css/motion/parsing/offset-position-parsing-valid-expected.txt: Added.
- web-platform-tests/css/motion/parsing/offset-position-parsing-valid.html: Added.
- web-platform-tests/css/motion/parsing/offset-rotate-computed-expected.txt: Added.
- web-platform-tests/css/motion/parsing/offset-rotate-computed.html: Added.
- web-platform-tests/css/motion/parsing/offset-rotate-parsing-invalid-expected.txt: Added.
- web-platform-tests/css/motion/parsing/offset-rotate-parsing-invalid.html: Added.
- web-platform-tests/css/motion/parsing/offset-rotate-parsing-valid-expected.txt: Added.
- web-platform-tests/css/motion/parsing/offset-rotate-parsing-valid.html: Added.
- web-platform-tests/css/motion/parsing/offset-shorthand-expected.txt: Added.
- web-platform-tests/css/motion/parsing/offset-shorthand.html: Added.
- web-platform-tests/css/motion/parsing/w3c-import.log: Added.
- web-platform-tests/css/motion/w3c-import.log: Added.
LayoutTests:
- TestExpectations: Added ImageOnlyFailure expectations for css/motion reftests.
- 12:04 PM Changeset in webkit [283644] by
-
- 2 edits in trunk/Source/WebCore
WaveShaperProcessor missing ArrayBuffer include
Unreviewed build fix.
The missing include can cause a build failure when adding a new file to Sources.txt.
- Modules/webaudio/WaveShaperProcessor.cpp:
- 11:58 AM Changeset in webkit [283643] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed build fix.
Fix XPath::Value namespacing after r283635.
- xml/XPathResult.cpp:
(WebCore::XPathResult::XPathResult):
- 11:48 AM Changeset in webkit [283642] by
-
- 2 edits in trunk/LayoutTests
[ iOS 15 ] fast/text/accessibility-bold-system-font-2.html is image failing.
https://bugs.webkit.org/show_bug.cgi?id=231316
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 11:39 AM Changeset in webkit [283641] by
-
- 2 edits in trunk/Source/WebCore
Clear glyph cache in InlineContent::clearAndDetach
https://bugs.webkit.org/show_bug.cgi?id=231312
Reviewed by Alan Bujtas.
We may be leaving stale glyph cache entries behind.
- layout/integration/LayoutIntegrationInlineContent.cpp:
(WebCore::LayoutIntegration::InlineContent::clearAndDetach):
- 11:34 AM Changeset in webkit [283640] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] fast/events/ios/rotation/safe-area-insets-during-safari-type-rotation.html is timing out/ flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=231315
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 11:28 AM Changeset in webkit [283639] by
-
- 2 edits in branches/safari-612.2.9.1-branch/Source/JavaScriptCore
Cherry-pick r283632. rdar://problem/83943156
Speculative fix for a null pointer dereference in ByteCodeParser::handlePutByVal.
https://bugs.webkit.org/show_bug.cgi?id=231252
rdar://83310320
Reviewed by Yusuke Suzuki.
We're seeing a null pointer dereference in ByteCodeParser::handlePutByVal().
Adding a null check here as a speculative fix to mitigate crashes while we
investigate further.
- dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::handlePutByVal):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283632 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:17 AM Changeset in webkit [283638] by
-
- 2 edits in trunk/Source/WebCore
ASSERTion failure in WebCore::deviceClass() on macCatalyst
https://bugs.webkit.org/show_bug.cgi?id=231279
Reviewed by Anders Carlsson.
- platform/ios/Device.cpp:
(WebCore::deviceClass):
Simplify deviceClass(); there's no reason to assert here, callers
should be written to assume they don't know the future. Also, this
has been asserting on macOS for ages...
- 11:11 AM Changeset in webkit [283637] by
-
- 10 edits in trunk
Fix serialization of CSSMediaRule
https://bugs.webkit.org/show_bug.cgi?id=231249
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-ui/appearance-serialization-expected.txt: Rebaseline.
- web-platform-tests/css/css-ui/webkit-appearance-serialization-expected.txt: Rebaseline.
- web-platform-tests/css/cssom/serialize-media-rule-expected.txt: Mark progression.
Source/WebCore:
See https://drafts.csswg.org/cssom/#serialize-a-css-rule.
New behavior matches Chrome and Firefox.
- css/CSSMediaRule.cpp:
(WebCore::CSSMediaRule::cssText const):
Remove space before newline.
LayoutTests:
Rebaseline tests to account for the correct serialization.
- css3/supports-cssom-expected.txt:
- css3/supports-cssom.html:
- fast/css/resources/insertRule-media.js:
- 11:08 AM Changeset in webkit [283636] by
-
- 5 edits in trunk/Source/WebCore
Reduce use of "using namespace": eliminate all "using namespace XPath"
https://bugs.webkit.org/show_bug.cgi?id=231302
Reviewed by Sam Weinig.
- xml/XPathEvaluator.cpp: Removed "using namespace XPath".
(WebCore::XPathEvaluator::evaluate): Use XPath prefix explicitly.
- xml/XPathExpression.cpp: Removed "using namespace XPath".
(WebCore::XPathExpression::createExpression): Ditto.
(WebCore::XPathExpression::evaluate): Ditto.
- xml/XPathGrammar.y: Removed "using namespace WebCore" and
"using namespace XPath".
- xml/XPathResult.cpp: Removed "using namespace XPath".
- 11:00 AM Changeset in webkit [283635] by
-
- 5 edits in trunk/Source/WebCore
Don't use namespace WebCore::XPath at global scope
https://bugs.webkit.org/show_bug.cgi?id=231186
Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-06
Reviewed by Sam Weinig.
It causes problems with unified builds, which get confused between WebCore::XPath::Function and WTF::Function.
- xml/XPathGrammar.cpp:
- xml/XPathGrammar.h:
- xml/XPathGrammar.y:
- xml/XPathParser.cpp:
- 10:54 AM Changeset in webkit [283634] by
-
- 2 edits in trunk/Source/WebCore
Ensure that the top layer is always anchored to the RenderView
https://bugs.webkit.org/show_bug.cgi?id=231292
Reviewed by Simon Fraser.
A fixed positioned block level box is not necessarily anchored to the RenderView (see canContainFixedPositionObjects).
This patch ensures that we skip those ancestors and return the RenderView as the containing block for the top layer content.
https://fullscreen.spec.whatwg.org/#new-stacking-layer
"If the top layer position property computes to fixed, its containing block is the viewport, and the initial containing block otherwise."
- rendering/RenderObject.cpp:
(WebCore::RenderObject::containingBlock const):
(WebCore::containerForElement):
- 10:50 AM Changeset in webkit [283633] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] fast/events/ios/fast-click-double-tap-to-zoom-in-on-text-and-then-again-to-zoom-out.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=231311
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 10:31 AM Changeset in webkit [283632] by
-
- 2 edits in trunk/Source/JavaScriptCore
Speculative fix for a null pointer dereference in ByteCodeParser::handlePutByVal.
https://bugs.webkit.org/show_bug.cgi?id=231252
rdar://83310320
Reviewed by Yusuke Suzuki.
We're seeing a null pointer dereference in ByteCodeParser::handlePutByVal().
Adding a null check here as a speculative fix to mitigate crashes while we
investigate further.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::handlePutByVal):
- 10:29 AM Changeset in webkit [283631] by
-
- 7 edits1 delete in trunk
Reset m_isModal flag when removing <dialog> from document
https://bugs.webkit.org/show_bug.cgi?id=231290
Reviewed by Alan Bujtas.
m_isModal triggers the :-internal-modal-dialog pseudo class, which changes position from absolute to fixed.
When removing a modal <dialog> from the document, it is also removed from the top layer, so it makes sense
to reset the m_isModal flag as well as a result.
Updated test expectations to reflect new passing tests.
LayoutTests/imported/w3c:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/abspos-dialog-layout-expected.txt:
Source/WebCore:
- html/HTMLDialogElement.cpp:
(WebCore::HTMLDialogElement::removedFromAncestor):
- html/HTMLDialogElement.h:
LayoutTests:
- TestExpectations:
- platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/abspos-dialog-layout-expected.txt: Removed.
- 10:13 AM Changeset in webkit [283630] by
-
- 2 edits in trunk/LayoutTests
media/modern-media-controls tests are timing out.
https://bugs.webkit.org/show_bug.cgi?id=231187
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 10:11 AM Changeset in webkit [283629] by
-
- 8 edits in branches/safari-612.2.9.1-branch/Source
Versioning.
WebKit-7612.2.9.1.5
- 9:56 AM Changeset in webkit [283628] by
-
- 2 edits in trunk/Source/WebCore
CoreAudioSharedUnit should not clear its persistentID when device capture changes
https://bugs.webkit.org/show_bug.cgi?id=231280
Reviewed by Eric Carlson.
Manually tested.
- platform/mediastream/mac/CoreAudioCaptureSource.cpp:
(WebCore::CoreAudioSharedUnit::cleanupAudioUnit):
Partially reverting https://commits.webkit.org/r280702 which was clearing m_persistentID in cleanUpAudioUnit.
The issue is that when unit is capturing and is changing capturing device, it will set m_persistentID then cleanUpAudioUnit
as part of its reconfiguration. This was making m_persistentID being empty.
When starting to capture, we often receive a notification of changed devices and we would check whether the new devices set
contains m_persistentID. If not (which is the case since m_persistentID is empty), we would fail the capture.
- 9:30 AM Changeset in webkit [283627] by
-
- 2 edits in trunk/LayoutTests
[ iOS 15 Debug ] 3 imported/w3c/web-platform-tests/selection tests are a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=231299
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 9:06 AM Changeset in webkit [283626] by
-
- 9 edits3 adds in trunk
[GTK][WPE] CSS scroll snapping interacts badly with smooth scrolling
https://bugs.webkit.org/show_bug.cgi?id=229037
Reviewed by Simon Fraser.
Source/WebCore:
Make CSS scroll snapping behave in a predictable way when scrolling
with touchpads/screens on GTK/WPE.
Test: fast/scrolling/gtk/user-scroll-snapping-interaction.html
- platform/ScrollAnimator.h:
(WebCore::ScrollAnimator::isUserScrollInProgress const):
(WebCore::ScrollAnimator::isScrollSnapInProgress const):
- platform/ScrollingEffectsController.cpp:
(WebCore::ScrollingEffectsController::processWheelEventForKineticScrolling):
(WebCore::ScrollingEffectsController::adjustDeltaForSnappingIfNeeded):
(WebCore::ScrollingEffectsController::handleWheelEvent):
(WebCore::ScrollingEffectsController::isUserScrollInProgress const):
(WebCore::ScrollingEffectsController::isScrollSnapInProgress const):
- platform/ScrollingEffectsController.h:
- platform/mac/ScrollAnimatorMac.h:
- platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::isUserScrollInProgress const): Deleted.
(WebCore::ScrollAnimatorMac::isScrollSnapInProgress const): Deleted.
LayoutTests:
Add a GTK-only test to verify CSS scroll snapping and kinetic/touchpad
scrolling behave correctly.
- TestExpectations:
- fast/scrolling/gtk/user-scroll-snapping-interaction-expected.txt: Added.
- fast/scrolling/gtk/user-scroll-snapping-interaction.html: Added.
- platform/gtk/TestExpectations:
- 8:57 AM Changeset in webkit [283625] by
-
- 3 edits in trunk/Tools
Style checker should check spacing inside braces with elements in them
https://bugs.webkit.org/show_bug.cgi?id=231199
In order to automate this and prevent reviewers from having to comment
on it, ensure that spaces are required by webkit-check-style inside of
braces with elements in them (e.g., initializer lists.)
In order to avoid false positives, ignore brace spacing if the braces
are surrounded by double-quotes on the same line, assuming that means
it's likely the braces are inside a string.
Patch by Philip Chimento <pchimento@igalia.com> on 2021-10-06
Reviewed by Jonathan Bedard.
- Scripts/webkitpy/style/checkers/cpp.py:
(check_spacing):
- Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest):
(NoNonVirtualDestructorsTest):
(WebKitStyleTest.test_indentation):
- 8:56 AM Changeset in webkit [283624] by
-
- 2 edits in trunk/LayoutTests
[ iOS 15 ] 2 http/tests/app-privacy-report tests are timing out.
https://bugs.webkit.org/show_bug.cgi?id=231295
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 8:49 AM Changeset in webkit [283623] by
-
- 8 edits1 add in trunk
Run backwards propagation before we prune the graph after ForceOSRExit nodes in BytecodeParser
https://bugs.webkit.org/show_bug.cgi?id=230823
<rdar://problem/83565088>
Reviewed by Robin Morisset.
JSTests:
- run-backwards-propagation-before-osr-exit-pruning.js: Added.
(assert):
(main.async v24):
(main):
Source/JavaScriptCore:
We've found yet another bug where pruning code after OSR exits
before running backwards propagation leads to us breaking the spec
in weird IR situations. In the particular test case here, we end
up not thinking we care about negative zero for an ArithNegate,
and we exit the program while recovering the value 0 instead of -0.
Fundamentally, backwards propagation wants to see all bytecode uses.
Therefore, it seems like a more sound strategy to run backwards propagation
before we end up mucking with the graph. This patch makes it so we run
backwards propagation inside bytecode parser before we prune the IR.
That way, the phase sees the graph as if it's an IR over the whole bytecode
graph.
- bytecode/Operands.h:
(JSC::Operands::operator!= const):
- dfg/DFGBackwardsPropagationPhase.cpp:
(JSC::DFG::BackwardsPropagationPhase::BackwardsPropagationPhase):
(JSC::DFG::BackwardsPropagationPhase::run):
(JSC::DFG::BackwardsPropagationPhase::mergeFlags):
(JSC::DFG::BackwardsPropagationPhase::propagate):
(JSC::DFG::performBackwardsPropagation):
- dfg/DFGBackwardsPropagationPhase.h:
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parse):
- dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
- dfg/DFGUnificationPhase.cpp:
(JSC::DFG::UnificationPhase::run):
- 8:43 AM Changeset in webkit [283622] by
-
- 2 edits in trunk/LayoutTests
[ iOS 15 ]2 fast/dom/HTMLAnchorElement tests are failing.
https://bugs.webkit.org/show_bug.cgi?id=231293
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 8:31 AM Changeset in webkit [283621] by
-
- 2 edits in trunk/LayoutTests
[ iOS 15 ] fast/events/ios/rotation/safari-like-rotation.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=231269
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 8:25 AM Changeset in webkit [283620] by
-
- 9 edits in trunk/Source/WebCore
[LFC] Layout box should own its children
https://bugs.webkit.org/show_bug.cgi?id=231288
Reviewed by Alan Bujtas.
Avoid the need to have a separate ownership scheme.
Also make the box tree use CheckedPtrs.
- layout/integration/LayoutIntegrationBoxTree.cpp:
(WebCore::LayoutIntegration::BoxTree::appendChild):
- layout/integration/LayoutIntegrationBoxTree.h:
- layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::setParent):
(WebCore::Layout::Box::setNextSibling):
(WebCore::Layout::Box::setPreviousSibling):
- layout/layouttree/LayoutBox.h:
(WebCore::Layout::Box::nextSibling const):
(WebCore::Layout::Box::previousSibling const):
(WebCore::Layout::Box::nextSibling):
(WebCore::Layout::Box::setParent): Deleted.
(WebCore::Layout::Box::setNextSibling): Deleted.
(WebCore::Layout::Box::setPreviousSibling): Deleted.
- layout/layouttree/LayoutContainerBox.cpp:
(WebCore::Layout::ContainerBox::~ContainerBox):
(WebCore::Layout::ContainerBox::appendChild):
(WebCore::Layout::ContainerBox::destroyChildren):
(WebCore::Layout::ContainerBox::setFirstChild): Deleted.
(WebCore::Layout::ContainerBox::setLastChild): Deleted.
- layout/layouttree/LayoutContainerBox.h:
(WebCore::Layout::ContainerBox::firstChild const):
(WebCore::Layout::ContainerBox::lastChild const):
(WebCore::Layout::ContainerBox::firstChild):
(): Deleted.
- layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::LayoutTree::LayoutTree):
(WebCore::Layout::appendChild):
(WebCore::Layout::TreeBuilder::buildLayoutTree):
(WebCore::Layout::TreeBuilder::TreeBuilder):
(WebCore::Layout::TreeBuilder::createReplacedBox):
(WebCore::Layout::TreeBuilder::createTextBox):
(WebCore::Layout::TreeBuilder::createLineBreakBox):
(WebCore::Layout::TreeBuilder::createContainer):
(WebCore::Layout::TreeBuilder::createLayoutBox):
(WebCore::Layout::TreeBuilder::buildTableStructure):
(WebCore::Layout::TreeBuilder::buildSubTree):
- layout/layouttree/LayoutTreeBuilder.h:
(WebCore::Layout::LayoutTree::root const):
(WebCore::Layout::LayoutTree::append): Deleted.
- 8:23 AM Changeset in webkit [283619] by
-
- 9 edits in trunk/Source
Allow text selection to flip.
https://bugs.webkit.org/show_bug.cgi?id=231234
rdar://83889188
Reviewed by Wenson Hsieh.
Source/WebKit:
In order to bring webkit more in line with UIKit, allow text selection to flip.
This also requires a UIKit change tracked in rdar://83788439
This is currently guarded behind an off-by-default flag so that we can
test this new behavior before turning it on by default.
- Platform/spi/ios/UIKitSPI.h:
- Shared/ios/GestureTypes.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(toUIWKSelectionFlags):
(toSelectionFlags):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::selectionFlippingEnabled const):
(WebKit::WebPage::setSelectionFlippingEnabled):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::rangeForPointInRootViewCoordinates):
(WebKit::WebPage::updateSelectionWithTouches):
Source/WTF:
Add an internal flag to guard text selection flipping while
we test to make sure this is reasonable to turn on everywhere.
- Scripts/Preferences/WebPreferencesInternal.yaml:
- 8:21 AM Changeset in webkit [283618] by
-
- 2 edits in trunk/Source/WebKit
IPC SimpleArgumentEncoder should static_assert(std::is_trivially_copyable<T>)
https://bugs.webkit.org/show_bug.cgi?id=230743
<rdar://problem/83757335>
Reviewed by Kimmo Kinnunen.
Add static_assert(std::is_trivially_copyable<T>) to IPC SimpleArgumentEncoder to avoid misuses.
- Platform/IPC/ArgumentCoders.h:
- 7:56 AM Changeset in webkit [283617] by
-
- 6 edits in trunk/Source/WebKit
[WebKit2] Refactor some IPC argument encoder logic to work with StreamConnectionEncoder
https://bugs.webkit.org/show_bug.cgi?id=230714
rdar://83477591
Reviewed by Tim Horton.
Make it possible to use
IPC::StreamConnectionEncoder
to encode display list items (and their members) in an
IPC stream. This patch comprises two main sets of changes inArgumentCoders
, andWebCoreArgumentCoders
. See
below for more details.
- Platform/IPC/ArgumentCoders.cpp:
(IPC::ArgumentCoder<audit_token_t>::decode):
(IPC::ArgumentCoder<Monostate>::encode): Deleted.
(IPC::ArgumentCoder<Monostate>::decode): Deleted.
- Platform/IPC/ArgumentCoders.h:
(IPC::ArgumentCoder<Monostate>::encode):
(IPC::ArgumentCoder<Monostate>::decode):
Many of these
encode()
methods are currently non-templated, which means that Encoder and Decoder used here
refer solely to IPC::Encoder and IPC::Decoder (respectively) instead of other types of encoders (namely,
StreamConnectionEncoder). Make these use templatedencode
methods intead, so that they work with generic
encoders.
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<AffineTransform>::encode): Deleted.
(IPC::ArgumentCoder<AffineTransform>::decode): Deleted.
(IPC::ArgumentCoder<FloatPoint>::encode): Deleted.
(IPC::ArgumentCoder<FloatPoint>::decode): Deleted.
(IPC::ArgumentCoder<FloatPoint3D>::encode): Deleted.
(IPC::ArgumentCoder<FloatPoint3D>::decode): Deleted.
(IPC::ArgumentCoder<FloatRect>::encode): Deleted.
(IPC::ArgumentCoder<FloatRect>::decode): Deleted.
(IPC::ArgumentCoder<FloatBoxExtent>::encode): Deleted.
(IPC::ArgumentCoder<FloatBoxExtent>::decode): Deleted.
(IPC::ArgumentCoder<FloatSize>::encode): Deleted.
(IPC::ArgumentCoder<FloatSize>::decode): Deleted.
(IPC::ArgumentCoder<FloatRoundedRect>::encode): Deleted.
(IPC::ArgumentCoder<FloatRoundedRect>::decode): Deleted.
(IPC::ArgumentCoder<IntPoint>::encode): Deleted.
(IPC::ArgumentCoder<IntPoint>::decode): Deleted.
(IPC::ArgumentCoder<IntRect>::encode): Deleted.
(IPC::ArgumentCoder<IntRect>::decode): Deleted.
(IPC::ArgumentCoder<IntSize>::encode): Deleted.
(IPC::ArgumentCoder<IntSize>::decode): Deleted.
(IPC::ArgumentCoder<LayoutSize>::encode): Deleted.
(IPC::ArgumentCoder<LayoutSize>::decode): Deleted.
(IPC::ArgumentCoder<LayoutPoint>::encode): Deleted.
(IPC::ArgumentCoder<LayoutPoint>::decode): Deleted.
These WebCore argument coders are also currently incompatible with StreamConnectionEncoder, since they are non-
templated (and thus only work with IPC::Encoder). Since these are all encodable as POD types, we can just use
SimpleArgumentCoder for all of these. We also add newDEFINE_SIMPLE_ARGUMENT_CODER_FOR_(HEADER|SOURCE)
macros
to make this code a bit easier to read, which adds SimpleArgumentCoder for the given type, for both standard
IPC::Encoder as well as IPC::StreamConnectionEncoder.
- Shared/WebCoreArgumentCoders.h:
- Shared/mac/WebCoreArgumentCodersMac.mm:
(IPC::ArgumentCoder<CGRect>::encode): Deleted.
(IPC::ArgumentCoder<CGRect>::decode): Deleted.
(IPC::ArgumentCoder<CGSize>::encode): Deleted.
(IPC::ArgumentCoder<CGSize>::decode): Deleted.
(IPC::ArgumentCoder<CGPoint>::encode): Deleted.
(IPC::ArgumentCoder<CGPoint>::decode): Deleted.
(IPC::ArgumentCoder<CGAffineTransform>::encode): Deleted.
(IPC::ArgumentCoder<CGAffineTransform>::decode): Deleted.
- 7:41 AM Changeset in webkit [283616] by
-
- 2 edits in trunk
Unreviewed, mark Kimmo Kinnunen as reviewer in the right contributors.json file this time.
- metadata/contributors.json:
- 7:25 AM Changeset in webkit [283615] by
-
- 2 edits in trunk/Source/WebCore
Make containerForElement logic more explicit
https://bugs.webkit.org/show_bug.cgi?id=231275
Reviewed by Simon Fraser.
- Non-RenderElement renderers (e.g. text content) should return their parents. They are always in-flow, static positioned.
- Have the explicit list of position types where the parent is the containing block.
- rendering/RenderObject.cpp:
(WebCore::containerForElement):
- 6:40 AM Changeset in webkit [283614] by
-
- 5 edits in trunk
[LFC][IFC] word-break: break-all only allows mid-word arbitrary breaking positions
https://bugs.webkit.org/show_bug.cgi?id=231247
Reviewed by Antti Koivisto.
Source/WebCore:
Introduce a new type of breaking type where the arbitrary position is only applied when breaking mid-word within a continuous content.
While normally when we search for a breaking position inside an overflowing continuous set of runs, we find ourselves inside a "word" and any breaking
position would match the definition of the mid-work break.
However in other cases when these runs consist more than just a "word", for example
'XX ' (where the "white-space: break-spaces" sets the line breaking opportunity after the trailing whitespace)
'word-break: break-all' does not affect the breaking behavior between the trailing X and the ' ' and therefore it is not a breaking position.
It may very well be a valid breaking position if some other CSS properties allow it, but the notion of being able to break at any position (break-all) does not apply here.
see https://drafts.csswg.org/css-text-3/#word-break-property
WPT progressions.
- layout/formattingContexts/inline/InlineContentBreaker.cpp:
(WebCore::Layout::nextTextRunIndex):
(WebCore::Layout::previousTextRunIndex):
(WebCore::Layout::findTrailingRunIndex):
(WebCore::Layout::InlineContentBreaker::tryBreakingOverflowingRun const):
(WebCore::Layout::InlineContentBreaker::tryBreakingPreviousNonOverflowingRuns const):
(WebCore::Layout::InlineContentBreaker::tryBreakingNextOverflowingRuns const):
(WebCore::Layout::InlineContentBreaker::processOverflowingContentWithText const):
(WebCore::Layout::InlineContentBreaker::wordBreakBehavior const):
(WebCore::Layout::InlineContentBreaker::tryBreakingTextRun const):
- layout/formattingContexts/inline/InlineContentBreaker.h:
LayoutTests:
- 4:26 AM Changeset in webkit [283613] by
-
- 19 edits1 add in trunk
Implement https://w3c.github.io/push-api/#receiving-a-push-message
https://bugs.webkit.org/show_bug.cgi?id=231070
<rdar://problem/83759574>
Reviewed by Chris Dumez.
Source/WebCore:
Implement firing a functional event and push message specialization.
Covered by API test.
- workers/service/server/SWServer.cpp:
- workers/service/server/SWServer.h:
- workers/service/server/SWServerToContextConnection.h:
Source/WebKit:
Add temporary SPI in WKWebsiteDataStore to allow pushing messages to service workers.
It takes a completion handler to check whether the message is acknowledged or not.
The service worker registration is identified by its scope for now.
A few additional things might need to be done:
- The case where the service worker is launched with no client.
- Handling of background assertions, especially if service worker has no client.
- Optimizations: skip events, optimization of network process launch by only loading the service worker registrations of an origin.
- NetworkProcess/NetworkProcess.cpp:
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp:
- NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h:
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
- UIProcess/Network/NetworkProcessProxy.cpp:
- UIProcess/Network/NetworkProcessProxy.h:
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
- WebProcess/Storage/WebSWContextManagerConnection.h:
- WebProcess/Storage/WebSWContextManagerConnection.messages.in:
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/PushAPI.mm: Added.
- 3:33 AM Changeset in webkit [283612] by
-
- 2 edits in trunk/Tools
Unreviewed. [GTK] Fix /webkit/WebKitAccessibility/accessible/state with ATSPI
Add missing #else I didn't add by mistake in r283361.
- TestWebKitAPI/Tests/WebKitGtk/TestWebKitAccessibility.cpp:
(testAccessibleState):
- 3:14 AM Changeset in webkit [283611] by
-
- 4 edits in trunk/Source/WebCore
Simplify BaseAudioSharedUnit client management
https://bugs.webkit.org/show_bug.cgi?id=231230
<rdar://83884131>
Reviewed by Eric Carlson.
Before the patch, m_clientsLock was used to handle BaseAudioSharedUnit concurrent access from main thread and audio thread.
The potential issue is that if the audio unit is running and m_clients is locked in main thread due to a call of forEach,
the audio thread might have to wait for the lock to be removed.
This is not great as this might cause glitches and potential deadlocks if trying to stop the audio unit in main thread inside a forEach call.
Instead of doing that, we now exclusively access m_clients from main thread, it does not require a lock anymore.
The audio thread accesses a copy of m_clients, called m_audioThreadClients, which is only accessed in addClient/removeClient and from the audio thread.
This reduces the possibility for stopping the audio thread and removes any potential deadlock.
Covered by existing tests.
- platform/mediastream/mac/BaseAudioSharedUnit.cpp:
- platform/mediastream/mac/BaseAudioSharedUnit.h:
- platform/mediastream/mac/CoreAudioCaptureSource.cpp:
- 3:13 AM Changeset in webkit [283610] by
-
- 8 edits in trunk/Source/ThirdParty/libwebrtc
ObjectiveC WebRTC frame buffers are autoreleased late, especially on Debug builds
https://bugs.webkit.org/show_bug.cgi?id=231162
Reviewed by David Kilzer.
Instead of waiting for the autorelease pool to release these objects, we explicitly release them by calling close.
This ensures that pixel buffers get released very quickly.
- Source/webrtc/sdk/WebKit/WebKitEncoder.mm:
- Source/webrtc/sdk/objc/api/video_frame_buffer/RTCNativeI420Buffer+Private.h:
- Source/webrtc/sdk/objc/api/video_frame_buffer/RTCNativeI420Buffer.mm:
- Source/webrtc/sdk/objc/base/RTCI420Buffer.h:
- Source/webrtc/sdk/objc/base/RTCVideoFrameBuffer.h:
- Source/webrtc/sdk/objc/components/video_frame_buffer/RTCCVPixelBuffer.h:
- Source/webrtc/sdk/objc/components/video_frame_buffer/RTCCVPixelBuffer.mm:
- Source/webrtc/sdk/objc/native/src/objc_frame_buffer.mm:
- 3:07 AM WebKitFlatpakSDK/DebugWithApitrace created by
- 3:03 AM WebKitFlatpakSDK edited by
- (diff)
- 2:48 AM Changeset in webkit [283609] by
-
- 8 edits in trunk
[MSE][GStreamer] Honor MP4 edit lists
https://bugs.webkit.org/show_bug.cgi?id=231019
Reviewed by Xabier Rodriguez-Calvar.
Source/WebCore:
This patch takes into consideration the GstSegment attached to a
sample to offset the PTS and DTS. This ensures accurate timestamps are
obtained for MP4 files containing edit lists (commonly necessary for
files containing video with B frames to have PTS starting at zero).
Before this was implemented, a workaround was in place based on a
heuristic (DTS = 0 && PTS > 0 && PTS < 0.1). The workaround is
preserved for the sake of content without proper edit lists, but
any edit list takes preference.
The time fudge factor has been modified from 0.083 seconds up to
0.100 seconds to accomodate the size of the empty edit in test.mp4
used by Web Platform Tests.
This test fixes improves expectation results and fixes two subtests in
imported/w3c/web-platform-tests/media-source/mediasource-remove.html.
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::currentTimeFudgeFactor):
- platform/graphics/SourceBufferPrivate.h:
(WebCore::SourceBufferPrivate::timeFudgeFactor const):
- platform/graphics/gstreamer/MediaSampleGStreamer.cpp:
(WebCore::MediaSampleGStreamer::extendToTheBeginning): Deleted.
- platform/graphics/gstreamer/MediaSampleGStreamer.h:
- platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::bufferTimeToStreamTimeClamped):
(WebCore::AppendPipeline::appsinkNewSample):
LayoutTests:
Update expectations for mediasource-remove.html in the GStreamer
ports, as a couple subtests get fixed.
- platform/glib/imported/w3c/web-platform-tests/media-source/mediasource-remove-expected.txt:
- 2:35 AM Changeset in webkit [283608] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC][32bit] Remove a bunch of compiler warnings
https://bugs.webkit.org/show_bug.cgi?id=231091
Patch by Xan López <Xan Lopez> on 2021-10-06
Reviewed by Carlos Alberto Lopez Perez.
- dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::compileExit): silence warning about unused
variable, it's not used in 32-bit.
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_enter): use an unsigned int for the loop count.
- 2:25 AM Changeset in webkit [283607] by
-
- 2 edits1 add in trunk/Tools/buildstream
[Flatpak SDK] Add apitrace
https://bugs.webkit.org/show_bug.cgi?id=230967
Patch by Philippe Normand <pnormand@igalia.com> on 2021-10-06
Reviewed by Carlos Alberto Lopez Perez.
APITrace can be used to debug GL calls.
- elements/sdk-platform.bst:
- elements/sdk/apitrace.bst: Added.
- 1:07 AM Changeset in webkit [283606] by
-
- 4 edits1 add in trunk
[WPE][GTK] TestJSC incorrectly expects garbage collector to collect variables still on the stack
https://bugs.webkit.org/show_bug.cgi?id=222972
Reviewed by Michael Catanzaro.
Source/JavaScriptCore:
Add JSCContextInternal.h header to be used by unit tests to use private JSC API and add
jscContextGarbageCollect().
- API/glib/JSCContext.cpp:
(jscContextGarbageCollect): Moved from unit tests here adding a parameter to optionally call
sanitizeStackForVM() before doing the garbage collection.
- API/glib/JSCContextInternal.h: Added.
Tools:
Include JSCContextInternal.h instead of JSCContextPrivate.h and remove the jscContextGarbageCollect() implementation.
- TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
(testJSCWeakValue): Call sanitizeStackForVM() before the garbage collection.
(jscContextGarbageCollect): Deleted.
- 12:49 AM Changeset in webkit [283605] by
-
- 57 edits2 copies in trunk
[Build-time perf] Forward declare JS TypedArrays
https://bugs.webkit.org/show_bug.cgi?id=231196
Reviewed by Tim Horton.
Source/JavaScriptCore:
Add a new file, Forward.h, containing forward declarations of commonly used JavaScriptCore types. Removed duplicate declarations
of TypedArray classes from TypedArrayAdapters.h and TypedArrays.h.
- JavaScriptCore.xcodeproj/project.pbxproj:
- runtime/Forward.h: Added.
- runtime/TypedArrayAdaptors.h:
- runtime/TypedArrayAdaptersForwardDeclarations.h: Added.
- runtime/TypedArrays.h:
Source/WebCore:
According to
clang -ftime-trace
, compilation is spending a large amount of time inside TypedArrays.h.
Most of the places where JavaScriptCore/<Type>Array.h is included in a header only needed a forward
declaration, so include the new JavaScriptCore/Forward.h header instead, and move the include of the
<Type>Array.h header into the implementation file.
- Modules/encryptedmedia/legacy/LegacyCDM.h:
- Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp:
- Modules/encryptedmedia/legacy/WebKitMediaKeySession.h:
- Modules/encryptedmedia/legacy/WebKitMediaKeys.cpp:
- Modules/encryptedmedia/legacy/WebKitMediaKeys.h:
- Modules/mediastream/RTCPeerConnection.h:
- Modules/webaudio/AudioBuffer.h:
- Modules/webaudio/AudioParam.h:
- Modules/webaudio/AudioParamTimeline.h:
- Modules/webaudio/IIRFilterNode.h:
- Modules/webaudio/PeriodicWave.h:
- Modules/webaudio/RealtimeAnalyser.h:
- Modules/webaudio/WaveShaperDSPKernel.cpp:
- Modules/webaudio/WaveShaperProcessor.h:
- Modules/webxr/WebXRRigidTransform.h:
- Modules/webxr/WebXRView.h:
- css/DOMMatrix.cpp:
- css/DOMMatrixReadOnly.h:
- dom/TextEncoder.h:
- dom/TextEncoderStreamEncoder.h:
- html/ImageData.h:
- html/WebKitMediaKeyError.h:
- html/canvas/WebGLAny.h:
- html/canvas/WebGLBuffer.cpp:
(WebCore::WebGLBuffer::elementArrayBuffer const):
- html/canvas/WebGLBuffer.h:
- platform/graphics/LegacyCDMSession.h:
- platform/graphics/MediaPlayer.h:
- platform/graphics/angle/GraphicsContextGLANGLE.cpp:
- platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp:
(WebCore::CDMSessionAVFoundationCF::cachedKeyForKeyID const):
- platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.h:
- platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.h:
- platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:
(WebCore::CDMSessionAVContentKeySession::cachedKeyForKeyID const):
- platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm:
(WebCore::CDMSessionAVFoundationObjC::cachedKeyForKeyID const):
- platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.h:
- platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm:
(WebCore::CDMSessionAVStreamSession::cachedKeyForKeyID const):
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.h:
- platform/graphics/cocoa/SourceBufferParser.h:
- platform/graphics/filters/FELighting.h:
- platform/graphics/filters/FilterEffect.h:
- testing/Internals.h:
- testing/LegacyMockCDM.cpp:
Source/WebKit:
- GPUProcess/media/RemoteMediaPlayerProxy.cpp:
Tools:
- TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp:
- 12:34 AM Changeset in webkit [283604] by
-
- 2 edits in trunk/Source/WebKit
Close NetworkRTCProvider sockets explicitly when closing NetworkRTCProvider
https://bugs.webkit.org/show_bug.cgi?id=231228
<rdar://83237496>
Reviewed by Eric Carlson.
- NetworkProcess/webrtc/NetworkRTCProvider.cpp:
(WebKit::NetworkRTCProvider::close):
Make sure to explictly closing the socket before deleting it.
- 12:15 AM Changeset in webkit [283603] by
-
- 4 edits in trunk/Source/JavaScriptCore
Fix wrong edge type from get-by-val in 32 bits
https://bugs.webkit.org/show_bug.cgi?id=231179
Patch by Mikhail R. Gadelha <Mikhail R. Gadelha> on 2021-10-06
Reviewed by Yusuke Suzuki.
After https://bugs.webkit.org/show_bug.cgi?id=230801, a different type
can be set in DFG nodes, however, in 32 bits jsc was always setting the
type to Cell. This caused jsc to abort when verify the type of the edge:
DFG ASSERTION FAILED: Edge verification error: D@64->Check:Object:D@60 was expected to have type Object but has type Cell (43984760078335)
This patch changes the 32 bits version of the compileEnumeratorGetByVal
to manually speculate the edge if it is a Cell, since a differente Kind
could've been during Fixup.
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compileEnumeratorGetByVal):
Oct 5, 2021:
- 11:14 PM Changeset in webkit [283602] by
-
- 2 edits in trunk/Source/WebCore
[PlayStation] Fix build break after r283441
https://bugs.webkit.org/show_bug.cgi?id=231277
Unreviewed.
No new tests because there is no behavior change.
- platform/graphics/Path.h:
(WebCore::Path::strokeBoundingRect):
- 10:40 PM Changeset in webkit [283601] by
-
- 8 edits in trunk/Source/WebCore
AX: Move handling of AXContents from platform wrapper to AX core
https://bugs.webkit.org/show_bug.cgi?id=231231
Patch by Tyler Wilcock <Tyler Wilcock> on 2021-10-05
Reviewed by Chris Fleizach.
No changed functionality.
Moved handling of the AXContents (NSAccessibilityContentsAttribute) from the
Mac wrapper accessibilityAttributeValue handler to AXCoreObject::contents.
This makes it possible to share this code across multiple platforms.
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::contents):
- accessibility/AccessibilityObject.h:
- accessibility/AccessibilityObjectInterface.h:
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeAttributeData):
- accessibility/isolatedtree/AXIsolatedObject.h:
- accessibility/isolatedtree/AXIsolatedTree.h:
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
- 10:20 PM Changeset in webkit [283600] by
-
- 3 edits1 add in trunk
Don't pass DontBuildStrings to next token after parsing an empty parameter list
https://bugs.webkit.org/show_bug.cgi?id=225094
<rdar://problem/77231778>
Reviewed by Yusuke Suzuki.
JSTests:
- stress/dont-pass-DontBuildStrings-when-building-empty-arguments-list.js: Added.
(main.a.prototype.g.toString.string_appeared_here):
(main.a):
(main):
Source/JavaScriptCore:
We might need the string, it turns out!
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseArguments):
- 8:47 PM Changeset in webkit [283599] by
-
- 2 edits in trunk/Tools
[ iOS15 ] TestWebKitAPI.ResourceLoadStatistics.DataTaskIdentifierCollision is a constant crash
https://bugs.webkit.org/show_bug.cgi?id=231246
Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-05
Reviewed by Chris Dumez.
For a reason that is mysterious to me, this test was timing out on iOS
in the call to synchronouslyLoadHTMLString unless I added "addToWindow:NO"
to the TestWKWebView initialization.
For a reason that is also mysterious to me, the test was crashing when closing
because of something in the autoreleasepool, but using Vector<String> instead of
RetainPtr<NSArray<NSString *>> in DataTaskIdentifierCollisionDelegate makes that
stop crashing.
I've looked quite closely and don't see why this fixes it, but I verified that it does.
While I was at it, I migrated from TCPServer to HTTPServer to be more robust against timeouts,
because the TCPServer destructor waits forever for threads to join, and if not everything is
perfect it will make the tests time out, which isn't great. HTTPServer does everything on the
main thread with callbacks instead.
- TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(-[DataTaskIdentifierCollisionDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[DataTaskIdentifierCollisionDelegate waitForMessages:]):
(waitUntilTwoServersConnected):
(TEST):
- 7:06 PM Changeset in webkit [283598] by
-
- 1 copy in tags/Safari-612.2.9.2.3
Tag Safari-612.2.9.2.3.
- 7:03 PM Changeset in webkit [283597] by
-
- 1 copy in tags/Safari-612.2.9.3.3
Tag Safari-612.2.9.3.3.
- 6:42 PM Changeset in webkit [283596] by
-
- 1 copy in tags/Safari-612.2.9.0.4
Tag Safari-612.2.9.0.4.
- 6:16 PM Changeset in webkit [283595] by
-
- 9 edits in trunk/Source/WebKit
Do daily activity in AdAttributionDaemon based off of when the xpc activity happens
https://bugs.webkit.org/show_bug.cgi?id=231254
Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-05
Reviewed by Kate Cheney.
Before this change, we did the activity 5 seconds after startup of the daemon, which can be started
by sending an attribution to it or by the daily xpc activity. We want to do it only because of the xpc activity.
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementClient.h:
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementClientImpl.h:
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDaemonClient.h:
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManager.cpp:
(WebKit::PrivateClickMeasurementManager::PrivateClickMeasurementManager):
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManager.h:
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManagerInterface.cpp:
(WebKit::PCM::doDailyActivityInManager):
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManagerInterface.h:
- Shared/EntryPointUtilities/Cocoa/Daemon/PCMDaemonEntryPoint.mm:
(WebKit::registerScheduledActivityHandler):
- 5:56 PM Changeset in webkit [283594] by
-
- 1 copy in tags/Safari-612.2.9.1.4
Tag Safari-612.2.9.1.4.
- 5:46 PM Changeset in webkit [283593] by
-
- 3 edits3 adds in trunk
PCM: Allow measurement of links in nested, cross-site iframes
https://bugs.webkit.org/show_bug.cgi?id=229204
<rdar://problem/82310386>
Reviewed by Alex Christensen.
Developers have said it would be great to allow measurement of links served in
nested, cross-site iframes on the click source. The click still count as if it
happened on the first party click source site, and any attribution report still
goes to that first party. This change enables the *serving* of measurable links
in nested, cross-site iframes.
The standards issue where this was discussed:
https://github.com/privacycg/private-click-measurement/issues/7
Source/WebCore:
Test: http/tests/privateClickMeasurement/store-private-click-measurement-nested.html
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::parsePrivateClickMeasurement const):
Removed the block for nested, cross-site iframes.
LayoutTests:
- http/tests/privateClickMeasurement/resources/nestedTargetLink.html: Added.
- http/tests/privateClickMeasurement/store-private-click-measurement-nested-expected.txt: Added.
- http/tests/privateClickMeasurement/store-private-click-measurement-nested.html: Added.
- 5:42 PM Changeset in webkit [283592] by
-
- 8 edits1 add in trunk/Source
[iOS] Transcode videos selected from UIImagePickerController
https://bugs.webkit.org/show_bug.cgi?id=230639
rdar://79665678
Reviewed by Tim Horton.
Source/WebCore:
- en.lproj/Localizable.strings:
Add a localizable string for the message displayed while transcoding
video.
Source/WebCore/PAL:
Add AVFoundation API needed to transcode video.
- pal/cocoa/AVFoundationSoftLink.h:
- pal/cocoa/AVFoundationSoftLink.mm:
Source/WebKit:
File inputs on iOS allow users to choose images/videos from the system
photo picker, using UIImagePickerController. In single selection mode,
UIImagePickerController transcodes the selected video to H.264. However,
in multiple selection mode, video is not transcoded and is left in its
original format.
Today, videos on most iOS devices are encoded with HEVC by default.
However, some sites, such as Twitter, only accept H.264 encoded video.
Thus, the current video upload behavior is problematic, as users may be
unable to upload video.
Unfortunately, the photo picking functionality of UIImagePickerController
is deprecated. The best solution would be to adopt PHPickerViewController,
the replacement API, which performs transcoding when retrieving selected
items (regardless of single/multiple selection). However,
PHPickerViewController currently lacks other functionality that WebKit
requires, preventing adoption.
Consequently, the short term solution is to transcode the videos in
WebKit, ensuring H.264 encoded video is always provided to sites. See
below for implementation details.
- Platform/spi/ios/PhotosUISPI.h: Added.
- UIProcess/ios/forms/WKFileUploadPanel.mm:
(-[_WKFileUploadItem setFileURL:]):
Add a setter to update the file URL. Called after transcoding a _WKFileUploadItem.
(-[WKFileUploadMediaTranscoder initWithItems:videoCount:completionHandler:]):
Introduce WKFileUploadMediaTranscoder to manage transcoding of videos
and the display of progress UI. Transcoding is performed serially
(one video at a time), but occurs off the main thread.
(-[WKFileUploadMediaTranscoder start]):
Begin transcoding. Run a timer to update the progress UI, as
AVAssetExportSession does not provide progress updates on its own.
The progress UI is implemented using PUActivityProgressController, to
match system Photos UI.
(-[WKFileUploadMediaTranscoder _processItemAtIndex:]):
Transcode a single video, using AVAssetExportSession. If transcoding
fails for any reason, the original video is used as a fallback.
Transcoding can also be cancelled using the progress UI, in which case
no more videos are processed.
(-[WKFileUploadMediaTranscoder _finishedProcessing]):
(-[WKFileUploadMediaTranscoder _dismissProgress]):
(-[WKFileUploadMediaTranscoder _updateProgress:]):
(-[WKFileUploadMediaTranscoder _temporaryDirectoryCreateIfNecessary]):
(-[WKFileUploadPanel _chooseMediaItems:]):
Refactor the common aspects of single/multiple media selection into a
single method.
(-[WKFileUploadPanel imagePickerController:didFinishPickingMediaWithInfo:]):
(-[WKFileUploadPanel imagePickerController:didFinishPickingMultipleMediaWithInfo:]):
(-[WKFileUploadPanel _processMediaInfoDictionaries:successBlock:failureBlock:]):
(-[WKFileUploadPanel _processMediaInfoDictionaries:atIndex:processedResults:successBlock:failureBlock:]):
(-[WKFileUploadPanel _uploadItemFromMediaInfo:successBlock:failureBlock:]):
Remove redundant platform conditional.
(-[WKFileUploadPanel _uploadMediaItemsTranscodingVideo:]):
If any videos were selected, transcode them prior to uploading.
- WebKit.xcodeproj/project.pbxproj:
- 5:20 PM Changeset in webkit [283591] by
-
- 42 edits in trunk/LayoutTests
[WinCairo] Unreviewed test gardening after r283550
- platform/wincairo/editing/deleting/delete-at-paragraph-boundaries-002-expected.txt:
- platform/wincairo/editing/deleting/delete-at-paragraph-boundaries-003-expected.txt:
- platform/wincairo/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt:
- platform/wincairo/editing/deleting/delete-at-paragraph-boundaries-005-expected.txt:
- platform/wincairo/editing/deleting/delete-at-paragraph-boundaries-006-expected.txt:
- platform/wincairo/editing/deleting/delete-at-paragraph-boundaries-007-expected.txt:
- platform/wincairo/editing/deleting/delete-at-paragraph-boundaries-008-expected.txt:
- platform/wincairo/editing/deleting/delete-at-paragraph-boundaries-009-expected.txt:
- platform/wincairo/editing/deleting/delete-at-paragraph-boundaries-010-expected.txt:
- platform/wincairo/editing/deleting/delete-at-paragraph-boundaries-011-expected.txt:
- platform/wincairo/editing/deleting/non-smart-delete-expected.txt:
- platform/wincairo/editing/input/emacs-ctrl-o-expected.txt:
- platform/wincairo/editing/inserting/insert-br-quoted-001-expected.txt:
- platform/wincairo/editing/inserting/insert-br-quoted-002-expected.txt:
- platform/wincairo/editing/inserting/insert-br-quoted-003-expected.txt:
- platform/wincairo/editing/inserting/insert-br-quoted-004-expected.txt:
- platform/wincairo/editing/inserting/insert-br-quoted-005-expected.txt:
- platform/wincairo/editing/inserting/insert-br-quoted-006-expected.txt:
- platform/wincairo/editing/inserting/insert-div-026-expected.txt:
- platform/wincairo/editing/inserting/return-key-with-selection-001-expected.txt:
- platform/wincairo/editing/inserting/return-key-with-selection-002-expected.txt:
- platform/wincairo/editing/inserting/return-key-with-selection-003-expected.txt:
- platform/wincairo/editing/style/block-styles-007-expected.txt:
- platform/wincairo/editing/style/smoosh-styles-001-expected.txt:
- platform/wincairo/editing/style/smoosh-styles-003-expected.txt:
- platform/wincairo/editing/style/style-3998892-fix-expected.txt:
- platform/wincairo/editing/style/style-boundary-001-expected.txt:
- platform/wincairo/editing/style/style-boundary-002-expected.txt:
- platform/wincairo/editing/style/style-boundary-003-expected.txt:
- platform/wincairo/editing/style/style-boundary-004-expected.txt:
- platform/wincairo/editing/style/style-boundary-005-expected.txt:
- platform/wincairo/editing/unsupported-content/list-delete-001-expected.txt:
- platform/wincairo/editing/unsupported-content/list-delete-003-expected.txt:
- platform/wincairo/editing/unsupported-content/list-type-after-expected.txt:
- platform/wincairo/editing/unsupported-content/list-type-before-expected.txt:
- platform/wincairo/editing/unsupported-content/table-delete-002-expected.txt:
- platform/wincairo/editing/unsupported-content/table-type-after-expected.txt:
- platform/wincairo/editing/unsupported-content/table-type-before-expected.txt:
- platform/wincairo/fast/css/first-line-text-decoration-expected.txt:
- platform/wincairo/fast/css/first-line-text-decoration-inherited-from-parent-expected.txt:
- platform/wincairo/fast/text/firstline/001-expected.txt:
- 5:16 PM Changeset in webkit [283590] by
-
- 4 edits6 adds in trunk
ASSERT(m_callback->hasCallback()) under IntersectionObserver::notify()
https://bugs.webkit.org/show_bug.cgi?id=231235
<rdar://80837616>
Reviewed by Ryosuke Niwa.
Source/WebCore:
IntersectionObserver's JS callback stays alive as long as its JS wrapper and
its JS wrapper's lifetime relies on the IntersectionObserver::isReachableFromOpaqueRoots()
implementation. isReachableFromOpaqueRoots() keeps the wrapper alive as long
as the JS wrappers of observation / pending targets are alive. However, as per specification,
we always need to dispatch an observation for an observation target, even if that target
is not connected. Our code was already taking care of dispatching such observation. However,
there was nothing keeping the observation target alive in this case and thus nothing keeping
the JS callback alive either.
To address the issue, I am introducing a new m_targetsWaitingForFirstObservation data member
which holds a strong ref to the observation target until the next time we call notify().
This makes sure that the observation target (and its JS wrapper) stays alive long enough for
us to dispatch the first observation for it. I also updated isReachableFromOpaqueRoots() to
return true as long as m_targetsWaitingForFirstObservation is non-empty so that the
IntersectionObserver's JS wrapper (and thus the JS callback) stay alive long enough too.
Tests: intersection-observer/observe-disconnected-target-crash.html
intersection-observer/observe-disconnected-target.html
- page/IntersectionObserver.cpp:
(WebCore::IntersectionObserver::observe):
(WebCore::IntersectionObserver::unobserve):
(WebCore::IntersectionObserver::removeAllTargets):
(WebCore::IntersectionObserver::notify):
(WebCore::IntersectionObserver::isReachableFromOpaqueRoots const):
- page/IntersectionObserver.h:
LayoutTests:
Add layout test coverage both for the crash and the Web facing behavior.
- intersection-observer/observe-disconnected-target-crash-expected.txt: Added.
- intersection-observer/observe-disconnected-target-crash.html: Added.
- intersection-observer/observe-disconnected-target-expected.txt: Added.
- intersection-observer/observe-disconnected-target.html: Added.
- 4:52 PM Changeset in webkit [283589] by
-
- 1 copy in tags/Safari-611.4.2.0.2
Tag Safari-611.4.2.0.2.
- 4:51 PM Changeset in webkit [283588] by
-
- 8 edits in branches/safari-611.4.2.0-branch/Source
Versioning.
WebKit-7611.4.2.0.2
- 4:48 PM Changeset in webkit [283587] by
-
- 2 edits in trunk/LayoutTests
[ iOS Release ] fast/events/ios/rotation/layout-viewport-during-safari-type-rotation.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=231266
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 4:47 PM Changeset in webkit [283586] by
-
- 5 edits in trunk
Add an entitlement check to only allow AdAttributionDaemon to be connected to by the network process
https://bugs.webkit.org/show_bug.cgi?id=231248
Patch by Alex Christensen <achristensen@webkit.org> on 2021-10-05
Reviewed by Alexey Proskuryakov.
Source/WebKit:
Adding a restricted entitlement on macOS when using a non-internal SDK causes the network process to not start,
so in open source builds (in which the daemon is only used for unit tests) just skip the entitlement check.
- Scripts/process-entitlements.sh:
- Shared/EntryPointUtilities/Cocoa/Daemon/PCMDaemonEntryPoint.mm:
(WebKit::startListeningForMachServiceConnections):
Tools:
Also add a system call to "launchctl unload" to clear any residual state in launchd before starting the unit test.
Otherwise we could get into a state where the plist is registered with launchd from an old test that registered it
but didn't start the daemon, causing the test to time out until you reboot the machine. This makes it recover nicely.
- TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(TestWebKitAPI::attemptConnectionInProcessWithoutEntitlement):
(TestWebKitAPI::setInjectedBundleClient): Deleted.
(TestWebKitAPI::webViewWithOpenInspector): Deleted.
- 4:43 PM Changeset in webkit [283585] by
-
- 4 edits2 adds in trunk
createImageBitmap using a HLS video as source always return a black image.
https://bugs.webkit.org/show_bug.cgi?id=231225
rdar://83884031
Source/WebCore:
When playing HLS content, [AVURLAsset tracks] return an empty array.
We need to instead retrieve it from the AVPlayerItem object. The method
paintWithVideoOutput would have bailed out early as a consequence.
So we refactor the code a little to retrieve the tracks where they can be found
Reviewed by Eric Carlson.
Test: http/tests/media/video-hls-copy-into-canvas.html
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem):
(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged):
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateRotationSession):
(WebCore::MediaPlayerPrivateAVFoundationObjC::audioSourceProvider):
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateLastImage):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
(WebCore::MediaPlayerPrivateAVFoundationObjC::firstEnabledTrack const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::firstEnabledAudibleTrack const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::firstEnabledVisibleTrack const):
LayoutTests:
Reviewed by Eric Carlson.
- http/tests/media/video-hls-copy-into-canvas-expected.txt: Added.
- http/tests/media/video-hls-copy-into-canvas.html: Added.
- 4:29 PM Changeset in webkit [283584] by
-
- 2 edits in trunk/LayoutTests
[ iOS 15 ] fast/events/ios/rotation/layout-viewport-during-rotation.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=231264
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 4:28 PM Changeset in webkit [283583] by
-
- 3 edits in trunk/Source/WebCore
REGRESSION (Monterey): paramountplus.com: Cannot enter fullscreen in Safari
https://bugs.webkit.org/show_bug.cgi?id=231005
The page performs a lot of canvas readbacks when entering or exiting
fullscreen mode.
When the media is encrypted, attempting to do so would have made the
sync call from the content to GPU process hang for one full second.
Worse the CATransaction should it fail to paint would retry continuously.
After 10 attempts (and blocking the process for over 10s) the
content process would get automatically killed.
This works around rdar://83867877 where outputMediaDataWillChange isn't
called following a call to
[AVPlayerItemVideoOutput requestNotificationOfMediaDataChangeWithAdvanceInterval].
In case we timed out. we will disable this functionality until there's a
track change.
Reviewed by Eric Carlson.
We do not have the infrastructure to easily test interacting with encrypted
content. Once bug 231006 is fixed, we could write a test to ensure that canvas
readbacks do not lock-up.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateVideoTracks):
(WebCore::MediaPlayerPrivateAVFoundationObjC::waitForVideoOutputMediaDataWillChange):
- 3:47 PM Changeset in webkit [283582] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] fast/events/ios/rotation/resize-iframe-after-orientation-change.html is crashing/ failing.
https://bugs.webkit.org/show_bug.cgi?id=231262
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 3:39 PM Changeset in webkit [283581] by
-
- 16 edits2 adds in branches/safari-612.2.9.3-branch
Cherry-pick r283556. rdar://problem/83899967
[JSC] JSPropertyNameEnumerator should not have cached prototype chain since empty JSPropertyNameEnumerator is shared
https://bugs.webkit.org/show_bug.cgi?id=231202
JSTests:
Reviewed by Keith Miller.
- stress/for-in-validation-poly-proto.js: Added. (shouldBe): (test): (factory.Test): (factory):
- stress/for-in-validation-watchpoint.js: Added. (shouldBe): (test): (Test): (factory):
Source/JavaScriptCore:
rdar://83815122
Reviewed by Keith Miller.
r282014 assumed an invariant that JSPropertyNameEnumerator's StructureChain is immutable.
This invariant is also used in validation of JSPropertyNameEnumerator. However, this
invariant was broken since we now have shared empty sentinel JSPropertyNameEnumerator, which can
be used for different structures having different prototype chain.
Since now we have shared JSPropertyNameEnumerator, JSPropertyNameEnumerator should not have
StructureChain in its member. When invalidating StructureChain in Structure, we also clear
cached JSPropertyNameEnumerator so that we do not get a stale JSPropertyNameEnumerator from
Structure even though watchpoint-based validation is not used.
This patch also removes ValidatedViaWatchpoint flag in JSPropertyNameEnumerator due to the same
reason. We should not modify JSPropertyNameEnumerator once it is instantiated. Instead, we encode
this flag as a lowest bit of m_cachedPropertyNameEnumerator. If it is validated via traversing (not watchpoints),
then this bit is set. So when loading that pointer from StructureRareData, we can quickly detect
it without even accessing to the enumerator. This fixes the issue, and it is even cleaner.
We rename m_cachedPropertyNameEnumerator to m_cachedPropertyNameEnumeratorAndFlag since it now
includes this flag.
While reviewing the code, we also found that watchpoint-based validation didn't care about PolyProto.
We should disable watchpoint-based validation if PolyProto is used.
- dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileGetPropertyEnumerator):
- ftl/FTLAbstractHeapRepository.h:
- ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
- jit/JITPropertyAccess.cpp: (JSC::JIT::emit_op_get_property_enumerator):
- llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL):
- llint/LowLevelInterpreter64.asm:
- runtime/JSPropertyNameEnumerator.cpp: (JSC::JSPropertyNameEnumerator::visitChildrenImpl):
- runtime/JSPropertyNameEnumerator.h: (JSC::propertyNameEnumerator):
- runtime/Structure.cpp: (JSC::Structure::visitChildrenImpl): (JSC::Structure::setCachedPropertyNameEnumerator): (JSC::Structure::cachedPropertyNameEnumeratorAndFlag const):
- runtime/Structure.h: (JSC::Structure::propertyNameEnumeratorShouldWatch const):
- runtime/StructureInlines.h: (JSC::Structure::prototypeChain const): (JSC::Structure::clearCachedPrototypeChain):
- runtime/StructureRareData.cpp: (JSC::StructureRareData::visitChildrenImpl):
- runtime/StructureRareData.h:
- runtime/StructureRareDataInlines.h: (JSC::StructureRareData::cachedPropertyNameEnumerator const): (JSC::StructureRareData::cachedPropertyNameEnumeratorAndFlag const): (JSC::StructureRareData::setCachedPropertyNameEnumerator): (JSC::StructureChainInvalidationWatchpoint::fireInternal): (JSC::StructureRareData::tryCachePropertyNameEnumeratorViaWatchpoint): (JSC::StructureRareData::clearCachedPropertyNameEnumerator): (JSC::StructureRareData::invalidateWatchpointBasedValidation): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283556 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:38 PM Changeset in webkit [283580] by
-
- 8 edits in branches/safari-612.2.9.3-branch/Source
Versioning.
WebKit-7612.2.9.3.3
- 3:37 PM Changeset in webkit [283579] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] accessibility/misspelling-range.html is constantly failing
https://bugs.webkit.org/show_bug.cgi?id=231261
Unreviewed test gardening.
- 3:32 PM Changeset in webkit [283578] by
-
- 16 edits2 adds in branches/safari-612.2.9.2-branch
Cherry-pick r283556. rdar://problem/83899913
[JSC] JSPropertyNameEnumerator should not have cached prototype chain since empty JSPropertyNameEnumerator is shared
https://bugs.webkit.org/show_bug.cgi?id=231202
JSTests:
Reviewed by Keith Miller.
- stress/for-in-validation-poly-proto.js: Added. (shouldBe): (test): (factory.Test): (factory):
- stress/for-in-validation-watchpoint.js: Added. (shouldBe): (test): (Test): (factory):
Source/JavaScriptCore:
rdar://83815122
Reviewed by Keith Miller.
r282014 assumed an invariant that JSPropertyNameEnumerator's StructureChain is immutable.
This invariant is also used in validation of JSPropertyNameEnumerator. However, this
invariant was broken since we now have shared empty sentinel JSPropertyNameEnumerator, which can
be used for different structures having different prototype chain.
Since now we have shared JSPropertyNameEnumerator, JSPropertyNameEnumerator should not have
StructureChain in its member. When invalidating StructureChain in Structure, we also clear
cached JSPropertyNameEnumerator so that we do not get a stale JSPropertyNameEnumerator from
Structure even though watchpoint-based validation is not used.
This patch also removes ValidatedViaWatchpoint flag in JSPropertyNameEnumerator due to the same
reason. We should not modify JSPropertyNameEnumerator once it is instantiated. Instead, we encode
this flag as a lowest bit of m_cachedPropertyNameEnumerator. If it is validated via traversing (not watchpoints),
then this bit is set. So when loading that pointer from StructureRareData, we can quickly detect
it without even accessing to the enumerator. This fixes the issue, and it is even cleaner.
We rename m_cachedPropertyNameEnumerator to m_cachedPropertyNameEnumeratorAndFlag since it now
includes this flag.
While reviewing the code, we also found that watchpoint-based validation didn't care about PolyProto.
We should disable watchpoint-based validation if PolyProto is used.
- dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileGetPropertyEnumerator):
- ftl/FTLAbstractHeapRepository.h:
- ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
- jit/JITPropertyAccess.cpp: (JSC::JIT::emit_op_get_property_enumerator):
- llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL):
- llint/LowLevelInterpreter64.asm:
- runtime/JSPropertyNameEnumerator.cpp: (JSC::JSPropertyNameEnumerator::visitChildrenImpl):
- runtime/JSPropertyNameEnumerator.h: (JSC::propertyNameEnumerator):
- runtime/Structure.cpp: (JSC::Structure::visitChildrenImpl): (JSC::Structure::setCachedPropertyNameEnumerator): (JSC::Structure::cachedPropertyNameEnumeratorAndFlag const):
- runtime/Structure.h: (JSC::Structure::propertyNameEnumeratorShouldWatch const):
- runtime/StructureInlines.h: (JSC::Structure::prototypeChain const): (JSC::Structure::clearCachedPrototypeChain):
- runtime/StructureRareData.cpp: (JSC::StructureRareData::visitChildrenImpl):
- runtime/StructureRareData.h:
- runtime/StructureRareDataInlines.h: (JSC::StructureRareData::cachedPropertyNameEnumerator const): (JSC::StructureRareData::cachedPropertyNameEnumeratorAndFlag const): (JSC::StructureRareData::setCachedPropertyNameEnumerator): (JSC::StructureChainInvalidationWatchpoint::fireInternal): (JSC::StructureRareData::tryCachePropertyNameEnumeratorViaWatchpoint): (JSC::StructureRareData::clearCachedPropertyNameEnumerator): (JSC::StructureRareData::invalidateWatchpointBasedValidation): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283556 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:29 PM Changeset in webkit [283577] by
-
- 11 edits in trunk/Source/WebCore
Unreviewed, reverting r283339.
Reverting because this commit may have caused fast/attachment
tests to crash
Reverted changeset:
"[iOS][GPU Process] support
<attachment>
"
https://bugs.webkit.org/show_bug.cgi?id=230781
https://commits.webkit.org/r283339
- 3:26 PM Changeset in webkit [283576] by
-
- 8 edits in branches/safari-612.2.9.2-branch/Source
Versioning.
WebKit-7612.2.9.2.3
- 3:20 PM Changeset in webkit [283575] by
-
- 16 edits2 adds in branches/safari-612.2.9.0-branch
Cherry-pick r283556. rdar://problem/83900126
[JSC] JSPropertyNameEnumerator should not have cached prototype chain since empty JSPropertyNameEnumerator is shared
https://bugs.webkit.org/show_bug.cgi?id=231202
JSTests:
Reviewed by Keith Miller.
- stress/for-in-validation-poly-proto.js: Added. (shouldBe): (test): (factory.Test): (factory):
- stress/for-in-validation-watchpoint.js: Added. (shouldBe): (test): (Test): (factory):
Source/JavaScriptCore:
rdar://83815122
Reviewed by Keith Miller.
r282014 assumed an invariant that JSPropertyNameEnumerator's StructureChain is immutable.
This invariant is also used in validation of JSPropertyNameEnumerator. However, this
invariant was broken since we now have shared empty sentinel JSPropertyNameEnumerator, which can
be used for different structures having different prototype chain.
Since now we have shared JSPropertyNameEnumerator, JSPropertyNameEnumerator should not have
StructureChain in its member. When invalidating StructureChain in Structure, we also clear
cached JSPropertyNameEnumerator so that we do not get a stale JSPropertyNameEnumerator from
Structure even though watchpoint-based validation is not used.
This patch also removes ValidatedViaWatchpoint flag in JSPropertyNameEnumerator due to the same
reason. We should not modify JSPropertyNameEnumerator once it is instantiated. Instead, we encode
this flag as a lowest bit of m_cachedPropertyNameEnumerator. If it is validated via traversing (not watchpoints),
then this bit is set. So when loading that pointer from StructureRareData, we can quickly detect
it without even accessing to the enumerator. This fixes the issue, and it is even cleaner.
We rename m_cachedPropertyNameEnumerator to m_cachedPropertyNameEnumeratorAndFlag since it now
includes this flag.
While reviewing the code, we also found that watchpoint-based validation didn't care about PolyProto.
We should disable watchpoint-based validation if PolyProto is used.
- dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileGetPropertyEnumerator):
- ftl/FTLAbstractHeapRepository.h:
- ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
- jit/JITPropertyAccess.cpp: (JSC::JIT::emit_op_get_property_enumerator):
- llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL):
- llint/LowLevelInterpreter64.asm:
- runtime/JSPropertyNameEnumerator.cpp: (JSC::JSPropertyNameEnumerator::visitChildrenImpl):
- runtime/JSPropertyNameEnumerator.h: (JSC::propertyNameEnumerator):
- runtime/Structure.cpp: (JSC::Structure::visitChildrenImpl): (JSC::Structure::setCachedPropertyNameEnumerator): (JSC::Structure::cachedPropertyNameEnumeratorAndFlag const):
- runtime/Structure.h: (JSC::Structure::propertyNameEnumeratorShouldWatch const):
- runtime/StructureInlines.h: (JSC::Structure::prototypeChain const): (JSC::Structure::clearCachedPrototypeChain):
- runtime/StructureRareData.cpp: (JSC::StructureRareData::visitChildrenImpl):
- runtime/StructureRareData.h:
- runtime/StructureRareDataInlines.h: (JSC::StructureRareData::cachedPropertyNameEnumerator const): (JSC::StructureRareData::cachedPropertyNameEnumeratorAndFlag const): (JSC::StructureRareData::setCachedPropertyNameEnumerator): (JSC::StructureChainInvalidationWatchpoint::fireInternal): (JSC::StructureRareData::tryCachePropertyNameEnumeratorViaWatchpoint): (JSC::StructureRareData::clearCachedPropertyNameEnumerator): (JSC::StructureRareData::invalidateWatchpointBasedValidation): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283556 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:16 PM Changeset in webkit [283574] by
-
- 2 edits in trunk/Tools
TestWebKitAPI.PrivateClickMeasurement.DaemonBasicFunctionality is timing out
https://bugs.webkit.org/show_bug.cgi?id=231257
- TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
Originally reviewed as part of https://bugs.webkit.org/show_bug.cgi?id=231248
this should fix the error that happens when a previous test run has registered
the test AdAttributionDaemon but then failed before it was started, which leaves
launchd in a state of having already loaded a plist for the mach service named
"org.webkit.pcmtestdaemon.service" so it refuses to load another. The solution is
just to try unloading any previously loaded plist before loading another to clear
state in launchd.
- 3:15 PM Changeset in webkit [283573] by
-
- 16 edits2 adds in branches/safari-612.2.9.1-branch
Cherry-pick r283556. rdar://problem/83900153
[JSC] JSPropertyNameEnumerator should not have cached prototype chain since empty JSPropertyNameEnumerator is shared
https://bugs.webkit.org/show_bug.cgi?id=231202
JSTests:
Reviewed by Keith Miller.
- stress/for-in-validation-poly-proto.js: Added. (shouldBe): (test): (factory.Test): (factory):
- stress/for-in-validation-watchpoint.js: Added. (shouldBe): (test): (Test): (factory):
Source/JavaScriptCore:
rdar://83815122
Reviewed by Keith Miller.
r282014 assumed an invariant that JSPropertyNameEnumerator's StructureChain is immutable.
This invariant is also used in validation of JSPropertyNameEnumerator. However, this
invariant was broken since we now have shared empty sentinel JSPropertyNameEnumerator, which can
be used for different structures having different prototype chain.
Since now we have shared JSPropertyNameEnumerator, JSPropertyNameEnumerator should not have
StructureChain in its member. When invalidating StructureChain in Structure, we also clear
cached JSPropertyNameEnumerator so that we do not get a stale JSPropertyNameEnumerator from
Structure even though watchpoint-based validation is not used.
This patch also removes ValidatedViaWatchpoint flag in JSPropertyNameEnumerator due to the same
reason. We should not modify JSPropertyNameEnumerator once it is instantiated. Instead, we encode
this flag as a lowest bit of m_cachedPropertyNameEnumerator. If it is validated via traversing (not watchpoints),
then this bit is set. So when loading that pointer from StructureRareData, we can quickly detect
it without even accessing to the enumerator. This fixes the issue, and it is even cleaner.
We rename m_cachedPropertyNameEnumerator to m_cachedPropertyNameEnumeratorAndFlag since it now
includes this flag.
While reviewing the code, we also found that watchpoint-based validation didn't care about PolyProto.
We should disable watchpoint-based validation if PolyProto is used.
- dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileGetPropertyEnumerator):
- ftl/FTLAbstractHeapRepository.h:
- ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
- jit/JITPropertyAccess.cpp: (JSC::JIT::emit_op_get_property_enumerator):
- llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL):
- llint/LowLevelInterpreter64.asm:
- runtime/JSPropertyNameEnumerator.cpp: (JSC::JSPropertyNameEnumerator::visitChildrenImpl):
- runtime/JSPropertyNameEnumerator.h: (JSC::propertyNameEnumerator):
- runtime/Structure.cpp: (JSC::Structure::visitChildrenImpl): (JSC::Structure::setCachedPropertyNameEnumerator): (JSC::Structure::cachedPropertyNameEnumeratorAndFlag const):
- runtime/Structure.h: (JSC::Structure::propertyNameEnumeratorShouldWatch const):
- runtime/StructureInlines.h: (JSC::Structure::prototypeChain const): (JSC::Structure::clearCachedPrototypeChain):
- runtime/StructureRareData.cpp: (JSC::StructureRareData::visitChildrenImpl):
- runtime/StructureRareData.h:
- runtime/StructureRareDataInlines.h: (JSC::StructureRareData::cachedPropertyNameEnumerator const): (JSC::StructureRareData::cachedPropertyNameEnumeratorAndFlag const): (JSC::StructureRareData::setCachedPropertyNameEnumerator): (JSC::StructureChainInvalidationWatchpoint::fireInternal): (JSC::StructureRareData::tryCachePropertyNameEnumeratorViaWatchpoint): (JSC::StructureRareData::clearCachedPropertyNameEnumerator): (JSC::StructureRareData::invalidateWatchpointBasedValidation): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283556 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:12 PM Changeset in webkit [283572] by
-
- 9 edits in trunk/Source
Web Inspector: Show color space for canvases in the Graphics tab on the overview cards
https://bugs.webkit.org/show_bug.cgi?id=231205
Reviewed by Devin Rousso.
Source/JavaScriptCore:
Use an enum instead of strings for color space values sent to the frontend.
- inspector/protocol/Canvas.json:
- inspector/scripts/codegen/generator.py:
Source/WebCore:
Use an enum instead of strings for color space values sent to the frontend.
- inspector/InspectorCanvas.cpp:
(WebCore::buildObjectForCanvasContextAttributes):
Source/WebInspectorUI:
For canvas context's with a color space attribute, show the color space next to the context type in the header
of each context card in the Graphics tab.
- UserInterface/Models/Canvas.js:
(WI.Canvas.displayNameForColorSpace):
- UserInterface/Views/CanvasContentView.js:
(WI.CanvasContentView.prototype.initialLayout):
- UserInterface/Views/CanvasOverviewContentView.css:
(.content-view.canvas-overview > .content-view.canvas > header > .titles > :matches(.subtitle, .color-space),):
(.content-view.canvas-overview > .content-view.canvas > header .color-space::before):
- 3:04 PM Changeset in webkit [283571] by
-
- 1 copy in tags/Safari-611.4.2.0.1
Tag Safari-611.4.2.0.1.
- 2:54 PM Changeset in webkit [283570] by
-
- 2 edits in trunk/Source/WebCore
Remove leftover ASSERT.
Unreviewed.
- layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::inlineItemWidth const): We could very well run the fast text measuring codepath with different styles e.g. when there's color difference.
- 2:28 PM Changeset in webkit [283569] by
-
- 2 edits in trunk/LayoutTests
[ iOS 15 ] ASSERTION FAILED: isRunningTest(WebCore::applicationBundleIdentifier()).
https://bugs.webkit.org/show_bug.cgi?id=231255
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 1:12 PM Changeset in webkit [283568] by
-
- 4 edits2 adds in trunk
Incorrect Length constructor used after blending negative Length
https://bugs.webkit.org/show_bug.cgi?id=230873
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2021-10-05
Reviewed by Antoine Quint.
Source/WebCore:
Test: fast/borders/border-radius-cubic-bezier-timing-function-negative-value.html
- platform/Length.cpp:
(WebCore::blend):
Only call current Length constructor for the non-LengthType::Calculated types when the value is negative, otherwise use behavior before r273603.
- style/StyleBuilderConverter.h:
(WebCore::Style::BuilderConverter::convertToRadiusLength):
Clamp BuilderConverter::convertToRadiusLength Lengths to values >= 0
LayoutTests:
- fast/borders/border-radius-cubic-bezier-timing-function-negative-value-expected.txt: Added.
- fast/borders/border-radius-cubic-bezier-timing-function-negative-value.html: Added.
- 12:20 PM Changeset in webkit [283567] by
-
- 6 edits1 add in trunk
CodeBlock should not add/remove LoopHintExecutionCounters.
https://bugs.webkit.org/show_bug.cgi?id=231209
rdar://83571235
Reviewed by Saam Barati.
JSTests:
- stress/codeBlock-should-not-add-remove-loop-hint-execution-counters-due-to-cached-unlinked-baseline-code.js: Added.
Source/JavaScriptCore:
This is because cached unlinked baseline JIT code would retain a pointer to those
counters. Hence, the UnlinkedCodeBlock should do the add /remove of the counters
instead.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finishCreation):
(JSC::CodeBlock::~CodeBlock):
- bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedCodeBlock::initializeLoopHintExecutionCounter):
(JSC::UnlinkedCodeBlock::~UnlinkedCodeBlock):
- bytecode/UnlinkedCodeBlock.h:
- bytecode/UnlinkedCodeBlockGenerator.cpp:
(JSC::UnlinkedCodeBlockGenerator::finalize):
- 12:12 PM Changeset in webkit [283566] by
-
- 35 edits2 adds in trunk
CSP: unsafe-eval tests timing out or failing
https://bugs.webkit.org/show_bug.cgi?id=231113
<rdar://problem/83425041>
Reviewed by Brent Fulgham.
LayoutTests/imported/w3c:
- web-platform-tests/content-security-policy/script-src/script-src-1_4-expected.txt:
- web-platform-tests/content-security-policy/script-src/script-src-1_4_1-expected.txt:
- web-platform-tests/content-security-policy/script-src/script-src-1_4_2-expected.txt:
- web-platform-tests/content-security-policy/script-src/script-src-strict_dynamic_eval-expected.txt: Added.
- web-platform-tests/content-security-policy/script-src/script-src-strict_dynamic_new_function-expected.txt: Added.
- web-platform-tests/content-security-policy/securitypolicyviolation/blockeduri-eval-expected.txt:
This test gets the report but gets an incorrect column number. The bug
seems tangential to this patch and we should fix it in a followup.
- web-platform-tests/content-security-policy/unsafe-eval/eval-blocked-and-sends-report.sub-expected.txt:
- web-platform-tests/content-security-policy/unsafe-eval/eval-blocked-in-about-blank-iframe.sub-expected.txt:
This test gets the report but reveals a bug where we don't allow
inline script to execute after calling eval() when unsafe-inline is
specified but not unsafe-eval. Tracking in rdar://83846298.
- web-platform-tests/content-security-policy/unsafe-eval/eval-blocked.sub-expected.txt:
- web-platform-tests/content-security-policy/unsafe-eval/eval-scripts-setInterval-blocked.sub-expected.txt:
- web-platform-tests/content-security-policy/unsafe-eval/eval-scripts-setTimeout-blocked.sub-expected.txt:
- web-platform-tests/content-security-policy/unsafe-eval/function-constructor-blocked.sub-expected.txt:
Source/JavaScriptCore:
Many imported unsafe-eval tests are failing because we don't report
violations to the DOM or report URI when an eval is blocked. This
patch adds support for that by calling
ContentSecurityPolicy::allowEval() when eval is disabled.
Eventually I think we can remove the evalEnabled() code and check the
CSP policy instead, but I will save that for another patch.
- API/JSAPIGlobalObject.cpp:
- API/JSAPIGlobalObject.mm:
- interpreter/Interpreter.cpp:
(JSC::eval):
- jsc.cpp:
- runtime/DirectEvalExecutable.cpp:
(JSC::DirectEvalExecutable::create):
- runtime/FunctionConstructor.cpp:
(JSC::constructFunction):
- runtime/IndirectEvalExecutable.cpp:
(JSC::IndirectEvalExecutable::create):
- runtime/JSGlobalObject.cpp:
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::reportViolationForUnsafeEval):
Per the spec we should send the report to the element's document and
bubble it up to the window.
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
Source/WebCore:
No new tests. This will cause existing tests to pass.
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::reportViolationForUnsafeEval):
Add new parameter LogToConsole to ContentSecurityPolicy::allowEval()
because in many cases we already log to console for eval violations
when we throw an error.
- bindings/js/JSDOMWindowBase.h:
- bindings/js/JSRemoteDOMWindowBase.cpp:
Per the spec, we should set the DOM target to be the element's
document. If the element is null, we set it to the window's document.
- bindings/js/JSWorkerGlobalScopeBase.cpp:
(WebCore::JSWorkerGlobalScopeBase::reportViolationForUnsafeEval):
- bindings/js/JSWorkerGlobalScopeBase.h:
- bindings/js/JSWorkletGlobalScopeBase.cpp:
(WebCore::JSWorkletGlobalScopeBase::reportViolationForUnsafeEval):
- bindings/js/JSWorkletGlobalScopeBase.h:
- page/DOMWindow.cpp:
(WebCore::DOMWindow::setTimeout):
(WebCore::DOMWindow::setInterval):
Cases where we do not log to console already, so we should do it when
we check for a violation.
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::allowEval const):
(WebCore::ContentSecurityPolicy::reportViolation const):
Per the spec, the blockedURI for eval violations should be "eval".
This patch updates the blockedURI to be a string when passed to
reportViolation to allow this to happen.
(WebCore::ContentSecurityPolicy::logToConsole const):
Don't log an empty string to console. This allows us to pass an empty
string when shouldLogToConsole == LogToConsole::No so we don't need to
add an extra boolean to a lot of places to know whether to log.
- page/csp/ContentSecurityPolicy.h:
- workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::setTimeout):
(WebCore::WorkerGlobalScope::setInterval):
- 11:48 AM Changeset in webkit [283565] by
-
- 7 edits3 adds in trunk
Authorization header lost on 30x redirects
https://bugs.webkit.org/show_bug.cgi?id=230935
<rdar://problem/83689955>
Reviewed by Darin Adler.
Source/WebCore:
CFNetwork drops the Authorization request header in cases of same-origin redirects, which is not as per
the fetch specification [1] and doesn't match the behavior of other browsers.
To address the issue, WebKit adds the Authorization request back in case of a same-origin redirect.
Test: http/tests/fetch/fetch-redirect-same-origin-authorization.html
- platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::willSendRequest):
- platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::willSendRequest):
Source/WebKit:
CFNetwork drops the Authorization request header in cases of same-origin redirects, which is not as per
the fetch specification [1] and doesn't match the behavior of other browsers.
To address the issue, WebKit adds the Authorization request back in case of a same-origin redirect.
[1] https://fetch.spec.whatwg.org/#concept-http-redirect-fetch
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):
LayoutTests:
- http/tests/fetch/fetch-redirect-same-origin-authorization-expected.txt: Added.
- http/tests/fetch/fetch-redirect-same-origin-authorization.html: Added.
- http/tests/fetch/resources/dump-authorization-header.py: Added.
Add layout test coverage.
- http/tests/xmlhttprequest/redirections-and-user-headers.html:
Update existing test to reflect behavior change.
- 11:41 AM Changeset in webkit [283564] by
-
- 8 edits in trunk/Source/WebCore
Move handling of AXValue from platform wrapper to AX core code.
https://bugs.webkit.org/show_bug.cgi?id=231200
Reviewed by Chris Fleizach.
No change in functionality.
Moved handling of the AXValue (NSAccessibilityValueAttribute) from the
Mac wrapper accessibilityAttributeValue handler to AXCoreObject::value.
This makes possible to share this code across multiple platforms.
- accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::headingLevel const):
Returns unsigned instead of int.
- accessibility/AccessibilityNodeObject.h:
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::value):
- accessibility/AccessibilityObject.h:
- accessibility/AccessibilityObjectInterface.h:
- accessibility/isolatedtree/AXIsolatedObject.h:
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
- 11:40 AM Changeset in webkit [283563] by
-
- 12 edits1 add in trunk
<model> should be draggable, similar to <img>
https://bugs.webkit.org/show_bug.cgi?id=229246
Reviewed by Wenson Hsieh.
Source/WebCore:
- page/DragActions.h:
(WebCore::anyDragSourceAction):
- page/DragController.cpp:
(WebCore::DragController::draggableElement const):
(WebCore::DragController::startDrag):
- page/EventHandler.cpp:
(WebCore::EventHandler::dragHysteresisExceeded const):
Make <model> draggable, vending a PasteboardImage with the model data and correct MIME type.
We currently make a DragImage from a node snapshot, but later will want a richer DragImage.
Source/WebKit:
- UIProcess/ios/DragDropInteractionState.mm:
(WebKit::shouldUseDragImageToCreatePreviewForDragSource):
For now, use the Web-Content-process-painted node-snapshot DragImage for the targeted preview on iOS.
Source/WebKitLegacy/mac:
- WebView/WebView.mm:
(kit):
Do nothing for <model> drags in legacy WebKit.
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit/cube.usdz: Added.
- TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
(-[ModelLoadingMessageHandler userContentController:didReceiveScriptMessage:]):
(TestWebKitAPI::TEST):
Add a test that ensures that dragging a <model> works.
- 11:26 AM Changeset in webkit [283562] by
-
- 4 edits2 adds in trunk
Unsupported blending of mixed length types leads to nullptr deref when accessing m_value.calc in CSSPrimitiveValue::primitiveType()
https://bugs.webkit.org/show_bug.cgi?id=230929
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2021-10-05
Source/WebCore:
Reviewed by Darin Adler.
Test: fast/layoutformattingcontext/fit-content-min-height-animation.html
- css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::init):
- platform/Length.cpp:
(WebCore::blendMixedTypes):
LayoutTests:
Reviewed by Reviewed by Darin Adler.
- fast/layoutformattingcontext/fit-content-min-height-animation-expected.txt: Added.
- fast/layoutformattingcontext/fit-content-min-height-animation.html: Added.
- 11:19 AM Changeset in webkit [283561] by
-
- 6 edits in trunk
radial-gradient does not accept calc values that combine length and percent
https://bugs.webkit.org/show_bug.cgi?id=230388
Patch by Nikos Mouchtaris <Nikos Mouchtaris> on 2021-10-05
Reviewed by Simon Fraser.
Source/WebCore:
Removed outdated check that disallowed combined percentage and length expressions.
Added code to calculate radius for combined percentage and length expressions.
- css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::consumeRadialGradient):
LayoutTests:
- css3/calc/css3-radial-gradients-expected.html:
- css3/calc/css3-radial-gradients.html:
- 11:15 AM Changeset in webkit [283560] by
-
- 8 edits in trunk/Source
Add an alternate style for form controls, and implement it for checkboxes and radio buttons
https://bugs.webkit.org/show_bug.cgi?id=231160
Reviewed by Sam Weinig.
- rendering/RenderThemeIOS.h:
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::checkboxRadioBackgroundColor):
Add alternate background colors. Currently these are not specified as
semantic colors, so we inline the values.
(WebCore::RenderThemeIOS::checkboxRadioBackgroundGradient):
Add a gradient fill for checkbox and radio button backgrounds.
(WebCore::RenderThemeIOS::paintCheckboxRadioInnerShadow):
Add two inner shadows (really, a shadow and a glow) to the checkbox and radio button.
(WebCore::RenderThemeIOS::paintCheckbox):
(WebCore::RenderThemeIOS::paintRadio):
Drop the border and use a filled background and inner shadows instead,
when the setting is enabled.
- Scripts/Preferences/WebPreferences.yaml:
- Shared/WebPreferencesDefaultValues.cpp:
(WebKit::defaultAlternateFormControlDesignEnabled):
- Shared/WebPreferencesDefaultValues.h:
- 11:12 AM Changeset in webkit [283559] by
-
- 20 edits3 adds1 delete in trunk
Implement missing functions in PrivateClickMeasurementDaemonClient
https://bugs.webkit.org/show_bug.cgi?id=231060
Reviewed by Chris Dumez.
Source/WebKit:
Enable debug mode in the daemon if any connected clients have debug mode enabled.
Broadcast debug messages to all clients, which will then broadcast them to all web processes.
Add an API test that turns it on then off and checks that the debug messages make it all the way to the inspector.
- NetworkProcess/NetworkSession.cpp:
(WebKit::managerOrProxy):
(WebKit::NetworkSession::setPrivateClickMeasurementDebugMode):
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementConnection.cpp:
(WebKit::PCM::ConnectionToMachService::ConnectionToMachService):
(WebKit::PCM::ConnectionToMachService::send const):
(WebKit::PCM::ConnectionToMachService::sendWithReply const):
(WebKit::PCM::Connection::Connection): Deleted.
(WebKit::PCM::Connection::send const): Deleted.
(WebKit::PCM::Connection::sendWithReply const): Deleted.
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementConnection.h:
(WebKit::PCM::Connection::Connection):
(WebKit::PCM::Connection::get const):
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDaemonClient.cpp:
(WebKit::PCM::DaemonClient::broadcastConsoleMessage):
(WebKit::PCM::DaemonClient::debugModeEnabled const):
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManager.cpp:
(WebKit::PrivateClickMeasurementManager::setDebugModeIsEnabled):
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManager.h:
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManagerInterface.cpp:
(WebKit::PCM::messageTypeSendsReply):
(WebKit::PCM::handlePCMMessageSetDebugModeIsEnabled):
(WebKit::PCM::decodeMessageAndSendToManager):
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManagerInterface.h:
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManagerProxy.cpp:
(WebKit::PCM::ManagerProxy::ManagerProxy):
(WebKit::PCM::ManagerProxy::setDebugModeIsEnabled):
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManagerProxy.h:
- NetworkProcess/PrivateClickMeasurement/cocoa/PrivateClickMeasurementConnectionCocoa.mm: Renamed from Source/WebKit/NetworkProcess/PrivateClickMeasurement/cocoa/PrivateClickMeasurementDaemonConnectionCocoa.mm.
(WebKit::PCM::ConnectionToMachService::initializeConnectionIfNeeded const):
(WebKit::PCM::ConnectionToMachService::sendDebugModeIsEnabledMessageIfNecessary const):
(WebKit::PCM::ConnectionToMachService::checkForDebugMessageBroadcast const):
(WebKit::PCM::Connection::send const):
(WebKit::PCM::Connection::sendWithReply const):
(WebKit::PCM::ConnectionToMachService::send const):
(WebKit::PCM::ConnectionToMachService::sendWithReply const):
- Shared/EntryPointUtilities/Cocoa/Daemon/PCMDaemonConnectionSet.h: Copied from Source/WebKit/NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementConnection.h.
- Shared/EntryPointUtilities/Cocoa/Daemon/PCMDaemonConnectionSet.mm: Added.
(WebKit::PCM::DaemonConnectionSet::singleton):
(WebKit::PCM::DaemonConnectionSet::add):
(WebKit::PCM::DaemonConnectionSet::remove):
(WebKit::PCM::DaemonConnectionSet::setConnectedNetworkProcessHasDebugModeEnabled):
(WebKit::PCM::DaemonConnectionSet::debugModeEnabled const):
(WebKit::PCM::DaemonConnectionSet::broadcastConsoleMessage):
- Shared/EntryPointUtilities/Cocoa/Daemon/PCMDaemonEntryPoint.mm:
(WebKit::connectionEventHandler):
(WebKit::startListeningForMachServiceConnections):
(WebKit::peers): Deleted.
- SourcesCocoa.txt:
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _setPrivateClickMeasurementDebugModeEnabledForTesting:]):
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
- WebKit.xcodeproj/project.pbxproj:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(TestWebKitAPI::testDaemonPList):
(TestWebKitAPI::cleanUpDaemon):
(TestWebKitAPI::TEST):
- TestWebKitAPI/cocoa/TestUIDelegate.h:
- TestWebKitAPI/cocoa/TestUIDelegate.mm:
(-[TestUIDelegate _webView:didAttachLocalInspector:]):
(-[TestUIDelegate waitForInspectorToShow]):
(-[WKWebView _test_waitForInspectorToShow]):
- 10:59 AM Changeset in webkit [283558] by
-
- 2 edits in trunk/LayoutTests
[ iOS15 WK2 ] http/tests/media/modern-media-controls/overflow-support/playback-speed-live-broadcast.html is a constant timeout.
<rdar://80393995>
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 10:51 AM Changeset in webkit [283557] by
-
- 9 edits in trunk/Source/JavaScriptCore
[JSC][32bit] Fix bugs after unlinked baseline jit
https://bugs.webkit.org/show_bug.cgi?id=231232
Patch by Xan López <Xan Lopez> on 2021-10-05
Reviewed by Yusuke Suzuki.
Fix a bunch of bugs introduced with unlinked baseline jit. As of
now we are disabling DataIC on baseline JIT to get things working
ASAP, making that work will be the next step. This makes us almost
go back to green bots.
(Patch co-authored with Geza Lore)
- bytecode/CallLinkInfo.cpp:
(JSC::CallLinkInfo::emitDataICFastPath): ASSERT we are not using DataIC on 32-bit.
- bytecode/CodeBlock.h:
(JSC::CodeBlock::hasDebuggerRequests const):
(JSC::CodeBlock::debuggerRequestsAddress): Deleted.
- jit/JITCall32_64.cpp:
(JSC::JIT::compileOpCall): don't use DataIC.
(JSC::JIT::compileOpCallSlowCase): set missing label.
- jit/JITCode.h:
(JSC::JITCode::useDataIC): disable DataIC on baseline JIT for 32-bit.
- jit/JITInlines.h:
(JSC::JIT::getConstantOperand): get constants from the CodeBlock,
since we don't do sharing on 32-bit.
(JSC::JIT::emitValueProfilingSite): remove an overzealous ASSERT.
(JSC::JIT::loadConstant): use sizeof(void*) instead of '8', makes
things work on 32-bit.
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_debug): share this with 32-bit.
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_debug): Deleted.
- llint/LowLevelInterpreter32_64.asm: do not thrash the PC register.
- 10:49 AM Changeset in webkit [283556] by
-
- 16 edits2 adds in trunk
[JSC] JSPropertyNameEnumerator should not have cached prototype chain since empty JSPropertyNameEnumerator is shared
https://bugs.webkit.org/show_bug.cgi?id=231202
JSTests:
Reviewed by Keith Miller.
- stress/for-in-validation-poly-proto.js: Added.
(shouldBe):
(test):
(factory.Test):
(factory):
- stress/for-in-validation-watchpoint.js: Added.
(shouldBe):
(test):
(Test):
(factory):
Source/JavaScriptCore:
rdar://83815122
Reviewed by Keith Miller.
r282014 assumed an invariant that JSPropertyNameEnumerator's StructureChain is immutable.
This invariant is also used in validation of JSPropertyNameEnumerator. However, this
invariant was broken since we now have shared empty sentinel JSPropertyNameEnumerator, which can
be used for different structures having different prototype chain.
Since now we have shared JSPropertyNameEnumerator, JSPropertyNameEnumerator should not have
StructureChain in its member. When invalidating StructureChain in Structure, we also clear
cached JSPropertyNameEnumerator so that we do not get a stale JSPropertyNameEnumerator from
Structure even though watchpoint-based validation is not used.
This patch also removes ValidatedViaWatchpoint flag in JSPropertyNameEnumerator due to the same
reason. We should not modify JSPropertyNameEnumerator once it is instantiated. Instead, we encode
this flag as a lowest bit of m_cachedPropertyNameEnumerator. If it is validated via traversing (not watchpoints),
then this bit is set. So when loading that pointer from StructureRareData, we can quickly detect
it without even accessing to the enumerator. This fixes the issue, and it is even cleaner.
We rename m_cachedPropertyNameEnumerator to m_cachedPropertyNameEnumeratorAndFlag since it now
includes this flag.
While reviewing the code, we also found that watchpoint-based validation didn't care about PolyProto.
We should disable watchpoint-based validation if PolyProto is used.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileGetPropertyEnumerator):
- ftl/FTLAbstractHeapRepository.h:
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_property_enumerator):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- llint/LowLevelInterpreter64.asm:
- runtime/JSPropertyNameEnumerator.cpp:
(JSC::JSPropertyNameEnumerator::visitChildrenImpl):
- runtime/JSPropertyNameEnumerator.h:
(JSC::propertyNameEnumerator):
- runtime/Structure.cpp:
(JSC::Structure::visitChildrenImpl):
(JSC::Structure::setCachedPropertyNameEnumerator):
(JSC::Structure::cachedPropertyNameEnumeratorAndFlag const):
- runtime/Structure.h:
(JSC::Structure::propertyNameEnumeratorShouldWatch const):
- runtime/StructureInlines.h:
(JSC::Structure::prototypeChain const):
(JSC::Structure::clearCachedPrototypeChain):
- runtime/StructureRareData.cpp:
(JSC::StructureRareData::visitChildrenImpl):
- runtime/StructureRareData.h:
- runtime/StructureRareDataInlines.h:
(JSC::StructureRareData::cachedPropertyNameEnumerator const):
(JSC::StructureRareData::cachedPropertyNameEnumeratorAndFlag const):
(JSC::StructureRareData::setCachedPropertyNameEnumerator):
(JSC::StructureChainInvalidationWatchpoint::fireInternal):
(JSC::StructureRareData::tryCachePropertyNameEnumeratorViaWatchpoint):
(JSC::StructureRareData::clearCachedPropertyNameEnumerator):
(JSC::StructureRareData::invalidateWatchpointBasedValidation): Deleted.
- 9:57 AM Changeset in webkit [283555] by
-
- 3 edits2 adds in trunk
REGRESSION (r283335): Momentum scrolling is no longer locked to an axis
https://bugs.webkit.org/show_bug.cgi?id=231206
Reviewed by Wenson Hsieh.
Source/WebCore:
r283335 removed the line that constrained the scroll delta to an axis, so restore it.
This bug only manifested during the momentum phase because both EventDispatcher and
EventHandler send only non-momentum events through the filter. We should also filter
deltas on momentum events (webkit.org/b/231207).
Test: fast/scrolling/mac/momentum-axis-locking.html
- platform/mac/ScrollingEffectsController.mm:
(WebCore::ScrollingEffectsController::handleWheelEvent):
LayoutTests:
- fast/scrolling/mac/momentum-axis-locking-expected.txt: Added.
- fast/scrolling/mac/momentum-axis-locking.html: Added.
- 9:46 AM Changeset in webkit [283554] by
-
- 8 edits2 adds in trunk/Source/WebCore
[LFC][Integration] Introduce InlineBoxIterator
https://bugs.webkit.org/show_bug.cgi?id=231233
Reviewed by Alan Bujtas.
And use it in InlineBoxPainter.
The adoption is still incomplete here so only the legacy path is covered.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- layout/integration/InlineIteratorBox.h:
(WebCore::InlineIterator::Box::isInlineBox const):
(WebCore::InlineIterator::Box::isRootInlineBox const):
- layout/integration/InlineIteratorBoxLegacyPath.h:
(WebCore::InlineIterator::BoxLegacyPath::isInlineBox const):
(WebCore::InlineIterator::BoxLegacyPath::isRootInlineBox const):
(WebCore::InlineIterator::BoxLegacyPath::traverseNextInlineBox):
(WebCore::InlineIterator::BoxLegacyPath::traversePreviousInlineBox):
(WebCore::InlineIterator::BoxLegacyPath::inlineFlowBox const):
- layout/integration/InlineIteratorBoxModernPath.h:
(WebCore::InlineIterator::BoxModernPath::isInlineBox const):
(WebCore::InlineIterator::BoxModernPath::isRootInlineBox const):
(WebCore::InlineIterator::BoxModernPath::traverseNextInlineBox):
(WebCore::InlineIterator::BoxModernPath::traversePreviousInlineBox):
- layout/integration/InlineIteratorInlineBox.cpp: Added.
(WebCore::InlineIterator::InlineBox::InlineBox):
(WebCore::InlineIterator::InlineBox::nextInlineBox const):
(WebCore::InlineIterator::InlineBox::previousInlineBox const):
(WebCore::InlineIterator::InlineBoxIterator::InlineBoxIterator):
(WebCore::InlineIterator::InlineBoxIterator::traverseNextInlineBox):
(WebCore::InlineIterator::InlineBoxIterator::traversePreviousInlineBox):
(WebCore::InlineIterator::inlineBoxFor):
- layout/integration/InlineIteratorInlineBox.h: Added.
(WebCore::InlineIterator::InlineBox::renderer const):
(WebCore::InlineIterator::InlineBox::legacyInlineBox const):
(WebCore::InlineIterator::InlineBoxIterator::InlineBoxIterator):
(WebCore::InlineIterator::InlineBoxIterator::operator* const):
(WebCore::InlineIterator::InlineBoxIterator::operator-> const):
(WebCore::InlineIterator::InlineBoxIterator::get const):
(WebCore::InlineIterator::InlineBox::iterator const):
(isType):
- rendering/InlineBoxPainter.cpp:
(WebCore::InlineBoxPainter::InlineBoxPainter):
(WebCore::clipRectForNinePieceImageStrip):
(WebCore::InlineBoxPainter::paintMask):
(WebCore::InlineBoxPainter::paintDecorations):
(WebCore::InlineBoxPainter::paintFillLayer):
(WebCore::InlineBoxPainter::paintBoxShadow):
(WebCore::InlineBoxPainter::constrainToLineTopAndBottomIfNeeded const):
- rendering/InlineBoxPainter.h:
- 9:43 AM Changeset in webkit [283553] by
-
- 2 edits2 deletes in trunk/Tools
REGRESSION (r283476): [ iOS macOS Debug ] TestWTF failures in RetainPtrARC and TypeCastsCocoaARC
<https://webkit.org/b/231172>
<rdar://problem/83836549>
Unreviewed partial revert of r283476.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- Remove RetainPtrARC.mm and TypeCastsCocoaARC.mm from the project.
- TestWebKitAPI/Tests/WTF/cocoa/TypeCastsCocoaARC.mm: Delete.
- TestWebKitAPI/Tests/WTF/ns/RetainPtrARC.mm: Delete.
- Remove these tests until issues can be fixed.
- 8:54 AM Changeset in webkit [283552] by
-
- 6 edits in trunk/Source/WebCore
Remove m_autoShrinkToFitEnabled from RuleSet
https://bugs.webkit.org/show_bug.cgi?id=231214
Reviewed by Alan Bujtas.
Make it RuleSetBuilder setting instead, enabled by default.
- style/RuleSet.h:
(WebCore::Style::RuleSet::disableAutoShrinkToFit): Deleted.
- style/RuleSetBuilder.cpp:
(WebCore::Style::RuleSetBuilder::RuleSetBuilder):
(WebCore::Style::m_shrinkToFit):
(WebCore::Style::RuleSetBuilder::~RuleSetBuilder):
(WebCore::Style::m_resolver): Deleted.
- style/RuleSetBuilder.h:
- style/StyleInvalidator.cpp:
(WebCore::Style::Invalidator::Invalidator):
Here we still want to avoid shrink-to-fit since the constructed RuleSets are temporary.
- style/StyleScopeRuleSets.cpp:
(WebCore::Style::ScopeRuleSets::ScopeRuleSets):
(WebCore::Style::ScopeRuleSets::resetAuthorStyle):
(WebCore::Style::ScopeRuleSets::appendAuthorStyleSheets):
Since RuleSetBuilder is scoped over everything we can no use it to do shrink-to-fit.
- 8:53 AM Changeset in webkit [283551] by
-
- 4 edits in trunk
Follow-up #2: WTF::RetainPtr<> allows assignment of two pointer types that are not assignable
<https://webkit.org/b/230406>
<rdar://problem/83241893>
Unreviewed attempt to fix API tests.
Source/WTF:
- wtf/cocoa/TypeCastsCocoa.h:
(WTF::checked_objc_cast):
- Rename checked_objc_cast<> to checked_objc_castARC<> when compiling with ARC enabled.
- Also mark as
inline
function to allow for optimization.
Tools:
- TestWebKitAPI/Tests/WTF/cocoa/TypeCastsCocoa.mm:
(TestWebKitAPI::TEST):
- Revert code back to using objectNS.get() for checked_objc_cast<> tests since it always worked.
- 8:21 AM Changeset in webkit [283550] by
-
- 145 edits in trunk
[IFC][Integration] Enable first-line style for modern line layout
https://bugs.webkit.org/show_bug.cgi?id=231178
Reviewed by Antti Koivisto.
Source/WebCore:
- layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::printReason):
(WebCore::LayoutIntegration::canUseForStyle):
(WebCore::LayoutIntegration::canUseForLineLayoutWithReason):
- layout/integration/LayoutIntegrationCoverage.h:
LayoutTests:
- fast/css/empty-inline-line-height-first-line-expected.txt:
- fast/css/empty-inline-line-height-first-line-quirksmode-expected.txt:
- platform/ios/editing/deleting/delete-at-paragraph-boundaries-002-expected.txt:
- platform/ios/editing/deleting/delete-at-paragraph-boundaries-003-expected.txt:
- platform/ios/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt:
- platform/ios/editing/deleting/delete-at-paragraph-boundaries-005-expected.txt:
- platform/ios/editing/deleting/delete-at-paragraph-boundaries-006-expected.txt:
- platform/ios/editing/deleting/delete-at-paragraph-boundaries-007-expected.txt:
- platform/ios/editing/deleting/delete-at-paragraph-boundaries-008-expected.txt:
- platform/ios/editing/deleting/delete-at-paragraph-boundaries-009-expected.txt:
- platform/ios/editing/deleting/delete-at-paragraph-boundaries-010-expected.txt:
- platform/ios/editing/deleting/delete-at-paragraph-boundaries-011-expected.txt:
- platform/ios/editing/deleting/non-smart-delete-expected.txt:
- platform/ios/editing/inserting/insert-br-quoted-001-expected.txt:
- platform/ios/editing/inserting/insert-br-quoted-002-expected.txt:
- platform/ios/editing/inserting/insert-br-quoted-003-expected.txt:
- platform/ios/editing/inserting/insert-br-quoted-004-expected.txt:
- platform/ios/editing/inserting/insert-br-quoted-005-expected.txt:
- platform/ios/editing/inserting/insert-br-quoted-006-expected.txt:
- platform/ios/editing/inserting/insert-div-026-expected.txt:
- platform/ios/editing/inserting/return-key-with-selection-001-expected.txt:
- platform/ios/editing/inserting/return-key-with-selection-002-expected.txt:
- platform/ios/editing/inserting/return-key-with-selection-003-expected.txt:
- platform/ios/editing/pasteboard/paste-4038267-fix-expected.txt:
- platform/ios/editing/pasteboard/paste-line-endings-001-expected.txt:
- platform/ios/editing/pasteboard/paste-line-endings-002-expected.txt:
- platform/ios/editing/pasteboard/paste-line-endings-003-expected.txt:
- platform/ios/editing/pasteboard/paste-line-endings-004-expected.txt:
- platform/ios/editing/pasteboard/paste-line-endings-005-expected.txt:
- platform/ios/editing/pasteboard/paste-line-endings-006-expected.txt:
- platform/ios/editing/pasteboard/paste-line-endings-007-expected.txt:
- platform/ios/editing/pasteboard/paste-line-endings-008-expected.txt:
- platform/ios/editing/pasteboard/paste-line-endings-009-expected.txt:
- platform/ios/editing/pasteboard/paste-line-endings-010-expected.txt:
- platform/ios/editing/pasteboard/paste-match-style-001-expected.txt:
- platform/ios/editing/pasteboard/paste-match-style-002-expected.txt:
- platform/ios/editing/pasteboard/paste-text-019-expected.txt:
- platform/ios/editing/style/block-styles-007-expected.txt:
- platform/ios/editing/style/style-3998892-fix-expected.txt:
- platform/ios/editing/style/style-boundary-001-expected.txt:
- platform/ios/editing/style/style-boundary-004-expected.txt:
- platform/ios/editing/unsupported-content/list-delete-003-expected.txt:
- platform/ios/editing/unsupported-content/list-type-after-expected.txt:
- platform/ios/fast/css/empty-inline-line-height-first-line-expected.txt:
- platform/ios/fast/css/empty-inline-line-height-first-line-quirksmode-expected.txt:
- platform/ios/fast/css/first-line-text-decoration-expected.txt:
- platform/ios/fast/css/first-line-text-decoration-inherited-from-parent-expected.txt:
- platform/ios/fast/text/firstline/001-expected.txt:
- platform/mac/editing/deleting/delete-at-paragraph-boundaries-002-expected.txt:
- platform/mac/editing/deleting/delete-at-paragraph-boundaries-003-expected.txt:
- platform/mac/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt:
- platform/mac/editing/deleting/delete-at-paragraph-boundaries-005-expected.txt:
- platform/mac/editing/deleting/delete-at-paragraph-boundaries-006-expected.txt:
- platform/mac/editing/deleting/delete-at-paragraph-boundaries-007-expected.txt:
- platform/mac/editing/deleting/delete-at-paragraph-boundaries-008-expected.txt:
- platform/mac/editing/deleting/delete-at-paragraph-boundaries-009-expected.txt:
- platform/mac/editing/deleting/delete-at-paragraph-boundaries-010-expected.txt:
- platform/mac/editing/deleting/delete-at-paragraph-boundaries-011-expected.txt:
- platform/mac/editing/deleting/non-smart-delete-expected.txt:
- platform/mac/editing/inserting/insert-br-quoted-001-expected.txt:
- platform/mac/editing/inserting/insert-br-quoted-002-expected.txt:
- platform/mac/editing/inserting/insert-br-quoted-003-expected.txt:
- platform/mac/editing/inserting/insert-br-quoted-004-expected.txt:
- platform/mac/editing/inserting/insert-br-quoted-005-expected.txt:
- platform/mac/editing/inserting/insert-br-quoted-006-expected.txt:
- platform/mac/editing/inserting/insert-div-026-expected.txt:
- platform/mac/editing/inserting/return-key-with-selection-001-expected.txt:
- platform/mac/editing/inserting/return-key-with-selection-002-expected.txt:
- platform/mac/editing/inserting/return-key-with-selection-003-expected.txt:
- platform/mac/editing/pasteboard/emacs-cntl-y-001-expected.txt:
- platform/mac/editing/pasteboard/emacs-ctrl-k-y-001-expected.txt:
- platform/mac/editing/pasteboard/paste-4038267-fix-expected.txt:
- platform/mac/editing/pasteboard/paste-line-endings-001-expected.txt:
- platform/mac/editing/pasteboard/paste-line-endings-002-expected.txt:
- platform/mac/editing/pasteboard/paste-line-endings-003-expected.txt:
- platform/mac/editing/pasteboard/paste-line-endings-004-expected.txt:
- platform/mac/editing/pasteboard/paste-line-endings-005-expected.txt:
- platform/mac/editing/pasteboard/paste-line-endings-006-expected.txt:
- platform/mac/editing/pasteboard/paste-line-endings-007-expected.txt:
- platform/mac/editing/pasteboard/paste-line-endings-008-expected.txt:
- platform/mac/editing/pasteboard/paste-line-endings-009-expected.txt:
- platform/mac/editing/pasteboard/paste-line-endings-010-expected.txt:
- platform/mac/editing/pasteboard/paste-match-style-001-expected.txt:
- platform/mac/editing/pasteboard/paste-match-style-002-expected.txt:
- platform/mac/editing/pasteboard/paste-text-019-expected.txt:
- platform/mac/editing/style/block-styles-007-expected.txt:
- platform/mac/editing/style/smoosh-styles-001-expected.txt:
- platform/mac/editing/style/smoosh-styles-003-expected.txt:
- platform/mac/editing/style/style-3998892-fix-expected.txt:
- platform/mac/editing/style/style-boundary-001-expected.txt:
- platform/mac/editing/style/style-boundary-002-expected.txt:
- platform/mac/editing/style/style-boundary-003-expected.txt:
- platform/mac/editing/style/style-boundary-004-expected.txt:
- platform/mac/editing/style/style-boundary-005-expected.txt:
- platform/mac/editing/unsupported-content/list-delete-001-expected.txt:
- platform/mac/editing/unsupported-content/list-delete-003-expected.txt:
- platform/mac/editing/unsupported-content/list-type-after-expected.txt:
- platform/mac/editing/unsupported-content/list-type-before-expected.txt:
- platform/mac/editing/unsupported-content/table-delete-002-expected.txt:
- platform/mac/editing/unsupported-content/table-type-after-expected.txt:
- platform/mac/editing/unsupported-content/table-type-before-expected.txt:
- platform/mac/fast/css/first-line-text-decoration-expected.txt:
- platform/mac/fast/css/first-line-text-decoration-inherited-from-parent-expected.txt:
- platform/mac/fast/text/firstline/001-expected.txt:
- platform/win/editing/deleting/delete-at-paragraph-boundaries-002-expected.txt:
- platform/win/editing/deleting/delete-at-paragraph-boundaries-003-expected.txt:
- platform/win/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt:
- platform/win/editing/deleting/delete-at-paragraph-boundaries-005-expected.txt:
- platform/win/editing/deleting/delete-at-paragraph-boundaries-006-expected.txt:
- platform/win/editing/deleting/delete-at-paragraph-boundaries-007-expected.txt:
- platform/win/editing/deleting/delete-at-paragraph-boundaries-008-expected.txt:
- platform/win/editing/deleting/delete-at-paragraph-boundaries-009-expected.txt:
- platform/win/editing/deleting/delete-at-paragraph-boundaries-010-expected.txt:
- platform/win/editing/deleting/delete-at-paragraph-boundaries-011-expected.txt:
- platform/win/editing/deleting/non-smart-delete-expected.txt:
- platform/win/editing/inserting/insert-br-quoted-001-expected.txt:
- platform/win/editing/inserting/insert-br-quoted-002-expected.txt:
- platform/win/editing/inserting/insert-br-quoted-003-expected.txt:
- platform/win/editing/inserting/insert-br-quoted-004-expected.txt:
- platform/win/editing/inserting/insert-br-quoted-005-expected.txt:
- platform/win/editing/inserting/insert-br-quoted-006-expected.txt:
- platform/win/editing/inserting/insert-div-026-expected.txt:
- platform/win/editing/inserting/return-key-with-selection-001-expected.txt:
- platform/win/editing/inserting/return-key-with-selection-002-expected.txt:
- platform/win/editing/inserting/return-key-with-selection-003-expected.txt:
- platform/win/editing/style/block-styles-007-expected.txt:
- platform/win/editing/style/smoosh-styles-001-expected.txt:
- platform/win/editing/style/smoosh-styles-003-expected.txt:
- platform/win/editing/style/style-3998892-fix-expected.txt:
- platform/win/editing/style/style-boundary-001-expected.txt:
- platform/win/editing/style/style-boundary-002-expected.txt:
- platform/win/editing/style/style-boundary-003-expected.txt:
- platform/win/editing/style/style-boundary-004-expected.txt:
- platform/win/editing/style/style-boundary-005-expected.txt:
- platform/win/editing/unsupported-content/list-delete-001-expected.txt:
- platform/win/editing/unsupported-content/list-delete-003-expected.txt:
- platform/win/editing/unsupported-content/list-type-after-expected.txt:
- platform/win/editing/unsupported-content/list-type-before-expected.txt:
- platform/win/editing/unsupported-content/table-delete-002-expected.txt:
- platform/win/editing/unsupported-content/table-type-after-expected.txt:
- platform/win/editing/unsupported-content/table-type-before-expected.txt:
- 7:49 AM Changeset in webkit [283549] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Move tryBreaking*Run logic to standalone functions
https://bugs.webkit.org/show_bug.cgi?id=231198
Reviewed by Antti Koivisto.
InlineContentBreaker::processOverflowingContentWithText is getting way to long and while I love keeping logic like this local, the upcoming WordBreak::BreakWord functionality
makes this function body overlap multiple pages.
- layout/formattingContexts/inline/InlineContentBreaker.cpp:
(WebCore::Layout::findTrailingRunIndex):
(WebCore::Layout::isWrappableRun):
(WebCore::Layout::InlineContentBreaker::tryBreakingOverflowingRun const):
(WebCore::Layout::InlineContentBreaker::tryBreakingPreviousNonOverflowingRuns const):
(WebCore::Layout::InlineContentBreaker::tryBreakingNextOverflowingRuns const):
(WebCore::Layout::InlineContentBreaker::processOverflowingContentWithText const):
(): Deleted.
- layout/formattingContexts/inline/InlineContentBreaker.h:
- 6:57 AM Changeset in webkit [283548] by
-
- 15 edits2 deletes in trunk/Source/WebCore
[GTK][WPE] REGRESSION: Async scrolling jumps to the top of the page until keyboard-initiated paging
https://bugs.webkit.org/show_bug.cgi?id=230953
Reviewed by Martin Robinson.
Update the non-Mac/iOS async scrolling path to work correctly after the
scrolling refactor. Trying to summarise, this implements
ScrollingEffectsController in ScrollingTreeScrollingNodeDelegateNicosia
and moves smooth and kinetic scrolling animations to
ScrollingEffectsController, to be shared by both sync and async paths.
No new tests, covered by existing tests (hopefully).
- PlatformPlayStation.cmake:
- SourcesGTK.txt:
- SourcesWPE.txt:
- page/scrolling/ScrollingTreeScrollingNode.h:
- page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.cpp:
(WebCore::ScrollingTreeFrameScrollingNodeNicosia::commitStateBeforeChildren):
(WebCore::ScrollingTreeFrameScrollingNodeNicosia::commitStateAfterChildren):
- page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.cpp:
(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::commitStateAfterChildren):
- page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.cpp:
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::ScrollingTreeScrollingNodeDelegateNicosia):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::updateFromStateNode):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::updateVisibleLengths):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::handleWheelEvent):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::stopScrollAnimations):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::animationTimerFired):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::createTimer):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::startAnimationCallback):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::stopAnimationCallback):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::allowsHorizontalScrolling const):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::allowsVerticalScrolling const):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::immediateScrollBy):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::adjustScrollPositionToBoundsIfNecessary):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::scrollOffset const):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::willStartScrollSnapAnimation):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::didStopScrollSnapAnimation):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::pageScaleFactor const):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::scrollExtents const):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::resetCurrentPosition): Deleted.
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::ensureScrollAnimationKinetic): Deleted.
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::ensureScrollAnimationSmooth): Deleted.
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::pageScaleFactor): Deleted.
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::scrollAnimationDidUpdate): Deleted.
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::scrollAnimationDidEnd): Deleted.
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::scrollExtentsForAnimation): Deleted.
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::startTimerIfNecessary): Deleted.
- page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.h:
- platform/ScrollAnimationKinetic.h:
- platform/ScrollAnimationSmooth.h:
- platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::retargetRunningAnimation):
(WebCore::ScrollAnimator::handleWheelEvent):
(WebCore::ScrollAnimator::scrollAnimationEnabled const):
- platform/ScrollAnimator.h:
- platform/ScrollingEffectsController.cpp:
(WebCore::ScrollingEffectsController::retargetAnimatedScroll):
(WebCore::ScrollingEffectsController::processWheelEventForKineticScrolling):
(WebCore::ScrollingEffectsController::handleWheelEvent):
(WebCore::ScrollingEffectsController::regargetAnimatedScroll): Deleted.
- platform/ScrollingEffectsController.h:
(WebCore::ScrollingEffectsControllerClient::scrollAnimationEnabled const):
- platform/generic/ScrollAnimatorGeneric.cpp: Removed.
(WebCore::ScrollAnimator::create): Deleted.
(WebCore::ScrollAnimatorGeneric::ScrollAnimatorGeneric): Deleted.
(WebCore::ScrollAnimatorGeneric::handleWheelEvent): Deleted.
- platform/generic/ScrollAnimatorGeneric.h: Removed.
(): Deleted.
- 6:54 AM Changeset in webkit [283547] by
-
- 15 edits in trunk/Source/WebCore
[LFC][Integration] Split BoxIterator into a base class and LeafBoxIterator
https://bugs.webkit.org/show_bug.cgi?id=231229
Reviewed by Alan Bujtas.
LeafBoxIterator contains function for traversing non-inline boxes.
BoxIterator becomes a non-instantiated base class.
This is in preparation for adding InlineBoxIterator.
- dom/Position.cpp:
(WebCore::Position::inlineRunAndOffset const):
- editing/InlineRunAndOffset.h:
- editing/RenderedPosition.cpp:
(WebCore::RenderedPosition::RenderedPosition):
(WebCore::RenderedPosition::previousLeafOnLine const):
(WebCore::RenderedPosition::nextLeafOnLine const):
- editing/RenderedPosition.h:
- editing/VisibleUnits.cpp:
(WebCore::isTextOrLineBreakRun):
(WebCore::previousTextOrLineBreakRun):
(WebCore::nextTextOrLineBreakRun):
(WebCore::startTextOrLineBreakRun):
(WebCore::endTextOrLineBreakRun):
(WebCore::logicallyPreviousRun):
(WebCore::logicallyNextRun):
(WebCore::visualWordPosition):
- layout/integration/InlineIteratorBox.cpp:
(WebCore::InlineIterator::Box::nextOnLine const):
(WebCore::InlineIterator::Box::previousOnLine const):
(WebCore::InlineIterator::Box::nextOnLineIgnoringLineBreak const):
(WebCore::InlineIterator::Box::previousOnLineIgnoringLineBreak const):
(WebCore::InlineIterator::LeafBoxIterator::LeafBoxIterator):
(WebCore::InlineIterator::LeafBoxIterator::traverseNextOnLine):
(WebCore::InlineIterator::LeafBoxIterator::traversePreviousOnLine):
(WebCore::InlineIterator::LeafBoxIterator::traverseNextOnLineIgnoringLineBreak):
(WebCore::InlineIterator::LeafBoxIterator::traversePreviousOnLineIgnoringLineBreak):
(WebCore::InlineIterator::LeafBoxIterator::traverseNextOnLineInLogicalOrder):
(WebCore::InlineIterator::LeafBoxIterator::traversePreviousOnLineInLogicalOrder):
(WebCore::InlineIterator::boxFor):
(WebCore::InlineIterator::BoxIterator::traverseNextOnLine): Deleted.
(WebCore::InlineIterator::BoxIterator::traversePreviousOnLine): Deleted.
(WebCore::InlineIterator::BoxIterator::traverseNextOnLineIgnoringLineBreak): Deleted.
(WebCore::InlineIterator::BoxIterator::traversePreviousOnLineIgnoringLineBreak): Deleted.
(WebCore::InlineIterator::BoxIterator::traverseNextOnLineInLogicalOrder): Deleted.
(WebCore::InlineIterator::BoxIterator::traversePreviousOnLineInLogicalOrder): Deleted.
- layout/integration/InlineIteratorBox.h:
(WebCore::InlineIterator::BoxIterator::BoxIterator):
- layout/integration/InlineIteratorLine.cpp:
(WebCore::InlineIterator::Line::firstRun const):
(WebCore::InlineIterator::Line::lastRun const):
(WebCore::InlineIterator::Line::logicalStartRun const):
(WebCore::InlineIterator::Line::logicalEndRun const):
(WebCore::InlineIterator::Line::logicalStartRunWithNode const):
(WebCore::InlineIterator::Line::logicalEndRunWithNode const):
(WebCore::InlineIterator::Line::closestRunForPoint const):
(WebCore::InlineIterator::Line::closestRunForLogicalLeftPosition const):
(WebCore::InlineIterator::Line::firstSelectedBox const):
(WebCore::InlineIterator::Line::lastSelectedBox const):
- layout/integration/InlineIteratorLine.h:
- layout/integration/InlineIteratorTextBox.cpp:
(WebCore::InlineIterator::TextBoxIterator::TextBoxIterator):
- layout/integration/InlineIteratorTextBox.h:
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::boxFor const):
- layout/integration/LayoutIntegrationLineLayout.h:
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::positionForPointWithInlineChildren):
- 5:10 AM Changeset in webkit [283546] by
-
- 5 edits1 delete in trunk
[css-position-sticky] scrollIntoView should not take into account sticky positioning offsets
https://bugs.webkit.org/show_bug.cgi?id=230689
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-position/sticky/position-sticky-scrollIntoView-expected.txt: Update results to show newly
passing test.
Source/WebCore:
When calculating the location for absolute anchors rectangles,
do not take into account sticky offsets. This means that when
scrolling to elements that are stickily positioned, their static
positions will be targeted.
No new tests. This is covered by an existing WPT test.
- rendering/RenderElement.cpp:
(WebCore::RenderElement::getLeadingCorner const): Do not take into account sticky position when calculating this point.
(WebCore::RenderElement::getTrailingCorner const): Ditto.
LayoutTests:
- platform/ios-wk2/imported/w3c/web-platform-tests/css/css-position/sticky/position-sticky-scrollIntoView-expected.txt: Removed.
- 4:48 AM Changeset in webkit [283545] by
-
- 7 edits in trunk/LayoutTests
Removing no longer needed flaky expectations from WebRTC tests
https://bugs.webkit.org/show_bug.cgi?id=231223
Unreviewed.
Update expectations based on results.webkit.org results.
- TestExpectations:
- platform/ios-simulator-wk2/TestExpectations:
- platform/ios-wk2/TestExpectations:
- platform/ios/TestExpectations:
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 3:59 AM Changeset in webkit [283544] by
-
- 5 edits in trunk/Source/WebCore
Replace document.topDocument().securityOrigin() with document.topOrigin()
https://bugs.webkit.org/show_bug.cgi?id=231221
Reviewed by Youenn Fablet.
No behaviour change, Document::topOrigin() is defined as:
SecurityOrigin& topOrigin() const final { return topDocument().securityOrigin(); }
- dom/BroadcastChannel.cpp:
(WebCore::shouldPartitionOrigin):
- dom/DocumentStorageAccess.cpp:
(WebCore::DocumentStorageAccess::hasStorageAccessQuickCheck):
(WebCore::DocumentStorageAccess::hasStorageAccess):
(WebCore::DocumentStorageAccess::requestStorageAccessQuickCheck):
(WebCore::DocumentStorageAccess::requestStorageAccess):
- dom/Element.cpp:
(WebCore::Element::focus):
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
- 2:54 AM Changeset in webkit [283543] by
-
- 3 edits in trunk/Source/WebCore
Clean up shouldAutofocus in HTMLFormControlElement.cpp
https://bugs.webkit.org/show_bug.cgi?id=231220
Reviewed by Youenn Fablet.
No behaviour change.
Minor cleanups:
- Make shouldAutofocus take
const HTMLFormControlElement&
instead ofHTMLFormControlElement*
- Clean up repeated calls to element->document()
- Use topOrigin() instead topDocument().securityOrigin() (same thing, but shorter)
- html/HTMLFormControlElement.cpp:
(WebCore::shouldAutofocus):
(WebCore::HTMLFormControlElement::didAttachRenderers):
- html/HTMLFormControlElement.h:
(WebCore::HTMLFormControlElement::hasAutofocused const):
(WebCore::HTMLFormControlElement::hasAutofocused): Deleted.
- 1:36 AM Changeset in webkit [283542] by
-
- 4 edits in trunk/LayoutTests
Remove unnecessary autofocus attribute dependencies in tests
https://bugs.webkit.org/show_bug.cgi?id=231219
Reviewed by Antti Koivisto.
The new autofocus behaviour timing happens asynchronously with the page "update rendering" steps.
Some tests are using it solely to focus synchronously on elements. We should just use HTMLElement.focus()
there so they don't rely on the current synchronous timing of autofocus.
- fast/forms/number/number-placeholder-with-unacceptable-value-expected.html:
- fast/forms/number/number-placeholder-with-unacceptable-value.html:
- fast/forms/range/range-type-change-onchange.html:
- 12:20 AM Changeset in webkit [283541] by
-
- 2 edits in trunk/Source/WTF
Enable 2D canvas color space support on Apple platforms
https://bugs.webkit.org/show_bug.cgi?id=231145
<rdar://82948394>
Reviewed by Simon Fraser.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- 12:08 AM Changeset in webkit [283540] by
-
- 2 edits in trunk/Source/WebCore
Negative integers in @font-palette-values are invalid
https://bugs.webkit.org/show_bug.cgi?id=230788
<rdar://problem/83528806>
Unreviewed post-review cleanup.
- css/parser/CSSParserImpl.cpp:
(WebCore::CSSParserImpl::consumeFontPaletteValuesRule):
- 12:04 AM Changeset in webkit [283539] by
-
- 5 edits in trunk/LayoutTests/imported/w3c
Test a font palette identifier of just "--"
https://bugs.webkit.org/show_bug.cgi?id=230975
<rdar://problem/83681811>
Reviewed by Tim Horton.
It's a valid <dashed-ident>:
"The <dashed-ident> production is a <custom-ident>, with all the case-sensitivity
that implies, with the additional restriction that it must start with two dashes
(U+002D HYPHEN-MINUS)."
This is being upstreamed at https://github.com/web-platform-tests/wpt/pull/30963.
- web-platform-tests/css/css-fonts/parsing/font-palette-valid-expected.txt:
- web-platform-tests/css/css-fonts/parsing/font-palette-valid.html:
- web-platform-tests/css/css-fonts/parsing/font-palette-values-valid-expected.txt:
- web-platform-tests/css/css-fonts/parsing/font-palette-values-valid.html:
Oct 4, 2021:
- 11:45 PM Changeset in webkit [283538] by
-
- 2 edits in trunk/LayoutTests
Update ios-wk2 test expectations for select-validity.html WPT
https://bugs.webkit.org/show_bug.cgi?id=231217
Unreviewed test gardening.
- platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-select-element/select-validity-expected.txt:
- 10:10 PM Changeset in webkit [283537] by
-
- 14 edits in trunk
Stop parsing context-sensitive colors in override-color
https://bugs.webkit.org/show_bug.cgi?id=231052
<rdar://problem/83746258>
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
These are being upstreamed in https://github.com/web-platform-tests/wpt/pull/31078.
- web-platform-tests/css/css-fonts/parsing/font-palette-values-invalid-expected.txt:
- web-platform-tests/css/css-fonts/parsing/font-palette-values-invalid.html:
- web-platform-tests/css/css-fonts/parsing/font-palette-values-valid-expected.txt:
- web-platform-tests/css/css-fonts/parsing/font-palette-values-valid.html:
Source/WebCore:
The spec has split the <color> production into two halves:
absolute colors and non-absolute colors. This patch adds a new
enum argument to consumeColor() to distinguish which production
you want.
Tests: imported/w3c/web-platform-tests/css/css-fonts/parsing/font-palette-values-invalid.html
imported/w3c/web-platform-tests/css/css-fonts/parsing/font-palette-values-valid.html
- css/StyleColor.cpp:
(WebCore::StyleColor::colorFromKeyword):
(WebCore::isVGAPaletteColor):
(WebCore::isNonVGANamedColor):
(WebCore::StyleColor::isAbsoluteColorKeyword):
(WebCore::StyleColor::isSystemColorKeyword):
(WebCore::StyleColor::isColorKeyword):
(WebCore::StyleColor::isSystemColor): Deleted.
- css/StyleColor.h:
(WebCore::StyleColor::isColorKeyword):
- css/parser/CSSParser.cpp:
(WebCore::CSSParser::parseSystemColor):
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeOverrideColorsDescriptor):
- css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::consumeOriginColor):
(WebCore::CSSPropertyParserHelpers::consumeColorWorkerSafe):
(WebCore::CSSPropertyParserHelpers::consumeColor):
- css/parser/CSSPropertyParserHelpers.h:
(WebCore::CSSPropertyParserHelpers::consumeColor):
- platform/ColorData.gperf:
- testing/Internals.cpp:
(WebCore::Internals::systemColorForCSSValue):
- 8:52 PM Changeset in webkit [283536] by
-
- 13 edits in trunk
Remove the "none" value from font-palette
https://bugs.webkit.org/show_bug.cgi?id=231050
<rdar://problem/83745650>
Reviewed by Wenson Hsieh.
LayoutTests/imported/w3c:
This is being upstreamed at https://github.com/web-platform-tests/wpt/pull/31077.
- web-platform-tests/css/css-fonts/parsing/font-palette-invalid.html:
- web-platform-tests/css/css-fonts/parsing/font-palette-valid.html:
Source/WebCore:
The spec changed in
https://github.com/w3c/csswg-drafts/commit/b7103b0269cde51914af02f5ca1e5582d44e7b70.
Luckily, we never implemented this anyway, so this is just a parsing change.
Tests: imported/w3c/web-platform-tests/css/css-fonts/parsing/font-palette-invalid.html
imported/w3c/web-platform-tests/css/css-fonts/parsing/font-palette-valid.html
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::fontPaletteFromStyle):
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeFontPalette):
- platform/graphics/FontPalette.h:
(WebCore::operator<<):
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::addAttributesForFontPalettes):
- style/StyleBuilderConverter.h:
(WebCore::Style::BuilderConverter::convertFontPalette):
- 8:39 PM Changeset in webkit [283535] by
-
- 4 edits in trunk/Source/WebCore
[LFC][IFC] Disable simplified text measuring codepath when first style line has related unique values
https://bugs.webkit.org/show_bug.cgi?id=231177
Reviewed by Antti Koivisto.
- layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::inlineItemWidth const):
- layout/integration/LayoutIntegrationBoxTree.cpp:
- rendering/RenderText.cpp:
(WebCore::RenderText::computeCanUseSimplifiedTextMeasuring const):
- 8:37 PM Changeset in webkit [283534] by
-
- 91 edits2 moves in trunk/LayoutTests/imported/w3c
Test gardening for font-palette WPT tests
https://bugs.webkit.org/show_bug.cgi?id=231208
Unreviewed.
Update the WPT tests according to
https://github.com/web-platform-tests/wpt/pull/31044.
- web-platform-tests/css/css-fonts/animations/font-palette-animation-2-expected.html:
- web-platform-tests/css/css-fonts/animations/font-palette-animation-2.html:
- web-platform-tests/css/css-fonts/animations/font-palette-animation-3-expected-mismatch.html:
- web-platform-tests/css/css-fonts/animations/font-palette-animation-3.html:
- web-platform-tests/css/css-fonts/animations/font-palette-animation-expected.html:
- web-platform-tests/css/css-fonts/animations/font-palette-animation.html:
- web-platform-tests/css/css-fonts/font-palette-10-expected.html:
- web-platform-tests/css/css-fonts/font-palette-10.html:
- web-platform-tests/css/css-fonts/font-palette-11-expected.html:
- web-platform-tests/css/css-fonts/font-palette-11.html:
- web-platform-tests/css/css-fonts/font-palette-12-expected.html:
- web-platform-tests/css/css-fonts/font-palette-12.html:
- web-platform-tests/css/css-fonts/font-palette-13-expected-mismatch.html:
- web-platform-tests/css/css-fonts/font-palette-13.html:
- web-platform-tests/css/css-fonts/font-palette-14-expected.html:
- web-platform-tests/css/css-fonts/font-palette-14.html:
- web-platform-tests/css/css-fonts/font-palette-15-expected.html:
- web-platform-tests/css/css-fonts/font-palette-15.html:
- web-platform-tests/css/css-fonts/font-palette-16-expected-mismatch.html:
- web-platform-tests/css/css-fonts/font-palette-16.html:
- web-platform-tests/css/css-fonts/font-palette-17-expected-mismatch.html:
- web-platform-tests/css/css-fonts/font-palette-17.html:
- web-platform-tests/css/css-fonts/font-palette-18-expected-mismatch.html:
- web-platform-tests/css/css-fonts/font-palette-18.html:
- web-platform-tests/css/css-fonts/font-palette-19-expected-mismatch.html:
- web-platform-tests/css/css-fonts/font-palette-19.html:
- web-platform-tests/css/css-fonts/font-palette-2-expected.html:
- web-platform-tests/css/css-fonts/font-palette-2.html:
- web-platform-tests/css/css-fonts/font-palette-20-expected.html:
- web-platform-tests/css/css-fonts/font-palette-20.html:
- web-platform-tests/css/css-fonts/font-palette-21-expected.html:
- web-platform-tests/css/css-fonts/font-palette-21.html:
- web-platform-tests/css/css-fonts/font-palette-22-expected-mismatch.html:
- web-platform-tests/css/css-fonts/font-palette-22.html:
- web-platform-tests/css/css-fonts/font-palette-23-expected.html:
- web-platform-tests/css/css-fonts/font-palette-23.html:
- web-platform-tests/css/css-fonts/font-palette-24-expected.html:
- web-platform-tests/css/css-fonts/font-palette-24.html:
- web-platform-tests/css/css-fonts/font-palette-25-expected.html:
- web-platform-tests/css/css-fonts/font-palette-25.html:
- web-platform-tests/css/css-fonts/font-palette-26-expected.html:
- web-platform-tests/css/css-fonts/font-palette-26.html:
- web-platform-tests/css/css-fonts/font-palette-27-expected.html:
- web-platform-tests/css/css-fonts/font-palette-27.html:
- web-platform-tests/css/css-fonts/font-palette-28-expected.html:
- web-platform-tests/css/css-fonts/font-palette-28.html:
- web-platform-tests/css/css-fonts/font-palette-29-expected.html:
- web-platform-tests/css/css-fonts/font-palette-29.html:
- web-platform-tests/css/css-fonts/font-palette-3-expected-mismatch.html:
- web-platform-tests/css/css-fonts/font-palette-3.html:
- web-platform-tests/css/css-fonts/font-palette-30-expected.html:
- web-platform-tests/css/css-fonts/font-palette-30.html:
- web-platform-tests/css/css-fonts/font-palette-31-expected.html:
- web-platform-tests/css/css-fonts/font-palette-31.html:
- web-platform-tests/css/css-fonts/font-palette-4-expected-mismatch.html:
- web-platform-tests/css/css-fonts/font-palette-4.html:
- web-platform-tests/css/css-fonts/font-palette-5-expected-mismatch.html:
- web-platform-tests/css/css-fonts/font-palette-5.html:
- web-platform-tests/css/css-fonts/font-palette-6-expected-mismatch.html:
- web-platform-tests/css/css-fonts/font-palette-6.html:
- web-platform-tests/css/css-fonts/font-palette-7-expected-mismatch.html:
- web-platform-tests/css/css-fonts/font-palette-7.html:
- web-platform-tests/css/css-fonts/font-palette-8-expected-mismatch.html:
- web-platform-tests/css/css-fonts/font-palette-8.html:
- web-platform-tests/css/css-fonts/font-palette-9-expected-mismatch.html:
- web-platform-tests/css/css-fonts/font-palette-9.html:
- web-platform-tests/css/css-fonts/font-palette-add-2-expected.html:
- web-platform-tests/css/css-fonts/font-palette-add-2.html:
- web-platform-tests/css/css-fonts/font-palette-add-expected-mismatch.html:
- web-platform-tests/css/css-fonts/font-palette-add.html:
- web-platform-tests/css/css-fonts/font-palette-empty-font-family-expected-mismatch.html:
- web-platform-tests/css/css-fonts/font-palette-empty-font-family.html:
- web-platform-tests/css/css-fonts/font-palette-expected.html:
- web-platform-tests/css/css-fonts/font-palette-modify-2-expected.html:
- web-platform-tests/css/css-fonts/font-palette-modify-2.html:
- web-platform-tests/css/css-fonts/font-palette-modify-expected-mismatch.html:
- web-platform-tests/css/css-fonts/font-palette-modify.html:
- web-platform-tests/css/css-fonts/font-palette-remove-2-expected.html:
- web-platform-tests/css/css-fonts/font-palette-remove-2.html:
- web-platform-tests/css/css-fonts/font-palette-remove-expected-mismatch.html:
- web-platform-tests/css/css-fonts/font-palette-remove.html:
- web-platform-tests/css/css-fonts/font-palette.html:
- web-platform-tests/css/css-fonts/palette-values-rule-add-2-expected.html:
- web-platform-tests/css/css-fonts/palette-values-rule-add-2.html:
- web-platform-tests/css/css-fonts/palette-values-rule-add-expected-mismatch.html:
- web-platform-tests/css/css-fonts/palette-values-rule-add.html:
- web-platform-tests/css/css-fonts/palette-values-rule-delete-2-expected.html:
- web-platform-tests/css/css-fonts/palette-values-rule-delete-2.html:
- web-platform-tests/css/css-fonts/palette-values-rule-delete-expected-mismatch.html:
- web-platform-tests/css/css-fonts/palette-values-rule-delete.html:
- web-platform-tests/css/css-fonts/resources/COLR-palettes-test-font-no-light-dark.ttf: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/resources/Ahem-COLR-palettes-no-light-dark.ttf.
- web-platform-tests/css/css-fonts/resources/COLR-palettes-test-font.ttf: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/resources/Ahem-COLR-palettes.ttf.
- 7:52 PM Changeset in webkit [283533] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Hyphenation should not be applied with 'word-break: break-all'
https://bugs.webkit.org/show_bug.cgi?id=231189
Reviewed by Antti Koivisto.
"break-all: Breaking is allowed within “words”: specifically...Hyphenation is not applied."
https://drafts.csswg.org/css-text-3/#word-break-property.
- layout/formattingContexts/inline/InlineContentBreaker.cpp:
(WebCore::Layout::InlineContentBreaker::wordBreakBehavior const):
- 7:34 PM Changeset in webkit [283532] by
-
- 1 copy in tags/Safari-613.1.3.1
Tag Safari-613.1.3.1.
- 7:32 PM Changeset in webkit [283531] by
-
- 19 edits2 moves4 adds in trunk
Choose an appropriate color space when converting an SVG image into a NativeImage for canvas drawImage
https://bugs.webkit.org/show_bug.cgi?id=231062
<rdar://problem/83752451>
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
Add a test for drawImage() with an SVG image that has sRGB and Display
P3 colors.
Not adding tests for patterns pointing to SVG images for now, since
WebKit currently always taints the canvas in that case, or for
ImageBitmaps wrapping SVG images, since we always flatten them to sRGB
(and we don't track what content is inside the SVG to make a better
decision about what color space ImageBuffer to use).
- web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-display-p3-drawImage.https-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-display-p3-drawImage-expected.txt.
- web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-display-p3-drawImage.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-display-p3-drawImage.html.
- web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-display-p3.js:
- web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/resources/Display-P3-0.7333-0-0.svg: Added.
- web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/resources/Display-P3-1-0-0.svg: Added.
- web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/resources/sRGB-BB0000.svg: Added.
- web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/resources/sRGB-FF0000.svg: Added.
Source/WebCore:
When GPUP canvas is enabled, drawImage() with an SVG image is handled
by drawing into a NativeImage and then sending that to the GPUP. We
need to choose a color space for the NativeImage's ImageBuffer that
matches the canvas.
Once full SVG rendering is supported by the GPU process, we can undo
this code, as we'll no longer be using a NativeImage.
Test: imported/w3c/web-platform-tests/html/canvas/element/manual/wide-gamut-canvas/canvas-display-p3-drawImage.https.html
- html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::drawImage):
(WebCore::drawImageToContext):
(WebCore::CanvasRenderingContext2DBase::fullCanvasCompositedDrawImage):
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawImageForCanvas):
- platform/graphics/GraphicsContext.h:
- platform/graphics/Image.cpp:
(WebCore::Image::drawForCanvas):
- platform/graphics/Image.h:
- platform/graphics/MediaPlayer.h:
- svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::drawForCanvasForContainer):
(WebCore::SVGImage::drawForContainer):
(WebCore::SVGImage::drawForContainerInternal):
(WebCore::SVGImage::nativeImage):
(WebCore::SVGImage::drawForCanvas):
(WebCore::SVGImage::draw):
(WebCore::SVGImage::drawInternal):
(WebCore::SVGImage::drawAsNativeImage):
- svg/graphics/SVGImage.h:
- svg/graphics/SVGImageForContainer.cpp:
(WebCore::SVGImageForContainer::drawForCanvas):
- svg/graphics/SVGImageForContainer.h:
LayoutTests:
- TestExpectations:
- platform/ios-14/TestExpectations:
- platform/ios/TestExpectations:
- platform/mac/TestExpectations:
- 7:32 PM Changeset in webkit [283530] by
-
- 8 edits in branches/safari-613.1.3-branch/Source
Versioning.
WebKit-7613.1.3.1
- 6:22 PM Changeset in webkit [283529] by
-
- 2 edits in trunk/LayoutTests
Update test expectations for canvas color space tests in simulator
https://bugs.webkit.org/show_bug.cgi?id=231204
<rdar://problem/83865405>
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 5:52 PM Changeset in webkit [283528] by
-
- 2 edits in trunk/Tools
[ews-build.webkit.org] check-patch-relevance can get stuck
https://bugs.webkit.org/show_bug.cgi?id=231190
<rdar://problem/77327168>
Reviewed by Alexey Proskuryakov.
- CISupport/ews-build/steps.py:
(CheckPatchRelevance): Compute all regexes in advance.
(CheckPatchRelevance._patch_is_relevant): Rely on pre-computed regexes,
limit the number of characters to check in a line to 250 and include a
hard-timeout so that a patch can never get EWS stuck.
- 5:33 PM Changeset in webkit [283527] by
-
- 4 edits in trunk/Source/JavaScriptCore
Display return values in nicer way in the jsc REPL and add a prettyPrint function
https://bugs.webkit.org/show_bug.cgi?id=230931
<rdar://problem/83698777>
Reviewed by Tadeu Zagallo.
Currently, print(1), print("1"), and print([1]) all print to stdout
simply as "1" (without the quotes). Same for values when running the
REPL. This isn't super helpful. Let's print quotes for strings, and
brackets for arrays. This patch adds a prettyPrint function to do
that, since we have a lot of tests that depend on the old print behavior.
This patch also makes values printed in the REPL the new pretty style.
- jsc.cpp:
(toCString):
(printInternal):
(JSC_DEFINE_HOST_FUNCTION):
(runInteractive):
(cStringFromViewWithString): Deleted.
- runtime/JSCJSValue.cpp:
(JSC::JSValue::toWTFStringForConsole const):
- runtime/JSCJSValue.h:
- 4:50 PM Changeset in webkit [283526] by
-
- 10 edits in trunk/Source/WebCore
[Build-time perf] Forward-declare more things in ScriptExecutionContext.h
https://bugs.webkit.org/show_bug.cgi?id=231182
Reviewed by Tim Horton.
Forward declare, rather than include, more classes and enums in ScriptExecutionContext.h.
Any inline definition in the style of
RefPtr<Type> type() { return nullptr; }
will cause a compilation
error if the Type is not fully defined, so these definitions should be moved the the .cpp file.
Removing all the #includes and replacing them with forward-declarations causes downstream failures,
so add more forward-declarations and move definitions to the implementation file wherever possible.
- Modules/permissions/Permissions.cpp:
- Modules/permissions/Permissions.h:
- Modules/storage/DummyStorageProvider.h:
- dom/Document.cpp:
- dom/Document.h:
- dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::permissionController):
(WebCore::ScriptExecutionContext::createRTCDataChannelRemoteHandlerConnection):
- dom/ScriptExecutionContext.h:
(WebCore::ScriptExecutionContext::permissionController): Deleted.
(WebCore::ScriptExecutionContext::createRTCDataChannelRemoteHandlerConnection): Deleted.
- workers/WorkerLoaderProxy.h:
- workers/WorkerGlobalScope.h:
- 4:44 PM Changeset in webkit [283525] by
-
- 18 edits15 adds8 deletes in trunk/LayoutTests
Re-import html/semantics/forms/ WPT
https://bugs.webkit.org/show_bug.cgi?id=231168
Reviewed by Youenn Fablet.
https://github.com/web-platform-tests/wpt/commit/dc29fc4ff101c1c216494a88a1f8a31a0f21d0aa
LayoutTests/imported/w3c:
- resources/import-expectations.json:
- resources/resource-files.json:
- web-platform-tests/html/semantics/forms/autofocus/autofocus-on-stable-document-expected.txt: Removed.
- web-platform-tests/html/semantics/forms/autofocus/autofocus-on-stable-document.html: Removed.
- web-platform-tests/html/semantics/forms/autofocus/first-reconnected-expected.txt: Removed.
- web-platform-tests/html/semantics/forms/autofocus/first-reconnected.html: Removed.
- web-platform-tests/html/semantics/forms/autofocus/first-when-later-but-before-expected.txt: Removed.
- web-platform-tests/html/semantics/forms/autofocus/first-when-later-but-before.html: Removed.
- web-platform-tests/html/semantics/forms/autofocus/first-when-later-expected.txt: Removed.
- web-platform-tests/html/semantics/forms/autofocus/first-when-later.html: Removed.
- web-platform-tests/html/semantics/forms/autofocus/first-expected.txt: Removed.
- web-platform-tests/html/semantics/forms/autofocus/first.html: Removed.
- web-platform-tests/html/semantics/forms/autofocus/focusable-area-in-top-document-expected.txt: Removed.
- web-platform-tests/html/semantics/forms/autofocus/focusable-area-in-top-document.html: Removed.
- web-platform-tests/html/semantics/forms/autofocus/no-cross-origin-autofocus-expected.txt: Removed.
- web-platform-tests/html/semantics/forms/autofocus/no-cross-origin-autofocus.html: Removed.
- web-platform-tests/html/semantics/forms/autofocus/no-sandboxed-automatic-features-expected.txt: Removed.
- web-platform-tests/html/semantics/forms/autofocus/no-sandboxed-automatic-features.html: Removed.
- web-platform-tests/html/semantics/forms/autofocus/not-on-first-task-expected.txt: Removed.
- web-platform-tests/html/semantics/forms/autofocus/not-on-first-task.html: Removed.
- web-platform-tests/html/semantics/forms/autofocus/queue-non-focusable-expected.txt: Removed.
- web-platform-tests/html/semantics/forms/autofocus/queue-non-focusable.html: Removed.
- web-platform-tests/html/semantics/forms/autofocus/resources/child-autofocus.html: Removed.
- web-platform-tests/html/semantics/forms/autofocus/resources/erase-first.css: Removed.
- web-platform-tests/html/semantics/forms/autofocus/resources/frame-with-autofocus-element.html: Removed.
- web-platform-tests/html/semantics/forms/autofocus/resources/moving-autofocus-to-parent.html: Removed.
- web-platform-tests/html/semantics/forms/autofocus/resources/utils.js: Removed.
- web-platform-tests/html/semantics/forms/autofocus/resources/w3c-import.log: Removed.
- web-platform-tests/html/semantics/forms/autofocus/skip-another-top-level-browsing-context-expected.txt: Removed.
- web-platform-tests/html/semantics/forms/autofocus/skip-another-top-level-browsing-context.html: Removed.
- web-platform-tests/html/semantics/forms/autofocus/skip-document-with-fragment-expected.txt: Removed.
- web-platform-tests/html/semantics/forms/autofocus/skip-document-with-fragment.html: Removed.
- web-platform-tests/html/semantics/forms/autofocus/skip-non-focusable-expected.txt: Removed.
- web-platform-tests/html/semantics/forms/autofocus/skip-non-focusable.html: Removed.
- web-platform-tests/html/semantics/forms/autofocus/skip-not-fully-active-expected.txt: Removed.
- web-platform-tests/html/semantics/forms/autofocus/skip-not-fully-active.html: Removed.
- web-platform-tests/html/semantics/forms/autofocus/spin-by-blocking-style-sheet-expected.txt: Removed.
- web-platform-tests/html/semantics/forms/autofocus/spin-by-blocking-style-sheet.html: Removed.
- web-platform-tests/html/semantics/forms/autofocus/supported-elements-expected.txt: Removed.
- web-platform-tests/html/semantics/forms/autofocus/supported-elements.html: Removed.
- web-platform-tests/html/semantics/forms/autofocus/update-the-rendering-expected.txt: Removed.
- web-platform-tests/html/semantics/forms/autofocus/update-the-rendering.html: Removed.
- web-platform-tests/html/semantics/forms/autofocus/w3c-import.log: Removed.
- web-platform-tests/html/semantics/forms/introduction-1/contains.json: Removed.
- web-platform-tests/html/semantics/forms/introduction-1/w3c-import.log: Removed.
- web-platform-tests/html/semantics/forms/textfieldselection/select-event-expected.txt: Removed.
- web-platform-tests/html/semantics/forms/textfieldselection/select-event.html: Removed.
- web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setRangeText-expected.txt: Removed.
- web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setRangeText.html: Removed.
- web-platform-tests/html/semantics/forms/textfieldselection/w3c-import.log:
- web-platform-tests/html/semantics/forms/the-button-element/w3c-import.log:
- web-platform-tests/html/semantics/forms/the-button-element/active-onblur-expected.txt: Added.
- web-platform-tests/html/semantics/forms/the-button-element/active-onblur.html: Added.
- web-platform-tests/html/semantics/forms/the-button-element/button-submit-remove-jssubmit-expected.txt: Added.
- web-platform-tests/html/semantics/forms/the-button-element/button-submit-remove-jssubmit.html: Added.
- web-platform-tests/html/semantics/forms/the-form-element/form-requestsubmit-autofocus-expected.txt: Removed.
- web-platform-tests/html/semantics/forms/the-form-element/form-requestsubmit-autofocus.html: Removed.
- web-platform-tests/html/semantics/forms/the-input-element/w3c-import.log:
- web-platform-tests/html/semantics/forms/the-input-element/input-submit-remove-jssubmit-expected.txt: Added.
- web-platform-tests/html/semantics/forms/the-input-element/input-submit-remove-jssubmit.html: Added.
- web-platform-tests/html/semantics/forms/the-option-element/dynamic-content-change-rendering.html:
- web-platform-tests/html/semantics/forms/the-select-element/select-validity-expected.txt:
- web-platform-tests/html/semantics/forms/the-select-element/select-validity.html:
- web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-keyboard.tentative-expected.txt: Added.
- web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-keyboard.tentative.html: Added.
- web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-nested.tentative-expected.txt: Added.
- web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-nested.tentative.html: Added.
- web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-shadow-root-replacement.tentative-expected.txt: Added.
- web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-shadow-root-replacement.tentative.html: Added.
- web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-parts-structure.tentative-expected.txt:
- web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-parts-structure.tentative.html:
- web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-popup.tentative-expected.txt:
- web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-popup.tentative.html:
- web-platform-tests/html/semantics/forms/the-selectmenu-element/w3c-import.log:
- web-platform-tests/html/semantics/forms/the-textarea-element/w3c-import.log:
- web-platform-tests/html/semantics/forms/the-textarea-element/placeholder-white-space-notref.html: Added.
- web-platform-tests/html/semantics/forms/the-textarea-element/placeholder-white-space.tentative-expected.html: Added.
- web-platform-tests/html/semantics/forms/the-textarea-element/placeholder-white-space.tentative.html: Added.
LayoutTests:
- TestExpectations:
- tests-options.json:
- 4:37 PM Changeset in webkit [283524] by
-
- 16 edits in trunk/Source/WebCore
Use ScrollClamping in more places in scrolling code
https://bugs.webkit.org/show_bug.cgi?id=231140
Reviewed by Antti Koivisto.
Fold together two functions in ScrollingEffectsControllerClient with a ScrollClamping argument.
Also use ScrollClamping to replace bool constrainsScrollingToContentEdge() on ScrollableArea.
It's slightly annoying that ScrollClamping is a ScrollableArea state, but RenderMarquee has
no clamping by default.
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::reconcileScrollingState):
- page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h:
- page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::immediateScrollBy):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::immediateScrollByWithoutContentEdgeConstraints): Deleted.
- platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::adjustScrollPositionToBoundsIfNecessary):
(WebCore::ScrollAnimator::adjustScrollPositionIfNecessary const):
(WebCore::ScrollAnimator::immediateScrollBy):
(WebCore::ScrollAnimator::immediateScrollByWithoutContentEdgeConstraints): Deleted.
- platform/ScrollAnimator.h:
- platform/ScrollView.cpp:
(WebCore::ScrollView::adjustScrollPositionWithinRange const):
(WebCore::ScrollView::setScrollOffset):
- platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::ScrollableArea): Deleted.
- platform/ScrollableArea.h: Undo the use of bitfields here because the memory saving
is not worth the code complexity.
(WebCore::ScrollableArea::currentScrollBehaviorStatus):
(WebCore::ScrollableArea::setScrollBehaviorStatus):
(WebCore::ScrollableArea::scrollClamping const):
(WebCore::ScrollableArea::setScrollClamping):
(WebCore::ScrollableArea::verticalScrollElasticity const):
(WebCore::ScrollableArea::horizontalScrollElasticity const):
(WebCore::ScrollableArea::scrollbarOverlayStyle const):
(WebCore::ScrollableArea::currentScrollType const):
(WebCore::ScrollableArea::setCurrentScrollType):
(WebCore::ScrollableArea::constrainsScrollingToContentEdge const): Deleted.
(WebCore::ScrollableArea::setConstrainsScrollingToContentEdge): Deleted.
- platform/ScrollingEffectsController.cpp:
(WebCore::ScrollingEffectsController::scrollAnimationDidUpdate):
(WebCore::ScrollingEffectsController::scrollToOffsetForAnimation): Deleted.
- platform/ScrollingEffectsController.h:
- platform/mac/ScrollingEffectsController.mm:
(WebCore::ScrollingEffectsController::applyScrollDeltaWithStretching):
(WebCore::ScrollingEffectsController::updateRubberBandAnimatingState):
- rendering/RenderListBox.cpp:
(WebCore::RenderListBox::RenderListBox):
- rendering/RenderListBox.h: Minor rearrangement to optimize padding now that ScrollableArea is a little larger.
- rendering/RenderMarquee.cpp:
(WebCore::RenderMarquee::RenderMarquee):
- testing/Internals.cpp:
(WebCore::Internals::setScrollViewPosition):
- 4:23 PM Changeset in webkit [283523] by
-
- 10 edits1 copy1 delete in trunk/LayoutTests
Cleaning up expectations for iOS 15.
https://bugs.webkit.org/show_bug.cgi?id=230968
Unreviewed test gardening.
We conisder "platform/ios" to represent iOS 15 at this point, so we should not have created a
new directory for it in r283500. This also moves a baseline that was added in r283520.
- fast/forms/ios/accessory-bar-navigation-expected.txt:
- fast/forms/ios/focus-input-in-fixed-expected.txt:
- fast/forms/ios/focus-input-in-iframe-expected.txt:
- fast/forms/ios/focus-input-via-button-expected.txt:
- fast/forms/ios/focus-input-via-button-no-scaling-expected.txt:
- fast/forms/ios/focus-long-textarea-expected.txt:
- fast/forms/ios/zoom-after-input-tap-expected.txt:
- fast/forms/ios/zoom-after-input-tap-wide-input-expected.txt:
- platform/ios-14/TestExpectations:
- platform/ios-15/TestExpectations: Removed.
- platform/ios-15/fast/forms/ios/accessory-bar-navigation-expected.txt: Removed.
- platform/ios-15/fast/forms/ios/focus-input-in-fixed-expected.txt: Removed.
- platform/ios-15/fast/forms/ios/focus-input-in-iframe-expected.txt: Removed.
- platform/ios-15/fast/forms/ios/focus-input-via-button-expected.txt: Removed.
- platform/ios-15/fast/forms/ios/focus-input-via-button-no-scaling-expected.txt: Removed.
- platform/ios-15/fast/forms/ios/focus-long-textarea-expected.txt: Removed.
- platform/ios-15/fast/forms/ios/zoom-after-input-tap-expected.txt: Removed.
- platform/ios-15/fast/forms/ios/zoom-after-input-tap-wide-input-expected.txt: Removed.
- platform/ios/TestExpectations:
- platform/ios/fast/events/ios/keydown-keyup-keypress-keys-in-non-editable-using-chinese-keyboard-expected.txt: Renamed from LayoutTests/platform/ios-15/fast/events/ios/keydown-keyup-keypress-keys-in-non-editable-using-chinese-keyboard-expected.txt.
- 4:15 PM Changeset in webkit [283522] by
-
- 72 edits2 adds in trunk
Add SPI to launch a service service worker in a WKWebView and expose service worker to injected bundle
https://bugs.webkit.org/show_bug.cgi?id=231045
<rdar://problem/83744069>
Reviewed by Geoff Garen.
Source/WebCore:
Add new [WKWebView loadServiceWorker:(NSURL *)] to load a service worker in a web view. When called,
it causes us to create a page with HTML start registers the service worker with the provided URL.
The service worker in question will differ slightly from usual service workers in that:
- The service worker URL doesn't need to be HTTP/HTTPS. In particular, a custom scheme (with corresponding custom scheme handler) can be used.
- The service worker will always run in the WKWebView's associated WebProcess (which can be controlled via WKWebViewConfiguration._relatedWebView).
- The service worker will run on the main thead
- The service worker is not persistent, meaning that it will not be saved to disk, unlike regular service workers.
- The service worker's global object will be exposed to the injected bundle via a new serviceWorkerGlobalObjectIsAvailableForFrame function call on WKWebProcessPlugInLoadDelegate. The provided Frame will be the WKWebView's main frame.
- The service worker will be unregistered & exit as soon as its WKWebView gets closed / deallocated.
To make the service worker more usable via the injected bundle API, the following changes were made too:
- [WKWebProcessPlugInFrame lookUpFrameFromJSContext:] will return the WKWebView's main frame when passed in that view's service worker context.
- A new [WKWebProcessPlugInFrame jsContextForServiceWorkerWorld:(WKWebProcessPlugInScriptWorld *)] SPI was added to get the service worker's JS context from the view.
I added an API test that launches such a service worker, makes sure the injected bundle gets notified on
the main thread of the service worker global object and that it can script it. The test also makes sure
the _relatedWebView SPI works to force a service worker into another view's process. It also tests that
[WKWebProcessPlugInFrame lookUpFrameFromJSContext:] and [WKWebProcessPlugInFrame jsContextForServiceWorkerWorld:(WKWebProcessPlugInScriptWorld *)]
work as expected. Finally, it makes sure the service worker properly exits when the view gets closed.
- dom/Document.cpp:
(WebCore::Document::isSecureContext const):
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::commitData):
- loader/FrameLoaderClient.h:
- page/Frame.cpp:
(WebCore::Frame::fromJSContext):
- page/Frame.h:
- page/Page.cpp:
(WebCore::Page::serviceWorkerGlobalObject):
(WebCore::Page::setServiceWorkerGlobalScope):
- page/Page.h:
(WebCore::Page::isServiceWorkerPage const):
(WebCore::Page::markAsServiceWorkerPage):
- platform/RegistrableDomain.h:
(WebCore::RegistrableDomain::RegistrableDomainHash::hash):
(WebCore::RegistrableDomain::RegistrableDomainHash::equal):
Registrable domains are not case sensitive. Yet its HashTraits was doing case sensitive checks.
The Service Worker code is using a HashMap whose key is a RegistrableDomain and my new API test
was initially failing simply because I used an upper case domain name in my URL. To make my
test pass, I decided to make the RegistrableDomain HashTraits case-insensitive, instead of using
a lowercase domain in my new test.
- workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::addRegistration):
- workers/service/ServiceWorkerContextData.cpp:
(WebCore::ServiceWorkerContextData::isolatedCopy const):
(WebCore::ServiceWorkerContextData::isolatedCopy):
- workers/service/ServiceWorkerContextData.h:
(WebCore::ServiceWorkerContextData::encode const):
(WebCore::ServiceWorkerContextData::decode):
- workers/service/ServiceWorkerGlobalScope.cpp:
(WebCore::ServiceWorkerGlobalScope::create):
(WebCore::ServiceWorkerGlobalScope::notifyServiceWorkerPageOfCreationIfNecessary):
(WebCore::ServiceWorkerGlobalScope::serviceWorkerPage):
- workers/service/ServiceWorkerGlobalScope.h:
- workers/service/ServiceWorkerJobData.cpp:
(WebCore::ServiceWorkerJobData::serviceWorkerPageIdentifier const):
(WebCore::ServiceWorkerJobData::isolatedCopy const):
- workers/service/ServiceWorkerJobData.h:
(WebCore::ServiceWorkerJobData::encode const):
(WebCore::ServiceWorkerJobData::decode):
- workers/service/server/RegistrationDatabase.cpp:
(WebCore::RegistrationDatabase::importRecords):
- workers/service/server/RegistrationStore.cpp:
(WebCore::RegistrationStore::updateRegistration):
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::addRegistrationFromStore):
(WebCore::SWServer::addRegistration):
(WebCore::SWServer::removeRegistration):
(WebCore::SWServer::updateWorker):
(WebCore::SWServer::tryInstallContextData):
(WebCore::SWServer::installContextData):
(WebCore::SWServer::runServiceWorkerIfNecessary):
(WebCore::SWServer::runServiceWorker):
(WebCore::SWServer::unregisterServiceWorkerClient):
(WebCore::SWServer::removeContextConnection):
(WebCore::SWServer::createContextConnection):
- workers/service/server/SWServer.h:
(WebCore::SWServer::shouldRunServiceWorkersOnMainThreadForTesting const):
- workers/service/server/SWServerJobQueue.cpp:
(WebCore::SWServerJobQueue::scriptFetchFinished):
(WebCore::SWServerJobQueue::runRegisterJob):
- workers/service/server/SWServerRegistration.cpp:
(WebCore::SWServerRegistration::SWServerRegistration):
- workers/service/server/SWServerRegistration.h:
(WebCore::SWServerRegistration::serviceWorkerPageIdentifier const):
- workers/service/server/SWServerToContextConnection.cpp:
(WebCore::SWServerToContextConnection::SWServerToContextConnection):
- workers/service/server/SWServerToContextConnection.h:
(WebCore::SWServerToContextConnection::serviceWorkerPageIdentifier const):
- workers/service/server/SWServerWorker.cpp:
(WebCore::SWServerWorker::contextData const):
(WebCore::SWServerWorker::workerThreadMode const):
(WebCore::SWServerWorker::serviceWorkerPageIdentifier const):
- workers/service/server/SWServerWorker.h:
Source/WebKit:
Add new [WKWebView loadServiceWorker:(NSURL *)] to load a service worker in a web view. When called,
it causes us to create a page with HTML start registers the service worker with the provided URL.
The service worker in question will differ slightly from usual service workers in that:
- The service worker URL doesn't need to be HTTP/HTTPS. In particular, a custom scheme (with corresponding custom scheme handler) can be used.
- The service worker will always run in the WKWebView's associated WebProcess (which can be controlled via WKWebViewConfiguration._relatedWebView).
- The service worker will run on the main thead
- The service worker is not persistent, meaning that it will not be saved to disk, unlike regular service workers.
- The service worker's global object will be exposed to the injected bundle via a new serviceWorkerGlobalObjectIsAvailableForFrame function call on WKWebProcessPlugInLoadDelegate. The provided Frame will be the WKWebView's main frame.
- The service worker will be unregistered & exit as soon as its WKWebView gets closed / deallocated.
To make the service worker more usable via the injected bundle API, the following changes were made too:
- [WKWebProcessPlugInFrame lookUpFrameFromJSContext:] will return the WKWebView's main frame when passed in that view's service worker context.
- A new [WKWebProcessPlugInFrame jsContextForServiceWorkerWorld:(WKWebProcessPlugInScriptWorld *)] SPI was added to get the service worker's JS context from the view.
I added an API test that launches such a service worker, makes sure the injected bundle gets notified on
the main thread of the service worker global object and that it can script it. The test also makes sure
the _relatedWebView SPI works to force a service worker into another view's process. It also tests that
[WKWebProcessPlugInFrame lookUpFrameFromJSContext:] and [WKWebProcessPlugInFrame jsContextForServiceWorkerWorld:(WKWebProcessPlugInScriptWorld *)]
work as expected. Finally, it makes sure the service worker properly exits when the view gets closed.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::establishSWContextConnection):
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::swServerForSession):
- NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::startFetch):
- NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp:
(WebKit::WebSWServerToContextConnection::WebSWServerToContextConnection):
- NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h:
- Shared/LoadParameters.cpp:
(WebKit::LoadParameters::encode const):
(WebKit::LoadParameters::decode):
- Shared/LoadParameters.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView loadRequest:]):
(-[WKWebView loadFileURL:allowingReadAccessToURL:]):
(-[WKWebView loadData:MIMEType:characterEncodingName:baseURL:]):
(-[WKWebView _loadServiceWorker:]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::establishWorkerContextConnectionToNetworkProcess):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadDataWithNavigationShared):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
(WebKit::WebPageProxy::loadServiceWorker):
- UIProcess/WebPageProxy.h:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::establishWorkerContextConnectionToNetworkProcess):
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::establishServiceWorkerContext):
(WebKit::WebProcessProxy::enableServiceWorkers):
- UIProcess/WebProcessProxy.h:
- WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h:
(API::InjectedBundle::PageLoaderClient::serviceWorkerGlobalObjectIsAvailableForFrame):
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h:
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
(-[WKWebProcessPlugInFrame jsContextForServiceWorkerWorld:]):
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:
- WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h:
- WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp:
- WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(serviceWorkerGlobalObjectIsAvailableForFrame):
(setUpPageLoaderClient):
- WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
(WebKit::InjectedBundlePageLoaderClient::globalObjectIsAvailableForFrame):
(WebKit::InjectedBundlePageLoaderClient::serviceWorkerGlobalObjectIsAvailableForFrame):
- WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::WebSWContextManagerConnection):
(WebKit::WebSWContextManagerConnection::establishConnection):
- WebProcess/Storage/WebSWContextManagerConnection.h:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchServiceWorkerGlobalObjectAvailable):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::jsContextForServiceWorkerWorld):
(WebKit::WebFrame::frameForContext):
- WebProcess/WebPage/WebFrame.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadData):
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::establishWorkerContextConnectionToNetworkProcess):
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
Source/WTF:
- wtf/URL.cpp:
(WTF::protocolHostAndPortAreEqual):
Fix issue where protocolHostAndPortAreEqual() was doing a case-sensitive check. My new service worker
API test was initially failing because of this since it is using an upper-case domain name.
Tools:
Add API test coverage.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
(-[ServiceWorkerSchemeHandler initWithBytes:]):
(-[ServiceWorkerSchemeHandler addMappingFromURLString:toData:]):
(-[ServiceWorkerSchemeHandler webView:startURLSchemeTask:]):
(-[ServiceWorkerSchemeHandler webView:stopURLSchemeTask:]):
(-[ServiceWorkerPageRemoteObject serviceWorkerGlobalObjectIsAvailable]):
- TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerPagePlugIn.mm: Added.
(-[ServiceWorkerPagePlugIn webProcessPlugInBrowserContextController:serviceWorkerGlobalObjectIsAvailableForFrame:inScriptWorld:]):
(-[ServiceWorkerPagePlugIn webProcessPlugIn:didCreateBrowserContextController:]):
- TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerPageProtocol.h: Added.
- 4:04 PM Changeset in webkit [283521] by
-
- 2 edits in trunk/Source/WebCore
RemotePlayback missing forward declaration of Node
https://bugs.webkit.org/show_bug.cgi?id=231193
Unreviewed build fix.
The missing forward declaration was introduced in r279443 and can cause a
build failure when adding a new file to Sources.txt.
- Modules/remoteplayback/RemotePlayback.h:
- 3:50 PM Changeset in webkit [283520] by
-
- 2 edits3 adds in trunk/LayoutTests
Cleaning up expectations for iOS 15.
https://bugs.webkit.org/show_bug.cgi?id=230968
Unreviewed test gardening.
- platform/ios-14/TestExpectations:
- platform/ios-15/fast/events/ios/keydown-keyup-keypress-keys-in-non-editable-using-chinese-keyboard-expected.txt: Added.
- 3:45 PM Changeset in webkit [283519] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed build fix after r283431.
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(+[_WKWebAuthenticationPanel setUsernameForLocalCredentialWithID:username:]):
- 3:42 PM Changeset in webkit [283518] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed build fix after r283431.
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(+[_WKWebAuthenticationPanel setUsernameForLocalCredentialWithID:username:]):
- 3:41 PM Changeset in webkit [283517] by
-
- 2 edits in trunk/Tools
Follow-up: WTF::RetainPtr<> allows assignment of two pointer types that are not assignable
<https://webkit.org/b/230406>
<rdar://problem/83241893>
Unreviewed attempt to fix api-ios tests.
- TestWebKitAPI/Tests/WTF/cocoa/TypeCastsCocoa.mm:
(TestWebKitAPI::TEST):
- Work around TestWTF.TypeCastsCocoa.checked_objc_cast test failures on iOS Simulator by using @autoreleasepool.
- 2:57 PM Changeset in webkit [283516] by
-
- 2 edits in branches/safari-612.2.9.1-branch/Source/WebKit
Cherry-pick r283490. rdar://problem/83856664
Vorbis decoder can't be instantiated - follow up on Bug 230742
https://bugs.webkit.org/show_bug.cgi?id=231154
rdar://problem/83825162
Fix typo in expression.
Reviewed by Tim Horton.
- Scripts/process-entitlements.sh: Add missing bool keyword.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283490 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:47 PM Changeset in webkit [283515] by
-
- 9 edits2 adds in trunk
[WebAuthn] Prefer internal user verification if available over pin entry.
https://bugs.webkit.org/show_bug.cgi?id=213903
<rdar://problem/65359269>
Patch by John Pascoe <J Pascoe> on 2021-10-04
Reviewed by Brent Fulgham.
Source/WebCore:
This adds an option to mock internal user verification in tests.
- testing/MockWebAuthenticationConfiguration.h:
(WebCore::MockWebAuthenticationConfiguration::HidConfiguration::encode const):
(WebCore::MockWebAuthenticationConfiguration::HidConfiguration::decode):
- testing/MockWebAuthenticationConfiguration.idl:
Source/WebKit:
- UIProcess/WebAuthentication/Mock/MockHidConnection.cpp:
(WebKit::MockHidConnection::feedReports):
- UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp:
(WebKit::CtapAuthenticator::makeCredential):
(WebKit::CtapAuthenticator::getAssertion):
(WebKit::fido::toStatus): Deleted.
(WebKit::fido::isPinError): Deleted.
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid-internal-uv.html: Added.
- TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-hid-internal-uv.html: Added.
- 2:25 PM Changeset in webkit [283514] by
-
- 5 edits in trunk
[WebAuthn] Add SPI to change username of credential
https://bugs.webkit.org/show_bug.cgi?id=230956
<rdar://problem/83471755>
Patch by John Pascoe <J Pascoe> on 2021-10-04
Reviewed by Brent Fulgham.
Source/WebKit:
Adds a new method for changing the username of a given stored webauthn credential.
New API test: TestWebKitAPI.WebAuthenticationPanel.UpdateCredentialUsername
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(+[_WKWebAuthenticationPanel setUsernameForLocalCredentialWithID:username:]):
Tools:
API test coverage for updating the username of a webauthn credential.
- TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST):
- 2:02 PM Changeset in webkit [283513] by
-
- 3 edits in trunk/LayoutTests
Remove test expectations since 'crash' has been resolved.
https://bugs.webkit.org/show_bug.cgi?id=230245.
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- platform/mac-wk2/TestExpectations:
- 12:58 PM Changeset in webkit [283512] by
-
- 7 edits1 add in trunk
IntrinsicGetterAccessCase implementation of proto needs to handle get_by_id_with_this
https://bugs.webkit.org/show_bug.cgi?id=229951
<rdar://problem/82787527>
Reviewed by Yusuke Suzuki.
JSTests:
- stress/run-proto-intrinsic-getter-with-this-value-in-get-by-id-with-this.js: Added.
(assert):
(main.v37):
(main):
Source/JavaScriptCore:
The whole point of get_by_id_with_this is to have different
slot base values for |this| vs the slot base when invoking
getters. However, our intrinsic getter inlining wasn't respecting
this. This patch makes the proto intrinsic getter do the right
thing. For typed array intrinsic getters, if they have different
|this| value vs slot base, we chose not to inline them, because
the type checks are not on the |this| value, so they're not guaranteed
to be typed arrays. We can improve upon this in the future.
- bytecode/IntrinsicGetterAccessCase.h:
- jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::emitLoadPrototypeWithoutCheck):
- jit/AssemblyHelpers.h:
- jit/IntrinsicEmitter.cpp:
(JSC::IntrinsicGetterAccessCase::canEmitIntrinsicGetter):
(JSC::IntrinsicGetterAccessCase::emitIntrinsicGetter):
- jit/Repatch.cpp:
(JSC::tryCacheGetBy):
- 12:48 PM Changeset in webkit [283511] by
-
- 40 edits2 copies in trunk/Source
Split WebXR extension module IDLs into their own files and settings
https://bugs.webkit.org/show_bug.cgi?id=231149
Reviewed by Dean Jackson.
Source/WebCore:
Split WebXRInputSource+Gamepad.idl out of WebXRInputSource.idl and
WebXRSession+AR.idl out of WebXRSession.idl and make them depend on
new module specific settings WebXRGamepadsModuleEnabled and
WebXRAugmentedRealityModuleEnabled respectively.
Also adds spec links in the IDLs as I like to do.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Modules/webxr/WebXRBoundedReferenceSpace.idl:
- Modules/webxr/WebXRFrame.idl:
- Modules/webxr/WebXRInputSource+Gamepad.idl: Added.
- Modules/webxr/WebXRInputSource.idl:
- Modules/webxr/WebXRInputSourceArray.idl:
- Modules/webxr/WebXRLayer.idl:
- Modules/webxr/WebXRPose.idl:
- Modules/webxr/WebXRReferenceSpace.idl:
- Modules/webxr/WebXRRenderState.idl:
- Modules/webxr/WebXRRigidTransform.idl:
- Modules/webxr/WebXRSession+AR.idl: Added.
- Modules/webxr/WebXRSession.idl:
- Modules/webxr/WebXRSpace.idl:
- Modules/webxr/WebXRSystem.idl:
- Modules/webxr/WebXRView.idl:
- Modules/webxr/WebXRViewerPose.idl:
- Modules/webxr/WebXRViewport.idl:
- Modules/webxr/WebXRWebGLLayer.idl:
- Modules/webxr/XREnvironmentBlendMode.idl:
- Modules/webxr/XREye.idl:
- Modules/webxr/XRFrameRequestCallback.idl:
- Modules/webxr/XRHandedness.idl:
- Modules/webxr/XRInputSourceEvent.idl:
- Modules/webxr/XRInputSourcesChangeEvent.idl:
- Modules/webxr/XRInteractionMode.idl:
- Modules/webxr/XRReferenceSpaceEvent.idl:
- Modules/webxr/XRReferenceSpaceType.idl:
- Modules/webxr/XRRenderStateInit.idl:
- Modules/webxr/XRSessionEvent.idl:
- Modules/webxr/XRSessionInit.idl:
- Modules/webxr/XRSessionMode.idl:
- Modules/webxr/XRTargetRayMode.idl:
- Modules/webxr/XRVisibilityState.idl:
- Modules/webxr/XRWebGLLayerInit.idl:
- WebCore.xcodeproj/project.pbxproj:
Source/WTF:
- Scripts/Preferences/WebPreferencesExperimental.yaml:
Adds WebXRAugmentedRealityModuleEnabled and WebXRGamepadsModuleEnabled
to gate enabling the WebXR AR Module and the WebXR Gamepads Module on.
- 12:40 PM Changeset in webkit [283510] by
-
- 2 edits in trunk/Source/WebKit
Send necessary sandbox extensions to WebProcess in case WebRTC codecs run in WebProcess
https://bugs.webkit.org/show_bug.cgi?id=231073
Reviewed by Eric Carlson.
Manually tested, make sure to send extensions like if audio/video capture happens in WebProcess.
This allows validating regressions due or not to GPUProcess.
- UIProcess/WebPageProxy.cpp:
- 12:35 PM Changeset in webkit [283509] by
-
- 12 edits1 copy2 moves1 add2 deletes in trunk
Use isolated NSURLSessions for each first party registrable domain
https://bugs.webkit.org/show_bug.cgi?id=230750
<rdar://83159358>
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Rebaseline WPT test that is now passing more checks.
- web-platform-tests/fetch/connection-pool/network-partition-key-expected.txt:
Source/WebCore:
Fix bug where service worker soft-update requests would have their "first-party-for-cookies"
field set to "https:" instead of a full origin (e.g. "https://localhost:8080"). This was
causing some service worker test failures now that we use different NSURLSession based on
the "first-party-for-cookies" field.
- workers/service/server/SWServer.cpp:
(WebCore::originURL):
Source/WebKit:
Previously would use up to 10 isolated NSURLSessions only for domains marked as prevalent
by ITP *and* that the user interacts with as first party website. We now use different
isolated NSURLSession for each top-level registrable domain, not matter their ITP status.
This significantly improves privacy.
To avoid having too many NSURLSession, we clear the ones that haven't been used in the
last 10 minutes, every time we add a new one.
- NetworkProcess/cocoa/NetworkSessionCocoa.h:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::sessionWrapperForTask):
(WebKit::SessionSet::isolatedSession):
LayoutTests:
This test is now passing more checks on WebKit2 but still completely fails on WebKit1 so I am
adding a WK1-specific baseline.
- platform/mac-wk1/imported/w3c/web-platform-tests/fetch/connection-pool/network-partition-key-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/fetch/connection-pool/network-partition-key-expected.txt.
- 12:34 PM Changeset in webkit [283508] by
-
- 8 edits in trunk/Source/WebCore
Make RuleSetBuilder a class
https://bugs.webkit.org/show_bug.cgi?id=231158
Reviewed by Alan Bujtas.
Improve encapsulation.
This patch also makes clients use RuleSetBuilder directly removing the two-way dependency
between RuleSet and RuleSetBuilder.
- style/RuleSet.cpp:
(WebCore::Style::RuleSet::addRule):
(WebCore::Style::RuleSet::shrinkToFit):
(WebCore::Style::RuleSet::addRulesFromSheet): Deleted.
(WebCore::Style::shrinkDynamicRules): Deleted.
- style/RuleSet.h:
(WebCore::Style::RuleSet::DynamicMediaQueryRules::shrinkToFit):
- style/RuleSetBuilder.cpp:
(WebCore::Style::RuleSetBuilder::RuleSetBuilder):
(WebCore::Style::m_resolver):
(WebCore::Style::RuleSetBuilder::~RuleSetBuilder):
(WebCore::Style::RuleSetBuilder::addRulesFromSheet):
(WebCore::Style::RuleSetBuilder::addChildRules):
(WebCore::Style::RuleSetBuilder::addStyleRule):
(WebCore::Style::RuleSetBuilder::pushCascadeLayer):
(WebCore::Style::RuleSetBuilder::popCascadeLayer):
(WebCore::Style::RuleSetBuilder::updateCascadeLayerOrder):
(WebCore::Style::RuleSetBuilder::addMutatingRulesToResolver):
(WebCore::Style::RuleSetBuilder::MediaQueryCollector::pushAndEvaluate):
(WebCore::Style::RuleSetBuilder::MediaQueryCollector::pop):
(WebCore::Style::RuleSetBuilder::MediaQueryCollector::didMutateResolver):
(WebCore::Style::RuleSetBuilder::MediaQueryCollector::addRuleIfNeeded):
(WebCore::Style::RuleSetMediaQueryCollector::pushAndEvaluate): Deleted.
(WebCore::Style::RuleSetMediaQueryCollector::pop): Deleted.
(WebCore::Style::RuleSetMediaQueryCollector::didMutateResolver): Deleted.
(WebCore::Style::RuleSetMediaQueryCollector::addRuleIfNeeded): Deleted.
MediaQueryCollector is now a private inner struct of RuleSetBuilder.
- style/RuleSetBuilder.h:
- style/StyleInvalidator.cpp:
(WebCore::Style::m_dirtiesAllStyle):
- style/StyleScopeRuleSets.cpp:
(WebCore::Style::ScopeRuleSets::updateUserAgentMediaQueryStyleIfNeeded const):
(WebCore::Style::ScopeRuleSets::initializeUserStyle):
(WebCore::Style::ScopeRuleSets::collectRulesFromUserStyleSheets):
(WebCore::Style::ScopeRuleSets::appendAuthorStyleSheets):
- style/UserAgentStyle.cpp:
(WebCore::Style::UserAgentStyle::addToDefaultStyle):
(WebCore::Style::UserAgentStyle::initDefaultStyleSheet):
- 12:31 PM Changeset in webkit [283507] by
-
- 2 edits in trunk/Source/WebKit
process-entitlements should fail if a subcommand fails
https://bugs.webkit.org/show_bug.cgi?id=231155
Reviewed by Anders Carlsson.
- Scripts/process-entitlements.sh:
See bug 231154, which fixes a mistake in r283156 which made one of the
PlistBuddy invocations from process-entitlements fail, but did not
result in a failing build. PlistBuddy does correctly return a non-zero
return value in this case, so we should just tell the shell to propagate
that upwards.
- 11:31 AM Changeset in webkit [283506] by
-
- 8 edits in branches/safari-612.2.9.1-branch/Source
Versioning.
WebKit-7612.2.9.1.4
- 11:30 AM Changeset in webkit [283505] by
-
- 8 edits in branches/safari-612.2.9.0-branch/Source
Versioning.
WebKit-7612.2.9.0.4
- 10:38 AM Changeset in webkit [283504] by
-
- 16 edits in trunk/Source/WebKit
Enable PCM debug mode per WebsiteDataStore instead of process-global
https://bugs.webkit.org/show_bug.cgi?id=231096
Reviewed by Kate Cheney.
This will make it so we don't need to restart the network process in order to enable or disable debug mode.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::setPrivateClickMeasurementDebugMode):
(WebKit::NetworkProcess::privateClickMeasurementDebugModeEnabled const): Deleted.
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
- NetworkProcess/NetworkProcessCreationParameters.h:
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::NetworkSession):
(WebKit::NetworkSession::setPrivateClickMeasurementDebugMode):
- NetworkProcess/NetworkSession.h:
(WebKit::NetworkSession::privateClickMeasurementDebugModeEnabled const):
- NetworkProcess/NetworkSessionCreationParameters.cpp:
(WebKit::NetworkSessionCreationParameters::encode const):
(WebKit::NetworkSessionCreationParameters::decode):
- NetworkProcess/NetworkSessionCreationParameters.h:
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementClientImpl.cpp:
(WebKit::PCM::ClientImpl::debugModeEnabled const):
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::setPrivateClickMeasurementDebugMode):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::experimentalFeatureEnabled):
(WebKit::WebsiteDataStore::platformSetNetworkParameters):
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::setPrivateClickMeasurementDebugMode):
- 9:46 AM Changeset in webkit [283503] by
-
- 2 edits in branches/safari-613.1.4-branch/Source/WebCore
Unreviewed maccatalyst build fix.
- platform/audio/ios/AudioSessionIOS.mm:
(WebCore::AudioSessionIOS::setHostProcessAttribution):
- 9:40 AM Changeset in webkit [283502] by
-
- 8 edits in branches/safari-613.1.4-branch/Source
Versioning.
WebKit-7613.1.4
- 9:40 AM Changeset in webkit [283501] by
-
- 8 edits in trunk/Source
Versioning.
WebKit-7613.1.5
- 9:39 AM Changeset in webkit [283500] by
-
- 4 edits11 adds in trunk/LayoutTests
Cleaning up expectations for iOS 15.
https://bugs.webkit.org/show_bug.cgi?id=230968
Unreviewed test gardening.
- platform/ios-14/TestExpectations:
- platform/ios-15/fast/forms/ios/accessory-bar-navigation-expected.txt: Added.
- platform/ios-15/fast/forms/ios/focus-input-in-fixed-expected.txt: Added.
- platform/ios-15/fast/forms/ios/focus-input-in-iframe-expected.txt: Added.
- platform/ios-15/fast/forms/ios/focus-input-via-button-expected.txt: Added.
- platform/ios-15/fast/forms/ios/focus-input-via-button-no-scaling-expected.txt: Added.
- platform/ios-15/fast/forms/ios/focus-long-textarea-expected.txt: Added.
- platform/ios-15/fast/forms/ios/zoom-after-input-tap-expected.txt: Added.
- platform/ios-15/fast/forms/ios/zoom-after-input-tap-wide-input-expected.txt: Added.
- platform/ios/TestExpectations:
- platform/ipad/TestExpectations:
- 9:37 AM Changeset in webkit [283499] by
-
- 1 copy in branches/safari-613.1.4-branch
New branch.
- 9:00 AM Changeset in webkit [283498] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed maccatalyst build fix.
- platform/audio/ios/AudioSessionIOS.mm:
(WebCore::AudioSessionIOS::setHostProcessAttribution):
- 8:00 AM Changeset in webkit [283497] by
-
- 2 edits in trunk/LayoutTests
Make preload referrer-img.py compatible with Python 3.9
https://bugs.webkit.org/show_bug.cgi?id=231099
Reviewed by Jonathan Bedard.
Python 3.9 removed[1] the deprecated
base64.decodestring
. We should use
base64.decodebytes
instead (available since 3.1).
[1] https://bugs.python.org/issue39351
- http/wpt/preload/resources/referrer-img.py: Replace deprecated method.
- 7:50 AM Changeset in webkit [283496] by
-
- 2 edits in trunk/Source/WebCore
Fix LTS build after 242443@main
Unreviewed build fix.
- rendering/RenderBlockFlow.cpp:
- 7:26 AM Changeset in webkit [283495] by
-
- 2 edits in trunk/Tools
Send EWS exception emails to bot watchers instead of Aakash
Unreviewed.
- CISupport/ews-build/master.cfg:
- 6:57 AM Changeset in webkit [283494] by
-
- 6 edits2 adds in trunk/LayoutTests/imported/w3c
[css-flexbox] Resync WPT tests
https://bugs.webkit.org/show_bug.cgi?id=231164
Reviewed by Rob Buis.
Imported some tests after being fixed upstream. Also fetched new ones.
- web-platform-tests/css/css-flexbox/parsing/flex-grow-computed-expected.txt:
- web-platform-tests/css/css-flexbox/parsing/flex-grow-computed.html:
- web-platform-tests/css/css-flexbox/parsing/flex-shrink-computed-expected.txt:
- web-platform-tests/css/css-flexbox/parsing/flex-shrink-computed.html:
- web-platform-tests/css/css-flexbox/text-as-flexitem-size-001-expected.txt: Added.
- web-platform-tests/css/css-flexbox/text-as-flexitem-size-001.html: Added.
- web-platform-tests/css/css-flexbox/w3c-import.log:
- 6:16 AM Changeset in webkit [283493] by
-
- 4 edits in trunk
'overflow-wrap: anywhere' should be considered when calculating min-content intrinsic sizes.
https://bugs.webkit.org/show_bug.cgi?id=231152
Reviewed by Javier Fernandez.
Source/WebCore:
As opposed to overflow-wrap: 'break-word', 'anywhere' should be taken into account when computing the preferred width.
"An otherwise unbreakable sequence of characters may be broken at an arbitrary point...
Soft wrap opportunities introduced by anywhere are considered when calculating min-content intrinsic sizes."
https://drafts.csswg.org/css-text-3/#overflow-wrap-property
- rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):
(WebCore::RenderText::computeCanUseSimplifiedTextMeasuring const):
LayoutTests:
- TestExpectations: Progressions.
- 5:14 AM Changeset in webkit [283492] by
-
- 11 edits40 adds in trunk/LayoutTests
[css-grid] Resync web-platform-tests/css/css-grid tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=231020
Reviewed by Sergio Villar Senin.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-grid/abspos/grid-positioned-item-dynamic-change-005-expected.html: Added.
- web-platform-tests/css/css-grid/abspos/grid-positioned-item-dynamic-change-005.html: Added.
- web-platform-tests/css/css-grid/abspos/grid-positioned-item-dynamic-change-006-expected.html: Added.
- web-platform-tests/css/css-grid/abspos/grid-positioned-item-dynamic-change-006.html: Added.
- web-platform-tests/css/css-grid/abspos/grid-positioned-item-dynamic-change-007-expected.html: Added.
- web-platform-tests/css/css-grid/abspos/grid-positioned-item-dynamic-change-007.html: Added.
- web-platform-tests/css/css-grid/abspos/positioned-grid-descendants-017-expected.html: Added.
- web-platform-tests/css/css-grid/abspos/positioned-grid-descendants-017.html: Added.
- web-platform-tests/css/css-grid/abspos/positioned-grid-items-023-expected.html: Added.
- web-platform-tests/css/css-grid/abspos/positioned-grid-items-023.html: Added.
- web-platform-tests/css/css-grid/abspos/positioned-grid-items-024-expected.xht: Added.
- web-platform-tests/css/css-grid/abspos/positioned-grid-items-024.html: Added.
- web-platform-tests/css/css-grid/abspos/w3c-import.log:
- web-platform-tests/css/css-grid/alignment/grid-inline-baseline-expected.html: Added.
- web-platform-tests/css/css-grid/alignment/grid-inline-baseline.html: Added.
- web-platform-tests/css/css-grid/alignment/w3c-import.log:
- web-platform-tests/css/css-grid/empty-grid-within-flexbox-expected.xht: Added.
- web-platform-tests/css/css-grid/empty-grid-within-flexbox.html: Added.
- web-platform-tests/css/css-grid/grid-definition/grid-auto-repeat-minmax-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-item-percentage-quirk-001-expected.html.
- web-platform-tests/css/css-grid/grid-definition/grid-auto-repeat-minmax.html: Added.
- web-platform-tests/css/css-grid/grid-definition/w3c-import.log:
- web-platform-tests/css/css-grid/grid-items/grid-size-with-orthogonal-child-dynamic-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-item-percentage-quirk-002-expected.html.
- web-platform-tests/css/css-grid/grid-items/grid-size-with-orthogonal-child-dynamic.html: Added.
- web-platform-tests/css/css-grid/grid-items/percentage-margin-dynamic-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-item-percentage-quirk-001-expected.html.
- web-platform-tests/css/css-grid/grid-items/percentage-margin-dynamic.html: Added.
- web-platform-tests/css/css-grid/grid-items/replaced-element-014-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-item-percentage-quirk-001-expected.html.
- web-platform-tests/css/css-grid/grid-items/replaced-element-014.html: Added.
- web-platform-tests/css/css-grid/grid-items/replaced-element-015-expected.html: Added.
- web-platform-tests/css/css-grid/grid-items/replaced-element-015.html: Added.
- web-platform-tests/css/css-grid/grid-items/w3c-import.log:
- web-platform-tests/css/css-grid/grid-model/grid-item-hit-test-expected.txt: Added.
- web-platform-tests/css/css-grid/grid-model/grid-item-hit-test.html: Added.
- web-platform-tests/css/css-grid/grid-model/w3c-import.log:
- web-platform-tests/css/css-grid/grid-with-dynamic-img-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-item-percentage-quirk-001-expected.html.
- web-platform-tests/css/css-grid/grid-with-dynamic-img.html: Added.
- web-platform-tests/css/css-grid/grid-with-orthogonal-child-within-flexbox-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-item-percentage-quirk-001-expected.html.
- web-platform-tests/css/css-grid/grid-with-orthogonal-child-within-flexbox.html: Added.
- web-platform-tests/css/css-grid/grid-within-flexbox-indefinite-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-item-percentage-quirk-001-expected.html.
- web-platform-tests/css/css-grid/grid-within-flexbox-indefinite.html: Added.
- web-platform-tests/css/css-grid/layout-algorithm/grid-intrinsic-size-dynamic-block-size-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-item-percentage-quirk-001-expected.html.
- web-platform-tests/css/css-grid/layout-algorithm/grid-intrinsic-size-dynamic-block-size.html: Added.
- web-platform-tests/css/css-grid/layout-algorithm/grid-template-flexible-rerun-track-sizing-expected.xht: Added.
- web-platform-tests/css/css-grid/layout-algorithm/grid-template-flexible-rerun-track-sizing.html: Added.
- web-platform-tests/css/css-grid/layout-algorithm/w3c-import.log:
- web-platform-tests/css/css-grid/placement/grid-placement-items-spanning-multiple-rows-expected.xht: Added.
- web-platform-tests/css/css-grid/placement/grid-placement-items-spanning-multiple-rows.html: Added.
- web-platform-tests/css/css-grid/placement/w3c-import.log:
- web-platform-tests/css/css-grid/w3c-import.log:
LayoutTests:
- 4:04 AM Changeset in webkit [283491] by
-
- 2 edits in trunk/LayoutTests
[GLIB] Mark more font-palette tests as failing. Unreviewed test gardening.
https://bugs.webkit.org/show_bug.cgi?id=231165
Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2021-10-04
- platform/glib/TestExpectations:
- 1:07 AM Changeset in webkit [283490] by
-
- 2 edits in trunk/Source/WebKit
Vorbis decoder can't be instantiated - follow up on Bug 230742
https://bugs.webkit.org/show_bug.cgi?id=231154
rdar://problem/83825162
Fix typo in expression.
Reviewed by Tim Horton.
- Scripts/process-entitlements.sh: Add missing bool keyword.
- 12:48 AM Changeset in webkit [283489] by
-
- 7 edits in trunk/Source/WebCore
Regression (r283238)[ MacOS wk1 ] fast/mediacapturefromelement/CanvasCaptureMediaStream-webgl-events.html is timing out
https://bugs.webkit.org/show_bug.cgi?id=231022
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-10-04
Reviewed by Youenn Fablet.
Originally the implementation would always return red frame, and the test would pass.
r283238 changed the implementation to not return a sample if there is not a display buffer,
as logically such cannot be used as a sample.
This broke the test case since the CanvasCaptureMediaStreamTrack would try to capture
the canvas display buffer during next runloop iteration (0s timeout) after each modification.
This does not work, as the display buffer is composed during "prepare for display"
phase.
Add CanvasBase observers to observe that display buffer has been prepared, and capture
the media sample after that observer has fired.
The test would work for wk2 due to timing related differences, preparation would have
typically run before the canvas capture 0s timeout.
Fixes fast/mediastream/captureStream/canvas3d.html for wk1.
- Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp:
(WebCore::CanvasCaptureMediaStreamTrack::Source::startProducingData):
(WebCore::CanvasCaptureMediaStreamTrack::Source::canvasChanged):
(WebCore::CanvasCaptureMediaStreamTrack::Source::canvasDisplayBufferPrepared):
- Modules/mediastream/CanvasCaptureMediaStreamTrack.h:
- html/CanvasBase.cpp:
(WebCore::CanvasBase::addDisplayBufferObserver):
(WebCore::CanvasBase::removeDisplayBufferObserver):
(WebCore::CanvasBase::notifyObserversCanvasDisplayBufferPrepared):
- html/CanvasBase.h:
(WebCore::CanvasBase::hasDisplayBufferObservers const):
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::prepareForDisplay):
Move the "prepare only when the owner element is in the tree" logic to
its correct place to the caller, e.g. to the element itself.
Oct 3, 2021:
- 11:37 PM Changeset in webkit [283488] by
-
- 5 edits2 adds in trunk/Source/WebCore
Move RuleSet builder to a file of its own
https://bugs.webkit.org/show_bug.cgi?id=231137
Reviewed by Alan Bujtas.
There is quite a bit of code for it.
There is lots of room for refactoring and cleanups here. This patch does none of it.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- style/RuleSet.cpp:
(WebCore::Style::RuleSet::addRule):
(WebCore::Style::RuleSet::addRulesFromSheet):
(WebCore::Style::RuleSet::Builder::addChildRules): Deleted.
(WebCore::Style::RuleSet::Builder::addRulesFromSheet): Deleted.
(WebCore::Style::RuleSet::Builder::~Builder): Deleted.
(WebCore::Style::RuleSet::Builder::addStyleRule): Deleted.
(WebCore::Style::RuleSet::Builder::registerLayers): Deleted.
(WebCore::Style::RuleSet::Builder::pushCascadeLayer): Deleted.
(WebCore::Style::RuleSet::Builder::popCascadeLayer): Deleted.
(WebCore::Style::RuleSet::Builder::updateCascadeLayerOrder): Deleted.
(WebCore::Style::RuleSet::Builder::addMutatingRulesToResolver): Deleted.
(WebCore::Style::RuleSet::MediaQueryCollector::pushAndEvaluate): Deleted.
(WebCore::Style::RuleSet::MediaQueryCollector::pop): Deleted.
(WebCore::Style::RuleSet::MediaQueryCollector::didMutateResolver): Deleted.
(WebCore::Style::RuleSet::MediaQueryCollector::addRuleIfNeeded): Deleted.
MediaQueryCollector (an implementation detail of the Builder) moves too.
- style/RuleSet.h:
- style/RuleSetBuilder.cpp: Added.
(WebCore::Style::RuleSetBuilder::~RuleSetBuilder):
(WebCore::Style::RuleSetBuilder::addChildRules):
(WebCore::Style::RuleSetBuilder::addRulesFromSheet):
(WebCore::Style::RuleSetBuilder::addStyleRule):
(WebCore::Style::RuleSetBuilder::registerLayers):
(WebCore::Style::RuleSetBuilder::pushCascadeLayer):
(WebCore::Style::RuleSetBuilder::popCascadeLayer):
(WebCore::Style::RuleSetBuilder::updateCascadeLayerOrder):
(WebCore::Style::RuleSetBuilder::addMutatingRulesToResolver):
(WebCore::Style::RuleSetMediaQueryCollector::pushAndEvaluate):
(WebCore::Style::RuleSetMediaQueryCollector::pop):
(WebCore::Style::RuleSetMediaQueryCollector::didMutateResolver):
(WebCore::Style::RuleSetMediaQueryCollector::addRuleIfNeeded):
- style/RuleSetBuilder.h: Added.
- 10:37 PM Changeset in webkit [283487] by
-
- 2 edits in trunk/Source/WebKit
[GTK] REGRESSION(r283304): All GTK4 layout tests are aborting
https://bugs.webkit.org/show_bug.cgi?id=231153
Reviewed by Alexey Proskuryakov.
Revert back to the previous NOP behavior of bindAccessibilityTree()
for GTK4, leaving the assert for the debug mode with an informative
message in the log.
Covered by existing tests.
- UIProcess/gtk/WebPageProxyGtk.cpp:
(WebKit::WebPageProxy::bindAccessibilityTree):
- 9:34 PM Changeset in webkit [283486] by
-
- 4 edits in trunk
[LFC][IFC] Do not take hanging whitespace sequence into account while finding expansion opportunities
https://bugs.webkit.org/show_bug.cgi?id=231132
Reviewed by Antti Koivisto.
Source/WebCore:
Ignore hanging whitespace for expansion opportunities.
This patch fixes imported/w3c/web-platform-tests/css/css-text/white-space/textarea-pre-wrap-014.html
- layout/formattingContexts/inline/InlineLine.cpp:
(WebCore::Layout::Line::applyRunExpansion):
LayoutTests:
- 6:07 PM Changeset in webkit [283485] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] HangingTrailingContent should cache width/length
https://bugs.webkit.org/show_bug.cgi?id=231128
Reviewed by Antti Koivisto.
Compute the length of the hanging trailing whitespace sequence.
This is in preparation for fixing imported/w3c/web-platform-tests/css/css-text/white-space/textarea-pre-wrap-014.html
- layout/formattingContexts/inline/InlineLine.cpp:
(WebCore::Layout::Line::Line):
(WebCore::Layout::Line::initialize):
(WebCore::Layout::Line::resetTrailingContent):
(WebCore::Layout::Line::appendTextContent):
(WebCore::Layout::Line::appendNonReplacedInlineLevelBox):
(WebCore::Layout::Line::HangingTrailingContent::add):
(WebCore::Layout::Line::HangingTrailingContent::HangingTrailingContent): Deleted.
(WebCore::Layout::Line::HangingTrailingContent::width const): Deleted.
- layout/formattingContexts/inline/InlineLine.h:
(WebCore::Layout::Line::HangingTrailingContent::length const):
(WebCore::Layout::Line::HangingTrailingContent::width const):
(WebCore::Layout::Line::HangingTrailingContent::reset):
- 4:09 PM Changeset in webkit [283484] by
-
- 2 edits in trunk/Source/WebCore
WebXRSession's m_environmentBlendMode and m_interactionMode are never initialized
https://bugs.webkit.org/show_bug.cgi?id=231144
Reviewed by Dean Jackson.
The m_environmentBlendMode and m_interactionMode members of WebXRSession were
not being initialized to anything and therefor were giving random data. This
is not really testable, as the result is just that the tests no longer flake.
- Modules/webxr/WebXRSession.h:
- 4:03 PM Changeset in webkit [283483] by
-
- 4 edits in trunk/Source/WebCore
Build fix: Attribute IOSurfaces created by camera and decoders to responsible WebProcess
<https://bugs.webkit.org/show_bug.cgi?id=231075>
<rdar://problem/83767168>
Unreviewed build fix.
Source/WebCore:
- platform/graphics/cocoa/IOSurface.mm:
- Remove IOSurfaceSPI.h header already included by IOSurface.h. This should force this source file to be rebuilt as well.
Source/WebCore/PAL:
- pal/spi/cocoa/IOSurfaceSPI.h:
(IOSurfaceMemoryLedgerTags):
- Define enums for both HAVE(IOSURFACE_SET_OWNERSHIP) and HAVE(IOSURFACE_SET_OWNERSHIP_IDENTITY).
- 4:00 PM Changeset in webkit [283482] by
-
- 14 edits in trunk/Source
Non-unified build fixes, early October 2021 edition
https://bugs.webkit.org/show_bug.cgi?id=231143
Unreviewed non-unified build fixes.
Source/JavaScriptCore:
- jit/BaselineJITCode.cpp:
Source/WebCore:
- Modules/filesystemaccess/FileSystemHandle.cpp:
- Modules/push-api/PushMessageData.h:
- html/track/InbandTextTrack.cpp:
- inspector/agents/InspectorCanvasAgent.h:
- loader/CrossOriginOpenerPolicy.cpp:
- rendering/LegacyLineLayout.cpp:
- rendering/RenderBlockFlow.cpp:
Source/WebKit:
- NetworkProcess/NetworkResourceLoadParameters.h:
- UIProcess/API/C/WKContext.cpp:
(WKContextTerminateGPUProcess):
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
- 2:57 PM Changeset in webkit [283481] by
-
- 6 edits in trunk
Incorrect preferred width computation when trimmable leading whitespace is present
https://bugs.webkit.org/show_bug.cgi?id=231139
Reviewed by Antti Koivisto.
Source/WebCore:
stripFrontSpaces should be reset to the default value whenever we are at the beginning of the line, while computing the preferred trimmed width.
This is already done for line break boxes (<br>) but not when the force line break comes from a text content with
preserved linebreak ("\n").
See WPT progressions.
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths const):
- rendering/RenderText.cpp:
(WebCore::RenderText::trimmedPreferredWidths):
- rendering/RenderText.h:
LayoutTests:
- TestExpectations: IFC already supports these cases. Preferred width computation produced an incorrect shrink-fit width.
- 2:29 PM Changeset in webkit [283480] by
-
- 2 edits in trunk/Source/WebCore/PAL
Build fix: GPU Process microphone attribution SPI adoption
<https://bugs.webkit.org/show_bug.cgi?id=231034>
<rdar://problem/83732537>
- pal/spi/cocoa/AVFoundationSPI.h:
(-[AVAudioSession setHostProcessAttribution:error:]):
- Add SPI declaration for open source bots.
- 2:03 PM Changeset in webkit [283479] by
-
- 2 edits in trunk/Source/JavaScriptCore
Remove control reaches end of non-void function warning
Unreviewed. Warning introduced in r283139.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::isConstantOwnedByUnlinkedCodeBlock const):
- 2:02 PM Changeset in webkit [283478] by
-
- 3 edits in trunk/Source/WebKit
[PlayStation] Pass logging channel parameter to WebProcess from environment variable
https://bugs.webkit.org/show_bug.cgi?id=230726
<rdar://problem/83740947>
Reviewed by Fujii Hironori.
Added release log configuration environment variables to PlayStation port.
- UIProcess/playstation/WebProcessPoolPlayStation.cpp:
(WebKit::WebProcessPool::platformInitializeWebProcess):
- WebProcess/playstation/WebProcessPlayStation.cpp:
(WebKit::WebProcess::platformInitializeWebProcess):
- 12:32 PM Changeset in webkit [283477] by
-
- 4 edits in trunk/Source/WebCore
[LFC][IFC] Line functions can compute the "extra horizontal space"
https://bugs.webkit.org/show_bug.cgi?id=231127
Reviewed by Antti Koivisto.
This is in preparation for making applyRunExpansion hanging whitespace aware.
- layout/formattingContexts/inline/InlineLine.cpp:
(WebCore::Layout::Line::removeCollapsibleContent):
(WebCore::Layout::Line::applyRunExpansion):
(WebCore::Layout::Line::visuallyCollapseHangingOverflow):
- layout/formattingContexts/inline/InlineLine.h:
- layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::close):
- 12:31 PM Changeset in webkit [283476] by
-
- 16 edits2 adds in trunk
WTF::RetainPtr<> allows assignment of two pointer types that are not assignable
<https://webkit.org/b/230406>
<rdar://problem/83241893>
Reviewed by Darin Adler.
Source/WebKit:
- Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(transformTrustToData):
- Change return type to match object.
(encodeError):
- Use bridge_cast() to fix assignment.
(transformDataToTrust):
- Change return type to match object.
(decodeError):
- Use bridge_id_cast() to fix assignment.
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):
- Use bridge_id_cast() to fix assignment.
- UIProcess/mac/WebDataListSuggestionsDropdownMac.h:
- Use correct name of class that actually exists.
Source/WebKitLegacy/mac:
- Plugins/WebBasePluginPackage.mm:
(+[WebBasePluginPackage pluginWithPath:]):
- Use explicit type with RetainPtr<> to match return type.
Source/WTF:
- wtf/RetainPtr.h:
(WTF::RetainPtr::RetainPtr):
(WTF::RetainPtr::checkType): Add.
- Add type check for move constructor.
- wtf/cocoa/TypeCastsCocoa.h:
- Change #include to #import.
(WTF_CF_TO_NS_BRIDGE_TRANSFER): Add.
(WTF_CF_TO_NS_BRIDGE_TRANSFER): Add.
- Helper macros for bridge_cast() and bridge_id_cast().
(WTF_DECLARE_CF_NS_BRIDGE_CAST): Add.
- Macro used to define bridge_cast() functions for all known toll-free-bridged types.
(WTF::bridge_cast): Add.
- Helper macro for toll-free-bridge casting from a known CF type to and from their Objective-C NS type. Prevents ref churn for rvale RetainPtr<> objects.
(WTF::bridge_id_cast): Add.
- Helper macro for casting from any CFTypeRef to id. Prevents ref churn for rvalue RetainPtr<> objects.
(WTF::checked_objc_cast):
- Simplified to match dynamic_objc_cast<> implementation in RetainPtr.h.
- wtf/cocoa/VectorCocoa.h:
(WTF::createNSArray):
- Change return type to match object.
Tools:
- DumpRenderTree/mac/DumpRenderTree.mm:
(dump):
- Use bridge_cast() to fix assignment.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- Add RetainPtrARC.mm and TypeCastsCocoaARC.mm to the project.
- TestWebKitAPI/Tests/WTF/cocoa/TypeCastsCocoa.mm:
- Update for dual compilation with MRR and with ARC. Change -retainCount methods to CFGetRetainCount().
- Add @autoreleasepool blocks around groups of tests to find over-released bugs sooner (for future changes).
- Add more CFGetRetainCount() to catch unexpected auto-released objects as well as leaks.
(TestWebKitAPI::helloWorldCStringLength): Add.
(TestWebKitAPI::TEST):
- Add tests for bridge_cast() and bridge_id_cast().
- Remove invalid tests after changing RetainPtr<> move constructor to check types.
- TestWebKitAPI/Tests/WTF/cocoa/TypeCastsCocoaARC.mm: Add.
- Run tests in TypeCastsCocoa.mm with ARC enabled.
- TestWebKitAPI/Tests/WTF/ns/RetainPtr.mm:
(TestWebKitAPI::TEST):
- Update for dual compilation with MRR and with ARC. Change -retainCount methods to CFGetRetainCount().
- Make it possible to name tests differently for MRR vs. ARC using RETAIN_PTR_TEST_NAME macro.
- TestWebKitAPI/Tests/WTF/ns/RetainPtrARC.mm: Add.
- Run tests in RetainPtr.mm with ARC enabled.
- TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm:
(readFile):
- Use bridge_cast() to fix assignment.
- Drive-by fix to keep NSData out of autoreleasePool.
- 11:48 AM Changeset in webkit [283475] by
-
- 1 copy in tags/Safari-612.2.9.1.3
Tag Safari-612.2.9.1.3.
- 11:46 AM Changeset in webkit [283474] by
-
- 6 edits in trunk/Source/WebCore
[LFC][IFC] Moving hanging whitespace sequence handling to Line
https://bugs.webkit.org/show_bug.cgi?id=231126
Reviewed by Antti Koivisto.
Let the Line handle the whitespace hanging. Line::HangingTrailingContent will eventually gain more functionality.
This is also in preparation for fixing imported/w3c/web-platform-tests/css/css-text/white-space/textarea-pre-wrap-014.html
- layout/formattingContexts/inline/InlineLine.cpp:
(WebCore::Layout::Line::Line):
(WebCore::Layout::Line::visuallyCollapseHangingOverflow):
(WebCore::Layout::Line::HangingTrailingContent::HangingTrailingContent):
(WebCore::Layout::Line::HangingTrailingContent::width const):
- layout/formattingContexts/inline/InlineLine.h:
(WebCore::Layout::Line::hangingWhitespaceWidth const):
(WebCore::Layout::Line::Run::shouldTrailingWhitespaceHang const):
(WebCore::Layout::Line::Run::isOverflowWhitespaceHanging const): Deleted. shouldTrailingWhitespaceHang is a more descriptive name.
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::horizontalAlignmentOffset):
(WebCore::Layout::LineBoxBuilder::build):
(WebCore::Layout::hangingGlyphWidth): Deleted.
- layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::layoutInlineContent):
- layout/formattingContexts/inline/InlineLineBuilder.h:
- 11:41 AM Changeset in webkit [283473] by
-
- 1 copy in tags/Safari-612.2.9.0.3
Tag Safari-612.2.9.0.3.
- 11:30 AM Changeset in webkit [283472] by
-
- 1 copy in tags/Safari-612.2.9.2.2
Tag Safari-612.2.9.2.2.
- 11:28 AM Changeset in webkit [283471] by
-
- 1 copy in tags/Safari-612.2.9.3.2
Tag Safari-612.2.9.3.2.
- 10:22 AM Changeset in webkit [283470] by
-
- 7 edits in trunk/Source
WebCore::Length incorrectly uses memcpy() for copy constructors/operator and IPC encoding/decoding
https://bugs.webkit.org/show_bug.cgi?id=230744
Reviewed by David Kilzer.
Source/WebCore:
Copy-constructing Length by memcpy is sketchy; replace with code that initializes the appropriate
fields based on type, taking care to deref() and ref() the calc handle.
Expose isFloat() for encoding.
- css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::CalcParser::consumeValueIfCategory): Add a bit of calc logging.
- platform/Length.cpp:
(WebCore::Length::Length):
- platform/Length.h:
(WebCore::Length::Length):
(WebCore::Length::operator=):
(WebCore::Length::isFloat const):
Source/WebKit:
Safe encoding/decoding of Length requires that we encode the enum and fields separately,
and don't allow calc types (there isn't enough context in the receiving process to resolve
calc).
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<Length>::encode):
(IPC::ArgumentCoder<Length>::decode):
- Shared/WebCoreArgumentCoders.h:
- 10:19 AM Changeset in webkit [283469] by
-
- 8 edits in trunk
Enable release log to stderr
https://bugs.webkit.org/show_bug.cgi?id=230725
<rdar://problem/83740529>
Reviewed by Michael Catanzaro.
.:
Introduced new flags, USE_LOG_STDERR for release logging to stderr.
- Source/cmake/WebKitFeatures.cmake:
Source/WebCore:
SQLiteDatabase uses hard-coded %{public} format specifiers. Replace them with defined
macro.
No new tests because there is no behavior change.
- platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::close):
(WebCore::SQLiteDatabase::prepareStatementSlow):
(WebCore::SQLiteDatabase::prepareStatement):
(WebCore::SQLiteDatabase::prepareHeapStatementSlow):
(WebCore::SQLiteDatabase::prepareHeapStatement):
Source/WTF:
Define new compiler definitions, USE_LOG_STDERR for release logging. We don't have
modern logging backend so that dumping out to stdout/stderr is still very valuable.
- wtf/Assertions.cpp:
- wtf/Assertions.h:
- wtf/Logger.h:
(WTF::Logger::log):
(WTF::Logger::logVerbose):
- 10:10 AM Changeset in webkit [283468] by
-
- 2 edits in trunk/Tools
Some layout tests with Japanese glyphs fail if Japanese is included in the system "Preferred Languages" settings
https://bugs.webkit.org/show_bug.cgi?id=231112
Reviewed by Simon Fraser.
Simply set the default locale to en-US. Tests can still override it.
- WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::defaults):
- 10:02 AM Changeset in webkit [283467] by
-
- 1 edit in branches/safari-611.4.2.0-branch/Source/WebKit/NetworkProcess/NetworkLoadChecker.cpp
Apply patch. rdar://problem/81175635
- 10:02 AM Changeset in webkit [283466] by
-
- 8 edits8 adds in branches/safari-611.4.2.0-branch
Cherry-pick r281431. rdar://problem/81175635
This reverts r283414.
- 8:52 AM Changeset in webkit [283465] by
-
- 3 edits2 adds in trunk
REGRESSION (r283335): rubber-banding no longer locks to an axis
https://bugs.webkit.org/show_bug.cgi?id=231131
Reviewed by Tim Horton.
Source/WebCore:
r283335 introduced a bug where pulling down to rubber-band would result in sideways
motion even when the gesture was mostly vertical.
ScrollingEffectsController::modifyScrollDeltaForStretching() has some axis-locking behavior
that was broken by r283335, so restore the old behavior.
Test: fast/scrolling/mac/rubberband-axis-locking.html
- platform/mac/ScrollingEffectsController.mm:
(WebCore::ScrollingEffectsController::modifyScrollDeltaForStretching):
(WebCore::isHorizontalSide): Deleted.
(WebCore::isVerticalSide): Deleted.
LayoutTests:
- fast/scrolling/mac/rubberband-axis-locking-expected.txt: Added.
- fast/scrolling/mac/rubberband-axis-locking.html: Added.
- 6:59 AM Changeset in webkit [283464] by
-
- 33 edits2 adds in trunk/Source/WebCore
[LFC][Integration] More run->box renaming and other iterator cleanups
https://bugs.webkit.org/show_bug.cgi?id=231135
Reviewed by Alan Bujtas.
Also move TextBoxIterator to a file of its own.
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::localCaretRectForCharacterOffset):
- dom/Position.cpp:
(WebCore::hasInlineRun):
(WebCore::Position::upstream const):
(WebCore::Position::downstream const):
(WebCore::searchAheadForBetterMatch):
(WebCore::Position::inlineRunAndOffset const):
- editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::deleteInsignificantText):
- editing/TextIterator.cpp:
(WebCore::TextIterator::handleTextNode):
(WebCore::TextIterator::handleTextRun):
(WebCore::TextIterator::handleTextNodeFirstLetter):
- editing/TextIterator.h:
- layout/integration/InlineIteratorBox.cpp:
(WebCore::InlineIterator::BoxIterator::BoxIterator):
(WebCore::InlineIterator::BoxIterator::operator== const):
(WebCore::InlineIterator::BoxIterator::atEnd const):
(WebCore::InlineIterator::Box::line const):
(WebCore::InlineIterator::BoxIterator::traverseNextOnLine):
(WebCore::InlineIterator::BoxIterator::traversePreviousOnLine):
(WebCore::InlineIterator::BoxIterator::traverseNextOnLineIgnoringLineBreak):
(WebCore::InlineIterator::BoxIterator::traversePreviousOnLineIgnoringLineBreak):
(WebCore::InlineIterator::BoxIterator::traverseNextOnLineInLogicalOrder):
(WebCore::InlineIterator::BoxIterator::traversePreviousOnLineInLogicalOrder):
(WebCore::InlineIterator::boxFor):
(WebCore::InlineIterator::Box::modernPath const):
(WebCore::InlineIterator::Box::legacyPath const):
(WebCore::InlineIterator::TextBox::nextTextRun const): Deleted.
(WebCore::InlineIterator::TextBox::nextTextRunInTextOrder const): Deleted.
(WebCore::InlineIterator::TextBox::selectionRect const): Deleted.
(WebCore::InlineIterator::TextBox::isCombinedText const): Deleted.
(WebCore::InlineIterator::TextBox::fontCascade const): Deleted.
(WebCore::InlineIterator::TextBoxIterator::TextBoxIterator): Deleted.
(WebCore::InlineIterator::TextBoxIterator::traverseNextTextRun): Deleted.
(WebCore::InlineIterator::TextBoxIterator::traverseNextTextRunInTextOrder): Deleted.
(WebCore::InlineIterator::firstTextRunFor): Deleted.
(WebCore::InlineIterator::firstTextRunInTextOrderFor): Deleted.
(WebCore::InlineIterator::textRunFor): Deleted.
(WebCore::InlineIterator::textRunsFor): Deleted.
(WebCore::InlineIterator::runFor): Deleted.
- layout/integration/InlineIteratorBox.h:
(WebCore::InlineIterator::BoxIterator::BoxIterator):
(WebCore::InlineIterator::BoxIterator::operator* const):
(WebCore::InlineIterator::BoxIterator::operator-> const):
(WebCore::InlineIterator::Box::legacyInlineBox const):
(WebCore::InlineIterator::Box::inlineBox const):
(WebCore::InlineIterator::TextBox::renderer const): Deleted.
(WebCore::InlineIterator::TextBox::legacyInlineBox const): Deleted.
(WebCore::InlineIterator::TextBoxIterator::TextBoxIterator): Deleted.
(WebCore::InlineIterator::TextBoxIterator::operator++): Deleted.
(WebCore::InlineIterator::TextBoxIterator::operator* const): Deleted.
(WebCore::InlineIterator::TextBoxIterator::operator-> const): Deleted.
(WebCore::InlineIterator::TextBoxIterator::get const): Deleted.
(WebCore::InlineIterator::TextRunRange::TextRunRange): Deleted.
(WebCore::InlineIterator::TextRunRange::begin const): Deleted.
(WebCore::InlineIterator::TextRunRange::end const): Deleted.
(WebCore::InlineIterator::TextBox::hasHyphen const): Deleted.
(WebCore::InlineIterator::TextBox::TextBox): Deleted.
(WebCore::InlineIterator::TextBox::text const): Deleted.
(WebCore::InlineIterator::TextBox::start const): Deleted.
(WebCore::InlineIterator::TextBox::end const): Deleted.
(WebCore::InlineIterator::TextBox::length const): Deleted.
(WebCore::InlineIterator::TextBox::offsetForPosition const): Deleted.
(WebCore::InlineIterator::TextBox::positionForOffset const): Deleted.
(WebCore::InlineIterator::TextBox::selectableRange const): Deleted.
(WebCore::InlineIterator::TextBox::createTextRun const): Deleted.
(isType): Deleted.
- layout/integration/InlineIteratorBoxLegacyPath.h:
(WebCore::InlineIterator::BoxLegacyPath::BoxLegacyPath):
(WebCore::InlineIterator::BoxLegacyPath::traverseNextTextBox):
(WebCore::InlineIterator::BoxLegacyPath::traverseNextTextBoxInTextOrder):
(WebCore::InlineIterator::BoxLegacyPath::operator== const):
(WebCore::InlineIterator::BoxLegacyPath::traverseNextInlineBoxInCacheOrder):
(WebCore::InlineIterator::BoxLegacyPath::traversePreviousInlineBoxInCacheOrder):
(WebCore::InlineIterator::BoxIteratorLegacyPath::BoxIteratorLegacyPath): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::isText const): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::rect const): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::isHorizontal const): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::dirOverride const): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::isLineBreak const): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::minimumCaretOffset const): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::maximumCaretOffset const): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::bidiLevel const): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::hasHyphen const): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::text const): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::start const): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::end const): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::length const): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::offsetForPosition const): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::positionForOffset const): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::selectableRange const): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::createTextRun const): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::renderer const): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::traverseNextTextRun): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::traverseNextTextRunInTextOrder): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::traverseNextOnLine): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::traversePreviousOnLine): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::traverseNextOnLineInLogicalOrder): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::traversePreviousOnLineInLogicalOrder): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::operator== const): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::atEnd const): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::legacyInlineBox const): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::rootInlineBox const): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::inlineTextBox const): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::initializeLogicalOrderCacheForLine): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::traverseNextInlineBoxInCacheOrder): Deleted.
(WebCore::InlineIterator::BoxIteratorLegacyPath::traversePreviousInlineBoxInCacheOrder): Deleted.
- layout/integration/InlineIteratorBoxModernPath.h:
(WebCore::InlineIterator::BoxModernPath::BoxModernPath):
(WebCore::InlineIterator::BoxModernPath::traverseNextTextBox):
(WebCore::InlineIterator::BoxModernPath::traverseNextTextBoxInTextOrder):
(WebCore::InlineIterator::BoxModernPath::operator== const):
(WebCore::InlineIterator::BoxIteratorModernPath::BoxIteratorModernPath): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::isText const): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::rect const): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::isHorizontal const): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::dirOverride const): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::isLineBreak const): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::minimumCaretOffset const): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::maximumCaretOffset const): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::bidiLevel const): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::hasHyphen const): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::text const): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::start const): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::end const): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::length const): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::offsetForPosition const): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::positionForOffset const): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::selectableRange const): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::createTextRun const): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::renderer const): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::traverseNextTextRun): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::traverseNextTextRunInTextOrder): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::traverseNextOnLine): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::traversePreviousOnLine): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::traverseNextOnLineInLogicalOrder): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::traversePreviousOnLineInLogicalOrder): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::operator== const): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::atEnd const): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::box const): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::inlineContent const): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::traverseNextLeaf): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::traversePreviousLeaf): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::setAtEnd): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::boxes const): Deleted.
(WebCore::InlineIterator::BoxIteratorModernPath::line const): Deleted.
- layout/integration/InlineIteratorLineLegacyPath.h:
(WebCore::InlineIterator::LineIteratorLegacyPath::firstRun const):
(WebCore::InlineIterator::LineIteratorLegacyPath::lastRun const):
(WebCore::InlineIterator::LineIteratorLegacyPath::logicalStartRun const):
(WebCore::InlineIterator::LineIteratorLegacyPath::logicalEndRun const):
- layout/integration/InlineIteratorLineModernPath.h:
(WebCore::InlineIterator::LineIteratorModernPath::firstRun const):
(WebCore::InlineIterator::LineIteratorModernPath::lastRun const):
(WebCore::InlineIterator::LineIteratorModernPath::logicalStartRun const):
(WebCore::InlineIterator::LineIteratorModernPath::logicalEndRun const):
- layout/integration/InlineIteratorTextBox.cpp: Added.
(WebCore::InlineIterator::TextBox::nextTextBox const):
(WebCore::InlineIterator::TextBox::nextTextBoxInTextOrder const):
(WebCore::InlineIterator::TextBox::selectionRect const):
(WebCore::InlineIterator::TextBox::isCombinedText const):
(WebCore::InlineIterator::TextBox::fontCascade const):
(WebCore::InlineIterator::TextBoxIterator::TextBoxIterator):
(WebCore::InlineIterator::TextBoxIterator::traverseNextTextBox):
(WebCore::InlineIterator::TextBoxIterator::traverseNextTextBoxInTextOrder):
(WebCore::InlineIterator::firstTextBoxFor):
(WebCore::InlineIterator::firstTextBoxInTextOrderFor):
(WebCore::InlineIterator::textBoxFor):
(WebCore::InlineIterator::textBoxesFor):
- layout/integration/InlineIteratorTextBox.h: Added.
(WebCore::InlineIterator::TextBox::renderer const):
(WebCore::InlineIterator::TextBox::legacyInlineBox const):
(WebCore::InlineIterator::TextBoxIterator::TextBoxIterator):
(WebCore::InlineIterator::TextBoxIterator::operator++):
(WebCore::InlineIterator::TextBoxIterator::operator* const):
(WebCore::InlineIterator::TextBoxIterator::operator-> const):
(WebCore::InlineIterator::TextBoxIterator::get const):
(WebCore::InlineIterator::TextBoxRange::TextBoxRange):
(WebCore::InlineIterator::TextBoxRange::begin const):
(WebCore::InlineIterator::TextBoxRange::end const):
(WebCore::InlineIterator::TextBox::hasHyphen const):
(WebCore::InlineIterator::TextBox::TextBox):
(WebCore::InlineIterator::TextBox::text const):
(WebCore::InlineIterator::TextBox::start const):
(WebCore::InlineIterator::TextBox::end const):
(WebCore::InlineIterator::TextBox::length const):
(WebCore::InlineIterator::TextBox::offsetForPosition const):
(WebCore::InlineIterator::TextBox::positionForOffset const):
(WebCore::InlineIterator::TextBox::selectableRange const):
(WebCore::InlineIterator::TextBox::createTextRun const):
(isType):
- layout/integration/LayoutIntegrationCoverage.h:
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::textBoxesFor const):
(WebCore::LayoutIntegration::LineLayout::boxFor const):
(WebCore::LayoutIntegration::LineLayout::textRunsFor const): Deleted.
(WebCore::LayoutIntegration::LineLayout::runFor const): Deleted.
- layout/integration/LayoutIntegrationLineLayout.h:
- rendering/CaretRectComputation.cpp:
- rendering/LegacyInlineTextBox.h:
- rendering/LegacyLineLayout.cpp:
(WebCore::setLogicalWidthForTextRun):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::getLeadingCorner const):
- rendering/RenderImage.cpp:
(WebCore::RenderImage::collectSelectionGeometries):
- rendering/RenderLineBreak.cpp:
(WebCore::RenderLineBreak::linesBoundingBox const):
(WebCore::RenderLineBreak::absoluteRects const):
(WebCore::RenderLineBreak::absoluteQuads const):
(WebCore::RenderLineBreak::collectSelectionGeometries):
- rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::positionForPoint):
- rendering/RenderText.cpp:
(WebCore::RenderText::absoluteRects const):
(WebCore::RenderText::collectSelectionGeometries):
(WebCore::collectAbsoluteQuads):
(WebCore::RenderText::absoluteQuadsForRange const):
(WebCore::RenderText::positionForPoint):
(WebCore::RenderText::firstRunLocation const):
(WebCore::RenderText::linesBoundingBox const):
(WebCore::RenderText::collectSelectionGeometriesForLineBoxes):
(WebCore::RenderText::caretMinOffset const):
(WebCore::RenderText::caretMaxOffset const):
(WebCore::RenderText::countRenderedCharacterOffsetsUntil const):
(WebCore::containsOffset):
(WebCore::RenderText::hasRenderedText const):
- rendering/RenderTreeAsText.cpp:
(WebCore::RenderTreeAsText::writeRenderObject):
(WebCore::write):
- rendering/TextBoxPainter.cpp:
(WebCore::TextBoxPainter::TextBoxPainter):
(WebCore::TextBoxPainter::paintDecoration):
(WebCore::TextBoxPainter::calculateUnionOfAllDocumentMarkerBounds):
- rendering/TextBoxPainter.h:
- rendering/TextDecorationPainter.cpp:
(WebCore::TextDecorationPainter::paintTextDecoration):
- rendering/TextDecorationPainter.h:
(WebCore::TextDecorationPainter::setTextBox):
(WebCore::TextDecorationPainter::setTextBoxIterator): Deleted.
- rendering/style/RenderStyle.cpp:
- style/InlineTextBoxStyle.cpp:
- 12:16 AM Changeset in webkit [283463] by
-
- 398 edits in trunk/Source/WebCore
Setting and RuntimeEnabledFeature names in IDL files should match those used elsewhere
https://bugs.webkit.org/show_bug.cgi?id=231129
Rubber-stamped by Sam Weinig.
No new tests; no functional change.
For ease of searching the project, the Setting/RuntimeEnabledFeature names inside
IDL files should match the names used in C++ code (specifically, they shouldn't
magically elide the -Enabled suffix, so that if you search for XFeatureEnabled,
you don't miss the IDL uses).
- Modules/applepay/ApplePaySession.idl:
- Modules/applepay/ApplePaySetup.idl:
- Modules/applepay/ApplePaySetupFeature.idl:
- Modules/async-clipboard/Clipboard.idl:
- Modules/async-clipboard/ClipboardItem.idl:
- Modules/async-clipboard/Navigator+Clipboard.idl:
- Modules/beacon/Navigator+Beacon.idl:
- Modules/cache/DOMCache.idl:
- Modules/cache/DOMCacheStorage.idl:
- Modules/cache/WindowOrWorkerGlobalScope+Caches.idl:
- Modules/contact-picker/ContactsManager.idl:
- Modules/contact-picker/Navigator+Contacts.idl:
- Modules/credentialmanagement/BasicCredential.idl:
- Modules/credentialmanagement/CredentialsContainer.idl:
- Modules/credentialmanagement/Navigator+Credentials.idl:
- Modules/encryptedmedia/MediaKeyMessageEvent.idl:
- Modules/encryptedmedia/MediaKeySession.idl:
- Modules/encryptedmedia/MediaKeyStatusMap.idl:
- Modules/encryptedmedia/MediaKeySystemAccess.idl:
- Modules/encryptedmedia/MediaKeys.idl:
- Modules/encryptedmedia/Navigator+EME.idl:
- Modules/encryptedmedia/legacy/WebKitMediaKeyMessageEvent.idl:
- Modules/encryptedmedia/legacy/WebKitMediaKeyNeededEvent.idl:
- Modules/encryptedmedia/legacy/WebKitMediaKeySession.idl:
- Modules/encryptedmedia/legacy/WebKitMediaKeys.idl:
- Modules/entriesapi/DOMFileSystem.idl:
- Modules/entriesapi/FileSystemDirectoryEntry.idl:
- Modules/entriesapi/FileSystemDirectoryReader.idl:
- Modules/entriesapi/FileSystemEntry.idl:
- Modules/entriesapi/FileSystemFileEntry.idl:
- Modules/entriesapi/HTMLInputElement+EntriesAPI.idl:
- Modules/fetch/FetchRequest.idl:
- Modules/filesystemaccess/FileSystemDirectoryHandle.idl:
- Modules/filesystemaccess/FileSystemFileHandle.idl:
- Modules/filesystemaccess/FileSystemHandle.idl:
- Modules/filesystemaccess/StorageManager+FileSystemAccess.idl:
- Modules/gamepad/Gamepad.idl:
- Modules/gamepad/GamepadButton.idl:
- Modules/gamepad/GamepadEvent.idl:
- Modules/gamepad/Navigator+Gamepad.idl:
- Modules/geolocation/GeolocationCoordinates.idl:
- Modules/highlight/Highlight.idl:
- Modules/highlight/HighlightRegister.idl:
- Modules/mediacapabilities/AudioConfiguration.idl:
- Modules/mediacapabilities/MediaCapabilities.idl:
- Modules/mediacapabilities/MediaCapabilitiesDecodingInfo.idl:
- Modules/mediacapabilities/MediaCapabilitiesEncodingInfo.idl:
- Modules/mediacapabilities/MediaCapabilitiesInfo.idl:
- Modules/mediacapabilities/MediaDecodingConfiguration.idl:
- Modules/mediacapabilities/MediaEncodingConfiguration.idl:
- Modules/mediacapabilities/Navigator+MediaCapabilities.idl:
- Modules/mediacapabilities/VideoConfiguration.idl:
- Modules/mediacontrols/MediaControlsHost.idl:
- Modules/mediarecorder/BlobEvent.idl:
- Modules/mediarecorder/MediaRecorder.idl:
- Modules/mediarecorder/MediaRecorderErrorEvent.idl:
- Modules/mediasession/MediaMetadataInit.idl:
- Modules/mediasession/MediaMetadataPlaylistMixin.idl:
- Modules/mediasession/MediaSessionActionDetails.idl:
- Modules/mediasession/MediaSessionCoordinator.idl:
- Modules/mediasession/MediaSessionCoordinatorMixin.idl:
- Modules/mediasession/MediaSessionPlaylistMixin.idl:
- Modules/mediasession/Navigator+MediaSession.idl:
- Modules/mediasource/AudioTrack+MediaSource.idl:
- Modules/mediasource/DOMURL+MediaSource.idl:
- Modules/mediasource/MediaSource.idl:
- Modules/mediasource/SourceBuffer.idl:
- Modules/mediasource/SourceBufferList.idl:
- Modules/mediasource/TextTrack+MediaSource.idl:
- Modules/mediasource/VideoPlaybackQuality.idl:
- Modules/mediasource/VideoTrack+MediaSource.idl:
- Modules/mediastream/MediaDevices.idl:
- Modules/mediastream/Navigator+MediaDevices.idl:
- Modules/mediastream/RTCAnswerOptions.idl:
- Modules/mediastream/RTCCertificate.idl:
- Modules/mediastream/RTCConfiguration.idl:
- Modules/mediastream/RTCDTMFSender.idl:
- Modules/mediastream/RTCDTMFToneChangeEvent.idl:
- Modules/mediastream/RTCDataChannel.idl:
- Modules/mediastream/RTCDataChannelEvent.idl:
- Modules/mediastream/RTCDtlsTransport.idl:
- Modules/mediastream/RTCDtlsTransportState.idl:
- Modules/mediastream/RTCEncodedAudioFrame.idl:
- Modules/mediastream/RTCEncodedVideoFrame.idl:
- Modules/mediastream/RTCError.idl:
- Modules/mediastream/RTCErrorEvent.idl:
- Modules/mediastream/RTCIceCandidate.idl:
- Modules/mediastream/RTCIceCandidateInit.idl:
- Modules/mediastream/RTCIceConnectionState.idl:
- Modules/mediastream/RTCIceGatheringState.idl:
- Modules/mediastream/RTCIceServer.idl:
- Modules/mediastream/RTCIceTransport.idl:
- Modules/mediastream/RTCIceTransportState.idl:
- Modules/mediastream/RTCOfferAnswerOptions.idl:
- Modules/mediastream/RTCOfferOptions.idl:
- Modules/mediastream/RTCPeerConnection.idl:
- Modules/mediastream/RTCPeerConnectionIceErrorEvent.idl:
- Modules/mediastream/RTCPeerConnectionIceEvent.idl:
- Modules/mediastream/RTCPeerConnectionState.idl:
- Modules/mediastream/RTCPriorityType.idl:
- Modules/mediastream/RTCRtcpParameters.idl:
- Modules/mediastream/RTCRtpCapabilities.idl:
- Modules/mediastream/RTCRtpCodecCapability.idl:
- Modules/mediastream/RTCRtpCodecParameters.idl:
- Modules/mediastream/RTCRtpCodingParameters.idl:
- Modules/mediastream/RTCRtpContributingSource.idl:
- Modules/mediastream/RTCRtpDecodingParameters.idl:
- Modules/mediastream/RTCRtpEncodingParameters.idl:
- Modules/mediastream/RTCRtpFecParameters.idl:
- Modules/mediastream/RTCRtpHeaderExtensionParameters.idl:
- Modules/mediastream/RTCRtpParameters.idl:
- Modules/mediastream/RTCRtpReceiver+Transform.idl:
- Modules/mediastream/RTCRtpReceiver.idl:
- Modules/mediastream/RTCRtpRtxParameters.idl:
- Modules/mediastream/RTCRtpSFrameTransform.idl:
- Modules/mediastream/RTCRtpSFrameTransformErrorEvent.idl:
- Modules/mediastream/RTCRtpScriptTransform.idl:
- Modules/mediastream/RTCRtpScriptTransformer.idl:
- Modules/mediastream/RTCRtpSendParameters.idl:
- Modules/mediastream/RTCRtpSender+Transform.idl:
- Modules/mediastream/RTCRtpSender.idl:
- Modules/mediastream/RTCRtpSynchronizationSource.idl:
- Modules/mediastream/RTCRtpTransceiver.idl:
- Modules/mediastream/RTCRtpTransceiverDirection.idl:
- Modules/mediastream/RTCSctpTransport.idl:
- Modules/mediastream/RTCSctpTransportState.idl:
- Modules/mediastream/RTCSdpType.idl:
- Modules/mediastream/RTCSessionDescription.idl:
- Modules/mediastream/RTCSignalingState.idl:
- Modules/mediastream/RTCStatsReport.idl:
- Modules/mediastream/RTCTrackEvent.idl:
- Modules/mediastream/RTCTransformEvent.idl:
- Modules/model-element/HTMLModelElement.idl:
- Modules/paymentrequest/MerchantValidationEvent.idl:
- Modules/paymentrequest/PaymentAddress.idl:
- Modules/paymentrequest/PaymentMethodChangeEvent.idl:
- Modules/paymentrequest/PaymentRequest.idl:
- Modules/paymentrequest/PaymentRequestUpdateEvent.idl:
- Modules/paymentrequest/PaymentResponse.idl:
- Modules/permissions/Navigator+Permissions.idl:
- Modules/permissions/PermissionDescriptor.idl:
- Modules/permissions/PermissionStatus.idl:
- Modules/permissions/Permissions.idl:
- Modules/pictureinpicture/Document+PictureInPicture.idl:
- Modules/pictureinpicture/DocumentOrShadowRoot+PictureInPicture.idl:
- Modules/pictureinpicture/EnterPictureInPictureEvent.idl:
- Modules/pictureinpicture/HTMLVideoElement+PictureInPicture.idl:
- Modules/pictureinpicture/PictureInPictureWindow.idl:
- Modules/push-api/PushEvent.idl:
- Modules/push-api/PushMessageData.idl:
- Modules/push-api/ServiceWorkerGlobalScope+PushAPI.idl:
- Modules/remoteplayback/HTMLMediaElement+RemotePlayback.idl:
- Modules/remoteplayback/RemotePlayback.idl:
- Modules/remoteplayback/RemotePlaybackAvailabilityCallback.idl:
- Modules/speech/SpeechRecognition.idl:
- Modules/speech/SpeechRecognitionAlternative.idl:
- Modules/speech/SpeechRecognitionErrorEvent.idl:
- Modules/speech/SpeechRecognitionEvent.idl:
- Modules/speech/SpeechRecognitionResult.idl:
- Modules/speech/SpeechRecognitionResultList.idl:
- Modules/storage/StorageManager.idl:
- Modules/streams/TransformStream.idl:
- Modules/streams/TransformStreamDefaultController.idl:
- Modules/webaudio/AnalyserNode.idl:
- Modules/webaudio/AudioBuffer.idl:
- Modules/webaudio/AudioBufferSourceNode.idl:
- Modules/webaudio/AudioContext.idl:
- Modules/webaudio/AudioParamMap.idl:
- Modules/webaudio/AudioProcessingEvent.idl:
- Modules/webaudio/AudioWorklet.idl:
- Modules/webaudio/AudioWorkletNode.idl:
- Modules/webaudio/AudioWorkletNodeOptions.idl:
- Modules/webaudio/BaseAudioContext.idl:
- Modules/webaudio/BiquadFilterNode.idl:
- Modules/webaudio/ChannelMergerNode.idl:
- Modules/webaudio/ChannelSplitterNode.idl:
- Modules/webaudio/ConstantSourceNode.idl:
- Modules/webaudio/ConstantSourceOptions.idl:
- Modules/webaudio/ConvolverNode.idl:
- Modules/webaudio/DelayNode.idl:
- Modules/webaudio/DynamicsCompressorNode.idl:
- Modules/webaudio/GainNode.idl:
- Modules/webaudio/IIRFilterNode.idl:
- Modules/webaudio/MediaElementAudioSourceNode.idl:
- Modules/webaudio/MediaStreamAudioDestinationNode.idl:
- Modules/webaudio/MediaStreamAudioSourceNode.idl:
- Modules/webaudio/OfflineAudioContext.idl:
- Modules/webaudio/OscillatorNode.idl:
- Modules/webaudio/PannerNode.idl:
- Modules/webaudio/PeriodicWave.idl:
- Modules/webaudio/StereoPannerNode.idl:
- Modules/webaudio/WaveShaperNode.idl:
- Modules/webauthn/AuthenticatorAssertionResponse.idl:
- Modules/webauthn/AuthenticatorAttestationResponse.idl:
- Modules/webauthn/AuthenticatorResponse.idl:
- Modules/webauthn/PublicKeyCredential.idl:
- Modules/webdatabase/Database.idl:
- Modules/webdatabase/SQLError.idl:
- Modules/webdatabase/SQLResultSet.idl:
- Modules/webdatabase/SQLResultSetRowList.idl:
- Modules/websockets/WebSocket.idl:
- Modules/webxr/Navigator+WebXR.idl:
- Modules/webxr/WebXRBoundedReferenceSpace.idl:
- Modules/webxr/WebXRFrame.idl:
- Modules/webxr/WebXRInputSource.idl:
- Modules/webxr/WebXRInputSourceArray.idl:
- Modules/webxr/WebXRLayer.idl:
- Modules/webxr/WebXRPose.idl:
- Modules/webxr/WebXRReferenceSpace.idl:
- Modules/webxr/WebXRRenderState.idl:
- Modules/webxr/WebXRRigidTransform.idl:
- Modules/webxr/WebXRSession.idl:
- Modules/webxr/WebXRSpace.idl:
- Modules/webxr/WebXRSystem.idl:
- Modules/webxr/WebXRView.idl:
- Modules/webxr/WebXRViewerPose.idl:
- Modules/webxr/WebXRViewport.idl:
- Modules/webxr/WebXRWebGLLayer.idl:
- Modules/webxr/XREnvironmentBlendMode.idl:
- Modules/webxr/XREye.idl:
- Modules/webxr/XRHandedness.idl:
- Modules/webxr/XRInputSourceEvent.idl:
- Modules/webxr/XRInputSourcesChangeEvent.idl:
- Modules/webxr/XRInteractionMode.idl:
- Modules/webxr/XRReferenceSpaceEvent.idl:
- Modules/webxr/XRReferenceSpaceType.idl:
- Modules/webxr/XRRenderStateInit.idl:
- Modules/webxr/XRSessionEvent.idl:
- Modules/webxr/XRSessionInit.idl:
- Modules/webxr/XRSessionMode.idl:
- Modules/webxr/XRTargetRayMode.idl:
- Modules/webxr/XRVisibilityState.idl:
- Modules/webxr/XRWebGLLayerInit.idl:
- accessibility/AccessibilityRole.idl:
- accessibility/AriaAttributes.idl:
- animation/KeyframeEffect.idl:
- animation/WebAnimation.idl:
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateRuntimeEnableConditionalString):
- bindings/scripts/test/TestConditionalIncludes.idl:
- bindings/scripts/test/TestConditionallyReadWrite.idl:
- bindings/scripts/test/TestDefaultToJSON.idl:
- bindings/scripts/test/TestEnabledBySetting.idl:
- bindings/scripts/test/TestEnabledBySettingSupplemental.idl:
- bindings/scripts/test/TestEnabledForContext.idl:
- bindings/scripts/test/TestGlobalObject.idl:
- bindings/scripts/test/TestMixinInterface.idl:
- bindings/scripts/test/TestNamespaceObject.idl:
- bindings/scripts/test/TestNode.idl:
- bindings/scripts/test/TestObj.idl:
- bindings/scripts/test/TestPartialNamespaceObject.idl:
- bindings/scripts/test/TestSupplemental.idl:
- css/CSSCounterStyleRule.idl:
- css/CSSPaintCallback.idl:
- css/CSSPaintSize.idl:
- css/CSSProperties.json:
- css/CSSRule.idl:
- css/DOMCSSCustomPropertyDescriptor.idl:
- css/DOMCSSNamespace+CSSNumericFactory.idl:
- css/DOMCSSNamespace+CSSPainting.idl:
- css/DOMCSSNamespace+CSSPropertiesandValues.idl:
- css/DOMCSSNamespace.idl:
- css/ElementCSSInlineStyle.idl:
- css/makeprop.pl:
- css/typedom/CSSKeywordValue.idl:
- css/typedom/CSSNumericValue.idl:
- css/typedom/CSSOMVariableReferenceValue.idl:
- css/typedom/CSSStyleImageValue.idl:
- css/typedom/CSSStyleValue.idl:
- css/typedom/CSSUnitValue.idl:
- css/typedom/CSSUnparsedValue.idl:
- css/typedom/StylePropertyMap.idl:
- css/typedom/StylePropertyMapReadOnly.idl:
- css/typedom/numeric/CSSMathInvert.idl:
- css/typedom/numeric/CSSMathMax.idl:
- css/typedom/numeric/CSSMathMin.idl:
- css/typedom/numeric/CSSMathNegate.idl:
- css/typedom/numeric/CSSMathProduct.idl:
- css/typedom/numeric/CSSMathSum.idl:
- css/typedom/numeric/CSSMathValue.idl:
- css/typedom/numeric/CSSNumericArray.idl:
- css/typedom/numeric/CSSNumericBaseType.idl:
- css/typedom/transform/CSSMatrixComponent.idl:
- css/typedom/transform/CSSPerspective.idl:
- css/typedom/transform/CSSRotate.idl:
- css/typedom/transform/CSSScale.idl:
- css/typedom/transform/CSSSkew.idl:
- css/typedom/transform/CSSSkewX.idl:
- css/typedom/transform/CSSSkewY.idl:
- css/typedom/transform/CSSTransformComponent.idl:
- css/typedom/transform/CSSTransformValue.idl:
- css/typedom/transform/CSSTranslate.idl:
- dom/Attr.idl:
- dom/BeforeLoadEvent.idl:
- dom/BroadcastChannel.idl:
- dom/DataTransfer.idl:
- dom/DataTransferItem.idl:
- dom/DataTransferItemList.idl:
- dom/DeviceMotionEvent.idl:
- dom/DeviceOrientationEvent.idl:
- dom/Document+Fullscreen.idl:
- dom/Document+StorageAccess.idl:
- dom/Document+UndoMananger.idl:
- dom/Element+Fullscreen.idl:
- dom/Element.idl:
- dom/ElementContentEditable.idl:
- dom/GlobalEventHandlers.idl:
- dom/IdleDeadline.idl:
- dom/InputEvent.idl:
- dom/TextDecoderStream.idl:
- dom/TextDecoderStreamDecoder.idl:
- dom/TextEncoderStream.idl:
- dom/TextEncoderStreamEncoder.idl:
- fileapi/File.idl:
- html/HTMLAnchorElement.idl:
- html/HTMLAreaElement.idl:
- html/HTMLAttachmentElement.idl:
- html/HTMLButtonElement.idl:
- html/HTMLCanvasElement.idl:
- html/HTMLDataListElement.idl:
- html/HTMLDialogElement.idl:
- html/HTMLElement.idl:
- html/HTMLFieldSetElement.idl:
- html/HTMLFormElement.idl:
- html/HTMLIFrameElement.idl:
- html/HTMLImageElement.idl:
- html/HTMLInputElement.idl:
- html/HTMLKeygenElement.idl:
- html/HTMLLinkElement.idl:
- html/HTMLMediaElement+AudioOutput.idl:
- html/HTMLMediaElement.idl:
- html/HTMLMenuItemElement.idl:
- html/HTMLObjectElement.idl:
- html/HTMLOutputElement.idl:
- html/HTMLScriptElement.idl:
- html/HTMLSelectElement.idl:
- html/HTMLTextAreaElement.idl:
- html/ImageBitmap.idl:
- html/ImageData.idl:
- html/ImageDataSettings.idl:
- html/MediaEncryptedEvent.idl:
- html/OffscreenCanvas.idl:
- html/WebKitMediaKeyError.idl:
- html/canvas/CanvasPath.idl:
- html/canvas/CanvasRenderingContext2D.idl:
- html/canvas/CanvasRenderingContext2DSettings.idl:
- html/canvas/ImageBitmapRenderingContext.idl:
- html/canvas/OffscreenCanvasRenderingContext2D.idl:
- html/canvas/PaintRenderingContext2D.idl:
- html/canvas/WebGL2RenderingContext.idl:
- html/canvas/WebGLTransformFeedback.idl:
- html/canvas/WebGLVertexArrayObject.idl:
- html/track/AudioTrack.idl:
- html/track/TextTrack.idl:
- html/track/TextTrackCue.idl:
- html/track/VideoTrack.idl:
- page/DOMSelection.idl:
- page/DOMWindow+RequestIdleCallback.idl:
- page/DOMWindow+VisualViewport.idl:
- page/IntersectionObserver.idl:
- page/IntersectionObserverEntry.idl:
- page/Navigator+IsLoggedIn.idl:
- page/NavigatorServiceWorker.idl:
- page/NavigatorShare.idl:
- page/NavigatorStorage.idl:
- page/PerformanceNavigationTiming.idl:
- page/PerformancePaintTiming.idl:
- page/PerformanceResourceTiming.idl:
- page/PerformanceServerTiming.idl:
- page/ResizeObserver.idl:
- page/ResizeObserverEntry.idl:
- page/UndoItem.idl:
- page/UndoManager.idl:
- page/VisualViewport.idl:
- page/WindowOrWorkerGlobalScope.idl:
- testing/FakeXRBoundsPoint.idl:
- testing/FakeXRButtonStateInit.idl:
- testing/FakeXRInputSourceInit.idl:
- testing/FakeXRRigidTransformInit.idl:
- testing/FakeXRViewInit.idl:
- testing/WebFakeXRDevice.idl:
- testing/WebFakeXRInputController.idl:
- testing/WebXRTest.idl:
- testing/XRSimulateUserActivationFunction.idl:
- workers/DedicatedWorkerGlobalScope.idl:
- workers/SharedWorker.idl:
- workers/SharedWorkerGlobalScope.idl:
- workers/service/ExtendableEvent.idl:
- workers/service/ExtendableMessageEvent.idl:
- workers/service/FetchEvent.idl:
- workers/service/ServiceWorker.idl:
- workers/service/ServiceWorkerClient.idl:
- workers/service/ServiceWorkerClients.idl:
- workers/service/ServiceWorkerContainer.idl:
- workers/service/ServiceWorkerGlobalScope.idl:
- workers/service/ServiceWorkerRegistration.idl:
- workers/service/ServiceWorkerWindowClient.idl:
- worklets/PaintWorkletGlobalScope.idl: