Timeline
Dec 8, 2020:
- 11:51 PM Changeset in webkit [270573] by
-
- 83 edits1 copy1 delete in trunk/Source/WebKit
IPC should support non-byte aligned data references
https://bugs.webkit.org/show_bug.cgi?id=219487
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2020-12-08
Reviewed by Chris Dumez.
Add a templated version of IPC::DataReference: ArrayReference<type, number of elements>.
The number of elements can be omitted, in which case the ArrayReference
size is determined at run-time.
This way pointers of typed arrays such as float arrays can be transferred directly
from the IPC message data store to the target. This is useful when implementing
IPC for WebGL in GPU process.
Changes IPC to support passing data references, i.e.
DataReference or ArrayReference, as a synchronous IPC call return value.
The caller must hold the Connection::syncSend() result (Decoder object)
for the duration of using the data values.
Makes DataReference an alias of uint8_t dynamic array reference.
Unfortunately this makes the forward declaring DataReference hard.
Due to this, changes use declaration sites to #include instead of
using forward declarations. Removes forward declarations for headers
where the type is not used.
Adds various #includes to fix errors hidden by the unified build.
Adds some WebCore:: namespace qualifications to fix errors hidden
by the unified build.
- GPUProcess/media/RemoteAudioSessionProxy.cpp:
- GPUProcess/media/RemoteLegacyCDMProxy.cpp:
- GPUProcess/media/RemoteLegacyCDMProxy.h:
- GPUProcess/media/RemoteLegacyCDMSessionProxy.cpp:
- GPUProcess/media/RemoteMediaResourceManager.cpp:
- GPUProcess/media/RemoteMediaResourceManager.h:
- GPUProcess/media/RemoteMediaSourceProxy.h:
- GPUProcess/media/RemoteSourceBufferProxy.cpp:
- GPUProcess/media/RemoteSourceBufferProxy.h:
- GPUProcess/webrtc/LibWebRTCCodecsProxy.h:
- GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:
- GPUProcess/webrtc/RemoteMediaRecorder.h:
- NetworkProcess/CustomProtocols/Cocoa/LegacyCustomProtocolManagerCocoa.mm:
- NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.h:
- NetworkProcess/Downloads/Download.cpp:
- NetworkProcess/Downloads/Download.h:
- NetworkProcess/Downloads/DownloadManager.cpp:
- NetworkProcess/Downloads/DownloadManager.h:
- NetworkProcess/NetworkSocketChannel.cpp:
- NetworkProcess/NetworkSocketChannel.h:
- NetworkProcess/NetworkSocketStream.cpp:
- NetworkProcess/NetworkSocketStream.h:
- NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.h:
- NetworkProcess/WebSocketTask.h:
- NetworkProcess/cocoa/WebSocketTaskCocoa.h:
- NetworkProcess/cocoa/WebSocketTaskCocoa.mm:
- NetworkProcess/soup/WebSocketTaskSoup.cpp:
- NetworkProcess/soup/WebSocketTaskSoup.h:
- Platform/IPC/ArgumentCoders.h:
- Platform/IPC/ArrayReference.h: Copied from Source/WebKit/Platform/IPC/DataReference.h.
(IPC::ArrayReference::ArrayReference):
(IPC::ArrayReference::isEmpty const):
(IPC::ArrayReference::size const):
(IPC::ArrayReference::data const):
(IPC::ArrayReference::vector const):
- Platform/IPC/Connection.h:
(IPC::Connection::sendSync):
- Platform/IPC/DataReference.cpp: Removed.
- Platform/IPC/DataReference.h:
- Platform/IPC/Decoder.cpp:
(IPC::Decoder::decodeFixedLengthReference):
- Platform/IPC/Decoder.h:
- Platform/IPC/Encoder.cpp:
(IPC::Encoder::wrapForTesting):
- Platform/IPC/Encoder.h:
- Platform/IPC/HandleMessage.h:
- Platform/IPC/MessageSender.h:
(IPC::MessageSender::sendSync):
- Platform/IPC/SharedBufferCopy.cpp:
(IPC::SharedBufferCopy::decode):
- Platform/IPC/SharedBufferDataReference.cpp:
- Platform/IPC/StringReference.cpp:
- PluginProcess/PluginControllerProxy.cpp:
- PluginProcess/PluginControllerProxy.h:
- Scripts/webkit/messages.py:
- Shared/API/APIData.cpp:
- Shared/cf/ArgumentCodersCF.cpp:
- Shared/soup/WebCoreArgumentCodersSoup.cpp:
(IPC::ArgumentCoder<CertificateInfo>::encode):
(IPC::ArgumentCoder<CertificateInfo>::decode):
- Sources.txt:
- UIProcess/API/APIIconLoadingClient.h:
- UIProcess/AuxiliaryProcessProxy.h:
(WebKit::AuxiliaryProcessProxy::sendSync):
- UIProcess/Cocoa/SOAuthorization/SubFrameSOAuthorizationSession.h:
- UIProcess/Network/CustomProtocols/LegacyCustomProtocolManagerProxy.h:
- UIProcess/PageClient.h:
- UIProcess/UserContent/WebUserContentControllerProxy.cpp:
- UIProcess/UserContent/WebUserContentControllerProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
- UIProcess/WebPageProxy.h:
- UIProcess/WebURLSchemeHandler.h:
- UIProcess/WebURLSchemeTask.h:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/ApplePay/WebPaymentCoordinator.h:
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::copyVideoTextureToPlatformTexture):
- WebProcess/GPU/media/RemoteAudioDestinationProxy.cpp:
(WebKit::RemoteAudioDestinationProxy::connectToGPUProcess):
- WebProcess/GPU/media/RemoteAudioSourceProvider.cpp:
- WebProcess/GPU/media/RemoteAudioSourceProviderManager.cpp:
- WebProcess/GPU/media/RemoteAudioSourceProviderManager.h:
- WebProcess/GPU/media/RemoteLegacyCDMSession.cpp:
- WebProcess/GPU/media/TextTrackPrivateRemote.h:
- WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:
- WebProcess/GPU/webrtc/LibWebRTCCodecs.h:
- WebProcess/InjectedBundle/InjectedBundle.h:
- WebProcess/Inspector/WebInspectorUIExtensionController.cpp:
(WebKit::WebInspectorUIExtensionController::WebInspectorUIExtensionController):
(WebKit::WebInspectorUIExtensionController::registerExtension):
(WebKit::WebInspectorUIExtensionController::unregisterExtension):
- WebProcess/Network/NetworkProcessConnection.h:
- WebProcess/Network/WebResourceLoader.cpp:
- WebProcess/Network/WebResourceLoader.h:
- WebProcess/Network/WebSocketChannel.cpp:
- WebProcess/Network/WebSocketChannel.h:
- WebProcess/Network/WebSocketStream.cpp:
- WebProcess/Network/WebSocketStream.h:
- WebProcess/Network/webrtc/LibWebRTCSocket.h:
- WebProcess/Plugins/PDF/PDFPlugin.h:
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::sendSyncWithDelayedReply):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::handleEditingKeyboardEvent):
- 11:24 PM Changeset in webkit [270572] by
-
- 2 edits in trunk/Source/WebCore
Dirty line boxes when RenderMenuList text changes
https://bugs.webkit.org/show_bug.cgi?id=218488
Patch by Rob Buis <rbuis@igalia.com> on 2020-12-08
Reviewed by Darin Adler.
Dirty line boxes when RenderMenuList selection text
changes and we have an existing m_buttonText, in order
to ensure its content gets laid out properly.
- rendering/RenderMenuList.cpp:
(RenderMenuList::setText):
- 11:17 PM Changeset in webkit [270571] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed debug test fix following r270552.
- runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::constructCustomArrayBufferIfNeeded):
(JSC::constructGenericTypedArrayViewWithArguments):
Add missing exception check (and rearrange slightly).
- 11:07 PM Changeset in webkit [270570] by
-
- 4 edits in trunk
[GLIB] REGRESSION(r270526): Several URL related tests are failing
https://bugs.webkit.org/show_bug.cgi?id=219664
Reviewed by Alex Christensen.
Source/WebCore:
r270526 changed the behaviour of shouldRemoveFragmentIdentifier for
non-Apple ports. It should return true.
- platform/network/DataURLDecoder.cpp:
(WebCore::DataURLDecoder::shouldRemoveFragmentIdentifier):
LayoutTests:
- platform/glib/TestExpectations: Skip fast/url/data-url-mediatype.html as it depends on non-supported feature.
- 10:00 PM Changeset in webkit [270569] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed. Add missing LFC guards around LineLayout usage from r270544
Fix build when LFC is disabled, like in Ubuntu LTS/Debian Stable bots.
- rendering/RenderObject.cpp:
(WebCore::RenderObject::insertedIntoTree):
(WebCore::RenderObject::willBeRemovedFromTree):
- rendering/RenderText.cpp:
(WebCore::RenderText::setText):
- 8:25 PM Changeset in webkit [270568] by
-
- 7 edits in trunk/LayoutTests
imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-* and move-back-* are flaky failures
https://bugs.webkit.org/show_bug.cgi?id=219655
Patch by Sam Sneddon <Sam Sneddon> on 2020-12-08
Reviewed by Alexey Proskuryakov.
- TestExpectations:
- platform/ios-simulator-wk2/TestExpectations:
- platform/ios-wk2/TestExpectations:
- platform/ios/TestExpectations:
- platform/mac/TestExpectations:
- platform/wpe/TestExpectations:
- 7:57 PM Changeset in webkit [270567] by
-
- 4 edits in trunk
Increase maximum size of WKContentRuleList
https://bugs.webkit.org/show_bug.cgi?id=219626
Source/WebCore:
<rdar://problem/69175732>
Patch by Alex Christensen <achristensen@webkit.org> on 2020-12-08
Reviewed by Geoffrey Garen.
The process that compiles WKContentRuleLists has a soft memory limit of 150MB.
We can go over it slightly, but doing so dramatically increases our chance of being jetsammed and never succeeding, which we want to avoid.
When originally developing WKContentRuleLists, we had to tune 2 limiting factors to prevent memory use from exponential growth: maxNFASize and maxRuleCount.
We have received the most complaints about maxRuleCount being only 50000, so I decided to see if we could increase it.
In r270414 I did a technical improvement that could allow us to increase maxRuleCount.
I just completed some iOS device measurements to determine what the new limit will be. They were done by taking some popular content blockers from the app
store that separate their rules into several rule lists and combining them into one list to see what will happen in practice when we increase the limits.
Then, I measured the peak memory use spike. Here is my data:
Revision, Rule list length, Max Memory Use
r270413 64779 134MB
r270413 122475 361MB
r270414 64779 119MB
r270414 122475 146MB
Given this data and the fact that it is a soft memory limit, I am changing maxRuleCount to 150000. It is also comforting to see the measurement of r270414
actually decreasing maximum memory use, especially with the longest rule lists.
I also measured the effect of changing maxNFASize after r270414:
Rule list length, maxNFASize, Max Memory Use, NFA count in compileToBytecode
64779 75000 119MB 1105
64779 250000 318MB 1102
64779 1000000 405MB 1101
122475 75000 146MB 1129
122475 250000 335MB 1127
122475 1000000 340MB 1127
Lower NFA counts means fewer passes on each URL loaded, which increases performance of WebKit with content blockers. Given that increasing maxNFASize
greatly increases the max memory use without significantly decreasing the NFA count, I decided to leave that parameter tuned to where it was already, 75000 nodes.
The number of NFAs is still uncomfortably high, but the cause is not maxNFASize. We should investigate the splitting of the NFAs in the compiler and consider
ways to split into fewer NFAs if we can, but that should be done at another time.
- contentextensions/ContentExtensionParser.cpp:
(WebCore::ContentExtensions::loadEncodedRules):
Tools:
Patch by Alex Christensen <achristensen@webkit.org> on 2020-12-08
Reviewed by Geoffrey Garen.
- TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::TEST_F):
- 5:27 PM Changeset in webkit [270566] by
-
- 10 edits1 copy in trunk/Source/WebCore
Add ANGLEHeaders.h to include all ANGLE headers for WebGL
https://bugs.webkit.org/show_bug.cgi?id=219629
Reviewed by Kenneth Russell.
There were the similar #include and #define code in some files.
Add a new header to include all ANGLE headers required for
USE_ANGLE build configuration.
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/ANGLEWebKitBridge.h:
- platform/graphics/angle/ANGLEHeaders.h: Added.
- platform/graphics/angle/ExtensionsGLANGLE.cpp:
- platform/graphics/angle/GraphicsContextGLANGLE.cpp:
- platform/graphics/angle/GraphicsContextGLANGLEUtilities.h:
- platform/graphics/angle/TemporaryANGLESetting.cpp:
- platform/graphics/cv/GraphicsContextGLCVANGLE.cpp:
- platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.cpp:
- platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp:
- 5:15 PM Changeset in webkit [270565] by
-
- 8 edits in trunk
[macCatalyst] Enable context menus for WKWebView
https://bugs.webkit.org/show_bug.cgi?id=219617
<rdar://problem/53770300>
Reviewed by Tim Horton.
Source/WTF:
- wtf/PlatformEnableCocoa.h:
- wtf/PlatformHave.h:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/ContextMenus.mm:
- TestWebKitAPI/cocoa/TestContextMenuDriver.h:
- TestWebKitAPI/cocoa/TestContextMenuDriver.mm:
- TestWebKitAPI/ios/UIKitSPI.h:
Note that none of these tests actually work right now because of <rdar://problem/59610140>.
- 5:14 PM Changeset in webkit [270564] by
-
- 8 edits1 add in trunk/Source/WebKit
[Concurrent Display Lists] Add a new type to represent a set of GPU process wakeup arguments
https://bugs.webkit.org/show_bug.cgi?id=219657
Reviewed by Tim Horton.
Pull the initial item buffer identifier, offset, and destination image buffer identifier used to wake the GPU
process out into a separate struct, inGPUProcessWakeupMessageArguments.h, and refactor both the web and GPU
process-side rendering backends to use this new struct.
This will greatly simplify future logic that will be added to address <webkit.org/b/218614>, which requires us
to defer calling into the GPU process wakeup loop in more scenarios. No change in behavior.
- GPUProcess/graphics/RemoteImageBuffer.h:
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::nextDestinationImageBufferAfterApplyingDisplayLists):
(WebKit::RemoteRenderingBackend::wakeUpAndApplyDisplayList):
(WebKit::RemoteRenderingBackend::setNextItemBufferToRead):
(WebKit::RemoteRenderingBackend::didCreateSharedDisplayListHandle):
- GPUProcess/graphics/RemoteRenderingBackend.h:
- GPUProcess/graphics/RemoteRenderingBackend.messages.in:
- Shared/GPUProcessWakeupMessageArguments.h: Added.
(WebKit::GPUProcessWakeupMessageArguments::encode const):
(WebKit::GPUProcessWakeupMessageArguments::decode):
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::sendWakeupMessage):
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
- 4:56 PM Changeset in webkit [270563] by
-
- 9 edits in trunk/Source/WebKit
[Media in GPU Process][MSE] The GPU Process may crash in the destructor of MediaPlayerPrivateMediaSourceAVFObjC
https://bugs.webkit.org/show_bug.cgi?id=219622
Reviewed by Eric Carlson.
The purpose of
mediaPlayerRenderingModeChanged()callback is to notify the media element
that the player's rendering mode is changed, including the case that the layer is destroyed.
So we should not operate on the layer in this function.
With this patch,
RemoteMediaPlayerProxyforwards the callback from the GPU process to
the Web process. This patch also cleans upRemoteMediaPlayerProxy.h.
- GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::mediaPlayerRenderingModeChanged):
- GPUProcess/media/RemoteMediaPlayerProxy.h:
- GPUProcess/media/cocoa/RemoteMediaPlayerProxyCocoa.mm:
(WebKit::RemoteMediaPlayerProxy::mediaPlayerRenderingModeChanged): Deleted.
- GPUProcess/media/gstreamer/RemoteMediaPlayerProxyGStreamer.cpp:
(WebKit::RemoteMediaPlayerProxy::mediaPlayerRenderingModeChanged): Deleted.
- GPUProcess/media/win/RemoteMediaPlayerProxyWin.cpp:
(WebKit::RemoteMediaPlayerProxy::mediaPlayerRenderingModeChanged): Deleted.
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::renderingModeChanged):
- WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
- WebProcess/GPU/media/MediaPlayerPrivateRemote.messages.in:
- 4:10 PM Changeset in webkit [270562] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r254841): Possible null pointer reference in BitmapImage::preTransformedNativeImageForCurrentFrame()
https://bugs.webkit.org/show_bug.cgi?id=219651
Reviewed by Tim Horton.
preTransformedNativeImageForCurrentFrame() was added in r254841 under the
name nativeImageForCurrentFrameRespectingOrientation() without checking
whether the resulted image of nativeImageForCurrentFrame() is null or not.
If the ImageSource is corrupted, the decoder might return a null
PlatformImagePtr for the current frame. And if this happens most likely
ImageSource::densityCorrectedSize() will return WTF::nullopt also. In this
case, we end up calling GraphicsContext::drawPlatformImage() with a null
PlatformImagePtr.
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::preTransformedNativeImageForCurrentFrame):
- 4:03 PM Changeset in webkit [270561] by
-
- 5 edits in trunk
TextManipulationController sometimes fails to notify its delegate of new text (if an element has been removed)
https://bugs.webkit.org/show_bug.cgi?id=219656
Reviewed by Wenson Hsieh.
Source/WebCore:
Sihui Liu <sihui_liu@apple.com> diagnosed this; I typed the fix.
- editing/TextManipulationController.cpp:
(WebCore::TextManipulationController::scheduleObservationUpdate):
Ignore disconnected nodes. They are irrelevent to text manipulation in
the document (since they are not in the document); and including them
causes the common acenstor algorithm to fail.
Use an explicit boolean instead of a series of set checks to track
whether an update has already been scheduled. The set checks confused
me while debugging; also, checking a weak hash set for empty is
needlessly costly at O(n).
(WebCore::TextManipulationController::flushPendingItemsForCallback):
Ignore flushes when the list of pending items is empty. Otherwise, our
delegate will get a confusing 0-item callback.
- editing/TextManipulationController.h:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST): Added a test that removes lots of elements. The
bug in this case depended on finding a removed element after an inserted
element in set iteration order. Using lots of removed elements gives us
a reasonable chance to trigger the relevant order.
- 3:54 PM Changeset in webkit [270560] by
-
- 5 edits in trunk
Unreviewed, reverting r269983.
Seems to have regressed PLT5
Reverted changeset:
"[iOS] beforeunload event does not fire in MobileSafari"
https://bugs.webkit.org/show_bug.cgi?id=219102
https://trac.webkit.org/changeset/269983
- 3:45 PM Changeset in webkit [270559] by
-
- 6 edits in trunk
Potential crash under [WKRemoteObjectEncoder encodeObject:forKey:] when the object graph contains a cycle
https://bugs.webkit.org/show_bug.cgi?id=219620
Source/WebKit:
<rdar://71551776>
Reviewed by Geoffrey Garen.
Update WKRemoteObjectEncoder to detect cycles when encoding objects. When a cycle is detected, we
first attempt to encode a default-initialized object of the same type instead. If that fails, we
raise a NSInvalidArgumentException.
Based on crashes in the wild, we have evidence that such cycles are occuring and I suspect this is
caused by Norton Safe Web extension somehow.
- Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(-[WKRemoteObjectEncoder init]):
(encodeObject):
Tools:
Reviewed by Geoffrey Garen.
Add API test coverage.
- TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.h:
- TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistryPlugIn.mm:
(-[RemoteObjectRegistryPlugIn takeDictionary:completionHandler:]):
- 3:23 PM Changeset in webkit [270558] by
-
- 3 edits in trunk/Tools
[webkitcorepy] Defer pypi index check until usage
https://bugs.webkit.org/show_bug.cgi?id=219271
<rdar://problem/71748250>
Reviewed by Dewei Zhu.
- Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Bump version.
- Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package.Archive.download): Verify our index before using it.
(Package.archives): Ditto.
(AutoInstall): Provide variables to cache information needed for pypi index verification.
(AutoInstall._verify_index): Verify the current index is reachable if a fallback index exists.
(AutoInstall.set_index): Defer checking the provided index by default.
- 2:57 PM Changeset in webkit [270557] by
-
- 29 edits in trunk/Source
Make ScrollingPerformanceLoggingEnabled an internal debug preference
https://bugs.webkit.org/show_bug.cgi?id=219647
Reviewed by Sam Weinig.
Source/WebCore:
ScrollingPerformanceLoggingEnabled is used by a Safari performance test, so it needs to be
easily toggleable from a script. That's easier if it's an Internal Debug preference.
Testing also sets ForceUpdateScrollbarsOnMainThreadForPerformanceTesting but we can just use
the ScrollingPerformanceLoggingEnabled flag, but it makes more sense to rename
ScrollingPerformanceLoggingEnabled to ScrollingPerformanceTestingEnabled when we do that.
Also fix how we propagate ScrollingPerformanceTestingEnabled to the scrolling tree;
do so via ScrollingStateFrameScrollingNode as we do for the other tree-wide settings,
removing code in TiledCoreAnimationDrawingArea::updatePreferences() that did this.
- page/FrameView.cpp:
(WebCore::FrameView::forceUpdateScrollbarsOnMainThreadForPerformanceTesting const):
(WebCore::FrameView::setScrollingPerformanceTestingEnabled):
(WebCore::FrameView::setScrollingPerformanceLoggingEnabled): Deleted.
- page/FrameView.h:
- page/SettingsBase.cpp:
(WebCore::SettingsBase::scrollingPerformanceTestingEnabledChanged):
(WebCore::SettingsBase::scrollingPerformanceLoggingEnabledChanged): Deleted.
- page/SettingsBase.h:
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::setFrameScrollingNodeState):
(WebCore::AsyncScrollingCoordinator::asyncFrameOrOverflowScrollingEnabled const): Deleted.
(WebCore::AsyncScrollingCoordinator::wheelEventGesturesBecomeNonBlocking const): Deleted.
- page/scrolling/AsyncScrollingCoordinator.h:
- page/scrolling/ScrollingStateFrameScrollingNode.cpp:
(WebCore::ScrollingStateFrameScrollingNode::ScrollingStateFrameScrollingNode):
(WebCore::ScrollingStateFrameScrollingNode::applicableProperties const):
(WebCore::ScrollingStateFrameScrollingNode::setScrollingPerformanceTestingEnabled):
- page/scrolling/ScrollingStateFrameScrollingNode.h:
- page/scrolling/ScrollingStateNode.h:
- page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::commitTreeState):
(WebCore::ScrollingTree::setScrollingPerformanceLoggingEnabled): Deleted.
(WebCore::ScrollingTree::scrollingPerformanceLoggingEnabled): Deleted.
- page/scrolling/ScrollingTree.h:
(WebCore::ScrollingTree::scrollingPerformanceTestingEnabled const):
(WebCore::ScrollingTree::setScrollingPerformanceTestingEnabled):
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::commitStateBeforeChildren):
(WebCore::ScrollingTreeFrameScrollingNodeMac::currentScrollPositionChanged):
- platform/graphics/TiledBacking.h:
- platform/graphics/ca/TileController.h:
- platform/graphics/ca/TileGrid.cpp:
(WebCore::TileGrid::platformCALayerPaintContents):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::forceUpdateScrollbarsOnMainThreadForPerformanceTesting const):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::RenderLayerBacking):
- rendering/RenderListBox.cpp:
(WebCore::RenderListBox::forceUpdateScrollbarsOnMainThreadForPerformanceTesting const):
Source/WebKit:
ScrollingPerformanceLoggingEnabled is used by a Safari performance test, so it needs to be
easily toggleable from a script. That's easier if it's an Internal Debug preference.
Testing also sets ForceUpdateScrollbarsOnMainThreadForPerformanceTesting but we can just use
the ScrollingPerformanceLoggingEnabled flag, but it makes more sense to rename
ScrollingPerformanceLoggingEnabled to ScrollingPerformanceTestingEnabled when we do that.
Also fix how we propagate ScrollingPerformanceTestingEnabled to the scrolling tree;
do so via ScrollingStateFrameScrollingNode as we do for the other tree-wide settings,
removing code in TiledCoreAnimationDrawingArea::updatePreferences() that did this.
- Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp:
(ArgumentCoder<ScrollingStateFrameScrollingNode>::encode):
(ArgumentCoder<ScrollingStateFrameScrollingNode>::decode):
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetScrollingPerformanceLoggingEnabled):
(WKPreferencesGetScrollingPerformanceLoggingEnabled):
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::forceUpdateScrollbarsOnMainThreadForPerformanceTesting const):
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
Source/WTF:
Rename ScrollingPerformanceLoggingEnabled to ScrollingPerformanceTestingEnabled and make
it an Internal Debug preference.
Remove ForceUpdateScrollbarsOnMainThreadForPerformanceTesting.
- Scripts/Preferences/WebPreferences.yaml:
- Scripts/Preferences/WebPreferencesInternal.yaml:
- 2:30 PM Changeset in webkit [270556] by
-
- 5 edits in trunk
[Concurrent Display Lists] Add a way for display list clients to get missing cached resource identifiers
https://bugs.webkit.org/show_bug.cgi?id=219652
Reviewed by Tim Horton.
Source/WebCore:
Refactor some code so that we plumb the
RenderingResourceIdentifierof the missing cached resource from
applyImageBufferItemandapplyNativeImageItemto theReplayResult.
Test: DisplayListTests.ReplayWithMissingResource
- platform/graphics/displaylists/DisplayListReplayer.cpp:
(WebCore::DisplayList::applyImageBufferItem):
(WebCore::DisplayList::applyNativeImageItem):
(WebCore::DisplayList::Replayer::applyItem):
(WebCore::DisplayList::Replayer::replay):
- platform/graphics/displaylists/DisplayListReplayer.h:
Tools:
- TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:
(TestWebKitAPI::TEST):
- 1:24 PM Changeset in webkit [270555] by
-
- 2 edits in trunk/Source/WebKit
[macOS] Deny mach-lookup to the service 'com.apple.assertiond.processassertionconnection' in the WebContent process
https://bugs.webkit.org/show_bug.cgi?id=219637
<rdar://problem/69019269>
Reviewed by Darin Adler.
Deny mach-lookup to the service 'com.apple.assertiond.processassertionconnection' in the WebContent process on macOS,
since there are no reports of this service being used.
No new tests, since the result will depend on macOS version.
- WebProcess/com.apple.WebProcess.sb.in:
- 1:19 PM Changeset in webkit [270554] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed non-unified build fix following r270552.
- runtime/JSArrayBufferPrototypeInlines.h:
- 1:10 PM Changeset in webkit [270553] by
-
- 2 edits in trunk/Source/WebKit
Remove NSString overrelease in _WKUserContentExtensionStore
https://bugs.webkit.org/show_bug.cgi?id=219621
Patch by Alex Christensen <achristensen@webkit.org> on 2020-12-08
Reviewed by Darin Adler.
Gasp!
- UIProcess/API/Cocoa/WKContentRuleListStore.mm:
(-[WKContentRuleListStore compileContentRuleListForIdentifier:encodedContentRuleList:completionHandler:]):
(-[WKContentRuleListStore _compileContentRuleListForIdentifier:encodedContentRuleList:completionHandler:]):
- 1:02 PM Changeset in webkit [270552] by
-
- 11 edits1 add in trunk
Align %TypedArray% constructor behavior with spec
https://bugs.webkit.org/show_bug.cgi?id=219527
Reviewed by Yusuke Suzuki.
JSTests:
- test262/expectations.yaml:
Mark 40 test cases as passing.
- wasm/fuzz/memory.js:
- wasm/js-api/test_Data.js:
Fix non-conforming typed array usage.
Source/JavaScriptCore:
These should be the last JSC-side corrections for typed array behavior:
namely, fixes for the constructor itself.
Broadly speaking, there are three fixes here:
- ArrayBuffer argument (https://tc39.es/ecma262/#sec-initializetypedarrayfromarraybuffer): We need to throw if the input buffer gets detached.
- Array-like argument (https://tc39.es/ecma262/#sec-initializetypedarrayfromarraylike): length needs toLength, not toUInt32.
- Typed array argument (https://tc39.es/ecma262/#sec-initializetypedarrayfromtypedarray): We need to support the case where the input typed array uses a custom ArrayBuffer. This case is *extremely* strange -- we still create the same type of typed array with a normal ArrayBuffer, but we override the prototype of that ArrayBuffer to inputTypedArray.buffer.constructor[@@species].prototype.
- JavaScriptCore.xcodeproj/project.pbxproj:
- runtime/JSArrayBufferConstructor.cpp:
- runtime/JSArrayBufferPrototype.cpp:
(JSC::arrayBufferSpeciesConstructorSlow): Added.
(JSC::speciesWatchpointIsValid): Moved.
- runtime/JSArrayBufferPrototype.h:
- runtime/JSArrayBufferPrototypeInlines.h: Added.
- runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::constructCustomArrayBufferIfNeeded): Added.
(JSC::constructGenericTypedArrayViewWithArguments):
- runtime/JSGlobalObject.h:
- 12:29 PM Changeset in webkit [270551] by
-
- 8 edits in trunk
Support aspect-ratio on non-replaced elements
https://bugs.webkit.org/show_bug.cgi?id=218794
Patch by Rob Buis <rbuis@igalia.com> on 2020-12-08
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
Adapt test expectation.
- web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-002-expected.txt:
Source/WebCore:
Compute logical width/height for non-replaced elements
taking aspect ratio into account. This is very basic
support and does not consider things like transferred min/max
block size.
- rendering/RenderBox.cpp:
(WebCore::inlineSizeFromAspectRatio): Helper to compute inline size given box-sizing mode, margins/borders,
block size and logical aspect ratio.
(WebCore::RenderBox::computeLogicalWidthInFragment const):
(WebCore::blockSizeFromAspectRatio): Helper to compute block size given box-sizing mode, margins/borders,
inline size and logical aspect ratio.
(WebCore::RenderBox::computeLogicalHeight const):
(WebCore::RenderBox::shouldComputeLogicalHeightFromAspectRatio const):
- rendering/RenderBox.h:
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::logicalAspectRatio const): Return aspect ratio taking direction into account.
(WebCore::RenderStyle::hasAspectRatio const): Return true if aspect-ratio property has <ratio> set.
LayoutTests:
Unskip some tests that pass now.
- 12:15 PM Changeset in webkit [270550] by
-
- 8 edits in trunk
[JSC] Enable "at" methods
https://bugs.webkit.org/show_bug.cgi?id=219631
Reviewed by Ross Kirsling.
Source/JavaScriptCore:
This patch enables "at" methods in Array, String, and %TypedArray% by flipping runtime flag.
- runtime/OptionsList.h:
LayoutTests:
- js/Object-getOwnPropertyNames-expected.txt:
- js/array-unscopables-properties-expected.txt:
- js/script-tests/Object-getOwnPropertyNames.js:
- js/script-tests/array-unscopables-properties.js:
- 12:14 PM Changeset in webkit [270549] by
-
- 1 copy in tags/Safari-611.1.7.1
Tag Safari-611.1.7.1.
- 12:04 PM Changeset in webkit [270548] by
-
- 5 edits in branches/safari-610-branch/Source
Cherry-pick r270052. rdar://problem/72099688
Use os_thread_self_restrict_rwx_is_supported instead of pthread_jit_write_protect_supported_np on Apple Internal SDK builds
https://bugs.webkit.org/show_bug.cgi?id=219099
<rdar://problem/71547048>
Reviewed by Mark Lam.
Source/JavaScriptCore:
- assembler/FastJITPermissions.h: (useFastJITPermissions): (threadSelfRestrictRWXToRW): (threadSelfRestrictRWXToRX):
Source/WTF:
- wtf/PlatformHave.h:
- wtf/PlatformUse.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270052 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:01 PM Changeset in webkit [270547] by
-
- 8 edits in branches/safari-610-branch/Source
Versioning.
WebKit-7610.4.3
- 11:56 AM Changeset in webkit [270546] by
-
- 8 edits in branches/safari-611.1.7-branch/Source
Versioning.
WebKit-7611.1.7.1
- 11:20 AM Changeset in webkit [270545] by
-
- 3 edits in trunk/Source/WebKit
[macOS] Create sandbox extension for audio service when Media in GPU process is not enabled
https://bugs.webkit.org/show_bug.cgi?id=219540
<rdar://problem/71978050>
Reviewed by Brent Fulgham.
Create sandbox extension for com.apple.audio.SandboxHelper when Media in GPU process is not enabled.
- UIProcess/WebPageProxy.cpp:
(WebKit::mediaRelatedMachServices):
- WebProcess/com.apple.WebProcess.sb.in:
- 10:25 AM Changeset in webkit [270544] by
-
- 7 edits in trunk/Source/WebCore
[LFC][Integration] Invalidate line layout path for children of inlines
https://bugs.webkit.org/show_bug.cgi?id=219639
Reviewed by Zalan Bujtas.
We currently assume you can just invalidate the direct parent.
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::blockContainer):
(WebCore::LayoutIntegration::LineLayout::containing):
- layout/integration/LayoutIntegrationLineLayout.h:
- rendering/RenderObject.cpp:
(WebCore::RenderObject::insertedIntoTree):
(WebCore::RenderObject::willBeRemovedFromTree):
Invalidate here.
- rendering/RenderText.cpp:
(WebCore::RenderText::setText):
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::attachToRenderElementInternal):
- rendering/updating/RenderTreeBuilderBlock.cpp:
(WebCore::RenderTreeBuilder::Block::attachIgnoringContinuation):
(WebCore::RenderTreeBuilder::Block::detach):
- 9:47 AM Changeset in webkit [270543] by
-
- 2 edits in branches/safari-611.1.8-branch/Source/WebKit
Cherry-pick r270536. rdar://problem/72096496
Add target to create /usr/local to work around XBS Bug <rdar://problem/20388650>
https://bugs.webkit.org/show_bug.cgi?id=219618
rdar://72064576
Patch by Ryan Hostetler <rhost@apple.com> on 2020-12-08
Reviewed by Jonathan Bedard.
- WebKit.xcodeproj/project.pbxproj: Add a build target EmptyDSTROOT with script to create an empty folder "/usr/local". This allows WebKit to retain a unified XBS project name across different train configurations.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270536 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:39 AM Changeset in webkit [270542] by
-
- 9 edits in trunk/Source
[iOS] Stop leaking an XPC boost message to XPC services
https://bugs.webkit.org/show_bug.cgi?id=219453
Reviewed by Geoffrey Garen.
Source/WebKit:
Stop leaking an XPC boost message to XPC services on builds where RunningBoard is able to give the right
priorities to our XPC services based on the type of RunningBoard assertion is being held. There is no
behavior change for the Network/WebContent processes since those were blocklisted in RunningBoard (Turning
on the RB_full_manage_WK_jetsam feature flag gives us the default RunningBoard behavior without
blocklisting). However, this allows the new GPUProcess to move to IDLE jetsam band when homing out of
MobileSafari, which makes the GPUProcess eligible for the freezer. Previously, the leaked boost message
would keep the GPUProcess in a higher jetsam band.
- FeatureFlags/WebKit.plist:
Add RB_full_manage_WK_jetsam feature flag and turn it on. On recent enough builds of RunningBoard, this
disables the blocklisting of the WebContent/Network processes in RunningBoard so that RunningBoard can now
set the priority of those processes (instead of us boosting our priority via boost messages).
- GPUProcess/EntryPoint/Cocoa/XPCService/GPUService/Info-iOS.plist:
- NetworkProcess/EntryPoint/Cocoa/XPCService/NetworkService/Info-iOS.plist:
- WebAuthnProcess/EntryPoint/Cocoa/XPCService/WebAuthnService/Info-iOS.plist:
- WebProcess/EntryPoint/Cocoa/XPCService/WebContentService/Info-iOS.plist:
Set _ProcessType=App so that RunningBoard is able to set the priority of our XPC services on iOS. Without
this change, we get a permission denied when RunningBoard attempts to set the priority of our XPC services.
- UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::shouldLeakBoost):
Stop leaking a boost message on iOS when RUNNINGBOARD_WEBKIT_PRIORITY_SUPPORT compile-time flag is enabled
and when the RB_full_manage_WK_jetsam feature flag is enabled.
Source/WTF:
Add new RUNNINGBOARD_WEBKIT_PRIORITY_SUPPORT build time flag since we need a recent
enough build of RunningBoard to do this.
- wtf/PlatformHave.h:
- 9:21 AM Changeset in webkit [270541] by
-
- 2 edits in trunk/Source/WebCore
Make TextRun::subRun stricter
https://bugs.webkit.org/show_bug.cgi?id=219615
Patch by Rob Buis <rbuis@igalia.com> on 2020-12-08
Reviewed by Darin Adler.
Make TextRun::subRun stricter, besides the start offset being less than the run
length, the sub run start offset plus sub run length should not exceed the
overall run length.
- platform/graphics/TextRun.h:
(WebCore::TextRun::subRun const):
- 9:13 AM Changeset in webkit [270540] by
-
- 4 edits in trunk/Tools
[webkitcorepy] Fix case where cached=True with other arguments
https://bugs.webkit.org/show_bug.cgi?id=219644
<rdar://problem/72092851>
Reviewed by Stephanie Lewis.
- Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Bump version.
- Scripts/libraries/webkitcorepy/webkitcorepy/decorators.py:
(Memoize.call.decorator): Use keyargs instead of args.
- Scripts/libraries/webkitcorepy/webkitcorepy/tests/decorators_unittest.py:
(TestMemoize):
(TestMemoize.increment_with_arg): Added.
(TestMemoize.test_override):
- 8:01 AM Changeset in webkit [270539] by
-
- 9 edits in trunk/Source/WebCore
[LFC][Integration] Don't assume ensureLineBoxes can be called on direct parent
https://bugs.webkit.org/show_bug.cgi?id=219633
Reviewed by Zalan Bujtas.
This is no longer true with inlines.
- dom/DocumentMarkerController.cpp:
(WebCore::DocumentMarkerController::addMarker):
- layout/integration/LayoutIntegrationLineLayout.h:
(WebCore::LayoutIntegration::LineLayout::flow):
- rendering/RenderLineBreak.cpp:
(WebCore::RenderLineBreak::setSelectionState):
(WebCore::RenderLineBreak::ensureLineBoxes): Deleted.
- rendering/RenderLineBreak.h:
- rendering/RenderObject.cpp:
(WebCore::RenderObject::setSelectionState):
Move to the base class and use LineLayout::containing.
- rendering/RenderObject.h:
(WebCore::RenderObject::setSelectionState): Deleted.
- rendering/RenderText.cpp:
(WebCore::RenderText::setSelectionState):
(WebCore::RenderText::ensureLineBoxes): Deleted.
- rendering/RenderText.h:
- 7:18 AM Changeset in webkit [270538] by
-
- 3 edits in trunk/Tools
[ews] commit-queue should use only the first email from contributors.json to validate committers and reviewers
https://bugs.webkit.org/show_bug.cgi?id=219608
Reviewed by Jonathan Bedard.
- CISupport/ews-build/steps.py:
(ValidateCommiterAndReviewer.load_contributors): Use only first email for validating commiters and reviewers.
- Scripts/webkitpy/common/config/contributors.json: Correct Antoine Quint's and Justin Michaud's active accounts.
- 6:51 AM Changeset in webkit [270537] by
-
- 2 edits in trunk/Source/JavaScriptCore
[ESNext] op_put_private_name is wrong
https://bugs.webkit.org/show_bug.cgi?id=219616
Reviewed by Tadeu Zagallo.
Since
m_propertyis a JSCell pointer, we need to use bothloadp
andbpneqonop_put_private_name.
- llint/LowLevelInterpreter64.asm:
- 6:37 AM Changeset in webkit [270536] by
-
- 2 edits in trunk/Source/WebKit
Add target to create /usr/local to work around XBS Bug <rdar://problem/20388650>
https://bugs.webkit.org/show_bug.cgi?id=219618
rdar://72064576
Patch by Ryan Hostetler <rhost@apple.com> on 2020-12-08
Reviewed by Jonathan Bedard.
- WebKit.xcodeproj/project.pbxproj:
Add a build target EmptyDSTROOT with script to create an empty folder "/usr/local".
This allows WebKit to retain a unified XBS project name across different train configurations.
- 6:24 AM Changeset in webkit [270535] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Trimmable content can include <wbr>
https://bugs.webkit.org/show_bug.cgi?id=219613
Reviewed by Antti Koivisto.
Trailing <wbr> can be part of the trimmable trailing content.
- layout/inlineformatting/InlineLine.cpp:
(WebCore::Layout::Line::TrimmableTrailingContent::remove):
- 6:11 AM Changeset in webkit [270534] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Do not keep the inline box "start" inline item on the current line when its content does not fit anymore
https://bugs.webkit.org/show_bug.cgi?id=219627
Reviewed by Antti Koivisto.
This is a simple case when the <span>'s content does not fit the line anymore and we end up wrapping the content right after
the <span> (e.g <span>this_does_not_fit</span>. Let's move the <span> over to the next line as well.
This fixes imported/w3c/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-011.html
- layout/inlineformatting/InlineContentBreaker.cpp:
(WebCore::Layout::InlineContentBreaker::processOverflowingTextContent const):
- 6:08 AM Changeset in webkit [270533] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Set hyphen on the last text run
https://bugs.webkit.org/show_bug.cgi?id=219619
Reviewed by Antti Koivisto.
Line::addTrailingHyphen should set the hyphen flag on the last _text_ run.
(e.g. <span>last run is not always a text run</span> <- inline box end is the last run here)
- layout/inlineformatting/InlineLine.cpp:
(WebCore::Layout::Line::addTrailingHyphen):
- 2:36 AM Changeset in webkit [270532] by
-
- 9 edits2 adds in trunk
Allow RTCRtpSFrameTransform to handle multiple keys
https://bugs.webkit.org/show_bug.cgi?id=219598
Reviewed by Eric Carlson.
Source/WebCore:
Keep a map of ID to Key material when setEncryptionKey is called.
Use that map on decryption side to get key material from key ID.
Add internals API to validate key retrieval is done correctly.
If setEncryptionKey key ID is not set, we use the map size which allows to use 0, 1, 2 and so on...
Test: webrtc/sframe-keys.html
- Modules/mediastream/RTCRtpSFrameTransform.cpp:
(WebCore::RTCRtpSFrameTransform::keyIdForTesting const):
- Modules/mediastream/RTCRtpSFrameTransform.h:
- Modules/mediastream/RTCRtpSFrameTransformer.cpp:
(WebCore::RTCRtpSFrameTransformer::setEncryptionKey):
(WebCore::RTCRtpSFrameTransformer::updateEncryptionKey):
(WebCore::RTCRtpSFrameTransformer::decryptFrame):
- Modules/mediastream/RTCRtpSFrameTransformer.h:
(WebCore::RTCRtpSFrameTransformer::keyId const):
- testing/Internals.cpp:
(WebCore::Internals::sframeKeyId):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
- webrtc/sframe-keys-expected.txt: Added.
- webrtc/sframe-keys.html: Added.
- 1:49 AM Changeset in webkit [270531] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed. Remove the build warning below since r270526.
warning: unused parameter ‘mediaType’ [-Wunused-parameter]
No new tests, no new behaviors.
- platform/network/DataURLDecoder.cpp:
(WebCore::DataURLDecoder::shouldRemoveFragmentIdentifier):
Dec 7, 2020:
- 11:50 PM Changeset in webkit [270530] by
-
- 5 edits in trunk
Unreviewed sort-Xcode-project-file
Source/WebCore:
- WebCore.xcodeproj/project.pbxproj:
Tools:
- DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
- jsc-cli/jsc-cli.xcodeproj/project.pbxproj:
- 8:14 PM Changeset in webkit [270529] by
-
- 6 edits in trunk/Source
[GPU Process] Ensure the backend of ImageBuffer is created before getting its handle
https://bugs.webkit.org/show_bug.cgi?id=219623
Reviewed by Tim Horton.
Source/WebCore:
Remove the ImageBuffer::backend() method and move ensureBackendCreated()
from ConcreteImageBuffer to ImageBuffer. Clients should ensure the backend
is created before accessing its method. ensureBackendCreated() is only
overridden by RemoteImageBufferProxy.
- platform/graphics/ConcreteImageBuffer.h:
(WebCore::ConcreteImageBuffer::ensureBackendCreated const): Deleted.
- platform/graphics/ImageBuffer.h:
(WebCore::ImageBuffer::backend const): Deleted.
Source/WebKit:
In r270458 and in RemoteLayerBackingStore::encode(), casting the ImageBuffer
and calling the overriding createImageBufferBackendHandle() of the superclass
was replaced by casting the backend and calling its createImageBufferBackendHandle()
directly.
This may lead to crash if the backend was not created when calling its
createImageBufferBackendHandle(). The createImageBufferBackendHandle()
of the ImageBuffer superclass calls ensureBackendCreated() before calling
createImageBufferBackendHandle() of the backend.
So we need to replace to call backend() to ensureBackendCreated().
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::encode const):
- WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
- 5:09 PM Changeset in webkit [270528] by
-
- 2 edits in trunk/Tools
Unreviewed API test gardening, disable failing tests on Big Sur.
- TestWebKitAPI/Tests/WebKit/PreferenceChanges.mm:
(TEST):
- 3:49 PM Changeset in webkit [270527] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r269359): [ Mac ] http/tests/inspector/dom/disconnect-dom-tree-after-main-frame-navigation.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=219225
unreviewed test gardening.
- platform/mac/TestExpectations:
- 3:43 PM Changeset in webkit [270526] by
-
- 4 edits2 adds in trunk
Parse content after # in data URLs with HLS mime types
https://bugs.webkit.org/show_bug.cgi?id=219612
<rdar://problem/71039282>
Patch by Alex Christensen <achristensen@webkit.org> on 2020-12-07
Reviewed by Darin Adler.
Source/WebCore:
r267995 made us conform to the behavior of Chrome and Firefox by removing fragments from data URLs before parsing.
While this is desirable, there is content in Safari-specific HLS data URLs that needs the content including and after #.
So, to fix this, wait until after we know the mime type and remove the fragment if it's not HLS.
Test: fast/url/data-url-mediatype.html
- loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::loadDataURL):
(WebCore::shouldStripFragmentIdentifier): Deleted.
- platform/network/DataURLDecoder.cpp:
(WebCore::DataURLDecoder::shouldRemoveFragmentIdentifier):
(WebCore::DataURLDecoder::DecodeTask::DecodeTask):
(WebCore::DataURLDecoder::DecodeTask::process):
(WebCore::DataURLDecoder::createDecodeTask):
LayoutTests:
- fast/url/data-url-mediatype-expected.txt: Added.
- fast/url/data-url-mediatype.html: Added.
- 3:33 PM Changeset in webkit [270525] by
-
- 2 edits in trunk/Source/WebCore
[LFC][Integration] Check if RenderInline style is supported
https://bugs.webkit.org/show_bug.cgi?id=219611
Reviewed by Antti Koivisto.
At this point it's insufficient to check for block style only. Inline boxes may have unsupported styles as well.
- layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::canUseForChild):
- 2:26 PM Changeset in webkit [270524] by
-
- 22 edits1 add in trunk
[WASM-References] Add support for table.copy
https://bugs.webkit.org/show_bug.cgi?id=219427
Patch by Dmitry Bezhetskov <dbezhetskov> on 2020-12-07
Reviewed by Yusuke Suzuki.
Add support for table.copy from reference types proposal:
https://webassembly.github.io/reference-types/core/syntax/instructions.html#table-instructions.
JSTests:
Add the tests from above spec.
- wasm/references-spec-tests/table_copy.js: Added.
(hostref):
(is_hostref):
(is_funcref):
(eq_ref):
(let.handler.get target):
(register):
(module):
(instance):
(call):
(get instance):
(exports):
(run):
(assert_malformed):
(assert_invalid):
(assert_unlinkable):
(assert_uninstantiable):
(assert_trap):
(try.f):
(catch):
(assert_exhaustion):
(assert_return):
(assert_return_canonical_nan):
(assert_return_arithmetic_nan):
(assert_return_ref):
(assert_return_func):
- wasm/references/element_parsing.js:
- wasm/wasm.json:
Source/JavaScriptCore:
The table.copy instruction accepts three stack arguments (destination
offset, source offset, length) and two immediates for table indexes
and copies items from one wasm table to another.
- bytecode/BytecodeList.rb:
- llint/WebAssembly.asm:
- wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::addTableFill):
(JSC::Wasm::AirIRGenerator::addTableCopy):
- wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::addTableFill):
(JSC::Wasm::B3IRGenerator::addTableCopy):
- wasm/WasmFunctionParser.h:
(JSC::Wasm::FunctionParser<Context>::parseExpression):
- wasm/WasmInstance.cpp:
(JSC::Wasm::Instance::tableCopy):
- wasm/WasmInstance.h:
- wasm/WasmLLIntGenerator.cpp:
(JSC::Wasm::LLIntGenerator::addTableCopy):
- wasm/WasmOperations.cpp:
(JSC::Wasm::isSumOverflow):
(JSC::Wasm::JSC_DEFINE_JIT_OPERATION):
- wasm/WasmOperations.h:
- wasm/WasmSectionParser.cpp:
(JSC::Wasm::SectionParser::parseElement):
- wasm/WasmSlowPaths.cpp:
(JSC::LLInt::WASM_SLOW_PATH_DECL):
- wasm/WasmSlowPaths.h:
- wasm/WasmTable.cpp:
(JSC::Wasm::Table::copy):
(JSC::Wasm::FuncRefTable::copyFunction):
- wasm/WasmTable.h:
- wasm/wasm.json:
- 1:59 PM Changeset in webkit [270523] by
-
- 2 edits in trunk/Source/WebCore
Add check to ensure that the size of the result of AXTextMarkerGetBytePtr is equal to the size of TextMarkerData.
https://bugs.webkit.org/show_bug.cgi?id=219601
Reviewed by Simon Fraser.
Covered by existing tests.
This is a follow up change to the patch for
https://bugs.webkit.org/show_bug.cgi?id=219491
per Simon Fraser's comment.
- accessibility/mac/AXObjectCacheMac.mm:
(WebCore::getBytesFromAXTextMarker):
Added a check to ensure that the memory block returned by AXTextMarkerGetBytePtr
is the same size as TextMarkerData. This doesn't guaranty that the
underlying binary structures are the same, but it is a sanity check that
may catch flagrant discrepancies.
- 1:55 PM Changeset in webkit [270522] by
-
- 4 edits in trunk/Source/WebKit
Add sandbox telemetry for likely unused features
https://bugs.webkit.org/show_bug.cgi?id=219544
<rdar://71985678>
Reviewed by Per Arne Vollan.
Add telemetry to confirm the results of our manual review of the sandbox. Add 'hw.memsize' to
the allowed sysctl's for the Network process on macOS, since it is needed by CFNetwork, and is
already permitted on iOS.
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: Allow the 'hw.memsize' sysctl,
which is needed by CFNetwork, and is already allowed on iOS.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: Add logging to confirm we
do not need file-read-metadata for syslog.
- WebProcess/com.apple.WebProcess.sb.in: Add logging to confirm BluetoothServices is not
needed.
- 1:29 PM Changeset in webkit [270521] by
-
- 2 edits in trunk/LayoutTests
[GLIB] Skip remaining sframe tests
Unreviewed test gardening.
- platform/glib/TestExpectations:
- 1:12 PM Changeset in webkit [270520] by
-
- 2 edits in trunk/Source/WebKit
Ensure that DisplayListSharedMemoryHeader is never explicitly created or destroyed at compile-time
https://bugs.webkit.org/show_bug.cgi?id=219609
Reviewed by Tim Horton.
Make sure that a
DisplayListSharedMemoryHeaderis never created or destroyed by marking the constructor and
destructor as deleted. ADisplayListSharedMemoryHeadershould only ever bereinterpret_cast-ed from the
first few bytes of a shared display list handle.
- Shared/SharedDisplayListHandle.h:
- 12:56 PM Changeset in webkit [270519] by
-
- 7 edits in trunk/Source/WebCore
Non-unified build fixes, early December 2020 edition (bis)
https://bugs.webkit.org/show_bug.cgi?id=219607
Unreviewed non-unified build fixes.
- contentextensions/ImmutableNFA.h:
- contentextensions/SerializedNFA.cpp:
- contentextensions/SerializedNFA.h:
- loader/DocumentLoader.cpp:
- platform/audio/MultiChannelResampler.h:
- platform/audio/SincResampler.h:
- 12:48 PM Changeset in webkit [270518] by
-
- 9 edits2 deletes in trunk
Unreviewed, reverting r270507.
Caused some WebRTC tests to assert
Reverted changeset:
"Allow RTCRtpSFrameTransform to handle multiple keys"
https://bugs.webkit.org/show_bug.cgi?id=219598
https://trac.webkit.org/changeset/270507
- 12:43 PM Changeset in webkit [270517] by
-
- 7 edits in trunk
[macOS] Deny mach-lookup to the service 'com.apple.audio.SystemSoundServer-OSX' in the WebContent process
https://bugs.webkit.org/show_bug.cgi?id=219590
<rdar://problem/69019399>
Reviewed by Brent Fulgham.
Source/WebKit:
After r269593, mach-lookup to the service 'com.apple.audio.SystemSoundServer-OSX' in the WebContent process can be denied.
Test: fast/sandbox/mac/sandbox-mach-lookup.html
- WebProcess/com.apple.WebProcess.sb.in:
LayoutTests:
- fast/sandbox/mac/sandbox-mach-lookup-expected.txt:
- fast/sandbox/mac/sandbox-mach-lookup.html:
- platform/mac-catalina/fast/sandbox/mac/sandbox-mach-lookup-expected.txt:
- platform/mac-mojave/fast/sandbox/mac/sandbox-mach-lookup-expected.txt:
- 12:27 PM Changeset in webkit [270516] by
-
- 17 edits in trunk
[CMake] Remove WEBKIT_WRAP_SOURCELIST
https://bugs.webkit.org/show_bug.cgi?id=196916
Reviewed by Michael Catanzaro.
.:
WEBKIT_WRAP_SOURCELIST macro is used only to adjust source groups in Visual Studio
projects without any impact on build process. Its references variable specific to
particular targets (WebCore) which contradicts our goal of having target-oriented
CMake project. It can be reintroduced later in a more clean way, in case anyone needs
to have such grouping.
- Source/cmake/WebKitMacros.cmake:
PerformanceTests:
- MallocBench/MallocBench/CMakeLists.txt:
Source/bmalloc:
- CMakeLists.txt:
Source/JavaScriptCore:
- CMakeLists.txt:
Source/WebCore:
- CMakeLists.txt:
Source/WebCore/PAL:
- pal/CMakeLists.txt:
Source/WebKit:
- PlatformFTW.cmake:
- PlatformWin.cmake:
Source/WTF:
- wtf/CMakeLists.txt:
- 12:20 PM Changeset in webkit [270515] by
-
- 8 edits in trunk/Source
Versioning.
WebKit-7611.1.9
- 12:19 PM Changeset in webkit [270514] by
-
- 4 edits2 adds in trunk
[LFC][IFC] Overflowing text content should not break at inline box boundary
https://bugs.webkit.org/show_bug.cgi?id=219605
Reviewed by Antti Koivisto.
Source/WebCore:
Wrap the overflowing content on the inline box boundary when possible.
<span>fits</span><span>overflows</span>
When the text "overflows" completely overflows, let's wrap the content after '</span>'.
Test: fast/layoutformattingcontext/overflow-at-inline-box-boundary-simple.html
- layout/inlineformatting/InlineContentBreaker.cpp:
(WebCore::Layout::InlineContentBreaker::processOverflowingTextContent const):
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::commitPartialContent):
LayoutTests:
- fast/layoutformattingcontext/overflow-at-inline-box-boundary-simple-expected.html: Added.
- fast/layoutformattingcontext/overflow-at-inline-box-boundary-simple.html: Added.
- 12:14 PM Changeset in webkit [270513] by
-
- 1 copy in branches/safari-611.1.8-branch
New branch.
- 12:02 PM Changeset in webkit [270512] by
-
- 3 edits in trunk/Source/WebKit
Fix incorrect capitalization of ClearWheelEventTestMonitor IPC message name
https://bugs.webkit.org/show_bug.cgi?id=219606
Reviewed by Wenson Hsieh.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::clearWheelEventTestMonitor):
- WebProcess/WebPage/WebPage.messages.in:
- 10:53 AM Changeset in webkit [270511] by
-
- 3 edits in trunk/Source/WebKit
[iOS] Add basic GPUProcess crash recovery logic to RemoteMediaSessionHelper
https://bugs.webkit.org/show_bug.cgi?id=219494
Reviewed by Eric Carlson.
- WebProcess/GPU/media/ios/RemoteMediaSessionHelper.cpp:
(WebKit::RemoteMediaSessionHelper::RemoteMediaSessionHelper):
(WebKit::RemoteMediaSessionHelper::connectToGPUProcess):
(WebKit::RemoteMediaSessionHelper::gpuProcessConnectionDidClose):
- WebProcess/GPU/media/ios/RemoteMediaSessionHelper.h:
- 10:44 AM Changeset in webkit [270510] by
-
- 4 edits in trunk/Tools
Unreviewed API test gardening, disable failing tests on Big Sur.
- TestWebKitAPI/Tests/WebKit/PreferenceChanges.mm:
- TestWebKitAPI/Tests/WebKitCocoa/PDFLinkReferrer.mm:
- TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm:
- 10:36 AM Changeset in webkit [270509] by
-
- 2 edits in trunk/LayoutTests
[GStreamer] imported/w3c/web-platform-tests/webaudio/the-audio-api/the-channelmergernode-interface/active-processing.https.html is flaky failing
Unreviewed test gardening.
- platform/glib/TestExpectations:
- 9:50 AM Changeset in webkit [270508] by
-
- 9 edits in trunk/Source/WebCore
Non-unified build fixes, early December 2020 edition
https://bugs.webkit.org/show_bug.cgi?id=219552
Unreviewed non-unified build fixes.
- display/css/DisplayBoxModelBox.cpp:
- display/css/DisplayStackingItem.cpp:
- display/css/DisplayStackingItem.h:
- html/HTMLIFrameElement.cpp:
- layout/inlineformatting/InlineLineBox.cpp:
- loader/DocumentLoader.cpp:
- platform/mediacapabilities/ColorGamut.h:
- platform/mediacapabilities/HdrMetadataType.h:
- 9:22 AM Changeset in webkit [270507] by
-
- 9 edits2 adds in trunk
Allow RTCRtpSFrameTransform to handle multiple keys
https://bugs.webkit.org/show_bug.cgi?id=219598
Reviewed by Eric Carlson.
Source/WebCore:
Keep a map of ID to Key material when setEncryptionKey is called.
Use that map on decryption side to get key material from key ID.
Add internals API to validate key retrieval is done correctly.
If setEncryptionKey key ID is not set, we use the map size which allows to use 0, 1, 2 and so on...
Test: webrtc/sframe-keys.html
- Modules/mediastream/RTCRtpSFrameTransform.cpp:
(WebCore::RTCRtpSFrameTransform::keyIdForTesting const):
- Modules/mediastream/RTCRtpSFrameTransform.h:
- Modules/mediastream/RTCRtpSFrameTransformer.cpp:
(WebCore::RTCRtpSFrameTransformer::setEncryptionKey):
(WebCore::RTCRtpSFrameTransformer::updateEncryptionKey):
(WebCore::RTCRtpSFrameTransformer::decryptFrame):
- Modules/mediastream/RTCRtpSFrameTransformer.h:
(WebCore::RTCRtpSFrameTransformer::keyId const):
- testing/Internals.cpp:
(WebCore::Internals::sframeKeyId):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
- webrtc/sframe-keys-expected.txt: Added.
- webrtc/sframe-keys.html: Added.
- 8:59 AM Changeset in webkit [270506] by
-
- 14 edits1 copy3 adds in trunk
Add a SFrame H264 experimental compatibility mode
https://bugs.webkit.org/show_bug.cgi?id=219532
Reviewed by Eric Carlson.
Source/WebCore:
Add an SFrame compatibility mode for H.264.
To do so, the encryptor generates an SFrame and prefixes it with either a delta frame prefix or a key frame prefix.
The SFrame content is escaped so that it is considered as one big IDR or Slice nalu.
The decoder on the other hand, unescapes the content, removes the prefix and decrypts the SFrame content.
Test: webrtc/video-sframe.html
- Modules/mediastream/H264Utils.cpp: Added.
(WebCore::isSliceNALU):
(WebCore::isSPSNALU):
(WebCore::isPPSNALU):
(WebCore::isIDRNALU):
(WebCore::findNalus):
(WebCore::computePrefixOffset):
(WebCore::needsRbspUnescaping):
(WebCore::fromRbsp):
(WebCore::computePrefixBuffer):
(WebCore::findEscapeRbspPatterns):
(WebCore::toRbsp):
- Modules/mediastream/H264Utils.h: Added.
- Modules/mediastream/MediaStreamTrack.cpp:
- Modules/mediastream/RTCRtpSFrameTransform.cpp:
(WebCore::RTCRtpSFrameTransform::RTCRtpSFrameTransform):
- Modules/mediastream/RTCRtpSFrameTransform.h:
- Modules/mediastream/RTCRtpSFrameTransform.idl:
- Modules/mediastream/RTCRtpSFrameTransformer.cpp:
(WebCore::RTCRtpSFrameTransformer::create):
(WebCore::RTCRtpSFrameTransformer::RTCRtpSFrameTransformer):
(WebCore::RTCRtpSFrameTransformer::decryptFrame):
(WebCore::RTCRtpSFrameTransformer::encryptFrame):
- Modules/mediastream/RTCRtpSFrameTransformer.h:
- Modules/mediastream/RTCRtpScriptTransformer.cpp:
- Modules/mediastream/RTCRtpScriptTransformer.h:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
Tools:
- TestWebKitAPI/Tests/WebCore/RTCRtpSFrameTransformerTests.cpp:
(TestWebKitAPI::TEST):
LayoutTests:
- webrtc/video-sframe-expected.txt: Added.
- webrtc/video-sframe.html: Added.
- 8:29 AM Changeset in webkit [270505] by
-
- 3 edits in trunk/Source/WebCore
Reduce memory copying in MultiChannelResampler::provideInputForChannel()
https://bugs.webkit.org/show_bug.cgi?id=219561
Reviewed by Eric Carlson.
Reduce memory copying in MultiChannelResampler::provideInputForChannel() by using
the passed-in buffer as memory for the first channel in the AudioBus.
This way we avoid having to memcpy() the data for the first channel.
Chromium's MultiChannelResampler has the same optimization.
- platform/audio/MultiChannelResampler.cpp:
(WebCore::MultiChannelResampler::MultiChannelResampler):
(WebCore::MultiChannelResampler::provideInputForChannel):
- platform/audio/MultiChannelResampler.h:
- 8:14 AM Changeset in webkit [270504] by
-
- 8 edits in trunk/Source/WebCore
[LFC Display] Keep track of the painted bounds of StackingItems
https://bugs.webkit.org/show_bug.cgi?id=219583
Reviewed by Zalan Bujtas.
Display::StackingItems will need to know their painted bounds for various reasons like
transparency layer extent, composited layer bounds, repaint etc. We can compute this cheaply
at tree building time. In fact, two bounds are useful: first, the bounds of the in-flow
content of that stacking item, and second the bounds of that stacking item and all its
stacking descendants.
We don't have a good way to know the painted extent of a Display::Box yet, so just use its
bounds as a proxy. BoxModelBox extends this by looking at box-shadow style.
While building the display tree, keep track of two extents rectangles:
- currentStackingItemPaintedContentExtent starts with the bounds of the stack item's box,
and is unioned with the bounds of all the in-flow content for that stacking item as we
build the tree downwards.
- currentStackingItemPaintingExtent starts empty, and accumulates the union of all
the descendant stacking items' painting extent in post-order traversal as we pop
stacking items off the currentState stack.
- display/DisplayTreeBuilder.cpp:
(WebCore::Display::BuildingState::inFlowContainingBlockBox const):
(WebCore::Display::TreeBuilder::build):
(WebCore::Display::TreeBuilder::pushStateForBoxDescendants):
(WebCore::Display::TreeBuilder::popState):
(WebCore::Display::TreeBuilder::accountForBoxPaintingExtent):
(WebCore::Display::TreeBuilder::currentState):
(WebCore::Display::TreeBuilder::positioningContext):
(WebCore::Display::TreeBuilder::insertIntoTree):
(WebCore::Display::TreeBuilder::buildInlineDisplayTree):
(WebCore::Display::outputStackingTree):
(WebCore::Display::TreeBuilder::currentState const): Deleted.
(WebCore::Display::TreeBuilder::positioningContext const): Deleted.
- display/DisplayTreeBuilder.h:
- display/css/DisplayBox.h:
(WebCore::Display::Box::absolutePaintingExtent const):
- display/css/DisplayBoxModelBox.cpp:
(WebCore::Display::BoxModelBox::absolutePaintingExtent const):
- display/css/DisplayBoxModelBox.h:
- display/css/DisplayCSSPainter.cpp:
(WebCore::Display::applyEffects):
(WebCore::Display::CSSPainter::paintAtomicallyPaintedBox):
- display/css/DisplayStackingItem.h:
(WebCore::Display::StackingItem::paintedContentBounds const):
(WebCore::Display::StackingItem::paintedBoundsIncludingDescendantItems const):
(WebCore::Display::StackingItem::setPaintedContentBounds):
(WebCore::Display::StackingItem::setPaintedBoundsIncludingDescendantItems):
- 6:49 AM Changeset in webkit [270503] by
-
- 2 edits in trunk/Source/WebCore
[LFC][Integration] Check if RenderInline's text children are supported
https://bugs.webkit.org/show_bug.cgi?id=219585
Reviewed by Antti Koivisto.
- layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::canUseForFontAndText):
(WebCore::LayoutIntegration::canUseForChild):
- 5:45 AM Changeset in webkit [270502] by
-
- 2 edits in trunk/Tools
[build.webkit.org] Automatically delete old buildbot logs
https://bugs.webkit.org/show_bug.cgi?id=218817
Reviewed by Jonathan Bedard.
- CISupport/build-webkit-org/master_buildbot2.cfg: Configured JanitorConfigurator to delete logs older than six months, and
configured to run every morning.
- 3:29 AM Changeset in webkit [270501] by
-
- 2 edits in trunk/Source/WebCore
[GTK][WPE] Overflow/iframe scrolling with async scrolling enabled sometimes doesn't work
https://bugs.webkit.org/show_bug.cgi?id=219594
Reviewed by Žan Doberšek.
Scrollable layers can occur outside of the bounds of ancestor layers,
so remove bounds checking early-exit in nicosia
collectDescendantLayersAtPoint().
- page/scrolling/nicosia/ScrollingTreeNicosia.cpp:
(WebCore::collectDescendantLayersAtPoint):
- 3:10 AM Changeset in webkit [270500] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, reverting r270498.
https://bugs.webkit.org/show_bug.cgi?id=219596
Broke the build as it landed simultaneously with a more
complete fix
Reverted changeset:
"Unreviewed. Add the switch case handling missed out from
r270415."
https://trac.webkit.org/changeset/270498
- 2:13 AM Changeset in webkit [270499] by
-
- 3 edits in trunk/Source/WebKit
Fix warnings when GPUProcess is disabled
https://bugs.webkit.org/show_bug.cgi?id=219587
Reviewed by Žan Doberšek.
- UIProcess/API/glib/WebKitNavigationClient.cpp: Handle new enum value
in switch after r270415.
- WebProcess/WebPage/DrawingArea.cpp:
(WebKit::DrawingArea::supportsGPUProcessRendering): Default returning
false when GPUProcess is disabled.
- 2:09 AM Changeset in webkit [270498] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed. Add the switch case handling missed out from r270415.
This change removes the build warning below.
warning: enumeration value ‘RequestedByGPUProcess’ not handled in switch [-Wswitch]
No new tests, no new behaviors.
- UIProcess/API/glib/WebKitNavigationClient.cpp:
- 1:38 AM Changeset in webkit [270497] by
-
- 4 edits in trunk/Tools
[JSC] Bundle non-native libs in run-jsc-stress-tests
https://bugs.webkit.org/show_bug.cgi?id=219485
Patch by Angelos Oikonomopoulos <Angelos Oikonomopoulos> on 2020-12-07
Reviewed by Carlos Alberto Lopez Perez.
run-jsc-stress-tests already tries to bundle library dependencies
(on linux) when using the --remote functionality; this ensures
that we don't need to depend on the remote environment exactly
matching the build environment. However, this breaks when
cross-building; run-jsc-stress-tests uses ldd, which relies on
code execution to get the shared object paths.
This patch extends generate-bundle to be able to handle the output
from a cross ldd (specifically, xldd from crosstool-NG) and
changes run-jsc-stress-tests to use generate-bundle for bundling
the libraries for the remotes.
- Scripts/generate-bundle:
- Scripts/run-javascriptcore-tests:
(runJSCStressTests):
- Scripts/run-jsc-stress-tests:
- 1:19 AM Changeset in webkit [270496] by
-
- 5 edits in trunk
[GLib] Leaked RunLoop objects on worker threads
https://bugs.webkit.org/show_bug.cgi?id=219232
<rdar://problem/71772277>
Patch by Zan Dobersek <zdobersek@igalia.com> on 2020-12-07
Reviewed by Geoffrey Garen.
Source/WTF:
During the thread-local RunLoop::Holder destruction, explicitly clear out
the iteration Deque objects on the held RunLoop, destroying any Function
objects that never got to execute on this thread. Generally, this allows
for any RunLoop reference stored in these objects to be released.
Specifically, this would allow for destruction of the RunLoop::Timer
object that's queued up in the JSRunLoopTimer::Manager::PerVMData
destructor but never gets dispatched because the thread (a JS worker) is
shut down before that happens. Destruction of the timer will release the
reference of the RunLoop that's held by the RunLoop::Holder, finally
enabling the RunLoop object itself be destroyed once the RunLoop::Holder
reference is let go.
- wtf/RunLoop.cpp:
(WTF::RunLoop::Holder::~Holder):
(WTF::RunLoop::threadWillExit):
- wtf/RunLoop.h:
Tools:
Add a unit test covering proper RunLoop teardown upon thread destruction
even if RunLoop references are stored in the dispatch queues.
- TestWebKitAPI/Tests/WTF/RunLoop.cpp:
(TestWebKitAPI::TEST):