Timeline
Feb 18, 2022:
- 11:22 PM Changeset in webkit [290200] by
-
- 4 edits in trunk/Source/WebKit
ASSERTION FAILED: !hasAnyOpenConnections() in UniqueIDBDatabase::~UniqueIDBDatabase()
https://bugs.webkit.org/show_bug.cgi?id=236856
Reviewed by Chris Dumez.
The assertion is hit when running API test WebKit.MigrateIndexedDBDataToGeneralStorageDirectory. We need to
properly close UniqueIDBDatabase before it's destroyed.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::storageSession): remove logging as it was added when we had check for
default session. Since we don't have the check now, the logging does not make much sense.
- NetworkProcess/storage/IDBStorageManager.cpp:
(WebKit::IDBStorageManager::~IDBStorageManager):
- NetworkProcess/storage/IDBStorageManager.h:
- 11:19 PM Changeset in webkit [290199] by
-
- 4 edits in trunk/Tools
[Tools] Sanitizer builds should obey
set-webkit-configuration --force-optimization-level
<https://webkit.org/b/236859>
<rdar://problem/89161649>
Reviewed by Brent Fulgham.
- Scripts/webkitdirs.pm:
(XcodeOptions):
- Pass WK_FORCE_OPTIMIZATION_LEVEL instead of GCC_OPTIMIZATION_LEVEL if sanitizers are enabled so the optimization level can be overridden in sanitizer.xcconfig.
- sanitizer/asan.xcconfig:
(WK_NOT_): Remove.
(WK_NOT_YES): Remove.
- Move variables to sanitizer.xcconfig.
- sanitizer/sanitizer.xcconfig:
(WK_EMPTY_): Add.
(WK_NOT_): Add.
(WK_NOT_YES): Add.
- Add utility variables originally from SDKVariant.xcconfig.
(WK_OVERRIDE_OPTIMIZATION_LEVEL): Add.
- Set to YES/NO depending on whether WK_FORCE_OPTIMIZATION_LEVEL is set.
(GCC_OPTIMIZATION_LEVEL):
(GCC_OPTIMIZATION_LEVEL_OVERRIDE_YES): Add.
(GCC_OPTIMIZATION_LEVEL_OVERRIDE_NO): Add.
(GCC_OPTIMIZATION_LEVEL_OVERRIDE_NO_Debug): Rename from GCC_OPTIMIZATION_LEVEL_Debug.
(GCC_OPTIMIZATION_LEVEL_OVERRIDE_NO_Production): Rename from GCC_OPTIMIZATION_LEVEL_Production.
(GCC_OPTIMIZATION_LEVEL_OVERRIDE_NO_Release): Rename from GCC_OPTIMIZATION_LEVEL_Release.
- Make use of WK_OVERRIDE_OPTIMIZATION_LEVEL and WK_FORCE_OPTIMIZATION_LEVEL to allow overriding the default optimization level for sanitizer builds.
- 9:26 PM Changeset in webkit [290198] by
-
- 10 edits17 adds in trunk
Hook up PushManager to permission state
https://bugs.webkit.org/show_bug.cgi?id=236739
Reviewed by Brady Eidson.
Source/WebCore:
This implements PushManager.permissionState. It returns the same value as
Notification.permission through the same mechanism.
This also makes PushManager.subscribe request permission from the user to show notifications
if the permission is in the default state and these requirements are met:
- The caller is a document with the same origin as a top level document. This means that cross-origin iframes cannot request push permissions. This matches Chrome's behavior.
- The caller cannot be a service worker. This limitation is allowed for by the spec.
There also needs to be some code added which removes a push subscription if the user deletes
the subscription entirely in the UI, for instance when the UIProcess calls
WKNotificationManagerProviderDidRemoveNotificationPolicies. That will be handled in a
separate patch.
Covered by new layout tests.
- Modules/push-api/PushManager.cpp:
(WebCore::PushManager::subscribe):
(WebCore::PushManager::getSubscription):
(WebCore::PushManager::permissionState):
Source/WebKit:
Update comment explaining why we still have a permission state stub in webpushd.
- webpushd/WebPushDaemon.mm:
(WebPushD::Daemon::getPushPermissionState):
Tools:
Made the WebPushD API tests work now that subscribe checks for permission.
- TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm:
LayoutTests:
Added tests that make sure that PushManager.permissionState() and PushManager.subscribe()
respect the notification permission level for the current origin.
I made these regular tests rather than WPT tests because the WPT test harness calls
grantWebNotificationPermission at the top of its setup script (in testharnessreport.js), and
I didn't want to change that for this patch.
- http/tests/push-api/resources/push-api-test-pre.js: Added.
(finishPushAPITest):
(waitForState):
- http/tests/push-api/resources/subscribe-iframe-cross-origin.html: Added.
- http/tests/push-api/resources/subscribe-iframe-same-origin.html: Added.
- http/tests/push-api/resources/subscribe-tests.js: Added.
(async testServiceWorkerPermissionState):
(async testDocumentPermissionState):
(async testServiceWorkerSubscribe):
(async testDocumentSubscribe):
- http/tests/push-api/resources/subscribe-worker.js: Added.
(async event):
- http/tests/push-api/subscribe-default-permissions-expected.txt: Added.
- http/tests/push-api/subscribe-default-permissions-iframe-cross-origin-expected.txt: Added.
- http/tests/push-api/subscribe-default-permissions-iframe-cross-origin.html: Added.
- http/tests/push-api/subscribe-default-permissions-iframe-same-origin-expected.txt: Added.
- http/tests/push-api/subscribe-default-permissions-iframe-same-origin.html: Added.
- http/tests/push-api/subscribe-default-permissions.html: Added.
- http/tests/push-api/subscribe-deny-permissions-expected.txt: Added.
- http/tests/push-api/subscribe-deny-permissions.html: Added.
- http/tests/push-api/subscribe-grant-permissions-expected.txt: Added.
- http/tests/push-api/subscribe-grant-permissions.html: Added.
- platform/gtk/TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/win/TestExpectations:
- 8:27 PM Changeset in webkit [290197] by
-
- 3 edits in trunk
Stop propagating inertness through iframes in Node::deprecatedIsInert()
https://bugs.webkit.org/show_bug.cgi?id=236512
Reviewed by Chris Dumez.
This is only a bug for Node::deprecatedIsInert(), so it only affects focus. Selection APIs, etc. weren't affected
before this bug.
LayoutTests/imported/w3c:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inert-focus-in-frames-expected.txt:
Source/WebCore:
Test: web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inert-focus-in-frames.html
- dom/Node.cpp:
(WebCore::Node::deprecatedIsInert const):
- 8:14 PM Changeset in webkit [290196] by
-
- 4 edits in trunk
Source/WebKit:
Add assertion that no two network sessions share the same storage path
https://bugs.webkit.org/show_bug.cgi?id=236844
Reviewed by Chris Dumez.
Each NetworkStorageManager has its own queue and accesses the storage files on that queue, so we can't have two
NetworkworkStorageManagers use the same path, as the path may be accessed concurrently and cause corruption.
Currently we have an SPI for setting custom generalStorageDirectory for WebsiteDataStore (in
_WKWebsiteDataStoreConfiguration), which means SPI clients can create two sessions with the same path in theory.
Let's add an assertion to ensure that does not happen.
This assertion has helped find a bug in WebKitTestRunner that we didn't set custom generalStorageDirectory for a
custom WebsiteDataStore (so it's using the same path as default WebsiteDataStore).
- NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::activePaths):
(WebKit::NetworkStorageManager::NetworkStorageManager):
(WebKit::NetworkStorageManager::~NetworkStorageManager):
Tools:
Add assertion that no two network session share the same storage path
https://bugs.webkit.org/show_bug.cgi?id=236844
Reviewed by Chris Dumez.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::configureWebsiteDataStoreTemporaryDirectories):
- 7:56 PM Changeset in webkit [290195] by
-
- 4 edits in trunk/Source/bmalloc
[libpas] Increase scavenger period from 100ms to 125ms in Darwin x64
https://bugs.webkit.org/show_bug.cgi?id=236873
Reviewed by Saam Barati.
Make x64 scavenger less aggressive while maintaining Membuster neutral
to make it less work.
- libpas/src/libpas/pas_config_prefix.h:
- libpas/src/libpas/pas_scavenger.c:
- libpas/src/libpas/pas_utils.h:
- 7:53 PM Changeset in webkit [290194] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] Make ArrayPrototype just an array
https://bugs.webkit.org/show_bug.cgi?id=236869
Reviewed by Saam Barati.
Originally, ArrayPrototype has slightly different memory layout & different logic etc.
But now, it is just an array with a lot of properties. We should just make it an array.
- runtime/ArrayPrototype.cpp:
(JSC::ArrayPrototype::finishCreation):
- runtime/ArrayPrototype.h:
- 7:21 PM Changeset in webkit [290193] by
-
- 91 edits2 deletes in trunk/Source/WebCore
Unreviewed, reverting r290188.
https://bugs.webkit.org/show_bug.cgi?id=236875
Broke WebKitGTK & WPE build bots
Reverted changeset:
"Provide a WebCore subspaceImplFor template to make code more
readable."
https://bugs.webkit.org/show_bug.cgi?id=236868
https://commits.webkit.org/r290188
Patch by Commit Queue <commit-queue@webkit.org> on 2022-02-18
- 6:47 PM Changeset in webkit [290192] by
-
- 2 edits in trunk/LayoutTests
http/wpt/push-api/onpush-disabled.html fails (incremental build issue?)
https://bugs.webkit.org/show_bug.cgi?id=236874
Unreviewed test gardening.
- TestExpectations: Mark test as failing to reduce impact on EWS.
- 6:09 PM Changeset in webkit [290191] by
-
- 2 edits1 copy in trunk/LayoutTests
REGRESSION(r287249): [ Monterey wk2 ] media/media-source/media-webm-vorbis-partial.html is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=236857
Unreviewed test gardening.
Patch by Matteo Flores <Matteo Flores> on 2022-02-18
- platform/mac-bigsur/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt.
- platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt: Rebaslining due to test changes.
- 5:03 PM Changeset in webkit [290190] by
-
- 13 edits in trunk/Source/WebGPU
[WebGPU] Any object-creation function that takes a descriptor can fail
https://bugs.webkit.org/show_bug.cgi?id=236855
Reviewed by Dean Jackson.
Generally, we view allocation failure as catastrophic, and crash. Because of that, I originally
made these methods return Refs, because I expected the failure case to cause intentional crashes
rather than return nullptr.
However, descriptors the shared header have a nextInChain pointer, which allows callers to pass
in extra extension-specific structs, as a linked list. If the WebGPU implementation sees one of
these extra structs that it doesn't know what to do with, it has to fail. That means that it's
possible to fail in a way other than an allocation failure, which means these functions have to
return RefPtrs instead of Refs.
- WebGPU/Adapter.h:
- WebGPU/Adapter.mm:
(WebGPU::Adapter::requestDevice):
(wgpuAdapterRequestDevice):
- WebGPU/CommandEncoder.h:
- WebGPU/CommandEncoder.mm:
(WebGPU::CommandEncoder::beginComputePass):
(WebGPU::CommandEncoder::beginRenderPass):
(WebGPU::CommandEncoder::finish):
(wgpuCommandEncoderBeginComputePass):
(wgpuCommandEncoderBeginRenderPass):
(wgpuCommandEncoderFinish):
- WebGPU/Device.h:
- WebGPU/Device.mm:
(WebGPU::Device::createBindGroup):
(WebGPU::Device::createBindGroupLayout):
(WebGPU::Device::createBuffer):
(WebGPU::Device::createCommandEncoder):
(WebGPU::Device::createComputePipeline):
(WebGPU::Device::createComputePipelineAsync):
(WebGPU::Device::createPipelineLayout):
(WebGPU::Device::createQuerySet):
(WebGPU::Device::createRenderBundleEncoder):
(WebGPU::Device::createRenderPipeline):
(WebGPU::Device::createRenderPipelineAsync):
(WebGPU::Device::createSampler):
(WebGPU::Device::createShaderModule):
(WebGPU::Device::createSwapChain):
(WebGPU::Device::createTexture):
(WebGPU::Device::getQueue):
(wgpuDeviceCreateBindGroup):
(wgpuDeviceCreateBindGroupLayout):
(wgpuDeviceCreateBuffer):
(wgpuDeviceCreateCommandEncoder):
(wgpuDeviceCreateComputePipeline):
(wgpuDeviceCreateComputePipelineAsync):
(wgpuDeviceCreatePipelineLayout):
(wgpuDeviceCreateQuerySet):
(wgpuDeviceCreateRenderBundleEncoder):
(wgpuDeviceCreateRenderPipeline):
(wgpuDeviceCreateRenderPipelineAsync):
(wgpuDeviceCreateSampler):
(wgpuDeviceCreateShaderModule):
(wgpuDeviceCreateSwapChain):
(wgpuDeviceCreateTexture):
(wgpuDeviceGetQueue):
- WebGPU/Instance.h:
- WebGPU/Instance.mm:
(WebGPU::Instance::createSurface):
(wgpuInstanceCreateSurface):
- WebGPU/RenderBundleEncoder.h:
- WebGPU/RenderBundleEncoder.mm:
(WebGPU::RenderBundleEncoder::finish):
(wgpuRenderBundleEncoderFinish):
- WebGPU/Texture.h:
- WebGPU/Texture.mm:
(WebGPU::Texture::createView):
(wgpuTextureCreateView):
- 5:02 PM Changeset in webkit [290189] by
-
- 19 edits in trunk/Source
Move content filtering to Networking process
https://bugs.webkit.org/show_bug.cgi?id=233760
<rdar://problem/86150702>
Reviewed by Brent Fulgham.
Source/WebCore:
Remove content filtering from DocumentLoader when the feature is enabled, since this takes place in the WebContent process.
Modify the ContentFilter class by removing use of the types CachedResoure and CachedRawResource, since objects of these
types are not available in the Networking process. Parameters with these types are replaced with URL parameters.
The new behavior is behind a feature flag, which is not enabled in this patch.
- WebCore.xcodeproj/project.pbxproj:
- loader/ContentFilter.cpp:
(WebCore::ContentFilter::startFilteringMainResource):
(WebCore::ContentFilter::stopFilteringMainResource):
(WebCore::ContentFilter::continueAfterResponseReceived):
(WebCore::ContentFilter::continueAfterDataReceived):
(WebCore::ContentFilter::continueAfterNotifyFinished):
(WebCore::ContentFilter::didDecide):
(WebCore::ContentFilter::deliverResourceData):
(WebCore::ContentFilter::url):
(WebCore::ContentFilter::deliverStoredResourceData):
- loader/ContentFilter.h:
(WebCore::ContentFilter::blockedError const):
(WebCore::ContentFilter::isAllowed const):
(WebCore::ContentFilter::responseReceived const):
- loader/ContentFilterClient.h:
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::notifyFinished):
(WebCore::DocumentLoader::willSendRequest):
(WebCore::DocumentLoader::responseReceived):
(WebCore::DocumentLoader::dataReceived):
(WebCore::DocumentLoader::detachFromFrame):
(WebCore::DocumentLoader::startLoadingMainResource):
(WebCore::DocumentLoader::clearMainResource):
(WebCore::DocumentLoader::becomeMainResourceClient):
(WebCore::DocumentLoader::contentFilterDidBlock):
(WebCore::DocumentLoader::handleContentFilterDidBlock):
(WebCore::DocumentLoader::handleContentFilterProvisionalLoadFailure):
(WebCore::DocumentLoader::contentFilterWillHandleProvisionalLoadFailure):
(WebCore::DocumentLoader::contentFilterHandleProvisionalLoadFailure):
- loader/DocumentLoader.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::dispatchDidFailProvisionalLoad):
- loader/PolicyChecker.cpp:
(WebCore::FrameLoader::PolicyChecker::checkNavigationPolicy):
- loader/SubstituteData.h:
(WebCore::SubstituteData::encode const):
(WebCore::SubstituteData::decode):
- platform/cocoa/ContentFilterUnblockHandlerCocoa.mm:
(WebCore::ContentFilterUnblockHandler::canHandleRequest const):
Source/WebKit:
Move content filtering from the DocumentLoader class in the WebProcess to the NetworkResourceLoader class in the
Networking process. The NetworkResourceLoader is now a client of the content filter, and will send messages
to the DocumentLoader in the WebProcess to cancel the load when the content filter decided to block the load.
If the content filter is providing replacement data, this will also be sent over IPC to the WebProcess.
Data is not being sent to the WebProcess until the content filter has decided to allow the load, if content
filtering is enabled.
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::start):
(WebKit::NetworkResourceLoader::startContentFiltering):
(WebKit::NetworkResourceLoader::didReceiveResponse):
(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::willSendRedirectedRequest):
(WebKit::NetworkResourceLoader::bufferingTimerFired):
(WebKit::NetworkResourceLoader::sendBuffer):
(WebKit::NetworkResourceLoader::didRetrieveCacheEntry):
(WebKit::NetworkResourceLoader::sendResultForCacheEntry):
(WebKit::NetworkResourceLoader::dataReceivedThroughContentFilter):
(WebKit::NetworkResourceLoader::contentFilterDidBlock):
(WebKit::NetworkResourceLoader::cancelMainResourceLoadForContentFilter):
(WebKit::NetworkResourceLoader::handleProvisionalLoadFailureFromContentFilter):
- NetworkProcess/NetworkResourceLoader.h:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::reloadAfterUnblockedContentFilter):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in:
- WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::contentFilterDidBlockLoad):
(WebKit::WebResourceLoader::cancelMainResourceLoadForContentFilter):
(WebKit::WebResourceLoader::handleProvisionalLoadFailureFromContentFilter):
(WebKit::WebResourceLoader::reload):
- WebProcess/Network/WebResourceLoader.h:
- WebProcess/Network/WebResourceLoader.messages.in:
- 4:57 PM Changeset in webkit [290188] by
-
- 91 edits2 adds in trunk/Source/WebCore
Provide a WebCore subspaceImplFor template to make code more readable.
https://bugs.webkit.org/show_bug.cgi?id=236868
rdar://problem/89170090
Reviewed by Yusuke Suzuki.
The pre-existing code is difficult to follow, especially in CodeGeneratorJS.pm.
This change also consolidates the framework implementation of subspaceForImpl in
one place rather than scattered across 3 locations. This will make it easier to
change this code in the future.
Also introduced ExtendedDOMIsoSubspace and ExtendedDOMClientIsoSubspaces classes
and moved the FileSystemDirectoryHandleIterator subspaces in there. This makes
the code behave more consistently for FileSystemDirectoryHandleIterator's
IsoSubspace as for other IsoSubspaces.
Also rebased bindings test results.
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/ExtendedDOMClientIsoSubspaces.h: Added.
- bindings/js/ExtendedDOMIsoSubspaces.h: Added.
- bindings/js/JSFileSystemDirectoryHandleIterator.cpp:
(WebCore::JSFileSystemDirectoryHandleIterator::subspaceForImpl):
- bindings/js/WebCoreJSClientData.cpp:
(WebCore::JSHeapData::JSHeapData):
(WebCore::JSVMClientData::JSVMClientData):
- bindings/js/WebCoreJSClientData.h:
(WebCore::JSHeapData::subspaces):
(WebCore::JSVMClientData::idbSerializationSpace):
(WebCore::JSVMClientData::clientSubspaces):
(WebCore::subspaceForImpl):
(WebCore::JSHeapData::fileSystemDirectoryHandleIteratorSpace): Deleted.
(WebCore::JSHeapData::setFileSystemDirectoryHandleIteratorSpace): Deleted.
(WebCore::JSVMClientData::fileSystemDirectoryHandleIteratorSpace): Deleted.
(WebCore::JSVMClientData::setFileSystemDirectoryHandleIteratorSpace): Deleted.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
(GenerateIterableDefinition):
- bindings/scripts/test/JS/JSDOMWindow.cpp:
(WebCore::JSDOMWindow::subspaceForImpl):
- bindings/scripts/test/JS/JSDedicatedWorkerGlobalScope.cpp:
(WebCore::JSDedicatedWorkerGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSExposedStar.cpp:
(WebCore::JSExposedStar::subspaceForImpl):
- bindings/scripts/test/JS/JSExposedToWorkerAndWindow.cpp:
(WebCore::JSExposedToWorkerAndWindow::subspaceForImpl):
- bindings/scripts/test/JS/JSPaintWorkletGlobalScope.cpp:
(WebCore::JSPaintWorkletGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSServiceWorkerGlobalScope.cpp:
(WebCore::JSServiceWorkerGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSShadowRealmGlobalScope.cpp:
(WebCore::JSShadowRealmGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSSharedWorkerGlobalScope.cpp:
(WebCore::JSSharedWorkerGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSTestCEReactions.cpp:
(WebCore::JSTestCEReactions::subspaceForImpl):
- bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
(WebCore::JSTestCEReactionsStringifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestCallTracer.cpp:
(WebCore::JSTestCallTracer::subspaceForImpl):
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
(WebCore::JSTestClassWithJSBuiltinConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestConditionalIncludes.cpp:
(WebCore::JSTestConditionalIncludes::subspaceForImpl):
- bindings/scripts/test/JS/JSTestConditionallyReadWrite.cpp:
(WebCore::JSTestConditionallyReadWrite::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDOMJIT.cpp:
(WebCore::JSTestDOMJIT::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSON.cpp:
(WebCore::JSTestDefaultToJSON::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSONFilteredByExposed.cpp:
(WebCore::JSTestDefaultToJSONFilteredByExposed::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSONIndirectInheritance.cpp:
(WebCore::JSTestDefaultToJSONIndirectInheritance::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSONInherit.cpp:
(WebCore::JSTestDefaultToJSONInherit::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSONInheritFinal.cpp:
(WebCore::JSTestDefaultToJSONInheritFinal::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDelegateToSharedSyntheticAttribute.cpp:
(WebCore::JSTestDelegateToSharedSyntheticAttribute::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDomainSecurity.cpp:
(WebCore::JSTestDomainSecurity::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
(WebCore::JSTestEnabledBySetting::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEnabledForContext.cpp:
(WebCore::JSTestEnabledForContext::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTarget::subspaceForImpl):
- bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::JSTestException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestGenerateAddOpaqueRoot.cpp:
(WebCore::JSTestGenerateAddOpaqueRoot::subspaceForImpl):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::JSTestGenerateIsReachable::subspaceForImpl):
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::JSTestGlobalObject::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:
(WebCore::JSTestIndexedSetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp:
(WebCore::JSTestIndexedSetterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:
(WebCore::JSTestIndexedSetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::jsTestInterfacePrototypeFunction_entriesCaller):
(WebCore::JSTestInterface::subspaceForImpl):
- bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
(WebCore::JSTestInterfaceLeadingUnderscore::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIterable.cpp:
(WebCore::jsTestIterablePrototypeFunction_entriesCaller):
(WebCore::JSTestIterable::subspaceForImpl):
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
(WebCore::JSTestJSBuiltinConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestLegacyFactoryFunction.cpp:
(WebCore::JSTestLegacyFactoryFunction::subspaceForImpl):
- bindings/scripts/test/JS/JSTestLegacyNoInterfaceObject.cpp:
(WebCore::JSTestLegacyNoInterfaceObject::subspaceForImpl):
- bindings/scripts/test/JS/JSTestLegacyOverrideBuiltIns.cpp:
(WebCore::JSTestLegacyOverrideBuiltIns::subspaceForImpl):
- bindings/scripts/test/JS/JSTestMapLike.cpp:
(WebCore::JSTestMapLike::subspaceForImpl):
- bindings/scripts/test/JS/JSTestMapLikeWithOverriddenOperations.cpp:
(WebCore::JSTestMapLikeWithOverriddenOperations::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp:
(WebCore::JSTestNamedAndIndexedSetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp:
(WebCore::JSTestNamedAndIndexedSetterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp:
(WebCore::JSTestNamedAndIndexedSetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:
(WebCore::JSTestNamedDeleterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:
(WebCore::JSTestNamedDeleterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:
(WebCore::JSTestNamedDeleterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:
(WebCore::JSTestNamedDeleterWithIndexedGetter::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp:
(WebCore::JSTestNamedGetterCallWith::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp:
(WebCore::JSTestNamedGetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp:
(WebCore::JSTestNamedGetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp:
(WebCore::JSTestNamedSetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp:
(WebCore::JSTestNamedSetterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp:
(WebCore::JSTestNamedSetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp:
(WebCore::JSTestNamedSetterWithIndexedGetter::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp:
(WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyOverrideBuiltIns.cpp:
(WebCore::JSTestNamedSetterWithLegacyOverrideBuiltIns::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeableProperties.cpp:
(WebCore::JSTestNamedSetterWithLegacyUnforgeableProperties::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns.cpp:
(WebCore::JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamespaceObject.cpp:
(WebCore::JSTestNamespaceObject::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::jsTestNodePrototypeFunction_entriesCaller):
(WebCore::JSTestNode::subspaceForImpl):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObj::subspaceForImpl):
- bindings/scripts/test/JS/JSTestOperationConditional.cpp:
(WebCore::JSTestOperationConditional::subspaceForImpl):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::JSTestOverloadedConstructors::subspaceForImpl):
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
(WebCore::JSTestOverloadedConstructorsWithSequence::subspaceForImpl):
- bindings/scripts/test/JS/JSTestPluginInterface.cpp:
(WebCore::JSTestPluginInterface::subspaceForImpl):
- bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
(WebCore::JSTestPromiseRejectionEvent::subspaceForImpl):
- bindings/scripts/test/JS/JSTestReadOnlyMapLike.cpp:
(WebCore::JSTestReadOnlyMapLike::subspaceForImpl):
- bindings/scripts/test/JS/JSTestReadOnlySetLike.cpp:
(WebCore::JSTestReadOnlySetLike::subspaceForImpl):
- bindings/scripts/test/JS/JSTestReportExtraMemoryCost.cpp:
(WebCore::JSTestReportExtraMemoryCost::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterface::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSetLike.cpp:
(WebCore::JSTestSetLike::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSetLikeWithOverriddenOperations.cpp:
(WebCore::JSTestSetLikeWithOverriddenOperations::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifier.cpp:
(WebCore::JSTestStringifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp:
(WebCore::JSTestStringifierAnonymousOperation::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp:
(WebCore::JSTestStringifierNamedOperation::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp:
(WebCore::JSTestStringifierOperationImplementedAs::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp:
(WebCore::JSTestStringifierOperationNamedToString::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp:
(WebCore::JSTestStringifierReadOnlyAttribute::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:
(WebCore::JSTestStringifierReadWriteAttribute::subspaceForImpl):
- bindings/scripts/test/JS/JSTestTaggedWrapper.cpp:
(WebCore::JSTestTaggedWrapper::subspaceForImpl):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefs::subspaceForImpl):
- bindings/scripts/test/JS/JSWorkerGlobalScope.cpp:
(WebCore::JSWorkerGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSWorkletGlobalScope.cpp:
(WebCore::JSWorkletGlobalScope::subspaceForImpl):
- 4:52 PM Changeset in webkit [290187] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Add required Mach service to the sandbox of the GPU process
https://bugs.webkit.org/show_bug.cgi?id=236860
Reviewed by Darin Adler.
- Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:
- 4:44 PM Changeset in webkit [290186] by
-
- 15 edits in trunk/Source
[iOS] Safari can sometimes hang while printing due to sync IPC
https://bugs.webkit.org/show_bug.cgi?id=236811
<rdar://problem/56425783>
Reviewed by Aditya Keerthi.
Source/WebKit:
- UIProcess/_WKWebViewPrintFormatter.h:
- UIProcess/_WKWebViewPrintFormatterInternal.h:
- UIProcess/_WKWebViewPrintFormatter.mm:
(-[_WKWebViewPrintFormatter requiresMainThread]): Added.
Adopt new UIKit SPI for allowingUIPrintFormatter
to be called off the main thread.
- UIProcess/ios/WKContentView.mm:
(-[WKContentView _processDidExit]):
(-[WKContentView _wk_printFormatterRequiresMainThread]): Added.
(-[WKContentView _wk_pageCountForPrintFormatter:]):
(-[WKContentView _waitForDrawToPDFCallbackIfNeeded:]): Added.
(-[WKContentView _wk_printedDocument:]):
(-[WKContentView _waitForDrawToPDFCallback:]): Deleted.
Reorganize this code to support both sync and async flows.
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::computePagesForPrintingiOS): Added.
(WebKit::WebPageProxy::drawToPDFiOS): Added.
(WebKit::WebPageProxy::computePagesForPrintingAndDrawToPDF): Deleted.
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/ios/WebPageIOS.mm:
Split
WebPageProxy::computePagesForPrintingAndDrawToPDF
into two methods, as the first
"part" (i.e.computePagesForPrintingiOS
) is no longer needed with this new UIKit SPI.
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::computePagesForPrinting):
- UIProcess/API/C/WKPage.cpp:
(WKPageComputePagesForPrinting):
- UIProcess/mac/WKPrintingView.mm:
(-[WKPrintingView _askPageToComputePageRects]):
HaveWebPageProxy::computePagesForPrinting
take aWebCore::FrameIdentifier
instead of a
WebFrameProxy*
so that more callers (e.g.API::FrameHandle
) can use it.
- UIProcess/ios/WKPDFView.mm:
(-[WKPDFView _wk_printFormatterRequiresMainThread]): Added.
By the timeWKPDFView
is asked to print, it should already have all the data necessary to
do so, so there's no reason to not use the main thread (since there's no sync IPC).
Source/WTF:
Adopt new UIKit SPI for allowing
UIPrintFormatter
to be called off the main thread.
- wtf/PlatformHave.h:
Add a
HAVE_UIKIT_BACKGROUND_THREAD_PRINTING
to guard this new behavior.
- 4:40 PM Changeset in webkit [290185] by
-
- 2 edits in trunk/Tools
[JSC] Fix test sharding when using --make-runner and --remote
https://bugs.webkit.org/show_bug.cgi?id=236560
Reviewed by Adrian Perez de Castro.
After https://commits.webkit.org/244496@main, test sharding was broken
for the make runner. Specifically, all remotes would get assigned all
tests (instead of a subset).
Fix this by propagating and using the correct value for remoteHosts.
- Scripts/webkitruby/jsc-stress-test-writer-default.rb:
- 4:28 PM Changeset in webkit [290184] by
-
- 22 edits in trunk/Source
[WebAuthn] Support for conditional mediation
https://bugs.webkit.org/show_bug.cgi?id=236820
rdar://84821947
Reviewed by Brent Fulgham and Chris Dumez.
This patch adds support for conditional mediation, as defined in the
credentials management spec: https://w3c.github.io/webappsec-credential-management/#dom-credentialmediationrequirement-conditional
Source/WebCore:
- Modules/credentialmanagement/BasicCredential.cpp:
(WebCore::BasicCredential::isConditionalMediationAvailable):
- Modules/credentialmanagement/BasicCredential.h:
- Modules/credentialmanagement/BasicCredential.idl:
- Modules/credentialmanagement/CredentialRequestOptions.h:
- Modules/credentialmanagement/CredentialRequestOptions.idl:
- Modules/credentialmanagement/CredentialsContainer.cpp:
(WebCore::CredentialsContainer::get):
- Modules/webauthn/AuthenticatorCoordinator.cpp:
(WebCore::AuthenticatorCoordinator::discoverFromExternalSource const):
(WebCore::AuthenticatorCoordinator::isConditionalMediationAvailable const):
- Modules/webauthn/AuthenticatorCoordinator.h:
- Modules/webauthn/AuthenticatorCoordinatorClient.h:
- WebCore.xcodeproj/project.pbxproj:
Source/WebKit:
- Platform/spi/Cocoa/AuthenticationServicesCoreSPI.h:
- UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:
(WebKit::configurationAssertionRequestContext):
(WebKit::WebAuthenticatorCoordinatorProxy::contextForRequest):
(WebKit::WebAuthenticatorCoordinatorProxy::performRequest):
(WebKit::WebAuthenticatorCoordinatorProxy::isConditionalMediationAvailable):
- UIProcess/WebAuthentication/WebAuthenticationRequestData.h:
- UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp:
(WebKit::WebAuthenticatorCoordinatorProxy::makeCredential):
(WebKit::WebAuthenticatorCoordinatorProxy::getAssertion):
(WebKit::WebAuthenticatorCoordinatorProxy::isConditionalMediationAvailable):
- UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h:
- UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.messages.in:
- WebProcess/WebAuthentication/WebAuthenticatorCoordinator.cpp:
(WebKit::WebAuthenticatorCoordinator::getAssertion):
- WebProcess/WebAuthentication/WebAuthenticatorCoordinator.h:
- 4:27 PM Changeset in webkit [290183] by
-
- 7 edits in trunk/Source/WebKit
Remove unneeded sandbox extension code
https://bugs.webkit.org/show_bug.cgi?id=228777
<rdar://problem/81516828>
Reviewed by Brent Fulgham.
Since the GPU process is now enabled by default, some related sandbox extension code can be removed.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
(WebKit::mediaRelatedMachServices): Deleted.
(WebKit::mediaRelatedIOKitClasses): Deleted.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_appHighlightsVisible):
- WebProcess/com.apple.WebProcess.sb.in:
- 4:22 PM Changeset in webkit [290182] by
-
- 1 copy in tags/Safari-613.1.17.0.6
Tag Safari-613.1.17.0.6.
- 4:22 PM Changeset in webkit [290181] by
-
- 1 delete in tags/Safari-613.1.17.0.6
Delete tag.
- 4:18 PM Changeset in webkit [290180] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Add access to required Mach service in the Network process
https://bugs.webkit.org/show_bug.cgi?id=236853
<rdar://89031731>
Reviewed by Darin Adler.
- Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
- 4:03 PM Changeset in webkit [290179] by
-
- 39 edits1 delete in trunk
Unreviewed, reverting r290149.
Broke Debug Builds.
Reverted changeset:
"Generate compile_commands.json on macOS Builds"
https://bugs.webkit.org/show_bug.cgi?id=235686
https://commits.webkit.org/r290149
- 3:50 PM Changeset in webkit [290178] by
-
- 10 edits2 adds in trunk
[Live Text] Add a mechanism to inject images into image overlays
https://bugs.webkit.org/show_bug.cgi?id=236842
Reviewed by Aditya Keerthi.
Source/WebCore:
To support additional behaviors around the "Copy Cropped Image" context menu item on macOS, add a new image
overlay helper method to install a temporary image element within the image overlay shadow root of a host image.
See below for more details.
Test: fast/images/text-recognition/image-overlay-cropped-image.html
- dom/ImageOverlay.cpp:
(WebCore::ImageOverlay::imageOverlayCroppedImageIdentifier):
(WebCore::ImageOverlay::imageOverlayCroppedImageBackdropIdentifier):
(WebCore::ImageOverlay::isOverlayText):
(WebCore::ImageOverlay::removeOverlaySoonIfNeeded):
(WebCore::ImageOverlay::installImageOverlayStyleSheet):
Pull out logic for installing the UA style sheet for image overlays into a helper method, so that we can ensure
the stylesheet in both cases where theCroppedImage
is installed first, or Live Text is injected first.
(WebCore::ImageOverlay::updateSubtree):
Refactor this method to not completely remove the image overlay root container in the case where the Live Text
subtree needs to be regenerated; this prevents us from inadvertently removing the cropped image overlay elements
when updating Live Text elements in the UA shadow root.
(WebCore::ImageOverlay::CroppedImage::install):
Add a method to install a cropped image overlay into the given host element. This creates a new blob URL using
the given image data and MIME type, and uses it to insert an image element within the image overlay root
container that's absolutely positioned over the given crop rect (normalized relative to the image).
This inserted image is presented over another dimming element that fades in and out as
setVisibility()
is
called. Finally,install
returns aunique_ptr
to a RAII object that can be used to fade the cropped image
backdrop in or out; when destroyed, this RAII object immediately disconnects both the backdrop and the image
element, and revokes the temporary blob URL created duringinstall()
.
(WebCore::ImageOverlay::CroppedImage::CroppedImage):
(WebCore::ImageOverlay::CroppedImage::~CroppedImage):
(WebCore::ImageOverlay::CroppedImage::setVisibility):
- dom/ImageOverlay.h:
- dom/ShadowRoot.h:
Add a
using TreeScope::getElementById;
here to make it possible to callgetElementById
onShadowRoot
without having to cast to aTreeScope
.
- html/shadow/imageOverlay.css:
(img#image-overlay-cropped-image):
(div#image-overlay-cropped-image-backdrop):
- testing/Internals.cpp:
(WebCore::Internals::pngDataForTesting):
(WebCore::Internals::installCroppedImageOverlay):
(WebCore::Internals::uninstallCroppedImageOverlay):
Add internal testing support for the cropped image overlay by allowing layout tests to inject an image overlay
with hard-coded PNG data into the given element.
- testing/Internals.h:
- testing/Internals.idl:
- testing/Internals.mm:
(WebCore::Internals::pngDataForTesting):
LayoutTests:
Add a layout test that exercises the new cropped image overlay code.
- fast/images/text-recognition/image-overlay-cropped-image-expected.txt: Added.
- fast/images/text-recognition/image-overlay-cropped-image.html: Added.
- 3:42 PM Changeset in webkit [290177] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (10/5/2021?): [iOS] http/wpt/cross-origin-opener-policy/single-request-to-server.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=233284
Unreviewed test gardening.
- platform/ios/TestExpectations: Mark test as flaky.
- 2:58 PM Changeset in webkit [290176] by
-
- 1 copy in tags/Safari-614.1.4
Tag Safari-614.1.4.
- 2:48 PM Changeset in webkit [290175] by
-
- 47 edits in trunk
WebGL GPUP: Crash when running fast/mediastream/getUserMedia-to-canvas-1.html
https://bugs.webkit.org/show_bug.cgi?id=236502
Source/WebCore:
<rdar://problem/88862921>
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-18
Reviewed by Eric Carlson.
Add a polymorphic function asVideoFrameCV to convert VideoFrame to VideoFrameCV.
VideoFrameCV is used to draw the in-process video frame to in-process WebGL.
RemoteVideoFrameProxy will implement asVideoFrameCV by fetching the data from
GPUP and returning a new object exposing the data.
No new tests, tested by now unskipped tests.
- platform/VideoFrame.h:
- platform/graphics/cocoa/GraphicsContextGLCocoa.mm:
(WebCore::GraphicsContextGLCocoa::copyTextureFromMedia):
- platform/graphics/cv/VideoFrameCV.h:
- platform/graphics/cv/VideoFrameCV.mm:
(WebCore::VideoFrameCV::asVideoFrameCV):
Source/WebKit:
The crash is about MediaPlayerPrivateMediaStreamAVFObjC being in WP while other
media player private variants are proxied to GPUP. The previous implementation
would send media player identifiers to GPUP for copying.
This patch will implement the copy by the media player creating a reference
to VideoFrame. WebGL would send reference of the VideoFrame to GPUP for copying.
Make WP MediaPlayerPrivateRemote always return RemoteVideoFrameProxy objects
instead of WP in-process VideoFrame instances (for Cocoa VideoFrameCV) that
would hold the video data in process.
WP MediaPlayerPrivateMediaStreamAVFObjC already returns RemoteVideoFrameProxy
objects. This way GPUP WebGL implementation can obtain the read reference
to the remote object and send it in copyTextureFromVideoFrame message.
The WP in-process WebGL implementation converts the RemoteVideoFrameProxy
to VideoFrameCV with the new RemoteVideoFrameProxy::asVideoFrameCV.
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-18
Reviewed by Eric Carlson.
- GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::RemoteGraphicsContextGL::RemoteGraphicsContextGL):
(WebKit::RemoteGraphicsContextGL::copyTextureFromVideoFrame):
- GPUProcess/graphics/RemoteGraphicsContextGL.h:
- GPUProcess/graphics/RemoteGraphicsContextGL.messages.in:
- GPUProcess/graphics/RemoteGraphicsContextGLCocoa.cpp:
(WebKit::RemoteGraphicsContextGL::copyTextureFromVideoFrame):
(WebKit::RemoteGraphicsContextGL::create):
(WebKit::RemoteGraphicsContextGLCocoa::RemoteGraphicsContextGLCocoa):
(WebKit::RemoteGraphicsContextGLCocoa::platformWorkQueueInitialize):
(WebKit::RemoteGraphicsContextGLCocoa::prepareForDisplay):
- GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:
(WebKit::RemoteMediaPlayerManagerProxy::createMediaPlayer):
- GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::RemoteMediaPlayerProxy):
(WebKit::RemoteMediaPlayerProxy::videoFrameForCurrentTimeIfChanged):
- GPUProcess/media/RemoteMediaPlayerProxy.h:
- GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
- WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:
(WebKit::RemoteGraphicsContextGLProxy::copyTextureFromMedia):
- WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::videoFrameForCurrentTime):
- WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
- WebProcess/GPU/media/RemoteVideoFrameProxy.cpp:
(WebKit::RemoteVideoFrameProxy::asVideoFrameCV):
- WebProcess/GPU/media/RemoteVideoFrameProxy.h:
LayoutTests:
Unskip the previous crashes caused by the lack of implementation.
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-18
Reviewed by Eric Carlson.
- platform/ios-wk2/TestExpectations:
- 2:43 PM Changeset in webkit [290174] by
-
- 23 edits in trunk/Source
[macOS] Allow screen and window capture to be done in the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=236815
<rdar://problem/89117278>
Reviewed by Jer Noble.
Source/WebCore:
Tested manually.
- platform/mediastream/mac/ScreenCaptureKitCaptureSource.h:
- platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm:
(WebCore::ScreenCaptureKitCaptureSource::sessionDidChangeContent): Call CaptureDevice
constructor directly since we have everything it needs.
(WebCore::findSharableDevice): Extract logic from processSharableContent into a
static function so it can be reused.
(WebCore::ScreenCaptureKitCaptureSource::findShareableContent): Use findSharableDevice.
(WebCore::ScreenCaptureKitCaptureSource::streamConfiguration): Add logging.
(WebCore::ScreenCaptureKitCaptureSource::startContentStream): Ditto.
(WebCore::ScreenCaptureKitCaptureSource::captureDeviceWithPersistentID):
(WebCore::ScreenCaptureKitCaptureSource::processSharableContent): Deleted.
- platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.h:
(WebCore::ScreenCaptureKitSharingSessionManager::SharingSessionObserver::operator== const): Deleted.
- platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm:
(WebCore::ScreenCaptureKitSharingSessionManager::isAvailable):
(WebCore::ScreenCaptureKitSharingSessionManager::sessionDidChangeContent): Call
CaptureDevice constructor directly since we have everything it needs.
(WebCore::ScreenCaptureKitSharingSessionManager::promptForGetDisplayMedia): Call
completion handler if the class is not available.
Source/WebKit:
- GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::showWindowPicker): Call the picker.
(WebKit::GPUProcess::showScreenPicker): Ditto.
(WebKit::GPUProcess::setUseScreenCaptureKit):
- GPUProcess/GPUProcess.h:
- GPUProcess/GPUProcess.messages.in:
- GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in: Add rule to allow sandbox
to be extended dynamically with the mach-lookups required for the picker.
- Scripts/process-entitlements.sh: Add entitlements required for picker.
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const): Encode shouldCaptureDisplayInGPUProcess.
(WebKit::WebPageCreationParameters::decode): Decode shouldCaptureDisplayInGPUProcess.
- Shared/WebPageCreationParameters.h:
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
- UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::addDisplayCaptureSandboxExtension): Create extensions required to use the
system picker.
(WebKit::GPUProcessProxy::updateSandboxAccess): Add display capture.
(WebKit::GPUProcessProxy::updateCaptureAccess): Pass "allowDisplayCapture" to updateSandboxAccess.
(WebKit::GPUProcessProxy::showWindowPicker):
(WebKit::GPUProcessProxy::showScreenPicker):
(WebKit::GPUProcessProxy::updatePreferences):
- UIProcess/GPU/GPUProcessProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters): Set shouldCaptureDisplayInGPUProcess.
- UIProcess/mac/DisplayCaptureSessionManager.mm:
(WebKit::DisplayCaptureSessionManager::showWindowPicker): Send message to GPU
process when necessary.
(WebKit::DisplayCaptureSessionManager::showScreenPicker): Ditto.
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::platformInitialize): Pass shouldCaptureDisplayInGPUProcess to setupCaptureProcesses.
- WebProcess/cocoa/UserMediaCaptureManager.cpp:
(WebKit::UserMediaCaptureManager::setupCaptureProcesses): Add shouldCaptureDisplayInGPUProcess
parameter.
(WebKit::UserMediaCaptureManager::DisplayFactory::createDisplayCaptureSource): Deal
with GPU process capture.
(WebKit::UserMediaCaptureManager::DisplayFactory::setShouldCaptureInGPUProcess):
- WebProcess/cocoa/UserMediaCaptureManager.h:
Source/WTF:
- Scripts/Preferences/WebPreferencesExperimental.yaml: Add UseGPUProcessForDisplayCapture.
- 2:40 PM Changeset in webkit [290173] by
-
- 3 edits in trunk/Source/WebKit
Use async NSSharingServicePicker menu if available
https://bugs.webkit.org/show_bug.cgi?id=236823
<rdar://problem/88858606>
Reviewed by Dean Jackson.
- UIProcess/Cocoa/WKShareSheet.h:
- UIProcess/Cocoa/WKShareSheet.mm:
(-[WKShareSheet presentWithShareDataArray:inRect:]):
(-[WKShareSheet canShowPickerAsync:]):
(-[WKShareSheet showPickerAsync:completionHandler:]):
- 2:37 PM Changeset in webkit [290172] by
-
- 1 copy in tags/Safari-613.1.17.0.6
Tag Safari-613.1.17.0.6.
- 2:36 PM Changeset in webkit [290171] by
-
- 1 copy in tags/Safari-613.1.17.1.6
Tag Safari-613.1.17.1.6.
- 2:32 PM Changeset in webkit [290170] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Fix ideographic baseline for atomic inline level boxes with non-zero descent
https://bugs.webkit.org/show_bug.cgi?id=236841
Reviewed by Antti Koivisto.
In most cases atomic inline level boxes have zero descent values. However the ideographic should
include the descent value (see RenderBox::baselinePosition)
This patch also removes the check for orthogonal content since it is already covered at LineLayout::updateLayoutBoxDimensions
(getting the correct baseline value that is).
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::adjustIdeographicBaselineIfApplicable):
- 2:19 PM Changeset in webkit [290169] by
-
- 4 edits in branches/safari-614.1.4-branch/Source/WebCore
Cherry-pick r290153. rdar://problem/89142268
[Cocoa] Make AVFoundationSPI.h robust against changes in system headers
https://bugs.webkit.org/show_bug.cgi?id=236787
<rdar://89076606>
Reviewed by Eric Carlson.
Source/WebCore:
Wrap call-sites in #if HAVE() macros.
- platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm: (WebCore::CDMInstanceFairPlayStreamingAVFObjC::contentKeySession): (WebCore::CDMInstanceFairPlayStreamingAVFObjC::sessionForRequest const): (WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::requestLicense): (WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::removeSessionData): (WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didProvideRequest): (WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::protectionStatusForDisplayID const): (WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::ensureSessionOrGroup):
Source/WebCore/PAL:
Follow-up: build problems still persist on certain platforms, so the "robustness"
changes made previously were not robust enough. The guards in AVFoundationSPI.h were
intended to ensure the definitions were present even on builds where the official API
is not supported. However, just because the API is not supported does not mean it's not
present, which leads to duplicate-interface build errors.
Fix the AVFoundationSPI.h pragmas to only define the classes and methods where those
objects are supported, and in parallel, wrap implementations which use those objects
in those same guards (making these checks compile-time in addition to runtime).
Move the declarations inside the #else (IOW, !USE(APPLE_INTERNAL_SDK)) block above,
and wrap each declaration in the correct HAVE() macro.
- pal/spi/cocoa/AVFoundationSPI.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290153 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:01 PM Changeset in webkit [290168] by
-
- 1 delete in trunk/Websites/bugs.webkit.org/template/en/default/queue.json.tmpl
Revert 290166.
- 1:38 PM Changeset in webkit [290167] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r288201): ASSERTION FAILED: !allScriptExecutionContextsMap().contains(m_identifier)
https://bugs.webkit.org/show_bug.cgi?id=236123
<rdar://problem/88472494>
Reviewed by Chris Dumez.
We sometimes call setupForReplace which reset m_gotFirstByte to false.
In that case, we may reuse the same client ID for two different documents.
To prevent this, we clear the clientID in setupForReplace.
For good measure, if service worker runtime flag is not on, we do not set the client ID at all.
Covered by existing WK1 tests.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::setupForReplace):
(WebCore::DocumentLoader::loadMainResource):
- 1:32 PM Changeset in webkit [290166] by
-
- 1 add in trunk/Websites/bugs.webkit.org/template/en/default/queue.json.tmpl
Temporarily adding JSON output for request queue to see if it works.
Will remove it immediately after testing.
Unreviewed.
- template/en/default/queue.json.tmpl: Added.
- 1:29 PM Changeset in webkit [290165] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r289990): [iOS] fast/backgrounds/gradient-background-shadow.html is consistently failing
https://bugs.webkit.org/show_bug.cgi?id=236854
Unreviewed. Expanding fuzzy range.
- fast/backgrounds/gradient-background-shadow.html:
- 1:21 PM Changeset in webkit [290164] by
-
- 13 edits2 moves14 adds in trunk/LayoutTests
Re-import inert and <dialog> WPT
https://bugs.webkit.org/show_bug.cgi?id=236808
Reviewed by Simon Fraser.
Commit: https://github.com/web-platform-tests/wpt/commit/0d483a3bea340a2c60cb7a4add49eb63cbba2a64
LayoutTests/imported/w3c:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focus-shadow-double-nested-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focus-shadow-delegatesfocus-expected.txt.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focus-shadow-double-nested.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focus-shadow-delegatesfocus.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focus-shadow-expected.txt:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focus-shadow.html:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inert-focus-in-frames-expected.txt:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inert-focus-in-frames.html:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inert-label-focus.html:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inertness-with-modal-dialogs-and-iframes-expected.txt:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inertness-with-modal-dialogs-and-iframes.html:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-scroll-height.html:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/w3c-import.log:
- web-platform-tests/inert/dynamic-inert-on-focused-element.tentative-expected.txt: Added.
- web-platform-tests/inert/dynamic-inert-on-focused-element.tentative.html: Added.
- web-platform-tests/inert/inert-canvas-fallback-content.tentative-expected.txt: Added.
- web-platform-tests/inert/inert-canvas-fallback-content.tentative.html: Added.
- web-platform-tests/inert/inert-iframe-hittest.tentative-expected.txt: Added.
- web-platform-tests/inert/inert-iframe-hittest.tentative.html: Added.
- web-platform-tests/inert/inert-iframe-tabbing.tentative-expected.txt: Added.
- web-platform-tests/inert/inert-iframe-tabbing.tentative.html: Added.
- web-platform-tests/inert/inert-node-is-uneditable.tentative.html:
- web-platform-tests/inert/inert-with-modal-dialog-001.tentative-expected.txt: Added.
- web-platform-tests/inert/inert-with-modal-dialog-001.tentative.html: Added.
- web-platform-tests/inert/inert-with-modal-dialog-002.tentative-expected.txt: Added.
- web-platform-tests/inert/inert-with-modal-dialog-002.tentative.html: Added.
- web-platform-tests/inert/w3c-import.log:
LayoutTests:
- platform/ios-wk2/imported/w3c/web-platform-tests/inert/inert-iframe-hittest.tentative-expected.txt: Added.
- platform/ios-wk2/imported/w3c/web-platform-tests/inert/inert-iframe-tabbing.tentative-expected.txt: Added.
- 1:20 PM Changeset in webkit [290163] by
-
- 2 edits in branches/safari-613.1.17.0-branch/Source/WebCore
Cherry-pick r290152. rdar://problem/88327814
Keep promise in scope when calling DeferredPromise::reject
https://bugs.webkit.org/show_bug.cgi?id=236454
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-02-18
Reviewed by Darin Adler.
Keep promise in scope when calling DeferredPromise::reject, as createDOMException
could go through a path that invokes GC on its owner and the promise.
- Modules/fetch/FetchBodyConsumer.cpp: (WebCore::FetchBodyConsumer::resolveWithFormData):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290152 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:20 PM Changeset in webkit [290162] by
-
- 3 edits6 adds in branches/safari-613.1.17.0-branch
Cherry-pick r290156. rdar://problem/89154452
ServiceWorkerGlobalScope+PushAPI requires PushAPIEnabled
https://bugs.webkit.org/show_bug.cgi?id=236846
Patch by Sam Sneddon <Sam Sneddon> on 2022-02-18
Reviewed by Chris Dumez.
Source/WebCore:
Tests: http/wpt/push-api/onpush-disabled.html
http/wpt/push-api/onpush-enabled.html
- Modules/push-api/ServiceWorkerGlobalScope+PushAPI.idl:
LayoutTests:
- http/wpt/push-api/onpush-disabled-expected.txt: Added.
- http/wpt/push-api/onpush-disabled.html: Added.
- http/wpt/push-api/onpush-disabled.js: Added. (test):
- http/wpt/push-api/onpush-enabled-expected.txt: Added.
- http/wpt/push-api/onpush-enabled.html: Added.
- http/wpt/push-api/onpush-enabled.js: Added. (test):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290156 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:18 PM Changeset in webkit [290161] by
-
- 2 edits in trunk
Replace trac URLs in Introduction.md by equivalent GitHub URLs
https://bugs.webkit.org/show_bug.cgi?id=236826
Reviewed by Sihui Liu.
Replaced track links by equivalent Github links in Introduction.md.
Also replaced an example of a reference test since the previously referenced test
had been converted to a manual test, and updated documentations around preferences
as they had been refactored since this was originally written.
- Introduction.md:
- 1:18 PM Changeset in webkit [290160] by
-
- 2 edits in branches/safari-613.1.17.1-branch/Source/WebCore
Cherry-pick r290152. rdar://problem/88327814
Keep promise in scope when calling DeferredPromise::reject
https://bugs.webkit.org/show_bug.cgi?id=236454
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-02-18
Reviewed by Darin Adler.
Keep promise in scope when calling DeferredPromise::reject, as createDOMException
could go through a path that invokes GC on its owner and the promise.
- Modules/fetch/FetchBodyConsumer.cpp: (WebCore::FetchBodyConsumer::resolveWithFormData):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290152 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:17 PM Changeset in webkit [290159] by
-
- 3 edits6 adds in branches/safari-613.1.17.1-branch
Cherry-pick r290156. rdar://problem/89154452
ServiceWorkerGlobalScope+PushAPI requires PushAPIEnabled
https://bugs.webkit.org/show_bug.cgi?id=236846
Patch by Sam Sneddon <Sam Sneddon> on 2022-02-18
Reviewed by Chris Dumez.
Source/WebCore:
Tests: http/wpt/push-api/onpush-disabled.html
http/wpt/push-api/onpush-enabled.html
- Modules/push-api/ServiceWorkerGlobalScope+PushAPI.idl:
LayoutTests:
- http/wpt/push-api/onpush-disabled-expected.txt: Added.
- http/wpt/push-api/onpush-disabled.html: Added.
- http/wpt/push-api/onpush-disabled.js: Added. (test):
- http/wpt/push-api/onpush-enabled-expected.txt: Added.
- http/wpt/push-api/onpush-enabled.html: Added.
- http/wpt/push-api/onpush-enabled.js: Added. (test):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290156 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:13 PM Changeset in webkit [290158] by
-
- 18 edits2 copies in branches/safari-613.1.17.1-branch/Source/bmalloc
Revert r290134. rdar://problem/89071706
This reverts patch application at r290134.
- 1:12 PM Changeset in webkit [290157] by
-
- 13 edits in trunk
[XCBuild] "All Modules" workspace builds building out of order
https://bugs.webkit.org/show_bug.cgi?id=236813
Reviewed by Alexey Proskuryakov.
Source/ThirdParty/libwebrtc:
Nothing particularly interesting here, but should fix build failures on
Apple-BigSur-XCBuild-Release-Build <https://build.webkit.org/#/builders/463>.
- libwebrtc.xcodeproj/project.pbxproj: Ensure yasm is built before using it.
Source/WebCore/PAL:
Add product dependency on WTF, since PAL uses its headers without linking against it.
- PAL.xcodeproj/project.pbxproj:
Source/WebGPU:
Add product dependency on WTF. WGSL uses its headers without linking against it.
- Configurations/WGSL.xcconfig:
- WebGPU.xcodeproj/project.pbxproj:
Tools:
Add product dependency on WebKit. LayoutTestHelper uses headers from WebKit and lower
frameworks without linking against them.
- DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
- DumpRenderTree/mac/Configurations/LayoutTestHelper.xcconfig:
- 12:58 PM Changeset in webkit [290156] by
-
- 3 edits6 adds in trunk
ServiceWorkerGlobalScope+PushAPI requires PushAPIEnabled
https://bugs.webkit.org/show_bug.cgi?id=236846
Patch by Sam Sneddon <Sam Sneddon> on 2022-02-18
Reviewed by Chris Dumez.
Source/WebCore:
Tests: http/wpt/push-api/onpush-disabled.html
http/wpt/push-api/onpush-enabled.html
- Modules/push-api/ServiceWorkerGlobalScope+PushAPI.idl:
LayoutTests:
- http/wpt/push-api/onpush-disabled-expected.txt: Added.
- http/wpt/push-api/onpush-disabled.html: Added.
- http/wpt/push-api/onpush-disabled.js: Added.
(test):
- http/wpt/push-api/onpush-enabled-expected.txt: Added.
- http/wpt/push-api/onpush-enabled.html: Added.
- http/wpt/push-api/onpush-enabled.js: Added.
(test):
- 12:42 PM Changeset in webkit [290155] by
-
- 87 edits in trunk/Source/WebCore
Fix copy-paste error in r290129.
https://bugs.webkit.org/show_bug.cgi?id=236847
rdar://problem/89155146
Reviewed by Yusuke Suzuki.
The heap server subspace name should be parameterized based on the interfaceName.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
- bindings/scripts/test/JS/JSDOMWindow.cpp:
(WebCore::JSDOMWindow::subspaceForImpl):
- bindings/scripts/test/JS/JSDedicatedWorkerGlobalScope.cpp:
(WebCore::JSDedicatedWorkerGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSExposedStar.cpp:
(WebCore::JSExposedStar::subspaceForImpl):
- bindings/scripts/test/JS/JSExposedToWorkerAndWindow.cpp:
(WebCore::JSExposedToWorkerAndWindow::subspaceForImpl):
- bindings/scripts/test/JS/JSPaintWorkletGlobalScope.cpp:
(WebCore::JSPaintWorkletGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSServiceWorkerGlobalScope.cpp:
(WebCore::JSServiceWorkerGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSShadowRealmGlobalScope.cpp:
(WebCore::JSShadowRealmGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSSharedWorkerGlobalScope.cpp:
(WebCore::JSSharedWorkerGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSTestCEReactions.cpp:
(WebCore::JSTestCEReactions::subspaceForImpl):
- bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
(WebCore::JSTestCEReactionsStringifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestCallTracer.cpp:
(WebCore::JSTestCallTracer::subspaceForImpl):
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
(WebCore::JSTestClassWithJSBuiltinConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestConditionalIncludes.cpp:
(WebCore::JSTestConditionalIncludes::subspaceForImpl):
- bindings/scripts/test/JS/JSTestConditionallyReadWrite.cpp:
(WebCore::JSTestConditionallyReadWrite::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDOMJIT.cpp:
(WebCore::JSTestDOMJIT::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSON.cpp:
(WebCore::JSTestDefaultToJSON::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSONFilteredByExposed.cpp:
(WebCore::JSTestDefaultToJSONFilteredByExposed::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSONIndirectInheritance.cpp:
(WebCore::JSTestDefaultToJSONIndirectInheritance::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSONInherit.cpp:
(WebCore::JSTestDefaultToJSONInherit::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSONInheritFinal.cpp:
(WebCore::JSTestDefaultToJSONInheritFinal::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDelegateToSharedSyntheticAttribute.cpp:
(WebCore::JSTestDelegateToSharedSyntheticAttribute::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDomainSecurity.cpp:
(WebCore::JSTestDomainSecurity::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
(WebCore::JSTestEnabledBySetting::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEnabledForContext.cpp:
(WebCore::JSTestEnabledForContext::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTarget::subspaceForImpl):
- bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::JSTestException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestGenerateAddOpaqueRoot.cpp:
(WebCore::JSTestGenerateAddOpaqueRoot::subspaceForImpl):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::JSTestGenerateIsReachable::subspaceForImpl):
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::JSTestGlobalObject::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:
(WebCore::JSTestIndexedSetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp:
(WebCore::JSTestIndexedSetterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:
(WebCore::JSTestIndexedSetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterface::subspaceForImpl):
- bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
(WebCore::JSTestInterfaceLeadingUnderscore::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIterable.cpp:
(WebCore::JSTestIterable::subspaceForImpl):
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
(WebCore::JSTestJSBuiltinConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestLegacyFactoryFunction.cpp:
(WebCore::JSTestLegacyFactoryFunction::subspaceForImpl):
- bindings/scripts/test/JS/JSTestLegacyNoInterfaceObject.cpp:
(WebCore::JSTestLegacyNoInterfaceObject::subspaceForImpl):
- bindings/scripts/test/JS/JSTestLegacyOverrideBuiltIns.cpp:
(WebCore::JSTestLegacyOverrideBuiltIns::subspaceForImpl):
- bindings/scripts/test/JS/JSTestMapLike.cpp:
(WebCore::JSTestMapLike::subspaceForImpl):
- bindings/scripts/test/JS/JSTestMapLikeWithOverriddenOperations.cpp:
(WebCore::JSTestMapLikeWithOverriddenOperations::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp:
(WebCore::JSTestNamedAndIndexedSetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp:
(WebCore::JSTestNamedAndIndexedSetterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp:
(WebCore::JSTestNamedAndIndexedSetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:
(WebCore::JSTestNamedDeleterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:
(WebCore::JSTestNamedDeleterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:
(WebCore::JSTestNamedDeleterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:
(WebCore::JSTestNamedDeleterWithIndexedGetter::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp:
(WebCore::JSTestNamedGetterCallWith::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp:
(WebCore::JSTestNamedGetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp:
(WebCore::JSTestNamedGetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp:
(WebCore::JSTestNamedSetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp:
(WebCore::JSTestNamedSetterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp:
(WebCore::JSTestNamedSetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp:
(WebCore::JSTestNamedSetterWithIndexedGetter::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp:
(WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyOverrideBuiltIns.cpp:
(WebCore::JSTestNamedSetterWithLegacyOverrideBuiltIns::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeableProperties.cpp:
(WebCore::JSTestNamedSetterWithLegacyUnforgeableProperties::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns.cpp:
(WebCore::JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamespaceObject.cpp:
(WebCore::JSTestNamespaceObject::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::JSTestNode::subspaceForImpl):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObj::subspaceForImpl):
- bindings/scripts/test/JS/JSTestOperationConditional.cpp:
(WebCore::JSTestOperationConditional::subspaceForImpl):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::JSTestOverloadedConstructors::subspaceForImpl):
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
(WebCore::JSTestOverloadedConstructorsWithSequence::subspaceForImpl):
- bindings/scripts/test/JS/JSTestPluginInterface.cpp:
(WebCore::JSTestPluginInterface::subspaceForImpl):
- bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
(WebCore::JSTestPromiseRejectionEvent::subspaceForImpl):
- bindings/scripts/test/JS/JSTestReadOnlyMapLike.cpp:
(WebCore::JSTestReadOnlyMapLike::subspaceForImpl):
- bindings/scripts/test/JS/JSTestReadOnlySetLike.cpp:
(WebCore::JSTestReadOnlySetLike::subspaceForImpl):
- bindings/scripts/test/JS/JSTestReportExtraMemoryCost.cpp:
(WebCore::JSTestReportExtraMemoryCost::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterface::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSetLike.cpp:
(WebCore::JSTestSetLike::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSetLikeWithOverriddenOperations.cpp:
(WebCore::JSTestSetLikeWithOverriddenOperations::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifier.cpp:
(WebCore::JSTestStringifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp:
(WebCore::JSTestStringifierAnonymousOperation::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp:
(WebCore::JSTestStringifierNamedOperation::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp:
(WebCore::JSTestStringifierOperationImplementedAs::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp:
(WebCore::JSTestStringifierOperationNamedToString::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp:
(WebCore::JSTestStringifierReadOnlyAttribute::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:
(WebCore::JSTestStringifierReadWriteAttribute::subspaceForImpl):
- bindings/scripts/test/JS/JSTestTaggedWrapper.cpp:
(WebCore::JSTestTaggedWrapper::subspaceForImpl):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefs::subspaceForImpl):
- bindings/scripts/test/JS/JSWorkerGlobalScope.cpp:
(WebCore::JSWorkerGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSWorkletGlobalScope.cpp:
(WebCore::JSWorkletGlobalScope::subspaceForImpl):
- 12:37 PM Changeset in webkit [290154] by
-
- 9 edits in trunk
[WebAuthn] Add credentialID to _WKWebAuthenticationAssertionResponse and userHandle in getAllLocalAuthenticatorCredentials
https://bugs.webkit.org/show_bug.cgi?id=236657
rdar://problem/88979279
Reviewed by Brent Fulgham.
Source/WebKit:
Modified API tests to verify new fields present and populated.
- UIProcess/API/APIWebAuthenticationAssertionResponse.cpp:
(API::WebAuthenticationAssertionResponse::credentialID const):
- UIProcess/API/APIWebAuthenticationAssertionResponse.h:
- UIProcess/API/Cocoa/_WKWebAuthenticationAssertionResponse.h:
- UIProcess/API/Cocoa/_WKWebAuthenticationAssertionResponse.mm:
(-[_WKWebAuthenticationAssertionResponse credentialID]):
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(getAllLocalAuthenticatorCredentialsImpl):
Tools:
Adjusted existing API tests, GetAllCredential and MultipleAccounts, to test for new fields
being returned and that they match the values expected. These values stem from testUserEntityBundleBase64
and testAssertionMessageLongBase64.
- TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelDelegate panel:selectAssertionResponse:source:completionHandler:]):
(TestWebKitAPI::TEST):
- 12:30 PM Changeset in webkit [290153] by
-
- 4 edits in trunk/Source/WebCore
[Cocoa] Make AVFoundationSPI.h robust against changes in system headers
https://bugs.webkit.org/show_bug.cgi?id=236787
<rdar://89076606>
Reviewed by Eric Carlson.
Source/WebCore:
Wrap call-sites in #if HAVE() macros.
- platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::contentKeySession):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::sessionForRequest const):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::requestLicense):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::removeSessionData):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didProvideRequest):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::protectionStatusForDisplayID const):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::ensureSessionOrGroup):
Source/WebCore/PAL:
Follow-up: build problems still persist on certain platforms, so the "robustness"
changes made previously were not robust enough. The guards in AVFoundationSPI.h were
intended to ensure the definitions were present even on builds where the official API
is not supported. However, just because the API is not supported does not mean it's not
present, which leads to duplicate-interface build errors.
Fix the AVFoundationSPI.h pragmas to only define the classes and methods where those
objects are supported, and in parallel, wrap implementations which use those objects
in those same guards (making these checks compile-time in addition to runtime).
Move the declarations inside the #else (IOW, !USE(APPLE_INTERNAL_SDK)) block above,
and wrap each declaration in the correct HAVE() macro.
- pal/spi/cocoa/AVFoundationSPI.h:
- 12:27 PM Changeset in webkit [290152] by
-
- 2 edits in trunk/Source/WebCore
Keep promise in scope when calling DeferredPromise::reject
https://bugs.webkit.org/show_bug.cgi?id=236454
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-02-18
Reviewed by Darin Adler.
Keep promise in scope when calling DeferredPromise::reject, as createDOMException
could go through a path that invokes GC on its owner and the promise.
- Modules/fetch/FetchBodyConsumer.cpp:
(WebCore::FetchBodyConsumer::resolveWithFormData):
- 12:21 PM Changeset in webkit [290151] by
-
- 5 edits2 adds in trunk
Client-set minimum effective device width is not respected if AllowViewportShrinkToFitContent is enabled
https://bugs.webkit.org/show_bug.cgi?id=236822
Reviewed by Wenson Hsieh.
Source/WebCore:
New test: fast/viewport/ios/shrink-to-fit-content-with-wider-minimum-device-width.html
Re-instate the functionality of -[WKWebView _setMinimumEffectiveDeviceWidth:]
after it was intentionally broken in favor of shrink-to-fit in r244849.
It turns out that clients sometimes need a larger manually-set minimum
than the one shrink-to-fit will choose, so instead of picking between
them, we just take the maximum of the two.
- page/ViewportConfiguration.cpp:
(WebCore::ViewportConfiguration::setViewLayoutSize):
Rename the client-set mEDW tom_minimumEffectiveDeviceWidthForView
.
(WebCore::ViewportConfiguration::nativeWebpageParameters):
(WebCore::ViewportConfiguration::setMinimumEffectiveDeviceWidthForShrinkToFit):
Rename to shouldIgnoreMinimumEffectiveDeviceWidthForShrinkToFit to be clear that
it's only about ignoring the shrink-to-fit mEDW, not the client-set one.
Rename the shrink-to-fit-set mEDW to
m_minimumEffectiveDeviceWidthForShrinkToFit
.
(WebCore::ViewportConfiguration::description const):
(WebCore::ViewportConfiguration::setMinimumEffectiveDeviceWidth): Deleted.
- page/ViewportConfiguration.h:
(WebCore::ViewportConfiguration::minimumEffectiveDeviceWidth const):
The effective-mEDW now takes the client-set value into account in all cases,
taking the maximum-of-minimums as the effective value.
(WebCore::ViewportConfiguration::shouldIgnoreMinimumEffectiveDeviceWidthForShrinkToFit const):
(WebCore::ViewportConfiguration::shouldIgnoreMinimumEffectiveDeviceWidth const): Deleted.
Source/WebKit:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::setViewportConfigurationViewLayoutSize):
Reset the separate shrink-to-fit mEDW if shrink-to-fit is not engaged.
(WebKit::WebPage::shrinkToFitContent):
- 12:17 PM Changeset in webkit [290150] by
-
- 13 edits2 copies in trunk/Source/WebCore
[TextureMapper] Refactor TextureMapperPlatformLayerProxy into specializable implementations
https://bugs.webkit.org/show_bug.cgi?id=236836
Patch by Zan Dobersek <zdobersek@igalia.com> on 2022-02-18
Reviewed by Alejandro G. Castro.
Turn TextureMapperPlatformLayerProxy into an abstract class from which
different specializations can then be derived. Current implementation is
spun off into the TextureMapperPlatformLayerProxyGL class, and type
traits specialization facilities are provided for future parallel
implementations (e.g. a DMABuf-consuming proxy class).
Existing uses of TextureMapperPlatformLayerProxy are updated to use
the TextureMapperPlatformLayerProxyGL class instead. Downcasting is
done as necessary, with asserts checking for the expected implementation
type.
No change in functionality, only refactoring existing code.
- platform/TextureMapper.cmake:
- platform/graphics/gstreamer/GStreamerVideoFrameHolder.h:
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::pushTextureToCompositor):
(WebCore::MediaPlayerPrivateGStreamer::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamer::flushCurrentBuffer):
(WebCore::MediaPlayerPrivateGStreamer::pushNextHolePunchBuffer):
- platform/graphics/holepunch/MediaPlayerPrivateHolePunch.cpp:
(WebCore::MediaPlayerPrivateHolePunch::MediaPlayerPrivateHolePunch):
(WebCore::MediaPlayerPrivateHolePunch::pushNextHolePunchBuffer):
- platform/graphics/nicosia/NicosiaImageBufferPipe.cpp:
(Nicosia::NicosiaImageBufferPipeSource::handle):
- platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.cpp:
(Nicosia::ContentLayerTextureMapperImpl::createFactory):
(Nicosia::ContentLayerTextureMapperImpl::ContentLayerTextureMapperImpl):
- platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.h:
- platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.cpp:
(Nicosia::GCGLANGLELayer::swapBuffersIfNeeded):
- platform/graphics/nicosia/texmap/NicosiaGCGLLayer.cpp:
(Nicosia::GCGLLayer::swapBuffersIfNeeded):
- platform/graphics/texmap/TextureMapperGCGLPlatformLayer.cpp:
(WebCore::TextureMapperGCGLPlatformLayer::TextureMapperGCGLPlatformLayer):
(WebCore::TextureMapperGCGLPlatformLayer::swapBuffersIfNeeded):
- platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp:
(WebCore::TextureMapperPlatformLayerProxy::TextureMapperPlatformLayerProxy): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::~TextureMapperPlatformLayerProxy): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::activateOnCompositingThread): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::invalidate): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::pushNextBuffer): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::getAvailableBuffer): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::appendToUnusedBuffers): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::scheduleReleaseUnusedBuffers): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::releaseUnusedBuffersTimerFired): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::swapBuffer): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::dropCurrentBufferWhilePreservingTexture): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::scheduleUpdateOnCompositorThread): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::compositorThreadUpdateTimerFired): Deleted.
- platform/graphics/texmap/TextureMapperPlatformLayerProxy.h:
(WebCore::TextureMapperPlatformLayerProxy::isGLBased const):
(WebCore::TextureMapperPlatformLayerProxy::isDMABufBased const):
(WebCore::TextureMapperPlatformLayerProxy::WTF_RETURNS_LOCK):
(WebCore::TextureMapperPlatformLayerProxy::WTF_GUARDED_BY_LOCK): Deleted.
- platform/graphics/texmap/TextureMapperPlatformLayerProxyGL.cpp: Copied from Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp.
(WebCore::TextureMapperPlatformLayerProxyGL::~TextureMapperPlatformLayerProxyGL):
(WebCore::TextureMapperPlatformLayerProxyGL::activateOnCompositingThread):
(WebCore::TextureMapperPlatformLayerProxyGL::invalidate):
(WebCore::TextureMapperPlatformLayerProxyGL::pushNextBuffer):
(WebCore::TextureMapperPlatformLayerProxyGL::getAvailableBuffer):
(WebCore::TextureMapperPlatformLayerProxyGL::appendToUnusedBuffers):
(WebCore::TextureMapperPlatformLayerProxyGL::scheduleReleaseUnusedBuffers):
(WebCore::TextureMapperPlatformLayerProxyGL::releaseUnusedBuffersTimerFired):
(WebCore::TextureMapperPlatformLayerProxyGL::swapBuffer):
(WebCore::TextureMapperPlatformLayerProxyGL::dropCurrentBufferWhilePreservingTexture):
(WebCore::TextureMapperPlatformLayerProxyGL::scheduleUpdateOnCompositorThread):
(WebCore::TextureMapperPlatformLayerProxyGL::compositorThreadUpdateTimerFired):
- platform/graphics/texmap/TextureMapperPlatformLayerProxyGL.h: Copied from Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxy.h.
- 12:06 PM Changeset in webkit [290149] by
-
- 39 edits1 add in trunk
Generate compile_commands.json on macOS Builds
https://bugs.webkit.org/show_bug.cgi?id=235686
Patch by Brandon Stewart <Brandon> on 2022-02-18
Reviewed by Saam Barati.
Add support for generating compile_commands.json file to WebKit.
compile_commands.json can be used by tools like clangd to provide code complete,
refactoring, formatting, and cross references.
Steps to generate the compile commands file:
make r EXPORT_COMPILE_COMMANDS=YES
generate-compile-commands WebKitBuild/Release
.:
- Makefile.shared:
PerformanceTests:
- DecoderTest/Configurations/DebugRelease.xcconfig:
- MediaTime/Configurations/DebugRelease.xcconfig:
Source/bmalloc:
- Configurations/DebugRelease.xcconfig:
Source/JavaScriptCore:
- Configurations/DebugRelease.xcconfig:
Source/ThirdParty/ANGLE:
- Configurations/DebugRelease.xcconfig:
Source/ThirdParty/libwebrtc:
- Configurations/DebugRelease.xcconfig:
Source/WebCore:
- Configurations/DebugRelease.xcconfig:
Source/WebCore/PAL:
- Configurations/DebugRelease.xcconfig:
Source/WebGPU:
- Configurations/DebugRelease.xcconfig:
Source/WebInspectorUI:
- Configurations/DebugRelease.xcconfig:
Source/WebKit:
- Configurations/DebugRelease.xcconfig:
- UIProcess/API/C/WKPageUIClient.h:
Source/WebKitLegacy/mac:
- Configurations/DebugRelease.xcconfig:
Source/WTF:
- Configurations/DebugRelease.xcconfig:
Tools:
- ContentExtensionTester/Configurations/DebugRelease.xcconfig:
- DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
- ImageDiff/cg/Configurations/DebugRelease.xcconfig:
- MiniBrowser/Configurations/DebugRelease.xcconfig:
- Scripts/build-jsc:
- Scripts/build-webkit:
- Scripts/generate-compile-commands: Added.
- TestWebKitAPI/Configurations/DebugRelease.xcconfig:
- WebEditingTester/Configurations/DebugRelease.xcconfig:
- WebKitTestRunner/Configurations/DebugRelease.xcconfig:
- lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig:
- 12:04 PM Changeset in webkit [290148] by
-
- 5 edits in trunk/Tools
[git-webkit] Link issue to pull requests (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=236339
<rdar://problem/88657772>
Reviewed by Stephanie Lewis.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:
(PullRequest.main): Re-open associated closed PRs.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
Canonical link: https://commits.webkit.org/247487@main
- 11:47 AM Changeset in webkit [290147] by
-
- 3 edits3 adds in trunk/Tools
Add test coverage for data migration introduced in r289878
https://bugs.webkit.org/show_bug.cgi?id=236825
Reviewed by Chris Dumez.
Ensure website data fetch and removal will examine both old paths (custom storage paths) and new paths (under
general storage directory). Also, ensure that data is migrated from old paths to new paths when an origin is
visited during data fetch and removal.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/general-storage-directory-indexeddb.sqlite3: Added.
- TestWebKitAPI/Tests/WebKitCocoa/general-storage-directory-localstorage.sqlite3: Added.
- TestWebKitAPI/Tests/WebKitCocoa/general-storage-directory.origin: Added.
- 11:01 AM Changeset in webkit [290146] by
-
- 16 edits1 copy5 adds in trunk
Add an InstallCoordination webpushd backend
https://bugs.webkit.org/show_bug.cgi?id=233714
Reviewed by Alex Christensen.
Source/WebCore/PAL:
Expose "toHexString" so we can SHA256 an arbitrary string to a hex representation.
- pal/crypto/CryptoDigest.h:
- pal/crypto/commoncrypto/CryptoDigestCommonCrypto.cpp:
(PAL::CryptoDigest::toHexString):
Source/WebKit:
Covered by API tests.
This patch lets the iOS build create a placeholder app bundle to represent a registration using InstallCoordination.
- Configurations/webpushd.xcconfig:
- WebKit.xcodeproj/project.pbxproj:
- webpushd/AppBundleRequest.mm:
(WebPushD::AppBundleRequest::start): Use the ICAppBundle implementation when appropriate.
- webpushd/ICAppBundle.h: Copied from Source/WebKit/webpushd/PushAppBundle.h.
(WebPushD::ICAppBundle::create):
- webpushd/ICAppBundle.mm: Added.
(-[WebAppInstallCoordinatorObserver initWithICAppBundle:]):
(-[WebAppInstallCoordinatorObserver coordinatorDidCompleteSuccessfully:forApplicationRecord:]):
(-[WebAppInstallCoordinatorObserver coordinator:canceledWithReason:client:]):
(WebPushD::broadcastDebugMessage):
(WebPushD::ICAppBundle::ICAppBundle):
(WebPushD::encodeOriginStringForBundleIdentifier):
(WebPushD::originStringFromEncodedBundleIdentifier):
(WebPushD::bundlePrefixForHostAppIdentifier):
(WebPushD::bundleNameForOriginStringAndHostAppIdentifier):
(WebPushD::ICAppBundle::getOriginsWithRegistrations):
(WebPushD::ICAppBundle::getBundleIdentifier):
(WebPushD::ICAppBundle::checkForExistingBundle):
(WebPushD::ICAppBundle::deleteExistingBundle):
(WebPushD::ICAppBundle::didDeleteExistingBundleWithError):
(WebPushD::ICAppBundle::stop):
(WebPushD::ICAppBundle::createBundle):
(WebPushD::ICAppBundle::bundleCreationSucceeded):
(WebPushD::ICAppBundle::bundleCreationFailed):
- webpushd/InstallCoordinationSPI.h: Added.
- webpushd/LaunchServicesSPI.h: Copied from Source/WebKit/webpushd/PushAppBundle.h.
- webpushd/PushAppBundle.h:
- webpushd/WebPushDaemon.mm:
(WebPushD::Daemon::getOriginsWithPushAndNotificationPermissions): Use the ICAppBundle implementation when appropriate.
Source/WTF:
- wtf/PlatformEnableCocoa.h:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm:
WebKitLibraries:
- WebKitPrivateFrameworkStubs/iOS/15/InstallCoordination.framework/InstallCoordination.tbd: Added.
- 10:59 AM Changeset in webkit [290145] by
-
- 3 edits1 delete in trunk/Source/ThirdParty/ANGLE
Remove ANGLE-static.xcconfig
https://bugs.webkit.org/show_bug.cgi?id=236827
Reviewed by Dean Jackson.
It was unused.
- ANGLE.xcodeproj/project.pbxproj:
- Configurations/ANGLE-static.xcconfig: Removed.
- Configurations/Base.xcconfig:
- 10:54 AM Changeset in webkit [290144] by
-
- 2 edits in trunk/Source/WebKit
Change domain used to hold whether CaptivePortalMode is active
https://bugs.webkit.org/show_bug.cgi?id=236793
Patch by Gavin Phillips <gavin.p@apple.com> on 2022-02-18
Reviewed by Per Arne Vollan.
We need to update the location specifying whether CaptivePortalMode is active
to fall within the users domain.
- UIProcess/API/Cocoa/_WKSystemPreferences.mm:
(+[_WKSystemPreferences isCaptivePortalModeEnabled]):
(+[_WKSystemPreferences setCaptivePortalModeEnabled:]):
- 10:52 AM Changeset in webkit [290143] by
-
- 2 edits in trunk/LayoutTests
Follow up to b236802. Unreviewed.
- platform/ios/TestExpectations: Remove the test expectations.
- 10:49 AM Changeset in webkit [290142] by
-
- 3 edits in trunk/LayoutTests/imported/w3c
[iOS] css/css-color/t422-rgba-onscreen-b.xht and css/css-color/t425-hsla-onscreen-b.xht are consistently failing
https://bugs.webkit.org/show_bug.cgi?id=236802
Reviewed by Dean Jackson.
- web-platform-tests/css/css-color/t422-rgba-onscreen-b.xht: Expand maxDifference range to accommodate iOS.
- web-platform-tests/css/css-color/t425-hsla-onscreen-b.xht:
- 10:17 AM Changeset in webkit [290141] by
-
- 4 edits2 adds in branches/safari-613.1.17.0-branch
Cherry-pick r290087. rdar://problem/88713302
Source/ThirdParty/ANGLE:
Metal ANGLE: vertex array does not correctly observe contents of data buffers
https://bugs.webkit.org/show_bug.cgi?id=236733
<rdar://problem/88713302>
<rdar://problem/88499073>
Patch by Kyle Piddington <Kyle Piddington> on 2022-02-17
Reviewed by Dean Jackson.
Similar to previous bug (236427), we were not correctly observing changes to the
vertex buffer data. This caused us to miss rebinding vertex buffers
when data was updated without causing conversion
- src/libANGLE/renderer/metal/VertexArrayMtl.h:
- src/libANGLE/renderer/metal/VertexArrayMtl.mm: (rx::VertexArrayMtl::syncState): (rx::VertexArrayMtl::setupDraw): (rx::VertexArrayMtl::syncDirtyAttrib):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290087 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:15 AM Changeset in webkit [290140] by
-
- 6 edits in trunk/LayoutTests
Unreviewed gardening for GPU Process bot.
- TestExpectations:
- fast/css/counters/counter-list-item.html: Add fuzzy data.
- gpu-process/TestExpectations:
- platform/ios-wk2/TestExpectations:
- platform/ios/TestExpectations:
- 10:14 AM Changeset in webkit [290139] by
-
- 9 edits in branches/safari-613.1.17.0-branch/Source
Versioning.
WebKit-7613.1.17.0.6
- 10:12 AM Changeset in webkit [290138] by
-
- 12 edits in trunk
[CMake] Cannot find OpenGL when system provides opengl.pc instead of gl.pc
https://bugs.webkit.org/show_bug.cgi?id=236592
Reviewed by Michael Catanzaro.
.:
- Source/cmake/FindOpenGL.cmake: Rewrite to use imported targets, try the "opengl" and "glx"
pkg-config modules first, otherwise keep the existing logic that tried the "gl" pkg-config
module with fallbacks to find_path/find_library.
- Source/cmake/OptionsGTK.cmake: Check for the presence of the OpenGL::GLX target instead of
te GLX_FOUND variable.
Source/ThirdParty/ANGLE:
- PlatformGTK.cmake: Use the OpenGL::OpenGL imported target instead of the
OPENGL_LIBRARIES variable.
- PlatformWPE.cmake: Remove linking againt OpenGL libraries; the WPE port is not
supposed to link to any of them directly.
Source/WebCore:
- CMakeLists.txt: Use the OpenGL::OpenGL and OpenGL::GLX imported targets instead of variables.
- platform/graphics/GLContext.cpp: Move here includes for the GL headers.
- platform/graphics/GLContext.h: Remove includes for the GL headers, none of their
declarations are used here; instead include only the needed EGL headers to get the
definition of EGLNativeWindowType.
Source/WebKit:
- CMakeLists.txt: Remove usage of the OPENGL_ variables for the WebKit target, which is
uneeded because it links to WebCore, which transitively pulls the needed libraries now
that imported targets are being used.
- 10:10 AM Changeset in webkit [290137] by
-
- 2 edits in trunk/LayoutTests
imported/w3c/web-platform-tests/css/css-sizing/range-percent-intrinsic-size-* fail
https://bugs.webkit.org/show_bug.cgi?id=203514
Unreviewed.
- TestExpectations: No longer happening. Removing.
- 10:10 AM Changeset in webkit [290136] by
-
- 2 edits in branches/safari-613.1.17.1-branch/Source/WebCore
Cherry-pick r290109. rdar://problem/89072235
Crash under ScrollingCoordinatorMac::hasNodeWithAnimatedScrollChanged()
https://bugs.webkit.org/show_bug.cgi?id=236810
<rdar://89072235>
Reviewed by Dean Jackson.
Crash data suggests that r288933 didn't fix the crash entirely.
Although the code paths I can find appear to hold the lock, there may be an
opportunity for m_scrollingCoordinator to get nulled out after we null-check it
but before the copy for the main thread dispatch.
So make a RefPtr on the stack, null-check it, and then move it into the callback.
- page/scrolling/ThreadedScrollingTree.cpp: (WebCore::ThreadedScrollingTree::reportSynchronousScrollingReasonsChanged): (WebCore::ThreadedScrollingTree::reportExposedUnfilledArea): (WebCore::ThreadedScrollingTree::currentSnapPointIndicesDidChange): (WebCore::ThreadedScrollingTree::handleWheelEventPhase): (WebCore::ThreadedScrollingTree::setActiveScrollSnapIndices): (WebCore::ThreadedScrollingTree::hasNodeWithAnimatedScrollChanged):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290109 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:10 AM Changeset in webkit [290135] by
-
- 4 edits2 adds in branches/safari-613.1.17.1-branch
Cherry-pick r290087. rdar://problem/88713302
Source/ThirdParty/ANGLE:
Metal ANGLE: vertex array does not correctly observe contents of data buffers
https://bugs.webkit.org/show_bug.cgi?id=236733
<rdar://problem/88713302>
<rdar://problem/88499073>
Patch by Kyle Piddington <Kyle Piddington> on 2022-02-17
Reviewed by Dean Jackson.
Similar to previous bug (236427), we were not correctly observing changes to the
vertex buffer data. This caused us to miss rebinding vertex buffers
when data was updated without causing conversion
- src/libANGLE/renderer/metal/VertexArrayMtl.h:
- src/libANGLE/renderer/metal/VertexArrayMtl.mm: (rx::VertexArrayMtl::syncState): (rx::VertexArrayMtl::setupDraw): (rx::VertexArrayMtl::syncDirtyAttrib):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290087 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:10 AM Changeset in webkit [290134] by
-
- 18 edits2 deletes in branches/safari-613.1.17.1-branch/Source/bmalloc
Apply patch. rdar://problem/89071706
- 9:32 AM Changeset in webkit [290133] by
-
- 4 edits1 add in trunk/Source/WebCore
[iOS][Modern Media Controls] Add an alternative overflow icon
https://bugs.webkit.org/show_bug.cgi?id=236729
Reviewed by Devin Rousso.
Add a new overflow icon. By default, the media controls will use the
original overflow icon. So this patch does not change the appearance of
the media controls.
- Modules/modern-media-controls/controls/icon-service.js:
- Modules/modern-media-controls/controls/layout-traits.js:
(LayoutTraits.prototype.overflowButtonHasCircle):
- Modules/modern-media-controls/controls/overflow-button.js:
(OverflowButton):
- Modules/modern-media-controls/images/iOS/OverflowCircle.svg: Added.
- 9:29 AM Changeset in webkit [290132] by
-
- 2 edits in trunk/Source/WebCore
[EME][GStreamer][Thunder] Add video/x-h265 caps to Thunder decryptor
https://bugs.webkit.org/show_bug.cgi?id=236833
Reviewed by Philippe Normand.
This patch is authored by Eugene Mutavchi <Ievgen_Mutavchi@comcast.com>
See: https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/790
- platform/graphics/gstreamer/eme/WebKitThunderDecryptorGStreamer.cpp:
- 9:25 AM Changeset in webkit [290131] by
-
- 5 edits in trunk/Source/WebCore
Use more StringView during CSP parsing
https://bugs.webkit.org/show_bug.cgi?id=236784
Reviewed by Darin Adler.
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::reportDirectiveAsSourceExpression const):
- page/csp/ContentSecurityPolicy.h:
- page/csp/ContentSecurityPolicySourceList.cpp:
(WebCore::isCSPDirectiveName):
(WebCore::ContentSecurityPolicySourceList::parse):
(WebCore::ContentSecurityPolicySourceList::parseScheme):
(WebCore::ContentSecurityPolicySourceList::parseHost):
- page/csp/ContentSecurityPolicySourceList.h:
- 8:47 AM Changeset in webkit [290130] by
-
- 3 edits in trunk/Source/WebCore
AX: AccessibilityScrollView should be resilient to destruction of underlying scroll view
https://bugs.webkit.org/show_bug.cgi?id=236750
Reviewed by Andres Gonzalez.
Sometimes we can get into a state where we have a valid AccessibilityScrollView,
backed by an iframe, with a destroyed WeakPtr<ScrollView> m_scrollView. When this
happens, all of the content inside the iframe becomes inaccessible. We need to handle
the case where an iframe changes the frame and document it holds (e.g. respect the current frame in
HTMLFrameOwner::contentFrame, which can change).
This patch fixes this by caching a WeakPtr<HTMLFrameOwnerElement> when an AccessibilityScrollView
is created. A new method currentScrollView() has been added to prefer the original m_scrollView, and
fallback to the scrollview represented by the frame owner element if m_scrollView has been destroyed.
Thanks to Andres Gonzalez for helping to find and fix this issue.
- accessibility/AccessibilityScrollView.cpp:
(WebCore::AccessibilityScrollView::AccessibilityScrollView):
Cache the frame owner of the provided ScrollView* in new
m_frameOwnerElement field.
(WebCore::AccessibilityScrollView::detachRemoteParts):
Detach new m_frameOwnerElement field.
(WebCore::AccessibilityScrollView::currentScrollView const):
Added.
(WebCore::AccessibilityScrollView::isAttachment const):
(WebCore::AccessibilityScrollView::platformWidget const):
(WebCore::AccessibilityScrollView::updateScrollbars):
(WebCore::AccessibilityScrollView::computeAccessibilityIsIgnored const):
(WebCore::AccessibilityScrollView::addChildren):
(WebCore::AccessibilityScrollView::webAreaObject const):
(WebCore::AccessibilityScrollView::elementRect const):
(WebCore::AccessibilityScrollView::document const):
(WebCore::AccessibilityScrollView::documentFrameView const):
(WebCore::AccessibilityScrollView::parentObject const):
(WebCore::AccessibilityScrollView::scrollTo const):
Use new currentScrollView() method instead of directly using m_scrollView.
(WebCore::AccessibilityScrollView::widgetForAttachmentView const):
Inlined in header.
(WebCore::AccessibilityScrollView::parentObjectIfExists const):
Inlined in header as call to parentObject() since these methods were duplicated.
(WebCore::AccessibilityScrollView::getScrollableAreaIfScrollable const):
Inlined in header.
- accessibility/AccessibilityScrollView.h:
- 8:43 AM Changeset in webkit [290129] by
-
- 416 edits in trunk/Source
Split IsoSubspace into a GCClient allocator used by VM and a backend managed by Heap.
https://bugs.webkit.org/show_bug.cgi?id=233878
rdar://problem/86108394
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
- Add a useGlobalGC option. We're currently only using this to guard some code for GlobalGC. We're not ready to run with GlobalGC enabled yet.
- Create a new GCClient namespace in JSC. The Heap is now split into 2 parts:
- VM / GCClient / client side: JSC::GCClient::Heap
- GlobalGC / server side: JSC::Heap
The eventual goal is to have many GCClient Heaps backed by a singleton server
Heap. Currently, we still have a 1 to 1 correspondence between the client and
server side i.e. VM embeds both one instance each of GCClient::Heap and Heap.
- Split IsoSubspace into:
- VM / GCClient / client side: JSC::GCClient::IsoSubspace
- GlobalGC / server side: JSC::IsoSubspace
The client side will now manage a LocalAllocator for the IsoSubspace.
The eventual goal is to have many GCClient::IsoSubspace allocators fed from
a server IsoSubspace. Currently, we still have a 1 to 1 correspondence
between the client and server side. GCClient::IsoSubspace instances will be
managed by GCClient::Heap. Server side IsoSubspaces continue to be managed
by Heap.
- IsoSubspacePerVM is also now client-server aware.
Previously, IsoSubspacePerVM was relying on AutoremovingIsoSubspace to
"automatically" unregister IsoSubspaces from IsoSubspacePerVM via its
destructor. However, there is a bug where the AutoremovingIsoSubspace is
never associated with the VM, and there is nothing that will trigger its
destruction when the VM shuts down.
This patch fixes this issue by having IsoSubspacePerVM register with the VM's
GCClient::Heap and Heap. On destruction, those Heaps will now be aware of
the IsoSubspacePerVM in use, and will tell the IsoSubspacePerVM to release
the associated IsoSubspaces.
The IsoSubspacePerVM::AutoremovingIsoSubspace class is now removed since it
is not needed.
- Previously, in Heap, we have some SpaceAndSet members that were named simply as "Space". Renamed these to be "SpaceAndSet" explicitly to more accurately reflect what they are.
- API/JSAPIGlobalObject.h:
- API/JSAPIValueWrapper.h:
- API/JSAPIWrapperObject.mm:
(JSC::JSCallbackObject<JSAPIWrapperObject>::subspaceForImpl):
- API/JSCallbackConstructor.h:
- API/JSCallbackFunction.h:
- API/JSCallbackObject.cpp:
(JSC::JSCallbackObject<JSNonFinalObject>::subspaceForImpl):
(JSC::JSCallbackObject<JSGlobalObject>::subspaceForImpl):
- API/JSCallbackObject.h:
- API/ObjCCallbackFunction.h:
(JSC::ObjCCallbackFunction::subspaceFor):
- API/glib/JSAPIWrapperGlobalObject.cpp:
(JSC::JSCallbackObject<JSAPIWrapperGlobalObject>::subspaceForImpl):
- API/glib/JSAPIWrapperObjectGLib.cpp:
(JSC::JSCallbackObject<JSAPIWrapperObject>::subspaceForImpl):
- API/glib/JSCCallbackFunction.h:
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::visitChildren):
(JSC::CodeBlock::finalizeUnconditionally):
- bytecode/EvalCodeBlock.h:
- bytecode/ExecutableToCodeBlockEdge.h:
- bytecode/FunctionCodeBlock.h:
- bytecode/ModuleProgramCodeBlock.h:
- bytecode/ProgramCodeBlock.h:
- bytecode/UnlinkedEvalCodeBlock.h:
- bytecode/UnlinkedFunctionCodeBlock.h:
- bytecode/UnlinkedFunctionExecutable.cpp:
(JSC::UnlinkedFunctionExecutable::unlinkedCodeBlockFor):
(JSC::UnlinkedFunctionExecutable::finalizeUnconditionally):
- bytecode/UnlinkedFunctionExecutable.h:
- bytecode/UnlinkedModuleProgramCodeBlock.h:
- bytecode/UnlinkedProgramCodeBlock.h:
- debugger/DebuggerScope.h:
- heap/Heap.cpp:
(JSC::Heap::Heap):
(JSC::Heap::~Heap):
(JSC::Heap::finalizeUnconditionalFinalizers):
(JSC::Heap::deleteAllUnlinkedCodeBlocks):
(JSC::GCClient::Heap::Heap):
(JSC::GCClient::Heap::~Heap):
- heap/Heap.h:
(JSC::Heap::lock):
(JSC::Heap::forEachCodeBlockSpace):
(JSC::Heap::forEachScriptExecutableSpace):
(JSC::GCClient::Heap::server):
- heap/HeapInlines.h:
(JSC::GCClient::Heap::vm const):
- heap/IsoSubspace.cpp:
(JSC::IsoSubspace::IsoSubspace):
(JSC::GCClient::IsoSubspace::IsoSubspace):
- heap/IsoSubspace.h:
(JSC::GCClient::IsoSubspace::cellSize):
(JSC::IsoSubspace::allocatorFor): Deleted.
- heap/IsoSubspaceInlines.h:
(JSC::IsoSubspace::allocate): Deleted.
- heap/IsoSubspacePerVM.cpp:
(JSC::IsoSubspacePerVM::IsoSubspacePerVM):
(JSC::IsoSubspacePerVM::isoSubspaceforHeap):
(JSC::IsoSubspacePerVM::clientIsoSubspaceforVM):
(JSC::IsoSubspacePerVM::releaseIsoSubspace):
(JSC::IsoSubspacePerVM::releaseClientIsoSubspace):
(): Deleted.
(JSC::IsoSubspacePerVM::forVM): Deleted.
- heap/IsoSubspacePerVM.h:
- heap/LocalAllocator.cpp:
(JSC::LocalAllocator::allocateSlowCase):
(JSC::LocalAllocator::tryAllocateWithoutCollecting):
(JSC::LocalAllocator::doTestCollectionsIfNeeded):
- heap/LocalAllocator.h:
(JSC::LocalAllocator::directory const):
- heap/MarkedBlock.cpp:
(JSC::MarkedBlock::Handle::stopAllocating):
- heap/MutatorState.h:
- inspector/JSInjectedScriptHost.h:
- inspector/JSInjectedScriptHostPrototype.h:
- inspector/JSJavaScriptCallFrame.h:
- inspector/JSJavaScriptCallFramePrototype.h:
- runtime/AggregateErrorPrototype.h:
- runtime/ArrayIteratorPrototype.h:
- runtime/AsyncFromSyncIteratorPrototype.h:
- runtime/AsyncFunctionPrototype.h:
- runtime/AsyncGeneratorFunctionPrototype.h:
- runtime/AsyncGeneratorPrototype.h:
- runtime/AsyncIteratorPrototype.h:
- runtime/AtomicsObject.h:
- runtime/BigIntObject.h:
- runtime/BigIntPrototype.h:
- runtime/BooleanObject.h:
(JSC::BooleanObject::subspaceFor):
- runtime/BrandedStructure.h:
- runtime/ClonedArguments.h:
- runtime/ConsoleObject.h:
- runtime/CustomGetterSetter.h:
(JSC::CustomGetterSetter::subspaceFor):
- runtime/DOMAttributeGetterSetter.h:
- runtime/DateInstance.h:
- runtime/DatePrototype.h:
- runtime/ErrorInstance.h:
(JSC::ErrorInstance::subspaceFor):
- runtime/ErrorPrototype.h:
- runtime/EvalExecutable.h:
(JSC::EvalExecutable::subspaceFor):
- runtime/Exception.h:
- runtime/FinalizationRegistryPrototype.h:
- runtime/FunctionExecutable.h:
- runtime/FunctionRareData.h:
- runtime/GeneratorFunctionPrototype.h:
- runtime/GeneratorPrototype.h:
- runtime/GetterSetter.h:
- runtime/HashMapImpl.h:
- runtime/InternalFunction.h:
(JSC::InternalFunction::subspaceFor):
- runtime/IntlCollator.h:
- runtime/IntlCollatorPrototype.h:
- runtime/IntlDateTimeFormat.h:
- runtime/IntlDateTimeFormatPrototype.h:
- runtime/IntlDisplayNames.h:
- runtime/IntlDisplayNamesPrototype.h:
- runtime/IntlListFormat.h:
- runtime/IntlListFormatPrototype.h:
- runtime/IntlLocale.h:
- runtime/IntlLocalePrototype.h:
- runtime/IntlNumberFormat.h:
- runtime/IntlNumberFormatPrototype.h:
- runtime/IntlObject.h:
- runtime/IntlPluralRules.h:
- runtime/IntlPluralRulesPrototype.h:
- runtime/IntlRelativeTimeFormat.h:
- runtime/IntlRelativeTimeFormatPrototype.h:
- runtime/IntlSegmentIterator.h:
- runtime/IntlSegmentIteratorPrototype.h:
- runtime/IntlSegmenter.h:
- runtime/IntlSegmenterPrototype.h:
- runtime/IntlSegments.h:
- runtime/IntlSegmentsPrototype.h:
- runtime/IteratorPrototype.h:
- runtime/JSArray.h:
(JSC::JSArray::subspaceFor):
- runtime/JSArrayBuffer.h:
- runtime/JSArrayBufferPrototype.h:
- runtime/JSArrayIterator.h:
- runtime/JSAsyncGenerator.h:
- runtime/JSBigInt.h:
- runtime/JSBoundFunction.h:
- runtime/JSCallee.h:
(JSC::JSCallee::subspaceFor):
- runtime/JSCustomGetterFunction.h:
- runtime/JSCustomSetterFunction.h:
- runtime/JSDataView.h:
- runtime/JSDataViewPrototype.h:
- runtime/JSFinalizationRegistry.h:
- runtime/JSFunction.h:
(JSC::JSFunction::subspaceFor):
- runtime/JSGenerator.h:
- runtime/JSGenericTypedArrayView.h:
- runtime/JSGenericTypedArrayViewPrototype.h:
- runtime/JSGlobalLexicalEnvironment.h:
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::subspaceFor):
- runtime/JSMap.h:
- runtime/JSMapIterator.h:
- runtime/JSModuleLoader.h:
- runtime/JSModuleNamespaceObject.h:
- runtime/JSModuleRecord.h:
- runtime/JSNativeStdFunction.h:
- runtime/JSONObject.h:
- runtime/JSPromise.h:
(JSC::JSPromise::subspaceFor):
- runtime/JSPromisePrototype.h:
(JSC::JSPromisePrototype::subspaceFor):
- runtime/JSPropertyNameEnumerator.h:
- runtime/JSProxy.h:
(JSC::JSProxy::subspaceFor):
- runtime/JSRemoteFunction.h:
- runtime/JSScriptFetchParameters.h:
- runtime/JSScriptFetcher.h:
- runtime/JSSet.h:
- runtime/JSSetIterator.h:
- runtime/JSSourceCode.h:
- runtime/JSString.h:
(JSC::JSString::subspaceFor):
- runtime/JSStringIterator.h:
- runtime/JSTemplateObjectDescriptor.h:
- runtime/JSTypedArrayViewPrototype.h:
- runtime/JSWeakObjectRef.h:
- runtime/JSWithScope.h:
- runtime/MapIteratorPrototype.h:
- runtime/MapPrototype.h:
- runtime/MathObject.h:
- runtime/ModuleProgramExecutable.h:
- runtime/NativeErrorPrototype.h:
- runtime/NativeExecutable.h:
- runtime/NumberObject.h:
(JSC::NumberObject::subspaceFor):
- runtime/ObjectPrototype.h:
- runtime/OptionsList.h:
- runtime/ProgramExecutable.h:
- runtime/PropertyTable.h:
- runtime/ProxyObject.h:
- runtime/ProxyRevoke.h:
- runtime/ReflectObject.h:
- runtime/RegExp.h:
- runtime/RegExpObject.h:
- runtime/RegExpPrototype.h:
- runtime/RegExpStringIteratorPrototype.h:
- runtime/ScopedArguments.h:
- runtime/ScopedArgumentsTable.h:
- runtime/ScriptExecutable.cpp:
(JSC::ScriptExecutable::clearCode):
(JSC::ScriptExecutable::installCode):
- runtime/SetIteratorPrototype.h:
- runtime/SetPrototype.h:
- runtime/ShadowRealmObject.h:
- runtime/ShadowRealmPrototype.h:
- runtime/SparseArrayValueMap.h:
- runtime/StrictEvalActivation.h:
- runtime/StringIteratorPrototype.h:
- runtime/StringObject.h:
(JSC::StringObject::subspaceFor):
- runtime/Structure.h:
(JSC::Structure::subspaceFor):
- runtime/StructureChain.h:
- runtime/StructureRareData.h:
- runtime/Symbol.h:
- runtime/SymbolObject.h:
- runtime/SymbolPrototype.h:
- runtime/SymbolTable.h:
- runtime/TemporalCalendar.h:
- runtime/TemporalCalendarPrototype.h:
- runtime/TemporalDuration.h:
- runtime/TemporalDurationPrototype.h:
- runtime/TemporalInstant.h:
- runtime/TemporalInstantPrototype.h:
- runtime/TemporalNow.h:
- runtime/TemporalObject.h:
- runtime/TemporalPlainTime.h:
- runtime/TemporalPlainTimePrototype.h:
- runtime/TemporalTimeZone.h:
- runtime/TemporalTimeZonePrototype.h:
- runtime/VM.cpp:
(JSC::VM::VM):
- runtime/VM.h:
(JSC::VM::codeBlockSpace):
(JSC::VM::functionExecutableSpace):
(JSC::VM::programExecutableSpace):
(JSC::VM::unlinkedFunctionExecutableSpace):
(JSC::VM::arraySpace): Deleted.
(JSC::VM::bigIntSpace): Deleted.
(JSC::VM::calleeSpace): Deleted.
(JSC::VM::clonedArgumentsSpace): Deleted.
(JSC::VM::customGetterSetterSpace): Deleted.
(JSC::VM::dateInstanceSpace): Deleted.
(JSC::VM::domAttributeGetterSetterSpace): Deleted.
(JSC::VM::exceptionSpace): Deleted.
(JSC::VM::executableToCodeBlockEdgeSpace): Deleted.
(JSC::VM::functionSpace): Deleted.
(JSC::VM::getterSetterSpace): Deleted.
(JSC::VM::globalLexicalEnvironmentSpace): Deleted.
(JSC::VM::internalFunctionSpace): Deleted.
(JSC::VM::jsProxySpace): Deleted.
(JSC::VM::nativeExecutableSpace): Deleted.
(JSC::VM::numberObjectSpace): Deleted.
(JSC::VM::plainObjectSpace): Deleted.
(JSC::VM::promiseSpace): Deleted.
(JSC::VM::propertyNameEnumeratorSpace): Deleted.
(JSC::VM::propertyTableSpace): Deleted.
(JSC::VM::regExpSpace): Deleted.
(JSC::VM::regExpObjectSpace): Deleted.
(JSC::VM::ropeStringSpace): Deleted.
(JSC::VM::scopedArgumentsSpace): Deleted.
(JSC::VM::sparseArrayValueMapSpace): Deleted.
(JSC::VM::stringSpace): Deleted.
(JSC::VM::stringObjectSpace): Deleted.
(JSC::VM::structureChainSpace): Deleted.
(JSC::VM::structureRareDataSpace): Deleted.
(JSC::VM::structureSpace): Deleted.
(JSC::VM::brandedStructureSpace): Deleted.
(JSC::VM::symbolTableSpace): Deleted.
- runtime/WeakMapImpl.h:
(JSC::WeakMapImpl::subspaceFor):
- runtime/WeakMapPrototype.h:
- runtime/WeakObjectRefPrototype.h:
- runtime/WeakSetPrototype.h:
- wasm/js/JSToWasmICCallee.h:
- wasm/js/JSWebAssembly.h:
- wasm/js/JSWebAssemblyException.h:
- wasm/js/JSWebAssemblyGlobal.h:
- wasm/js/JSWebAssemblyInstance.h:
- wasm/js/JSWebAssemblyMemory.h:
- wasm/js/JSWebAssemblyModule.h:
- wasm/js/JSWebAssemblyTable.h:
- wasm/js/JSWebAssemblyTag.h:
- wasm/js/WebAssemblyCompileErrorPrototype.h:
- wasm/js/WebAssemblyExceptionPrototype.h:
- wasm/js/WebAssemblyFunction.h:
- wasm/js/WebAssemblyGlobalPrototype.h:
- wasm/js/WebAssemblyInstancePrototype.h:
- wasm/js/WebAssemblyLinkErrorPrototype.h:
- wasm/js/WebAssemblyMemoryPrototype.h:
- wasm/js/WebAssemblyModulePrototype.h:
- wasm/js/WebAssemblyModuleRecord.h:
- wasm/js/WebAssemblyRuntimeErrorPrototype.h:
- wasm/js/WebAssemblyTablePrototype.h:
- wasm/js/WebAssemblyTagPrototype.h:
- wasm/js/WebAssemblyWrapperFunction.h:
Source/WebCore:
- Make various classes client-server aware in terms of IsoSubspaces.
- Make CodeGeneratorJS.pm client-server aware in terms of IsoSubspaces.
- Rebase bindings test results.
- CMakeLists.txt:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- bindings/js/DOMGCOutputConstraint.cpp:
(WebCore::DOMGCOutputConstraint::DOMGCOutputConstraint):
(WebCore::DOMGCOutputConstraint::executeImplImpl):
- bindings/js/DOMGCOutputConstraint.h:
- bindings/js/JSDOMAsyncIterator.h:
- bindings/js/JSDOMBuiltinConstructorBase.cpp:
(WebCore::JSDOMBuiltinConstructorBase::subspaceForImpl):
- bindings/js/JSDOMBuiltinConstructorBase.h:
(WebCore::JSDOMBuiltinConstructorBase::subspaceFor):
- bindings/js/JSDOMConstructorBase.cpp:
(WebCore::JSDOMConstructorBase::subspaceForImpl):
- bindings/js/JSDOMConstructorBase.h:
(WebCore::JSDOMConstructorBase::subspaceFor):
- bindings/js/JSDOMConstructorNotCallable.h:
(WebCore::JSDOMConstructorNotCallable::subspaceFor):
- bindings/js/JSDOMIterator.h:
- bindings/js/JSDOMWindowProperties.cpp:
(WebCore::JSDOMWindowProperties::subspaceForImpl):
- bindings/js/JSDOMWindowProperties.h:
- bindings/js/JSFileSystemDirectoryHandleIterator.cpp:
(WebCore::JSFileSystemDirectoryHandleIterator::subspaceForImpl):
- bindings/js/JSFileSystemDirectoryHandleIterator.h:
- bindings/js/JSIDBSerializationGlobalObject.cpp:
(WebCore::JSIDBSerializationGlobalObject::subspaceForImpl):
- bindings/js/JSIDBSerializationGlobalObject.h:
- bindings/js/JSWindowProxy.cpp:
(WebCore::JSWindowProxy::subspaceForImpl):
- bindings/js/JSWindowProxy.h:
- bindings/js/WebCoreJSClientData.cpp:
(WebCore::JSHeapData::JSHeapData):
(WebCore::JSHeapData::ensureHeapData):
(WebCore::JSVMClientData::JSVMClientData):
(WebCore::JSVMClientData::initNormalWorld):
- bindings/js/WebCoreJSClientData.h:
(WebCore::JSHeapData::lock):
(WebCore::JSHeapData::subspaces):
(WebCore::JSHeapData::fileSystemDirectoryHandleIteratorSpace):
(WebCore::JSHeapData::setFileSystemDirectoryHandleIteratorSpace):
(WebCore::JSVMClientData::normalWorld):
(WebCore::JSVMClientData::rememberWorld):
(WebCore::JSVMClientData::forgetWorld):
(WebCore::JSVMClientData::heapData):
(WebCore::JSVMClientData::builtinNames):
(WebCore::JSVMClientData::builtinFunctions):
(WebCore::JSVMClientData::domBuiltinConstructorSpace):
(WebCore::JSVMClientData::domConstructorSpace):
(WebCore::JSVMClientData::domNamespaceObjectSpace):
(WebCore::JSVMClientData::domWindowPropertiesSpace):
(WebCore::JSVMClientData::runtimeArraySpace):
(WebCore::JSVMClientData::runtimeMethodSpace):
(WebCore::JSVMClientData::runtimeObjectSpace):
(WebCore::JSVMClientData::windowProxySpace):
(WebCore::JSVMClientData::idbSerializationSpace):
(WebCore::JSVMClientData::fileSystemDirectoryHandleIteratorSpace):
(WebCore::JSVMClientData::setFileSystemDirectoryHandleIteratorSpace):
(WebCore::JSVMClientData::clientSubspaces):
(WebCore::JSVMClientData::forEachOutputConstraintSpace): Deleted.
(WebCore::JSVMClientData::subspaces): Deleted.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
(GenerateIterableDefinition):
(GeneratePrototypeDeclaration):
- bindings/scripts/preprocess-idls.pl:
- bindings/scripts/test/JS/JSDOMWindow.cpp:
(WebCore::JSDOMWindow::subspaceForImpl):
- bindings/scripts/test/JS/JSDOMWindow.h:
(WebCore::JSDOMWindow::subspaceFor):
- bindings/scripts/test/JS/JSDedicatedWorkerGlobalScope.cpp:
(WebCore::JSDedicatedWorkerGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSDedicatedWorkerGlobalScope.h:
(WebCore::JSDedicatedWorkerGlobalScope::subspaceFor):
- bindings/scripts/test/JS/JSExposedStar.cpp:
(WebCore::JSExposedStarDOMConstructor::prototypeForStructure):
(WebCore::JSExposedStar::subspaceForImpl):
- bindings/scripts/test/JS/JSExposedStar.h:
(WebCore::JSExposedStar::subspaceFor):
- bindings/scripts/test/JS/JSExposedToWorkerAndWindow.cpp:
(WebCore::JSExposedToWorkerAndWindow::subspaceForImpl):
- bindings/scripts/test/JS/JSExposedToWorkerAndWindow.h:
(WebCore::JSExposedToWorkerAndWindow::subspaceFor):
- bindings/scripts/test/JS/JSPaintWorkletGlobalScope.cpp:
(WebCore::JSPaintWorkletGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSPaintWorkletGlobalScope.h:
(WebCore::JSPaintWorkletGlobalScope::subspaceFor):
- bindings/scripts/test/JS/JSServiceWorkerGlobalScope.cpp:
(WebCore::JSServiceWorkerGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSServiceWorkerGlobalScope.h:
(WebCore::JSServiceWorkerGlobalScope::subspaceFor):
- bindings/scripts/test/JS/JSShadowRealmGlobalScope.cpp:
(WebCore::JSShadowRealmGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSShadowRealmGlobalScope.h:
(WebCore::JSShadowRealmGlobalScope::subspaceFor):
- bindings/scripts/test/JS/JSSharedWorkerGlobalScope.cpp:
(WebCore::JSSharedWorkerGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSSharedWorkerGlobalScope.h:
(WebCore::JSSharedWorkerGlobalScope::subspaceFor):
- bindings/scripts/test/JS/JSTestCEReactions.cpp:
(WebCore::JSTestCEReactionsDOMConstructor::prototypeForStructure):
(WebCore::JSTestCEReactions::subspaceForImpl):
- bindings/scripts/test/JS/JSTestCEReactions.h:
(WebCore::JSTestCEReactions::subspaceFor):
- bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
(WebCore::JSTestCEReactionsStringifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestCEReactionsStringifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestCEReactionsStringifier.h:
(WebCore::JSTestCEReactionsStringifier::subspaceFor):
- bindings/scripts/test/JS/JSTestCallTracer.cpp:
(WebCore::JSTestCallTracerDOMConstructor::prototypeForStructure):
(WebCore::JSTestCallTracer::subspaceForImpl):
- bindings/scripts/test/JS/JSTestCallTracer.h:
(WebCore::JSTestCallTracer::subspaceFor):
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
(WebCore::JSTestClassWithJSBuiltinConstructorDOMConstructor::prototypeForStructure):
(WebCore::JSTestClassWithJSBuiltinConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h:
(WebCore::JSTestClassWithJSBuiltinConstructor::subspaceFor):
- bindings/scripts/test/JS/JSTestConditionalIncludes.cpp:
(WebCore::JSTestConditionalIncludesDOMConstructor::prototypeForStructure):
(WebCore::JSTestConditionalIncludes::subspaceForImpl):
- bindings/scripts/test/JS/JSTestConditionalIncludes.h:
(WebCore::JSTestConditionalIncludes::subspaceFor):
- bindings/scripts/test/JS/JSTestConditionallyReadWrite.cpp:
(WebCore::JSTestConditionallyReadWriteDOMConstructor::prototypeForStructure):
(WebCore::JSTestConditionallyReadWrite::subspaceForImpl):
- bindings/scripts/test/JS/JSTestConditionallyReadWrite.h:
(WebCore::JSTestConditionallyReadWrite::subspaceFor):
- bindings/scripts/test/JS/JSTestDOMJIT.cpp:
(WebCore::JSTestDOMJITDOMConstructor::prototypeForStructure):
(WebCore::JSTestDOMJIT::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDOMJIT.h:
(WebCore::JSTestDOMJIT::subspaceFor):
- bindings/scripts/test/JS/JSTestDefaultToJSON.cpp:
(WebCore::JSTestDefaultToJSONDOMConstructor::prototypeForStructure):
(WebCore::JSTestDefaultToJSON::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSON.h:
(WebCore::JSTestDefaultToJSON::subspaceFor):
- bindings/scripts/test/JS/JSTestDefaultToJSONFilteredByExposed.cpp:
(WebCore::JSTestDefaultToJSONFilteredByExposedDOMConstructor::prototypeForStructure):
(WebCore::JSTestDefaultToJSONFilteredByExposed::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSONFilteredByExposed.h:
(WebCore::JSTestDefaultToJSONFilteredByExposed::subspaceFor):
- bindings/scripts/test/JS/JSTestDefaultToJSONIndirectInheritance.cpp:
(WebCore::JSTestDefaultToJSONIndirectInheritanceDOMConstructor::prototypeForStructure):
(WebCore::JSTestDefaultToJSONIndirectInheritance::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSONIndirectInheritance.h:
(WebCore::JSTestDefaultToJSONIndirectInheritance::subspaceFor):
- bindings/scripts/test/JS/JSTestDefaultToJSONInherit.cpp:
(WebCore::JSTestDefaultToJSONInheritDOMConstructor::prototypeForStructure):
(WebCore::JSTestDefaultToJSONInherit::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSONInherit.h:
(WebCore::JSTestDefaultToJSONInherit::subspaceFor):
- bindings/scripts/test/JS/JSTestDefaultToJSONInheritFinal.cpp:
(WebCore::JSTestDefaultToJSONInheritFinalDOMConstructor::prototypeForStructure):
(WebCore::JSTestDefaultToJSONInheritFinal::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSONInheritFinal.h:
(WebCore::JSTestDefaultToJSONInheritFinal::subspaceFor):
- bindings/scripts/test/JS/JSTestDelegateToSharedSyntheticAttribute.cpp:
(WebCore::JSTestDelegateToSharedSyntheticAttributeDOMConstructor::prototypeForStructure):
(WebCore::JSTestDelegateToSharedSyntheticAttribute::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDelegateToSharedSyntheticAttribute.h:
(WebCore::JSTestDelegateToSharedSyntheticAttribute::subspaceFor):
- bindings/scripts/test/JS/JSTestDomainSecurity.cpp:
(WebCore::JSTestDomainSecurityDOMConstructor::prototypeForStructure):
(WebCore::JSTestDomainSecurity::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDomainSecurity.h:
(WebCore::JSTestDomainSecurity::subspaceFor):
- bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
(WebCore::JSTestEnabledBySettingDOMConstructor::prototypeForStructure):
(WebCore::JSTestEnabledBySetting::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEnabledBySetting.h:
(WebCore::JSTestEnabledBySetting::subspaceFor):
- bindings/scripts/test/JS/JSTestEnabledForContext.cpp:
(WebCore::JSTestEnabledForContextDOMConstructor::prototypeForStructure):
(WebCore::JSTestEnabledForContext::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEnabledForContext.h:
(WebCore::JSTestEnabledForContext::subspaceFor):
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEventConstructor.h:
(WebCore::JSTestEventConstructor::subspaceFor):
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTargetDOMConstructor::prototypeForStructure):
(WebCore::JSTestEventTarget::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEventTarget.h:
(WebCore::JSTestEventTarget::subspaceFor):
- bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::JSTestExceptionDOMConstructor::prototypeForStructure):
(WebCore::JSTestException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestException.h:
(WebCore::JSTestException::subspaceFor):
- bindings/scripts/test/JS/JSTestGenerateAddOpaqueRoot.cpp:
(WebCore::JSTestGenerateAddOpaqueRootDOMConstructor::prototypeForStructure):
(WebCore::JSTestGenerateAddOpaqueRoot::subspaceForImpl):
- bindings/scripts/test/JS/JSTestGenerateAddOpaqueRoot.h:
(WebCore::JSTestGenerateAddOpaqueRoot::subspaceFor):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::JSTestGenerateIsReachableDOMConstructor::prototypeForStructure):
(WebCore::JSTestGenerateIsReachable::subspaceForImpl):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
(WebCore::JSTestGenerateIsReachable::subspaceFor):
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::JSTestGlobalObject::subspaceForImpl):
- bindings/scripts/test/JS/JSTestGlobalObject.h:
(WebCore::JSTestGlobalObject::subspaceFor):
- bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:
(WebCore::JSTestIndexedSetterNoIdentifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestIndexedSetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h:
(WebCore::JSTestIndexedSetterNoIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp:
(WebCore::JSTestIndexedSetterThrowingExceptionDOMConstructor::prototypeForStructure):
(WebCore::JSTestIndexedSetterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h:
(WebCore::JSTestIndexedSetterThrowingException::subspaceFor):
- bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:
(WebCore::JSTestIndexedSetterWithIdentifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestIndexedSetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h:
(WebCore::JSTestIndexedSetterWithIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceDOMConstructor::construct):
(WebCore::jsTestInterfacePrototypeFunction_entriesCaller):
(WebCore::JSTestInterface::subspaceForImpl):
- bindings/scripts/test/JS/JSTestInterface.h:
- bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
(WebCore::JSTestInterfaceLeadingUnderscoreDOMConstructor::prototypeForStructure):
(WebCore::JSTestInterfaceLeadingUnderscore::subspaceForImpl):
- bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h:
(WebCore::JSTestInterfaceLeadingUnderscore::subspaceFor):
- bindings/scripts/test/JS/JSTestIterable.cpp:
(WebCore::JSTestIterableDOMConstructor::prototypeForStructure):
(WebCore::jsTestIterablePrototypeFunction_entriesCaller):
(WebCore::JSTestIterable::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIterable.h:
(WebCore::JSTestIterable::subspaceFor):
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
(WebCore::JSTestJSBuiltinConstructorDOMConstructor::prototypeForStructure):
(WebCore::JSTestJSBuiltinConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h:
(WebCore::JSTestJSBuiltinConstructor::subspaceFor):
- bindings/scripts/test/JS/JSTestLegacyFactoryFunction.cpp:
(WebCore::JSTestLegacyFactoryFunctionDOMConstructor::prototypeForStructure):
(WebCore::JSTestLegacyFactoryFunction::subspaceForImpl):
- bindings/scripts/test/JS/JSTestLegacyFactoryFunction.h:
(WebCore::JSTestLegacyFactoryFunction::subspaceFor):
- bindings/scripts/test/JS/JSTestLegacyNoInterfaceObject.cpp:
(WebCore::JSTestLegacyNoInterfaceObjectPrototype::finishCreation):
(WebCore::JSTestLegacyNoInterfaceObject::subspaceForImpl):
- bindings/scripts/test/JS/JSTestLegacyNoInterfaceObject.h:
(WebCore::JSTestLegacyNoInterfaceObject::subspaceFor):
- bindings/scripts/test/JS/JSTestLegacyOverrideBuiltIns.cpp:
(WebCore::JSTestLegacyOverrideBuiltInsDOMConstructor::prototypeForStructure):
(WebCore::JSTestLegacyOverrideBuiltIns::subspaceForImpl):
- bindings/scripts/test/JS/JSTestLegacyOverrideBuiltIns.h:
(WebCore::JSTestLegacyOverrideBuiltIns::subspaceFor):
- bindings/scripts/test/JS/JSTestMapLike.cpp:
(WebCore::JSTestMapLikeDOMConstructor::prototypeForStructure):
(WebCore::JSTestMapLike::subspaceForImpl):
- bindings/scripts/test/JS/JSTestMapLike.h:
(WebCore::JSTestMapLike::subspaceFor):
- bindings/scripts/test/JS/JSTestMapLikeWithOverriddenOperations.cpp:
(WebCore::JSTestMapLikeWithOverriddenOperationsDOMConstructor::prototypeForStructure):
(WebCore::JSTestMapLikeWithOverriddenOperations::subspaceForImpl):
- bindings/scripts/test/JS/JSTestMapLikeWithOverriddenOperations.h:
(WebCore::JSTestMapLikeWithOverriddenOperations::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp:
(WebCore::JSTestNamedAndIndexedSetterNoIdentifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedAndIndexedSetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h:
(WebCore::JSTestNamedAndIndexedSetterNoIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp:
(WebCore::JSTestNamedAndIndexedSetterThrowingExceptionDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedAndIndexedSetterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h:
(WebCore::JSTestNamedAndIndexedSetterThrowingException::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp:
(WebCore::JSTestNamedAndIndexedSetterWithIdentifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedAndIndexedSetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h:
(WebCore::JSTestNamedAndIndexedSetterWithIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:
(WebCore::JSTestNamedDeleterNoIdentifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedDeleterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h:
(WebCore::JSTestNamedDeleterNoIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:
(WebCore::JSTestNamedDeleterThrowingExceptionDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedDeleterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h:
(WebCore::JSTestNamedDeleterThrowingException::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:
(WebCore::JSTestNamedDeleterWithIdentifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedDeleterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h:
(WebCore::JSTestNamedDeleterWithIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:
(WebCore::JSTestNamedDeleterWithIndexedGetterDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedDeleterWithIndexedGetter::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h:
(WebCore::JSTestNamedDeleterWithIndexedGetter::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp:
(WebCore::JSTestNamedGetterCallWithDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedGetterCallWith::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedGetterCallWith.h:
(WebCore::JSTestNamedGetterCallWith::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp:
(WebCore::JSTestNamedGetterNoIdentifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedGetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h:
(WebCore::JSTestNamedGetterNoIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp:
(WebCore::JSTestNamedGetterWithIdentifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedGetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h:
(WebCore::JSTestNamedGetterWithIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp:
(WebCore::JSTestNamedSetterNoIdentifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedSetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h:
(WebCore::JSTestNamedSetterNoIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp:
(WebCore::JSTestNamedSetterThrowingExceptionDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedSetterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h:
(WebCore::JSTestNamedSetterThrowingException::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp:
(WebCore::JSTestNamedSetterWithIdentifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedSetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h:
(WebCore::JSTestNamedSetterWithIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp:
(WebCore::JSTestNamedSetterWithIndexedGetterDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedSetterWithIndexedGetter::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h:
(WebCore::JSTestNamedSetterWithIndexedGetter::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp:
(WebCore::JSTestNamedSetterWithIndexedGetterAndSetterDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h:
(WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyOverrideBuiltIns.cpp:
(WebCore::JSTestNamedSetterWithLegacyOverrideBuiltInsDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedSetterWithLegacyOverrideBuiltIns::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyOverrideBuiltIns.h:
(WebCore::JSTestNamedSetterWithLegacyOverrideBuiltIns::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeableProperties.cpp:
(WebCore::JSTestNamedSetterWithLegacyUnforgeablePropertiesDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedSetterWithLegacyUnforgeableProperties::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeableProperties.h:
(WebCore::JSTestNamedSetterWithLegacyUnforgeableProperties::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns.cpp:
(WebCore::JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltInsDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns.h:
(WebCore::JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns::subspaceFor):
- bindings/scripts/test/JS/JSTestNamespaceObject.cpp:
(WebCore::JSTestNamespaceObject::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamespaceObject.h:
(WebCore::JSTestNamespaceObject::subspaceFor):
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::jsTestNodePrototypeFunction_entriesCaller):
(WebCore::JSTestNode::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNode.h:
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjDOMConstructor::construct):
(WebCore::JSTestObj::subspaceForImpl):
- bindings/scripts/test/JS/JSTestObj.h:
(WebCore::JSTestObj::subspaceFor):
- bindings/scripts/test/JS/JSTestOperationConditional.cpp:
(WebCore::JSTestOperationConditionalDOMConstructor::prototypeForStructure):
(WebCore::JSTestOperationConditional::subspaceForImpl):
- bindings/scripts/test/JS/JSTestOperationConditional.h:
(WebCore::JSTestOperationConditional::subspaceFor):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::JSTestOverloadedConstructors::subspaceForImpl):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
(WebCore::JSTestOverloadedConstructors::subspaceFor):
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
(WebCore::JSTestOverloadedConstructorsWithSequence::subspaceForImpl):
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h:
(WebCore::JSTestOverloadedConstructorsWithSequence::subspaceFor):
- bindings/scripts/test/JS/JSTestPluginInterface.cpp:
(WebCore::JSTestPluginInterfaceDOMConstructor::prototypeForStructure):
(WebCore::JSTestPluginInterface::subspaceForImpl):
- bindings/scripts/test/JS/JSTestPluginInterface.h:
(WebCore::JSTestPluginInterface::subspaceFor):
- bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
(WebCore::JSTestPromiseRejectionEvent::subspaceForImpl):
- bindings/scripts/test/JS/JSTestPromiseRejectionEvent.h:
(WebCore::JSTestPromiseRejectionEvent::subspaceFor):
- bindings/scripts/test/JS/JSTestReadOnlyMapLike.cpp:
(WebCore::JSTestReadOnlyMapLikeDOMConstructor::prototypeForStructure):
(WebCore::JSTestReadOnlyMapLike::subspaceForImpl):
- bindings/scripts/test/JS/JSTestReadOnlyMapLike.h:
(WebCore::JSTestReadOnlyMapLike::subspaceFor):
- bindings/scripts/test/JS/JSTestReadOnlySetLike.cpp:
(WebCore::JSTestReadOnlySetLikeDOMConstructor::prototypeForStructure):
(WebCore::JSTestReadOnlySetLike::subspaceForImpl):
- bindings/scripts/test/JS/JSTestReadOnlySetLike.h:
(WebCore::JSTestReadOnlySetLike::subspaceFor):
- bindings/scripts/test/JS/JSTestReportExtraMemoryCost.cpp:
(WebCore::JSTestReportExtraMemoryCostDOMConstructor::prototypeForStructure):
(WebCore::JSTestReportExtraMemoryCost::subspaceForImpl):
- bindings/scripts/test/JS/JSTestReportExtraMemoryCost.h:
(WebCore::JSTestReportExtraMemoryCost::subspaceFor):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterfaceDOMConstructor::prototypeForStructure):
(WebCore::JSTestSerializedScriptValueInterface::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
(WebCore::JSTestSerializedScriptValueInterface::subspaceFor):
- bindings/scripts/test/JS/JSTestSetLike.cpp:
(WebCore::JSTestSetLikeDOMConstructor::prototypeForStructure):
(WebCore::JSTestSetLike::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSetLike.h:
(WebCore::JSTestSetLike::subspaceFor):
- bindings/scripts/test/JS/JSTestSetLikeWithOverriddenOperations.cpp:
(WebCore::JSTestSetLikeWithOverriddenOperationsDOMConstructor::prototypeForStructure):
(WebCore::JSTestSetLikeWithOverriddenOperations::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSetLikeWithOverriddenOperations.h:
(WebCore::JSTestSetLikeWithOverriddenOperations::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifier.cpp:
(WebCore::JSTestStringifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestStringifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifier.h:
(WebCore::JSTestStringifier::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp:
(WebCore::JSTestStringifierAnonymousOperationDOMConstructor::prototypeForStructure):
(WebCore::JSTestStringifierAnonymousOperation::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h:
(WebCore::JSTestStringifierAnonymousOperation::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp:
(WebCore::JSTestStringifierNamedOperationDOMConstructor::prototypeForStructure):
(WebCore::JSTestStringifierNamedOperation::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierNamedOperation.h:
(WebCore::JSTestStringifierNamedOperation::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp:
(WebCore::JSTestStringifierOperationImplementedAsDOMConstructor::prototypeForStructure):
(WebCore::JSTestStringifierOperationImplementedAs::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h:
(WebCore::JSTestStringifierOperationImplementedAs::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp:
(WebCore::JSTestStringifierOperationNamedToStringDOMConstructor::prototypeForStructure):
(WebCore::JSTestStringifierOperationNamedToString::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h:
(WebCore::JSTestStringifierOperationNamedToString::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp:
(WebCore::JSTestStringifierReadOnlyAttributeDOMConstructor::prototypeForStructure):
(WebCore::JSTestStringifierReadOnlyAttribute::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h:
(WebCore::JSTestStringifierReadOnlyAttribute::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:
(WebCore::JSTestStringifierReadWriteAttributeDOMConstructor::prototypeForStructure):
(WebCore::JSTestStringifierReadWriteAttribute::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h:
(WebCore::JSTestStringifierReadWriteAttribute::subspaceFor):
- bindings/scripts/test/JS/JSTestTaggedWrapper.cpp:
(WebCore::JSTestTaggedWrapperDOMConstructor::prototypeForStructure):
(WebCore::JSTestTaggedWrapper::subspaceForImpl):
- bindings/scripts/test/JS/JSTestTaggedWrapper.h:
(WebCore::JSTestTaggedWrapper::subspaceFor):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsDOMConstructor::construct):
(WebCore::JSTestTypedefs::subspaceForImpl):
- bindings/scripts/test/JS/JSTestTypedefs.h:
(WebCore::JSTestTypedefs::subspaceFor):
- bindings/scripts/test/JS/JSWorkerGlobalScope.cpp:
(WebCore::JSWorkerGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSWorkerGlobalScope.h:
(WebCore::JSWorkerGlobalScope::subspaceFor):
- bindings/scripts/test/JS/JSWorkletGlobalScope.cpp:
(WebCore::JSWorkletGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSWorkletGlobalScope.h:
(WebCore::JSWorkletGlobalScope::subspaceFor):
- bridge/objc/objc_runtime.h:
- bridge/objc/objc_runtime.mm:
(JSC::Bindings::ObjcFallbackObjectImp::subspaceForImpl):
- bridge/runtime_array.cpp:
(JSC::RuntimeArray::subspaceForImpl):
- bridge/runtime_array.h:
- bridge/runtime_method.cpp:
(JSC::RuntimeMethod::subspaceForImpl):
- bridge/runtime_method.h:
- bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::subspaceForImpl):
- bridge/runtime_object.h:
- 8:41 AM Changeset in webkit [290128] by
-
- 2 edits in trunk/Source/WebKit
AX: isAXAuthenticatedCallback must be handled on the main runloop
https://bugs.webkit.org/show_bug.cgi?id=236789
Reviewed by Chris Fleizach.
isAXAuthenticatedCallback in WebProcessCocoa.mm performs IPC to the UI process
to determine if the given auditToken is valid. This causes a crash with isolated
tree mode enabled as IPC must be performed on the main thread / runloop.
This patch changes this function to dispatch to the main runloop.
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::isAXAuthenticatedCallback):
- 8:30 AM Changeset in webkit [290127] by
-
- 8 edits in trunk/Source/WebCore
[LFC][Integration] Add missing LineIteratorModernPath::isHorizontal implementation
https://bugs.webkit.org/show_bug.cgi?id=236835
Reviewed by Antti Koivisto.
isHorizontal value comes from the root inline box's writing mode.
- layout/formattingContexts/inline/InlineLineBox.h:
(WebCore::Layout::LineBox::isHorizontal const):
- layout/formattingContexts/inline/display/InlineDisplayLine.h:
(WebCore::InlineDisplay::Line::isHorizontal const):
(WebCore::InlineDisplay::Line::Line):
- layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp:
(WebCore::Layout::InlineDisplayLineBuilder::build const):
- layout/integration/InlineIteratorLineModernPath.h:
(WebCore::InlineIterator::LineIteratorModernPath::isHorizontal const):
- layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):
- layout/integration/LayoutIntegrationLine.h:
(WebCore::LayoutIntegration::Line::Line):
(WebCore::LayoutIntegration::Line::isHorizontal const):
- layout/integration/LayoutIntegrationPagination.cpp:
(WebCore::LayoutIntegration::makeAdjustedContent):
- 7:46 AM Changeset in webkit [290126] by
-
- 2 edits in trunk/Tools
[EWS] Trigger Mac builders on pull-requests
https://bugs.webkit.org/show_bug.cgi?id=236257
<rdar://problem/88591950>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/config.json: Enable Mac builders on pull-requests.
Canonical link: https://commits.webkit.org/247469@main
- 7:44 AM Changeset in webkit [290125] by
-
- 7 edits in trunk
[frame-rate] [custom-effect] allow setting frameRate as an option passed to document.timeline.animate()
https://bugs.webkit.org/show_bug.cgi?id=236831
Reviewed by Dean Jackson.
Source/WebCore:
- animation/CustomAnimationOptions.h:
- animation/CustomAnimationOptions.idl:
- animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::animate):
LayoutTests:
- webanimations/frame-rate/animation-frame-rate-expected.txt:
- webanimations/frame-rate/animation-frame-rate.html:
- 7:39 AM Changeset in webkit [290124] by
-
- 9 edits in trunk
[InputElement] Return empty string for an invalid floating-point number that ends with "."
https://bugs.webkit.org/show_bug.cgi?id=236700
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/html/semantics/forms/the-input-element/number-expected.txt:
Source/WebCore:
As per specs https://html.spec.whatwg.org/multipage/input.html#number-state-(type%3Dnumber),
"If the value of the element is not a valid floating-point number, then set it to the empty
string instead".
- html/parser/HTMLParserIdioms.cpp:
(WebCore::parseToDoubleForNumberType):
LayoutTests:
- fast/forms/number/number-stepup-stepdown-expected.txt:
- fast/forms/number/number-stepup-stepdown-from-renderer-expected.txt:
- fast/forms/number/number-stepup-stepdown-from-renderer.html:
- fast/forms/number/number-stepup-stepdown.html:
- 7:38 AM Changeset in webkit [290123] by
-
- 7 edits in trunk
[frame-rate] allow setting frameRate as an option passed to Element.animate()
https://bugs.webkit.org/show_bug.cgi?id=236830
Reviewed by Dean Jackson.
Source/WebCore:
- animation/KeyframeAnimationOptions.h:
- animation/KeyframeAnimationOptions.idl:
- dom/Element.cpp:
(WebCore::Element::animate):
LayoutTests:
- webanimations/frame-rate/animation-frame-rate-expected.txt:
- webanimations/frame-rate/animation-frame-rate.html:
- 7:35 AM Changeset in webkit [290122] by
-
- 3 edits2 adds in trunk
[custom-effect] Animations associated with a custom effect should appear in document.getAnimations() result
https://bugs.webkit.org/show_bug.cgi?id=236828
Reviewed by Dean Jackson.
Source/WebCore:
Test: webanimations/custom-effect/custom-effect-get-animations.html
- dom/Document.cpp:
(WebCore::Document::matchingAnimations):
LayoutTests:
- webanimations/custom-effect/custom-effect-get-animations-expected.txt: Added.
- webanimations/custom-effect/custom-effect-get-animations.html: Added.
- 2:47 AM Changeset in webkit [290121] by
-
- 8 edits6 adds in trunk
[frame-rate] animation with different but compatible frame rates should be aligned
https://bugs.webkit.org/show_bug.cgi?id=236778
<rdar://problem/89083932>
Reviewed by Simon Fraser.
Source/WebCore:
With bug 234202 we started accounting for the frameRate property of an animation when updating
animations and ensuring that animations with the same frameRate are sampled in the same frame.
We expand on this by aligning animations that use different frameRate but could share sample frames.
For instance, if we have animations running with frameRate set to 6, 12 and 18, and assuming no
frames are ever skipped, we should expect a sequence of frames where the following animations are
sampled:
- frame 1: 12, 18, 6
- frame 2: 18
- frame 3: 12
- frame 4: 18
- frame 5: 12, 18, 6
and for that pattern to repeat.
To achieve this, we add a new "isNew" boolean flag on the FrameRateData struct. Then, in
FrameRateAligner::finishUpdate(), which is newly called from updateAnimationsAndSendEvents(),
we identify which frame rates have this flag, and analyze the other frame rates to determine
which frame rate it is most compatible with. If we find such a compatible frame rate, the new
frame rate adopts the same firstUpdateTime which ensures that they now have the same basis to
compute ideal times for sampling.
Within updateAnimationsAndSendEvents(), we also ensure that newly-added animations, regardless
of the output of FrameRateAligner::updateFrameRate(), are sampled right away so that there's no
delay for an animation to have visual output, letting them be synchronized with other animations
of that frame rate at the next opportunity.
Tests: webanimations/frame-rate/animation-frame-rate-alignment-compatible-frame-rates.html
webanimations/frame-rate/animation-frame-rate-alignment-started-together.html
webanimations/frame-rate/animation-frame-rate-alignment-started-with-one-frame-separation.html
- animation/DocumentTimelinesController.cpp:
(WebCore::DocumentTimelinesController::updateAnimationsAndSendEvents):
- animation/FrameRateAligner.cpp:
(WebCore::FrameRateAligner::beginUpdate):
(WebCore::FrameRateAligner::updateFrameRate):
(WebCore::frameRatesCanBeAligned):
(WebCore::FrameRateAligner::finishUpdate):
- animation/FrameRateAligner.h:
LayoutTests:
Add new tests that check the behavior of alignment when:
- two animations are started together with the same frame rate,
- two animations are started one frame apart with the same frame rate,
- three animations are each started one frame apart and with different, but compatible frame rates.
- TestExpectations:
- platform/ios-wk2/TestExpectations:
- platform/mac-wk2/TestExpectations:
- webanimations/frame-rate/animation-frame-rate-alignment-compatible-frame-rates-expected.txt: Added.
- webanimations/frame-rate/animation-frame-rate-alignment-compatible-frame-rates.html: Added.
- webanimations/frame-rate/animation-frame-rate-alignment-started-together-expected.txt: Added.
- webanimations/frame-rate/animation-frame-rate-alignment-started-together.html: Added.
- webanimations/frame-rate/animation-frame-rate-alignment-started-with-one-frame-separation-expected.txt: Added.
- webanimations/frame-rate/animation-frame-rate-alignment-started-with-one-frame-separation.html: Added.
- 1:19 AM Changeset in webkit [290120] by
-
- 6 edits in trunk/LayoutTests
Unreviewed gardening for GPU Process bots. Update fuzzy data.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-images/gradients-with-transparent.html:
- web-platform-tests/svg/coordinate-systems/viewBox-scaling-text-001.html:
LayoutTests:
- gpu-process/TestExpectations:
- platform/ios/TestExpectations: A couple tests are happening on all iOS bots and not uniquely on GPU Process bots.
- 12:50 AM Changeset in webkit [290119] by
-
- 4 edits in trunk
[JSC] Enable Shadow Realms support by default
https://bugs.webkit.org/show_bug.cgi?id=236673
Patch by Joseph Griego <jgriego@igalia.com> on 2022-02-18
Reviewed by Yusuke Suzuki.
LayoutTests/imported/w3c:
Enabling this flag causes the new WPT test to partially pass (since
ShadowRealm is available on Window) but does not completely pass
because shadow realm contexts do not yet have the required web APIs
exposed.
- web-platform-tests/dom/idlharness-shadowrealm.window-expected.txt:
Source/JavaScriptCore:
The implementaiton in JSC is complete and should be correct and
reasonably fast now; so, enable it without requiring the flag.
Should be covered by EWS and existing tests of shadow realms functionality.
- runtime/OptionsList.h:
- 12:48 AM Changeset in webkit [290118] by
-
- 6 edits in trunk/Source
[GTK][WPE] Don't use ANGLE's GBM-based display
https://bugs.webkit.org/show_bug.cgi?id=236772
Patch by Zan Dobersek <zdobersek@igalia.com> on 2022-02-18
Reviewed by Alejandro G. Castro.
Source/ThirdParty/ANGLE:
With DisplayGbm functionality not necessary anymore, we can stop
building the associated code and linking against libgbm and libdrm at
the ANGLE level. These two libraries are still dependencies that have
since become necessary in WebCore.
- CMakeLists.txt:
- PlatformGTK.cmake:
- PlatformWPE.cmake:
Source/WebCore:
ANGLE's DisplayGbm implementation adds unnecessary overhead for how we
would want to use ANGLE. We don't need a connection to the DRM display
device or the ability for the display to provide pre-allocated buffer
objects that are then displayed on that device. Instead we have to
control our own GBM buffers and have options in terms of how we want
those buffers to be handled and presented.
We can live with the DisplayEGL implementation instead. To be able to
utilize it, we have to switch to using the EGL_GetPlatformDisplayEXT
entrypoint, along with a display attribute list that selects the
OpenGLES as the display's GL target (matching what we've used with
DisplayGBM so far) and EGL as the device type. Additionally, we
specify surfaceless as the native platform type, even when right now
this doesn't seem to have any effect.
- platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.cpp:
(Nicosia::GCGLANGLELayer::ANGLEContext::createContext):
- 12:16 AM Changeset in webkit [290117] by
-
- 48 edits in trunk/Source
Add LC_SOURCE_VERSION to compile targets
https://bugs.webkit.org/show_bug.cgi?id=236720
<rdar://84984140>
Reviewed by Michael Saboff.
Source/JavaScriptCore:
- Configurations/JSC.xcconfig:
- Configurations/JavaScriptCore.xcconfig:
- Configurations/TestAPI.xcconfig:
- Configurations/ToolExecutable.xcconfig:
- Configurations/Version.xcconfig:
Source/ThirdParty/ANGLE:
- Configurations/Base.xcconfig:
- Configurations/Version.xcconfig:
Source/ThirdParty/libwebrtc:
- Configurations/Version.xcconfig:
- Configurations/boringssl.xcconfig:
- Configurations/libsrtp.xcconfig:
- Configurations/libvpx.xcconfig:
- Configurations/libwebm.xcconfig:
- Configurations/libwebrtc.xcconfig:
- Configurations/libyuv.xcconfig:
- Configurations/opus.xcconfig:
- Configurations/usrsctp.xcconfig:
- Configurations/yasm.xcconfig:
Source/WebCore:
- Configurations/Version.xcconfig:
- Configurations/WebCore.xcconfig:
- Configurations/WebCoreTestSupport.xcconfig:
Source/WebCore/PAL:
- Configurations/Version.xcconfig:
Source/WebGPU:
- Configurations/Version.xcconfig:
- Configurations/WGSL.xcconfig:
- Configurations/WGSLUnitTests.xcconfig:
- Configurations/WebGPU.xcconfig:
Source/WebInspectorUI:
- Configurations/Version.xcconfig:
- Configurations/WebInspectorUIFramework.xcconfig:
Source/WebKit:
- Configurations/GPUService.xcconfig:
- Configurations/NetworkService.xcconfig:
- Configurations/Version.xcconfig:
- Configurations/WebAuthnService.xcconfig:
- Configurations/WebContentService.xcconfig:
- Configurations/WebKit.xcconfig:
- Configurations/WebKitSwift.xcconfig:
- Configurations/adattributiond.xcconfig:
- Configurations/webpushd.xcconfig:
- Configurations/webpushtool.xcconfig:
Source/WebKitLegacy/mac:
- Configurations/Version.xcconfig:
- Configurations/WebKitLegacy.xcconfig:
Feb 17, 2022:
- 11:55 PM Changeset in webkit [290116] by
-
- 23 edits1 copy1 add in trunk
Draw highlights for Scroll To Text Fragment
https://bugs.webkit.org/show_bug.cgi?id=236693
Reviewed by Tim Horton.
Source/WebCore:
Implement a very basic search for text fragments (this will be properly implemented later)
and leverage our Highlight and AppHighlight infrastructures to draw the found ranges for
Scroll to Text Fragment and scroll so they are guaranteed to be in view.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- dom/Document.cpp:
(WebCore::Document::commonTeardown):
(WebCore::Document::fragmentHighlightRegister):
(WebCore::Document::updateHighlightPositions):
- dom/Document.h:
(WebCore::Document::fragmentHighlightRegisterIfExists):
- page/FrameView.cpp:
(WebCore::FrameView::scrollToFragment):
- rendering/MarkedText.cpp:
(WebCore::MarkedText::collectForHighlights):
- rendering/MarkedText.h:
- rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::calculateHighlightColor const):
- rendering/StyledMarkedText.cpp:
(WebCore::resolveStyleForMarkedText):
Tools:
- TestWebKitAPI/Tests/WebCore/MarkedText.cpp:
(WebCore::operator<<):
- 11:45 PM Changeset in webkit [290115] by
-
- 2 edits in trunk/Source/WebKit
Exclude new LocalStorage directory from backup on iOS
https://bugs.webkit.org/show_bug.cgi?id=236423
<rdar://problem/89060863>
Reviewed by Chris Dumez.
We've been excluding LocalStorage data from backup on iOS since r212555, and we need to make sure this applies
to new LocalStorage directory after migration (r289878).
Manually tested on iOS device.
- NetworkProcess/storage/OriginStorageManager.cpp:
(WebKit::OriginStorageManager::StorageBucket::resolvedLocalStoragePath):
- 9:41 PM Changeset in webkit [290114] by
-
- 1 edit in branches/safari-613.1.17.1-branch/Source/WTF/Scripts/Preferences/WebPreferences.yaml
Apply patch. rdar://problem/89126114
- 9:34 PM Changeset in webkit [290113] by
-
- 9 edits in branches/safari-613.1.17.1-branch/Source
Versioning.
WebKit-7613.1.17.1.6
- 9:21 PM Changeset in webkit [290112] by
-
- 5 edits in trunk/Source/WebCore
Web Inspector: [Flexbox] Add indicators for layout context in element tooltips
https://bugs.webkit.org/show_bug.cgi?id=236738
Reviewed by Devin Rousso.
- en.lproj/Localizable.strings:
- inspector/InspectorOverlay.cpp:
(WebCore::rendererIsFlexboxItem):
(WebCore::rendererIsGridItem):
(WebCore::InspectorOverlay::drawElementTitle):
- Add new
Flex Item
,Flex
,Grid Item
, andGrid
bubblea to element tooltips to allow provide more
context about layout while selecting nodes on a page.
- Move the role into its own bubble with special color (based on the previous coloring of the
Role
text).
- inspector/InspectorOverlayLabel.cpp:
(WebCore::InspectorOverlayLabel::draw):
- inspector/InspectorOverlayLabel.h:
(WebCore::InspectorOverlayLabel::Content::encode const):
(WebCore::InspectorOverlayLabel::Content::decode):
(WebCore::InspectorOverlayLabel::Content::Decoration::encode const):
(WebCore::InspectorOverlayLabel::Content::Decoration::decode):
- Add the concept of text decoration (currently just bordered text).
- Create an intermediate
ComputedContentRun
to hold the intermediate representation of content with the
computed attributes of each piece of text. This allows us to better scale with the addition of the new text
decorations and other configuration properties instead of having to create even more Vectors of things that need
to be kept in sync with each other.
- 8:52 PM Changeset in webkit [290111] by
-
- 2 edits in trunk/Source/WTF
Enable subgrid by default.
https://bugs.webkit.org/show_bug.cgi?id=236821
Patch by Matt Woodrow <Matt Woodrow> on 2022-02-17
Reviewed by Alan Bujtas.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- 8:16 PM Changeset in webkit [290110] by
-
- 2 edits in trunk/Source/bmalloc
[libpas] scavenger should not call pthread_mach_thread_np after suspension
https://bugs.webkit.org/show_bug.cgi?id=236798
rdar://89020902
Reviewed by Mark Lam and Keith Miller.
pthread_mach_thread_np can take a lock internally. So we should not call it after suspending a thread.
This patch refactors libpas scavenger so that we call pthread_mach_thread_np before suspending a thread.
We also avoid calling pthread_self() after suspension to make suspending safer (while it does not take
a lock, it also depends on an internal implementation).
- libpas/src/libpas/pas_thread_local_cache.c:
(scavenger_thread_suspend_data_create):
(suspend):
(resume):
(stop_allocator):
(pas_thread_local_cache_for_all):
- 7:55 PM Changeset in webkit [290109] by
-
- 2 edits in trunk/Source/WebCore
Crash under ScrollingCoordinatorMac::hasNodeWithAnimatedScrollChanged()
https://bugs.webkit.org/show_bug.cgi?id=236810
<rdar://89072235>
Reviewed by Dean Jackson.
Crash data suggests that r288933 didn't fix the crash entirely.
Although the code paths I can find appear to hold the lock, there may be an
opportunity for m_scrollingCoordinator to get nulled out after we null-check it
but before the copy for the main thread dispatch.
So make a RefPtr on the stack, null-check it, and then move it into the callback.
- page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::reportSynchronousScrollingReasonsChanged):
(WebCore::ThreadedScrollingTree::reportExposedUnfilledArea):
(WebCore::ThreadedScrollingTree::currentSnapPointIndicesDidChange):
(WebCore::ThreadedScrollingTree::handleWheelEventPhase):
(WebCore::ThreadedScrollingTree::setActiveScrollSnapIndices):
(WebCore::ThreadedScrollingTree::hasNodeWithAnimatedScrollChanged):
- 7:46 PM Changeset in webkit [290108] by
-
- 19 edits in trunk/Source
Clean up / optimize call sites constructing vectors
https://bugs.webkit.org/show_bug.cgi?id=236748
<rdar://problem/89090710>
Reviewed by Darin Adler.
Follow-up to r290026 to address feedback from Darin.
Source/JavaScriptCore:
- b3/air/AirCode.cpp:
(JSC::B3::Air::Code::setNumEntrypoints):
Source/WebCore:
- Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::updateKeyStatuses):
- Modules/indexeddb/server/SQLiteIDBCursor.cpp:
(WebCore::IDBServer::SQLiteIDBCursor::currentData):
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::setMathscripts):
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::readString):
- css/StyleProperties.cpp:
(WebCore::DeferredStyleProperties::DeferredStyleProperties):
- css/StyleRule.cpp:
(WebCore::DeferredStyleGroupRuleList::DeferredStyleGroupRuleList):
- dom/ElementData.cpp:
(WebCore::UniqueElementData::UniqueElementData):
- loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::createFromSelection):
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::responseHeaders const):
- platform/encryptedmedia/CDMProxy.cpp:
(WebCore::KeyStore::convertToJSKeyStatusVector const):
- platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::updateLicense):
- platform/text/LocaleICU.cpp:
(WebCore::createFallbackMonthLabels):
- platform/text/LocaleNone.cpp:
(WebCore::LocaleNone::shortMonthLabels):
- platform/text/cocoa/LocaleCocoa.mm:
(WebCore::LocaleCocoa::monthLabels):
(WebCore::LocaleCocoa::shortMonthLabels):
(WebCore::LocaleCocoa::standAloneMonthLabels):
(WebCore::LocaleCocoa::shortStandAloneMonthLabels):
- testing/MockCDMFactory.cpp:
(WebCore::MockCDMInstanceSession::updateLicense):
(WebCore::MockCDMInstanceSession::removeSessionData):
- 7:37 PM Changeset in webkit [290107] by
-
- 2 edits in trunk/Source/WebCore
[WPE] Unreviewed, fix non-unified build after r290089
- html/PDFDocument.cpp:
- 7:31 PM Changeset in webkit [290106] by
-
- 2 edits in trunk/Source/WebKit
[GTK] Debian Stable build is broken after r290026
https://bugs.webkit.org/show_bug.cgi?id=236819
Unreviewed build fix.
- UIProcess/API/APIWebsitePolicies.cpp:
(API::WebsitePolicies::copy const):
- 6:51 PM Changeset in webkit [290105] by
-
- 4 edits2 adds in trunk
[LFC][IFC] 'vertical-align: bottom' makes inline level boxes stick out of their parent block box
https://bugs.webkit.org/show_bug.cgi?id=236677
Reviewed by Antti Koivisto.
Source/WebCore:
'vertical-align: bottom' pushes the root inline box's baseline down as it stretches the line box downwards.
In most cases this makes the root inline box sit at the bottom of the line box e.g.
<div>
some text
<img style="vertical-align: bottom; height: 100px; width: 10px;">
</div>
forms a 100px tall block box where the "some text" sits at the bottom of the line and the tall image fills the rest of the line box all the way to the top.
Now if we add another inline level box with e.g. middle alignment.
<div>
some text
<img style="vertical-align: middle; height: 80px; width: 10px;">
<img style="vertical-align: bottom; height: 100px; width: 10px;">
</div>
We still form a 100px tall block box where the "some text" content sits at the bottom and the middle aligned box stick out of the block box by about 40px (middle alignment -> 80px/2) as it is aligned based
on the root inline box's position (which is at the very bottom of the block container).
Instead the root inline box's baseline should be pull up to make room for the middle aligned image box.
This patch fixes this incorrect behavior by removing the line box relative alignment types from the regular alignment logic and offsetting the root inline box's baseline position at a later step.
What we do here is we simply compute the root inline box's baseline position as if there were no line box relative aligned boxes present and offset the final result if such box happens to stretch the line box.
(going back to the example: without the tall, bottom aligned image box, we compute the root inline box's baseline position to be around 40px to
ensure that the 80px image box fits and later we push it down to 60px (as the 100px image box stretches the line box by 20px).)
Test: fast/inline/vertical-align-bottom.html
- layout/formattingContexts/inline/InlineLineBoxVerticalAligner.cpp:
(WebCore::Layout::LineBoxVerticalAligner::computeLogicalHeightAndAlign const):
(WebCore::Layout::LineBoxVerticalAligner::computeLineBoxLogicalHeight const):
(WebCore::Layout::LineBoxVerticalAligner::computeRootInlineBoxVerticalPosition const):
- layout/formattingContexts/inline/InlineLineBoxVerticalAligner.h:
(WebCore::Layout::LineBoxVerticalAligner::LineBoxHeight::value const):
LayoutTests:
- fast/inline/vertical-align-bottom-expected.html: Added.
- fast/inline/vertical-align-bottom.html: Added.
- 6:46 PM Changeset in webkit [290104] by
-
- 2 edits in trunk/Source/WTF
GeneratePreferences.rb: warning: Passing safe_level with the 2nd argument of ERB.new is deprecated
https://bugs.webkit.org/show_bug.cgi?id=236684
Reviewed by Yusuke Suzuki.
With Ruby 3.1.0, GeneratePreferences.rb reported the following warnings.
GeneratePreferences.rb:235: warning: Passing safe_level with the 2nd argument of ERB.new is deprecated. Do not use it, and specify other arguments as keyword arguments.
GeneratePreferences.rb:235: warning: Passing trim_mode with the 3rd argument of ERB.new is deprecated. Use keyword argument like ERB.new(str, trim_mode: ...) instead.
- Scripts/GeneratePreferences.rb: Changed to use the keyword argument for ERB.new.
- 6:31 PM Changeset in webkit [290103] by
-
- 6 edits in trunk/Source
Refactor share menu item presentation
https://bugs.webkit.org/show_bug.cgi?id=236806
<rdar://problem/88858606>
Reviewed by Aditya Keerthi.
Source/WebCore:
- page/ContextMenuController.cpp:
(WebCore::ContextMenuController::populate):
Source/WebCore/PAL:
- pal/spi/mac/NSSharingServicePickerSPI.h:
Source/WebKit:
- UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::setupServicesMenu):
(WebKit::WebContextMenuProxyMac::getShareMenuItem):
- 5:56 PM Changeset in webkit [290102] by
-
- 7 edits in trunk/LayoutTests
LayoutTests/imported/w3c:
Unreviewed gardening. Update fuzzy data.
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-003.html:
LayoutTests:
Unreviewed gardening for iOS GPU Process bots.
- TestExpectations:
- gpu-process/TestExpectations: Triage remaining failures.
- css3/masking/clip-path-border-radius-border-box-000.html: Add fuzzy data.
- imported/blink/svg/paintorder/paintorder.svg:
- 5:18 PM Changeset in webkit [290101] by
-
- 1 copy in tags/Safari-614.1.3.4
Tag Safari-614.1.3.4.
- 5:17 PM Changeset in webkit [290100] by
-
- 1 delete in tags/Safari-614.1.3.4
Delete tag.
- 5:10 PM Changeset in webkit [290099] by
-
- 1 copy in tags/Safari-614.1.3.4
Tag Safari-614.1.3.4.
- 5:03 PM Changeset in webkit [290098] by
-
- 30 edits6 adds in trunk
'-webkit-user-select: all' is not respected in editable views
https://bugs.webkit.org/show_bug.cgi?id=190977
rdar://34945944
Reviewed by Wenson Hsieh.
Source/WebCore:
Original patch by Tim Horton.
Currently, if the web view's editable bit is set to true, all nodes are
made editable via a short circuit. However, the content of nodes with
'-webkit-user-select: all' should not be editable. To fix, remove the
short circuit and allow '-webkit-user-select' to take precedence.
'-webkit-user-modify: read-only' and 'contenteditable=false' elements
remain editable in editable web views.
Tests: editing/editability/contenteditable-false-in-editable-view.html
editing/editability/user-modify-read-only-in-editable-view.html
editing/editability/user-select-all-in-editable-view.html
- dom/Node.cpp:
(WebCore::computeEditabilityFromComputedStyle):
(WebCore::Node::computeEditability const):
- html/HTMLElement.cpp:
(WebCore::HTMLElement::editabilityFromContentEditableAttr):
(WebCore::HTMLElement::matchesReadWritePseudoClass const):
- html/HTMLElement.h:
- page/Page.h:
Source/WebKit:
Add methods for testing the GTK port.
- UIProcess/API/C/gtk/WKView.cpp:
(WKViewSetEditable):
- UIProcess/API/C/gtk/WKViewPrivate.h:
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseSetEditable):
- UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
Tools:
Add a UIScriptController method to make web views editable.
Remove TestRunner::setWebViewEditable as it is unused.
- DumpRenderTree/TestRunner.cpp:
(TestRunner::staticFunctions):
(setWebViewEditableCallback): Deleted.
- DumpRenderTree/TestRunner.h:
- DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setWebViewEditable): Deleted.
- DumpRenderTree/mac/UIScriptControllerMac.h:
- DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptControllerMac::setWebViewEditable):
- DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::~TestRunner):
(TestRunner::setWebViewEditable): Deleted.
- DumpRenderTree/win/UIScriptControllerWin.cpp:
(WTR::UIScriptControllerWin::setWebViewEditable):
- DumpRenderTree/win/UIScriptControllerWin.h:
- TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
- TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::setWebViewEditable):
- WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::cocoaResetStateToConsistentValues):
- WebKitTestRunner/cocoa/UIScriptControllerCocoa.h:
- WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
(WTR::UIScriptControllerCocoa::setWebViewEditable):
- WebKitTestRunner/gtk/TestControllerGtk.cpp:
(WTR::TestController::platformResetStateToConsistentValues):
- WebKitTestRunner/gtk/UIScriptControllerGtk.cpp:
(WTR::UIScriptControllerGtk::setWebViewEditable):
- WebKitTestRunner/gtk/UIScriptControllerGtk.h:
LayoutTests:
Add tests to verify the behavior of
-[WKWebView _setEditable:]
with
'-webkit-user-select: all', '-webkit-user-modify: none', and
'contenteditable=false'. Elements with '-webkit-user-select: all' should
not be editable.
- editing/editability/contenteditable-false-in-editable-view-expected.txt: Added.
- editing/editability/contenteditable-false-in-editable-view.html: Added.
- editing/editability/user-modify-read-only-in-editable-view-expected.txt: Added.
- editing/editability/user-modify-read-only-in-editable-view.html: Added.
- editing/editability/user-select-all-in-editable-view-expected.txt: Added.
- editing/editability/user-select-all-in-editable-view.html: Added.
- editing/input/ios/rtl-keyboard-input-on-focus-in-editable-page.html:
Replace the test option with the new UIHelper method.
- resources/ui-helper.js:
(window.UIHelper.setWebViewEditable):
- 5:00 PM Changeset in webkit [290097] by
-
- 9 edits in branches/safari-614.1.3-branch/Source
Versioning.
WebKit-7614.1.3.4
- 4:54 PM Changeset in webkit [290096] by
-
- 14 edits in trunk
Account for subgrid MBP when sizing
https://bugs.webkit.org/show_bug.cgi?id=236338
Patch by Matt Woodrow <Matt Woodrow> on 2022-02-17
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-grid/subgrid/abs-pos-002-expected.html:
- web-platform-tests/css/css-grid/subgrid/abs-pos-003-expected.html:
- web-platform-tests/css/css-grid/subgrid/line-names-008.html:
- web-platform-tests/css/css-grid/subgrid/parent-repeat-auto-fit-001.html:
- web-platform-tests/css/css-grid/subgrid/parent-repeat-auto-fit-002.html:
Source/WebCore:
Adds extra margin to subgrid items participating in the sizing of an outer
grid's tracks to account for the margin/border/padding of the intermediate
subgrid item itself.
Also contributes the subgrid's m/b/p to the edge tracks it cover, even
if no inner items occupy that track.
- rendering/GridLayoutFunctions.cpp:
(WebCore::GridLayoutFunctions::directionFromSide):
(WebCore::GridLayoutFunctions::hasRelativeOrIntrinsicSizeForChild):
(WebCore::GridLayoutFunctions::extraMarginForSubgridChild):
(WebCore::GridLayoutFunctions::gapDifferenceForSubgridChild):
(WebCore::GridLayoutFunctions::marginLogicalSizeForChild):
- rendering/GridTrackSizingAlgorithm.cpp:
(WebCore::setOverridingContainingBlockContentSizeForChild):
(WebCore::GridTrackSizingAlgorithmStrategy::logicalHeightForChild const):
(WebCore::GridTrackSizingAlgorithmStrategy::updateOverridingContainingBlockContentSizeForChild const):
(WebCore::DefiniteSizeStrategy::minLogicalSizeForChild const):
(WebCore::DefiniteSizeStrategy::minContentForChild const):
(WebCore::addSubgridMarginBorderPadding):
(WebCore::GridTrackSizingAlgorithm::accumulateIntrinsicSizesForTrack):
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::isSubgrid const):
(WebCore::RenderGrid::mayBeSubgridExcludingAbsPos const):
(WebCore::RenderGrid::gridSpanCoversRealTracks const):
(WebCore::RenderGrid::gridAreaBreadthForOutOfFlowChild):
(WebCore::RenderGrid::computeContentPositionAndDistributionOffset):
(WebCore::RenderGrid::gridSpanForChild const):
- rendering/RenderGrid.h:
- rendering/style/GridPositionsResolver.cpp:
(WebCore::adjustGridPositionsFromStyle):
LayoutTests:
Account for subgrid MBP when sizing
- 4:53 PM Changeset in webkit [290095] by
-
- 1 copy in tags/Safari-613.1.17.3.2
Tag Safari-613.1.17.3.2.
- 4:53 PM Changeset in webkit [290094] by
-
- 1 copy in tags/Safari-613.1.17.2.2
Tag Safari-613.1.17.2.2.
- 4:52 PM Changeset in webkit [290093] by
-
- 1 copy in tags/Safari-613.1.17.0.5
Tag Safari-613.1.17.0.5.
- 4:45 PM Changeset in webkit [290092] by
-
- 1 copy in tags/Safari-613.1.17.1.5
Tag Safari-613.1.17.1.5.
- 4:42 PM Changeset in webkit [290091] by
-
- 8 edits in trunk/Source/WebKit
[MacCatalyst] improve support for resizing
https://bugs.webkit.org/show_bug.cgi?id=236745
<rdar://problem/86494393>
Reviewed by Tim Horton.
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView setFrame:]):
(-[WKWebView setBounds:]):
(-[WKWebView _acquireResizeAssertionForReason:]): Added.
Acquire a UIKit assertion whenever theframe
/bounds
of theWKWebView
is changed that
isinvalidate
once the visible contect rect has been updated. UIKit can use this to know
both when WebKit is processingWKWebView
resize changes and get notified once it's done.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _doAfterNextVisibleContentRectUpdate:]): Added.
- UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
- UIProcess/API/Cocoa/WKWebViewTesting.mm:
(-[WKWebView _doAfterNextVisibleContentRectUpdate:]): Deleted.
Allow this to be used outside of testing code (just like-[WKWebView _doAfterNextPresentationUpdate:]
).
- Platform/spi/ios/UIKitSPI.h:
- 4:39 PM Changeset in webkit [290090] by
-
- 1 copy in tags/Safari-614.1.3.3
Tag Safari-614.1.3.3.
- 4:27 PM Changeset in webkit [290089] by
-
- 4 edits in trunk/Source/WebCore
PDF.js viewer should work for all kinds of URLs
https://bugs.webkit.org/show_bug.cgi?id=236525
rdar://problem/88832961
Reviewed by Tim Nguyen.
This patch starts loading the pdf as an array buffer after it's recieved
by calling the PDFJS viewer's open function through the content script's
wrapper. More work is needed to potentially present the data as a
PDFDataRangeTransport.
- Modules/pdfjs-extras/content-script.js:
(const.PDFJSContentScript.init):
(const.PDFJSContentScript.open):
- html/PDFDocument.cpp:
(WebCore::PDFDocumentEventListener::handleEvent):
(WebCore::PDFDocument::createDocumentStructure):
(WebCore::PDFDocument::updateDuringParsing):
(WebCore::PDFDocument::finishedParsing):
(WebCore::PDFDocument::sendPDFArrayBuffer):
(WebCore::PDFDocument::injectContentScript):
- html/PDFDocument.h:
(WebCore::PDFDocumentEventListener::handleEvent):
- 4:14 PM Changeset in webkit [290088] by
-
- 2 edits in trunk/Source/WebCore
Pass registrable domain to CoreLocation API
https://bugs.webkit.org/show_bug.cgi?id=236803
<rdar://88761413>
Reviewed by Darin Adler.
Pass registrable domain to CoreLocation API when the Geolocation API is used.
Note that the code is guarded on a CL_HAS_RADAR_88834301 define from CoreLocation
since the initWithWebsiteIdentifier is currently present in the SDK but not
functional.
- platform/cocoa/CoreLocationGeolocationProvider.mm:
(-[WebCLLocationManager initWithWebsiteIdentifier:client:]):
- 4:09 PM Changeset in webkit [290087] by
-
- 4 edits2 adds in trunk
Source/ThirdParty/ANGLE:
Metal ANGLE: vertex array does not correctly observe contents of data buffers
https://bugs.webkit.org/show_bug.cgi?id=236733
<rdar://problem/88713302>
<rdar://problem/88499073>
Patch by Kyle Piddington <Kyle Piddington> on 2022-02-17
Reviewed by Dean Jackson.
Similar to previous bug (236427), we were not correctly observing changes to the
vertex buffer data. This caused us to miss rebinding vertex buffers
when data was updated without causing conversion
- src/libANGLE/renderer/metal/VertexArrayMtl.h:
- src/libANGLE/renderer/metal/VertexArrayMtl.mm:
(rx::VertexArrayMtl::syncState):
(rx::VertexArrayMtl::setupDraw):
(rx::VertexArrayMtl::syncDirtyAttrib):
- 4:01 PM Changeset in webkit [290086] by
-
- 16 edits in trunk/Source/WebCore
Always use ChildChange::Source::Parser when creating input element UA shadow tree contents
https://bugs.webkit.org/show_bug.cgi?id=236740
Reviewed by Dean Jackson.
When creating an input element's UA shadow tree, we currently use a
ChildChange::Source value that depends on whether the input element
itself was parser- or script-inserted. But since UA shadow trees are
not exposed to content, and we don't have any dependency on the extra
work that inserting using ChildChange::Source::API does, we can use
ChildChange::Source::Parser unconditionally.
Local testing shows this scores a 0.1% Speedometer 2 improvement.
- html/BaseDateAndTimeInputType.cpp:
(WebCore::BaseDateAndTimeInputType::createShadowSubtreeAndUpdateInnerTextElementEditability):
- html/BaseDateAndTimeInputType.h:
- html/ColorInputType.cpp:
(WebCore::ColorInputType::createShadowSubtreeAndUpdateInnerTextElementEditability):
- html/ColorInputType.h:
- html/FileInputType.cpp:
(WebCore::FileInputType::appendFormData const):
(WebCore::FileInputType::createShadowSubtreeAndUpdateInnerTextElementEditability):
- html/FileInputType.h:
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::createShadowSubtreeAndUpdateInnerTextElementEditability):
- html/InputType.cpp:
(WebCore::InputType::createShadowSubtreeAndUpdateInnerTextElementEditability):
- html/InputType.h:
- html/RangeInputType.cpp:
(WebCore::RangeInputType::createShadowSubtreeAndUpdateInnerTextElementEditability):
- html/RangeInputType.h:
- html/SearchInputType.cpp:
(WebCore::SearchInputType::createShadowSubtreeAndUpdateInnerTextElementEditability):
- html/SearchInputType.h:
- html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::createShadowSubtreeAndUpdateInnerTextElementEditability):
- html/TextFieldInputType.h:
- 3:48 PM Changeset in webkit [290085] by
-
- 12 edits in trunk/Source/WebKit
Move setting RemoteLayerBackingStore surfaces volatile into the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=236791
Reviewed by Tim Horton.
Setting RemoteLayerBackingStore IOSurfaces volatile has to happen in the GPU process with
DOM rendering enabled. Add overrides in RemoteLayerWithRemoteRenderingBackingStoreCollection
to handle this, sending batches of buffer identifiers to RemoteRenderingBackend. Because
surface in-use counts can cause this to fail, we return a list of identifiers that we failed
to mark volatile. A future patch will use these to maintain web process-side buffer volatile
status.
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::markSurfacesVolatile):
- GPUProcess/graphics/RemoteRenderingBackend.h:
- GPUProcess/graphics/RemoteRenderingBackend.messages.in:
- Platform/Logging.h:
- Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
- Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.h:
(WebKit::RemoteLayerBackingStoreCollection::markBackingStoreVolatile):
- Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm:
(WebKit::RemoteLayerBackingStoreCollection::backingStoreBecameUnreachable):
(WebKit::RemoteLayerBackingStoreCollection::markBackingStoreVolatileAfterReachabilityChange):
(WebKit::RemoteLayerBackingStoreCollection::markAllBackingStoreVolatileFromTimer):
(WebKit::RemoteLayerBackingStoreCollection::volatilityTimerFired):
- Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStoreCollection.h:
- Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStoreCollection.mm:
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::collectBackingStoreBufferIdentifiersToMarkVolatile):
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::collectAllBufferIdentifiersToMarkVolatile):
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::markBackingStoreVolatileAfterReachabilityChange):
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::tryMarkAllBackingStoreVolatile):
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::markAllBackingStoreVolatileFromTimer):
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::sendMarkBuffersVolatile):
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::markSurfacesVolatile):
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
- 3:39 PM Changeset in webkit [290084] by
-
- 4 edits in trunk/Source/WebKit
[macOS] Non-unified build fixes
https://bugs.webkit.org/show_bug.cgi?id=236752
Reviewed by Darin Adler.
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::requestTextRecognition):
(WebKit::WebViewImpl::showSafeBrowsingWarning):
(WebKit::toWKRectEdge):
(WebKit::toRectEdges):
- UIProcess/mac/WKSharingServicePickerDelegate.h:
- 3:29 PM Changeset in webkit [290083] by
-
- 4 edits in branches/safari-614.1.4-branch/Source
Cherry-pick r290076. rdar://problem/89076606
[Cocoa] Make AVFoundationSPI.h robust against changes in system headers
https://bugs.webkit.org/show_bug.cgi?id=236787
Reviewed by Eric Carlson.
Source/WebCore/PAL:
Only re-declare classes and add categories for non-Apple Internal builds, or when those
definitions would be missing from system headers. The presence of the classes and their
methods are already checked at runtime, so this is a build-only change.
- pal/spi/cocoa/AVFoundationSPI.h:
Source/WTF:
- wtf/PlatformHave.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290076 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:25 PM Changeset in webkit [290082] by
-
- 2 edits in trunk/Source/WebKitLegacy/mac
Unnecessary copy/memory allocation
https://bugs.webkit.org/show_bug.cgi?id=236749
rdar://problem/89064893
Reviewed by Dean Jackson.
- WebView/WebHTMLView.mm:
(createShareMenuItem): Shared NSData constructed from a SharedBuffer instead
- 3:16 PM Changeset in webkit [290081] by
-
- 2 edits in trunk/Source/WTF
Unreviewed, reverting r289974.
https://bugs.webkit.org/show_bug.cgi?id=236804
Should not have been reverted on trunk
Reverted changeset:
"Unreviewed, reverting r286874."
https://bugs.webkit.org/show_bug.cgi?id=236734
https://commits.webkit.org/r289974
- 3:13 PM Changeset in webkit [290080] by
-
- 42 edits1 copy7 adds in trunk/LayoutTests/imported/w3c
Resync web-platform-tests/paint-timing from upstream
https://bugs.webkit.org/show_bug.cgi?id=236717
Reviewed by Simon Fraser.
Resync to af3b9946eb6f0955360282176848af4be7e58304
- web-platform-tests/paint-timing/fcp-only/buffered-flag.window.html: Added.
- web-platform-tests/paint-timing/fcp-only/buffered-flag.window.js: Added.
- web-platform-tests/paint-timing/fcp-only/fcp-background-size.html:
- web-platform-tests/paint-timing/fcp-only/fcp-bg-image-set.html:
- web-platform-tests/paint-timing/fcp-only/fcp-bg-image-two-steps-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-bg-image-two-steps.html:
- web-platform-tests/paint-timing/fcp-only/fcp-canvas-context-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-canvas-context.html:
- web-platform-tests/paint-timing/fcp-only/fcp-gradient-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-gradient.html:
- web-platform-tests/paint-timing/fcp-only/fcp-iframe-expected.txt: Added.
- web-platform-tests/paint-timing/fcp-only/fcp-iframe.html: Copied from LayoutTests/imported/w3c/web-platform-tests/paint-timing/fcp-only/fcp-ignore-from-subframe.html.
- web-platform-tests/paint-timing/fcp-only/fcp-ignore-from-subframe.html:
- web-platform-tests/paint-timing/fcp-only/fcp-invisible-3d-rotate-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-invisible-scale-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-invisible-scale-transition-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-invisible-scale.html:
- web-platform-tests/paint-timing/fcp-only/fcp-invisible-text-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-opacity-descendant-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-opacity-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-opacity.html:
- web-platform-tests/paint-timing/fcp-only/fcp-out-of-bounds-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-out-of-bounds-translate-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-out-of-bounds.html:
- web-platform-tests/paint-timing/fcp-only/fcp-pseudo-element-display-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-pseudo-element-image-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-pseudo-element-image.html:
- web-platform-tests/paint-timing/fcp-only/fcp-pseudo-element-opacity-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-pseudo-element-text-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-pseudo-element-visibility-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-svg-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-text-input-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-text-input.html:
- web-platform-tests/paint-timing/fcp-only/fcp-typographic-pseudo-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-video-frame-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-video-frame.html:
- web-platform-tests/paint-timing/fcp-only/fcp-video-poster-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-video-poster.html:
- web-platform-tests/paint-timing/fcp-only/fcp-whitespace-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-whitespace.html:
- web-platform-tests/paint-timing/fcp-only/fcp-with-rtl-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-with-rtl.html:
- web-platform-tests/paint-timing/fcp-only/svg-in-iframe-expected.txt: Added.
- web-platform-tests/paint-timing/fcp-only/svg-in-iframe.html: Added.
- web-platform-tests/paint-timing/resources/svg.html: Added.
- web-platform-tests/paint-timing/resources/utils.js:
(async assertFirstContentfulPaint.return.new.Promise):
(async assertFirstContentfulPaint):
(async test_fcp):
- 2:58 PM Changeset in webkit [290079] by
-
- 8 edits in trunk
[32bit] Increase fixedExecutableMemoryPoolSize on ARM to 32MB
https://bugs.webkit.org/show_bug.cgi?id=236606
Reviewed by Mark Lam.
Increased executable memory on ARM to 32MB and make it consistent with
other 32 bit platforms (MIPS and x86). This patch also enables some
tests that now pass because of the increased memory; each test was
executed 1000 times and there was no failure.
let-const-tdz-environment-parsing-and-hash-consing-speed.js was disabled
on MIPS because the jitted code is still a bit too bigger for the 32MB,
but it can probably be enable when the EXTRA_CTI_THUNKS patch lands.
- microbenchmarks/let-const-tdz-environment-parsing-and-hash-consing-speed.js:
- stress/arrowfunction-lexical-bind-superproperty.js:
- stress/proxy-revoke.js:
- stress/regress-169445.js:
- stress/tagged-template-object-collect.js:
- 2:54 PM Changeset in webkit [290078] by
-
- 4 edits in branches/safari-614.1.3-branch/Source
Cherry-pick r290076. rdar://problem/89076606
[Cocoa] Make AVFoundationSPI.h robust against changes in system headers
https://bugs.webkit.org/show_bug.cgi?id=236787
Reviewed by Eric Carlson.
Source/WebCore/PAL:
Only re-declare classes and add categories for non-Apple Internal builds, or when those
definitions would be missing from system headers. The presence of the classes and their
methods are already checked at runtime, so this is a build-only change.
- pal/spi/cocoa/AVFoundationSPI.h:
Source/WTF:
- wtf/PlatformHave.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290076 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:53 PM Changeset in webkit [290077] by
-
- 9 edits in trunk
Include sub grid items in the track sizing algorithm of the outer grid
https://bugs.webkit.org/show_bug.cgi?id=236337
Patch by Matt Woodrow <Matt Woodrow> on 2022-02-17
Reviewed by Dean Jackson.
Source/WebCore:
resolveIntrinsicTrackSizes and findUsedFlexFraction now recurse into subgridded items
to iterate the children sa if they were directly part of the outer grid.
New constructor added to GridIterator for constructing a new iterator for the subgrid items,
which adjusts the row/column indices into the local coordinate space of the subgrid.
Adds a new method to renderGrid 'placeItems' so that we can ensure subgrid items have finished placement
when doing sizing for the outer grid.
Existing test expectations updated.
- rendering/Grid.cpp:
(WebCore::GridIterator::createForSubgrid):
- rendering/Grid.h:
(WebCore::GridIterator::direction const):
- rendering/GridTrackSizingAlgorithm.cpp:
(WebCore::GridTrackSizingAlgorithm::estimatedGridAreaBreadthForChild const):
(WebCore::GridTrackSizingAlgorithm::gridAreaBreadthForChild const):
(WebCore::GridTrackSizingAlgorithm::isIntrinsicSizedGridArea const):
(WebCore::GridTrackSizingAlgorithmStrategy::minSizeForChild const):
(WebCore::GridTrackSizingAlgorithm::updateBaselineAlignmentContext):
(WebCore::GridTrackSizingAlgorithm::baselineOffsetForChild const):
(WebCore::IndefiniteSizeStrategy::accumulateFlexFraction const):
(WebCore::IndefiniteSizeStrategy::findUsedFlexFraction const):
(WebCore::GridTrackSizingAlgorithm::accumulateIntrinsicSizesForTrack):
(WebCore::GridTrackSizingAlgorithm::resolveIntrinsicTrackSizes):
- rendering/GridTrackSizingAlgorithm.h:
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::placeItems):
(WebCore::insertIntoGrid):
(WebCore::RenderGrid::placeItemsOnGrid const):
(WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid const):
(WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid const):
(WebCore::RenderGrid::layoutGridItems):
(WebCore::RenderGrid::isSubgridInParentDirection const):
- rendering/RenderGrid.h:
LayoutTests:
Existing test expectations updated.
- 2:41 PM Changeset in webkit [290076] by
-
- 4 edits in trunk/Source
[Cocoa] Make AVFoundationSPI.h robust against changes in system headers
https://bugs.webkit.org/show_bug.cgi?id=236787
Reviewed by Eric Carlson.
Source/WebCore/PAL:
Only re-declare classes and add categories for non-Apple Internal builds, or when those
definitions would be missing from system headers. The presence of the classes and their
methods are already checked at runtime, so this is a build-only change.
- pal/spi/cocoa/AVFoundationSPI.h:
Source/WTF:
- wtf/PlatformHave.h:
- 2:39 PM Changeset in webkit [290075] by
-
- 9 edits in branches/safari-614.1.3-branch/Source
Versioning.
WebKit-7614.1.3.3
- 2:20 PM Changeset in webkit [290074] by
-
- 6 edits in branches/safari-613.1.17.0-branch
Apply patch. rdar://problem/89009881
- 2:19 PM Changeset in webkit [290073] by
-
- 6 edits in branches/safari-613.1.17.1-branch
Apply patch. rdar://problem/89009881
- 1:52 PM Changeset in webkit [290072] by
-
- 6 edits in trunk/LayoutTests
Unreviewed gardening. Add fuzzy data.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-003.html:
- web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-reftest-001.html:
LayoutTests:
- fast/borders/border-radius-on-html.html:
- fast/images/exif-orientation-svg-feimage.html:
- 1:45 PM Changeset in webkit [290071] by
-
- 2 edits in trunk/Source/WTF
Enable CSS Motion Path by default
https://bugs.webkit.org/show_bug.cgi?id=236681
Unreviewed enable of WebKitLegacy.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- 1:38 PM Changeset in webkit [290070] by
-
- 7 edits2 adds in branches/safari-613.1.17.1-branch
Cherry-pick r289693. rdar://problem/88264857
Suppress style invalidation when matching :checked
https://bugs.webkit.org/show_bug.cgi?id=235910
Patch by Rob Buis <rbuis@igalia.com> on 2022-02-12
Reviewed by Antti Koivisto.
Source/WebCore:
Suppress style invalidation when matching :checked for option elements.
Test: fast/selectors/has-select-option-crash.html
- css/SelectorCheckerTestFunctions.h: (WebCore::isChecked):
- html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::selected const): (WebCore::HTMLOptionElement::setSelectedState):
- html/HTMLOptionElement.h:
- html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::updateListItemSelectedStates): (WebCore::HTMLSelectElement::recalcListItems const):
- html/HTMLSelectElement.h:
LayoutTests:
- fast/selectors/has-select-option-crash-expected.txt: Added.
- fast/selectors/has-select-option-crash.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289693 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:32 PM Changeset in webkit [290069] by
-
- 3 edits3 adds in trunk/Source/WebGPU
[WebGPU] Add a playground example target
https://bugs.webkit.org/show_bug.cgi?id=236742
Reviewed by Dean Jackson.
It's just a little playground where you can call WebGPU functions.
It's not built by any script or included in any other targets - it's
just for the WebGPU developers to play around with WebGPU functions.
- CommandLinePlayground/main.swift: Added.
- Configurations/CommandLinePlayground.xcconfig: Added.
- WebGPU.xcodeproj/project.pbxproj:
- WebGPU/WebGPU.modulemap:
- 1:31 PM Changeset in webkit [290068] by
-
- 2 edits in branches/safari-613.1.17.1-branch/Source/WebKit
Cherry-pick r290066. rdar://problem/89072361
[macOS][WP] Add required syscall to sandbox
https://bugs.webkit.org/show_bug.cgi?id=236781
<rdar://89072361>
Reviewed by Chris Dumez.
Add required syscall to the WebContent process' sandbox on macOS. This patch also adds back a set of
syscalls that were removed in https://commits.webkit.org/r286778 for current and previous versions
of macOS. These syscalls will be denied going forward.
- WebProcess/com.apple.WebProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290066 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:29 PM Changeset in webkit [290067] by
-
- 2 edits in trunk/Source/WTF
[Web Animations] Enable Composite Animations
https://bugs.webkit.org/show_bug.cgi?id=236682
Reviewed by Dean Jackson.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- 1:27 PM Changeset in webkit [290066] by
-
- 2 edits in trunk/Source/WebKit
[macOS][WP] Add required syscall to sandbox
https://bugs.webkit.org/show_bug.cgi?id=236781
<rdar://89072361>
Reviewed by Chris Dumez.
Add required syscall to the WebContent process' sandbox on macOS. This patch also adds back a set of
syscalls that were removed in https://commits.webkit.org/r286778 for current and previous versions
of macOS. These syscalls will be denied going forward.
- WebProcess/com.apple.WebProcess.sb.in:
- 1:19 PM Changeset in webkit [290065] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: [Flexbox] Enable Flexbox Inspector feature
https://bugs.webkit.org/show_bug.cgi?id=235820
<rdar://87886409>
Reviewed by Patrick Angle.
Remove the engineering setting and enable the feature by default.
- UserInterface/Base/Setting.js:
- UserInterface/Views/DOMTreeElement.js:
(WI.DOMTreeElement.prototype._updateLayoutBadge):
- UserInterface/Views/LayoutDetailsSidebarPanel.js:
(WI.LayoutDetailsSidebarPanel.prototype.initialLayout):
(WI.LayoutDetailsSidebarPanel.prototype.layout):
(WI.LayoutDetailsSidebarPanel.prototype._refreshNodeSets):
(WI.LayoutDetailsSidebarPanel):
- UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView.prototype._createEngineeringSettingsView):
- 1:13 PM Changeset in webkit [290064] by
-
- 4 edits in trunk/Source/WebCore
[GTK][WPE] Make proper ANGLE context configuration for some of the expected features
https://bugs.webkit.org/show_bug.cgi?id=236664
Patch by Alejandro G. Castro <alex@igalia.com> on 2022-02-17
Reviewed by Žan Doberšek.
Add some missing ANGLE GL context configuration options to respect
some of the expected requirements of the WebGL standard.
Fixing multiple layout tests for the ANGLE backend, we can not
modify them for the moment because this is not the default option
in the compilation.
- platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.cpp:
(Nicosia::GCGLANGLELayer::ANGLEContext::createContext): Add a new
parameter to detect WebGL2 context and modify context configuration.
(Nicosia::GCGLANGLELayer::GCGLANGLELayer): Ditto.
- platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.h: Ditto.
- platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::GraphicsContextGLANGLE): Enable
GL_OES_EGL_image required for the coordinated graphics texture rendering.
- 1:12 PM Changeset in webkit [290063] by
-
- 2 edits in trunk/LayoutTests
[iOS] css/css-color/t422-rgba-onscreen-b.xht and css/css-color/t425-hsla-onscreen-b.xht are consistently failing
https://bugs.webkit.org/show_bug.cgi?id=236802
Unreviewed test gardening.
- platform/ios/TestExpectations: Mark tests as failing.
- 1:01 PM Changeset in webkit [290062] by
-
- 3 edits in branches/safari-613.1.17.1-branch/Source/WebCore
Cherry-pick r290054. rdar://problem/89093315
[macOS] Light appearance text fields are invisible in Increased Contrast mode
https://bugs.webkit.org/show_bug.cgi?id=236753
rdar://89093315
Reviewed by Wenson Hsieh.
In Big Sur, the artwork for many form controls, including text fields, was
changed at the system level. When painting native text fields, WebKit has
long used the "borders only" option to support painting custom background
colors. System-level changes in Big Sur broke the behavior of light appearance
"borders only" text fields in Increased Contrast mode.
Until the artwork is updated at the system-level, work around the issue
in WebKit by painting our own borders for text fields under the necessary
conditions.
No new tests, as tests that change system preferences are often unreliable,
and we do not have existing hooks to toggle Increased Contrast mode.
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::shouldPaintCustomTextField const): (WebCore::RenderThemeMac::paintTextField):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290054 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:01 PM Changeset in webkit [290061] by
-
- 2 edits in branches/safari-613.1.17.1-branch/Source/ThirdParty/ANGLE
Cherry-pick r290011. rdar://problem/89024095
REGRESSION (iOS 15.4b3): Catastrophic (20x) performance regression in texImage2D from mp4 video
https://bugs.webkit.org/show_bug.cgi?id=236699
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-17
Reviewed by Darin Adler.
Disable the validation for IOSurface pixel formats.
We might pass non-public formats that do not have sensible IOSurfaceGetBytesPerElementOfPlane
to verify with this logic.
Will add test in bug 236759.
Previous bugs of the same:
EAGL:
Textures Fail to Render in WebGL from HLS Stream on iPhone 12 [iOS 14.2]
bug 218637, r273582, 234632@main
CGL:
REGRESSION(Safari 15, BigSur): Poor video texture upload performance with MacBook M1, ANGLE OpenGL backend
bug 232235, r286960, 245183@main
- src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.mm: (rx::IOSurfaceSurfaceMtl::ValidateAttributes):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290011 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:01 PM Changeset in webkit [290060] by
-
- 18 edits in branches/safari-613.1.17.1-branch/Source
Cherry-pick r290005. rdar://problem/87596724
CrashTracer: com.apple.WebKit.WebContent at JavaScriptCore: bmalloc_allocate_impl_impl_slow
https://bugs.webkit.org/show_bug.cgi?id=236695
rdar://87596724
Reviewed by Jer Noble.
Source/WebCore:
When a new FragmentedSharedBuffer is received from the network process, it is proactively coalesced
into a SharedBuffer during each call to CachedResource::updateBuffer(). This causes a large number
of re-allocations and copies; essentially re-allocating each time the resource's buffer receives
one more chunk of data.
Instead we only flatten the data buffer once all data have been received.
Running speedtest.net with a gigabit link, we see a reduction of peak
memory use in the content process by about 40% (from 740MB to under 440MB of
physical memory, 1.7GB of memory allocation vs 535MB)
Covered by existing tests.
- editing/ios/EditorIOS.mm: (WebCore::Editor::writeImageToPasteboard):
- editing/mac/EditorMac.mm: (WebCore::Editor::writeImageToPasteboard):
- loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::didFinishLoading):
- loader/cache/CachedApplicationManifest.cpp: (WebCore::CachedApplicationManifest::finishLoading):
- loader/cache/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::finishLoading):
- loader/cache/CachedFont.cpp: (WebCore::CachedFont::ensureCustomFontData):
- loader/cache/CachedImage.cpp: (WebCore::CachedImage::updateImageData):
- loader/cache/CachedRawResource.cpp: (WebCore::CachedRawResource::calculateIncrementalDataChunk const): (WebCore::CachedRawResource::updateBuffer): (WebCore::CachedRawResource::finishLoading):
- loader/cache/CachedRawResource.h:
- loader/cache/CachedResource.h: (WebCore::CachedResource::resourceBuffer const):
- loader/cache/CachedScript.cpp: (WebCore::CachedScript::script):
- loader/cache/CachedXSLStyleSheet.cpp: (WebCore::CachedXSLStyleSheet::finishLoading):
Source/WebKit:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::finishedLoading): Fly-by fix, the IPC::DataReference would reference a SharedBuffer going out of scope before it was sent over IPC.
Source/WebKitLegacy/mac:
- WebView/WebHTMLView.mm: (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290005 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:01 PM Changeset in webkit [290059] by
-
- 3 edits2 adds in branches/safari-613.1.17.1-branch
Cherry-pick r289995. rdar://problem/87462825
REGRESSION(r285885) Unable to exit Trip Details in Amtrak app
https://bugs.webkit.org/show_bug.cgi?id=236732
<rdar://87462825>
Reviewed by Simon Fraser.
Source/WebCore:
Starting from r285885 an (effective)”overflow: clip” value is set on any block box with “contain: paint”.
It is supposed to ensure we don’t paint outside of the box’s border box (note that "contain: paint", as the name implies, should only affect painting).
However this effective value trickles in to layout affecting certain layout constraints.
In case of flex, it makes the flex layout think that the box is really a clipped box and it starts flexing it accordingly producing incorrect size.
What it means is that the minimum preferred size ends up being 0px because now with "let's clip all the overflow content"
0px is indeed the smallest size a box could take that does not produce overflow (while with the initial, “overflow: visible” value,
its minimum width would likely be > 0px -provided it has some content. Also note that setting “overflow: clip” on the box in the markup
(so it becomes an explicit clip value and not just an “effective” implicit clip through “contain: paint”) produces
the exact same rendering meaning that this effective property value does affect layout).
This is a partial revert of r285885 (focusing on where the flex algorithm consults with the flex items' overflow values).
Test: fast/flexbox/incorrect-min-size-with-paint-contain.html
- rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::mainAxisOverflowForChild const): (WebCore::RenderFlexibleBox::crossAxisOverflowForChild const):
LayoutTests:
- fast/flexbox/incorrect-min-size-with-paint-contain-expected.html: Added.
- fast/flexbox/incorrect-min-size-with-paint-contain.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289995 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:01 PM Changeset in webkit [290058] by
-
- 2 edits in branches/safari-613.1.17.1-branch/Source/WTF
Cherry-pick r289974. rdar://problem/89008799
Unreviewed, reverting r286874.
https://bugs.webkit.org/show_bug.cgi?id=236734
Broke Apple Music pages which use the resolution media query
Reverted changeset:
"Enable the 'resolution' media query by default"
https://bugs.webkit.org/show_bug.cgi?id=78087
https://commits.webkit.org/r286874
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289974 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:00 PM Changeset in webkit [290057] by
-
- 4 edits in branches/safari-613.1.17.1-branch/Source/WebCore
Cherry-pick r289942. rdar://problem/88827167
[Cocoa] Update audio session category before setting NowPlaying status
https://bugs.webkit.org/show_bug.cgi?id=236620
rdar://88827167
Reviewed by Jer Noble.
NowPlaying doesn't update correctly when the audio category changes from Ambient
to Playback after becoming active, so always set the category first.
Tested manually.
- platform/audio/PlatformMediaSession.cpp:
(WebCore::PlatformMediaSession::clientWillBeginPlayback): Set "preparingToPlay"
before calling
sessionWillBeginPlayback
soupdateSessionState
can tell that playback is about to begin. - platform/audio/PlatformMediaSession.h:
- platform/audio/cocoa/MediaSessionManagerCocoa.mm: (WebCore::MediaSessionManagerCocoa::updateSessionState): Consider a session to potentially have audio if it is preparing to play.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289942 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:53 PM Changeset in webkit [290056] by
-
- 7 edits2 adds in branches/safari-613.1.17.2-branch
Cherry-pick r289693. rdar://problem/88264857
Suppress style invalidation when matching :checked
https://bugs.webkit.org/show_bug.cgi?id=235910
Patch by Rob Buis <rbuis@igalia.com> on 2022-02-12
Reviewed by Antti Koivisto.
Source/WebCore:
Suppress style invalidation when matching :checked for option elements.
Test: fast/selectors/has-select-option-crash.html
- css/SelectorCheckerTestFunctions.h: (WebCore::isChecked):
- html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::selected const): (WebCore::HTMLOptionElement::setSelectedState):
- html/HTMLOptionElement.h:
- html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::updateListItemSelectedStates): (WebCore::HTMLSelectElement::recalcListItems const):
- html/HTMLSelectElement.h:
LayoutTests:
- fast/selectors/has-select-option-crash-expected.txt: Added.
- fast/selectors/has-select-option-crash.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289693 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:47 PM Changeset in webkit [290055] by
-
- 9 edits in branches/safari-613.1.17.2-branch/Source
Versioning.
WebKit-7613.1.17.2.2
- 12:41 PM Changeset in webkit [290054] by
-
- 3 edits in trunk/Source/WebCore
[macOS] Light appearance text fields are invisible in Increased Contrast mode
https://bugs.webkit.org/show_bug.cgi?id=236753
rdar://89093315
Reviewed by Wenson Hsieh.
In Big Sur, the artwork for many form controls, including text fields, was
changed at the system level. When painting native text fields, WebKit has
long used the "borders only" option to support painting custom background
colors. System-level changes in Big Sur broke the behavior of light appearance
"borders only" text fields in Increased Contrast mode.
Until the artwork is updated at the system-level, work around the issue
in WebKit by painting our own borders for text fields under the necessary
conditions.
No new tests, as tests that change system preferences are often unreliable,
and we do not have existing hooks to toggle Increased Contrast mode.
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::shouldPaintCustomTextField const):
(WebCore::RenderThemeMac::paintTextField):
- 12:33 PM Changeset in webkit [290053] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed, reverting r290052.
https://bugs.webkit.org/show_bug.cgi?id=236799
Broke the Mac Catalina build
Reverted changeset:
"[macOS] Light appearance text fields are invisible in
Increased Contrast mode"
https://bugs.webkit.org/show_bug.cgi?id=236753
https://commits.webkit.org/r290052
- 12:27 PM Changeset in webkit [290052] by
-
- 3 edits in trunk/Source/WebCore
[macOS] Light appearance text fields are invisible in Increased Contrast mode
https://bugs.webkit.org/show_bug.cgi?id=236753
rdar://89093315
Reviewed by Wenson Hsieh.
In Big Sur, the artwork for many form controls, including text fields, was
changed at the system level. When painting native text fields, WebKit has
long used the "borders only" option to support painting custom background
colors. System-level changes in Big Sur broke the behavior of light appearance
"borders only" text fields in Increased Contrast mode.
Until the artwork is updated at the system-level, work around the issue
in WebKit by painting our own borders for text fields under the necessary
conditions.
No new tests, as tests that change system preferences are often unreliable,
and we do not have existing hooks to toggle Increased Contrast mode.
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::shouldPaintCustomTextField const):
(WebCore::RenderThemeMac::paintTextField):
- 12:27 PM Changeset in webkit [290051] by
-
- 2 edits in trunk/Source/WTF
Enable CSS Motion Path by default
https://bugs.webkit.org/show_bug.cgi?id=236681
Reviewed by Dean Jackson.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- 12:21 PM Changeset in webkit [290050] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed, reverting r290046.
https://bugs.webkit.org/show_bug.cgi?id=236797
Broke the macOS build
Reverted changeset:
"[macOS] Light appearance text fields are invisible in
Increased Contrast mode"
https://bugs.webkit.org/show_bug.cgi?id=236753
https://commits.webkit.org/r290046
- 12:19 PM Changeset in webkit [290049] by
-
- 7 edits2 adds in branches/safari-613.1.17.3-branch
Cherry-pick r289693. rdar://problem/88264857
Suppress style invalidation when matching :checked
https://bugs.webkit.org/show_bug.cgi?id=235910
Patch by Rob Buis <rbuis@igalia.com> on 2022-02-12
Reviewed by Antti Koivisto.
Source/WebCore:
Suppress style invalidation when matching :checked for option elements.
Test: fast/selectors/has-select-option-crash.html
- css/SelectorCheckerTestFunctions.h: (WebCore::isChecked):
- html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::selected const): (WebCore::HTMLOptionElement::setSelectedState):
- html/HTMLOptionElement.h:
- html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::updateListItemSelectedStates): (WebCore::HTMLSelectElement::recalcListItems const):
- html/HTMLSelectElement.h:
LayoutTests:
- fast/selectors/has-select-option-crash-expected.txt: Added.
- fast/selectors/has-select-option-crash.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289693 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:16 PM Changeset in webkit [290048] by
-
- 9 edits in branches/safari-613.1.17.3-branch/Source
Versioning.
WebKit-7613.1.17.3.2
- 12:05 PM Changeset in webkit [290047] by
-
- 3 edits in trunk/Source/WebCore
Web Inspector: [Flexbox] Gaps and free space do not have pattern fills when navigating to a page with Web Inspector already open
https://bugs.webkit.org/show_bug.cgi?id=236741
Reviewed by Devin Rousso.
Because calls to
getDocument
actually resets theInspectorDOMAgent
, we don't want to clear cached layout
information insidereset
. The cached layout information is in a WeakHashMap, we aren't going to end up keeping
stale references around anyways, and the under most circumstances the map will clean itself up as it is used.
We should, however go ahead and clear the cached layout information when we are forcing a re-layout to collect
the information again for a new document.
Additionally, if a new document is set, we want to trigger a layout just like we did for a fresh
InspectorDOMAgent
.
- inspector/agents/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMAgent::reset):
(WebCore::InspectorDOMAgent::setDocument):
(WebCore::InspectorDOMAgent::relayoutDocument):
- inspector/agents/InspectorDOMAgent.h:
- 12:04 PM Changeset in webkit [290046] by
-
- 3 edits in trunk/Source/WebCore
[macOS] Light appearance text fields are invisible in Increased Contrast mode
https://bugs.webkit.org/show_bug.cgi?id=236753
rdar://89093315
Reviewed by Wenson Hsieh.
In Big Sur, the artwork for many form controls, including text fields, was
changed at the system level. When painting native text fields, WebKit has
long used the "borders only" option to support painting custom background
colors. System-level changes in Big Sur broke the behavior of light appearance
"borders only" text fields in Increased Contrast mode.
Until the artwork is updated at the system-level, work around the issue
in WebKit by painting our own borders for text fields under the necessary
conditions.
No new tests, as tests that change system preferences are often unreliable,
and we do not have existing hooks to toggle Increased Contrast mode.
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::shouldPaintCustomTextField const):
(WebCore::RenderThemeMac::paintTextField):
- 12:02 PM Changeset in webkit [290045] by
-
- 5 edits in trunk/Source/WebCore
[GTK] REGRESSION: Cumulative velocity for scrolling doesn't work
https://bugs.webkit.org/show_bug.cgi?id=235507
Reviewed by Chris Lord.
ScrollAnimationKinetic can accumulate velocity from the previous scroll
animation. This relies on reusing the same animation every time, so it can
pick up the previous scroll data.
However, ScrollingEffectsController now creates and destroys ScrollAnimationKinetic
every time now, we can't rely on that.
Instead, save and propagate the data manually, same as the macOS port.
- platform/ScrollAnimationKinetic.cpp:
(WebCore::ScrollAnimationKinetic::startAnimatedScrollWithInitialVelocity):
(WebCore::ScrollAnimationKinetic::accumulateVelocityFromPreviousGesture):
- platform/ScrollAnimationKinetic.h:
- platform/ScrollingEffectsController.cpp:
(WebCore::ScrollingEffectsController::processWheelEventForKineticScrolling):
- platform/ScrollingEffectsController.h:
- 11:59 AM Changeset in webkit [290044] by
-
- 7 edits2 adds in branches/safari-613.1.17.0-branch
Cherry-pick r289693. rdar://problem/88264857
Suppress style invalidation when matching :checked
https://bugs.webkit.org/show_bug.cgi?id=235910
Patch by Rob Buis <rbuis@igalia.com> on 2022-02-12
Reviewed by Antti Koivisto.
Source/WebCore:
Suppress style invalidation when matching :checked for option elements.
Test: fast/selectors/has-select-option-crash.html
- css/SelectorCheckerTestFunctions.h: (WebCore::isChecked):
- html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::selected const): (WebCore::HTMLOptionElement::setSelectedState):
- html/HTMLOptionElement.h:
- html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::updateListItemSelectedStates): (WebCore::HTMLSelectElement::recalcListItems const):
- html/HTMLSelectElement.h:
LayoutTests:
- fast/selectors/has-select-option-crash-expected.txt: Added.
- fast/selectors/has-select-option-crash.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289693 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:51 AM Changeset in webkit [290043] by
-
- 2 edits in branches/safari-613.1.17.0-branch/Source/ThirdParty/ANGLE
Cherry-pick r290011. rdar://problem/89024095
REGRESSION (iOS 15.4b3): Catastrophic (20x) performance regression in texImage2D from mp4 video
https://bugs.webkit.org/show_bug.cgi?id=236699
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-17
Reviewed by Darin Adler.
Disable the validation for IOSurface pixel formats.
We might pass non-public formats that do not have sensible IOSurfaceGetBytesPerElementOfPlane
to verify with this logic.
Will add test in bug 236759.
Previous bugs of the same:
EAGL:
Textures Fail to Render in WebGL from HLS Stream on iPhone 12 [iOS 14.2]
bug 218637, r273582, 234632@main
CGL:
REGRESSION(Safari 15, BigSur): Poor video texture upload performance with MacBook M1, ANGLE OpenGL backend
bug 232235, r286960, 245183@main
- src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.mm: (rx::IOSurfaceSurfaceMtl::ValidateAttributes):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290011 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:51 AM Changeset in webkit [290042] by
-
- 18 edits in branches/safari-613.1.17.0-branch/Source
Cherry-pick r290005. rdar://problem/87596724
CrashTracer: com.apple.WebKit.WebContent at JavaScriptCore: bmalloc_allocate_impl_impl_slow
https://bugs.webkit.org/show_bug.cgi?id=236695
rdar://87596724
Reviewed by Jer Noble.
Source/WebCore:
When a new FragmentedSharedBuffer is received from the network process, it is proactively coalesced
into a SharedBuffer during each call to CachedResource::updateBuffer(). This causes a large number
of re-allocations and copies; essentially re-allocating each time the resource's buffer receives
one more chunk of data.
Instead we only flatten the data buffer once all data have been received.
Running speedtest.net with a gigabit link, we see a reduction of peak
memory use in the content process by about 40% (from 740MB to under 440MB of
physical memory, 1.7GB of memory allocation vs 535MB)
Covered by existing tests.
- editing/ios/EditorIOS.mm: (WebCore::Editor::writeImageToPasteboard):
- editing/mac/EditorMac.mm: (WebCore::Editor::writeImageToPasteboard):
- loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::didFinishLoading):
- loader/cache/CachedApplicationManifest.cpp: (WebCore::CachedApplicationManifest::finishLoading):
- loader/cache/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::finishLoading):
- loader/cache/CachedFont.cpp: (WebCore::CachedFont::ensureCustomFontData):
- loader/cache/CachedImage.cpp: (WebCore::CachedImage::updateImageData):
- loader/cache/CachedRawResource.cpp: (WebCore::CachedRawResource::calculateIncrementalDataChunk const): (WebCore::CachedRawResource::updateBuffer): (WebCore::CachedRawResource::finishLoading):
- loader/cache/CachedRawResource.h:
- loader/cache/CachedResource.h: (WebCore::CachedResource::resourceBuffer const):
- loader/cache/CachedScript.cpp: (WebCore::CachedScript::script):
- loader/cache/CachedXSLStyleSheet.cpp: (WebCore::CachedXSLStyleSheet::finishLoading):
Source/WebKit:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::finishedLoading): Fly-by fix, the IPC::DataReference would reference a SharedBuffer going out of scope before it was sent over IPC.
Source/WebKitLegacy/mac:
- WebView/WebHTMLView.mm: (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290005 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:51 AM Changeset in webkit [290041] by
-
- 3 edits2 adds in branches/safari-613.1.17.0-branch
Cherry-pick r289995. rdar://problem/87462825
REGRESSION(r285885) Unable to exit Trip Details in Amtrak app
https://bugs.webkit.org/show_bug.cgi?id=236732
<rdar://87462825>
Reviewed by Simon Fraser.
Source/WebCore:
Starting from r285885 an (effective)”overflow: clip” value is set on any block box with “contain: paint”.
It is supposed to ensure we don’t paint outside of the box’s border box (note that "contain: paint", as the name implies, should only affect painting).
However this effective value trickles in to layout affecting certain layout constraints.
In case of flex, it makes the flex layout think that the box is really a clipped box and it starts flexing it accordingly producing incorrect size.
What it means is that the minimum preferred size ends up being 0px because now with "let's clip all the overflow content"
0px is indeed the smallest size a box could take that does not produce overflow (while with the initial, “overflow: visible” value,
its minimum width would likely be > 0px -provided it has some content. Also note that setting “overflow: clip” on the box in the markup
(so it becomes an explicit clip value and not just an “effective” implicit clip through “contain: paint”) produces
the exact same rendering meaning that this effective property value does affect layout).
This is a partial revert of r285885 (focusing on where the flex algorithm consults with the flex items' overflow values).
Test: fast/flexbox/incorrect-min-size-with-paint-contain.html
- rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::mainAxisOverflowForChild const): (WebCore::RenderFlexibleBox::crossAxisOverflowForChild const):
LayoutTests:
- fast/flexbox/incorrect-min-size-with-paint-contain-expected.html: Added.
- fast/flexbox/incorrect-min-size-with-paint-contain.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289995 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:51 AM Changeset in webkit [290040] by
-
- 2 edits in branches/safari-613.1.17.0-branch/Source/WTF
Cherry-pick r289974. rdar://problem/89008799
Unreviewed, reverting r286874.
https://bugs.webkit.org/show_bug.cgi?id=236734
Broke Apple Music pages which use the resolution media query
Reverted changeset:
"Enable the 'resolution' media query by default"
https://bugs.webkit.org/show_bug.cgi?id=78087
https://commits.webkit.org/r286874
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289974 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:51 AM Changeset in webkit [290039] by
-
- 4 edits in branches/safari-613.1.17.0-branch/Source/WebCore
Cherry-pick r289942. rdar://problem/88827167
[Cocoa] Update audio session category before setting NowPlaying status
https://bugs.webkit.org/show_bug.cgi?id=236620
rdar://88827167
Reviewed by Jer Noble.
NowPlaying doesn't update correctly when the audio category changes from Ambient
to Playback after becoming active, so always set the category first.
Tested manually.
- platform/audio/PlatformMediaSession.cpp:
(WebCore::PlatformMediaSession::clientWillBeginPlayback): Set "preparingToPlay"
before calling
sessionWillBeginPlayback
soupdateSessionState
can tell that playback is about to begin. - platform/audio/PlatformMediaSession.h:
- platform/audio/cocoa/MediaSessionManagerCocoa.mm: (WebCore::MediaSessionManagerCocoa::updateSessionState): Consider a session to potentially have audio if it is preparing to play.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289942 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:38 AM Changeset in webkit [290038] by
-
- 2 edits in trunk/LayoutTests
[css-grid] Incorrectly stretched SVGs without an aspect-ratio.
https://bugs.webkit.org/show_bug.cgi?id=216145
Unreviewed test gardening.
Patch by Matteo Flores <Matteo Flores> on 2022-02-17
- TestExpectations: Adding failure expectation for tests that were missed.
- 11:38 AM Changeset in webkit [290037] by
-
- 8 edits in trunk
[CSS Container Queries] Support full range notation in size queries
https://bugs.webkit.org/show_bug.cgi?id=236771
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/at-container-parsing-expected.txt:
Source/WebCore:
Parse and evaluate notations like (100px < width) and (100px < width < 200px).
- css/ContainerQuery.h:
There are now optional left and right comparisons.
- css/ContainerQueryParser.cpp:
(WebCore::ContainerQueryParser::consumeSizeQuery):
(WebCore::ContainerQueryParser::consumeSizeFeature):
(WebCore::ContainerQueryParser::consumePlainSizeFeature):
Evaluate the plain (foo: value) notation.
(WebCore::ContainerQueryParser::consumeRangeSizeFeature):
Evaluate range notation.
(WebCore::ContainerQueryParser::consumeValue):
- css/ContainerQueryParser.h:
- style/ContainerQueryEvaluator.cpp:
(WebCore::Style::ContainerQueryEvaluator::evaluateSizeFeature const):
Evaluate both comparisons if they exist.
- style/ContainerQueryEvaluator.h:
(WebCore::Style::toEvaluationResult):
(WebCore::Style::operator|):
- 11:05 AM Changeset in webkit [290036] by
-
- 9 edits in branches/safari-613.1.17.1-branch/Source
Versioning.
WebKit-7613.1.17.1.5
- 11:05 AM Changeset in webkit [290035] by
-
- 9 edits in branches/safari-613.1.17.0-branch/Source
Versioning.
WebKit-7613.1.17.0.5
- 10:23 AM Changeset in webkit [290034] by
-
- 2 edits in trunk/Source/WebKit
ASSERTION FAILED: Thread::current().uid() == threadAssertion.m_uid for RemoteVideoFrameObjectHeap
https://bugs.webkit.org/show_bug.cgi?id=236786
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-17
Reviewed by Antti Koivisto.
The object is ok to destroy from any thread.
Reset the thread assertion.
- GPUProcess/media/RemoteVideoFrameObjectHeap.cpp:
(WebKit::RemoteVideoFrameObjectHeap::~RemoteVideoFrameObjectHeap):
- 10:19 AM Changeset in webkit [290033] by
-
- 8 edits in trunk
Ensure NetworkStorageManager::moveData performs move operation based on data types
https://bugs.webkit.org/show_bug.cgi?id=236727
rdar://89009881
Reviewed by Chris Dumez.
Source/WebKit:
In r286936, we introduced NetworkStorageManager::moveData to move data from one origin to another. However, the
function does not take dataTypes parameter as NetworkProcess::renameOriginInWebsiteData does, and
NetworkStorageManager would try to move every storage type it manages. This has caused an unexpected failure, as
FileSystem storage needs special handling before data can be moved. To address the regression, let's revert
the behavior change by making sure NetworkStorageManager checks the types value, and only performs move
operation for IndexedDB and LocalStorage data.
Updated existing API test to ensure only expected data types are moved.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::renameOriginInWebsiteData):
- NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::NetworkStorageManager::moveData):
- NetworkProcess/storage/NetworkStorageManager.h:
- NetworkProcess/storage/OriginStorageManager.cpp:
(WebKit::OriginStorageManager::StorageBucket::moveData):
(WebKit::OriginStorageManager::StorageBucket::resolvedLocalStoragePath):
(WebKit::OriginStorageManager::StorageBucket::deleteIDBStorageData):
(WebKit::OriginStorageManager::resolvedLocalStoragePath):
(WebKit::OriginStorageManager::resolvedIDBStoragePath):
(WebKit::OriginStorageManager::moveData):
- NetworkProcess/storage/OriginStorageManager.h:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
- 9:57 AM Changeset in webkit [290032] by
-
- 3 edits2 adds in trunk
Fix abs-pos breadth issue when using 'auto'
https://bugs.webkit.org/show_bug.cgi?id=236626
Patch by Matt Woodrow <Matt Woodrow> on 2022-02-17
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
Adds new test that uses RTL and abs-pos items over the padding area, with
padding defined in physical coords.
- web-platform-tests/css/css-grid/abspos/positioned-grid-items-025-expected.html: Added.
- web-platform-tests/css/css-grid/abspos/positioned-grid-items-025.html: Added.
Source/WebCore:
The value returned when resolving an 'auto' start/end is in logical coords, but the line
positions are in a hybrid space using logical column sizes, but physical border/padding offset.
This adjusts for this, so that we can compute the breadth correctly.
Adds new test that uses RTL and abs-pos items over the padding area, with
padding defined in physical coords.
Test: imported/w3c/web-platform-tests/css/css-grid/abspos/positioned-grid-items-025.html
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::gridAreaBreadthForOutOfFlowChild):
- 9:56 AM Changeset in webkit [290031] by
-
- 35 edits2 adds2 deletes in trunk/Source
MediaPlayer::videoFrameForCurrentTime() should return VideoFrame
https://bugs.webkit.org/show_bug.cgi?id=236701
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-17
Reviewed by Eric Carlson.
Source/WebCore:
Rename CV specific parts of MediaSampleVideoFrame to VideoFrameCV.
Use VideoFrame base class instead of MediaSampleVideoFrame.
VideoFrame supports multiple polymorphic subclasses. One such
is RemoteVideoFrameProxy, which will be used in the future to
return remote proxy objects in these locations.
This patch is only a rename. It concerns only the in-process
usage of video frames via in-process VideoFrameCV.
No new tests, refactor.
- Headers.cmake:
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/MediaSample.h:
(WebCore::MediaSample::videoPixelFormat const):
- platform/VideoFrame.cpp:
(WebCore::VideoFrame::VideoFrame):
(WebCore::VideoFrame::presentationTime const):
(WebCore::VideoFrame::videoRotation const):
(WebCore::VideoFrame::videoMirrored const):
(WebCore::VideoFrame::platformSample const):
- platform/VideoFrame.h:
(WebCore::VideoFrame::isRemoteProxy const):
This leaks "remote" concept to WebCore level. Hopefully
in the future this can be solved in another way.
(WebCore::VideoFrame::isCV const):
(isType):
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::videoFrameForCurrentTime):
- platform/graphics/MediaPlayer.h:
- platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::videoFrameForCurrentTime):
- platform/graphics/MediaSampleVideoFrame.h: Removed.
- platform/graphics/avfoundation/MediaSampleVideoFrameAVF.mm: Removed.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::videoFrameForCurrentTime):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::videoFrameForCurrentTime):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::videoFrameForCurrentTime):
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:
(WebCore::MediaSampleAVFObjC::videoFrame const):
- platform/graphics/cocoa/GraphicsContextGLCocoa.mm:
(WebCore::GraphicsContextGLCocoa::copyTextureFromMedia):
- platform/graphics/cv/GraphicsContextGLCV.h:
- platform/graphics/cv/GraphicsContextGLCVCocoa.cpp:
(WebCore::GraphicsContextGLCVCocoa::copyVideoSampleToTexture):
- platform/graphics/cv/GraphicsContextGLCVCocoa.h:
- platform/graphics/cv/VideoFrameCV.h: Added.
(WebCore::VideoFrameCV::pixelBuffer const):
(WebCore::VideoFrameCV::encode const):
(WebCore::VideoFrameCV::decode):
(isType):
- platform/graphics/cv/VideoFrameCV.mm: Added.
(WebCore::VideoFrameCV::create):
(WebCore::VideoFrameCV::VideoFrameCV):
(WebCore::VideoFrameCV::presentationSize const):
(WebCore::VideoFrameCV::videoPixelFormat const):
(WebCore::VideoFrameCV::orientation const):
Source/WebKit:
Use added VideoFrameCV instead of removed MediaSampleVideoFrame.
- GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::RemoteGraphicsContextGL::copyTextureFromMedia):
- GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::invalidate):
(WebKit::RemoteMediaPlayerProxy::videoFrameForCurrentTimeIfChanged):
- GPUProcess/media/RemoteMediaPlayerProxy.h:
- GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
- Platform/IPC/ArgumentCoders.h:
(IPC::ArgumentCoder<RefPtr<T>>::encode):
(IPC::ArgumentCoder<RefPtr<T>>::decode):
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::videoFrameForCurrentTime):
- WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
- WebProcess/GPU/media/RemoteVideoFrameProxy.cpp:
(WebKit::RemoteVideoFrameProxy::RemoteVideoFrameProxy):
- WebProcess/GPU/media/RemoteVideoFrameProxy.h:
(isType):
- 9:45 AM Changeset in webkit [290030] by
-
- 16 edits1 copy in trunk/Source/WebKit
Add support for setting RemoteLayerBackingStore buffers non-volatile in the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=236731
Reviewed by Tim Horton.
Calls to setVolatile() and isInUse() on IOSurface need to happen in the GPU Process,
so when RemoteLayerBackingStore swaps buffers in display(), and makes the front buffer
non-volatile, those things need to go via RemoteRenderingBackend.
So plumb markSurfaceNonVolatile() and swapToValidFrontBuffer() through RemoteLayerBackingStoreCollection
and RemoteRenderingBackend, both as sync messages.
In both cases, if the surface was purged (i.e. setNonVolatile returned Empty) we need
to trigger a setNeedsDisplay(), wired through RemoteLayerBackingStore::didMakeFrontBufferNonVolatile()
so there's only one call site.
We also need to always send the ImageBufferBackendHandle back from the GPU Process for
the front buffer, since a future patch will clear these out in the web process when
making buffers volatile.
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::handleFromBuffer):
(WebKit::RemoteRenderingBackend::markSurfaceNonVolatile):
(WebKit::RemoteRenderingBackend::swapToValidFrontBuffer):
- GPUProcess/graphics/RemoteRenderingBackend.h:
- GPUProcess/graphics/RemoteRenderingBackend.messages.in:
- Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):
(WebKit::RemoteLayerBackingStore::applySwappedBuffers):
(WebKit::RemoteLayerBackingStore::swapBuffers):
(WebKit::RemoteLayerBackingStore::supportsPartialRepaint const):
(WebKit::RemoteLayerBackingStore::display):
(WebKit::RemoteLayerBackingStore::setBufferVolatile):
(WebKit::RemoteLayerBackingStore::setBufferNonVolatile):
(WebKit::RemoteLayerBackingStore::willMakeBufferVolatile):
(WebKit::RemoteLayerBackingStore::didMakeFrontBufferNonVolatile):
(WebKit::RemoteLayerBackingStore::setBufferVolatility):
(WebKit::RemoteLayerBackingStore::bufferForType const):
(WebKit::RemoteLayerBackingStore::supportsPartialRepaint): Deleted.
- Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.h:
- Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm:
(WebKit::RemoteLayerBackingStoreCollection::makeFrontBufferNonVolatile):
(WebKit::RemoteLayerBackingStoreCollection::swapToValidFrontBuffer):
- Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStoreCollection.h:
- Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStoreCollection.mm:
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::makeFrontBufferNonVolatile):
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::swapToValidFrontBuffer):
- WebProcess/GPU/graphics/ImageBufferBackendHandleSharing.h:
(WebKit::ImageBufferBackendHandleSharing::setBackendHandle):
(WebKit::ImageBufferBackendHandleSharing::clearBackendHandle):
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::getPixelBufferForImageBuffer):
(WebKit::RemoteRenderingBackendProxy::putPixelBufferForImageBuffer):
(WebKit::RemoteRenderingBackendProxy::swapToValidFrontBuffer):
(WebKit::RemoteRenderingBackendProxy::markSurfaceNonVolatile):
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
- WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.cpp:
(WebKit::ImageBufferRemoteIOSurfaceBackend::setBackendHandle):
(WebKit::ImageBufferRemoteIOSurfaceBackend::clearBackendHandle):
- WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.h:
- 9:42 AM Changeset in webkit [290029] by
-
- 1 edit1 delete in trunk/LayoutTests
Remove the Catalina specific expectation added in r289834
https://bugs.webkit.org/show_bug.cgi?id=236619
Unreviewed test gardening.
- platform/mac-catalina/fonts/monospace-expected.txt: Removed.
- 9:38 AM Changeset in webkit [290028] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GPU Process bot gardening.
- gpu-process/TestExpectations:
- 9:18 AM Changeset in webkit [290027] by
-
- 2 edits in trunk/Source/ThirdParty/ANGLE
[GTK] Build broken with ENABLE_X11_TARGET=OFF and no X11 headers present
https://bugs.webkit.org/show_bug.cgi?id=236770
Reviewed by Alejandro G. Castro.
- PlatformGTK.cmake: The USE_SYSTEM_EGL definition detaches the type definitions
from the EGL headers generic and prevents ANGLE's headers from including system X11
or Wayland headers from the system, so apply it always independently of whether the
USE_ANGLE_{EGL,WEBGL} options are enabled. While at it, fix a missing dollar sign in
the expansion of the ${GBM_INCLUDE_DIR} variable.
- 9:17 AM Changeset in webkit [290026] by
-
- 155 edits in trunk/Source
Clean up / optimize call sites constructing vectors
https://bugs.webkit.org/show_bug.cgi?id=236748
Reviewed by Dean Jackson.
Clean up / optimize call sites constructing vectors:
- Use Vector::map() / WTF::map() where appropriate
Source/JavaScriptCore:
- Replace Vector::reserveCapacity() with Vector::reserveInitialCapacity() where appropriate
- Replace Vector::append() with Vector::uncheckedAppend() where appropriate
- Leverage the fact that Vector<Ref<Foo>> is now copyable (Because Ref<> now has a copy constructor)
- Call crossThreadCopy() to isolate-copy a Vector() without iterating.
- Leverage Vector constructor that takes in an intialization list in more cases
- Leverage Vector::from() in more cases to simplify vector construction in some case.
- Drop unnecessary calls to Vector::reserve*Capacity() before calling Vector::append(T*, size_t) since the append() implementation already does this for us.
- Leverage copyToVector() and copyToVectorOf<> in more cases
- Call shrinkToFit() in some cases where we reserve capacity and then append() but may not append() as much as we reserved.
- b3/air/AirCode.cpp:
(JSC::B3::Air::Code::setNumEntrypoints):
- bytecompiler/NodesCodegen.cpp:
(JSC::ArrayPatternNode::emitDirectBinding):
- dfg/DFGInPlaceAbstractState.cpp:
(JSC::DFG::setLiveValues):
- dfg/DFGLivenessAnalysisPhase.cpp:
- dfg/DFGScoreBoard.h:
(JSC::DFG::ScoreBoard::ScoreBoard):
- inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::parseBreakpointOptions):
- inspector/remote/socket/RemoteInspectorMessageParser.cpp:
(Inspector::MessageParser::pushReceivedData):
- parser/VariableEnvironment.cpp:
(JSC::CompactTDZEnvironment::CompactTDZEnvironment):
- wasm/WasmWorklist.cpp:
(JSC::Wasm::Worklist::Worklist):
Source/WebCore:
- Replace Vector::reserveCapacity() with Vector::reserveInitialCapacity() where appropriate
- Replace Vector::append() with Vector::uncheckedAppend() where appropriate
- Leverage the fact that Vector<Ref<Foo>> is now copyable (Because Ref<> now has a copy constructor)
- Call crossThreadCopy() to isolate-copy a Vector() without iterating.
- Leverage Vector constructor that takes in an intialization list in more cases
- Leverage Vector::from() in more cases to simplify vector construction in some case.
- Drop unnecessary calls to Vector::reserve*Capacity() before calling Vector::append(T*, size_t) since the append() implementation already does this for us.
- Leverage copyToVector() and copyToVectorOf<> in more cases
- Call shrinkToFit() in some cases where we reserve capacity and then append() but may not append() as much as we reserved.
- Modules/async-clipboard/Clipboard.cpp:
(WebCore::Clipboard::read):
(WebCore::Clipboard::ItemWriter::didSetAllData):
- Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::updateKeyStatuses):
- Modules/entriesapi/FileSystemEntriesCallback.cpp:
(WebCore::FileSystemEntriesCallback::scheduleCallback):
(WebCore::copyVector): Deleted.
- Modules/entriesapi/HTMLInputElementEntriesAPI.cpp:
(WebCore::HTMLInputElementEntriesAPI::webkitEntries):
- Modules/geolocation/GeolocationController.cpp:
(WebCore::GeolocationController::positionChanged):
(WebCore::GeolocationController::errorOccurred):
- Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::stop):
- Modules/indexeddb/IDBGetAllResult.cpp:
(WebCore::IDBGetAllResult::isolatedCopy):
- Modules/indexeddb/IDBGetResult.cpp:
(WebCore::IDBGetResult::isolatedCopy):
- Modules/indexeddb/IDBKeyPath.cpp:
(WebCore::isolatedCopy): Deleted.
- Modules/indexeddb/IDBKeyPath.h:
(WebCore::isolatedCopy): Deleted.
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::abortInProgressOperations):
- Modules/indexeddb/client/IDBConnectionProxy.cpp:
(WebCore::IDBClient::removeItemsMatchingCurrentThread):
- Modules/indexeddb/server/MemoryObjectStore.cpp:
(WebCore::IDBServer::MemoryObjectStore::deleteAllIndexes):
- Modules/indexeddb/server/SQLiteIDBCursor.cpp:
(WebCore::IDBServer::SQLiteIDBCursor::currentData):
- Modules/indexeddb/shared/IDBDatabaseInfo.cpp:
(WebCore::IDBDatabaseInfo::objectStoreNames const):
- Modules/indexeddb/shared/IDBIndexInfo.cpp:
(WebCore::IDBIndexInfo::isolatedCopy const):
- Modules/indexeddb/shared/IDBObjectStoreInfo.cpp:
(WebCore::IDBObjectStoreInfo::isolatedCopy const):
(WebCore::IDBObjectStoreInfo::indexNames const):
- Modules/indexeddb/shared/IDBTransactionInfo.cpp:
(WebCore::IDBTransactionInfo::isolatedCopy):
- Modules/indexeddb/shared/IndexKey.cpp:
(WebCore::IndexKey::isolatedCopy const):
- Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::clone):
- Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::capabilityStringVector):
- Modules/mediastream/MediaTrackConstraints.cpp:
(WebCore::convertAdvancedToInternalForm):
- Modules/mediastream/SFrameUtils.cpp:
(WebCore::toRbsp):
- Modules/remoteplayback/RemotePlayback.cpp:
(WebCore::RemotePlayback::availabilityChanged):
- Modules/speech/SpeechRecognition.cpp:
(WebCore::SpeechRecognition::didReceiveResult):
- Modules/webauthn/cbor/CBORValue.cpp:
(cbor::CBORValue::CBORValue):
- Modules/webauthn/fido/AuthenticatorGetInfoResponse.cpp:
(fido::toArrayValue):
- Modules/webauthn/fido/DeviceRequestConverter.cpp:
(fido::convertParametersToCBOR):
- Modules/webauthn/fido/Pin.cpp:
(fido::pin::encodeRawPublicKey):
- Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::databaseNames):
(WebCore::isolatedCopy): Deleted.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::notificationPostTimerFired):
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::setMathscripts):
(WebCore::AXIsolatedObject::setObjectVectorProperty):
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::objectsForIDs const):
(WebCore::AXIsolatedTree::collectNodeChangesForSubtree):
- animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::readString):
(WebCore::SerializedScriptValue::blobURLs const):
- crypto/mac/CryptoAlgorithmECDSAMac.cpp:
(WebCore::signECDSA):
(WebCore::verifyECDSA):
- crypto/mac/CryptoKeyECMac.cpp:
(WebCore::CryptoKeyEC::platformExportSpki const):
(WebCore::CryptoKeyEC::platformExportPkcs8 const):
- crypto/mac/CryptoKeyRSAMac.cpp:
(WebCore::CryptoKeyRSA::exportSpki const):
(WebCore::CryptoKeyRSA::exportPkcs8 const):
- css/CSSBasicShapes.cpp:
(WebCore::CSSBasicShapePolygon::cssText const):
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::copyPropertiesInSet):
(WebCore::ComputedStyleExtractor::copyProperties):
- css/CSSFontFace.cpp:
(WebCore::iterateClients):
- css/CSSFontFaceSet.cpp:
(WebCore::CSSFontFaceSet::matchingFacesExcludingPreinstalledFonts):
(WebCore::CSSFontFaceSet::fontFace):
- css/CSSKeyframesRule.cpp:
(WebCore::StyleRuleKeyframes::StyleRuleKeyframes):
- css/StyleProperties.cpp:
(WebCore::StyleProperties::copyPropertiesInSet const):
(WebCore::DeferredStyleProperties::DeferredStyleProperties):
- css/StyleRule.cpp:
(WebCore::DeferredStyleGroupRuleList::DeferredStyleGroupRuleList):
(WebCore::StyleRuleGroup::StyleRuleGroup):
- css/calc/CSSCalcOperationNode.h:
- css/calc/CSSCalcValue.cpp:
(WebCore::createCSS):
- display/css/DisplayBoxDecorationPainter.cpp:
(WebCore::Display::BorderPainter::clipBorderSidePolygon const):
(WebCore::Display::BorderPainter::drawLineForBoxSide const):
- dom/DOMRectList.cpp:
(WebCore::DOMRectList::DOMRectList):
- dom/Document.cpp:
(WebCore::Document::updateElementsAffectedByMediaQueries):
(WebCore::Document::didAssociateFormControlsTimerFired):
- dom/ElementData.cpp:
(WebCore::UniqueElementData::UniqueElementData):
- dom/EventListenerMap.cpp:
(WebCore::EventListenerMap::eventTypes const):
- dom/TreeScopeOrderedMap.cpp:
(WebCore::TreeScopeOrderedMap::keys const):
- editing/CompositeEditCommand.cpp:
(WebCore::copyMarkers):
- editing/Editor.cpp:
(WebCore::editableTextListsAtPositionInDescendingOrder):
- fileapi/FileList.cpp:
(WebCore::FileList::paths const):
- history/HistoryItem.cpp:
(WebCore::HistoryItem::HistoryItem):
(WebCore::m_formData):
(WebCore::m_identifier):
- html/FileInputType.cpp:
(WebCore::FileInputType::setFiles):
(WebCore::FileInputType::filesChosen):
- html/LinkIconCollector.cpp:
(WebCore::LinkIconCollector::iconsOfTypes):
- html/URLSearchParams.cpp:
(WebCore::URLSearchParams::getAll const):
- layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::layoutInlineContent):
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::startIconLoading):
(WebCore::DocumentLoader::setActiveContentRuleListActionPatterns):
- loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::getNewCues):
- loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::createFromSelection):
- page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::preferredAudioCharacteristics const):
- page/DOMWindow.cpp:
(WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents):
- page/IntersectionObserver.cpp:
(WebCore::IntersectionObserver::create):
- page/Page.cpp:
(WebCore::Page::replaceRangesWithText):
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::responseHeaders const):
- page/csp/ContentSecurityPolicyResponseHeaders.cpp:
(WebCore::ContentSecurityPolicyResponseHeaders::isolatedCopy const):
- page/mac/ImageOverlayControllerMac.mm:
(WebCore::ImageOverlayController::updateDataDetectorHighlights):
- page/mac/ServicesOverlayController.mm:
(WebCore::ServicesOverlayController::buildSelectionHighlight):
(WebCore::ServicesOverlayController::handleClick):
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::childrenOfNode const):
- page/scrolling/ScrollSnapOffsetsInfo.cpp:
(WebCore::convertOffsetInfo):
- platform/Length.cpp:
(WebCore::makeCalculated):
- platform/animation/AnimationList.cpp:
(WebCore::AnimationList::AnimationList):
- platform/cocoa/PlaybackSessionModelMediaElement.mm:
(WebCore::PlaybackSessionModelMediaElement::audioMediaSelectionOptions const):
- platform/encryptedmedia/CDMProxy.cpp:
(WebCore::KeyStore::convertToJSKeyStatusVector const):
- platform/graphics/FloatPolygon.cpp:
(WebCore::FloatPolygon::overlappingEdges const):
- platform/graphics/FloatQuad.cpp:
(WebCore::boundingBoxes):
- platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::updateLicense):
- platform/graphics/ca/TileGrid.cpp:
(WebCore::TileGrid::removeTiles):
(WebCore::TileGrid::removeAllTiles):
- platform/graphics/ca/TileGrid.h:
- platform/graphics/cg/ImageUtilitiesCG.cpp:
(WebCore::findImagesForTranscoding):
(WebCore::transcodeImages):
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::findClosestFont):
(WebCore::FontCache::getFontSelectionCapabilitiesInFamily):
- platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::fitnessDistance):
- platform/network/CacheValidation.cpp:
(WebCore::collectVaryingRequestHeadersInternal):
- platform/network/FormData.cpp:
(WebCore::FormData::isolatedCopy const):
- platform/network/SocketStreamHandleImpl.cpp:
(WebCore::SocketStreamHandleImpl::platformSendHandshake):
- platform/network/cocoa/NetworkStorageSessionCocoa.mm:
- platform/text/LocaleICU.cpp:
(WebCore::LocaleICU::createLabelVector):
(WebCore::createFallbackMonthLabels):
(WebCore::createFallbackAMPMLabels):
- platform/text/LocaleNone.cpp:
(WebCore::LocaleNone::monthLabels):
(WebCore::LocaleNone::shortMonthLabels):
(WebCore::LocaleNone::timeAMPMLabels):
- platform/text/cocoa/LocaleCocoa.mm:
(WebCore::LocaleCocoa::monthLabels):
(WebCore::LocaleCocoa::shortMonthLabels):
(WebCore::LocaleCocoa::standAloneMonthLabels):
(WebCore::LocaleCocoa::shortStandAloneMonthLabels):
(WebCore::LocaleCocoa::timeAMPMLabels):
- plugins/DOMMimeTypeArray.cpp:
(WebCore::DOMMimeTypeArray::supportedPropertyNames const):
(WebCore::DOMMimeTypeArray::supportedPropertyNames): Deleted.
- plugins/DOMMimeTypeArray.h:
- plugins/DOMPlugin.cpp:
(WebCore::makeMimeTypes):
(WebCore::DOMPlugin::supportedPropertyNames const):
(WebCore::DOMPlugin::supportedPropertyNames): Deleted.
- plugins/DOMPlugin.h:
- plugins/DOMPluginArray.cpp:
(WebCore::DOMPluginArray::supportedPropertyNames const):
(WebCore::DOMPluginArray::supportedPropertyNames): Deleted.
- plugins/DOMPluginArray.h:
- rendering/LayerAncestorClippingStack.cpp:
(WebCore::LayerAncestorClippingStack::LayerAncestorClippingStack):
(WebCore::LayerAncestorClippingStack::compositedClipData const):
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::clipBorderSidePolygon):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::drawLineForBoxSide const):
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::trackSizesForComputedStyle const):
- style/ClassChangeInvalidation.cpp:
(WebCore::Style::collectClasses):
- style/StyleBuilderConverter.h:
(WebCore::Style::BuilderConverter::convertTo100PercentMinusLength):
- testing/MockCDMFactory.cpp:
(WebCore::MockCDMInstanceSession::updateLicense):
(WebCore::MockCDMInstanceSession::removeSessionData):
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::getRegistrations):
Source/WebKit:
- Replace Vector::reserveCapacity() with Vector::reserveInitialCapacity() where appropriate
- Replace Vector::append() with Vector::uncheckedAppend() where appropriate
- Leverage the fact that Vector<Ref<Foo>> is now copyable (Because Ref<> now has a copy constructor)
- Call crossThreadCopy() to isolate-copy a Vector() without iterating.
- Leverage Vector constructor that takes in an intialization list in more cases
- Leverage Vector::from() in more cases to simplify vector construction in some case.
- Drop unnecessary calls to Vector::reserve*Capacity() before calling Vector::append(T*, size_t) since the append() implementation already does this for us.
- Leverage copyToVector() and copyToVectorOf<> in more cases
- Call shrinkToFit() in some cases where we reserve capacity and then append() but may not append() as much as we reserved.
- NetworkProcess/WebStorage/LocalStorageDatabaseTracker.cpp:
(WebKit::LocalStorageDatabaseTracker::originDetailsCrossThreadCopy):
- NetworkProcess/cache/CacheStorageEngineCaches.cpp:
(WebKit::CacheStorage::Caches::cacheInfos):
- Shared/API/APIArray.cpp:
(API::Array::createStringArray):
(API::Array::copy):
- Shared/API/APIDictionary.cpp:
(API::Dictionary::keys const):
- Shared/UserData.cpp:
(WebKit::transformGraph):
- Shared/WebContextMenuItem.cpp:
(WebKit::WebContextMenuItem::create):
(WebKit::WebContextMenuItem::submenuItemsAsAPIArray const):
- Shared/WebContextMenuItemData.cpp:
(WebKit::kitItems):
(WebKit::coreItems):
- UIProcess/API/APIWebAuthenticationPanel.cpp:
(API::WebAuthenticationPanel::WebAuthenticationPanel):
- UIProcess/API/APIWebsitePolicies.cpp:
(API::WebsitePolicies::copy const):
(API::WebsitePolicies::data):
- UIProcess/API/C/WKPage.cpp:
(API::toAPIObjectVector):
(WKPageSetPageContextMenuClient):
(WKPageSetPageFindMatchesClient):
(WKPageSetPageLoaderClient):
- UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:
(WebKit::VideoFullscreenManagerProxy::forEachSession):
- UIProcess/Gamepad/UIGamepadProvider.cpp:
(WebKit::UIGamepadProvider::snapshotGamepads):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::allNetworkProcesses):
(WebKit::NetworkProcessProxy::updatePrevalentDomainsToBlockCookiesFor):
- UIProcess/Notifications/WebNotificationManagerProxy.cpp:
(WebKit::WebNotificationManagerProxy::providerDidRemoveNotificationPolicies):
- UIProcess/Notifications/WebNotificationProvider.cpp:
(WebKit::WebNotificationProvider::clearNotifications):
- UIProcess/StatisticsRequest.cpp:
(WebKit::StatisticsRequest::completedRequest):
- UIProcess/UserContent/WebUserContentControllerProxy.cpp:
(WebKit::WebUserContentControllerProxy::removeAllUserScripts):
(WebKit::WebUserContentControllerProxy::removeAllUserStyleSheets):
- UIProcess/WebAuthentication/Cocoa/WebAuthenticationPanelClient.mm:
(WebKit::WebAuthenticationPanelClient::selectAssertionResponse const):
- UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp:
(WebKit::CtapAuthenticator::continueGetNextAssertionAfterResponseReceived):
- UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::addItem):
(WebKit::WebBackForwardList::clear):
(WebKit::WebBackForwardList::restoreFromState):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::runJavaScriptInFrameInScriptWorld):
(WebKit::WebPageProxy::speechSynthesisVoiceList):
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchDataAndApply):
(WebKit::WebsiteDataStore::parametersFromEachWebsiteDataStore):
- UIProcess/mac/WKTextFinderClient.mm:
(-[WKTextFinderClient replaceMatches:withString:inSelectionOnly:resultCollector:]):
- WebProcess/GPU/media/RemoteRemoteCommandListener.cpp:
(WebKit::RemoteRemoteCommandListener::updateSupportedCommands):
- WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(contextMenuItems):
(WKBundlePageCopyOriginsWithApplicationCache):
- WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
(WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
- WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
(WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
- WebProcess/Network/WebSocketStream.cpp:
(WebKit::WebSocketStream::networkProcessCrashed):
- WebProcess/Network/webrtc/WebRTCResolver.cpp:
(WebKit::WebRTCResolver::setResolvedAddress):
- WebProcess/WebCoreSupport/WebResourceLoadObserver.cpp:
(WebKit::WebResourceLoadObserver::takeStatistics):
- WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::replaceMatches):
- WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.mm:
(WebKit::toKeyframeValueVector):
(WebKit::PlatformCAAnimationRemote::setValues):
(WebKit::PlatformCAAnimationRemote::setTimingFunctions):
- WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
(WebKit::ViewGestureGeometryCollector::computeTextLegibilityScales):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::trackedRepaintRects):
(WebKit::dumpHistoryItem):
Source/WTF:
- Replace Vector::reserveCapacity() with Vector::reserveInitialCapacity() where appropriate
- Replace Vector::append() with Vector::uncheckedAppend() where appropriate
- Leverage the fact that Vector<Ref<Foo>> is now copyable (Because Ref<> now has a copy constructor)
- Call crossThreadCopy() to isolate-copy a Vector() without iterating.
- Leverage Vector constructor that takes in an intialization list in more cases
- Leverage Vector::from() in more cases to simplify vector construction in some case.
- Drop unnecessary calls to Vector::reserve*Capacity() before calling Vector::append(T*, size_t) since the append() implementation already does this for us.
- Leverage copyToVector() and copyToVectorOf<> in more cases
- Call shrinkToFit() in some cases where we reserve capacity and then append() but may not append() as much as we reserved.
- wtf/Language.cpp:
(WTF::userPreferredLanguages):
(WTF::isolatedCopy): Deleted.
- 9:14 AM Changeset in webkit [290025] by
-
- 2 edits in trunk/Source/WTF
[CSS Container Queries] Enable by default
https://bugs.webkit.org/show_bug.cgi?id=236776
Reviewed by Sam Weinig.
Flip the switch.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- 8:56 AM Changeset in webkit [290024] by
-
- 2 edits in trunk/Source/bmalloc
Unreviewed, fix heap enumeration
https://bugs.webkit.org/show_bug.cgi?id=236662
- libpas/src/libpas/pas_enumerate_segregated_heaps.c:
(pas_enumerate_segregated_heaps):
- 7:30 AM Changeset in webkit [290023] by
-
- 3 edits in trunk/Source/WebCore
[GTK] Build failure when building with ANGLE enabled since r289912
https://bugs.webkit.org/show_bug.cgi?id=236773
Patch by Alejandro G. Castro <alex@igalia.com> on 2022-02-17
Reviewed by Adrian Perez de Castro.
Avoid including GLContext in the ANGLE classes.
No new tests, it is a building error.
- platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.h:
- platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp:
- 7:27 AM Changeset in webkit [290022] by
-
- 1 copy in releases/WPE WebKit/webkit-2.34.6
WPE WebKit 2.34.6
- 7:27 AM Changeset in webkit [290021] by
-
- 4 edits in releases/WebKitGTK/webkit-2.34
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.34.6 release
.:
- Source/cmake/OptionsWPE.cmake: Bump version numbers.
Source/WebKit:
- wpe/NEWS: Add release notes for 2.34.6
- 7:27 AM Changeset in webkit [290020] by
-
- 1 copy in releases/WebKitGTK/webkit-2.34.6
WebKitGTK 2.34.6
- 7:26 AM Changeset in webkit [290019] by
-
- 4 edits in releases/WebKitGTK/webkit-2.34
Unreviewed. Update OptionsGTK.cmake and NEWS for the 2.34.6 release
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit:
- gtk/NEWS: Add release notes for 2.34.6
- 7:26 AM Changeset in webkit [290018] by
-
- 2 edits in releases/WebKitGTK/webkit-2.34/Source/ThirdParty/ANGLE
[GTK] Build broken with ENABLE_X11_TARGET=OFF and no X11 headers present
Unreviewed build fix.
This is a fix in the same vein as the one in https://bugs.webkit.org/show_bug.cgi?id=236770
for the stable 2.34 release branch.
- PlatformGTK.cmake: Make sure that ANGLE_USE_X11, WL_EGL_PLATFORM, or USE_SYSTEM_EGL
are always defined independently of the USE_ANGLE_EGL and USE_ANGLE_WEBGL options.
- 7:26 AM Changeset in webkit [290017] by
-
- 11 edits in releases/WebKitGTK/webkit-2.34
Merge r289949 - [CMake] Cannot find OpenGL when system provides opengl.pc instead of gl.pc
https://bugs.webkit.org/show_bug.cgi?id=236592
Reviewed by Don Olmstead.
.:
- Source/cmake/FindOpenGL.cmake: Rewrite to use imported targets, try the "opengl" and "glx"
pkg-config modules first, otherwise keep the existing logic that tried the "gl" pkg-config
module with fallbacks to find_path/find_library.
- Source/cmake/OptionsGTK.cmake: Check for the presence of the OpenGL::GLX target instead of
te GLX_FOUND variable.
Source/ThirdParty/ANGLE:
- PlatformGTK.cmake: Use the OpenGL::OpenGL imported target instead of the
OPENGL_LIBRARIES variable.
- PlatformWPE.cmake: Ditto, plus replace a spurious use of OPENGLES_LIBRARIES
with the OpenGL::GLES target.
Source/WebCore:
- CMakeLists.txt: Use the OpenGL::OpenGL and OpenGL::GLX imported targets instead of variables.
- platform/graphics/GLContext.cpp: Move here includes for the GL headers.
- platform/graphics/GLContext.h: Remove includes for the GL headers, none of their
declarations are used here; instead include only the needed EGL headers to get the
definition of EGLNativeWindowType.
Source/WebKit:
- CMakeLists.txt: Remove usage of the OPENGL_ variables for the WebKit target, which is
uneeded because it links to WebCore, which transitively pulls the needed libraries now
that imported targets are being used.
- 7:02 AM Changeset in webkit [290016] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Decouple line box relative alignment types when computing the root inline box's baseline position
https://bugs.webkit.org/show_bug.cgi?id=236675
Reviewed by Antti Koivisto.
Line box relative alignments (top/bottom) impact on the root inline box's baseline is slightly different from
the rest of the alignments (baseline etc). In these patch these alignment type are moved out of the main loop where
all the other alignments are handled (this is similar to what we do at other placed e.g. LineBoxVerticalAligner::computeLineBoxLogicalHeight).
This patch is in preparation for fixing the bug where the 'vertical-bottom' aligned box makes other inline level boxes stick out of their parent block.
- layout/formattingContexts/inline/InlineLineBoxVerticalAligner.cpp:
(WebCore::Layout::LineBoxVerticalAligner::computeRootInlineBoxVerticalPosition const):
- 6:54 AM Changeset in webkit [290015] by
-
- 3 edits in trunk/Source/WebCore
[WPE] Build failure when building with ANGLE enabled since r289912
https://bugs.webkit.org/show_bug.cgi?id=236768
Reviewed by Alejandro G. Castro.
Fix build after regression caused by r289912.
- platform/graphics/angle/GraphicsContextGLANGLE.h:
- platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::EGLImageBacking::EGLImageBacking):
- 5:38 AM Changeset in webkit [290014] by
-
- 2 edits in trunk/Tools
[JSC] Increase timeout to account for MIPS slowness
https://bugs.webkit.org/show_bug.cgi?id=236763
Reviewed by Adrian Perez de Castro.
Commit https://commits.webkit.org/247272@main parallelized the
status fetching but also introduced a timeout. Unfortunately, the
MIPS boards used in the build.webkit.org buildbot are not fast
enough to gather the test results in this timeout, so the bot can
never complete its testing. This wasn't caught in EWS as the
buildbots use faster MIPS hardware there.
Significantly bump the timeout when fetching results.
- Scripts/run-jsc-stress-tests:
- 5:36 AM Changeset in webkit [290013] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, non-unified build fix after r290003
https://bugs.webkit.org/show_bug.cgi?id=236774
- animation/FrameRateAligner.h:
- 5:32 AM Changeset in webkit [290012] by
-
- 2 edits in trunk/Source/WebKit
Crash while destroying RemoteVideoFrameObjectHeap
https://bugs.webkit.org/show_bug.cgi?id=236765
<rdar://89003650>
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-17
Reviewed by Antti Koivisto.
Add virtual destructor to ThreadSafeObjectHeap. (ThreadSafe)RefCounted<T> deletes
the object through the T pointer. In this case, T is ThreadSafeObjectHeap, but
the underlying type is RemoteVideoFrameObjectHeap. This causes delete through non-virtual
pointer and skips ~ThreadSafeObjectHeap().
No new tests, tested by existing tests under ASAN.
- Shared/ThreadSafeObjectHeap.h:
- 5:13 AM Changeset in webkit [290011] by
-
- 2 edits in trunk/Source/ThirdParty/ANGLE
REGRESSION (iOS 15.4b3): Catastrophic (20x) performance regression in texImage2D from mp4 video
https://bugs.webkit.org/show_bug.cgi?id=236699
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-17
Reviewed by Darin Adler.
Disable the validation for IOSurface pixel formats.
We might pass non-public formats that do not have sensible IOSurfaceGetBytesPerElementOfPlane
to verify with this logic.
Will add test in bug 236759.
Previous bugs of the same:
EAGL:
Textures Fail to Render in WebGL from HLS Stream on iPhone 12 [iOS 14.2]
bug 218637, r273582, 234632@main
CGL:
REGRESSION(Safari 15, BigSur): Poor video texture upload performance with MacBook M1, ANGLE OpenGL backend
bug 232235, r286960, 245183@main
- src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.mm:
(rx::IOSurfaceSurfaceMtl::ValidateAttributes):
- 4:53 AM Changeset in webkit [290010] by
-
- 3 edits2 adds in trunk
LayoutTests/imported/w3c:
SVG SMIL restart="never" does not behave correctly
https://bugs.webkit.org/show_bug.cgi?id=236491
Reviewed by Antti Koivisto.
Add a new test that checks whether restart="never" is respected when
begin="click" is set on an SVG <animate> element.
- web-platform-tests/svg/animations/restart-never-and-begin-click-expected.txt: Added.
- web-platform-tests/svg/animations/restart-never-and-begin-click.html: Added.
Source/WebCore:
[LBSE] Apply SVG specific changes to RenderLayer painting
https://bugs.webkit.org/show_bug.cgi?id=236191
Patch by Nikolas Zimmermann <nzimmermann@igalia.com> on 2022-02-17
Reviewed by Rob Buis.
This patch summarizes three small SVG specific changes regarding painting, not justifying
more atomic patches, since it's the same context of changes: painting + SVG layer.
- SVG container repainting
Layers associated with SVG container elements (<g> / <defs> (!)) should never trigger repaints,
unless they are filtered. Adapt RenderLayer::shouldRepaintAfterLayout() to enforce this.
- SVG viewport clipping
Assure that RenderSVGRoot viewport clipping is applied _before_ the SVG viewBox transformation
is applied (soon to be handled by RenderLayer for SVG).
- SVG clip-path handling
Add a stub implementation of RenderLayer::computeClipPath(). There are more important parts
to upstream, before adding clipping support for SVG - however this stub serves as reminder
for upcoming patches -- this strategy works well so far.
Covered by existing tests, no change in behaviour.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::shouldRepaintAfterLayout const):
(WebCore::RenderLayer::paintLayerWithEffects):
(WebCore::RenderLayer::computeClipPath const):
- 3:18 AM Changeset in webkit [290009] by
-
- 8 edits in trunk/Source/WebKit
Add some more debug triggers for WKHoverPlatter
https://bugs.webkit.org/show_bug.cgi?id=236761
Reviewed by Darin Adler.
- UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _allowsDoubleTapGestures]):
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _singleTapIdentified:]):
(-[WKContentView _singleTapRecognized:]):
(-[WKContentView _doubleTapRecognized:]):
Make it possible to use single tap as a two-step tap with WKHoverPlatter.
Make it possible to use double tap as an invocation gesture for WKHoverPlatter.
- UIProcess/ios/WKHoverPlatter.h:
- UIProcess/ios/WKHoverPlatter.mm:
(-[WKHoverPlatter initWithView:delegate:]):
Use WKHoverPlatterParameters.enabled instead of duplicating the set of enablement bits here.
(-[WKHoverPlatter isVisible]):
(-[WKHoverPlatter didReceiveMouseEvent:]):
(-[WKHoverPlatter didLongPressAtPoint:]):
(-[WKHoverPlatter didSingleTapAtPoint:]):
(-[WKHoverPlatter didDoubleTapAtPoint:]):
(-[WKHoverPlatter platterBoundingRect]):
(-[WKHoverPlatter linkSearchRect]):
(-[WKHoverPlatter adjustedPointForPoint:]):
(-[WKHoverPlatter hoverPoint]): Deleted.
- UIProcess/ios/WKHoverPlatterParameters.h:
- UIProcess/ios/WKHoverPlatterParameters.mm:
(-[WKHoverPlatterParameters setDefaultValues]):
Read prototyping default ... defaults ... from NSUserDefaults.
(-[WKHoverPlatterParameters enabled]):
(+[WKHoverPlatterParameters settingsControllerModule]):
- UIProcess/ios/WKMouseGestureRecognizer.mm:
(-[WKMouseGestureRecognizer _shouldReceiveTouch:forEvent:recognizerView:]):
Only accept touch-phase touches from UITouchTypeIndirectPointer.
Otherwise synthetic direct touches continue through WKMouseGestureRecognizer
*and* trigger other gestures. This is a follow-up from r289785 that became more
obvious while writing this patch (and is a strict dependency of the other changes here).
- 3:15 AM Changeset in webkit [290008] by
-
- 2 edits in trunk/Source/WebCore
[LBSE] Apply SVG specific changes to RenderLayer painting
https://bugs.webkit.org/show_bug.cgi?id=236191
Reviewed by Rob Buis.
This patch summarizes three small SVG specific changes regarding painting, not justifying
more atomic patches, since it's the same context of changes: painting + SVG layer.
- SVG container repainting
Layers associated with SVG container elements (<g> / <defs> (!)) should never trigger repaints,
unless they are filtered. Adapt RenderLayer::shouldRepaintAfterLayout() to enforce this.
- SVG viewport clipping
Assure that RenderSVGRoot viewport clipping is applied _before_ the SVG viewBox transformation
is applied (soon to be handled by RenderLayer for SVG).
- SVG clip-path handling
Add a stub implementation of RenderLayer::computeClipPath(). There are more important parts
to upstream, before adding clipping support for SVG - however this stub serves as reminder
for upcoming patches -- this strategy works well so far.
Covered by existing tests, no change in behaviour.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::shouldRepaintAfterLayout const):
(WebCore::RenderLayer::paintLayerWithEffects):
(WebCore::RenderLayer::computeClipPath const):
- 1:53 AM Changeset in webkit [290007] by
-
- 10 edits in trunk
Copy track sizes from parent grid into subgrid
https://bugs.webkit.org/show_bug.cgi?id=236336
Patch by Matt Woodrow <Matt Woodrow> on 2022-02-17
Reviewed by Dean Jackson.
Source/WebCore:
Copies track sizes from the parent RenderGrid's track sizing algorithm for axes
that are subgridded, rather than doing its own sizing.
Accounts for differences between the subgrid's grid-gap and the parent's grid gap,
as well as space occupied by the subgrid element's margin/border/padding.
Existing test expectations updated.
- rendering/GridTrackSizingAlgorithm.cpp:
(WebCore::GridTrackSizingAlgorithm::run):
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutBlock):
(WebCore::RenderGrid::gridGap const):
(WebCore::RenderGrid::populateGridPositionsForDirection):
- rendering/RenderGrid.h:
LayoutTests:
Existing test expectations updated.
- 1:49 AM Changeset in webkit [290006] by
-
- 2 edits in trunk/JSTests
[JSC] Unskip test on mips
https://bugs.webkit.org/show_bug.cgi?id=236645
Unreviewed gardening.
Can't reproduce this locally after 20 iterations.
- stress/sampling-profiler-richards.js:
- 1:30 AM WebKitEnablingFlatpakClangd edited by
- (diff)
- 1:25 AM Changeset in webkit [290005] by
-
- 18 edits in trunk/Source
CrashTracer: com.apple.WebKit.WebContent at JavaScriptCore: bmalloc_allocate_impl_impl_slow
https://bugs.webkit.org/show_bug.cgi?id=236695
rdar://87596724
Reviewed by Jer Noble.
Source/WebCore:
When a new FragmentedSharedBuffer is received from the network process, it is proactively coalesced
into a SharedBuffer during each call to CachedResource::updateBuffer(). This causes a large number
of re-allocations and copies; essentially re-allocating each time the resource's buffer receives
one more chunk of data.
Instead we only flatten the data buffer once all data have been received.
Running speedtest.net with a gigabit link, we see a reduction of peak
memory use in the content process by about 40% (from 740MB to under 440MB of
physical memory, 1.7GB of memory allocation vs 535MB)
Covered by existing tests.
- editing/ios/EditorIOS.mm:
(WebCore::Editor::writeImageToPasteboard):
- editing/mac/EditorMac.mm:
(WebCore::Editor::writeImageToPasteboard):
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::didFinishLoading):
- loader/cache/CachedApplicationManifest.cpp:
(WebCore::CachedApplicationManifest::finishLoading):
- loader/cache/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::finishLoading):
- loader/cache/CachedFont.cpp:
(WebCore::CachedFont::ensureCustomFontData):
- loader/cache/CachedImage.cpp:
(WebCore::CachedImage::updateImageData):
- loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::calculateIncrementalDataChunk const):
(WebCore::CachedRawResource::updateBuffer):
(WebCore::CachedRawResource::finishLoading):
- loader/cache/CachedRawResource.h:
- loader/cache/CachedResource.h:
(WebCore::CachedResource::resourceBuffer const):
- loader/cache/CachedScript.cpp:
(WebCore::CachedScript::script):
- loader/cache/CachedXSLStyleSheet.cpp:
(WebCore::CachedXSLStyleSheet::finishLoading):
Source/WebKit:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::finishedLoading): Fly-by fix, the
IPC::DataReference would reference a SharedBuffer going
out of scope before it was sent over IPC.
Source/WebKitLegacy/mac:
- WebView/WebHTMLView.mm:
(-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
- 1:11 AM Changeset in webkit [290004] by
-
- 12 edits in trunk/Source/WebKit
RemoteVideoFrameProxy should use RemoteVideoFrameObjectHeapProxy to get the pixel buffer representation
https://bugs.webkit.org/show_bug.cgi?id=236704
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-17
Reviewed by Antti Koivisto.
Currently RemoteVideoFrameProxy uses RemoteVideoFrameObjectHeapProxy to transfer the pixel buffer
from GPU process to Web process in scenarios where the pixel buffer is used in Web process.
Previously RemoteVideoFrameProxy client would have to provide a thread-safe function that
should call RemoteVideoFrameObjectHeapProxy::getPixelBuffer().
Current clients do not provide a thread-safe function.
Instead, RemoteVideoFrameProxy should provide just the RemoteVideoFrameObjectHeapProxy reference,
since this is the only way to get the pixel buffer anyway. This simplifies the call sites, makes
the implementation more correct and avoids the use of ifdefs.
Make the code consistent with ifdefs. This is platform-independent code, so remove COCOA ifdefs.
All platforms that transfer pixels would need to have RemoteVideoFrameObjectHeapProxy.
This is media stream specific code, so add MEDIA_STREAM ifdefs.
To be consistent with existing GPUP side code, do not use "remote" prefix on the
variable names. E.g. use "videoFrameObjectHeapProxy" to refer to the proxy. The remote part
is redundant, as this is implied.
Clean up related RemoteVideoFrameProxy::pixelBuffer() function to not store unneeded semaphores
as instance variables or use duplicate helper functions.
No new tests, a refactor.
- GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:
(WebKit::RemoteMediaPlayerManagerProxy::createMediaPlayer):
- WebProcess/GPU/GPUProcessConnection.cpp:
(WebKit::GPUProcessConnection::videoFrameObjectHeapProxy):
- WebProcess/GPU/GPUProcessConnection.h:
- WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:
(WebKit::RemoteGraphicsContextGLProxy::paintCompositedResultsToMediaSample):
- WebProcess/GPU/media/RemoteVideoFrameProxy.cpp:
(WebKit::RemoteVideoFrameProxy::create):
(WebKit::RemoteVideoFrameProxy::RemoteVideoFrameProxy):
(WebKit::RemoteVideoFrameProxy::pixelBuffer const):
- WebProcess/GPU/media/RemoteVideoFrameProxy.h:
- WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:
(WebKit::LibWebRTCCodecs::ensureGPUProcessConnectionOnMainThreadWithLock):
(WebKit::LibWebRTCCodecs::completedDecoding):
- WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxy.h:
(WebKit::RemoteVideoFrameObjectHeapProxy::RemoteVideoFrameObjectHeapProxy):
- WebProcess/cocoa/RemoteCaptureSampleManager.cpp:
(WebKit::RemoteCaptureSampleManager::setVideoFrameObjectHeapProxy):
(WebKit::RemoteCaptureSampleManager::videoSampleAvailable):
- WebProcess/cocoa/RemoteCaptureSampleManager.h:
- WebProcess/cocoa/UserMediaCaptureManager.cpp:
(WebKit::UserMediaCaptureManager::VideoFactory::createVideoCaptureSource):
- 1:05 AM WebKitEnablingFlatpakClangd created by
- 12:57 AM WebKitFlatpakSDK edited by
- (diff)
- 12:14 AM Changeset in webkit [290003] by
-
- 13 edits1 copy1 add in trunk
Use the animation frame rate during animation resolution and scheduling
https://bugs.webkit.org/show_bug.cgi?id=234202
rdar://85983678
Reviewed by Simon Fraser.
Source/WebCore:
We've previously added properties to DocumentTimeline to expose the maximum frame rate supported
by the display (bug 234161) and to Animation to let animations specify the frame rate at which
they would like to be updated (bug 234174).
In this patch we add support for accounting for the frame rate set on animations to ensure they
are updated at a cadence close to the one requested, with the following provisions:
- we do our best to match the frame rate provided by the animation but account for the display's refresh rate to only ever update animations when the display is being refreshed,
- we update all animations sharing the same frame rate in the same updates,
- we schedule updates sparingly accounting for the frame rate of animation such that a page only containing animations that are running at, for instance, 15fps only result in calls to DocumentTimelinesController::updateAnimationsAndSendEvents() at 15fps,
- other factors may impact the animation frame rate, such as low power mode.
There is no test for this code currently. It is not possible to test for the actual
rate at which animations are updated in a testing environment, since there are too
many variables to ensure consistent results. However, future patches will look into
adding internals code such that tests may inspect the update cadence set on the timeline
and frame rates at which animations are optimistically scheduled to update.
The FrameRateAligner class provides a supporting object for DocumentTimelinesController
which contains the data related to the frame rates currently in use by all animations in
the document. This class will be updated in future patches to better handle alignment of
animations added dynamically with previously unused frame rates.
Note that all of those changes to scheduling only affects page rendering updates triggered
by animations. Page rendering updates continue to be scheduled by calls to requestAnimationFrame()
independently from the frame rate specified on animations.
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::animationInterval const):
(WebCore::DocumentTimeline::scheduleNextTick):
- animation/DocumentTimelinesController.cpp:
(WebCore::DocumentTimelinesController::DocumentTimelinesController):
(WebCore::DocumentTimelinesController::updateAnimationsAndSendEvents):
(WebCore::DocumentTimelinesController::timeUntilNextTickForAnimationsWithFrameRate const):
- animation/DocumentTimelinesController.h:
(WebCore::DocumentTimelinesController::maximumAnimationFrameRate const):
- animation/FrameRateAligner.cpp: Added.
(WebCore::idealTimeForNextUpdate):
(WebCore::FrameRateAligner::beginUpdate):
(WebCore::FrameRateAligner::updateFrameRate):
(WebCore::FrameRateAligner::timeUntilNextUpdateForFrameRate const):
(WebCore::FrameRateAligner::maximumFrameRate const):
- animation/FrameRateAligner.h: Copied from Source/WebCore/animation/DocumentTimelinesController.h.
- animation/WebAnimation.cpp:
(WebCore::WebAnimation::setEffectiveFrameRate):
- page/Page.cpp:
(WebCore::Page::timelineControllerMaximumAnimationFrameRateDidChange):
(WebCore::Page::preferredRenderingUpdateFramesPerSecond const):
- page/Page.h:
LayoutTests:
Update this test to not rely on hard values but rather check that throttling
has the expected effect of doubling the interval between frames.
- fast/animation/css-animation-throttling-lowPowerMode-expected.txt:
- fast/animation/css-animation-throttling-lowPowerMode.html:
- 12:08 AM Changeset in webkit [290002] by
-
- 12 edits in trunk
Unreviewed, reverting r289949.
https://bugs.webkit.org/show_bug.cgi?id=236757
Breaks WPE builds with -DUSE_ANGLE_WEBGL=ON
Reverted changeset:
"[CMake] Cannot find OpenGL when system provides opengl.pc
instead of gl.pc"
https://bugs.webkit.org/show_bug.cgi?id=236592
https://commits.webkit.org/r289949
- 12:00 AM Changeset in webkit [290001] by
-
- 8 edits in trunk/Source
Add -[WKWebProcessPlugInFrame lookUpFrameFromJSValue:].
https://bugs.webkit.org/show_bug.cgi?id=236714
rdar://problem/89030846
Reviewed by Chris Dumez.
Source/WebCore:
- page/Frame.cpp:
(WebCore::Frame::contentFrameFromWindowOrFrameElement): Added.
- page/Frame.h:
Source/WebKit:
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
(+[WKWebProcessPlugInFrame lookUpContentFrameFromWindowOrFrameElement:]): Added.
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFramePrivate.h:
- WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::contentFrameForWindowOrFrameElement): Added.
- WebProcess/WebPage/WebFrame.h:
Feb 16, 2022:
- 11:42 PM Changeset in webkit [290000] by
-
- 18 edits2 deletes in trunk/Source/bmalloc
[libpas] Use segmented vector for TLC layout list
https://bugs.webkit.org/show_bug.cgi?id=236662
Reviewed by Saam Barati.
We add segmented vector for pas_thread_local_cache_layout_node iteration instead of using
linked-list of that to accelerate iteration performance. It does not affect on Speedometer2,
JetStream2, PLT5 etc., but we do this iteration frequently in scavenger thread, and reducing
time of this makes it efficient. While speeding up scavenger does not matter for throughput
of non scavenger threads since libpas works well without taking a lock in most times which
is blocked by scavenger, making scavenger faster is good for energy efficiency.
- Use segmented vector for (concurrently read) pas_thread_local_cache_layout_node list. We still keep nice for-loop abstraction for list of pas_thread_local_cache_layout_node.
- Remove pas_local_view_cache_node since we no longer need it. It was introduced just to make it linked-list node for pas_thread_local_cache_layout_node. But now, segmented vector is holding it separately.
- Move pas_segregated_size_directory_data's allocator_index to pas_segregated_size_directory. Because of (1) change, we can make pas_segregated_size_directory linked-list-node, which saves 4 bytes. So we can move pas_segregated_size_directory_data's allocator_index to pas_segregated_size_directory since it is heavily accessed from the scavenger.
- CMakeLists.txt:
- bmalloc.xcodeproj/project.pbxproj:
- libpas/libpas.xcodeproj/project.pbxproj:
- libpas/src/libpas/pas_designated_intrinsic_heap.c:
(set_up_range):
- libpas/src/libpas/pas_enumerate_segregated_heaps.c:
(pas_enumerate_segregated_heaps):
- libpas/src/libpas/pas_local_view_cache_node.c: Removed.
- libpas/src/libpas/pas_local_view_cache_node.h: Removed.
- libpas/src/libpas/pas_redundant_local_allocator_node.c:
(pas_redundant_local_allocator_node_create):
- libpas/src/libpas/pas_redundant_local_allocator_node.h:
- libpas/src/libpas/pas_root.c:
(pas_root_construct):
- libpas/src/libpas/pas_root.h:
- libpas/src/libpas/pas_segregated_heap.c:
(recompute_size_lookup):
(pas_segregated_heap_ensure_allocator_index):
- libpas/src/libpas/pas_segregated_size_directory.c:
(pas_segregated_size_directory_create):
(pas_segregated_size_directory_ensure_data):
(pas_segregated_size_directory_create_tlc_allocator):
(pas_segregated_size_directory_get_allocator_from_tlc):
- libpas/src/libpas/pas_segregated_size_directory.h:
(pas_segregated_size_directory_has_tlc_allocator):
(pas_segregated_size_directory_get_tlc_allocator_index):
- libpas/src/libpas/pas_thread_local_cache.c:
(decommit_allocator_range):
(pas_thread_local_cache_for_all):
- libpas/src/libpas/pas_thread_local_cache_layout.c:
(pas_thread_local_cache_layout_add_node):
(pas_thread_local_cache_layout_add_view_cache):
(pas_thread_local_cache_layout_get_last_node):
- libpas/src/libpas/pas_thread_local_cache_layout.h:
(pas_thread_local_cache_layout_segment_get_node):
(pas_thread_local_cache_layout_segment_next_node):
- libpas/src/libpas/pas_thread_local_cache_layout_node.c:
(pas_thread_local_cache_layout_node_get_directory):
(allocator_index_ptr):
(next_ptr): Deleted.
(pas_thread_local_cache_layout_node_get_next): Deleted.
(pas_thread_local_cache_layout_node_set_next): Deleted.
- libpas/src/libpas/pas_thread_local_cache_layout_node.h:
(pas_wrap_local_view_cache_node):
(pas_unwrap_local_view_cache_node):
- 11:30 PM Changeset in webkit [289999] by
-
- 7 edits in trunk
Revert r275772: inflated FloatSize memory layout unnecessarily
https://bugs.webkit.org/show_bug.cgi?id=236743
Reviewed by Simon Fraser.
Source/WebCore:
- platform/graphics/FloatSize.h:
- rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::computeReplacedLogicalWidth const):
(WebCore::RenderReplaced::computeReplacedLogicalHeight const):
- rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::computeIntrinsicRatioInformation const):
LayoutTests:
- 10:24 PM Changeset in webkit [289998] by
-
- 12 edits in trunk
Lookup line names for sub grids using line names from ancestor grids
https://bugs.webkit.org/show_bug.cgi?id=236287
Patch by Matt Woodrow <Matt Woodrow> on 2022-02-16
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-grid/subgrid/grid-subgridded-axis-auto-repeater-crash-001-expected.txt:
- web-platform-tests/css/css-grid/subgrid/line-names-005-expected.html:
- web-platform-tests/css/css-grid/subgrid/line-names-005.html:
Make line-names-005.html slightly harder by having the multiple definitions of the 'a' grid area be different at both edges.
Source/WebCore:
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::populateExplicitGridAndOrderIterator const):
- rendering/style/GridArea.h:
(WebCore::GridSpan::clamp):
- rendering/style/GridPositionsResolver.cpp:
(WebCore::explicitGridSizeForSide):
(WebCore::transposedSide):
(WebCore::clampedImplicitLineForArea):
(WebCore::NamedLineCollectionBase::NamedLineCollectionBase):
(WebCore::NamedLineCollectionBase::ensureLocalStorage):
(WebCore::NamedLineCollectionBase::contains const):
(WebCore::NamedLineCollection::NamedLineCollection):
(WebCore::NamedLineCollection::hasExplicitNamedLines const):
(WebCore::NamedLineCollection::hasNamedLines const):
(WebCore::NamedLineCollection::lastLine const):
(WebCore::NamedLineCollection::contains const):
(WebCore::NamedLineCollection::firstExplicitPosition const):
(WebCore::NamedLineCollection::firstPosition const):
(WebCore::adjustGridPositionsFromStyle):
(WebCore::lookAheadForNamedGridLine):
(WebCore::lookBackForNamedGridLine):
(WebCore::resolveNamedGridLinePositionFromStyle):
(WebCore::definiteGridSpanWithNamedLineSpanAgainstOpposite):
(WebCore::resolveNamedGridLinePositionAgainstOppositePosition):
(WebCore::resolveGridPositionFromStyle):
Splits NamedLineCollection into two classes, where the base class only handles
a single grid, and the subclass handles inheriting lines from ancestor grids.
Loops over ancestor grids, looking for named lines that are shared with the initial
grid, and if found, adds them (using the local line number) to a local copy of the line
names array.
Also handles the cases where a named grid area spans outside of the subgrid area, by
clamping the area to the explicit grid (since subgrid can't generate implicit grid lines),
and then generating new implicit grid lines. These lines are added to the same local line
name array as is used for inherited ancestor lines. This clamping and regeneration of implicit
lines works for both areas defined on the subgrid, as well as on ancestors.
- rendering/style/GridPositionsResolver.h:
- style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyValueGridTemplateColumns):
(WebCore::Style::BuilderCustom::applyValueGridTemplateRows):
Removes these calls to add the implicit lines to the normal line lists, since
they're already in the implicit line lists and having them in both stops us from
being able to regenerate them for subgrids.
LayoutTests:
Update expectations for newly passing tests.
- 10:05 PM Changeset in webkit [289997] by
-
- 13 edits in trunk
Change the canonical unit for time category from ms to s.
https://bugs.webkit.org/show_bug.cgi?id=236631
Reviewed by Darin Adler.
According to the spec, https://drafts.csswg.org/css-values-4/#time,
the canonical unit for <time> is Seconds.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-values/minmax-time-serialize-expected.txt:
Source/WebCore:
- css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::conversionToCanonicalUnitsScaleFactor):
- css/CSSUnits.cpp:
(WebCore::canonicalUnitTypeForCategory):
- css/calc/CSSCalcCategoryMapping.cpp:
(WebCore::canonicalUnitTypeForCalculationCategory):
LayoutTests:
- fast/css/calc-with-angle-time-frequency-expected.txt:
- fast/css/calc-with-angle-time-frequency.html:
- fast/css/getFloatValueForUnit-expected.txt:
- fast/css/getFloatValueForUnit.html:
- fast/css/transition-delay-calculated-value-expected.txt:
- fast/css/transition-delay-calculated-value.html:
- 8:25 PM Changeset in webkit [289996] by
-
- 5 edits in trunk
Use FileSystem::readEntireFile everywhere
https://bugs.webkit.org/show_bug.cgi?id=233818
<rdar://problem/86324895>
Reviewed by Chris Dumez.
Source/WebKit:
- NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::readSizeFile):
- Shared/PersistencyUtils.cpp:
(WebKit::createForFile):
Tools:
- TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
(TestWebKitAPI::readContentsOfFile):
- 8:23 PM Changeset in webkit [289995] by
-
- 3 edits2 adds in trunk
REGRESSION(r285885) Unable to exit Trip Details in Amtrak app
https://bugs.webkit.org/show_bug.cgi?id=236732
<rdar://87462825>
Reviewed by Simon Fraser.
Source/WebCore:
Starting from r285885 an (effective)”overflow: clip” value is set on any block box with “contain: paint”.
It is supposed to ensure we don’t paint outside of the box’s border box (note that "contain: paint", as the name implies, should only affect painting).
However this effective value trickles in to layout affecting certain layout constraints.
In case of flex, it makes the flex layout think that the box is really a clipped box and it starts flexing it accordingly producing incorrect size.
What it means is that the minimum preferred size ends up being 0px because now with "let's clip all the overflow content"
0px is indeed the smallest size a box could take that does not produce overflow (while with the initial, “overflow: visible” value,
its minimum width would likely be > 0px -provided it has some content. Also note that setting “overflow: clip” on the box in the markup
(so it becomes an explicit clip value and not just an “effective” implicit clip through “contain: paint”) produces
the exact same rendering meaning that this effective property value does affect layout).
This is a partial revert of r285885 (focusing on where the flex algorithm consults with the flex items' overflow values).
Test: fast/flexbox/incorrect-min-size-with-paint-contain.html
- rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::mainAxisOverflowForChild const):
(WebCore::RenderFlexibleBox::crossAxisOverflowForChild const):
LayoutTests:
- fast/flexbox/incorrect-min-size-with-paint-contain-expected.html: Added.
- fast/flexbox/incorrect-min-size-with-paint-contain.html: Added.
- 7:46 PM Changeset in webkit [289994] by
-
- 25 edits4 adds in trunk/Source
Send icons to the WebContent process for rendering of the attachment element
https://bugs.webkit.org/show_bug.cgi?id=236386
Reviewed by Darin Adler.
In order to avoid connecting to the Icon Services daemon in the WebContent process, we should send the icons for the attachment
Source/WebCore:
element to the WebContent process from the UI process. When the icon is being painted in the WebContent process, it is getting
the icon from the HTML attachment element, instead of creating it by connecting to Icon Services. The icon in the attachment
element is received from the UI process. A new AttachmentElementClient class is created to forward the messages to the UI
process.
- WebCore.xcodeproj/project.pbxproj:
- html/HTMLAttachmentElement.cpp:
(WebCore::HTMLAttachmentElement::updateIcon):
(WebCore::HTMLAttachmentElement::icon const):
(WebCore::HTMLAttachmentElement::iconSize const):
- html/HTMLAttachmentElement.h:
- loader/EmptyClients.cpp:
(WebCore::pageConfigurationWithEmptyClients):
- page/AttachmentElementClient.h: Added.
(WebCore::AttachmentElementClient::~AttachmentElementClient):
- page/EmptyAttachmentElementClient.h: Added.
- page/Page.cpp:
(WebCore::m_attachmentElementClient):
(WebCore::m_modelPlayerProvider): Deleted.
- page/Page.h:
(WebCore::Page::attachmentElementClient):
- page/PageConfiguration.cpp:
(WebCore::PageConfiguration::PageConfiguration):
- page/PageConfiguration.h:
- platform/graphics/Icon.h:
(WebCore::Icon::nsImage const):
- rendering/RenderThemeIOS.h:
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::iconForAttachment):
(WebCore::RenderAttachmentInfo::RenderAttachmentInfo):
(WebCore::paintAttachmentIcon):
(WebCore::iconForAttachment): Deleted.
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::iconForAttachment):
(WebCore::paintAttachmentIcon):
(WebCore::iconForAttachment): Deleted.
Source/WebKit:
element to the WebContent process from the UI process. The icon will be sent to the WebContent process when the attachment
attributes are updated, or the WebContent process has requested the icon. The new client class WebAttachmentElementClient is
responsible for requesting icons from the UI process.
- Sources.txt:
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::convertPlatformImageToBitmap):
(WebKit::WebPageProxy::iconForAttachment):
(WebKit::WebPageProxy::requestThumbnailWithOperation):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::requestAttachmentIcon):
(WebKit::WebPageProxy::updateAttachmentAttributes):
(WebKit::WebPageProxy::updateAttachmentThumbnail):
(WebKit::WebPageProxy::updateAttachmentIcon): Deleted.
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebCoreSupport/WebAttachmentElementClient.cpp: Added.
(WebKit::WebAttachmentElementClient::WebAttachmentElementClient):
(WebKit::WebAttachmentElementClient::requestAttachmentIcon):
- WebProcess/WebCoreSupport/WebAttachmentElementClient.h: Added.
- WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::didInsertAttachmentWithIdentifier):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_appHighlightsVisible):
(WebKit::WebPage::updateAttachmentThumbnail):
(WebKit::WebPage::updateAttachmentIcon):
(WebKit::WebPage::requestAttachmentIcon):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- 7:40 PM Changeset in webkit [289993] by
-
- 7 edits2 adds in trunk
Implement getComputedStyle for subgrids
https://bugs.webkit.org/show_bug.cgi?id=236148
Patch by Matt Woodrow <Matt Woodrow> on 2022-02-16
Reviewed by Manuel Rego Casasnovas.
Source/WebCore:
Adds OrderedNamedLinesCollectorInSubgridLayout to iterate the subgrid names list, stopping
at the number of actual tracks in the grid.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::OrderedNamedLinesCollectorInSubgridLayout::OrderedNamedLinesCollectorInSubgridLayout):
(WebCore::OrderedNamedLinesCollectorInGridLayout::collectLineNamesForIndex const):
(WebCore::OrderedNamedLinesCollectorInSubgridLayout::collectLineNamesForIndex const):
(WebCore::addValuesForNamedGridLinesAtIndex):
(WebCore::populateSubgridTrackList):
(WebCore::valueForGridTrackList):
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::computeAutoRepeatTracksCount const):
- rendering/RenderGrid.h:
- rendering/style/GridPositionsResolver.cpp:
(WebCore::NamedLineCollection::contains const):
- style/StyleBuilderConverter.h:
(WebCore::Style::BuilderConverter::createGridTrackList):
LayoutTests:
Mark tests as no longer crashing.
- 7:35 PM Changeset in webkit [289992] by
-
- 5 edits in trunk/Source/WebCore
Use OptionSet for TextureMapperShaderProgram::Options
https://bugs.webkit.org/show_bug.cgi?id=236689
Reviewed by Don Olmstead.
- platform/graphics/gstreamer/VideoTextureCopierGStreamer.cpp:
(WebCore::VideoTextureCopierGStreamer::copyVideoTextureToPlatformTexture):
- platform/graphics/gstreamer/VideoTextureCopierGStreamer.h:
- platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGLData::getShaderProgram):
Use unsigned for the HashMap key since OptionSet can't be used as a key.
(WebCore::optionsForFilterType):
(WebCore::TextureMapperGL::drawTexture):
(WebCore::TextureMapperGL::drawTexturePlanarYUV):
(WebCore::TextureMapperGL::drawTextureSemiPlanarYUV):
(WebCore::TextureMapperGL::drawTexturePackedYUV):
(WebCore::TextureMapperGL::drawSolidColor):
- platform/graphics/texmap/TextureMapperShaderProgram.h:
- 7:21 PM Changeset in webkit [289991] by
-
- 7 edits1 move1 add1 delete in trunk/Source/WebCore
Cache an entire attribute QualifiedName when parsing HTML, not just its local name AtomString
https://bugs.webkit.org/show_bug.cgi?id=236570
<rdar://problem/88876545>
Reviewed by Darin Adler.
Bug 229907 added HTMLAtomStringCache, which uses a fast to compute hash
that works well to cache HTML tag names, attribute names, and attribute
values. When AtomHTMLToken initializes its list of Attributes, it uses
HTMLAtomStringCache to look up or create an AtomString for the
attribute's local name, and then creates a QualifiedName to wrap it.
QualifiedName construction involves looking up QualifiedNameCache, which
is a thread-specific cache of QualifiedNameImpl objects. If we make
HTMLAtomStringCache responsible for caching an attribute's QualifiedName
instead of just its local name AtomString, we can avoid the work of
looking up the QualifiedNameCache.
To reflect its broader responsibilities, HTMLAtomStringCache is renamed
to HTMLNameCache.
Doing this results in a 0.2-0.3% improvement on Speedometer 2, and a
0.3-0.4% improvement on PLT5 (with the lower end of those ranges being
on Apple Silicon and the higher end on Intel).
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- dom/QualifiedName.h:
(WebCore::QualifiedName::QualifiedName):
- html/parser/AtomHTMLToken.h:
(WebCore::AtomHTMLToken::initializeAttributes):
(WebCore::AtomHTMLToken::AtomHTMLToken):
- html/parser/HTMLAtomStringCache.h: Removed.
(WebCore::HTMLAtomStringCache::makeTagOrAttributeName): Deleted.
(WebCore::HTMLAtomStringCache::makeAttributeValue): Deleted.
(WebCore::HTMLAtomStringCache::clear): Deleted.
(WebCore::HTMLAtomStringCache::make): Deleted.
(WebCore::HTMLAtomStringCache::cacheSlot): Deleted.
- html/parser/HTMLNameCache.cpp: Renamed from Source/WebCore/html/parser/HTMLAtomStringCache.cpp.
(WebCore::HTMLNameCache::atomStringCache):
(WebCore::HTMLNameCache::qualifiedNameCache):
- html/parser/HTMLNameCache.h: Added.
(WebCore::HTMLNameCache::makeTagName):
(WebCore::HTMLNameCache::makeAttributeQualifiedName):
(WebCore::HTMLNameCache::makeAttributeValue):
(WebCore::HTMLNameCache::clear):
(WebCore::HTMLNameCache::makeAtomString):
(WebCore::HTMLNameCache::makeQualifiedName):
(WebCore::HTMLNameCache::slotIndex):
(WebCore::HTMLNameCache::atomStringCacheSlot):
(WebCore::HTMLNameCache::qualifiedNameCacheSlot):
- page/MemoryRelease.cpp:
(WebCore::releaseNoncriticalMemory):
- page/cocoa/MemoryReleaseCocoa.mm:
(WebCore::jettisonExpensiveObjectsOnTopLevelNavigation):
- 7:19 PM Changeset in webkit [289990] by
-
- 47 edits in trunk/LayoutTests
Add fuzzy data for test failures seen on the iOS GPU Process bot
Unreviewed.
LayoutTests/imported/mozilla:
- svg/blend-exclusion.svg:
- svg/blend-overlay.svg:
- svg/text-gradient-01.svg:
LayoutTests/imported/w3c:
- web-platform-tests/css/css-backgrounds/background-rounded-image-clip.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-001.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-002.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-003.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-004.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-005.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-006.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-007.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-008.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-001.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-002.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-003.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-004.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-005.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-006.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-007.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-008.html:
- web-platform-tests/css/css-transforms/css-skew-002.html:
- web-platform-tests/css/css-transforms/transforms-skewY.html:
LayoutTests:
- compositing/backgrounds/fixed-backgrounds.html:
- compositing/images/positioned-image-content-rect.html:
- css3/background/background-repeat-space-border.html:
- css3/background/background-repeat-space-content.html:
- css3/background/background-repeat-space-padding.html:
- css3/masking/clip-path-ellipse.html:
- css3/masking/clip-path-inset-corners.html:
- css3/masking/clip-path-restore.html:
- fast/backgrounds/gradient-background-shadow.html:
- fast/filter-image/filter-image-blur.html:
- fast/layers/overflow-scroll-transform-border-radius.html:
- fast/masking/clip-path-inset-large-radii.html:
- fast/overflow/line-clamp-with-text-shadow.html:
- fast/text/decorations-vertical-underline.html:
- fast/text/fitzpatrick-combination.html:
- fast/text/simple-line-layout-text-position-with-stroke.html:
- gpu-process/TestExpectations:
- svg/clip-path/clip-opacity.html:
- svg/clip-path/clip-path-objectboundingbox-003.svg:
- svg/clip-path/svg-in-html.html:
- svg/clip-path/webkit-clip-path-after.svg:
- svg/clip-path/webkit-clip-path-before.svg:
- 6:19 PM Changeset in webkit [289989] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION: TestWebKitAPI.WKWebViewDisableSelection.DoubleClickDoesNotSelectWhenTextInteractionsAreDisabled is failing
https://bugs.webkit.org/show_bug.cgi?id=236718
Reviewed by Wenson Hsieh.
A check got missed when refactoring code for 289818.
- page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEventDoubleClick):
- 5:59 PM Changeset in webkit [289988] by
-
- 2 edits in trunk/Tools
Broken pipes during iOS simulator testing
https://bugs.webkit.org/show_bug.cgi?id=230513
<rdar://problem/83325409>
Reviewed by Dewei Zhu.
- Scripts/webkitpy/port/simulator_process.py:
(SimulatorProcess.Popen.poll): Close stdin, stdout and stderr when process ends.
- 5:31 PM Changeset in webkit [289987] by
-
- 4 edits in trunk/Tools
[EWS] Rename 'patch' to 'change' in transfer-archive-to-s3
https://bugs.webkit.org/show_bug.cgi?id=236706
<rdar://problem/89025868>
Reviewed by Aakash Jain.
- Tools/CISupport/Shared/transfer-archive-to-s3: Change --patch_id argument
to --change-id.
- Tools/CISupport/ews-build/steps.py:
(TransferToS3): Invoke transfer-archive-to-s3 with --change-id.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/247372@main
- 5:31 PM Changeset in webkit [289986] by
-
- 13 edits in trunk
Inherit track count from parent grid for subgridded axes and clamp item placement to that explicit grid.
https://bugs.webkit.org/show_bug.cgi?id=236122
Patch by Matt Woodrow <Matt Woodrow> on 2022-02-16
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
Test changes to match latest spec, submitted upstream as https://github.com/web-platform-tests/wpt/pull/32629
- web-platform-tests/css/css-grid/subgrid/line-names-002-expected.html:
- web-platform-tests/css/css-grid/subgrid/line-names-005-expected.html:
Source/WebCore:
Changes GridPositionsResolver::explicitGrid<>Count to return the number of tracks
spanned in the parent grid, for axes that are a subgrid.
Updates adjustGridPositionsForStyle to use the number of lines specified in the
subgrid property, for grid items that are also a subgrid and have an otherwise
indefinite span.
Adds clamping support to Grid so that we can prevent subgrids from ever adding
new implicit tracks.
- rendering/Grid.cpp:
(WebCore::Grid::insert):
(WebCore::Grid::setClampingForSubgrid):
(WebCore::Grid::clampAndTranslateToImplicitGrid):
(WebCore::Grid::setNeedsItemsPlacement):
- rendering/Grid.h:
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::computeIntrinsicLogicalWidths const):
(WebCore::RenderGrid::placeItemsOnGrid const):
(WebCore::RenderGrid::populateExplicitGridAndOrderIterator const):
(WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid const):
(WebCore::RenderGrid::isSubgrid const):
(WebCore::RenderGrid::isSubgridRows const):
(WebCore::RenderGrid::isSubgridColumns const):
(WebCore::RenderGrid::gridAreaBreadthForOutOfFlowChild):
(WebCore::RenderGrid::numTracks const):
(WebCore::transposedDirection):
(WebCore::RenderGrid::computeGridSpanForOutOfFlowChild const):
(WebCore::RenderGrid::gridSpanForOutOfFlowChild const):
(WebCore::RenderGrid::gridSpanForChild const):
- rendering/RenderGrid.h:
- rendering/style/GridArea.h:
(WebCore::GridSpan::integerSpan const):
(WebCore::GridSpan::translateTo):
(WebCore::GridSpan::clamp):
- rendering/style/GridPositionsResolver.cpp:
(WebCore::isIndefiniteSpan):
(WebCore::adjustGridPositionsFromStyle):
(WebCore::GridPositionsResolver::explicitGridColumnCount):
(WebCore::GridPositionsResolver::explicitGridRowCount):
(WebCore::explicitGridSizeForSide):
(WebCore::resolveNamedGridLinePositionFromStyle):
(WebCore::resolveNamedGridLinePositionAgainstOppositePosition):
(WebCore::resolveGridPositionAgainstOppositePosition):
(WebCore::resolveGridPositionFromStyle):
(WebCore::GridPositionsResolver::resolveGridPositionsFromStyle):
- rendering/style/GridPositionsResolver.h:
- 5:25 PM Changeset in webkit [289985] by
-
- 4 edits in trunk/Tools
[git-webkit] Comment and close issue when landing PR (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=236715
<rdar://problem/89031529>
Unreviewed follow-up fix.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version instead of decrement.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/land.py:
(Land.main): Grab log of commit, which may contain revision, if there is one.
- 5:18 PM Changeset in webkit [289984] by
-
- 3 edits in trunk/Tools
[EWS] Rename 'patch' to 'change' in layout-test steps
https://bugs.webkit.org/show_bug.cgi?id=236674
<rdar://problem/88992222>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(RunWebKitTestsWithoutChange.setLayoutTestCommand):
(AnalyzeLayoutTestsResults.report_failure):
(AnalyzeLayoutTestsResults.retry_build):
(RunWebKitTestsRepeatFailuresRedTree.evaluateCommand):
(RunWebKitTestsRepeatFailuresRedTree.commandComplete):
(RunWebKitTestsRepeatFailuresWithoutChangeRedTree): Renamed.
(RunWebKitTestsRepeatFailuresWithoutChangeRedTree.setLayoutTestCommand):
(RunWebKitTestsRepeatFailuresWithoutChangeRedTree.evaluateCommand):
(RunWebKitTestsRepeatFailuresWithoutChangeRedTree.commandComplete):
(RunWebKitTestsRepeatFailuresWithoutPatchRedTree): Renamed.
(AnalyzeLayoutTestsResultsRedTree.report_infrastructure_issue_and_maybe_retry_build):
(AnalyzeLayoutTestsResultsRedTree.start):
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/247370@main
- 5:10 PM Changeset in webkit [289983] by
-
- 5 edits in trunk/Tools
[git-webkit] Comment and close issue when landing PR
https://bugs.webkit.org/show_bug.cgi?id=236715
<rdar://problem/89031529>
Reviewed by Ryan Haddad.
When we land pull requests, we should make a comment on the associated issue
indicating where the code change is and close that issue.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/land.py:
(Land.main): Comment on and close issue associated with the final commit in
the landed series, shorten displayed hash to 12 characters.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/land_unittest.py:
(repository): Allow caller to specify issue URL in commit message, append git-svn
tag if in a git-svn repository.
(TestLand):
(TestLand.test_default):
(TestLand.test_canonicalize):
(TestLand.test_svn):
(TestLand.test_default_with_radar):
(TestLand.test_canonicalize_with_bugzilla):
(TestLand.test_svn_with_bugzilla):
Canonical link: https://commits.webkit.org/247369@main
- 4:40 PM Changeset in webkit [289982] by
-
- 2 edits in trunk/Tools
[GTK][WPE] Execute API test by name
https://bugs.webkit.org/show_bug.cgi?id=236623
Reviewed by Carlos Garcia Campos.
When running either
run-gtk-tests
orrun-wpe-tests
, let them take a test name and build
the path to the test.
- glib/api_test_runner.py:
(TestRunner._get_tests):
- 4:11 PM Changeset in webkit [289981] by
-
- 16 edits in trunk
[GPU Process] Enable drawing the SVGImage in the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=227748
rdar://80582699
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
This sub-test was originally failing and this is why the bug
https://bugs.webkit.org/show_bug.cgi?id=231001 was filed.
After https://trac.webkit.org/changeset/279722/webkit, it got fixed because
SVGImage was rendered to a NativeImage and the NativeImage is rendered
to the destination GraphicsContext. GraphicsContext::drawNativeImage()
handles the image orientation properly.
Because this change will be reverted, the result of this test has to be
rebaselined with the failure message.
- web-platform-tests/html/canvas/element/manual/imagebitmap/createImageBitmap-flipY-expected.txt:
Source/WebCore:
This patch reverts the revisions r279722, r284740 and r283531. So it will
enable drawing the SVGImage in GPU Process if GPU Process for "canvas" or
for "DOM rendering" is enabled
We fix the scratch ImageBuffer in SVGImage::nativeImage() to be accelerated
if acceleratedDrawingEnabled() is true. We also create a remote one if
GPUProcess for DOM rendering is enabled.
We also allow passing a ColorSpace to SVGImage::nativeImage() to control
the colorSpace of the resulted NativeImage. Because this function overrides
the base class method Image::nativeImage() we have to pass a ColorSpace
to BitmapImage also. A FIXME comment is added to BitmapImage::nativeImage()
to handle this argument in a future patch.
- html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::drawImage):
(WebCore::drawImageToContext):
(WebCore::CanvasRenderingContext2DBase::fullCanvasCompositedDrawImage):
- platform/graphics/BifurcatedGraphicsContext.cpp:
(WebCore::BifurcatedGraphicsContext::drawImageForCanvas): Deleted.
- platform/graphics/BifurcatedGraphicsContext.h:
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::nativeImage):
- platform/graphics/BitmapImage.h:
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawImageForCanvas): Deleted.
- platform/graphics/GraphicsContext.h:
- platform/graphics/Image.cpp:
(WebCore::Image::drawForCanvas): Deleted.
- platform/graphics/Image.h:
(WebCore::Image::nativeImage):
(WebCore::Image::draw):
- svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::drawForContainer):
(WebCore::SVGImage::nativeImage):
(WebCore::SVGImage::draw):
(WebCore::SVGImage::drawForCanvasForContainer): Deleted.
(WebCore::SVGImage::drawForContainerInternal): Deleted.
(WebCore::SVGImage::drawForCanvas): Deleted.
(WebCore::SVGImage::drawInternal): Deleted.
(WebCore::SVGImage::drawAsNativeImage): Deleted.
- svg/graphics/SVGImage.h:
- svg/graphics/SVGImageForContainer.cpp:
(WebCore::SVGImageForContainer::drawForCanvas): Deleted.
- svg/graphics/SVGImageForContainer.h:
- 4:10 PM Changeset in webkit [289980] by
-
- 3 edits in trunk/Tools
[EWS] Rename 'patch' to 'change' in api-test steps
https://bugs.webkit.org/show_bug.cgi?id=236676
<rdar://problem/88993105>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(ReRunAPITests.evaluateCommand): Renamed RunAPITestsWithoutPatch to RunAPITestsWithoutChange.
(RunAPITestsWithoutChange): Ditto.
(AnalyzeAPITestsResults.start): Ditto.
(AnalyzeAPITestsResults.analyzeResults): Ditto.
(RunAPITestsWithoutChange): Renamed from RunAPITestsWithoutPatch.
(RunAPITestsWithoutPatch): Renamed to RunAPITestsWithoutChange.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/247366@main
- 4:03 PM Changeset in webkit [289979] by
-
- 2 edits in trunk/Tools/CISupport/build-webkit-org
Set up a post-commit bot to test workspace builds
https://bugs.webkit.org/show_bug.cgi?id=236726
Reviewed by Jonathan Bedard.
- CISupport/build-webkit-org/config.json:
- CISupport/build-webkit-org/factories_unittest.py:
(TestExpectedBuildSteps):
Canonical link: https://commits.webkit.org/247365@main
- 3:49 PM Changeset in webkit [289978] by
-
- 151 edits7 copies3 deletes in trunk/Source
[WebGPU] Update IDLs and stubs to latest version of the spec
https://bugs.webkit.org/show_bug.cgi?id=236639
Reviewed by Dean Jackson.
Source/WebCore:
This updates our WebGPU infrastructure to spec revision 626f8c05c8e67b54159e93ae7c3699a889f0b115. This
is just the plumbing that connects IDL -> WebCore C++ -> PAL virtual methods -> WebKit Web process ->
WebKit GPU process -> PAL virtual methods -> PAL WebGPU implementation -> WebGPU.framework. This also
updates the WebGPU.h shared header to revision 08ef57733503b8fb504e0681a8db650c88225947. This is just
plumbing - the actual implementation of this stuff is still just stubs in WebGPU.framework.
There have been a few various changes:
- A viewFormats array has been added to GPUCanvasConfiguration and GPUTextureDescriptor
- fillBuffer() has been renamed to clearBuffer()
- Pipeline statistics queries have been deleted
- A few refactorings to turn Vector<Foo> things into Vector<std::optional<Foo>>
- flipY has been added to GPUImageCopyExternalImage
- Load operations have been redesigned on both GPURenderPassColorAttachment and
GPURenderPassDepthStencilAttachment
- endPass() has been renamed to end()
- Shader compilation now takes a record<entry point name, GPUShaderModuleCompilationHint>
No new tests because the implementation is still just stubs.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Headers.cmake:
- Modules/WebGPU/GPUBuffer.cpp:
(WebCore::GPUBuffer::mapAsync):
(WebCore::GPUBuffer::getMappedRange):
- Modules/WebGPU/GPUBuffer.h:
- Modules/WebGPU/GPUCanvasConfiguration.h:
(WebCore::GPUCanvasConfiguration::convertToBacking const):
- Modules/WebGPU/GPUCanvasConfiguration.idl:
- Modules/WebGPU/GPUCommandEncoder.cpp:
(WebCore::GPUCommandEncoder::clearBuffer):
(WebCore::GPUCommandEncoder::fillBuffer): Deleted.
- Modules/WebGPU/GPUCommandEncoder.h:
- Modules/WebGPU/GPUCommandEncoder.idl:
- Modules/WebGPU/GPUCommandsMixin.idl: Copied from Source/WebCore/Modules/WebGPU/GPULoadOp.idl.
- Modules/WebGPU/GPUComputePassEncoder.cpp:
(WebCore::GPUComputePassEncoder::dispatch):
(WebCore::GPUComputePassEncoder::end):
(WebCore::GPUComputePassEncoder::beginPipelineStatisticsQuery): Deleted.
(WebCore::GPUComputePassEncoder::endPipelineStatisticsQuery): Deleted.
(WebCore::GPUComputePassEncoder::endPass): Deleted.
- Modules/WebGPU/GPUComputePassEncoder.h:
- Modules/WebGPU/GPUComputePassEncoder.idl:
- Modules/WebGPU/GPUDebugCommandsMixin.idl: Copied from Source/WebCore/Modules/WebGPU/GPUFragmentState.idl.
- Modules/WebGPU/GPUFeatureName.h:
(WebCore::convertToBacking):
- Modules/WebGPU/GPUFeatureName.idl:
- Modules/WebGPU/GPUFragmentState.h:
(WebCore::GPUFragmentState::convertToBacking const):
- Modules/WebGPU/GPUFragmentState.idl:
- Modules/WebGPU/GPUImageCopyExternalImage.h:
(WebCore::GPUImageCopyExternalImage::convertToBacking const):
- Modules/WebGPU/GPUImageCopyExternalImage.idl:
- Modules/WebGPU/GPULoadOp.h:
(WebCore::convertToBacking):
- Modules/WebGPU/GPULoadOp.idl:
- Modules/WebGPU/GPUObjectBase.idl:
- Modules/WebGPU/GPUPipelineStatisticName.h: Removed.
- Modules/WebGPU/GPUPipelineStatisticName.idl: Removed.
- Modules/WebGPU/GPUProgrammablePassEncoder.idl:
- Modules/WebGPU/GPUQuerySetDescriptor.h:
(WebCore::GPUQuerySetDescriptor::convertToBacking const):
- Modules/WebGPU/GPUQuerySetDescriptor.idl:
- Modules/WebGPU/GPUQueryType.h:
(WebCore::convertToBacking):
- Modules/WebGPU/GPUQueryType.idl:
- Modules/WebGPU/GPUQueue.cpp:
(WebCore::GPUQueue::writeBuffer):
- Modules/WebGPU/GPUQueue.h:
- Modules/WebGPU/GPURenderBundleEncoder.idl:
- Modules/WebGPU/GPURenderBundleEncoderDescriptor.h:
(WebCore::GPURenderBundleEncoderDescriptor::convertToBacking const):
- Modules/WebGPU/GPURenderPassColorAttachment.h:
(WebCore::GPURenderPassColorAttachment::convertToBacking const):
- Modules/WebGPU/GPURenderPassColorAttachment.idl:
- Modules/WebGPU/GPURenderPassDepthStencilAttachment.h:
(WebCore::GPURenderPassDepthStencilAttachment::convertToBacking const):
- Modules/WebGPU/GPURenderPassDepthStencilAttachment.idl:
- Modules/WebGPU/GPURenderPassDescriptor.h:
(WebCore::GPURenderPassDescriptor::convertToBacking const):
- Modules/WebGPU/GPURenderPassDescriptor.idl:
- Modules/WebGPU/GPURenderPassEncoder.cpp:
(WebCore::GPURenderPassEncoder::end):
(WebCore::GPURenderPassEncoder::beginPipelineStatisticsQuery): Deleted.
(WebCore::GPURenderPassEncoder::endPipelineStatisticsQuery): Deleted.
(WebCore::GPURenderPassEncoder::endPass): Deleted.
- Modules/WebGPU/GPURenderPassEncoder.h:
- Modules/WebGPU/GPURenderPassEncoder.idl:
- Modules/WebGPU/GPURenderPassLayout.h:
(WebCore::GPURenderPassLayout::convertToBacking const):
- Modules/WebGPU/GPURenderPassLayout.idl:
- Modules/WebGPU/GPUShaderModuleCompilationHint.h: Copied from Source/WebCore/Modules/WebGPU/GPULoadOp.h.
(WebCore::GPUShaderModuleCompilationHint::convertToBacking const):
- Modules/WebGPU/GPUShaderModuleCompilationHint.idl: Copied from Source/WebCore/Modules/WebGPU/GPUQueryType.idl.
- Modules/WebGPU/GPUShaderModuleDescriptor.h:
(WebCore::GPUShaderModuleDescriptor::convertToBacking const):
- Modules/WebGPU/GPUShaderModuleDescriptor.idl:
- Modules/WebGPU/GPUTextureDescriptor.h:
(WebCore::GPUTextureDescriptor::convertToBacking const):
- Modules/WebGPU/GPUTextureDescriptor.idl:
- Modules/WebGPU/GPUTextureFormat.h:
(WebCore::convertToBacking):
- Modules/WebGPU/GPUTextureFormat.idl:
- Modules/WebGPU/GPUUncapturedErrorEvent.idl:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
Source/WebCore/PAL:
- PAL.xcodeproj/project.pbxproj:
- pal/graphics/WebGPU/Impl/WebGPUAdapterImpl.cpp:
(PAL::WebGPU::supportedFeatures):
(PAL::WebGPU::AdapterImpl::requestDevice):
- pal/graphics/WebGPU/Impl/WebGPUBufferImpl.cpp:
(PAL::WebGPU::BufferImpl::mapAsync):
(PAL::WebGPU::BufferImpl::getMappedRange):
- pal/graphics/WebGPU/Impl/WebGPUBufferImpl.h:
- pal/graphics/WebGPU/Impl/WebGPUCommandEncoderImpl.cpp:
(PAL::WebGPU::CommandEncoderImpl::beginRenderPass):
(PAL::WebGPU::CommandEncoderImpl::beginComputePass):
(PAL::WebGPU::CommandEncoderImpl::clearBuffer):
(PAL::WebGPU::CommandEncoderImpl::fillBuffer): Deleted.
- pal/graphics/WebGPU/Impl/WebGPUCommandEncoderImpl.h:
- pal/graphics/WebGPU/Impl/WebGPUComputePassEncoderImpl.cpp:
(PAL::WebGPU::ComputePassEncoderImpl::dispatch):
(PAL::WebGPU::ComputePassEncoderImpl::end):
(PAL::WebGPU::ComputePassEncoderImpl::beginPipelineStatisticsQuery): Deleted.
(PAL::WebGPU::ComputePassEncoderImpl::endPipelineStatisticsQuery): Deleted.
(PAL::WebGPU::ComputePassEncoderImpl::endPass): Deleted.
- pal/graphics/WebGPU/Impl/WebGPUComputePassEncoderImpl.h:
- pal/graphics/WebGPU/Impl/WebGPUConvertToBackingContext.cpp:
(PAL::WebGPU::ConvertToBackingContext::convertToBacking):
- pal/graphics/WebGPU/Impl/WebGPUConvertToBackingContext.h:
- pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.cpp:
(PAL::WebGPU::DeviceImpl::createTexture):
(PAL::WebGPU::DeviceImpl::createShaderModule):
(PAL::WebGPU::convertToBacking):
(PAL::WebGPU::DeviceImpl::createRenderBundleEncoder):
(PAL::WebGPU::DeviceImpl::createQuerySet):
- pal/graphics/WebGPU/Impl/WebGPUImpl.cpp:
(PAL::WebGPU::GPUImpl::requestAdapter):
- pal/graphics/WebGPU/Impl/WebGPURenderPassEncoderImpl.cpp:
(PAL::WebGPU::RenderPassEncoderImpl::end):
(PAL::WebGPU::RenderPassEncoderImpl::beginPipelineStatisticsQuery): Deleted.
(PAL::WebGPU::RenderPassEncoderImpl::endPipelineStatisticsQuery): Deleted.
(PAL::WebGPU::RenderPassEncoderImpl::endPass): Deleted.
- pal/graphics/WebGPU/Impl/WebGPURenderPassEncoderImpl.h:
- pal/graphics/WebGPU/WebGPUBuffer.h:
- pal/graphics/WebGPU/WebGPUCanvasConfiguration.h:
- pal/graphics/WebGPU/WebGPUCommandEncoder.h:
- pal/graphics/WebGPU/WebGPUComputePassEncoder.h:
- pal/graphics/WebGPU/WebGPUFeatureName.h:
- pal/graphics/WebGPU/WebGPUFragmentState.h:
- pal/graphics/WebGPU/WebGPUImageCopyExternalImage.h:
- pal/graphics/WebGPU/WebGPULoadOp.h:
- pal/graphics/WebGPU/WebGPUPipelineStatisticName.h: Removed.
- pal/graphics/WebGPU/WebGPUQuerySetDescriptor.h:
- pal/graphics/WebGPU/WebGPUQueryType.h:
- pal/graphics/WebGPU/WebGPUQueue.h:
- pal/graphics/WebGPU/WebGPURenderPassColorAttachment.h:
- pal/graphics/WebGPU/WebGPURenderPassDepthStencilAttachment.h:
- pal/graphics/WebGPU/WebGPURenderPassDescriptor.h:
- pal/graphics/WebGPU/WebGPURenderPassEncoder.h:
- pal/graphics/WebGPU/WebGPURenderPassLayout.h:
- pal/graphics/WebGPU/WebGPUShaderModuleCompilationHint.h: Copied from Source/WebCore/PAL/pal/graphics/WebGPU/WebGPUImageCopyExternalImage.h.
- pal/graphics/WebGPU/WebGPUShaderModuleDescriptor.h:
- pal/graphics/WebGPU/WebGPUTextureDescriptor.h:
- pal/graphics/WebGPU/WebGPUTextureFormat.h:
Source/WebGPU:
- WebGPU/Adapter.h:
- WebGPU/Adapter.mm:
(WebGPU::Adapter::enumerateFeatures):
(wgpuAdapterEnumerateFeatures):
(WebGPU::Adapter::getFeatureAtIndex): Deleted.
(wgpuAdapterGetFeatureAtIndex): Deleted.
- WebGPU/CommandEncoder.h:
- WebGPU/CommandEncoder.mm:
(WebGPU::CommandEncoder::clearBuffer):
(wgpuCommandEncoderClearBuffer):
(WebGPU::CommandEncoder::fillBuffer): Deleted.
(wgpuCommandEncoderFillBuffer): Deleted.
- WebGPU/ComputePassEncoder.h:
- WebGPU/ComputePassEncoder.mm:
(WebGPU::ComputePassEncoder::writeTimestamp): Deleted.
(wgpuComputePassEncoderWriteTimestamp): Deleted.
- WebGPU/Device.h:
- WebGPU/Device.mm:
(WebGPU::Device::enumerateFeatures):
(WebGPU::Device::hasFeature):
(wgpuDeviceEnumerateFeatures):
(wgpuDeviceHasFeature):
- WebGPU/Instance.mm:
(wgpuGetProcAddress):
- WebGPU/RenderPassEncoder.h:
- WebGPU/RenderPassEncoder.mm:
(WebGPU::RenderPassEncoder::writeTimestamp): Deleted.
(wgpuRenderPassEncoderWriteTimestamp): Deleted.
- WebGPU/ShaderModule.h:
- WebGPU/ShaderModule.mm:
(WebGPU::ShaderModule::getCompilationInfo):
(wgpuShaderModuleGetCompilationInfo):
- WebGPU/WebGPU.h:
- WebGPU/WebGPUExt.h:
Source/WebKit:
- GPUProcess/graphics/WebGPU/RemoteBuffer.cpp:
(WebKit::RemoteBuffer::mapAsync):
- GPUProcess/graphics/WebGPU/RemoteBuffer.h:
- GPUProcess/graphics/WebGPU/RemoteBuffer.messages.in:
- GPUProcess/graphics/WebGPU/RemoteCommandEncoder.cpp:
(WebKit::RemoteCommandEncoder::clearBuffer):
(WebKit::RemoteCommandEncoder::fillBuffer): Deleted.
- GPUProcess/graphics/WebGPU/RemoteCommandEncoder.h:
- GPUProcess/graphics/WebGPU/RemoteCommandEncoder.messages.in:
- GPUProcess/graphics/WebGPU/RemoteComputePassEncoder.cpp:
(WebKit::RemoteComputePassEncoder::dispatch):
(WebKit::RemoteComputePassEncoder::end):
(WebKit::RemoteComputePassEncoder::beginPipelineStatisticsQuery): Deleted.
(WebKit::RemoteComputePassEncoder::endPipelineStatisticsQuery): Deleted.
(WebKit::RemoteComputePassEncoder::endPass): Deleted.
- GPUProcess/graphics/WebGPU/RemoteComputePassEncoder.h:
- GPUProcess/graphics/WebGPU/RemoteComputePassEncoder.messages.in:
- GPUProcess/graphics/WebGPU/RemoteRenderPassEncoder.cpp:
(WebKit::RemoteRenderPassEncoder::end):
(WebKit::RemoteRenderPassEncoder::beginPipelineStatisticsQuery): Deleted.
(WebKit::RemoteRenderPassEncoder::endPipelineStatisticsQuery): Deleted.
(WebKit::RemoteRenderPassEncoder::endPass): Deleted.
- GPUProcess/graphics/WebGPU/RemoteRenderPassEncoder.h:
- GPUProcess/graphics/WebGPU/RemoteRenderPassEncoder.messages.in:
- Shared/WebGPU/WebGPUCanvasConfiguration.cpp:
(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):
(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):
- Shared/WebGPU/WebGPUCanvasConfiguration.h:
(WebKit::WebGPU::CanvasConfiguration::encode const):
(WebKit::WebGPU::CanvasConfiguration::decode):
- Shared/WebGPU/WebGPUConvertFromBackingContext.h:
- Shared/WebGPU/WebGPUConvertToBackingContext.h:
- Shared/WebGPU/WebGPUFragmentState.cpp:
(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):
(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):
- Shared/WebGPU/WebGPUFragmentState.h:
(WebKit::WebGPU::FragmentState::decode):
- Shared/WebGPU/WebGPUImageCopyExternalImage.cpp:
(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):
(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):
- Shared/WebGPU/WebGPUImageCopyExternalImage.h:
(WebKit::WebGPU::ImageCopyExternalImage::encode const):
(WebKit::WebGPU::ImageCopyExternalImage::decode):
- Shared/WebGPU/WebGPUImageCopyTexture.cpp:
(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):
(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):
- Shared/WebGPU/WebGPUQuerySetDescriptor.cpp:
(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):
(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):
- Shared/WebGPU/WebGPUQuerySetDescriptor.h:
(WebKit::WebGPU::QuerySetDescriptor::encode const):
(WebKit::WebGPU::QuerySetDescriptor::decode):
- Shared/WebGPU/WebGPURenderPassColorAttachment.cpp:
(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):
(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):
- Shared/WebGPU/WebGPURenderPassColorAttachment.h:
(WebKit::WebGPU::RenderPassColorAttachment::encode const):
(WebKit::WebGPU::RenderPassColorAttachment::decode):
- Shared/WebGPU/WebGPURenderPassDepthStencilAttachment.cpp:
(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):
(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):
- Shared/WebGPU/WebGPURenderPassDepthStencilAttachment.h:
(WebKit::WebGPU::RenderPassDepthStencilAttachment::encode const):
(WebKit::WebGPU::RenderPassDepthStencilAttachment::decode):
- Shared/WebGPU/WebGPURenderPassDescriptor.cpp:
(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):
(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):
- Shared/WebGPU/WebGPURenderPassDescriptor.h:
(WebKit::WebGPU::RenderPassDescriptor::decode):
- Shared/WebGPU/WebGPURenderPassLayout.h:
(WebKit::WebGPU::RenderPassLayout::decode):
- Shared/WebGPU/WebGPUShaderModuleCompilationHint.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUShaderModuleDescriptor.cpp.
(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):
(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):
- Shared/WebGPU/WebGPUShaderModuleCompilationHint.h: Copied from Source/WebKit/Shared/WebGPU/WebGPUImageCopyExternalImage.h.
(WebKit::WebGPU::ShaderModuleCompilationHint::encode const):
(WebKit::WebGPU::ShaderModuleCompilationHint::decode):
- Shared/WebGPU/WebGPUShaderModuleDescriptor.cpp:
(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):
(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):
- Shared/WebGPU/WebGPUShaderModuleDescriptor.h:
(WebKit::WebGPU::ShaderModuleDescriptor::encode const):
(WebKit::WebGPU::ShaderModuleDescriptor::decode):
- Shared/WebGPU/WebGPUTextureDescriptor.cpp:
(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):
(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):
- Shared/WebGPU/WebGPUTextureDescriptor.h:
(WebKit::WebGPU::TextureDescriptor::encode const):
(WebKit::WebGPU::TextureDescriptor::decode):
- Sources.txt:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/GPU/graphics/WebGPU/RemoteBufferProxy.cpp:
(WebKit::WebGPU::RemoteBufferProxy::mapAsync):
(WebKit::WebGPU::RemoteBufferProxy::getMappedRange):
- WebProcess/GPU/graphics/WebGPU/RemoteBufferProxy.h:
- WebProcess/GPU/graphics/WebGPU/RemoteCommandEncoderProxy.cpp:
(WebKit::WebGPU::RemoteCommandEncoderProxy::clearBuffer):
(WebKit::WebGPU::RemoteCommandEncoderProxy::fillBuffer): Deleted.
- WebProcess/GPU/graphics/WebGPU/RemoteCommandEncoderProxy.h:
- WebProcess/GPU/graphics/WebGPU/RemoteComputePassEncoderProxy.cpp:
(WebKit::WebGPU::RemoteComputePassEncoderProxy::dispatch):
(WebKit::WebGPU::RemoteComputePassEncoderProxy::end):
(WebKit::WebGPU::RemoteComputePassEncoderProxy::beginPipelineStatisticsQuery): Deleted.
(WebKit::WebGPU::RemoteComputePassEncoderProxy::endPipelineStatisticsQuery): Deleted.
(WebKit::WebGPU::RemoteComputePassEncoderProxy::endPass): Deleted.
- WebProcess/GPU/graphics/WebGPU/RemoteComputePassEncoderProxy.h:
- WebProcess/GPU/graphics/WebGPU/RemoteQueueProxy.h:
- WebProcess/GPU/graphics/WebGPU/RemoteRenderPassEncoderProxy.cpp:
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::end):
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::beginPipelineStatisticsQuery): Deleted.
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::endPipelineStatisticsQuery): Deleted.
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::endPass): Deleted.
- WebProcess/GPU/graphics/WebGPU/RemoteRenderPassEncoderProxy.h:
- 3:48 PM Changeset in webkit [289977] by
-
- 3 edits in trunk/LayoutTests
Unreviewed gardening for GPU Process.
- gpu-process/TestExpectations:
- platform/mac/TestExpectations: fly-by update.
- 3:45 PM Changeset in webkit [289976] by
-
- 29 edits in trunk/Source
[GPU Process] Route the call to ImageBuffer::drawPattern() through GraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=236638
Reviewed by Simon Fraser.
Source/WebCore:
This will allow recording ImageBuffer::drawPattern() via the super classes
DisplayList::RecorderImpl and RemoteDisplayListRecorderProxy. So another
version of GraphicsContext::drawPattern() will be added which takes
ImageBuffer as an argument.
To make the display list item DrawPattern be suitable for recording both
versions of drawPattern(), we need to remove the argument 'imageSize'
from GraphicsContext::drawPattern() since this function is only called from
Image::drawPattern() and it passes imageSize = Image::size(). So imageSize
can be calculated from the NativeImage::size().
The DisplayList::Replayer and RemoteDisplayListRecorder have to consider
the RenderingResourceIdentifier of the DrawPattern can be the identifier
of a NativeImage or an ImageBuffer. DrawPattern::apply() needs to take a
SourceImage and it can make the decision whether to call the NativeImage
version or the ImageBuffer version of GraphicsContext::drawPattern().
- html/CustomPaintImage.cpp:
(WebCore::CustomPaintImage::drawPattern):
- platform/graphics/BifurcatedGraphicsContext.cpp:
(WebCore::BifurcatedGraphicsContext::drawPattern):
- platform/graphics/BifurcatedGraphicsContext.h:
- platform/graphics/CrossfadeGeneratedImage.cpp:
(WebCore::CrossfadeGeneratedImage::drawPattern):
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawPattern):
- platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContext::drawPattern):
- platform/graphics/Image.cpp:
(WebCore::Image::drawPattern):
- platform/graphics/NamedImageGeneratedImage.cpp:
(WebCore::NamedImageGeneratedImage::drawPattern):
- platform/graphics/NullGraphicsContext.h:
- platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContextCairo::drawPattern):
- platform/graphics/cairo/GraphicsContextCairo.h:
- platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContextCG::drawPattern):
- platform/graphics/cg/GraphicsContextCG.h:
- platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::DrawPattern::DrawPattern):
(WebCore::DisplayList::DrawPattern::apply const):
- platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::DrawPattern::DrawPattern):
(WebCore::DisplayList::DrawPattern::imageIdentifier const):
(WebCore::DisplayList::DrawPattern::imageSize const): Deleted.
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::drawPattern):
- platform/graphics/displaylists/DisplayListRecorder.h:
(WebCore::DisplayList::Recorder::recordDrawPattern):
- platform/graphics/displaylists/DisplayListRecorderImpl.cpp:
(WebCore::DisplayList::RecorderImpl::recordDrawPattern):
- platform/graphics/displaylists/DisplayListRecorderImpl.h:
(WebCore::DisplayList::RecorderImpl::recordDrawPattern):
- platform/graphics/displaylists/DisplayListReplayer.cpp:
(WebCore::DisplayList::applySourceImageItem):
(WebCore::DisplayList::Replayer::applyItem):
- platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp:
(Nicosia::CairoOperationRecorder::drawPattern):
- platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h:
Source/WebKit:
- GPUProcess/graphics/RemoteDisplayListRecorder.cpp:
(WebKit::RemoteDisplayListRecorder::drawPattern):
(WebKit::RemoteDisplayListRecorder::drawPatternWithQualifiedIdentifier):
- GPUProcess/graphics/RemoteDisplayListRecorder.h:
- GPUProcess/graphics/RemoteDisplayListRecorder.messages.in:
- WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:
(WebKit::RemoteDisplayListRecorderProxy::recordDrawPattern):
- WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
(WebKit::RemoteDisplayListRecorderProxy::recordDrawPattern):
- 3:35 PM Changeset in webkit [289975] by
-
- 2 edits in trunk/Tools
[EWS] Enable JSC queues
https://bugs.webkit.org/show_bug.cgi?id=236523
<rdar://problem/88831360>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/config.json:
Canonical link: https://commits.webkit.org/247361@main
- 3:31 PM Changeset in webkit [289974] by
-
- 2 edits in trunk/Source/WTF
Unreviewed, reverting r286874.
https://bugs.webkit.org/show_bug.cgi?id=236734
Broke Apple Music pages which use the resolution media query
Reverted changeset:
"Enable the 'resolution' media query by default"
https://bugs.webkit.org/show_bug.cgi?id=78087
https://commits.webkit.org/r286874
- 3:24 PM Changeset in webkit [289973] by
-
- 2 edits in trunk/Tools
[EWS] Disable Bugzilla related steps for PR workflow
https://bugs.webkit.org/show_bug.cgi?id=236735
<rdar://problem/89049663>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(SetCommitQueueMinusFlagOnPatch.doStepIf): Do step if patch_id is defined.
Canonical link: https://commits.webkit.org/247358@main
- 3:23 PM Changeset in webkit [289972] by
-
- 7 edits in trunk/Source/WebKit
[iOS][macOS] Block access to Icon Services
https://bugs.webkit.org/show_bug.cgi?id=235616
Reviewed by Darin Adler.
Stop creating a sandbox extension for the Icon service when the attachment element is enabled,
since local testing indicates that this is not needed.
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
(WebKit::attachmentElementServices): Deleted.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::shutDown):
(WebKit::WebProcessProxy::processDidTerminateOrFailedToLaunch):
- UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::hasIssuedAttachmentElementRelatedSandboxExtensions const): Deleted.
(WebKit::WebProcessProxy::setHasIssuedAttachmentElementRelatedSandboxExtensions): Deleted.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_appHighlightsVisible):
- 3:12 PM Changeset in webkit [289971] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, non-unified build fix after r289742
https://bugs.webkit.org/show_bug.cgi?id=236687
- css/ContainerQueryParser.h:
- 3:10 PM Changeset in webkit [289970] by
-
- 1 copy in tags/Safari-613.1.17.1.4
Tag Safari-613.1.17.1.4.
- 3:10 PM Changeset in webkit [289969] by
-
- 1 copy in tags/Safari-613.1.17.0.4
Tag Safari-613.1.17.0.4.
- 3:07 PM Changeset in webkit [289968] by
-
- 2 edits in trunk/Source/WebKit
Add an additions point for
shouldRecognizeSimultaneouslyWithGestureRecognizer
https://bugs.webkit.org/show_bug.cgi?id=236724
Reviewed by Wenson Hsieh.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _shouldAdditionallyRecognizeGestureRecognizer:simultaneouslyWithGestureRecognizer:]):
(-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
- 2:56 PM Changeset in webkit [289967] by
-
- 2 edits1 add in trunk
[CMake][PlayStation] Add find module for WPE Backend for PlayStation
https://bugs.webkit.org/show_bug.cgi?id=236721
Reviewed by Michael Catanzaro.
Add the find module to detect the presence of the WPE Backend for PlayStation platforms.
Currently its not required to have the WPE Backend so its presence is conditional. When
there USE(WPE_BACKEND_PLAYSTATION) will be true.
- Source/cmake/FindWPEBackendPlayStation.cmake: Added.
- Source/cmake/OptionsPlayStation.cmake:
- 2:50 PM Changeset in webkit [289966] by
-
- 3 edits in trunk/Tools
[EWS] Rename 'patch' to 'change' in JSC steps
https://bugs.webkit.org/show_bug.cgi?id=236679
<rdar://problem/88993957>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(AnalyzeJSCTestsResults.start): Rename 'patch' in variables and log messages to 'change'.
(AnalyzeJSCTestsResults.report_failure): Ditto.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/247354@main
- 2:43 PM Changeset in webkit [289965] by
-
- 13 edits in trunk/LayoutTests
iOS test gardening after turning on accelerated drawing
https://bugs.webkit.org/show_bug.cgi?id=236680
rdar://problem/88996489
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
Add fuzzy data.
- web-platform-tests/css/css-color/t422-rgba-onscreen-b.xht:
- web-platform-tests/css/css-color/t422-rgba-onscreen-multiple-boxes-c.xht:
- web-platform-tests/css/css-color/t425-hsla-onscreen-b.xht:
- web-platform-tests/css/css-color/t425-hsla-onscreen-multiple-boxes-c.xht:
LayoutTests:
- TestExpectations:
- platform/gtk/TestExpectations: Some tests now uniquely fail on GTK; moved here.
- platform/ios-simulator-wk2/TestExpectations:
- platform/ios-simulator/TestExpectations:
- platform/ios-wk2/TestExpectations:
- platform/ios/TestExpectations: Many tests are passing only on iOS, some fail only on the iPad simulator.
- platform/mac/TestExpectations:
- 2:12 PM Changeset in webkit [289964] by
-
- 1 copy in tags/Safari-613.1.17.2.1
Tag Safari-613.1.17.2.1.
- 2:11 PM Changeset in webkit [289963] by
-
- 1 copy in tags/Safari-613.1.17.3.1
Tag Safari-613.1.17.3.1.
- 2:10 PM Changeset in webkit [289962] by
-
- 4 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r289875. rdar://problem/88358696
Web Inspector: [Cocoa] Reentrancy in WebKit::WebInspectorUIProxy::open
https://bugs.webkit.org/show_bug.cgi?id=236672
Reviewed by Devin Rousso.
Speculative fix for non-reproducible reentrancy. Because
WebInspectorUIProxy::open
calls
WebInspectorUIProxy::platformBringToFront
, which under some conditions can callWebInspectorUIProxy::open
,
there was an opportunity for recurssion. This appears to happen when the window of the inspector view does not
match the window of the inspected web view, which in general should not be possible for a newly opened
inspector. My suspicion is that the web view is not actually attached to a window at the time the inspector is
being opened. This patch adds a fail-safe that will detach the inspector view into its own window when these
conditions are met while we are in middle of opening the inspector, and also adds logging to indicate if the
inspected web view was actually in a window. This should both prevent the crash from the re-entry as well as
provide more context when the issue does occur.
- UIProcess/Inspector/WebInspectorUIProxy.cpp: (WebKit::WebInspectorUIProxy::open):
- UIProcess/Inspector/WebInspectorUIProxy.h:
- UIProcess/Inspector/mac/WebInspectorUIProxyMac.mm: (WebKit::WebInspectorUIProxy::platformBringToFront):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289875 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:59 PM Changeset in webkit [289961] by
-
- 3 edits in branches/safari-613.1.17.3-branch/Source/WebCore
Cherry-pick r289567. rdar://problem/88323864
Crash in in WebCore::CSSStyleSheet::didMutateRules
https://bugs.webkit.org/show_bug.cgi?id=236450
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-02-10
Reviewed by Antti Koivisto.
Replace the raw pointer rule in RuleMutationScope with a RefPtr so it can be accessible
for the scope.
- css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::RuleMutationScope::~RuleMutationScope):
- css/CSSStyleSheet.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289567 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:59 PM Changeset in webkit [289960] by
-
- 4 edits in branches/safari-613.1.17.3-branch/Source/WTF
Apply patch. rdar://problem/87486284
- 1:59 PM Changeset in webkit [289959] by
-
- 3 edits in branches/safari-613.1.17.2-branch/Source/WebCore
Cherry-pick r289567. rdar://problem/88323864
Crash in in WebCore::CSSStyleSheet::didMutateRules
https://bugs.webkit.org/show_bug.cgi?id=236450
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-02-10
Reviewed by Antti Koivisto.
Replace the raw pointer rule in RuleMutationScope with a RefPtr so it can be accessible
for the scope.
- css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::RuleMutationScope::~RuleMutationScope):
- css/CSSStyleSheet.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289567 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:59 PM Changeset in webkit [289958] by
-
- 4 edits in branches/safari-613.1.17.2-branch/Source/WTF
Apply patch. rdar://problem/87486284
- 1:55 PM Changeset in webkit [289957] by
-
- 9 edits in branches/safari-613.1.17.3-branch/Source
Versioning.
WebKit-7613.1.17.3.1
- 1:54 PM Changeset in webkit [289956] by
-
- 9 edits in branches/safari-613.1.17.2-branch/Source
Versioning.
WebKit-7613.1.17.2.1
- 1:51 PM Changeset in webkit [289955] by
-
- 2 edits2 deletes in branches/safari-613.1.17.0-branch
Revert r289924. rdar://problem/82142820
- 1:50 PM Changeset in webkit [289954] by
-
- 2 edits in trunk/LayoutTests
[ macOS ] http/tests/media/video-play-waiting.html is a constant time out.
https://bugs.webkit.org/show_bug.cgi?id=236722
Unreviewed test gardening.
Patch by Matteo Flores <Matteo Flores> on 2022-02-16
- platform/mac/TestExpectations:
- 1:49 PM Changeset in webkit [289953] by
-
- 2 edits2 deletes in branches/safari-613.1.17.1-branch
Revert r289920. rdar://problem/82142820
- 1:49 PM Changeset in webkit [289952] by
-
- 3 edits2 deletes in branches/safari-613.1.17.1-branch
Revert r289919. rdar://problem/81337114
- 1:43 PM Changeset in webkit [289951] by
-
- 3 edits2 deletes in branches/safari-613.1.17.0-branch
Revert r289923. rdar://problem/81337114
- 1:36 PM Changeset in webkit [289950] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.34
Merge r289776 - Fix crash with deeply nested async overflow scroll
https://bugs.webkit.org/show_bug.cgi?id=236599
Source/WebCore:
rdar://88656665
Reviewed by Alan Bujtas.
mergeClippingScopesRecursive() already does the append of the rects; doing so
before calling recursing triggers double appends, hence exponentially growing
rect lists.
Test: compositing/layer-creation/clipping-scope/deeply-nested-overflow.html
- rendering/LayerOverlapMap.cpp:
(WebCore::OverlapMapContainer::mergeClippingScopesRecursive):
LayoutTests:
Reviewed by Alan Bujtas.
- compositing/layer-creation/clipping-scope/deeply-nested-overflow-expected.txt: Added.
- compositing/layer-creation/clipping-scope/deeply-nested-overflow.html: Added.
- 1:33 PM Changeset in webkit [289949] by
-
- 12 edits in trunk
[CMake] Cannot find OpenGL when system provides opengl.pc instead of gl.pc
https://bugs.webkit.org/show_bug.cgi?id=236592
Reviewed by Don Olmstead.
.:
- Source/cmake/FindOpenGL.cmake: Rewrite to use imported targets, try the "opengl" and "glx"
pkg-config modules first, otherwise keep the existing logic that tried the "gl" pkg-config
module with fallbacks to find_path/find_library.
- Source/cmake/OptionsGTK.cmake: Check for the presence of the OpenGL::GLX target instead of
te GLX_FOUND variable.
Source/ThirdParty/ANGLE:
- PlatformGTK.cmake: Use the OpenGL::OpenGL imported target instead of the
OPENGL_LIBRARIES variable.
- PlatformWPE.cmake: Ditto, plus replace a spurious use of OPENGLES_LIBRARIES
with the OpenGL::GLES target.
Source/WebCore:
- CMakeLists.txt: Use the OpenGL::OpenGL and OpenGL::GLX imported targets instead of variables.
- platform/graphics/GLContext.cpp: Move here includes for the GL headers.
- platform/graphics/GLContext.h: Remove includes for the GL headers, none of their
declarations are used here; instead include only the needed EGL headers to get the
definition of EGLNativeWindowType.
Source/WebKit:
- CMakeLists.txt: Remove usage of the OPENGL_ variables for the WebKit target, which is
uneeded because it links to WebCore, which transitively pulls the needed libraries now
that imported targets are being used.
- 1:05 PM Changeset in webkit [289948] by
-
- 2 edits in trunk/Tools
[EWS] Add tests for GitHub class
https://bugs.webkit.org/show_bug.cgi?id=236649
<rdar://problem/88966033>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps_unittest.py:
(TestGitHub):
(TestGitHub.test_pr_url):
(TestGitHub.test_pr_url_with_repository):
(TestGitHub.test_pr_url_with_invalid_repository):
(TestGitHub.test_commit_url):
(TestGitHub.test_commit_url_with_repository):
(TestGitHub.test_commit_url_with_invalid_repository):
Canonical link: https://commits.webkit.org/247350@main
- 12:52 PM Changeset in webkit [289947] by
-
- 3 edits in trunk/Tools
[EWS][GTK] Send only one e-mail with all the list of flakies
https://bugs.webkit.org/show_bug.cgi?id=236705
Reviewed by Adrian Perez de Castro.
Sending one e-mail per test was too much e-mails and we were
spaming the bot watchers. Change it to only send one e-mail
per run with all the list of flakies on the body of the e-mail.
Fix also some issues detected on the code for sending the e-mails
(like a few undefined variables and function calls with wrong
paramters) that happened when running the unit test.
Add also unit tests to be able to check the contents of the
e-mails generated and also fix a logic error deteted when
working on the unit tests related to reporting
the pre_existent_non_flaky_failures for the GTK EWS.
- CISupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.send_email_for_new_build_failure):
(AnalyzeLayoutTestsResultsRedTree.send_email_for_pre_existent_failures):
(AnalyzeLayoutTestsResultsRedTree.send_email_for_flaky_failures_and_steps):
(AnalyzeLayoutTestsResultsRedTree.start):
- CISupport/ews-build/steps_unittest.py:
(BuildStepMixinAdditions.setUpBuildStep):
(BuildStepMixinAdditions._send_email):
- 12:49 PM Changeset in webkit [289946] by
-
- 40 edits in trunk
[Cocoa] Adopt -streamDataParser:didProvideContentKeySpecifier:forTrackID: delegate callback
https://bugs.webkit.org/show_bug.cgi?id=236109
Reviewed by Eric Carlson.
Source/WebCore:
The current set of delegate callback methods have a significant shortcoming: clients must
attach an AVContentKeySession to the AVStreamDataParser before returning from the
-streamDataParser:didProvideContentKeyRequestInitializationData:forTrackID: callback. This
is because the parser itself attaches the object required to decrypt each encrypted sample
to the sample itself at the parsing stage. If a client does not attach an
AVContentKeySession by the time that method returns, AVStreamDataParser will attach one of
its own.
The web-facing behavior this causes is that MSE appends will not complete (by firing
an "updateend" event) if an encrypted segment is parsed until the client creates and
attaches a MediaKeys object with a valid session.
A new delegate callback method, -streamDataParser:didProvideContentKeySpecifier:forTrackID:
allows us to work around this problem. When this delegate is present, AVStreamDataParser
will skip attaching a decryption object entirely, moving that responsibility to the
client. However, this comes with the requirement that the client (WebKit) won't enqueue
an encrypted sample before a decryption object is available via AVContentKeySession.
In order to meet this new requirement, WebKit will associate the key IDs necessary to
decrypt each sample in the MediaSample object that wraps the encrypted sample. Because not
every type of MediaSample will carry key IDs, this property was added to the
MediaSampleAVFObjC subclass, and therefore we need to be able to safely downcast from
MediaSample to MediaSampleAVFObjC. MediaSample subclasses can be distinguished by the
PlatformMediaSample type available through their platformSample() property, however this
call is not const, and may not be free, as it returns a non-POD type. So
PlatformMedia::Type was made an explicit enum type, and a new virtual method
platformSampleType() was added to MediaSample (and implemented by all subclasses), and a
type specialization macro was added to MediaSampleAVFObjC.
In order to check whether a given sample is capable of being enqueued, the CDMInstance
must be queried to determine if the sample's required keys are usable. For
CDMInstanceFairPlayStreamingAVFObjC, it has an existing keyStatus(), method, but that
method is also non-const, and may be expensive. So a KeyStatusMap instance variable
has been added to cache the key status for ease of querying. To notify an arbitrary number
of clients when the key statuses change, an Observer has been added.
When an encrypted sample is enqueued, if this new delegate method is available, the
source buffer will check if a CDM instance is available, and if so, whether the sample's
keys are usable. If any of these checks fail, the sample will be stored in a local queue
and new enqueues will be blocked. When the CDM's keyStatus observer is triggered, the
local queue will be processed, and all samples with usable key IDs will be enqueued.
Drive-by fix: Use SharedBuffer rather than Uint8Array, as the former is lighter weight
and can be more easily converted to and from a NSData.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerKeyNeeded):
- html/HTMLMediaElement.h:
- platform/MediaSample.h:
- platform/audio/cocoa/AudioFileReaderCocoa.cpp:
(WebCore::AudioFileReader::demuxWebMData const):
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::keyNeeded):
- platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerKeyNeeded):
- platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
- platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::isAnyKeyUsable const):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::addKeyStatusesChangedObserver):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::sessionKeyStatusesChanged):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::requestDidSucceed):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::updateKeyStatuses):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::copyKeyStatuses const):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::outputObscuredDueToInsufficientExternalProtectionChanged):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::updateProtectionStatusForDisplayID):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::keyStatuses const): Deleted.
- platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.h:
- platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:
(WebCore::CDMSessionAVContentKeySession::generateKeyRequest):
(WebCore::CDMSessionAVContentKeySession::update):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::keyNeeded):
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.h:
(WebCore::MediaSampleAVFObjC::setKeyIDs):
(WebCore::MediaSampleAVFObjC::keyIDs const):
(WebCore::MediaSampleAVFObjC::keyIDs):
(WTF::LogArgument<WebCore::MediaSampleAVFObjC>::toString):
(isType):
- platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
(WebCore::MediaSourcePrivateAVFObjC::sourceBufferKeyNeeded):
- platform/graphics/avfoundation/objc/SourceBufferParserAVFObjC.h:
- platform/graphics/avfoundation/objc/SourceBufferParserAVFObjC.mm:
(-[WebAVStreamDataParserListener streamDataParser:didProvideContentKeySpecifier:forTrackID:]):
(WebCore::SourceBufferParserAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID):
(WebCore::SourceBufferParserAVFObjC::didProvideContentKeyRequestSpecifierForTrackID):
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::sampleBufferRenderersSupportKeySession):
(WebCore::copyKeyIDs):
(WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):
(WebCore::SourceBufferPrivateAVFObjC::didParseInitializationData):
(WebCore::SourceBufferPrivateAVFObjC::didProvideMediaDataForTrackId):
(WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID):
(WebCore::SourceBufferPrivateAVFObjC::append):
(WebCore::SourceBufferPrivateAVFObjC::destroyRenderers):
(WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
(WebCore::SourceBufferPrivateAVFObjC::setCDMInstance):
(WebCore::SourceBufferPrivateAVFObjC::attemptToDecrypt):
(WebCore::SourceBufferPrivateAVFObjC::trackIsBlocked const):
(WebCore::SourceBufferPrivateAVFObjC::keyStatusesChanged):
(WebCore::SourceBufferPrivateAVFObjC::canEnqueueSample):
(WebCore::SourceBufferPrivateAVFObjC::enqueueSample):
(WebCore::SourceBufferPrivateAVFObjC::didBecomeReadyForMoreSamples):
(WebCore::SourceBufferPrivateAVFObjC::setVideoLayer):
- platform/graphics/cocoa/SourceBufferParser.h:
- platform/graphics/cocoa/SourceBufferParserWebM.cpp:
(WebCore::SourceBufferParserWebM::OnTrackEntry):
- platform/graphics/cocoa/SourceBufferParserWebM.h:
- platform/graphics/gstreamer/MediaSampleGStreamer.h:
- platform/mock/mediasource/MockSourceBufferPrivate.cpp:
Source/WebKit:
Add the newly requried virtual method changes to MediaSample subclasses, and use
SharedBuffer rather than Uint8Array.
- GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::mediaPlayerKeyNeeded):
- GPUProcess/media/RemoteMediaPlayerProxy.h:
- Shared/mac/MediaFormatReader/MediaFormatReader.cpp:
(WebKit::MediaFormatReader::parseByteSource):
(WebKit::MediaFormatReader::didProvideMediaData):
- Shared/mac/MediaFormatReader/MediaFormatReader.h:
- Shared/mac/MediaFormatReader/MediaSampleByteRange.h:
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::mediaPlayerKeyNeeded):
Source/WTF:
- wtf/PlatformHave.h:
Tools:
- TestWebKitAPI/Tests/WebCore/SampleMap.cpp:
- 12:26 PM Changeset in webkit [289945] by
-
- 2 edits in trunk/Source/WebKit
[PlayStation] Build fix after r289872
https://bugs.webkit.org/show_bug.cgi?id=236716
Unreviewed build fix
Add Webcore/Frame.h to include set
- WebProcess/Geolocation/WebGeolocationManager.cpp:
- 12:23 PM Changeset in webkit [289944] by
-
- 2 edits in branches/safari-613.1.17.1-branch/Source/WebKit
Cherry-pick r289926. rdar://problem/88787266
[macOS] Add access to mach service in the Networking process for all users
https://bugs.webkit.org/show_bug.cgi?id=236653
<rdar://88787266>
Reviewed by Chris Dumez.
Add access to CF preferences services if direct mode is not enabled.
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289926 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:23 PM Changeset in webkit [289943] by
-
- 2 edits in branches/safari-613.1.17.1-branch/Source/WebKit
Cherry-pick r289858. rdar://problem/88787266
[macOS] Add access to mach service in the Networking process for all users
https://bugs.webkit.org/show_bug.cgi?id=236653
<rdar://88787266>
Reviewed by Brent Fulgham.
We currently allow access to "com.apple.trustd" for the root user. Access to this service is needed for all users.
This issue was introduced in https://trac.webkit.org/changeset/283012/webkit, and this patch also reverts this
change for older versions of macOS.
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289858 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:22 PM Changeset in webkit [289942] by
-
- 4 edits in trunk/Source/WebCore
[Cocoa] Update audio session category before setting NowPlaying status
https://bugs.webkit.org/show_bug.cgi?id=236620
rdar://88827167
Reviewed by Jer Noble.
NowPlaying doesn't update correctly when the audio category changes from Ambient
to Playback after becoming active, so always set the category first.
Tested manually.
- platform/audio/PlatformMediaSession.cpp:
(WebCore::PlatformMediaSession::clientWillBeginPlayback): Set "preparingToPlay"
before callingsessionWillBeginPlayback
soupdateSessionState
can tell that
playback is about to begin.
- platform/audio/PlatformMediaSession.h:
- platform/audio/cocoa/MediaSessionManagerCocoa.mm:
(WebCore::MediaSessionManagerCocoa::updateSessionState): Consider a session to
potentially have audio if it is preparing to play.
- 12:16 PM Changeset in webkit [289941] by
-
- 4 edits in branches/safari-613-branch/Source/WTF
Apply patch. rdar://problem/87486284
- 12:16 PM Changeset in webkit [289940] by
-
- 1 edit in branches/safari-613-branch/Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in
Cherry-pick r289926. rdar://problem/88787266
[macOS] Add access to mach service in the Networking process for all users
https://bugs.webkit.org/show_bug.cgi?id=236653
<rdar://88787266>
Reviewed by Chris Dumez.
Add access to CF preferences services if direct mode is not enabled.
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289926 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:16 PM Changeset in webkit [289939] by
-
- 9 edits2 adds in branches/safari-613-branch
Cherry-pick r289892. rdar://problem/88696673
REGRESSION(r287293): EventListener::wasCreatedFromMarkup() is incorrect after replaceJSFunctionForAttributeListener()
https://bugs.webkit.org/show_bug.cgi?id=236618
<rdar://88696673>
Reviewed by Chris Dumez.
Source/WebCore:
After r287293, if an inline event handler was replaced with a JSFunction, its execution was
still disallowed by the CSP policy.
This change fixes detection of inline event handlers (ones that were created from markup)
by introducing JSEventListener::m_wasCreatedFromMarkup and unsetting it during replacement
of an attribute event listener.
Since no virtual calls are added to the hot path, the Speedometer2/Inferno-TodoMVC performance
gain is kept. Also, a virtual call is removed from JSEventListener::handleEvent(), which is nice.
sizeof(JSEventListener)
is unchanged.
Test: http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced.html
- bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::JSErrorHandler):
- bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::JSEventListener): (WebCore::JSEventListener::create): (WebCore::JSEventListener::replaceJSFunctionForAttributeListener):
- bindings/js/JSEventListener.h: (WebCore::JSEventListener::wasCreatedFromMarkup const): (WebCore::JSEventListener::wasCreatedFromMarkup):
- bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::JSLazyEventListener):
- bindings/js/JSLazyEventListener.h:
- dom/EventListener.h: (WebCore::EventListener::wasCreatedFromMarkup const): Deleted.
- dom/EventListenerMap.cpp: (WebCore::removeFirstListenerCreatedFromMarkup): (WebCore::copyListenersNotCreatedFromMarkupToTarget):
- dom/EventTarget.cpp: (WebCore::EventTarget::addEventListener):
- svg/SVGElement.cpp: (WebCore::SVGElement::removeEventListener):
LayoutTests:
- http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289892 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:16 PM Changeset in webkit [289938] by
-
- 1 edit2 adds in branches/safari-613-branch
Cherry-pick r289883. rdar://problem/82142820
Floating point exception in RenderListBox::numVisibleItems
https://bugs.webkit.org/show_bug.cgi?id=229307
Reviewed by Mark Lam.
Source/WebCore:
FontMetrics::height can return a negative value when setAscent() is called with
with a value that is too large to be represented as an int. Prevent this by
making setAscent() ensure that m_intAscent is set to a non-negative value.
Test: fast/forms/listbox-zero-item-height.html
- platform/graphics/FontMetrics.h: (WebCore::FontMetrics::setAscent):
LayoutTests:
- fast/forms/listbox-zero-item-height-expected.txt: Added.
- fast/forms/listbox-zero-item-height.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289883 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:16 PM Changeset in webkit [289937] by
-
- 1 edit2 adds in branches/safari-613-branch
Cherry-pick r289877. rdar://problem/81337114
Defer TerminationsExceptions while in operationMaterializeObjectInOSR.
https://bugs.webkit.org/show_bug.cgi?id=236686
rdar://81337114
Reviewed by Saam Barati.
JSTests:
These tests are identical except that they are customized with different watchdog
timeout periods for a Debug / Release build. This is a necessary condition in
order for the test to manifest this issue if the code is regressed.
- stress/termination-exception-in-operationMaterializeObjectInOSR-debug.js: Added.
- stress/termination-exception-in-operationMaterializeObjectInOSR-release.js: Added.
Source/JavaScriptCore:
operationMaterializeObjectInOSR expects to always succeed. It is difficult (and
not worth the effort) to make it be able to handle interruptions by the
TerminationException. Since operationMaterializeObjectInOSR is guaranteed to
finish running in some finite time, it is reasonable to just defer handling a
pending TerminationException until the function returns.
- ftl/FTLOperations.cpp: (JSC::FTL::JSC_DEFINE_JIT_OPERATION):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289877 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:16 PM Changeset in webkit [289936] by
-
- 1 edit in branches/safari-613-branch/Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in
Cherry-pick r289858. rdar://problem/88787266
[macOS] Add access to mach service in the Networking process for all users
https://bugs.webkit.org/show_bug.cgi?id=236653
<rdar://88787266>
Reviewed by Brent Fulgham.
We currently allow access to "com.apple.trustd" for the root user. Access to this service is needed for all users.
This issue was introduced in https://trac.webkit.org/changeset/283012/webkit, and this patch also reverts this
change for older versions of macOS.
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289858 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:16 PM Changeset in webkit [289935] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore/css
Cherry-pick r289567. rdar://problem/88323864
Crash in in WebCore::CSSStyleSheet::didMutateRules
https://bugs.webkit.org/show_bug.cgi?id=236450
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-02-10
Reviewed by Antti Koivisto.
Replace the raw pointer rule in RuleMutationScope with a RefPtr so it can be accessible
for the scope.
- css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::RuleMutationScope::~RuleMutationScope):
- css/CSSStyleSheet.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289567 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:16 PM Changeset in webkit [289934] by
-
- 6 edits2 adds in branches/safari-613-branch
Cherry-pick r288795. rdar://problem/88696673
[WebIDL] Add a sensible error message for a primitive non-null EventListener
https://bugs.webkit.org/show_bug.cgi?id=235863
Patch by Alexey Shvayka <ashvayka@apple.com> on 2022-01-29
Reviewed by Darin Adler.
Source/WebCore:
This patch moves isObject() check to JSEventListener converter, aligning it with
callback interface converter and removing now unused create() overload, and makes
code generator pass an exception thrower with a user-friendly TypeError message.
Since JSEventListener is quite different from other callback interfaces, we can't
make IsCallbackInterface() recognize it just yet, thus the type name has to be
hard-coded if we want the error message to be consistent with other generated ones.
Test: fast/events/event-listener-not-an-object.html
- bindings/js/JSDOMConvertEventListener.h: (WebCore::Converter<IDLEventListener<T>>::convert):
- bindings/js/JSEventListener.cpp:
- bindings/js/JSEventListener.h:
- bindings/scripts/CodeGeneratorJS.pm: (GetArgumentExceptionFunction):
- bindings/scripts/test/JS/*: Updated.
- dom/EventTarget.idl: Rename EventListener parameter to "listener" to match MDN / Chrome DevTools / matchMedia().
LayoutTests:
- fast/events/event-listener-not-an-object-expected.txt: Added.
- fast/events/event-listener-not-an-object.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:00 PM Changeset in webkit [289933] by
-
- 4 edits in branches/safari-613.1.17.1-branch/Source/WebKit
Cherry-pick r289875. rdar://problem/88358696
Web Inspector: [Cocoa] Reentrancy in WebKit::WebInspectorUIProxy::open
https://bugs.webkit.org/show_bug.cgi?id=236672
Reviewed by Devin Rousso.
Speculative fix for non-reproducible reentrancy. Because
WebInspectorUIProxy::open
calls
WebInspectorUIProxy::platformBringToFront
, which under some conditions can callWebInspectorUIProxy::open
,
there was an opportunity for recurssion. This appears to happen when the window of the inspector view does not
match the window of the inspected web view, which in general should not be possible for a newly opened
inspector. My suspicion is that the web view is not actually attached to a window at the time the inspector is
being opened. This patch adds a fail-safe that will detach the inspector view into its own window when these
conditions are met while we are in middle of opening the inspector, and also adds logging to indicate if the
inspected web view was actually in a window. This should both prevent the crash from the re-entry as well as
provide more context when the issue does occur.
- UIProcess/Inspector/WebInspectorUIProxy.cpp: (WebKit::WebInspectorUIProxy::open):
- UIProcess/Inspector/WebInspectorUIProxy.h:
- UIProcess/Inspector/mac/WebInspectorUIProxyMac.mm: (WebKit::WebInspectorUIProxy::platformBringToFront):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289875 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:00 PM Changeset in webkit [289932] by
-
- 11 edits2 adds in branches/safari-613.1.17.1-branch
Cherry-pick r289892. rdar://problem/88696673
REGRESSION(r287293): EventListener::wasCreatedFromMarkup() is incorrect after replaceJSFunctionForAttributeListener()
https://bugs.webkit.org/show_bug.cgi?id=236618
<rdar://88696673>
Reviewed by Chris Dumez.
Source/WebCore:
After r287293, if an inline event handler was replaced with a JSFunction, its execution was
still disallowed by the CSP policy.
This change fixes detection of inline event handlers (ones that were created from markup)
by introducing JSEventListener::m_wasCreatedFromMarkup and unsetting it during replacement
of an attribute event listener.
Since no virtual calls are added to the hot path, the Speedometer2/Inferno-TodoMVC performance
gain is kept. Also, a virtual call is removed from JSEventListener::handleEvent(), which is nice.
sizeof(JSEventListener)
is unchanged.
Test: http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced.html
- bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::JSErrorHandler):
- bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::JSEventListener): (WebCore::JSEventListener::create): (WebCore::JSEventListener::replaceJSFunctionForAttributeListener):
- bindings/js/JSEventListener.h: (WebCore::JSEventListener::wasCreatedFromMarkup const): (WebCore::JSEventListener::wasCreatedFromMarkup):
- bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::JSLazyEventListener):
- bindings/js/JSLazyEventListener.h:
- dom/EventListener.h: (WebCore::EventListener::wasCreatedFromMarkup const): Deleted.
- dom/EventListenerMap.cpp: (WebCore::removeFirstListenerCreatedFromMarkup): (WebCore::copyListenersNotCreatedFromMarkupToTarget):
- dom/EventTarget.cpp: (WebCore::EventTarget::addEventListener):
- svg/SVGElement.cpp: (WebCore::SVGElement::removeEventListener):
LayoutTests:
- http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289892 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:00 PM Changeset in webkit [289931] by
-
- 8 edits2 adds in branches/safari-613.1.17.1-branch
Cherry-pick r288795. rdar://problem/88696673
[WebIDL] Add a sensible error message for a primitive non-null EventListener
https://bugs.webkit.org/show_bug.cgi?id=235863
Patch by Alexey Shvayka <ashvayka@apple.com> on 2022-01-29
Reviewed by Darin Adler.
Source/WebCore:
This patch moves isObject() check to JSEventListener converter, aligning it with
callback interface converter and removing now unused create() overload, and makes
code generator pass an exception thrower with a user-friendly TypeError message.
Since JSEventListener is quite different from other callback interfaces, we can't
make IsCallbackInterface() recognize it just yet, thus the type name has to be
hard-coded if we want the error message to be consistent with other generated ones.
Test: fast/events/event-listener-not-an-object.html
- bindings/js/JSDOMConvertEventListener.h: (WebCore::Converter<IDLEventListener<T>>::convert):
- bindings/js/JSEventListener.cpp:
- bindings/js/JSEventListener.h:
- bindings/scripts/CodeGeneratorJS.pm: (GetArgumentExceptionFunction):
- bindings/scripts/test/JS/*: Updated.
- dom/EventTarget.idl: Rename EventListener parameter to "listener" to match MDN / Chrome DevTools / matchMedia().
LayoutTests:
- fast/events/event-listener-not-an-object-expected.txt: Added.
- fast/events/event-listener-not-an-object.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:00 PM Changeset in webkit [289930] by
-
- 11 edits2 deletes in branches/safari-613.1.17.1-branch
Revert "Cherry-pick r289892. rdar://problem/88696673"
This reverts commit r289901.
- 11:59 AM Changeset in webkit [289929] by
-
- 11 edits2 adds in branches/safari-613.1.17.0-branch
Cherry-pick r289892. rdar://problem/88696673
REGRESSION(r287293): EventListener::wasCreatedFromMarkup() is incorrect after replaceJSFunctionForAttributeListener()
https://bugs.webkit.org/show_bug.cgi?id=236618
<rdar://88696673>
Reviewed by Chris Dumez.
Source/WebCore:
After r287293, if an inline event handler was replaced with a JSFunction, its execution was
still disallowed by the CSP policy.
This change fixes detection of inline event handlers (ones that were created from markup)
by introducing JSEventListener::m_wasCreatedFromMarkup and unsetting it during replacement
of an attribute event listener.
Since no virtual calls are added to the hot path, the Speedometer2/Inferno-TodoMVC performance
gain is kept. Also, a virtual call is removed from JSEventListener::handleEvent(), which is nice.
sizeof(JSEventListener)
is unchanged.
Test: http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced.html
- bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::JSErrorHandler):
- bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::JSEventListener): (WebCore::JSEventListener::create): (WebCore::JSEventListener::replaceJSFunctionForAttributeListener):
- bindings/js/JSEventListener.h: (WebCore::JSEventListener::wasCreatedFromMarkup const): (WebCore::JSEventListener::wasCreatedFromMarkup):
- bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::JSLazyEventListener):
- bindings/js/JSLazyEventListener.h:
- dom/EventListener.h: (WebCore::EventListener::wasCreatedFromMarkup const): Deleted.
- dom/EventListenerMap.cpp: (WebCore::removeFirstListenerCreatedFromMarkup): (WebCore::copyListenersNotCreatedFromMarkupToTarget):
- dom/EventTarget.cpp: (WebCore::EventTarget::addEventListener):
- svg/SVGElement.cpp: (WebCore::SVGElement::removeEventListener):
LayoutTests:
- http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289892 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:59 AM Changeset in webkit [289928] by
-
- 8 edits2 adds in branches/safari-613.1.17.0-branch
Cherry-pick r288795. rdar://problem/88696673
[WebIDL] Add a sensible error message for a primitive non-null EventListener
https://bugs.webkit.org/show_bug.cgi?id=235863
Patch by Alexey Shvayka <ashvayka@apple.com> on 2022-01-29
Reviewed by Darin Adler.
Source/WebCore:
This patch moves isObject() check to JSEventListener converter, aligning it with
callback interface converter and removing now unused create() overload, and makes
code generator pass an exception thrower with a user-friendly TypeError message.
Since JSEventListener is quite different from other callback interfaces, we can't
make IsCallbackInterface() recognize it just yet, thus the type name has to be
hard-coded if we want the error message to be consistent with other generated ones.
Test: fast/events/event-listener-not-an-object.html
- bindings/js/JSDOMConvertEventListener.h: (WebCore::Converter<IDLEventListener<T>>::convert):
- bindings/js/JSEventListener.cpp:
- bindings/js/JSEventListener.h:
- bindings/scripts/CodeGeneratorJS.pm: (GetArgumentExceptionFunction):
- bindings/scripts/test/JS/*: Updated.
- dom/EventTarget.idl: Rename EventListener parameter to "listener" to match MDN / Chrome DevTools / matchMedia().
LayoutTests:
- fast/events/event-listener-not-an-object-expected.txt: Added.
- fast/events/event-listener-not-an-object.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:59 AM Changeset in webkit [289927] by
-
- 11 edits2 deletes in branches/safari-613.1.17.0-branch
Revert "Cherry-pick r289892. rdar://problem/88696673"
This reverts commit r289905.
- 11:55 AM Changeset in webkit [289926] by
-
- 2 edits in trunk/Source/WebKit
[macOS] Add access to mach service in the Networking process for all users
https://bugs.webkit.org/show_bug.cgi?id=236653
<rdar://88787266>
Reviewed by Chris Dumez.
Add access to CF preferences services if direct mode is not enabled.
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
- 11:40 AM Changeset in webkit [289925] by
-
- 4 edits in branches/safari-613.1.17.0-branch/Source/WTF
Apply patch. rdar://problem/87486284
- 11:40 AM Changeset in webkit [289924] by
-
- 3 edits2 adds in branches/safari-613.1.17.0-branch
Cherry-pick r289883. rdar://problem/82142820
Floating point exception in RenderListBox::numVisibleItems
https://bugs.webkit.org/show_bug.cgi?id=229307
Reviewed by Mark Lam.
Source/WebCore:
FontMetrics::height can return a negative value when setAscent() is called with
with a value that is too large to be represented as an int. Prevent this by
making setAscent() ensure that m_intAscent is set to a non-negative value.
Test: fast/forms/listbox-zero-item-height.html
- platform/graphics/FontMetrics.h: (WebCore::FontMetrics::setAscent):
LayoutTests:
- fast/forms/listbox-zero-item-height-expected.txt: Added.
- fast/forms/listbox-zero-item-height.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289883 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:40 AM Changeset in webkit [289923] by
-
- 3 edits2 adds in branches/safari-613.1.17.0-branch
Cherry-pick r289877. rdar://problem/81337114
Defer TerminationsExceptions while in operationMaterializeObjectInOSR.
https://bugs.webkit.org/show_bug.cgi?id=236686
rdar://81337114
Reviewed by Saam Barati.
JSTests:
These tests are identical except that they are customized with different watchdog
timeout periods for a Debug / Release build. This is a necessary condition in
order for the test to manifest this issue if the code is regressed.
- stress/termination-exception-in-operationMaterializeObjectInOSR-debug.js: Added.
- stress/termination-exception-in-operationMaterializeObjectInOSR-release.js: Added.
Source/JavaScriptCore:
operationMaterializeObjectInOSR expects to always succeed. It is difficult (and
not worth the effort) to make it be able to handle interruptions by the
TerminationException. Since operationMaterializeObjectInOSR is guaranteed to
finish running in some finite time, it is reasonable to just defer handling a
pending TerminationException until the function returns.
- ftl/FTLOperations.cpp: (JSC::FTL::JSC_DEFINE_JIT_OPERATION):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289877 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:40 AM Changeset in webkit [289922] by
-
- 4 edits in branches/safari-613.1.17.1-branch/Source/WTF
Apply patch. rdar://problem/87486284
- 11:40 AM Changeset in webkit [289921] by
-
- 3 edits in branches/safari-613.1.17.0-branch/Source/WebCore
Cherry-pick r289567. rdar://problem/88323864
Crash in in WebCore::CSSStyleSheet::didMutateRules
https://bugs.webkit.org/show_bug.cgi?id=236450
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-02-10
Reviewed by Antti Koivisto.
Replace the raw pointer rule in RuleMutationScope with a RefPtr so it can be accessible
for the scope.
- css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::RuleMutationScope::~RuleMutationScope):
- css/CSSStyleSheet.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289567 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:29 AM Changeset in webkit [289920] by
-
- 3 edits2 adds in branches/safari-613.1.17.1-branch
Cherry-pick r289883. rdar://problem/82142820
Floating point exception in RenderListBox::numVisibleItems
https://bugs.webkit.org/show_bug.cgi?id=229307
Reviewed by Mark Lam.
Source/WebCore:
FontMetrics::height can return a negative value when setAscent() is called with
with a value that is too large to be represented as an int. Prevent this by
making setAscent() ensure that m_intAscent is set to a non-negative value.
Test: fast/forms/listbox-zero-item-height.html
- platform/graphics/FontMetrics.h: (WebCore::FontMetrics::setAscent):
LayoutTests:
- fast/forms/listbox-zero-item-height-expected.txt: Added.
- fast/forms/listbox-zero-item-height.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289883 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:29 AM Changeset in webkit [289919] by
-
- 3 edits2 adds in branches/safari-613.1.17.1-branch
Cherry-pick r289877. rdar://problem/81337114
Defer TerminationsExceptions while in operationMaterializeObjectInOSR.
https://bugs.webkit.org/show_bug.cgi?id=236686
rdar://81337114
Reviewed by Saam Barati.
JSTests:
These tests are identical except that they are customized with different watchdog
timeout periods for a Debug / Release build. This is a necessary condition in
order for the test to manifest this issue if the code is regressed.
- stress/termination-exception-in-operationMaterializeObjectInOSR-debug.js: Added.
- stress/termination-exception-in-operationMaterializeObjectInOSR-release.js: Added.
Source/JavaScriptCore:
operationMaterializeObjectInOSR expects to always succeed. It is difficult (and
not worth the effort) to make it be able to handle interruptions by the
TerminationException. Since operationMaterializeObjectInOSR is guaranteed to
finish running in some finite time, it is reasonable to just defer handling a
pending TerminationException until the function returns.
- ftl/FTLOperations.cpp: (JSC::FTL::JSC_DEFINE_JIT_OPERATION):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289877 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:29 AM Changeset in webkit [289918] by
-
- 3 edits in branches/safari-613.1.17.1-branch/Source/WebCore
Cherry-pick r289567. rdar://problem/88323864
Crash in in WebCore::CSSStyleSheet::didMutateRules
https://bugs.webkit.org/show_bug.cgi?id=236450
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-02-10
Reviewed by Antti Koivisto.
Replace the raw pointer rule in RuleMutationScope with a RefPtr so it can be accessible
for the scope.
- css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::RuleMutationScope::~RuleMutationScope):
- css/CSSStyleSheet.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289567 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:29 AM Changeset in webkit [289917] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, reverting r289150.
Start using adattributiond on iOS again now that it is
sandboxed
Reverted changeset:
"Don't use adattributiond on iOS"
https://bugs.webkit.org/show_bug.cgi?id=236157
https://commits.webkit.org/r289150
- 10:53 AM Changeset in webkit [289916] by
-
- 2 edits in trunk/Source/WebKit
Effectively revert r289018
https://bugs.webkit.org/show_bug.cgi?id=236000
It caused some problems, and another approach will be taken.
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
- 10:49 AM Changeset in webkit [289915] by
-
- 7 edits in branches/safari-614.1.4-branch/LayoutTests
Cherry-pick r289869. rdar://problem/88927346
[ iOS ] fast/text/ch-unit-synthetic-bold.html is failing constantly on iOS
https://bugs.webkit.org/show_bug.cgi?id=236610
Turns out iOS doesn't have Monaco. It's fine though; we can use local() to create
a font that doesn't have a bold family member.
Unreviewed.
- fast/text/ch-unit-synthetic-bold-expected.html:
- fast/text/ch-unit-synthetic-bold.html:
- fast/text/tab-width-synthetic-bold-complex-expected.html:
- fast/text/tab-width-synthetic-bold-complex.html:
- fast/text/tab-width-synthetic-bold-expected.html:
- fast/text/tab-width-synthetic-bold.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289869 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:49 AM Changeset in webkit [289914] by
-
- 2 edits in branches/safari-614.1.4-branch/LayoutTests
Cherry-pick r289864. rdar://problem/88993883
REGRESSION(r289495): [ Monterey arm64 ] model-element/model-element-ready.html is a flaky assertion failure.
https://bugs.webkit.org/show_bug.cgi?id=236678
Unreviewed test gardening.
Patch by Matteo Flores <Matteo Flores> on 2022-02-15
- platform/mac-wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289864 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:49 AM Changeset in webkit [289913] by
-
- 3 edits in branches/safari-614.1.4-branch/Source/bmalloc
Cherry-pick r289788. rdar://problem/88928951
[libpas] compact pointers should load payload via memcpy
https://bugs.webkit.org/show_bug.cgi?id=236621
Reviewed by Mark Lam.
ASan found that we are loading 8 bytes which can potentially be overflowed.
For example, we load this from a pointer to stack variable, which means that
we could cause stack overflow. Instead we should use memcpy.
Currently, we only support little endian code, but it is OK since libpas is not
enabled in non little endian architectures.
- libpas/src/libpas/pas_compact_ptr.h:
- libpas/src/libpas/pas_compact_tagged_ptr.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289788 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:41 AM Changeset in webkit [289912] by
-
- 40 edits2 deletes in trunk/Source
ANGLE includes interfere with system header includes
https://bugs.webkit.org/show_bug.cgi?id=236636
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-16
Reviewed by Dean Jackson.
Source/WebCore:
Move ANGLEHeaders.h includes only to the .cpp/.mm files
that need to use ANGLE.
Use GCGL* types consistently in the GraphicsContextGLANGLE.h
declations. The WebCore types are intended to be used in place of OpenGL, EGL types
so that WebCore code does not need to include OpenGL headers.
Rename PlatformGraphicsContextGL{Display, Config}, PlatformGraphicsContextGL to
GCGLDisplay, GCGLConfig, GCGLContext to make them consistent with other
duplicated types. Declare these in GraphicsTypesGL.h, similar to others.
Remove currently unused PlatformGraphicsContextGLSurface.
Rename TemporaryANGLESetting to ScopedGLCapability, consistent with other ScopedGL*
classes. Move the implementations of ScopedGL* to ANGLEUtilities.cpp, since the
implementations need to use ANGLE and these need the ANGLE headers.
No new tests, refactor. Fixes the compile on Big Sur, internal SDK when a file add or remove
would changed unified build file ordering.
- CMakeLists.txt:
- Modules/webxr/WebXROpaqueFramebuffer.cpp:
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/GLContext.h:
- platform/graphics/GraphicsContextGL.h:
- platform/graphics/GraphicsTypesGL.h:
- platform/graphics/angle/ANGLEUtilities.cpp:
(WebCore::ScopedRestoreTextureBinding::ScopedRestoreTextureBinding):
(WebCore::ScopedRestoreTextureBinding::~ScopedRestoreTextureBinding):
(WebCore::ScopedBufferBinding::ScopedBufferBinding):
(WebCore::ScopedBufferBinding::~ScopedBufferBinding):
(WebCore::ScopedRestoreReadFramebufferBinding::bindFramebuffer):
(WebCore::ScopedRestoreReadFramebufferBinding::~ScopedRestoreReadFramebufferBinding):
(WebCore::ScopedPixelStorageMode::ScopedPixelStorageMode):
(WebCore::ScopedPixelStorageMode::~ScopedPixelStorageMode):
(WebCore::ScopedPixelStorageMode::pixelStore):
(WebCore::ScopedTexture::ScopedTexture):
(WebCore::ScopedTexture::~ScopedTexture):
(WebCore::ScopedFramebuffer::ScopedFramebuffer):
(WebCore::ScopedFramebuffer::~ScopedFramebuffer):
(WebCore::ScopedGLFence::reset):
(WebCore::ScopedGLFence::fenceSync):
(WebCore::ScopedGLCapability::ScopedGLCapability):
(WebCore::ScopedGLCapability::~ScopedGLCapability):
- platform/graphics/angle/ANGLEUtilities.h:
(WebCore::ScopedBufferBinding::query):
(WebCore::ScopedRestoreReadFramebufferBinding::ScopedRestoreReadFramebufferBinding):
(WebCore::ScopedRestoreReadFramebufferBinding::framebufferTarget const):
(WebCore::ScopedPixelStorageMode::operator GCGLint const):
(WebCore::ScopedTexture::operator GCGLuint const):
(WebCore::ScopedFramebuffer::operator GCGLuint const):
(WebCore::ScopedGLFence::get const):
(WebCore::ScopedGLFence::operator GCGLsync const):
- platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::releaseThreadResources):
(WebCore::GraphicsContextGLANGLE::resolveMultisamplingIfNecessary):
(WebCore::GraphicsContextGLANGLE::prepareTextureImpl):
(WebCore::GraphicsContextGLANGLE::reshape):
(WebCore::GraphicsContextGLANGLE::isSync):
(WebCore::GraphicsContextGLANGLE::deleteSync):
(WebCore::GraphicsContextGLANGLE::clientWaitSync):
(WebCore::GraphicsContextGLANGLE::waitSync):
(WebCore::GraphicsContextGLANGLE::getSynci):
(WebCore::GraphicsContextGLANGLE::waitAndUpdateOldestFrame):
- platform/graphics/angle/GraphicsContextGLANGLE.h:
- platform/graphics/angle/TemporaryANGLESetting.cpp: Removed.
- platform/graphics/angle/TemporaryANGLESetting.h: Removed.
- platform/graphics/cocoa/ANGLEUtilitiesCocoa.cpp:
(WebCore::platformIsANGLEAvailable):
(WebCore::createPbufferAndAttachIOSurface):
- platform/graphics/cocoa/ANGLEUtilitiesCocoa.h:
- platform/graphics/cocoa/GraphicsContextGLCocoa.mm:
(WebCore::GraphicsContextGLANGLE::makeCurrent):
(WebCore::GraphicsContextGLANGLE::platformDisplay const):
(WebCore::GraphicsContextGLANGLE::platformConfig const):
- platform/graphics/cv/GraphicsContextGLCVCocoa.cpp:
- platform/graphics/cv/GraphicsContextGLCVCocoa.h:
- platform/graphics/egl/GLContextEGL.cpp:
(WebCore::GLContextEGL::platformContext):
- platform/graphics/egl/GLContextEGL.h:
- platform/graphics/glx/GLContextGLX.cpp:
(WebCore::GLContextGLX::platformContext):
- platform/graphics/glx/GLContextGLX.h:
- platform/graphics/gstreamer/PlatformDisplayGStreamer.cpp:
(PlatformDisplay::tryEnsureGstGLContext const):
- platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.cpp:
(Nicosia::GCGLANGLELayer::ANGLEContext::platformContext const):
(Nicosia::GCGLANGLELayer::ANGLEContext::platformDisplay const):
(Nicosia::GCGLANGLELayer::ANGLEContext::platformConfig const):
(Nicosia::GCGLANGLELayer::platformContext const):
(Nicosia::GCGLANGLELayer::platformDisplay const):
(Nicosia::GCGLANGLELayer::platformConfig const):
- platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.h:
- platform/graphics/nicosia/texmap/NicosiaGCGLLayer.cpp:
(Nicosia::GCGLLayer::platformContext const):
- platform/graphics/nicosia/texmap/NicosiaGCGLLayer.h:
- platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::EGLImageBacking::EGLImageBacking):
(WebCore::GraphicsContextGLANGLE::platformDisplay const):
(WebCore::GraphicsContextGLANGLE::platformConfig const):
- platform/graphics/texmap/TextureMapperGCGLPlatformLayer.cpp:
(WebCore::TextureMapperGCGLPlatformLayer::platformContext const):
(WebCore::TextureMapperGCGLPlatformLayer::platformDisplay const):
(WebCore::TextureMapperGCGLPlatformLayer::platformConfig const):
- platform/graphics/texmap/TextureMapperGCGLPlatformLayer.h:
Source/WebCore/PAL:
Remove the attempt to override system header logic with WebKit
ANGLE implementation. They are different implementations
and one cannot replace the other.
- pal/spi/cg/CoreGraphicsSPI.h:
- pal/spi/mac/HIToolboxSPI.h:
Add missing CGCOLORTAGGEDPOINTER_H_ that makes the CocoaPriv.h
included CoreGraphics header skip the incompatible tagged pointer
declarations, similar to other *SPI.h headers.
Source/WebKit:
Remove the attempt to override system header logic with WebKit
ANGLE implementation. They are different implementations
and one cannot replace the other.
- GPUProcess/graphics/RemoteGraphicsContextGL.h:
- Platform/spi/mac/AppKitSPI.h:
- Platform/spi/mac/ApplicationServicesSPI.h:
- WebProcess/Plugins/PDF/PDFLayerControllerSPI.h:
Source/WebKitLegacy/mac:
Remove the attempt to override system header logic with WebKit
ANGLE implementation. They are different implementations
and one cannot replace the other.
- WebView/WebFrameInternal.h:
- 10:35 AM Changeset in webkit [289911] by
-
- 17 edits1 copy in trunk/Source
Allow downcast<> to work with ImageBufferBackends that support sharing
https://bugs.webkit.org/show_bug.cgi?id=236671
Reviewed by Said Abou-Hallawa.
Source/WebCore:
RemoteLayerBackingStore::encode() had some awkward code that used knowlege of the relationship
between buffer types and mappability to static_cast<> to specific backend implementations.
Replace this with a small abstract stub in the form of WebCore::ImageBufferBackendSharing, and
a mixin class for shareable image buffers which inherits from a concrete subclass, ImageBufferBackendHandleSharing.
It's not possible to downcast<> ImageBufferBackend directly because there is no common base class for
the shareable types of buffer backends.
Now the code in RemoteLayerBackingStore can be simplified.
- platform/graphics/ImageBufferBackend.h:
(WebCore::ImageBufferBackendSharing::isImageBufferBackendHandleSharing const):
(WebCore::ImageBufferBackend::toBackendSharing):
Source/WebKit:
RemoteLayerBackingStore::encode() had some awkward code that used knowlege of the relationship
between buffer types and mappability to static_cast<> to specific backend implementations.
Replace this with a small abstract stub in the form of WebCore::ImageBufferBackendSharing, and
a mixin class for shareable image buffers which inherits from a concrete subclass, ImageBufferBackendHandleSharing.
It's not possible to downcast<> ImageBufferBackend directly because there is no common base class for
the shareable types of buffer backends.
Now the code in RemoteLayerBackingStore can be simplified.
- GPUProcess/graphics/RemoteImageBuffer.h:
- Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.cpp:
(WebKit::CGDisplayListImageBufferBackend::createBackendHandle const):
(WebKit::CGDisplayListImageBufferBackend::createImageBufferBackendHandle const): Deleted.
- Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.h:
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::encode const):
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/GPU/graphics/ImageBufferBackendHandleSharing.h: Added.
- WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:
(WebKit::ImageBufferShareableBitmapBackend::createBackendHandle const):
(WebKit::ImageBufferShareableBitmapBackend::createImageBufferBackendHandle const): Deleted.
- WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h:
- WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
(WebKit::RemoteImageBufferProxy::createImageBufferBackendHandle):
- WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.cpp:
(WebKit::ImageBufferRemoteIOSurfaceBackend::createBackendHandle const):
(WebKit::ImageBufferRemoteIOSurfaceBackend::createImageBufferBackendHandle const): Deleted.
- WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.h:
- WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBackend.cpp:
(WebKit::ImageBufferShareableMappedIOSurfaceBackend::createBackendHandle const):
(WebKit::ImageBufferShareableMappedIOSurfaceBackend::createImageBufferBackendHandle const): Deleted.
- WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBackend.h:
- 10:23 AM Changeset in webkit [289910] by
-
- 5 edits in trunk/Source
Move Safe Browsing knowledge into SafariSafeBrowsing framework
https://bugs.webkit.org/show_bug.cgi?id=231692
Patch by Eliot Hsu <eliot_hsu@apple.com> on 2022-02-16
Reviewed by Alex Christensen.
Following up on an old FIXME, move Safari Safe Browsing-specific
knowledge out of WebKit and into the SafariSafeBrowsing framework.
This includes things like the Learn More URL, the Report an Error URL,
etc.
Source/WebKit:
- Platform/spi/Cocoa/SafeBrowsingSPI.h:
- UIProcess/Cocoa/SafeBrowsingWarningCocoa.mm:
(WebKit::malwareDetailsBase):
(WebKit::learnMoreURL):
(WebKit::reportAnErrorBase):
(WebKit::localizedProvider):
Rely on new SafariSafeBrowsing calls to provide
URL/provider information about Safe Browsing,
when available
Source/WTF:
- wtf/PlatformHave.h:
- 10:21 AM Changeset in webkit [289909] by
-
- 2 edits in trunk/Source/WebKitLegacy/mac
[WebKitLegacy] Fix clang tidy bugprone-move-forwarding-reference static analyzer warnings
<https://webkit.org/b/236663>
<rdar://problem/88982792>
Reviewed by Dean Jackson.
- Misc/WebDownload.mm:
(callOnDelegateThreadAndWait):
- Replace WTFMove() with std::forward<>().
- 10:16 AM Changeset in webkit [289908] by
-
- 4 edits in trunk/Source/WebKit
[Cocoa] Clean up some unused context menu identifier SPI constants
https://bugs.webkit.org/show_bug.cgi?id=236669
rdar://88924479
Reviewed by Dean Jackson.
Remove a couple of unused context menu item identifier constants for Quick Note, and add a new constant to
represent the "Copy Cropped Image" item added in r289851.
- UIProcess/API/Cocoa/WKMenuItemIdentifiers.mm:
- UIProcess/API/Cocoa/WKMenuItemIdentifiersPrivate.h:
- UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::menuItemIdentifier):
- 10:13 AM Changeset in webkit [289907] by
-
- 12 edits in branches/safari-613.1.17.1-branch/Source/WebKit
Revert r289292. rdar://problem/88876661
- 10:12 AM Changeset in webkit [289906] by
-
- 12 edits in branches/safari-613.1.17.0-branch/Source/WebKit
Revert r289292. rdar://problem/88876661
- 10:12 AM Changeset in webkit [289905] by
-
- 11 edits2 adds in branches/safari-613.1.17.0-branch
Cherry-pick r289892. rdar://problem/88696673
REGRESSION(r287293): EventListener::wasCreatedFromMarkup() is incorrect after replaceJSFunctionForAttributeListener()
https://bugs.webkit.org/show_bug.cgi?id=236618
<rdar://88696673>
Reviewed by Chris Dumez.
Source/WebCore:
After r287293, if an inline event handler was replaced with a JSFunction, its execution was
still disallowed by the CSP policy.
This change fixes detection of inline event handlers (ones that were created from markup)
by introducing JSEventListener::m_wasCreatedFromMarkup and unsetting it during replacement
of an attribute event listener.
Since no virtual calls are added to the hot path, the Speedometer2/Inferno-TodoMVC performance
gain is kept. Also, a virtual call is removed from JSEventListener::handleEvent(), which is nice.
sizeof(JSEventListener)
is unchanged.
Test: http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced.html
- bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::JSErrorHandler):
- bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::JSEventListener): (WebCore::JSEventListener::create): (WebCore::JSEventListener::replaceJSFunctionForAttributeListener):
- bindings/js/JSEventListener.h: (WebCore::JSEventListener::wasCreatedFromMarkup const): (WebCore::JSEventListener::wasCreatedFromMarkup):
- bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::JSLazyEventListener):
- bindings/js/JSLazyEventListener.h:
- dom/EventListener.h: (WebCore::EventListener::wasCreatedFromMarkup const): Deleted.
- dom/EventListenerMap.cpp: (WebCore::removeFirstListenerCreatedFromMarkup): (WebCore::copyListenersNotCreatedFromMarkupToTarget):
- dom/EventTarget.cpp: (WebCore::EventTarget::addEventListener):
- svg/SVGElement.cpp: (WebCore::SVGElement::removeEventListener):
LayoutTests:
- http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289892 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:10 AM Changeset in webkit [289904] by
-
- 5 edits in trunk
Workaround ASAN false positive stack-buffer-underflow bmalloc_allocate_impl_casual_case
<https://bugs.webkit.org/show_bug.cgi?id=236001>
<rdar://problem/88364275>
Reviewed by Dean Jackson.
Source/bmalloc:
- libpas/src/libpas/pas_large_free_inlines.h:
(pas_large_free_create_merged):
- Turn off PAS_ALWAYS_INLINE when the WK_WORKAROUND_RDAR_87613908_ASAN_STACK_USE_AFTER_SCOPE macro is defined to avoid the bug.
Tools:
Based on a patch by Kimmo Kinnunen.
Define a WK_WORKAROUND_RDAR_87613908_ASAN_STACK_USE_AFTER_SCOPE
macro so that the fix can be targeted to a specific function in
libpas. This avoids disabling all stack-use-after-scope checks
in bmalloc when compiling with Address Sanitizer enabled.
- sanitizer/asan.xcconfig:
(WK_ADDRESS_SANITIZER_OTHER_CFLAGS_YES): Add.
- This variable contains the macro definition when the workaround is needed. It's used in sanitizer.xcconfig to add the macro definition to $(OTHER_CFLAGS).
(WK_NEEDS_ASAN_USE_AFTER_SCOPE_WORKAROUND_FOR_bmalloc_YES): Add.
- The workaround is currently only needed in bmalloc.
(WK_NOT_): Add.
(WK_NOT_YES): Add.
- Add support for $(WK_NOT_$(X)) variables.
(WK_NEEDS_ASAN_USE_AFTER_SCOPE_WORKAROUND): Add.
- Sets when the workaround is needed based on the Xcode version. Uses a $(WK_NOT_$(X)) variable to negate the result when the workaround is not needed.
(WK_XCODE_VERSION_BEFORE_13_3_*): Add.
- List Xcode versions where the workaround is not needed.
- sanitizer/sanitizer.xcconfig:
(OTHER_CFLAGS):
- Add the value of $(WK_ADDRESS_SANITIZER_OTHER_CFLAGS_YES) from asan.xcconfig when building with Address Sanitizer enabled.
- 10:08 AM Changeset in webkit [289903] by
-
- 5 edits in trunk
transform: perspective(0) should not be considered an identity operation
https://bugs.webkit.org/show_bug.cgi?id=236644
Reviewed by Antoine Quint.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-transforms/animation/transform-interpolation-verify-reftests-expected.txt: Update expectations.
- web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:
Source/WebCore:
No new tests. This is covered by existing WPT tests.
- platform/graphics/transforms/PerspectiveTransformOperation.h: When the value of a perspective operation
is zero, it isn't an identity operation, because it will be rounded to 1px.
- 10:04 AM Changeset in webkit [289902] by
-
- 6 edits in trunk
[InputElement] Remove extra form data made by image submit button when "value" attribute is present.
https://bugs.webkit.org/show_bug.cgi?id=236703
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/html/semantics/forms/the-input-element/image-click-form-data-expected.txt:
Source/WebCore:
As per spec at
https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#constructing-form-data-set,
and discussions at
https://groups.google.com/a/chromium.org/g/blink-dev/c/hp1_-1tgvDs
The condstructed "form data set" should not include the value of the image button in this case.
This change is an import from chromium CL at
https://chromium-review.googlesource.com/c/chromium/src/+/1086953/
- html/ImageInputType.cpp:
(WebCore::ImageInputType::appendFormData const):
LayoutTests:
Update test expectation as the test is now passing.
- fast/forms/input-image-submit.html:
- 9:54 AM Changeset in webkit [289901] by
-
- 11 edits2 adds in branches/safari-613.1.17.1-branch
Cherry-pick r289892. rdar://problem/88696673
REGRESSION(r287293): EventListener::wasCreatedFromMarkup() is incorrect after replaceJSFunctionForAttributeListener()
https://bugs.webkit.org/show_bug.cgi?id=236618
<rdar://88696673>
Reviewed by Chris Dumez.
Source/WebCore:
After r287293, if an inline event handler was replaced with a JSFunction, its execution was
still disallowed by the CSP policy.
This change fixes detection of inline event handlers (ones that were created from markup)
by introducing JSEventListener::m_wasCreatedFromMarkup and unsetting it during replacement
of an attribute event listener.
Since no virtual calls are added to the hot path, the Speedometer2/Inferno-TodoMVC performance
gain is kept. Also, a virtual call is removed from JSEventListener::handleEvent(), which is nice.
sizeof(JSEventListener)
is unchanged.
Test: http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced.html
- bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::JSErrorHandler):
- bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::JSEventListener): (WebCore::JSEventListener::create): (WebCore::JSEventListener::replaceJSFunctionForAttributeListener):
- bindings/js/JSEventListener.h: (WebCore::JSEventListener::wasCreatedFromMarkup const): (WebCore::JSEventListener::wasCreatedFromMarkup):
- bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::JSLazyEventListener):
- bindings/js/JSLazyEventListener.h:
- dom/EventListener.h: (WebCore::EventListener::wasCreatedFromMarkup const): Deleted.
- dom/EventListenerMap.cpp: (WebCore::removeFirstListenerCreatedFromMarkup): (WebCore::copyListenersNotCreatedFromMarkupToTarget):
- dom/EventTarget.cpp: (WebCore::EventTarget::addEventListener):
- svg/SVGElement.cpp: (WebCore::SVGElement::removeEventListener):
LayoutTests:
- http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289892 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:34 AM Changeset in webkit [289900] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.34
Merge r289736 - Nullptr crash in CompositeEditCommand::splitTreeToNode via InsertParagraphSeparatorCommand::doApply
https://bugs.webkit.org/show_bug.cgi?id=229283
Patch by Frédéric Wang <fwang@igalia.com> on 2022-02-14
Reviewed by Ryosuke Niwa.
Source/WebCore:
Position::upstream handles edge cases like tables specially which can lead to
InsertParagraphSeparatorCommand::doApply incorrectly expecting a next sibling after a text
node at last position in order to perform a split. This patch works around that by ignoring
the split in that case.
Test: editing/inserting/insert-paragraph-separator-with-inline-table-bold-crash.html
- editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply): Only try and remove remaining nodes if
splitTo is not null. moveRemainingSiblingsToNewParent will be a no-op when n is null. Also
switch from raw pointers to RefPtr<Node>.
LayoutTests:
Add regression test.
- editing/inserting/insert-paragraph-separator-with-inline-table-bold-crash-expected.txt: Added.
- editing/inserting/insert-paragraph-separator-with-inline-table-bold-crash.html: Added.
- 9:32 AM Changeset in webkit [289899] by
-
- 9 edits in branches/safari-613.1.17.0-branch/Source
Versioning.
WebKit-7613.1.17.0.4
- 9:32 AM Changeset in webkit [289898] by
-
- 2 edits in trunk/LayoutTests
Rebase http/tests/model/model-document.html after the changes in r289733
https://bugs.webkit.org/show_bug.cgi?id=236578
Unreviewed test gardening.
- http/tests/model/model-document-expected.txt:
- 9:29 AM Changeset in webkit [289897] by
-
- 5 edits in trunk/Source/WebCore
[LFC][Integration] LineLayout::firstLineBaseline callers expect physical position
https://bugs.webkit.org/show_bug.cgi?id=236688
Reviewed by Antti Koivisto.
Legacy line layout returns the physical position too, though in a bit obscure manner:
firstRootBox()->logicalTop() + firstLineStyle().metricsOfPrimaryFont().descent(firstRootBox()->baselineType())
where
The logicalTop[ position is the top edge of the line box in a horizontal line and the left edge in a vertical line.
float logicalTop() const { return isHorizontal() ? m_topLeft.y() : m_topLeft.x(); }
- layout/integration/LayoutIntegrationLine.h:
(WebCore::LayoutIntegration::Line::lineBoxHeight const):
(WebCore::LayoutIntegration::Line::lineBoxWidth const):
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::firstLinePhysicalBaseline const):
(WebCore::LayoutIntegration::LineLayout::lastLineLogicalBaseline const):
(WebCore::LayoutIntegration::LineLayout::firstLineBaseline const): Deleted.
(WebCore::LayoutIntegration::LineLayout::lastLineBaseline const): Deleted.
- layout/integration/LayoutIntegrationLineLayout.h:
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::firstLineBaseline const):
(WebCore::RenderBlockFlow::inlineBlockBaseline const):
- 9:27 AM Changeset in webkit [289896] by
-
- 40 edits in trunk/Source/WebCore
Allow exposed WebGL and WebAudio interfaces to be controlled via a setting
https://bugs.webkit.org/show_bug.cgi?id=236648
<rdar://problem/87821817>
We want to be able to enable/disable various WebGL/WebAudio interfaces via a setting
so that we can block them when CaptivePortalMode is enabled.
Patch by Gavin Phillips <gavin.p@apple.com> on 2022-02-16
Reviewed by Brent Fulgham.
- Modules/webaudio/AnalyserNode.idl:
- Modules/webaudio/AudioBuffer.idl:
- Modules/webaudio/AudioBufferSourceNode.idl:
- Modules/webaudio/AudioDestinationNode.idl:
- Modules/webaudio/AudioListener.idl:
- Modules/webaudio/AudioNode.idl:
- Modules/webaudio/AudioParam.idl:
- Modules/webaudio/AudioProcessingEvent.idl:
- Modules/webaudio/AudioScheduledSourceNode.idl:
- Modules/webaudio/AudioWorkletProcessor.idl:
- Modules/webaudio/BiquadFilterNode.idl:
- Modules/webaudio/ChannelMergerNode.idl:
- Modules/webaudio/ChannelSplitterNode.idl:
- Modules/webaudio/ConvolverNode.idl:
- Modules/webaudio/DelayNode.idl:
- Modules/webaudio/DynamicsCompressorNode.idl:
- Modules/webaudio/GainNode.idl:
- Modules/webaudio/MediaElementAudioSourceNode.idl:
- Modules/webaudio/MediaStreamAudioDestinationNode.idl:
- Modules/webaudio/MediaStreamAudioSourceNode.idl:
- Modules/webaudio/OfflineAudioCompletionEvent.idl:
- Modules/webaudio/OscillatorNode.idl:
- Modules/webaudio/PeriodicWave.idl:
- Modules/webaudio/WaveShaperNode.idl:
- bindings/js/WebCoreBuiltinNames.h:
- html/canvas/WebGLActiveInfo.idl:
- html/canvas/WebGLBuffer.idl:
- html/canvas/WebGLContextEvent.idl:
- html/canvas/WebGLFramebuffer.idl:
- html/canvas/WebGLProgram.idl:
- html/canvas/WebGLQuery.idl:
- html/canvas/WebGLRenderbuffer.idl:
- html/canvas/WebGLRenderingContext.idl:
- html/canvas/WebGLSampler.idl:
- html/canvas/WebGLShader.idl:
- html/canvas/WebGLShaderPrecisionFormat.idl:
- html/canvas/WebGLSync.idl:
- html/canvas/WebGLTexture.idl:
- html/canvas/WebGLUniformLocation.idl:
- 9:24 AM Changeset in webkit [289895] by
-
- 9 edits in branches/safari-613.1.17.1-branch/Source
Versioning.
WebKit-7613.1.17.1.4
- 9:19 AM Changeset in webkit [289894] by
-
- 38 edits in trunk
Add a dedicated ENABLE flag for MediaRecorder
https://bugs.webkit.org/show_bug.cgi?id=236652
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-16
Reviewed by Eric Carlson.
Source/WebCore:
ENABLE(MEDIA_RECORDER) depends on ENABLE(MEDIA_STREAM) and is enabled only for COCOA
platforms, until the GStreamer backend is merged.
- Modules/mediarecorder/BlobEvent.cpp:
- Modules/mediarecorder/BlobEvent.h:
- Modules/mediarecorder/BlobEvent.idl:
- Modules/mediarecorder/MediaRecorder.cpp:
- Modules/mediarecorder/MediaRecorder.h:
- Modules/mediarecorder/MediaRecorder.idl:
- Modules/mediarecorder/MediaRecorderErrorEvent.cpp:
- Modules/mediarecorder/MediaRecorderErrorEvent.h:
- Modules/mediarecorder/MediaRecorderErrorEvent.idl:
- Modules/mediarecorder/MediaRecorderProvider.cpp:
- Modules/mediarecorder/MediaRecorderProvider.h:
- platform/mediarecorder/MediaRecorderPrivate.cpp:
- platform/mediarecorder/MediaRecorderPrivate.h:
- platform/mediarecorder/MediaRecorderPrivateAVFImpl.cpp:
- platform/mediarecorder/MediaRecorderPrivateAVFImpl.h:
- platform/mediarecorder/MediaRecorderPrivateMock.cpp:
- platform/mediarecorder/MediaRecorderPrivateMock.h:
- platform/mediarecorder/MediaRecorderPrivateOptions.h:
- platform/mediarecorder/cocoa/AudioSampleBufferCompressor.h:
- platform/mediarecorder/cocoa/AudioSampleBufferCompressor.mm:
- platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
- platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:
- platform/mediarecorder/cocoa/VideoSampleBufferCompressor.h:
- platform/mediarecorder/cocoa/VideoSampleBufferCompressor.mm:
Source/WTF:
ENABLE(MEDIA_RECORDER) depends on ENABLE(MEDIA_STREAM) and is enabled only for COCOA
platforms. Suggested by Eric Carlson.
- wtf/PlatformEnable.h:
- wtf/PlatformEnableCocoa.h:
LayoutTests:
- platform/glib/TestExpectations: Skip MediaRecorder test, GLib ports don't enable this
feature yet. This test used to pass because MediaRecorder used to be under MediaStream and
there is a mock Recorder implementation.
- 9:16 AM Changeset in webkit [289893] by
-
- 6 edits2 adds in releases/WebKitGTK/webkit-2.34
Merge r289526 - [:has() pseudo-class] Nullptr crash with non-function :has
https://bugs.webkit.org/show_bug.cgi?id=236431
rdar://87061239
Reviewed by Cameron McCormack.
LayoutTests/imported/w3c:
- web-platform-tests/css/selectors/parsing/parse-has-expected.txt:
- web-platform-tests/css/selectors/parsing/parse-has.html:
Source/WebCore:
Test: fast/selectors/malformed-has.html
- css/parser/CSSSelectorParser.cpp:
(WebCore::isOnlyPseudoClassFunction):
:has() is legal, plain :has is not.
LayoutTests:
- fast/selectors/malformed-has-expected.txt: Added.
- fast/selectors/malformed-has.html: Added.
- 8:58 AM Changeset in webkit [289892] by
-
- 11 edits2 adds in trunk
REGRESSION(r287293): EventListener::wasCreatedFromMarkup() is incorrect after replaceJSFunctionForAttributeListener()
https://bugs.webkit.org/show_bug.cgi?id=236618
<rdar://88696673>
Reviewed by Chris Dumez.
Source/WebCore:
After r287293, if an inline event handler was replaced with a JSFunction, its execution was
still disallowed by the CSP policy.
This change fixes detection of inline event handlers (ones that were created from markup)
by introducing JSEventListener::m_wasCreatedFromMarkup and unsetting it during replacement
of an attribute event listener.
Since no virtual calls are added to the hot path, the Speedometer2/Inferno-TodoMVC performance
gain is kept. Also, a virtual call is removed from JSEventListener::handleEvent(), which is nice.
sizeof(JSEventListener)
is unchanged.
Test: http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced.html
- bindings/js/JSErrorHandler.cpp:
(WebCore::JSErrorHandler::JSErrorHandler):
- bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::JSEventListener):
(WebCore::JSEventListener::create):
(WebCore::JSEventListener::replaceJSFunctionForAttributeListener):
- bindings/js/JSEventListener.h:
(WebCore::JSEventListener::wasCreatedFromMarkup const):
(WebCore::JSEventListener::wasCreatedFromMarkup):
- bindings/js/JSLazyEventListener.cpp:
(WebCore::JSLazyEventListener::JSLazyEventListener):
- bindings/js/JSLazyEventListener.h:
- dom/EventListener.h:
(WebCore::EventListener::wasCreatedFromMarkup const): Deleted.
- dom/EventListenerMap.cpp:
(WebCore::removeFirstListenerCreatedFromMarkup):
(WebCore::copyListenersNotCreatedFromMarkupToTarget):
- dom/EventTarget.cpp:
(WebCore::EventTarget::addEventListener):
- svg/SVGElement.cpp:
(WebCore::SVGElement::removeEventListener):
LayoutTests:
- http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced.html: Added.
- 8:54 AM Changeset in webkit [289891] by
-
- 6 edits in trunk/Source
RemoteVideoFrameProxy is missing reference field encode, decode
https://bugs.webkit.org/show_bug.cgi?id=236690
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-16
Reviewed by Antti Koivisto.
Source/WebKit:
Add the missing encode, decode. Use the better decode pattern
to avoid default construction and reduce the chance of having
a declaration but no decode.
Also add TextStream operator<< for RemoteVideoFrameProxy::Properties
for easier debugging with WebKit2Logging IPCMessages.
No new tests, tested by existing WebRTC tests
when WebRTCRemoteVideoFrameEnabled=true (not default currently)
- WebProcess/GPU/media/RemoteVideoFrameProxy.cpp:
(WebKit::operator<<):
- WebProcess/GPU/media/RemoteVideoFrameProxy.h:
(WebKit::RemoteVideoFrameProxy::Properties::encode const):
(WebKit::RemoteVideoFrameProxy::Properties::decode):
Source/WTF:
Export the MediaTime TextStream operator<< as inline function
for all compilation modes. It is useful also when NDEBUG is defined,
and it is hard to ifdef at all the call sites.
- wtf/MediaTime.cpp:
- wtf/MediaTime.h:
- 8:52 AM Changeset in webkit [289890] by
-
- 7 edits in trunk
[CSS Container Queries] Size queries on unsupported axis should evaluate to unknown
https://bugs.webkit.org/show_bug.cgi?id=236702
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/aspect-ratio-feature-evaluation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/container-selection-expected.txt:
- web-platform-tests/css/css-contain/container-queries/unsupported-axis-expected.txt:
Source/WebCore:
"If ... the query container does not support container size queries on the relevant axes,
then the result of evaluating the size feature is unknown."
https://drafts.csswg.org/css-contain-3/#size-container
- style/ContainerQueryEvaluator.cpp:
(WebCore::Style::ContainerQueryEvaluator::evaluate const):
Some cleanups.
(WebCore::Style::ContainerQueryEvaluator::evaluateQuery const):
(WebCore::Style::ContainerQueryEvaluator::evaluateCondition const):
(WebCore::Style::ContainerQueryEvaluator::evaluateSizeFeature const):
Check whether the container supports the feature axis and return Unknown of not.
- style/ContainerQueryEvaluator.h:
Rename EvaluationContext -> ResolvedContainer to be less generic.
- 6:45 AM Changeset in webkit [289889] by
-
- 2 edits in trunk/JSTests
[JSC][32-bit] Fix and re-enable flaky test
https://bugs.webkit.org/show_bug.cgi?id=181227
Patch by Geza Lore <Geza Lore> on 2022-02-16
Reviewed by Adrian Perez de Castro.
- stress/new-largeish-contiguous-array-with-size.js:
Re-enable on ARMv7, re-enable and increase leniency on MIPS.
- 6:41 AM Changeset in webkit [289888] by
-
- 2 edits in trunk/Tools
[EWS] Support PRs when sending layout test failure emails
https://bugs.webkit.org/show_bug.cgi?id=236654
<rdar://problem/88974170>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(AnalyzeLayoutTestsResults.send_email_for_new_test_failures): Draft different
email for failed patch than failed pull request build.
Canonical link: https://commits.webkit.org/247326@main
- 5:53 AM Changeset in webkit [289887] by
-
- 4 edits2 moves1 add in trunk/Tools
Share WebKitTestRunner code among USE(LIBWPE) ports
https://bugs.webkit.org/show_bug.cgi?id=236651
Reviewed by Žan Doberšek.
Modify PLATFORM(WPE) to USE(LIBWPE) in EventSenderProxy and PlatformWebView. The former
just uses the libwpe API to send events so it can be shared. The later uses the
WPEToolingBackend so it can also be shared.
The WPE port was missing guards around ENABLE(TOUCH_EVENTS) so add those and organize the
corresponding .cpp so the methods track with the ordering in the header.
Also modernize the PlatformWebView code to prefer using over typedef.
- WebKitTestRunner/EventSenderProxy.h:
- WebKitTestRunner/PlatformWPE.cmake:
- WebKitTestRunner/PlatformWebView.h:
- WebKitTestRunner/libwpe/EventSenderProxyLibWPE.cpp: Renamed from Tools/WebKitTestRunner/wpe/EventSenderProxyWPE.cpp.
(WTR::EventSenderProxy::getUpdatedTouchEvents):
(WTR::EventSenderProxy::removeUpdatedTouchEvents):
(WTR::EventSenderProxy::prepareAndDispatchTouchEvent):
- WebKitTestRunner/libwpe/PlatformWebViewLibWPE.cpp: Renamed from Tools/WebKitTestRunner/wpe/PlatformWebViewWPE.cpp.
(WTR::PlatformWebView::windowSnapshotImage):
- 4:38 AM Changeset in webkit [289886] by
-
- 4 edits in trunk
[CSS Container Queries] Serialize container shorthand in StyleProperties
https://bugs.webkit.org/show_bug.cgi?id=236691
Reviewed by Antoine Quint.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/container-parsing-expected.txt:
Source/WebCore:
Serialize element.style.container.
- css/StyleProperties.cpp:
(WebCore::StyleProperties::getPropertyValue const):
- 2:55 AM Changeset in webkit [289885] by
-
- 3 edits in trunk/Source/WebCore
[GTK][WPE] Use drm render nodes in GbmDevice and make the fd global to the process
https://bugs.webkit.org/show_bug.cgi?id=236607
Patch by Alejandro G. Castro <alex@igalia.com> on 2022-02-16
Reviewed by Žan Doberšek.
We are creating a global static variable to handle the fd of the
device in the process, to make sure we search and open once for
the graphics device. Also we are using the DRM_NODE_RENDER because
we do not need the primary device for the operations we expect to
use.
No new tests, already covered in the tests.
- platform/graphics/gbm/GBMDevice.cpp:
(WebCore::GBMDevice::GBMDevice): Use a new global fd.
- platform/graphics/gbm/GBMDevice.h: Ditto.
- 1:39 AM Changeset in webkit [289884] by
-
- 2 edits in trunk/Source/WebCore
[GTK][WPE] Crashing/weird behaviour when trying to use videos as textures with ANGLE WebGL enabled
https://bugs.webkit.org/show_bug.cgi?id=236587
Reviewed by Kenneth Russell.
Disable the texture-sharing fast-path for GStreamer GL when ANGLE is
also enabled.
No new tests, no change in behaviour.
- platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp:
(WebCore::GraphicsContextGLTextureMapper::copyTextureFromMedia):
- 1:29 AM Changeset in webkit [289883] by
-
- 3 edits2 adds in trunk
Floating point exception in RenderListBox::numVisibleItems
https://bugs.webkit.org/show_bug.cgi?id=229307
Reviewed by Mark Lam.
Source/WebCore:
FontMetrics::height can return a negative value when setAscent() is called with
with a value that is too large to be represented as an int. Prevent this by
making setAscent() ensure that m_intAscent is set to a non-negative value.
Test: fast/forms/listbox-zero-item-height.html
- platform/graphics/FontMetrics.h:
(WebCore::FontMetrics::setAscent):
LayoutTests:
- fast/forms/listbox-zero-item-height-expected.txt: Added.
- fast/forms/listbox-zero-item-height.html: Added.
- 1:19 AM Changeset in webkit [289882] by
-
- 22 edits in trunk/Source
[macOS] Add an "Markup Image" item to the sharing services picker context menu
https://bugs.webkit.org/show_bug.cgi?id=236628
rdar://86446810
Reviewed by Darin Adler.
Source/WebCore:
Add support for a new context menu item in the sharing services picker; see WebKit/ChangeLog for more details.
- dom/mac/ImageControlsMac.cpp:
(WebCore::ImageControlsMac::handleEvent):
Simplify this chrome client hook by passing along the entire HTMLImageElement, instead of the absolute bounds,
attachment element ID, and whether the image has contenteditable style as separate arguments. This makes it a
bit easier to compute and send the image MIME type and an ElementContext in WebKit2. See changes in WebPageMac
for more information.
- html/HTMLAttachmentElement.h: Export a method.
- page/ChromeClient.h:
(WebCore::ChromeClient::handleImageServiceClick):
- platform/LocalizedStrings.h:
- platform/cocoa/LocalizedStringsCocoa.mm:
Add a helper function for the "Markup Image" menu item's localized title.
(WebCore::contextMenuItemTitleMarkupImage):
Source/WebKit:
Add support for a new context menu item in the sharing services picker; to achieve this, we plumb along some
more information about the controlled image element for the services picker menu (i.e. MIME type and an element
context). In WebContextMenuProxyMac, we then append the "Markup Image" item if the system feature is enabled,
and use this information about the controlled image element to replace the image using image data returned from
VisionKit, transcoded to a format that matches that of the original source image. See below for more details.
- Shared/ContextMenuContextData.cpp:
(WebKit::ContextMenuContextData::ContextMenuContextData):
(WebKit::ContextMenuContextData::encode const):
(WebKit::ContextMenuContextData::decode):
- Shared/ContextMenuContextData.h:
(WebKit::ContextMenuContextData::controlledImageElementContext const):
(WebKit::ContextMenuContextData::controlledImageMIMEType const):
Add
m_controlledImageElementContext
, which can be used to identify the controlled image element, and
m_controlledImageMIMEType
, the MIME type of the controlled image. SeeapplyMarkupToControlledImage
for more
information about usage.
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::replaceWithPasteboardData):
Add a helper method that's nearly identical to the extant
replaceSelectionWithPasteboardData
method, except
that it takes an ElementContext and applies the editing replacement to a selection containing the element
corresponding to the given context, rather than applying the edit command to the current selection.
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView updateImageAnalysisMarkupMenuItems:]):
Use the new WebCore localized string helper function.
- UIProcess/mac/WKSharingServicePickerDelegate.h:
- UIProcess/mac/WKSharingServicePickerDelegate.mm:
(-[WKSharingServicePickerDelegate markupImage]):
Handle the new context menu invocation.
- UIProcess/mac/WebContextMenuProxyMac.h:
- UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::setupServicesMenu):
If the controlled image is set and
isImageAnalysisMarkupSystemFeatureEnabled()
is true, append a new item to
the services menu to invoke "Markup Image"; when activated, this menu item invokes the
-[WKSharingServicePickerDelegate markupImage]
method above, which in turn calls into
applyMarkupToControlledImage
below.
(WebKit::WebContextMenuProxyMac::applyMarkupToControlledImage):
This method contains the main logic for coordinating "Markup Image" from the services menu on macOS. Using
information about the controlled image, this first creates a CGImageRef from the image bitmap, passes it to
VisionKit for analysis, and obtains a resulting CGImageRef; it then transcodes this resulting CGImageRef to
image data in a format that matches the MIME type of the source image, and replaces the controlled image using
this image data via the override pasteboard.
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::handleImageServiceClick):
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::replaceWithPasteboardData):
Move the current selection to surround the element identified by the given ElementContext, and then call into
replaceSelectionWithPasteboardData
to perform the replacement.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::handleImageServiceClick):
Additionally compute and send the controlled image MIME type and its element context.
- 1:17 AM Changeset in webkit [289881] by
-
- 2 edits in trunk/LayoutTests
Reset GPU Process TestExpectations after accelerated drawing is enabled.
- gpu-process/TestExpectations:
- 1:14 AM Changeset in webkit [289880] by
-
- 4 edits in trunk/LayoutTests
Unreviewed gardening.
- css3/calc/block-mask-overlay-image-outset.html: Expand pixel range for GPU Process.
- fast/forms/auto-fill-button/auto-fill-strong-password-button-when-maxlength-changes.html: Add fuzzy data for GPU Process.
- svg/clip-path/clip-path-line-use-before-defined.svg: Add fuzzy data for all bots.
Feb 15, 2022:
- 10:53 PM Changeset in webkit [289879] by
-
- 2 edits in trunk/Source/WTF
Constructing untaken LOG(Channel, ...) arguments slow debug binaries down
https://bugs.webkit.org/show_bug.cgi?id=235562
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-15
Reviewed by Simon Fraser.
Speed up debug build binary LOG(Channel, ...) by checking the
channel (and level) before constructing the log arguments.
This is consistent with how RELEASE_LOG() works.
If the arguments are slow to create, call sites end up implementing
this at the call site and risk subtle bugs which make existing logging unreliable.
Fixes a bug with LOG_WITH_STREAM where ChannelState::OnWithAccumulation channels would not log.
- wtf/Assertions.h:
- 10:48 PM Changeset in webkit [289878] by
-
- 20 edits1 add in trunk
Migrate IndexedDB and LocalStorage data to GeneralStorageDirectory
https://bugs.webkit.org/show_bug.cgi?id=236611
Reviewed by Chris Dumez.
Source/WebKit:
Reviewed by Chris Dumez.
Add a new parameter shouldUseCustomStoragePaths on WebsiteDataStoreConfiguration to specify whether WebKit
should use custom storage paths. If the value is true, WebKit will keep using the custom localStorageDirectory
and indexedDBDatabaseDirectory paths as it is now. If the value is false, WebKit will migrate data from
localStorageDirectory and indexedDBDatabaseDirectory to new paths set by WebKit under generalStorageDirectory.
API test: WebKit.MigrateLocalStorageDataToGeneralStorageDirectory
WebKit.MigrateIndexedDBDataToGeneralStorageDirectory
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::addWebsiteDataStore):
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::addStorageManagerSession):
- NetworkProcess/NetworkSession.h:
- NetworkProcess/storage/LocalStorageManager.cpp:
(WebKit::LocalStorageManager::localStorageFilePath):
- NetworkProcess/storage/LocalStorageManager.h:
- NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::NetworkStorageManager::create):
(WebKit::NetworkStorageManager::NetworkStorageManager):
(WebKit::originDirectoryPath):
(WebKit::originFilePath):
(WebKit::NetworkStorageManager::localOriginStorageManager):
- NetworkProcess/storage/NetworkStorageManager.h:
- NetworkProcess/storage/OriginStorageManager.cpp:
(WebKit::OriginStorageManager::StorageBucket::StorageBucket):
(WebKit::OriginStorageManager::StorageBucket::localStorageManager):
(WebKit::OriginStorageManager::StorageBucket::idbStorageManager):
(WebKit::OriginStorageManager::StorageBucket::isEmpty):
(WebKit::OriginStorageManager::StorageBucket::moveData):
(WebKit::OriginStorageManager::StorageBucket::resolvedIDBStoragePath):
(WebKit::OriginStorageManager::StorageBucket::fetchDataTypesInListFromDisk):
(WebKit::OriginStorageManager::StorageBucket::deleteLocalStorageData):
(WebKit::OriginStorageManager::StorageBucket::deleteIDBStorageData):
(WebKit::OriginStorageManager::StorageBucket::resolvedLocalStoragePath):
(WebKit::OriginStorageManager::originFileIdentifier):
(WebKit::OriginStorageManager::OriginStorageManager):
(WebKit::OriginStorageManager::defaultBucket):
(WebKit::OriginStorageManager::quotaManager):
(WebKit::OriginStorageManager::StorageBucket::isEmpty const): Deleted.
- NetworkProcess/storage/OriginStorageManager.h:
- Shared/WebsiteDataStoreParameters.cpp:
(WebKit::WebsiteDataStoreParameters::encode const):
(WebKit::WebsiteDataStoreParameters::decode):
- Shared/WebsiteDataStoreParameters.h:
- UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h:
- UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm:
(-[_WKWebsiteDataStoreConfiguration shouldUseCustomStoragePaths]):
(-[_WKWebsiteDataStoreConfiguration setShouldUseCustomStoragePaths:]):
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::parameters):
- UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:
(WebKit::WebsiteDataStoreConfiguration::copy const):
- UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h:
(WebKit::WebsiteDataStoreConfiguration::shouldUseCustomStoragePaths const):
(WebKit::WebsiteDataStoreConfiguration::setShouldUseCustomStoragePaths):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/general-storage-directory.salt: Added.
- 10:12 PM Changeset in webkit [289877] by
-
- 3 edits2 adds in trunk
Defer TerminationsExceptions while in operationMaterializeObjectInOSR.
https://bugs.webkit.org/show_bug.cgi?id=236686
rdar://81337114
Reviewed by Saam Barati.
JSTests:
These tests are identical except that they are customized with different watchdog
timeout periods for a Debug / Release build. This is a necessary condition in
order for the test to manifest this issue if the code is regressed.
- stress/termination-exception-in-operationMaterializeObjectInOSR-debug.js: Added.
- stress/termination-exception-in-operationMaterializeObjectInOSR-release.js: Added.
Source/JavaScriptCore:
operationMaterializeObjectInOSR expects to always succeed. It is difficult (and
not worth the effort) to make it be able to handle interruptions by the
TerminationException. Since operationMaterializeObjectInOSR is guaranteed to
finish running in some finite time, it is reasonable to just defer handling a
pending TerminationException until the function returns.
- ftl/FTLOperations.cpp:
(JSC::FTL::JSC_DEFINE_JIT_OPERATION):
- 9:27 PM Changeset in webkit [289876] by
-
- 16 edits in trunk
Implement parsing and animation support for offset shorthand
https://bugs.webkit.org/show_bug.cgi?id=233109
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
- web-platform-tests/css/motion/animation/offset-interpolation-expected.txt:
- web-platform-tests/css/motion/parsing/offset-parsing-valid-expected.txt:
- web-platform-tests/css/motion/parsing/offset-parsing-valid.html:
- web-platform-tests/css/motion/parsing/offset-shorthand-expected.txt:
Source/WebCore:
This patch implements support for the offset shorthand for css motion path. This involves
adding the offset property to CSSProperties.json, the introduction of consumeOffset() to
parse the set offset, and serialization of the offset values.
- animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::CSSPropertyIDToIDLAttributeName):
(WebCore::IDLAttributeNameToAnimationPropertyName):
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::valueForOffsetShorthand):
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
- css/CSSOffsetRotateValue.cpp:
(WebCore::CSSOffsetRotateValue::initialValue):
(WebCore::CSSOffsetRotateValue::isInitialValue const):
- css/CSSOffsetRotateValue.h:
- css/CSSProperties.json:
- css/StyleProperties.cpp:
(WebCore::StyleProperties::getPropertyValue const):
(WebCore::StyleProperties::offsetValue const):
- css/StyleProperties.h:
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeBasicShapeOrBox):
(WebCore::CSSPropertyParser::consumeOffset):
(WebCore::CSSPropertyParser::parseShorthand):
- css/parser/CSSPropertyParser.h:
- 9:20 PM Changeset in webkit [289875] by
-
- 4 edits in trunk/Source/WebKit
Web Inspector: [Cocoa] Reentrancy in WebKit::WebInspectorUIProxy::open
https://bugs.webkit.org/show_bug.cgi?id=236672
Reviewed by Devin Rousso.
Speculative fix for non-reproducible reentrancy. Because
WebInspectorUIProxy::open
calls
WebInspectorUIProxy::platformBringToFront
, which under some conditions can callWebInspectorUIProxy::open
,
there was an opportunity for recurssion. This appears to happen when the window of the inspector view does not
match the window of the inspected web view, which in general should not be possible for a newly opened
inspector. My suspicion is that the web view is not actually attached to a window at the time the inspector is
being opened. This patch adds a fail-safe that will detach the inspector view into its own window when these
conditions are met while we are in middle of opening the inspector, and also adds logging to indicate if the
inspected web view was actually in a window. This should both prevent the crash from the re-entry as well as
provide more context when the issue does occur.
- UIProcess/Inspector/WebInspectorUIProxy.cpp:
(WebKit::WebInspectorUIProxy::open):
- UIProcess/Inspector/WebInspectorUIProxy.h:
- UIProcess/Inspector/mac/WebInspectorUIProxyMac.mm:
(WebKit::WebInspectorUIProxy::platformBringToFront):
- 8:11 PM Changeset in webkit [289874] by
-
- 1 copy in tags/Safari-614.1.3.2
Tag Safari-614.1.3.2.
- 8:09 PM Changeset in webkit [289873] by
-
- 9 edits in branches/safari-614.1.3-branch/Source
Versioning.
WebKit-7614.1.3.2
- 8:05 PM Changeset in webkit [289872] by
-
- 34 edits2 copies3 adds1 delete in trunk/Source
Do preliminary work to pass domain names to CoreLocation
https://bugs.webkit.org/show_bug.cgi?id=236566
<rdar://88761413>
Reviewed by Darin Adler.
Source/WebCore:
Do preliminary work to pass domain names to CoreLocation when using the Geolocation API.
This pipes the domain names all the way from the Geolocation API to the CoreLocation calls
but doesn't yet pass the domain to CoreLocation due to <rdar://88834301>. I will follow-up
once <rdar://88834301> is fixed.
- Modules/geolocation/GeolocationClient.h:
- Modules/geolocation/GeolocationController.cpp:
(WebCore::GeolocationController::didNavigatePage):
(WebCore::GeolocationController::addObserver):
(WebCore::GeolocationController::removeObserver):
(WebCore::GeolocationController::activityStateDidChange):
(WebCore::GeolocationController::startUpdatingIfNecessary):
(WebCore::GeolocationController::stopUpdatingIfNecessary):
- Modules/geolocation/GeolocationController.h:
(WebCore::GeolocationController::needsHighAccuracy const):
- Modules/geolocation/GeolocationPositionData.h:
- Modules/geolocation/ios/GeolocationPositionDataIOS.mm:
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- page/Page.cpp:
(WebCore::Page::didCommitLoad):
- platform/cocoa/CoreLocationGeolocationProvider.h: Copied from Source/WebCore/Modules/geolocation/GeolocationClient.h.
- platform/cocoa/CoreLocationGeolocationProvider.mm: Added.
(isAuthorizationGranted):
(-[WebCLLocationManager initWithWebsiteIdentifier:client:]):
(-[WebCLLocationManager dealloc]):
(-[WebCLLocationManager start]):
(-[WebCLLocationManager stop]):
(-[WebCLLocationManager setEnableHighAccuracy:]):
(-[WebCLLocationManager requestGeolocationAuthorization]):
(-[WebCLLocationManager locationManagerDidChangeAuthorization:]):
(-[WebCLLocationManager locationManager:didUpdateLocations:]):
(-[WebCLLocationManager locationManager:didFailWithError:]):
(WebCore::CoreLocationGeolocationProvider::CoreLocationGeolocationProvider):
(WebCore::CoreLocationGeolocationProvider::~CoreLocationGeolocationProvider):
(WebCore::CoreLocationGeolocationProvider::start):
(WebCore::CoreLocationGeolocationProvider::stop):
(WebCore::CoreLocationGeolocationProvider::setEnableHighAccuracy):
(WebCore::CoreLocationGeolocationProvider::requestAuthorization):
- platform/mock/GeolocationClientMock.cpp:
(WebCore::GeolocationClientMock::startUpdating):
- platform/mock/GeolocationClientMock.h:
Source/WebKit:
Do preliminary work to pass domain names to CoreLocation when using the Geolocation API.
This pipes the domain names all the way from the Geolocation API to the CoreLocation calls
but doesn't yet pass the domain to CoreLocation due to <rdar://88834301>. I will follow-up
once <rdar://88834301> is fixed.
- SourcesCocoa.txt:
- UIProcess/API/C/WKGeolocationManager.cpp:
(WKGeolocationManagerSetProvider):
- UIProcess/Cocoa/WebGeolocationManagerProxyCocoa.cpp: Added.
(WebKit::WebGeolocationManagerProxy::positionChanged):
(WebKit::WebGeolocationManagerProxy::errorOccurred):
(WebKit::WebGeolocationManagerProxy::resetGeolocation):
(WebKit::WebGeolocationManagerProxy::isUpdating const):
(WebKit::WebGeolocationManagerProxy::isHighAccuracyEnabled const):
(WebKit::WebGeolocationManagerProxy::providerStartUpdating):
(WebKit::WebGeolocationManagerProxy::providerStopUpdating):
(WebKit::WebGeolocationManagerProxy::providerSetEnabledHighAccuracy):
- UIProcess/WebGeolocationManagerProxy.cpp:
(WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):
(WebKit::WebGeolocationManagerProxy::processPoolDestroyed):
(WebKit::WebGeolocationManagerProxy::processDidClose):
(WebKit::WebGeolocationManagerProxy::providerDidChangePosition):
(WebKit::WebGeolocationManagerProxy::providerDidFailToDeterminePosition):
(WebKit::WebGeolocationManagerProxy::startUpdating):
(WebKit::WebGeolocationManagerProxy::stopUpdating):
(WebKit::WebGeolocationManagerProxy::setEnableHighAccuracy):
(WebKit::WebGeolocationManagerProxy::setProvider):
(WebKit::WebGeolocationManagerProxy::isUpdating const):
(WebKit::WebGeolocationManagerProxy::isHighAccuracyEnabled const):
(WebKit::WebGeolocationManagerProxy::providerStartUpdating):
(WebKit::WebGeolocationManagerProxy::providerStopUpdating):
(WebKit::WebGeolocationManagerProxy::providerSetEnabledHighAccuracy):
(WebKit::WebGeolocationManagerProxy::resetPermissions): Deleted.
(WebKit::WebGeolocationManagerProxy::removeRequester): Deleted.
- UIProcess/WebGeolocationManagerProxy.h:
(WebKit::WebGeolocationManagerProxy::lastPosition const): Deleted.
(WebKit::WebGeolocationManagerProxy::isUpdating const): Deleted.
(WebKit::WebGeolocationManagerProxy::isHighAccuracyEnabled const): Deleted.
- UIProcess/WebGeolocationManagerProxy.messages.in:
- UIProcess/ios/WKGeolocationProviderIOS.mm:
(-[WKGeolocationProviderIOS _startUpdating]):
(-[WKGeolocationProviderIOS _stopUpdating]):
(-[WKGeolocationProviderIOS _setEnableHighAccuracy:]):
(-[WKGeolocationProviderIOS initWithProcessPool:]):
(-[WKGeolocationProviderIOS decidePolicyForGeolocationRequestFromOrigin:completionHandler:view:]):
(-[WKGeolocationProviderIOS geolocationAuthorizationGranted]):
(-[WKGeolocationProviderIOS positionChanged:]):
(-[WKGeolocationProviderIOS errorOccurred:]):
(-[WKGeolocationProviderIOS resetGeolocation]):
(startUpdatingCallback): Deleted.
(stopUpdatingCallback): Deleted.
(setEnableHighAccuracy): Deleted.
(-[WKLegacyCoreLocationProvider setListener:]): Deleted.
(-[WKLegacyCoreLocationProvider requestGeolocationAuthorization]): Deleted.
(-[WKLegacyCoreLocationProvider start]): Deleted.
(-[WKLegacyCoreLocationProvider stop]): Deleted.
(-[WKLegacyCoreLocationProvider setEnableHighAccuracy:]): Deleted.
(-[WKLegacyCoreLocationProvider geolocationAuthorizationGranted]): Deleted.
(-[WKLegacyCoreLocationProvider geolocationAuthorizationDenied]): Deleted.
(-[WKLegacyCoreLocationProvider positionChanged:]): Deleted.
(-[WKLegacyCoreLocationProvider errorOccurred:]): Deleted.
(-[WKLegacyCoreLocationProvider resetGeolocation]): Deleted.
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/Geolocation/WebGeolocationManager.cpp:
(WebKit::registrableDomainForPage):
(WebKit::WebGeolocationManager::registerWebPage):
(WebKit::WebGeolocationManager::unregisterWebPage):
(WebKit::WebGeolocationManager::setEnableHighAccuracyForPage):
(WebKit::WebGeolocationManager::didChangePosition):
(WebKit::WebGeolocationManager::didFailToDeterminePosition):
(WebKit::WebGeolocationManager::resetPermissions):
(WebKit::WebGeolocationManager::isUpdating const): Deleted.
(WebKit::WebGeolocationManager::isHighAccuracyEnabled const): Deleted.
- WebProcess/Geolocation/WebGeolocationManager.h:
- WebProcess/Geolocation/WebGeolocationManager.messages.in:
- WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
(WebKit::WebGeolocationClient::startUpdating):
- WebProcess/WebCoreSupport/WebGeolocationClient.h:
(WebKit::WebGeolocationClient::WebGeolocationClient): Deleted.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::resetAllGeolocationPermissions): Deleted.
- WebProcess/WebProcess.h:
Source/WebKitLegacy/mac:
- WebCoreSupport/WebGeolocationClient.h:
- WebCoreSupport/WebGeolocationClient.mm:
(WebGeolocationClient::startUpdating):
Source/WebKitLegacy/win:
- WebCoreSupport/WebGeolocationClient.cpp:
(WebGeolocationClient::startUpdating):
- WebCoreSupport/WebGeolocationClient.h:
Source/WTF:
Add build time flag for passing website identifiers to CoreLocation.
- wtf/PlatformHave.h:
- 5:55 PM Changeset in webkit [289871] by
-
- 2 edits in trunk/LayoutTests
http/tests/history/back-with-fragment-change.php fails.
https://bugs.webkit.org/show_bug.cgi?id=68278
Unreviewed test gardening.
Patch by Matteo Flores <Matteo Flores> on 2022-02-15
- platform/mac-wk2/TestExpectations: Remarking flaky expectation.
- 5:47 PM Changeset in webkit [289870] by
-
- 2 edits in trunk/Source/WebCore
Add a new rule to decide if a font is used only for icons
https://bugs.webkit.org/show_bug.cgi?id=236660
rdar://84829499
Reviewed by Wenson Hsieh.
Add check for more characters to avoid incorrectly tagging certain fonts as symbol-only.
- platform/graphics/coretext/FontCoreText.cpp:
(WebCore::hasGlyphsForCharacterRange):
(WebCore::Font::isProbablyOnlyUsedToRenderIcons const):
- 5:40 PM Changeset in webkit [289869] by
-
- 7 edits in trunk/LayoutTests
[ iOS ] fast/text/ch-unit-synthetic-bold.html is failing constantly on iOS
https://bugs.webkit.org/show_bug.cgi?id=236610
Turns out iOS doesn't have Monaco. It's fine though; we can use local() to create
a font that doesn't have a bold family member.
Unreviewed.
- fast/text/ch-unit-synthetic-bold-expected.html:
- fast/text/ch-unit-synthetic-bold.html:
- fast/text/tab-width-synthetic-bold-complex-expected.html:
- fast/text/tab-width-synthetic-bold-complex.html:
- fast/text/tab-width-synthetic-bold-expected.html:
- fast/text/tab-width-synthetic-bold.html:
- 5:35 PM Changeset in webkit [289868] by
-
- 2 edits in trunk/LayoutTests
Unreviewed gardening.
- css3/masking/clip-path-inset-corners.html: Add fuzzy data.
- 5:34 PM Changeset in webkit [289867] by
-
- 2 edits in trunk/Websites/webkit.org
Fix WordPress wpautop to account for the Dialog element.
https://bugs.webkit.org/show_bug.cgi?id=236320
Reviewed by Darin Adler.
- wp-content/themes/webkit/functions.php:
- 5:25 PM Changeset in webkit [289866] by
-
- 7 edits2 adds in trunk
Implement ServiceWorkerRegistration.getNotifications().
https://bugs.webkit.org/show_bug.cgi?id=236545
Reviewed by Alex Christensen.
Source/WebCore:
Test: http/tests/workers/service/getnotifications.html
Until we figure out just how "persistent" we want persistent notifications from service workers to be,
this is an impementation of getNotifications() that works for the current running of the user agent.
- Modules/notifications/Notification.cpp:
(WebCore::Notification::Notification):
(WebCore::Notification::~Notification):
(WebCore::Notification::copyForGetNotifications const):
(WebCore::Notification::contextDestroyed):
(WebCore::Notification::close):
- Modules/notifications/Notification.h:
- workers/service/ServiceWorkerRegistration.cpp:
(WebCore::ServiceWorkerRegistration::getNotifications):
(WebCore::ServiceWorkerRegistration::addNotificationToList):
(WebCore::ServiceWorkerRegistration::removeNotificationFromList):
(WebCore::ServiceWorkerRegistration::filteredNotificationList):
- workers/service/ServiceWorkerRegistration.h:
LayoutTests:
- http/tests/workers/service/getnotifications-expected.txt: Added.
- http/tests/workers/service/getnotifications.html: Added.
- http/tests/workers/service/resources/shownotification-worker.js:
(async tryShow):
(async getNotes):
(async event):
- 4:51 PM Changeset in webkit [289865] by
-
- 2 edits in trunk/LayoutTests
fast/filter-image/filter-image-svg.html is failing to load the image due to a wrong path
https://bugs.webkit.org/show_bug.cgi?id=236632
Reviewed by Simon Fraser.
This test case had the following CSS.
background-image: filter(url(image.svg), url(#filter));
However, 'image.svg' doesn't exist. DRT and WTR unexpectedly
loaded the missing image icon and applied the filter. It should be
'resources/image.svg'.
- fast/filter-image/filter-image-svg.html:
- 4:44 PM Changeset in webkit [289864] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(r289495): [ Monterey arm64 ] model-element/model-element-ready.html is a flaky assertion failure.
https://bugs.webkit.org/show_bug.cgi?id=236678
Unreviewed test gardening.
Patch by Matteo Flores <Matteo Flores> on 2022-02-15
- platform/mac-wk2/TestExpectations:
- 4:42 PM Changeset in webkit [289863] by
-
- 13 edits in trunk
Make HeapType an enum class.
https://bugs.webkit.org/show_bug.cgi?id=236667
<rdar://problem/88984607>
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
- dynbench.cpp:
- heap/Heap.cpp:
- heap/Heap.h:
- jsc.cpp:
(runJSC):
- runtime/VM.cpp:
(JSC::VM::sharedInstance):
- runtime/VM.h:
- testRegExp.cpp:
(realMain):
Source/WebCore:
- bindings/js/CommonVM.cpp:
(WebCore::commonVMSlow):
Tools:
- TestWebKitAPI/Tests/JavaScriptCore/DisallowVMEntry.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/JavaScriptCore/PropertySlot.cpp:
(TestWebKitAPI::TEST):
- 4:26 PM Changeset in webkit [289862] by
-
- 7 edits in trunk
[css-transforms] properly handle interpolation of non-invertible matrices
https://bugs.webkit.org/show_bug.cgi?id=236480
Reviewed by Martin Robinson.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-transforms/animation/transform-matrix-composition-expected.txt:
- web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:
Source/WebCore:
All composition types should fall back to discrete animation behavior when
interpolating non-invertible matrices. Need to segment progress value
depending on either side of 0.5.
- platform/graphics/transforms/TransformOperations.cpp:
(WebCore::TransformOperations::shouldFallbackToDiscreteAnimation const):
(WebCore::TransformOperations::blendByMatchingOperations const):
(WebCore::TransformOperations::blendByUsingMatrixInterpolation const):
- platform/graphics/transforms/TransformOperations.h:
(WebCore::TransformOperations::hasMatrixOperation const):
- platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::TransformationMatrix::blend):
- 4:26 PM Changeset in webkit [289861] by
-
- 1 copy in tags/Safari-613.1.17.0.3
Tag Safari-613.1.17.0.3.
- 4:04 PM Changeset in webkit [289860] by
-
- 17 edits in trunk/Source
Fixes for build-webkit --minimal
https://bugs.webkit.org/show_bug.cgi?id=229780
Patch by Philip Chimento <pchimento@igalia.com> on 2022-02-15
Reviewed by Don Olmstead.
Source/WebCore:
Covered by existing tests.
Missing headers that didn't get included by other headers if certain
options were disabled; missing ifdef guards around usage of features.
- html/ColorInputType.cpp: Missing include
- page/DOMWindow.cpp: Missing include; fix pre-existing include order issue flagged by check-style
- platform/UserAgentQuirks.cpp: Missing ENABLE(PUBLIC_SUFFIX_LIST) and slight rewrite of code for the #else case
(WebCore::UserAgentQuirks::quirksForURL):
- platform/network/soup/NetworkStorageSessionSoup.cpp: Missing ENABLE(INTELLIGENT_TRACKING_PREVENTION)
(WebCore::NetworkStorageSession::setCookieAcceptPolicy):
- rendering/RenderLayerCompositor.cpp: Missing ENABLE(ASYNC_SCROLLING)
(WebCore::RenderLayerCompositor::flushPendingLayerChanges):
Source/WebKit:
Missing headers that didn't get included by other headers if certain
options were disabled; missing ifdef guards around usage of features.
- NetworkProcess/soup/NetworkDataTaskSoup.cpp: Missing ENABLE(PUBLIC_SUFFIX_LIST), duplicate line in order to avoid semicolon by itself on a line which check-style doesn't like
(WebKit::NetworkDataTaskSoup::shouldAllowHSTSPolicySetting const):
- Shared/API/glib/WebKitContextMenuActions.cpp: Missing include
- UIProcess/API/gtk/WebKitWebViewBase.cpp: Missing ENABLE(FULLSCREEN_API)
(webkitWebViewBaseDispose):
- UIProcess/gtk/PointerLockManagerWayland.cpp: Missing include
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp: Missing ENABLE(USER_MESSAGE_HANDLERS)
(webkit_dom_dom_window_webkit_message_handlers_post_message):
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentGtk.cpp: Several instances of missing ENABLE(FULLSCREEN_API). The public API methods just do nothing if not compiled with fullscreen support.
(webkit_dom_document_webkit_cancel_fullscreen):
(webkit_dom_document_webkit_exit_fullscreen):
(webkit_dom_document_get_webkit_is_fullscreen):
(webkit_dom_document_get_webkit_fullscreen_keyboard_input_allowed):
(webkit_dom_document_get_webkit_current_fullscreen_element):
(webkit_dom_document_get_webkit_fullscreen_enabled):
(webkit_dom_document_get_webkit_fullscreen_element):
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElementGtk.cpp: Missing ENABLE(FULLSCREEN_API)
(webkit_dom_element_webkit_request_fullscreen):
- WebProcess/WebPage/EventDispatcher.cpp: Two instances of missing ENABLE(ASYNC_SCROLLING)
(WebKit::EventDispatcher::wheelEvent):
(WebKit::EventDispatcher::notifyScrollingTreesDisplayWasRefreshed):
- WebProcess/WebPage/EventDispatcher.h: Missing ENABLE(ASYNC_SCROLLING)
- WebProcess/WebPage/glib/WebPageGLib.cpp: Missing ENABLE(AUTOCAPITALIZE)
(WebKit::inputMethodSateForElement):
- 3:59 PM Changeset in webkit [289859] by
-
- 2 edits in trunk/Source/WebCore
Skip positioned objects and line break boxes as they have no affect on width
https://bugs.webkit.org/show_bug.cgi?id=236514
Patch by Brandon Stewart <Brandon> on 2022-02-15
Reviewed by Myles C. Maxfield.
Align computeInlineDirectionPositionsForSegment() and computeExpansionForJustifiedText() logic.
Skipping positioned objects and line break boxes as they will not affect the width.
- rendering/LegacyLineLayout.cpp:
(WebCore::LegacyLineLayout::computeExpansionForJustifiedText):
- 3:56 PM Changeset in webkit [289858] by
-
- 2 edits in trunk/Source/WebKit
[macOS] Add access to mach service in the Networking process for all users
https://bugs.webkit.org/show_bug.cgi?id=236653
<rdar://88787266>
Reviewed by Brent Fulgham.
We currently allow access to "com.apple.trustd" for the root user. Access to this service is needed for all users.
This issue was introduced in https://trac.webkit.org/changeset/283012/webkit, and this patch also reverts this
change for older versions of macOS.
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
- 3:09 PM Changeset in webkit [289857] by
-
- 1 copy in tags/Safari-613.1.17.1.3
Tag Safari-613.1.17.1.3.
- 3:09 PM Changeset in webkit [289856] by
-
- 12 edits in trunk/Tools
[webkitscmpy] Support draft pull-requests
https://bugs.webkit.org/show_bug.cgi?id=235721
<rdar://problem/88139678>
Rubber-stamped by Aakash Jain.
GitHub has the concept of a "draft" pull request. Our tooling should allow users
to request that the pull request they are updating or creating be converted to a draft.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/git_hub.py:
(GitHub.request): Handle "draft" in upload.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:
(PullRequest.parser): Add --draft option.
(PullRequest.main): When creating or uploading a pull-request, set draft state.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/pull_request.py:
(PullRequest.init): Pass draft state.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/bitbucket.py:
(BitBucket.PRGenerator.PullRequest): Pass draft state to PullRequest object.
(BitBucket.PRGenerator.create): Accept draft flag.
(BitBucket.PRGenerator.update): Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.PRGenerator): Draft pull requests are a GitHub idea.
(GitHub.PRGenerator.PullRequest): Pass draft state to PullRequest object.
(GitHub.PRGenerator.create): Accept draft flag.
(GitHub.PRGenerator.update): Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/scm.py:
(Scm.PRGenerator): Draft pull requests are a GitHub idea.
(Scm.PRGenerator.create): Accept draft flag.
(Scm.PRGenerator.update): Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/checkout_unittest.py:
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/land_unittest.py:
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
Canonical link: https://commits.webkit.org/247298@main
- 3:05 PM Changeset in webkit [289855] by
-
- 5 edits1 add in trunk
[TextureMapperGL] drop-shadow filter with blur-radius doesn't work as expected if it is the last filter
https://bugs.webkit.org/show_bug.cgi?id=236407
Reviewed by Don Olmstead.
Source/WebCore:
BitmapTextureGL::applyFilters doesn't actually apply the last filter
and returns a texture by saving the last filter information in
m_filterInfo. Then, TextureMapperGL::drawTexture will actually apply
the last filter while drawing the texture.
TextureMapperGL::drawTexture shouldn't use
TextureMapperShaderProgram::TextureRGB option if the BitmapTextureGL
has m_filterInfo.
- platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::drawTexture):
- platform/graphics/texmap/TextureMapperShaderProgram.cpp:
AlphaBlur and ContentTexture filters should be applied before Opacity filter.
LayoutTests:
- platform/wincairo/css3/filters/effect-drop-shadow-hw-expected.png: Added.
- platform/wincairo/css3/filters/effect-drop-shadow-hw-expected.txt:
- 2:51 PM Changeset in webkit [289854] by
-
- 2 edits in trunk/Tools
[EWS] Support PRs when sending build failure emails (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=235926
<rdar://problem/88302122>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(GitHub.email_for_owners): Return error string.
(AnalyzeCompileWebKitResults.send_email_for_new_build_failure): Log error
from email_from_owners to buildbot stdio.
Canonical link: https://commits.webkit.org/247296@main
- 2:46 PM Changeset in webkit [289853] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(r287249): [ Monterey wk2 ] media/media-source/media-webm-vorbis-partial.html is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=236656
Unreviewed test gardening.
Patch by Matteo Flores <Matteo Flores> on 2022-02-15
- platform/mac-wk2/TestExpectations:
- 2:00 PM Changeset in webkit [289852] by
-
- 2 edits in trunk/Tools
Unreviewed build fix after r288478.
https://bugs.webkit.org/show_bug.cgi?id=235542
rdar://72567903
- TestWebKitAPI/Tests/WebKitCocoa/SessionStorage.mm:
- 1:57 PM Changeset in webkit [289851] by
-
- 23 edits in trunk
[macOS] Add a context menu item to "Copy Cropped Image"
https://bugs.webkit.org/show_bug.cgi?id=236602
rdar://88924479
Reviewed by Megan Gardner.
Source/WebCore:
Add ContextMenuItemTagCopyCroppedImage, and handle it in various context menu codepaths throughout WebCore.
- loader/EmptyClients.cpp:
- page/ContextMenuClient.h:
Add a client hook to allow us to disable this item in WebKitLegacy, but enable it in the modern WebKit port.
- page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
(WebCore::ContextMenuController::populate):
Insert this new item, adjacent to the existing "Copy Image" item.
(WebCore::ContextMenuController::checkOrEnableIfNeeded const):
- platform/ContextMenuItem.cpp:
(WebCore::isValidContextMenuAction):
- platform/ContextMenuItem.h:
Add a new context menu item tag for ContextMenuItemTagCopyCroppedImage; additionally, add a new special tag,
ContextMenuItemLastNonCustomTag, that will always point to the last non-custom (engine-supported) context menu
item in this enumeration. This makes it so that we can stop fiddling with the API test
WebCore.ContextMenuAction_IsValidEnum
every time we add a new context menu type, as long as we update the
ContextMenuItemLastNonCustomTag.
- platform/LocalizedStrings.h:
- platform/cocoa/LocalizedStringsCocoa.mm:
Pull the localized string for "Copy Cropped Image" out into a separate localized string helper function.
(WebCore::contextMenuItemTagCopyCroppedImage):
Source/WebKit:
Add support for a new context menu item that invokes markup when copying an image. See below for more details.
- Shared/API/c/WKContextMenuItemTypes.h:
- Shared/API/c/WKSharedAPICast.h:
(WebKit::toAPI):
(WebKit::toImpl):
Handle the new context menu enum tag.
- Shared/WebHitTestResultData.cpp:
(WebKit::WebHitTestResultData::WebHitTestResultData):
(WebKit::WebHitTestResultData::encode const):
(WebKit::WebHitTestResultData::decode):
- Shared/WebHitTestResultData.h:
Add a new
sourceImageMIMEType
member that provides the original MIME type of the source image corresponding to
the image bitmap in WebHitTestResultData. We use this below, inhandleContextMenuCopyCroppedImage
.
- UIProcess/API/Cocoa/_WKElementAction.mm:
(+[_WKElementAction _elementActionWithType:customTitle:assistant:]):
Replace the localized string macro with a call to the new localized string helper function.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::contextMenuItemSelected):
- UIProcess/WebPageProxy.h:
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::handleContextMenuCopyCroppedImage):
Handle the new context menu item action by calling into
requestImageAnalysisMarkup
and writing the result
to the pasteboard (transcoding back to the MIME type of the source image, if possible).
- WebProcess/WebCoreSupport/WebContextMenuClient.h:
Source/WebKitLegacy/mac:
See WebCore and WebKit ChangeLogs for more details.
- WebCoreSupport/WebContextMenuClient.h:
- WebView/WebHTMLView.mm:
(toTag):
Tools:
Adjust an existing API test to account for the fact that ContextMenuItemTagTranslate is no longer the last non-
custom context menu item tag.
- TestWebKitAPI/Tests/WebCore/ContextMenuAction.cpp:
(TestWebKitAPI::TEST):
- 1:51 PM Changeset in webkit [289850] by
-
- 3 edits in trunk/Source/WebCore
Copy PDF.js in WebCore.framework bundle at build-time
https://bugs.webkit.org/show_bug.cgi?id=235981
Reviewed by Alexey Proskuryakov.
This adds the Source/ThirdParty/pdfjs folder as a folder resource. Adds a installsrc step in the
WebCore makefile to make sure XCode finds the folder in production builds.
- Makefile:
- WebCore.xcodeproj/project.pbxproj:
- 1:43 PM Changeset in webkit [289849] by
-
- 3 edits2 deletes in branches/safari-613.1.17.0-branch
Revert r289828. rdar://problem/88656665
- 1:43 PM Changeset in webkit [289848] by
-
- 2 edits in trunk/Source/WebKit
[WinCairo][WK2] animations/background-position.html is timing out
https://bugs.webkit.org/show_bug.cgi?id=236630
Reviewed by Don Olmstead.
WKPageForceRepaint didn't call back if the page had active
animations.
- WebProcess/WebPage/wc/DrawingAreaWC.cpp:
(WebKit::DrawingAreaWC::didUpdate): Call
m_forceRepaintCompletionHandler even if
m_hasDeferredRenderingUpdate is true.
- 1:25 PM Changeset in webkit [289847] by
-
- 3 edits in trunk/Tools
[EWS] Use EWS as committer when rebasing
https://bugs.webkit.org/show_bug.cgi?id=236650
<rdar://problem/88967428>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(CheckOutPullRequest): Use 'EWS <ews@webkit.org>' as the committer.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/247290@main
- 1:14 PM Changeset in webkit [289846] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r288667. rdar://problem/88893789
REGRESSION(r287684) speedtest.net uses many GB of memory
https://bugs.webkit.org/show_bug.cgi?id=235615
rdar://87830583
Reviewed by Youenn Fablet.
The regression was introduced with r286937 and is a good example of
errors introduced when attempting to optimise things too early.
CachedRawResource::updateBuffer does a search in the accumulating
resource's SharedBuffer, search that was taking O(log(n)+1) prior r286937
where n is the number of DataView segments in the SharedBuffer.
This was simplified as a O(1) operation by using the combined contiguous
SharedBuffer instead.
However, that caused every single intermediary accumulated buffers to be
kept referenced by the XMLHttpRequest SharedBufferBuilder leading to
massive memory use.
In other words:
For each update, we did the following steps:
- Set m_data to a new big continuous chunk of data that stores all received data
- Create a view of the new data as a SharedBuffer. This SharedBuffer references the big continuous chunk above
- XHR stores a ref to the view, hence keep the big chunk alive.
Each XHR chunk, although small in data that can be accessed, is actually keeping in memory all temporary created m_data chunks.
Following this change, XHR will now only keeps a reference to the new DataSegment added since the last run rather than the entire previous content.
Fly-by: add some comments describing the running of the method.
- loader/cache/CachedRawResource.cpp: (WebCore::CachedRawResource::updateBuffer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288667 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:14 PM Changeset in webkit [289845] by
-
- 3 edits2 adds in branches/safari-613-branch
Cherry-pick r289776. rdar://problem/88656665
Fix crash with deeply nested async overflow scroll
https://bugs.webkit.org/show_bug.cgi?id=236599
Source/WebCore:
rdar://88656665
Reviewed by Alan Bujtas.
mergeClippingScopesRecursive() already does the append of the rects; doing so
before calling recursing triggers double appends, hence exponentially growing
rect lists.
Test: compositing/layer-creation/clipping-scope/deeply-nested-overflow.html
- rendering/LayerOverlapMap.cpp: (WebCore::OverlapMapContainer::mergeClippingScopesRecursive):
LayoutTests:
Reviewed by Alan Bujtas.
- compositing/layer-creation/clipping-scope/deeply-nested-overflow-expected.txt: Added.
- compositing/layer-creation/clipping-scope/deeply-nested-overflow.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289776 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:14 PM Changeset in webkit [289844] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r289762. rdar://problem/88786989
REGRESSION(r286560): MediaElement's getStartDate returning an incorrect time
https://bugs.webkit.org/show_bug.cgi?id=236360
<rdar://problem/88786989>
Reviewed by Eric Carlson.
r286560 changed IDL
Date
to useWallTime
instead of a rawdouble
, meaning that
HTMLMediaElement::getStartDate
now did extra processing of theMediaTime
returned by
MediaPlayer::getStartDate
.
Unfortunately,
MediaPlayerPrivateAVFoundationObjC::getStartDate
returned aMediaTime
represented in milliseconds (due to two* 1000
), even thoughMediaTime
is supposed to be
seconds-based.
As a result, the changes in r286560 inadvertently caused two
* 1000
on the same time value.
Covered by existing test (
LayoutTests/http/tests/media/hls/video-controller-getStartDate.html
).
Note that the test was marked as[Pass Failure]
before r286560.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::getStartDate const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289762 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:14 PM Changeset in webkit [289843] by
-
- 40 edits1 delete in branches/safari-613-branch/Source
Revert r289340. rdar://problem/88629773
- 1:14 PM Changeset in webkit [289842] by
-
- 2 edits in branches/safari-613-branch/Source/WebKit
Revert r289343. rdar://problem/88629773
- 1:13 PM Changeset in webkit [289841] by
-
- 4 edits in trunk/Tools
[git-webkit] --update should be synonomous with --rebase
https://bugs.webkit.org/show_bug.cgi?id=236658
<rdar://problem/88979674>
Reviewed by Ryan Haddad.
When working on a branch,
update
andrebase
mean approximately
the same thing.git-webkit pr
should support both.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:
(PullRequest.parser):
Canonical link: https://commits.webkit.org/247289@main
- 1:06 PM Changeset in webkit [289840] by
-
- 4 edits2 adds in trunk
Redirect shadow realm console output to page's ConsoleClient
https://bugs.webkit.org/show_bug.cgi?id=236518
Patch by Joseph Griego <jgriego@igalia.com> on 2022-02-15
Reviewed by Devin Rousso.
Source/WebCore:
Test: inspector/shadow-realm-console.html
Without this patch, the newly-created shadow realm global object would
not have a console client; we want the console output from the shadow
realm's context to go to the inspector, too.
- bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::deriveShadowRealmGlobalObject): Copy console client from source JSDOMGlobalObject to new shadow realm's global object.
LayoutTests:
Add tests to verify that (nested) shadow realm contexts still output to
the parent page's inspector; fix one changed test.
- inspector/shadow-realm-console-expected.txt: Added.
- inspector/shadow-realm-console.html: Added.
- js/ShadowRealm-importValue-expected.txt: Added console line that had previously been blackholed
- 12:47 PM Changeset in webkit [289839] by
-
- 7 edits in trunk/Source/WebCore
Refactor logic for writing selected text in image overlays to the pasteboard
https://bugs.webkit.org/show_bug.cgi?id=236546
rdar://83173693
Reviewed by Megan Gardner.
Refactor logic for copying text in image overlays to use
Editor::writeSelection
, as opposed to extracting a
string from the current selection range and directly writing it to the pasteboard as plain text. See below for
more details.
- dom/ImageOverlay.cpp:
Add a couple of new ImageOverlay-namespaced helper functions.
(WebCore::ImageOverlay::characterRange):
Add a function to return the character range for the given selection inside an image overlay (or
std::nullopt
if the selection is not inside of an image overlay).
(WebCore::ImageOverlay::isInsideOverlay):
Add a function to determine whether or not the given selection is inside of an image overlay.
- dom/ImageOverlay.h:
- editing/Editor.cpp:
(WebCore::Editor::performCutOrCopy):
Refactor this to use
writeSelectionToPasteboard()
when the current selection is inside an image overlay.
- editing/cocoa/EditorCocoa.mm:
(WebCore::Editor::selectionInHTMLFormat):
Intentionally return the null string for image overlays.
(WebCore::selectionInImageOverlayAsAttributedString):
(WebCore::selectionAsAttributedString):
Add a special codepath when serializing selected text in image overlays such that we consult the image element's
TextRecognitionResult for the attributed string to write to the pasteboard, given the selected CharacterRange in
the image overlay.
(WebCore::Editor::selectionInWebArchiveFormat):
Intentionally return null for image overlays.
- page/Page.cpp:
(WebCore::Page::cachedTextRecognitionResult const):
Add a helper method to retrieve a cached TextRecognitionResult, given a host image element.
- page/Page.h:
- 11:14 AM Changeset in webkit [289838] by
-
- 17 edits1 copy in trunk
[CSS Container Queries] Support all size features
https://bugs.webkit.org/show_bug.cgi?id=236640
Reviewed by Tim Nguyen and Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/at-container-parsing-expected.txt:
- web-platform-tests/css/css-contain/container-queries/query-content-box-expected.txt:
- web-platform-tests/css/css-contain/container-queries/size-feature-evaluation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/unsupported-axis-expected.txt:
Source/WebCore:
Support inline-size, block-size, aspect-ratio and orientation in addition to the currently
supported width and height.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- css/ContainerQuery.cpp: Copied from Source/WebCore/css/ContainerQuery.h.
(WebCore::CQ::FeatureNames::width):
(WebCore::CQ::FeatureNames::height):
(WebCore::CQ::FeatureNames::inlineSize):
(WebCore::CQ::FeatureNames::blockSize):
(WebCore::CQ::FeatureNames::aspectRatio):
(WebCore::CQ::FeatureNames::orientation):
- css/ContainerQuery.h:
- css/ContainerQueryParser.cpp:
(WebCore::ContainerQueryParser::consumeSizeFeature):
Parse the new features.
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeAspectRatio):
Use the new consumeAspectRatioValue helper.
- css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::consumeAspectRatioValue):
- css/parser/CSSPropertyParserHelpers.h:
- style/ContainerQueryEvaluator.cpp:
(WebCore::Style::computeSize):
(WebCore::Style::ContainerQueryEvaluator::evaluateSizeFeature const):
LayoutTests:
- 11:04 AM Changeset in webkit [289837] by
-
- 3 edits in trunk/Tools
REGRESSION(r289147): Two API tests are failing
https://bugs.webkit.org/show_bug.cgi?id=236376
<rdar://88586730>
Reviewed by Alexey Proskuryakov.
After r289147, the WebContent process can no longer consume sandbox extensions to the CF preference daemon.
Update the test expectations.
- TestWebKitAPI/Tests/WebKit/EnableAccessibility.mm:
(TEST):
- TestWebKitAPI/Tests/WebKit/GrantAccessToPreferencesService.mm:
(TEST):
- 11:02 AM Changeset in webkit [289836] by
-
- 2 edits in trunk/Source/WebCore/PAL
Fix internal Big Sur build
- pal/spi/mac/HIToolboxSPI.h:
- 11:00 AM Changeset in webkit [289835] by
-
- 12 edits in trunk/Tools
git-webkit setup should verify the credentials before saving them
https://bugs.webkit.org/show_bug.cgi?id=235298
<rdar://problem/87988794>
Reviewed by Dewei Zhu.
- Tools/Scripts/libraries/webkitbugspy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/init.py: Ditto.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/bugzilla.py:
(Tracker.credentials): Pass validater into webkitscmpy.credentials if caller requests validation.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py:
(Tracker.credentials): Pass validater into webkitscmpy.credentials if caller requests validation.
- Tools/Scripts/libraries/webkitcorepy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Ditto.
- Tools/Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py:
(credentials): Allow caller to provide a callback which will validate credentials to ensure
they work, re-prompt user if credentials fail validation.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py:
(Setup.git): Request validation of GitHub credentials.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.credentials): Pass validation flag.
- 10:49 AM Changeset in webkit [289834] by
-
- 2 edits1 copy1 add in trunk/LayoutTests
Rebaslining fonts/monospace.html for Monterey.
https://bugs.webkit.org/show_bug.cgi?id=236619
Unreviewed test gardening.
Patch by Matteo Flores <Matteo Flores> on 2022-02-15
- platform/mac-catalina/fonts/monospace-expected.txt: Copied from LayoutTests/platform/mac/fonts/monospace-expected.txt.
- platform/mac/fonts/monospace-expected.txt:
- 10:45 AM Changeset in webkit [289833] by
-
- 2 edits in branches/safari-613.1.17.1-branch/Source/WebCore
Cherry-pick r288667. rdar://problem/88893789
REGRESSION(r287684) speedtest.net uses many GB of memory
https://bugs.webkit.org/show_bug.cgi?id=235615
rdar://87830583
Reviewed by Youenn Fablet.
The regression was introduced with r286937 and is a good example of
errors introduced when attempting to optimise things too early.
CachedRawResource::updateBuffer does a search in the accumulating
resource's SharedBuffer, search that was taking O(log(n)+1) prior r286937
where n is the number of DataView segments in the SharedBuffer.
This was simplified as a O(1) operation by using the combined contiguous
SharedBuffer instead.
However, that caused every single intermediary accumulated buffers to be
kept referenced by the XMLHttpRequest SharedBufferBuilder leading to
massive memory use.
In other words:
For each update, we did the following steps:
- Set m_data to a new big continuous chunk of data that stores all received data
- Create a view of the new data as a SharedBuffer. This SharedBuffer references the big continuous chunk above
- XHR stores a ref to the view, hence keep the big chunk alive.
Each XHR chunk, although small in data that can be accessed, is actually keeping in memory all temporary created m_data chunks.
Following this change, XHR will now only keeps a reference to the new DataSegment added since the last run rather than the entire previous content.
Fly-by: add some comments describing the running of the method.
- loader/cache/CachedRawResource.cpp: (WebCore::CachedRawResource::updateBuffer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288667 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:45 AM Changeset in webkit [289832] by
-
- 3 edits2 adds in branches/safari-613.1.17.1-branch
Cherry-pick r289776. rdar://problem/88656665
Fix crash with deeply nested async overflow scroll
https://bugs.webkit.org/show_bug.cgi?id=236599
Source/WebCore:
rdar://88656665
Reviewed by Alan Bujtas.
mergeClippingScopesRecursive() already does the append of the rects; doing so
before calling recursing triggers double appends, hence exponentially growing
rect lists.
Test: compositing/layer-creation/clipping-scope/deeply-nested-overflow.html
- rendering/LayerOverlapMap.cpp: (WebCore::OverlapMapContainer::mergeClippingScopesRecursive):
LayoutTests:
Reviewed by Alan Bujtas.
- compositing/layer-creation/clipping-scope/deeply-nested-overflow-expected.txt: Added.
- compositing/layer-creation/clipping-scope/deeply-nested-overflow.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289776 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:45 AM Changeset in webkit [289831] by
-
- 2 edits in branches/safari-613.1.17.1-branch/Source/WebCore
Cherry-pick r289762. rdar://problem/88786989
REGRESSION(r286560): MediaElement's getStartDate returning an incorrect time
https://bugs.webkit.org/show_bug.cgi?id=236360
<rdar://problem/88786989>
Reviewed by Eric Carlson.
r286560 changed IDL
Date
to useWallTime
instead of a rawdouble
, meaning that
HTMLMediaElement::getStartDate
now did extra processing of theMediaTime
returned by
MediaPlayer::getStartDate
.
Unfortunately,
MediaPlayerPrivateAVFoundationObjC::getStartDate
returned aMediaTime
represented in milliseconds (due to two* 1000
), even thoughMediaTime
is supposed to be
seconds-based.
As a result, the changes in r286560 inadvertently caused two
* 1000
on the same time value.
Covered by existing test (
LayoutTests/http/tests/media/hls/video-controller-getStartDate.html
).
Note that the test was marked as[Pass Failure]
before r286560.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::getStartDate const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289762 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:45 AM Changeset in webkit [289830] by
-
- 2 edits in branches/safari-613.1.17.0-branch/Source/WebCore
Cherry-pick r288667. rdar://problem/88893789
REGRESSION(r287684) speedtest.net uses many GB of memory
https://bugs.webkit.org/show_bug.cgi?id=235615
rdar://87830583
Reviewed by Youenn Fablet.
The regression was introduced with r286937 and is a good example of
errors introduced when attempting to optimise things too early.
CachedRawResource::updateBuffer does a search in the accumulating
resource's SharedBuffer, search that was taking O(log(n)+1) prior r286937
where n is the number of DataView segments in the SharedBuffer.
This was simplified as a O(1) operation by using the combined contiguous
SharedBuffer instead.
However, that caused every single intermediary accumulated buffers to be
kept referenced by the XMLHttpRequest SharedBufferBuilder leading to
massive memory use.
In other words:
For each update, we did the following steps:
- Set m_data to a new big continuous chunk of data that stores all received data
- Create a view of the new data as a SharedBuffer. This SharedBuffer references the big continuous chunk above
- XHR stores a ref to the view, hence keep the big chunk alive.
Each XHR chunk, although small in data that can be accessed, is actually keeping in memory all temporary created m_data chunks.
Following this change, XHR will now only keeps a reference to the new DataSegment added since the last run rather than the entire previous content.
Fly-by: add some comments describing the running of the method.
- loader/cache/CachedRawResource.cpp: (WebCore::CachedRawResource::updateBuffer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288667 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:45 AM Changeset in webkit [289829] by
-
- 40 edits1 delete in branches/safari-613.1.17.1-branch/Source
Revert r289340. rdar://problem/88629773
- 10:45 AM Changeset in webkit [289828] by
-
- 3 edits2 adds in branches/safari-613.1.17.0-branch
Cherry-pick r289776. rdar://problem/88656665
Fix crash with deeply nested async overflow scroll
https://bugs.webkit.org/show_bug.cgi?id=236599
Source/WebCore:
rdar://88656665
Reviewed by Alan Bujtas.
mergeClippingScopesRecursive() already does the append of the rects; doing so
before calling recursing triggers double appends, hence exponentially growing
rect lists.
Test: compositing/layer-creation/clipping-scope/deeply-nested-overflow.html
- rendering/LayerOverlapMap.cpp: (WebCore::OverlapMapContainer::mergeClippingScopesRecursive):
LayoutTests:
Reviewed by Alan Bujtas.
- compositing/layer-creation/clipping-scope/deeply-nested-overflow-expected.txt: Added.
- compositing/layer-creation/clipping-scope/deeply-nested-overflow.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289776 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:45 AM Changeset in webkit [289827] by
-
- 2 edits in branches/safari-613.1.17.0-branch/Source/WebCore
Cherry-pick r289762. rdar://problem/88786989
REGRESSION(r286560): MediaElement's getStartDate returning an incorrect time
https://bugs.webkit.org/show_bug.cgi?id=236360
<rdar://problem/88786989>
Reviewed by Eric Carlson.
r286560 changed IDL
Date
to useWallTime
instead of a rawdouble
, meaning that
HTMLMediaElement::getStartDate
now did extra processing of theMediaTime
returned by
MediaPlayer::getStartDate
.
Unfortunately,
MediaPlayerPrivateAVFoundationObjC::getStartDate
returned aMediaTime
represented in milliseconds (due to two* 1000
), even thoughMediaTime
is supposed to be
seconds-based.
As a result, the changes in r286560 inadvertently caused two
* 1000
on the same time value.
Covered by existing test (
LayoutTests/http/tests/media/hls/video-controller-getStartDate.html
).
Note that the test was marked as[Pass Failure]
before r286560.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::getStartDate const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289762 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:45 AM Changeset in webkit [289826] by
-
- 40 edits1 delete in branches/safari-613.1.17.0-branch/Source
Revert r289340. rdar://problem/88629773
- 10:45 AM Changeset in webkit [289825] by
-
- 2 edits in branches/safari-613.1.17.1-branch/Source/WebKit
Revert r289343. rdar://problem/88629773
- 10:45 AM Changeset in webkit [289824] by
-
- 2 edits in branches/safari-613.1.17.0-branch/Source/WebKit
Revert r289343. rdar://problem/88629773
- 10:33 AM Changeset in webkit [289823] by
-
- 3 edits in trunk/Source/JavaScriptCore
[Xcode] Remove "Make libWTF.a Symbolic Link" script phase
https://bugs.webkit.org/show_bug.cgi?id=236613
Reviewed by Alexey Proskuryakov.
We pass the absolute path to libWTF.a to ld's -force_load argument. The path was being
computed at build time by a script, but can be expressed in build settings. Change
OTHER_LDFLAGS such that engineering builds libWTF.a from build products, and production
builds use libWTF.a from their SDK.
- Configurations/JavaScriptCore.xcconfig: Set OTHER_LDFLAGS.
- JavaScriptCore.xcodeproj/project.pbxproj: Remove build phase.
- 10:29 AM Changeset in webkit [289822] by
-
- 1 copy in tags/Safari-614.1.3.1
Tag Safari-614.1.3.1.
- 10:28 AM Changeset in webkit [289821] by
-
- 9 edits in branches/safari-613.1.17.1-branch/Source
Versioning.
WebKit-7613.1.17.1.3
- 10:26 AM Changeset in webkit [289820] by
-
- 9 edits in branches/safari-613.1.17.0-branch/Source
Versioning.
WebKit-7613.1.17.0.3
- 10:23 AM Changeset in webkit [289819] by
-
- 4 edits in trunk
[CMake] Checks uses of execute_process() for correct command splitting
https://bugs.webkit.org/show_bug.cgi?id=236366
Reviewed by Don Olmstead.
.:
- Source/cmake/FindGObjectIntrospection.cmake: Remove macro _GIR_GET_PKGCONFIG_VAR, which used
execute_process(), in favor of pkg_get_variable(), which has been supported since CMake 3.4
Source/JavaScriptCore:
- CMakeLists.txt: string(TIMESTAMP var "%s") has been supported since CMake 3.6, and given
that 3.12 is required we can use it instead of shelling out to run the "date" program.
- 10:05 AM Changeset in webkit [289818] by
-
- 15 edits1 add in trunk/Source
Source/WebCore:
Implement additional Reveal methods.
https://bugs.webkit.org/show_bug.cgi?id=236627
Reviewed by Tim Horton.
Respond to protocol methods that instantiate a selection and request RVItems for a menu.
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- editing/EditingBehavior.h:
(WebCore::EditingBehavior::shouldSelectBasedOnDictionaryLookup const):
- editing/cocoa/DictionaryLookup.mm:
(WebCore::canCreateRevealItems):
(WebCore::showPopupOrCreateAnimationController):
- page/EventHandler.cpp:
(WebCore::EventHandler::selectClosestContextualWordFromHitTestResult):
(WebCore::EventHandler::selectClosestContextualWordOrLinkFromHitTestResult):
(WebCore::EventHandler::handleMousePressEventDoubleClick):
(WebCore::EventHandler::sendContextMenuEvent):
(WebCore::EventHandler::selectClosestWordFromMouseEvent): Deleted.
(WebCore::EventHandler::selectClosestContextualWordFromMouseEvent): Deleted.
(WebCore::EventHandler::selectClosestContextualWordOrLinkFromMouseEvent): Deleted.
- page/EventHandler.h:
- page/cocoa/EventHandlerCocoa.mm: Added.
(WebCore::EventHandler::selectClosestWordFromHitTestResultBasedOnLookup):
Source/WebKit:
Implement additional Reveeal methods.
https://bugs.webkit.org/show_bug.cgi?id=236627
Reviewed by Tim Horton.
Respond to protocol methods that instantiate a selection and request RVItems for a menu.
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView prepareSelectionForContextMenuWithLocationInView:completionHandler:]):
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::prepareSelectionForContextMenuWithLocationInView):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::requestDictationContext):
(WebKit::WebPage::rvItemForCurrentSelection):
(WebKit::WebPage::requestRVItemInCurrentSelectedRange):
(WebKit::WebPage::prepareSelectionForContextMenuWithLocationInView):
- 9:03 AM Changeset in webkit [289817] by
-
- 3 edits in trunk/Source/WebKit
Modify getAllLocalAuthenticatorCredentials according to internal requirements
https://bugs.webkit.org/show_bug.cgi?id=236364
rdar://88585418
Reviewed by Brent Fulgham.
This patch modifies the getAllLocalAuthenticatorCredentials SPI to return additional
fields according to internal needs.
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(updateCredentialIfNessesary):
(getAllLocalAuthenticatorCredentialsImpl):
- 8:03 AM Changeset in webkit [289816] by
-
- 4 edits in trunk/Source/WebKit
[GTK][WPE] Move WebPage::platformInitialize and WebPage::platformDetach() to WebPageGLib.cpp
https://bugs.webkit.org/show_bug.cgi?id=236646
Reviewed by Adrian Perez de Castro.
It's duplicated code related to accessibility.
- WebProcess/WebPage/glib/WebPageGLib.cpp:
(WebKit::WebPage::platformInitialize):
(WebKit::WebPage::platformDetach):
- WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::platformInitialize): Deleted.
(WebKit::WebPage::platformDetach): Deleted.
- WebProcess/WebPage/wpe/WebPageWPE.cpp:
(WebKit::WebPage::platformInitialize): Deleted.
(WebKit::WebPage::platformDetach): Deleted.
- 7:45 AM Changeset in webkit [289815] by
-
- 3 edits in trunk/Tools
[EWS] Need /bin/sh equivalent on wincairo
https://bugs.webkit.org/show_bug.cgi?id=236608
<rdar://problem/88926062>
Reviewed by Don Olmstead.
- Tools/CISupport/ews-build/steps.py:
(ShellMixin.shell_command): Invoke provided command with
the system shell (either /bin/sh or cmd)
(ShellMixin.shell_exit_0): Trailing shell command ensuring
a 0 exit code regardless of the outcome of previous commands.
(ApplyPatch.start): Invoke command with cmd or /bin/sh/.
(CheckOutPullRequest.run): Ditto.
(CleanGitRepo.run): Ditto.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/247276@main
- 7:42 AM Changeset in webkit [289814] by
-
- 5 edits in trunk/Source/WebCore
Do not update the fragmented flow state while internally mutating the render tree
https://bugs.webkit.org/show_bug.cgi?id=230896
Reviewed by Darin Adler.
RenderTree mutations (like those happening when creating/destroying anonymous blocks)
should not affect the fragment state of any renderer. This means that we should not have
to deal with things like creating/restoring placeholders/spanners while doing that.
There is already a IsInternalMove flag that is being used for that. Expand its usage
to a couple more methods to improve correctness.
- rendering/LegacyRootInlineBox.cpp:
(WebCore::LegacyRootInlineBox::~LegacyRootInlineBox): Do not remove the inline box from
the ContainingFragmentMap if we're deleting the tree. It was causing ASSERTs trying to
retrieve the enclosing fragmented flow in some cases.
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::attachToRenderElementInternal): Use the RenderTreeBuilder's
m_internalTreeBuilding instead of the argument.
(WebCore::RenderTreeBuilder::move): Replace passing the IsInternalMove argument by a
scope where we don't update the fragmented flow state.
(WebCore::RenderTreeBuilder::detachFromRenderElement): Use the RenderTreeBuilder's
m_internalMovesType instead of the argument.
- rendering/updating/RenderTreeBuilder.h:
- rendering/updating/RenderTreeBuilderInline.cpp:
(WebCore::RenderTreeBuilder::Inline::splitInlines): Wrap the method by a scope in which
fragmented flow state is not updated because we consider those operations internal arrangements
of the tree.
- 7:22 AM Changeset in webkit [289813] by
-
- 16 edits1 copy6 adds in trunk
[Forms] the select() method returns should be in line with specs
https://bugs.webkit.org/show_bug.cgi?id=236435
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt:
Source/WebCore:
This CL is to correct the returns for select() method to be in line
with specs at
https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#dom-textarea%2Finput-select
It updates the expectations for a few WPT tests as more sub-tests are now passing.
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::selectionStartForBindings const):
(WebCore::HTMLInputElement::setSelectionStartForBindings):
(WebCore::HTMLInputElement::selectionEndForBindings const):
(WebCore::HTMLInputElement::setSelectionEndForBindings):
(WebCore::HTMLInputElement::selectionDirectionForBindings const):
(WebCore::HTMLInputElement::setSelectionDirectionForBindings):
(WebCore::HTMLInputElement::setSelectionRangeForBindings):
- html/HTMLInputElement.h:
- html/HTMLInputElement.idl:
LayoutTests:
- fast/forms/selection-functions-expected.txt:
- fast/forms/selection-wrongtype-expected.txt:
- fast/forms/selection-wrongtype.html:
- platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt: Added.
- platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt:
- platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt: Added.
- platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt.
- platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt:
- 7:20 AM Changeset in webkit [289812] by
-
- 4 edits in trunk
[Forms] Make sure the element's dirty checkedness flag is set to true when setting checked
https://bugs.webkit.org/show_bug.cgi?id=236497
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
Update the test expectations as the tests are now passing.
- web-platform-tests/html/semantics/forms/the-input-element/cloning-steps-expected.txt:
Source/WebCore:
As per spec
https://html.spec.whatwg.org/multipage/input.html#the-input-element%3Aconcept-node-clone-ext,
"The checked IDL attribute allows scripts to manipulate the checkedness of an input element.
... on setting, it must set the element's checkedness to the new value and set the element's
dirty checkedness flag to true." This CL is to make sure this flag is set to true.
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setChecked):
- 7:10 AM Changeset in webkit [289811] by
-
- 2 edits in trunk/Tools
[JSC] Speed up getStatusMap and increase robustness
https://bugs.webkit.org/show_bug.cgi?id=236559
Reviewed by Adrian Perez de Castro.
Collect test results in parallel. Also, ignore ssh errors during
collection (e.g. because the remote host is down) -- the main retry
loop will take care of that for us.
This should both avoid needless failures like
https://build.webkit.org/#/builders/31/builds/2432 and reduce the
latency when there are multiple remotes (e.g. for MIPS).
- Scripts/run-jsc-stress-tests:
- 6:53 AM Changeset in webkit [289810] by
-
- 4 edits in trunk
Scrolling while focusing an element should take into account scroll margin
https://bugs.webkit.org/show_bug.cgi?id=235432
Reviewed by Simon Fraser.
Source/WebCore:
No new tests. This is covered by existing WPT tests.
- page/FrameView.cpp:
(WebCore::FrameView::scrollToFocusedElementInternal): Respect the scroll margin
when focusing an element.
LayoutTests:
- TestExpectations: Mark two tests as passing.
- 6:45 AM WebKitGTK/2.34.x edited by
- (diff)
- 6:44 AM Changeset in webkit [289809] by
-
- 3 edits in releases/WebKitGTK/webkit-2.34/Source/WebCore
Merge r289620 - [GTK] WebKit browser scrollbars not always correctly displayed if overlay scrollbars are disabled
https://bugs.webkit.org/show_bug.cgi?id=234874
Patch by Michael Catanzaro <Michael Catanzaro> on 2022-02-11
Reviewed by Carlos Garcia Campos.
If overlay scrollbars are disabled, and there is not enough content for the page to be
scrollable, and scrollbars are forced using overflow:scroll, then we currently fail to
paint the scrollbars properly. At minimum, we need to paint the scrollbar background, which
is what the macOS port does. Do so.
In the future, we might want to additionally paint the rest of the scrollbars, similar to
the GTK_POLICY_ALWAYS scrollbar policy type, but this would require more work.
- platform/adwaita/ScrollbarThemeAdwaita.cpp:
(WebCore::ScrollbarThemeAdwaita::paint):
- platform/gtk/ScrollbarThemeGtk.cpp:
(WebCore::ScrollbarThemeGtk::paint):
- 6:30 AM Changeset in webkit [289808] by
-
- 4 edits in releases/WebKitGTK/webkit-2.34/Source
Merge r289804 - [GTK] D-Bus crash atk-bridge
https://bugs.webkit.org/show_bug.cgi?id=236208
Reviewed by Adrian Perez de Castro.
Source/WebCore:
When a root is unregistered, check first if the registration is still pending to just complete and remove it.
- accessibility/atspi/AccessibilityAtspi.cpp:
(WebCore::AccessibilityAtspi::unregisterRoot):
Source/WebKit:
It seems that for some reason we might end up with an empty string as plug ID which ATK doesn't handle right. We
should not send the BindAccessibilityTree message if the plug ID is not valid. In the case of ATSPI we can just
check it's not empty, since we know we always build a valid ID when we have a connection. In the case of ATK we
should check it's a valid unique name and object path.
- WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::platformInitialize):
- 6:23 AM WebKitGTK/2.34.x edited by
- (diff)
- 6:23 AM Changeset in webkit [289807] by
-
- 5 edits in releases/WebKitGTK/webkit-2.34/Source
Merge r289795 - [GTK][WPE] Inclusion of OpenGLShims.h should not depend on USE(GLX)
https://bugs.webkit.org/show_bug.cgi?id=236593
Reviewed by Michael Catanzaro.
Source/WebCore:
No new tests needed.
- platform/graphics/GLContext.cpp: Remove inclusion of OpenGLShims.h guarded by USE(GLX).
- platform/graphics/GLContext.h: Include OpenGLShims.h as fallback option when neither
USE(LIBEPOXY) nor USE(OPENGL_ES) are into effect.
Source/WebKit:
- UIProcess/API/glib/WebKitProtocolHandler.cpp: Move inclusion of GL/glx.h under a
PLATFORM(X11) guard, and inclusion of WebCore/OpenGLShims.h into a chain of guards
which picks it if USE(LIBEPOXY) and USE(OPENGL_ES) are both false, which is the same
checks done in other parts of the code where these are needed.
- 6:22 AM Changeset in webkit [289806] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r289216): Crash in DocumentTimeline::animationCanBeRemoved
https://bugs.webkit.org/show_bug.cgi?id=236615
<rdar://problem/88943156>
Reviewed by Michael Catanzaro.
Use the default style if we can't obtain one from the target's renderer.
- animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::animationCanBeRemoved):
- 6:20 AM Changeset in webkit [289805] by
-
- 2 edits in releases/WebKitGTK/webkit-2.34/Source/WTF
Merge r289761 - [Linux/aarch64] Move page size ceiling to 16k
https://bugs.webkit.org/show_bug.cgi?id=236564
Patch by Gustavo Noronha Silva <gustavo@noronha.dev.br> on 2022-02-14
Reviewed by Yusuke Suzuki.
On Apple Silicon, Linux needs to use 16k pages to be as fast as possible. This change has no
visible impact on binary size for release builds, so apply it to all of aarch64 Linux.
- wtf/PageBlock.h:
- 6:07 AM Changeset in webkit [289804] by
-
- 4 edits in trunk/Source
[GTK] D-Bus crash atk-bridge
https://bugs.webkit.org/show_bug.cgi?id=236208
Reviewed by Adrian Perez de Castro.
Source/WebCore:
When a root is unregistered, check first if the registration is still pending to just complete and remove it.
- accessibility/atspi/AccessibilityAtspi.cpp:
(WebCore::AccessibilityAtspi::unregisterRoot):
Source/WebKit:
It seems that for some reason we might end up with an empty string as plug ID which ATK doesn't handle right. We
should not send the BindAccessibilityTree message if the plug ID is not valid. In the case of ATSPI we can just
check it's not empty, since we know we always build a valid ID when we have a connection. In the case of ATK we
should check it's a valid unique name and object path.
- WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::platformInitialize):
- 6:06 AM Changeset in webkit [289803] by
-
- 2 edits in trunk/Source/WebKit
Memory for messages wrapped for testing is freed before use
https://bugs.webkit.org/show_bug.cgi?id=236590
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-15
Reviewed by Antti Koivisto.
Wrapped messages are such that the data is wrapped inside a synchronous message.
These are sent by certain test objects.
In case the wrapped message was sent to another thread, the wrappee would be
destroyed before the wrapped message was read.
This is a regression from "Support in-process testing of IPC messages"
where the Decoder constructor with deallocator parameter was changed to
unconditionally mean that the Decoder owns the passed in data.
This call-site was missed, and it uses the constructor to pass nullptr
deallocator. Previously this used to mean that the constructor should
copy the data.
Fix by using the copying Decoder constructor.
Add assertion to the ownership-transfer decoder that the deallocation
function is non-null to notice the potential misuse. Currently passing
globally owned data, e.g. non-deallocated data is not useful.
Remove pessimizing WTFMove of a local variabl from a return position.
No new tests, caught by fast/events/gesture/wheel-from-gesture.html with ASAN.
- Platform/IPC/Decoder.cpp:
(IPC::Decoder::create):
(IPC::Decoder::unwrapForTesting):
- 5:10 AM Changeset in webkit [289802] by
-
- 2 edits in trunk/Source/WebKit
GPUP WebGL: WTF::RefCountedBase::applyRefDerefThreadingCheck() fails due to RemoteGraphicsContextGL::paintPixelBufferToImageBuffer
https://bugs.webkit.org/show_bug.cgi?id=236501
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-15
Reviewed by Antti Koivisto.
No new tests, tested by existing WebGL conformance tests which fail from time to time with the assertion.
Avoid assertion about cross-thread deref on ArrayBufferView owned by PixelBuffer. The PixelBuffer
is passed to RemoteRenderingBackend thread for drawing and then deallocated there. In this use-case
no other referneces to the ArrayBufferView exist and the PixelBuffer is moved, so it is safe to
disable the cross-thread deref assertion.
- GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::RemoteGraphicsContextGL::paintPixelBufferToImageBuffer):
- 4:35 AM WebKitGTK/2.34.x edited by
- (diff)
- 4:31 AM Changeset in webkit [289801] by
-
- 2 edits1 add in trunk/Tools/buildstream
[Flatpak SDK] Add mold linker
https://bugs.webkit.org/show_bug.cgi?id=236362
Reviewed by Philippe Normand.
The Mold linker claims to be faster than Gold and LLD, and while it does not support LTO
at the moment, it has reachd a reasonable level of maturity and can be used for projects
as complex as WebKit already.
Mold can be used in combination with the Clang compiler driver or GCC 12+ by passing
-fuse-ld=mold as a linker flag, for example as follows:
% LDFLAGS=-fuse-ld=mold Tools/Scripts/build-webkit [...]
% LDFLAGS=-fuse-ld=mold CC=clang CXX=clang++ Tools/Scripts/build-webkit [...]
As GCC 11 and older, the -fuse-ld=mold option is not supported. It is still possible to
use -B to instruct the compiler driver to try a different path first for helper programs,
and a wrapper for Mold called "ld" is available as well:
% LDFLAGS=-B/usr/libexec/mold Tools/Scripts/build-webkit [...]
- elements/sdk-platform.bst: List sdk/mold.bst as part of the SDK.
- elements/sdk/mold.bst: Added.
- 4:01 AM Changeset in webkit [289800] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer][MSE] Let MSE set natural video size when using holepunch
https://bugs.webkit.org/show_bug.cgi?id=236453
Reviewed by Xabier Rodriguez-Calvar.
Currently the holepunch implementation completely overrides the video size to a hardcoded
value. It would be desirable to let the m_videoSize value set by
MediaPlayerPrivateGStreamerMSE::setInitialVideoSize() take precedence over the hardcoded value.
This is a fix for media element events test case from YTS:
https://ytlr-cert.appspot.com/2021/main.html?tests=18
This patch is authored by Eugene Mutavchi <Ievgen_Mutavchi@comcast.com>
See: https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/775
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::naturalSize const): Return m_videoSize when set.
- 3:25 AM WebKitGTK/2.34.x edited by
- (diff)
- 1:37 AM Changeset in webkit [289799] by
-
- 5 edits6 adds1 delete in trunk/Source
[WGSL] Implement enough of the lexer for the simplest shaders
https://bugs.webkit.org/show_bug.cgi?id=233276
<rdar://problem/85732675>
Reviewed by Myles Maxfield.
Source/WebGPU:
There is just enough of the lexer in this patch to pass the unit tests (also added by the patch).
The lexer is templated by the character size, following the code from JSC's lexer.
I did not use a lexer generator like lex for a few reasons:
- It would have made the build system(s) even more of a nightmare
- It would have made it harder to give accurate and customized error messages
- If we ever decide to do anything exotic to the grammar of the language, it could have made it much harder
The lexing of floating point literals is a bit hacky, and probably has some precision issues in corner cases, but it passed all simple unit tests,
so for now I just left it as is with a FIXME, to be fixed once we can run the full CTS.
The TokenType includes an
Invalid
value. I could instead have used std::optional<Token> everywhere.
I made this choice for two reasons:
- space efficiency: we don't use an extra word of memory for the variant's tag
- (although this part could be solved by using https://github.com/akrzemi1/markable)
- ease of use and time efficiency: everywhere that we check for a given TokenType, we would have to first check that the Token is not nullopt, and then check the TokenType.
- Configurations/WGSLUnitTests.xcconfig:
- WGSL/Lexer.cpp: Added.
(WGSL::Lexer<T>::lex):
(WGSL::Lexer<T>::shift):
(WGSL::Lexer<T>::peek):
(WGSL::Lexer<T>::skipWhitespace):
(WGSL::Lexer<T>::isAtEndOfFile const):
(WGSL::Lexer<T>::parseDecimalInteger):
(WGSL::Lexer<T>::parseDecimalFloatExponent):
(WGSL::Lexer<T>::parseIntegerLiteralSuffix):
(WGSL::Lexer<LChar>::isWhiteSpace):
(WGSL::Lexer<LChar>::isIdentifierStart):
(WGSL::Lexer<LChar>::isValidIdentifierCharacter):
(WGSL::Lexer<LChar>::isDecimal):
(WGSL::Lexer<LChar>::isHexadecimal):
(WGSL::Lexer<LChar>::readDecimal):
(WGSL::Lexer<LChar>::readHexadecimal):
(WGSL::Lexer<UChar>::isWhiteSpace):
(WGSL::Lexer<UChar>::isIdentifierStart):
(WGSL::Lexer<UChar>::isValidIdentifierCharacter):
(WGSL::Lexer<UChar>::isDecimal):
(WGSL::Lexer<UChar>::isHexadecimal):
(WGSL::Lexer<UChar>::readDecimal):
(WGSL::Lexer<UChar>::readHexadecimal):
- WGSL/Lexer.h: Added.
(WGSL::Lexer::Lexer):
(WGSL::Lexer::currentPosition const):
(WGSL::Lexer::currentOffset const):
(WGSL::Lexer::currentTokenLength const):
(WGSL::Lexer::makeToken):
(WGSL::Lexer::makeLiteralToken):
(WGSL::Lexer::makeIdentifierToken):
- WGSL/SourceSpan.h: Added.
(WGSL::SourceSpan::SourceSpan):
- WGSL/Token.cpp: Added.
(WGSL::toString):
- WGSL/Token.h: Added.
(WGSL::Token::Token):
(WGSL::Token::operator=):
(WGSL::Token::~Token):
- WGSL/WGSL.cpp:
(WGSL::staticCheck):
- WGSLUnitTests/WGSLLexerTests.mm: Added.
(-[WGSLLexerTests testLexerOnSingleTokens]):
(-[WGSLLexerTests testLexerOnComputeShader]):
(-[WGSLLexerTests testLexerOnGraphicsShader]):
- WGSLUnitTests/WGSLUnitTests.mm: Removed.
(-[WGSLUnitTests testExample]): Deleted.
- WebGPU.xcodeproj/project.pbxproj:
Source/WTF:
Add WTF::Unicode::formFeed and WTF::Unicode::verticalTabulation.
- wtf/unicode/CharacterNames.h:
- 1:23 AM Changeset in webkit [289798] by
-
- 2 edits1 add in trunk/Tools/buildstream
[Flatpak SDK] Include sparkle-cdm library
https://bugs.webkit.org/show_bug.cgi?id=236562
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-15
Reviewed by Martin Robinson.
This new recipe ships the Sparkle-CDM library, providing an alternative to Thunder. A
ClearKey plugin is provided as well, it will be used later on by the Thunder decryptor,
instead of the dedicated decryptor maintained in WebCore. The goals are to reduce GStreamer
decryptors maintenance here and to dog-food the Thunder code paths using the clearkey layout
tests.
- elements/sdk-platform.bst:
- elements/sdk/sparkle-cdm.bst: Added.
- 1:20 AM Changeset in webkit [289797] by
-
- 2 edits1 add in trunk/Tools/buildstream
[Flatpak SDK] Include a GStreamer DTLS transport bug fix
https://bugs.webkit.org/show_bug.cgi?id=236591
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-15
Reviewed by Martin Robinson.
This patch is needed for the GstWebRTC backend.
- elements/sdk/gst-plugins-bad.bst:
- patches/gstreamer-0001-dtlstransport-Notify-ICE-transport-property-changes.patch: Added.
- 1:18 AM Changeset in webkit [289796] by
-
- 2 edits1 add in trunk/Tools/buildstream
[Flatpak SDK] Update to libnice development snapshot
https://bugs.webkit.org/show_bug.cgi?id=236537
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-15
Reviewed by Martin Robinson.
Until there is 0.1.19 release, rely on development branch.
- elements/freedesktop-sdk.bst:
- patches/fdo-0001-Bump-libnice-to-current-git-master-HEAD.patch: Added.
- 1:07 AM Changeset in webkit [289795] by
-
- 5 edits in trunk/Source
[GTK][WPE] Inclusion of OpenGLShims.h should not depend on USE(GLX)
https://bugs.webkit.org/show_bug.cgi?id=236593
Reviewed by Michael Catanzaro.
Source/WebCore:
No new tests needed.
- platform/graphics/GLContext.cpp: Remove inclusion of OpenGLShims.h guarded by USE(GLX).
- platform/graphics/GLContext.h: Include OpenGLShims.h as fallback option when neither
USE(LIBEPOXY) nor USE(OPENGL_ES) are into effect.
Source/WebKit:
- UIProcess/API/glib/WebKitProtocolHandler.cpp: Move inclusion of GL/glx.h under a
PLATFORM(X11) guard, and inclusion of WebCore/OpenGLShims.h into a chain of guards
which picks it if USE(LIBEPOXY) and USE(OPENGL_ES) are both false, which is the same
checks done in other parts of the code where these are needed.
- 1:04 AM Changeset in webkit [289794] by
-
- 3 edits2 adds in trunk
null ptr deref in WebCore::HTMLModelElement::enterFullscreen()
https://bugs.webkit.org/show_bug.cgi?id=236409
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-02-15
Reviewed by Darin Adler.
Source/WebCore:
m_modelPlayer is a RefPtr that can become nullptr, so it needs a check before
dereferencing in HTMLModelElement::enterFullscreen(), as is done in other parts of
this class.
Also added a similar check missing in HTMLModelElement::platformLayer(), which was identified via code inspection.
Test: model-element/model-element-enter-fullscreen-crash.html
- Modules/model-element/HTMLModelElement.cpp:
(WebCore::HTMLModelElement::platformLayer const):
(WebCore::HTMLModelElement::enterFullscreen):
LayoutTests:
- model-element/model-element-enter-fullscreen-crash-expected.txt: Added.
- model-element/model-element-enter-fullscreen-crash.html: Added.
- 12:36 AM Changeset in webkit [289793] by
-
- 2 edits in trunk/Source/WebCore/platform/gtk/po
l10n: Updated Hebrew translation of WebKitGTK
https://bugs.webkit.org/show_bug.cgi?id=236603
Patch by Yosef Or Boczko <yoseforb@gmail.com> on 2022-02-15
Rubber-stamped by Carlos Garcia Campos.
- he.po:
- 12:34 AM Changeset in webkit [289792] by
-
- 6 edits1 copy in trunk
REGRESSION(r195447): [GTK] document.activeElement not set on mouse click
https://bugs.webkit.org/show_bug.cgi?id=236217
Reviewed by Michael Catanzaro.
Source/WebCore:
Bring back the behavior before r195447 and focus the links on click which is consistent with other browser in
Linux and ensures active element is the expected one on a click event listener.
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::isMouseFocusable const):
LayoutTests:
- fast/events/click-focus-anchor-expected.txt:
- fast/events/click-focus-anchor.html:
- platform/glib/TestExpectations: Mark imported/blink/fast/events/click-focus-keydown-no-ring.html as failure.
- platform/glib/fast/events/click-focus-anchor-expected.txt: Copied from LayoutTests/fast/events/click-focus-anchor-expected.txt.
- 12:26 AM Changeset in webkit [289791] by
-
- 2 edits in trunk/JSTests
[JSC] Reduce iterations for getter-richards.js on MIPS
https://bugs.webkit.org/show_bug.cgi?id=236594
Patch by Xan Lopez <Xan Lopez> on 2022-02-15
Reviewed by Adrian Perez de Castro.
- typeProfiler/getter-richards.js: do 50 iterations on MIPS.
Feb 14, 2022:
- 11:34 PM Changeset in webkit [289790] by
-
- 87 edits3 deletes in trunk
ExtensionsGL is not useful class, it should be removed
https://bugs.webkit.org/show_bug.cgi?id=236490
Source/WebCore:
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-14
Reviewed by Dean Jackson.
Remove ExtensionsGL. It is not a useful class, it does not abstract anything.
It has similar functions to GraphicsContextGL subclass, and needs and uses GraphicsContextGL subclass
underneath.
It is a problematic class as it is obtained through a virtual function, but that
virtual function override is being called during construction of the GraphicsContextGL subclass
instance.
Also the ExtensionsGL will neccessarily call back to GraphicsContextGL subclass instance being
constructed.
Current getExtensions() virtual function override calls are expected to go
where the C++ defines them going during construction.
Current calls back to the GraphicsContextGL subclass instance during construction *should*
access state that is already initialized, but it is quite error-prone and hard to
analyze.
Move ExtensionsGL functions to GraphicsContextGL. Make call-sites call the context instead of the
extension helper. Rename the functions with pattern "isSupported" -> "isExtensionSupported".
Remove GraphicsContextGL::getExtensions() virtual function call.
For legacy contexts GraphicsContextGLOpenGL, GraphicsContextGLOpenGLES preserve their
ExtensionGLCommon subclasses. Accessing it happens from a normal function from legacy call sites
that know that they're calling GraphicsContextGLOpenGL.
For GraphicsContextGLANGLE, move context initialization code to GraphicsContextGLANGLE::initialize()
instead of the constructor. This way the initialization code can call virtual functions and the calls
are delivered normally to the last overrider.
RemoteGraphicsContextGLProxyBase can now be removed, as it is unneeded anyway and its added virtual
functions would cause inconvenient naming duplication.
No new tests, a refactor.
- CMakeLists.txt:
- Headers.cmake:
- Modules/webxr/WebXROpaqueFramebuffer.cpp:
(WebCore::WebXROpaqueFramebuffer::startFrame):
(WebCore::WebXROpaqueFramebuffer::setupFramebuffer):
- Sources.txt:
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- html/canvas/ANGLEInstancedArrays.cpp:
(WebCore::ANGLEInstancedArrays::ANGLEInstancedArrays):
(WebCore::ANGLEInstancedArrays::supported):
- html/canvas/ANGLEInstancedArrays.h:
- html/canvas/EXTColorBufferFloat.cpp:
(WebCore::EXTColorBufferFloat::EXTColorBufferFloat):
(WebCore::EXTColorBufferFloat::supported):
- html/canvas/EXTColorBufferFloat.h:
- html/canvas/EXTColorBufferHalfFloat.cpp:
(WebCore::EXTColorBufferHalfFloat::EXTColorBufferHalfFloat):
(WebCore::EXTColorBufferHalfFloat::supported):
- html/canvas/EXTColorBufferHalfFloat.h:
- html/canvas/EXTFloatBlend.cpp:
(WebCore::EXTFloatBlend::EXTFloatBlend):
(WebCore::EXTFloatBlend::supported):
- html/canvas/EXTFloatBlend.h:
- html/canvas/EXTTextureCompressionRGTC.cpp:
(WebCore::EXTTextureCompressionRGTC::EXTTextureCompressionRGTC):
- html/canvas/KHRParallelShaderCompile.cpp:
(WebCore::KHRParallelShaderCompile::KHRParallelShaderCompile):
(WebCore::KHRParallelShaderCompile::supported):
- html/canvas/KHRParallelShaderCompile.h:
- html/canvas/OESFBORenderMipmap.cpp:
(WebCore::OESFBORenderMipmap::OESFBORenderMipmap):
(WebCore::OESFBORenderMipmap::supported):
- html/canvas/OESFBORenderMipmap.h:
- html/canvas/OESTextureFloat.cpp:
(WebCore::OESTextureFloat::OESTextureFloat):
(WebCore::OESTextureFloat::supported):
- html/canvas/OESTextureFloat.h:
- html/canvas/OESTextureHalfFloat.cpp:
(WebCore::OESTextureHalfFloat::OESTextureHalfFloat):
(WebCore::OESTextureHalfFloat::supported):
- html/canvas/OESTextureHalfFloat.h:
- html/canvas/OESVertexArrayObject.cpp:
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::initializeShaderExtensions):
(WebCore::WebGL2RenderingContext::getExtension):
(WebCore::WebGL2RenderingContext::getSupportedExtensions):
- html/canvas/WebGLColorBufferFloat.cpp:
(WebCore::WebGLColorBufferFloat::WebGLColorBufferFloat):
(WebCore::WebGLColorBufferFloat::supported):
- html/canvas/WebGLColorBufferFloat.h:
- html/canvas/WebGLCompressedTextureASTC.cpp:
(WebCore::WebGLCompressedTextureASTC::WebGLCompressedTextureASTC):
(WebCore::WebGLCompressedTextureASTC::supported):
- html/canvas/WebGLCompressedTextureASTC.h:
- html/canvas/WebGLCompressedTextureATC.cpp:
(WebCore::WebGLCompressedTextureATC::WebGLCompressedTextureATC):
(WebCore::WebGLCompressedTextureATC::supported):
- html/canvas/WebGLCompressedTextureATC.h:
- html/canvas/WebGLCompressedTextureETC.cpp:
(WebCore::WebGLCompressedTextureETC::WebGLCompressedTextureETC):
(WebCore::WebGLCompressedTextureETC::supported):
- html/canvas/WebGLCompressedTextureETC.h:
- html/canvas/WebGLCompressedTextureETC1.cpp:
(WebCore::WebGLCompressedTextureETC1::WebGLCompressedTextureETC1):
(WebCore::WebGLCompressedTextureETC1::supported):
- html/canvas/WebGLCompressedTextureETC1.h:
- html/canvas/WebGLCompressedTexturePVRTC.cpp:
(WebCore::WebGLCompressedTexturePVRTC::WebGLCompressedTexturePVRTC):
(WebCore::WebGLCompressedTexturePVRTC::supported):
- html/canvas/WebGLCompressedTexturePVRTC.h:
- html/canvas/WebGLCompressedTextureS3TC.cpp:
(WebCore::WebGLCompressedTextureS3TC::WebGLCompressedTextureS3TC):
(WebCore::WebGLCompressedTextureS3TC::supported):
- html/canvas/WebGLCompressedTextureS3TC.h:
- html/canvas/WebGLCompressedTextureS3TCsRGB.cpp:
(WebCore::WebGLCompressedTextureS3TCsRGB::WebGLCompressedTextureS3TCsRGB):
(WebCore::WebGLCompressedTextureS3TCsRGB::supported):
- html/canvas/WebGLCompressedTextureS3TCsRGB.h:
- html/canvas/WebGLDebugShaders.cpp:
(WebCore::WebGLDebugShaders::WebGLDebugShaders):
(WebCore::WebGLDebugShaders::getTranslatedShaderSource):
- html/canvas/WebGLDepthTexture.cpp:
(WebCore::WebGLDepthTexture::WebGLDepthTexture):
(WebCore::WebGLDepthTexture::supported):
- html/canvas/WebGLDrawBuffers.cpp:
(WebCore::WebGLDrawBuffers::WebGLDrawBuffers):
(WebCore::WebGLDrawBuffers::supported):
(WebCore::WebGLDrawBuffers::drawBuffersWEBGL):
(WebCore::WebGLDrawBuffers::satisfiesWebGLRequirements):
- html/canvas/WebGLFramebuffer.cpp:
(WebCore::getClearBitsByAttachmentType):
(WebCore::getClearBitsByFormat):
(WebCore::WebGLFramebuffer::checkStatus const):
(WebCore::WebGLFramebuffer::drawBuffersIfNecessary):
(WebCore::WebGLFramebuffer::getDrawBuffer):
- html/canvas/WebGLMultiDraw.cpp:
(WebCore::WebGLMultiDraw::WebGLMultiDraw):
(WebCore::WebGLMultiDraw::supported):
- html/canvas/WebGLMultiDraw.h:
- html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getSupportedExtensions):
(WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
(WebCore::WebGLRenderingContext::getMaxDrawBuffers):
(WebCore::WebGLRenderingContext::getMaxColorAttachments):
(WebCore::WebGLRenderingContext::validateBlendEquation):
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::getChannelBitsByFormat):
(WebCore::possibleFormatAndTypeForInternalFormat):
(WebCore::WebGLRenderingContextBase::setupFlags):
(WebCore::WebGLRenderingContextBase::getParameter):
(WebCore::WebGLRenderingContextBase::getProgramParameter):
(WebCore::WebGLRenderingContextBase::getShaderParameter):
(WebCore::WebGLRenderingContextBase::getTexParameter):
(WebCore::WebGLRenderingContextBase::getUniform):
(WebCore::WebGLRenderingContextBase::hint):
(WebCore::WebGLRenderingContextBase::readPixels):
(WebCore::WebGLRenderingContextBase::renderbufferStorageImpl):
(WebCore::WebGLRenderingContextBase::validateTexFuncFormatAndType):
(WebCore::WebGLRenderingContextBase::texParameter):
(WebCore::WebGLRenderingContextBase::loseContextImpl):
(WebCore::WebGLRenderingContextBase::validateCompressedTexFuncData):
(WebCore::WebGLRenderingContextBase::validateCompressedTexDimensions):
(WebCore::WebGLRenderingContextBase::validateCompressedTexSubDimensions):
(WebCore::WebGLRenderingContextBase::maybeRestoreContext):
(WebCore::WebGLRenderingContextBase::getMaxDrawBuffers):
(WebCore::WebGLRenderingContextBase::getMaxColorAttachments):
(WebCore::WebGLRenderingContextBase::enableSupportedExtension):
- html/canvas/WebGLVertexArrayObjectOES.cpp:
- loader/FrameLoaderClient.h:
- platform/graphics/ExtensionsGL.h: Removed.
- platform/graphics/GraphicsContextGL.cpp:
(WebCore::GraphicsContextGL::computeFormatAndTypeParameters):
- platform/graphics/GraphicsContextGL.h:
- platform/graphics/RemoteGraphicsContextGLProxyBase.cpp:
- platform/graphics/RemoteGraphicsContextGLProxyBase.h:
- platform/graphics/angle/ExtensionsGLANGLE.cpp: Removed.
- platform/graphics/angle/ExtensionsGLANGLE.h: Removed.
- platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::initialize):
(WebCore::GraphicsContextGLANGLE::platformInitializeContext):
(WebCore::GraphicsContextGLANGLE::platformInitialize):
(WebCore::GraphicsContextGLANGLE::texImage2D):
(WebCore::GraphicsContextGLANGLE::validateDepthStencil):
(WebCore::GraphicsContextGLANGLE::supportsExtension):
(WebCore::GraphicsContextGLANGLE::ensureExtensionEnabled):
(WebCore::GraphicsContextGLANGLE::isExtensionEnabled):
(WebCore::GraphicsContextGLANGLE::getGraphicsResetStatusARB):
(WebCore::GraphicsContextGLANGLE::getTranslatedShaderSourceANGLE):
(WebCore::GraphicsContextGLANGLE::drawBuffersEXT):
(WebCore::GraphicsContextGLANGLE::adjustWebGL1TextureInternalFormat):
- platform/graphics/angle/GraphicsContextGLANGLE.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
- platform/graphics/cocoa/GraphicsContextGLCocoa.h:
- platform/graphics/cocoa/GraphicsContextGLCocoa.mm:
(WebCore::GraphicsContextGLCocoa::create):
(WebCore::GraphicsContextGLCocoa::GraphicsContextGLCocoa):
(WebCore::GraphicsContextGLANGLE::GraphicsContextGLANGLE):
(WebCore::GraphicsContextGLCocoa::platformInitializeContext):
(WebCore::GraphicsContextGLCocoa::platformInitialize):
(WebCore::GraphicsContextGLCocoa::reshapeDisplayBufferBacking):
(WebCore::GraphicsContextGLCocoa::allocateAndBindDisplayBufferBacking):
(WebCore::GraphicsContextGLCocoa::bindDisplayBufferBacking):
(WebCore::GraphicsContextGLCocoa::prepareForDisplay):
- platform/graphics/cocoa/WebProcessGraphicsContextGLCocoa.mm:
(WebCore::createWebProcessGraphicsContextGL):
- platform/graphics/opengl/ExtensionsGLOpenGL.cpp:
(WebCore::ExtensionsGLOpenGL::platformSupportsExtension):
- platform/graphics/opengl/ExtensionsGLOpenGL.h:
- platform/graphics/opengl/ExtensionsGLOpenGLCommon.cpp:
(WebCore::ExtensionsGLOpenGLCommon::supports):
(WebCore::ExtensionsGLOpenGLCommon::ensureEnabled):
- platform/graphics/opengl/ExtensionsGLOpenGLCommon.h:
- platform/graphics/opengl/ExtensionsGLOpenGLES.cpp:
(WebCore::ExtensionsGLOpenGLES::isEnabled):
(WebCore::ExtensionsGLOpenGLES::getGraphicsResetStatusARB):
(WebCore::ExtensionsGLOpenGLES::platformSupportsExtension):
- platform/graphics/opengl/ExtensionsGLOpenGLES.h:
- platform/graphics/opengl/GraphicsContextGLOpenGL.cpp:
(WebCore::GraphicsContextGLOpenGL::getExtensions):
(WebCore::GraphicsContextGLOpenGL::validateDepthStencil):
(WebCore::GraphicsContextGLOpenGL::supportsExtension):
(WebCore::GraphicsContextGLOpenGL::ensureExtensionEnabled):
(WebCore::GraphicsContextGLOpenGL::isExtensionEnabled):
(WebCore::GraphicsContextGLOpenGL::getGraphicsResetStatusARB):
(WebCore::GraphicsContextGLOpenGL::drawBuffersEXT):
(WebCore::GraphicsContextGLOpenGL::getTranslatedShaderSourceANGLE):
- platform/graphics/opengl/GraphicsContextGLOpenGL.h:
- platform/graphics/opengl/GraphicsContextGLOpenGLBase.cpp:
(WebCore::GraphicsContextGLOpenGL::texImage2D):
(WebCore::GraphicsContextGLOpenGL::getExtensions):
- platform/graphics/opengl/GraphicsContextGLOpenGLES.cpp:
(WebCore::GraphicsContextGLOpenGL::reshapeFBOs):
(WebCore::GraphicsContextGLOpenGL::validateAttributes):
(WebCore::GraphicsContextGLOpenGL::getExtensions):
- platform/graphics/texmap/BitmapTextureGL.cpp:
- platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp:
(WebCore::GraphicsContextGLTextureMapper::create):
(WebCore::createWebProcessGraphicsContextGL):
- platform/graphics/texmap/GraphicsContextGLTextureMapper.h:
- platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::GraphicsContextGLANGLE):
(WebCore::GraphicsContextGLTextureMapper::prepareForDisplay):
(WebCore::GraphicsContextGLTextureMapper::reshapeDisplayBufferBacking):
- platform/graphics/texmap/TextureMapperGL.cpp:
Source/WebKit:
Move the RemoteGraphicsContextGLProxyBase functions to
RemoteGraphicsContextGL. The ..Base can now be removed
as ExtensionGL is removed.
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-14
Reviewed by Dean Jackson.
- GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::RemoteGraphicsContextGL::workQueueInitialize):
(WebKit::RemoteGraphicsContextGL::ensureExtensionEnabled):
(WebKit::RemoteGraphicsContextGL::markContextChanged):
- GPUProcess/graphics/RemoteGraphicsContextGL.h:
- GPUProcess/graphics/RemoteGraphicsContextGL.messages.in:
- GPUProcess/graphics/RemoteGraphicsContextGLFunctionsGenerated.h:
(getGraphicsResetStatusARB):
(getTranslatedShaderSourceANGLE):
(drawBuffersEXT):
- WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:
(WebKit::RemoteGraphicsContextGLProxy::RemoteGraphicsContextGLProxy):
(WebKit::RemoteGraphicsContextGLProxy::setContextVisibility):
(WebKit::RemoteGraphicsContextGLProxy::isGLES2Compliant const):
(WebKit::RemoteGraphicsContextGLProxy::markContextChanged):
(WebKit::RemoteGraphicsContextGLProxy::supportsExtension):
(WebKit::RemoteGraphicsContextGLProxy::ensureExtensionEnabled):
(WebKit::RemoteGraphicsContextGLProxy::isExtensionEnabled):
(WebKit::RemoteGraphicsContextGLProxy::initialize):
(WebKit::RemoteGraphicsContextGLProxy::reshape):
- WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
Tools:
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-14
Reviewed by Dean Jackson.
Update manually implemented functions.
- Scripts/generate-gpup-webgl:
- TestWebKitAPI/Tests/WebCore/cocoa/TestGraphicsContextGLCocoa.mm:
- 10:29 PM Changeset in webkit [289789] by
-
- 8 edits in trunk
[CSS Container Queries] Support range operators in size queries
https://bugs.webkit.org/show_bug.cgi?id=236600
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/size-feature-evaluation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/unsupported-axis-expected.txt:
Source/WebCore:
Support (width > 100px) and similar.
- css/ContainerQueryParser.cpp:
(WebCore::ContainerQueryParser::consumeSizeQuery):
(WebCore::ContainerQueryParser::consumeSizeFeature):
Factor into a function.
Add operator support. No reverse (100px < width) or full range (10px < width < 100px) yet.
The evaluator supports these already.
- css/ContainerQueryParser.h:
LayoutTests:
- 7:55 PM Changeset in webkit [289788] by
-
- 3 edits in trunk/Source/bmalloc
[libpas] compact pointers should load payload via memcpy
https://bugs.webkit.org/show_bug.cgi?id=236621
Reviewed by Mark Lam.
ASan found that we are loading 8 bytes which can potentially be overflowed.
For example, we load this from a pointer to stack variable, which means that
we could cause stack overflow. Instead we should use memcpy.
Currently, we only support little endian code, but it is OK since libpas is not
enabled in non little endian architectures.
- libpas/src/libpas/pas_compact_ptr.h:
- libpas/src/libpas/pas_compact_tagged_ptr.h:
- 6:16 PM Changeset in webkit [289787] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r288804): fast/forms/visual-hebrew-text-field.html is failing
https://bugs.webkit.org/show_bug.cgi?id=236325
Reviewed by Dean Jackson.
The test failure is caused by pre-existing inter-test dependencies.
Workaround whatever the underlying cause for the test failure by forcing
the use of ephemeral session for now.
- fast/forms/visual-hebrew-text-field.html:
- 5:47 PM Changeset in webkit [289786] by
-
- 2 edits in trunk/LayoutTests
Unreviewed gardening.
Expand pixel range.
- css3/color-filters/color-filter-color-text-decorations.html:
- 5:34 PM Changeset in webkit [289785] by
-
- 2 edits in trunk/Source/WebKit
Direct touches don't trigger other gesture recognizers if WKMouseGestureRecognizer sees them first
https://bugs.webkit.org/show_bug.cgi?id=236617
Reviewed by Wenson Hsieh.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView gestureRecognizer:shouldReceiveTouch:]):
WKMouseGestureRecognizer should only completely steal touches of type
UITouchTypeIndirectPointer. Other touch types (e.g. synthetic direct touches)
still need to trigger other WKContentViewInteraction gesture recognizers
(like long-press and double-tap) despite WKMouseGestureRecognizer
seeing their touches. So, check the touch type before early-returning.
- 5:05 PM Changeset in webkit [289784] by
-
- 2 edits in trunk/Tools
[EWS] Support PRs when sending build failure emails
https://bugs.webkit.org/show_bug.cgi?id=235926
<rdar://problem/88302122>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(GitHub.email_for_owners): Convert list of owners to an email address.
(GitHubMixin.should_send_email_for_pr): Check if the tested sha is outdated.
(BugzillaMixin.should_send_email_for_patch): Renamed from should_send_email.
(BugzillaMixin.should_send_email): Renamed to should_send_email_for_patch.
(AnalyzeCompileWebKitResults.send_email_for_new_build_failure): Draft different
email for failed patch than failed pull request build.
(AnalyzeLayoutTestsResults.send_email_for_new_test_failures):
Canonical link: https://commits.webkit.org/247249@main
- 5:00 PM Changeset in webkit [289783] by
-
- 1 copy in tags/Safari-613.1.17.0.2
Tag Safari-613.1.17.0.2.
- 4:59 PM Changeset in webkit [289782] by
-
- 1 copy in tags/Safari-613.1.17.1.2
Tag Safari-613.1.17.1.2.
- 4:14 PM Changeset in webkit [289781] by
-
- 6 edits in branches/safari-614.1.3-branch/Source
Cherry-pick r289592. rdar://problem/88323950
tryReserveUncommittedAligned should explicitly take the alignment requested
https://bugs.webkit.org/show_bug.cgi?id=236460
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
When reducing the size of VA space reserved for Structures, we
didn't take care to ensure the alignment matched the required
alignment for our bit mask. To fix this we need to pass the
original alignment to the allocator as a new parameter.
- heap/StructureAlignedMemoryAllocator.cpp: (JSC::StructureMemoryManager::StructureMemoryManager):
Source/WTF:
This patch adds a new ifdef for Unix flavors that support the
MAP_ALIGNED macro/parameter to mmap.
Also, fix a bug where on windows we wouldn't request enough
space to guarantee that allocation is aligned.
- wtf/OSAllocator.h:
- wtf/posix/OSAllocatorPOSIX.cpp: (WTF::OSAllocator::tryReserveUncommittedAligned):
- wtf/win/OSAllocatorWin.cpp: (WTF::OSAllocator::tryReserveUncommittedAligned):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289592 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:14 PM Changeset in webkit [289780] by
-
- 3 edits1 add in trunk
Array#{ groupBy, groupByToMap }
should throw aTypeError
whenthis
isnull
orundefined
https://bugs.webkit.org/show_bug.cgi?id=236541
Reviewed by Alexey Shvayka.
JSTests:
- stress/array-group-by-null-or-undefined.js: Added.
(shouldThrow):
Source/JavaScriptCore:
While we are correctly using @toObject, these functions missed "use strict", which enforces a function
to change a non object |this| to an object (in this case, global object). This patch adds "use strict",
to make these function strict code.
- builtins/ArrayPrototype.js:
(groupBy):
(groupByToMap):
- 4:09 PM Changeset in webkit [289779] by
-
- 4 edits in trunk/Source/JavaScriptCore
[CMake] Remove uses of add_definitions in JavaScriptCore build
https://bugs.webkit.org/show_bug.cgi?id=236605
Reviewed by Michael Catanzaro.
Use target specific definitions when building JavaScriptCore. In the current cases the
definitions don't need to propagate to targets using JavaScriptCore so
JavaScriptCore_PRIVATE_DEFINITIONS is used.
- PlatformGTK.cmake:
- PlatformPlayStation.cmake:
- PlatformWPE.cmake:
- 4:05 PM Changeset in webkit [289778] by
-
- 2 edits in trunk/Source/WebCore
Move PDFDocument.cpp/h in correct position in WebCore.xcodeproj
https://bugs.webkit.org/show_bug.cgi?id=236529
Patch by Dan Glastonbury <djg@apple.com> on 2022-02-14
Reviewed by Tim Nguyen.
- WebCore.xcodeproj/project.pbxproj:
- 3:59 PM Changeset in webkit [289777] by
-
- 2 edits in trunk/Source/WebCore
Consistenly use hasTagName instead of is<> in HTMLStackItem testing functions
https://bugs.webkit.org/show_bug.cgi?id=236571
Reviewed by Sam Weinig.
No reason to use is<> for a couple of element names but hasTagName for
all others.
- html/parser/HTMLElementStack.cpp:
(WebCore::HTMLNames::isScopeMarker):
(WebCore::HTMLNames::isTableScopeMarker):
(WebCore::HTMLNames::isSelectScopeMarker):
- 3:33 PM Changeset in webkit [289776] by
-
- 3 edits2 adds in trunk
Fix crash with deeply nested async overflow scroll
https://bugs.webkit.org/show_bug.cgi?id=236599
Source/WebCore:
rdar://88656665
Reviewed by Alan Bujtas.
mergeClippingScopesRecursive() already does the append of the rects; doing so
before calling recursing triggers double appends, hence exponentially growing
rect lists.
Test: compositing/layer-creation/clipping-scope/deeply-nested-overflow.html
- rendering/LayerOverlapMap.cpp:
(WebCore::OverlapMapContainer::mergeClippingScopesRecursive):
LayoutTests:
Reviewed by Alan Bujtas.
- compositing/layer-creation/clipping-scope/deeply-nested-overflow-expected.txt: Added.
- compositing/layer-creation/clipping-scope/deeply-nested-overflow.html: Added.
- 3:33 PM Changeset in webkit [289775] by
-
- 3 edits in releases/WebKitGTK/webkit-2.34/Source/WebCore
Merge r288539 - Expand RefPtr / Ref use in FrameLoader
https://bugs.webkit.org/show_bug.cgi?id=235551
rdar://87986840
Reviewed by Mark Lam.
Apply Ref / RefPtr instead of taking SerializedScriptValue*.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadInSameDocument):
(WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
- loader/FrameLoader.h:
- 3:26 PM Changeset in webkit [289774] by
-
- 1 copy in tags/Safari-614.1.2.2
Tag Safari-614.1.2.2.
- 3:19 PM Changeset in webkit [289773] by
-
- 17 edits in trunk/Tools/Scripts
Update shebang for run-benchmark scripts.
Reviewed by Jonathan Bedard.
Use python3 in shebang for run-benchmark.
Remove shebang from modules in benchmark_runner.
- Tools/Scripts/run-benchmark:
- Tools/Scripts/webkitpy/benchmark_runner/benchmark_builder.py:
- Tools/Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
- Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py:
- Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver_factory.py:
- Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:
- Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py:
- Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
- Tools/Scripts/webkitpy/benchmark_runner/generic_factory.py:
- Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/http_server/twisted_http_server.py:
- Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_driver.py:
- Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_driver_factory.py:
- Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
- Tools/Scripts/webkitpy/benchmark_runner/run_benchmark.py:
- Tools/Scripts/webkitpy/benchmark_runner/utils.py:
- Tools/Scripts/webkitpy/benchmark_runner/webdriver_benchmark_runner.py:
- Tools/Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py:
Canonical link: https://commits.webkit.org/247243@main
- 3:13 PM Changeset in webkit [289772] by
-
- 6 edits in branches/safari-614.1.2-branch/Source
Cherry-pick r289592. rdar://problem/88323950
tryReserveUncommittedAligned should explicitly take the alignment requested
https://bugs.webkit.org/show_bug.cgi?id=236460
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
When reducing the size of VA space reserved for Structures, we
didn't take care to ensure the alignment matched the required
alignment for our bit mask. To fix this we need to pass the
original alignment to the allocator as a new parameter.
- heap/StructureAlignedMemoryAllocator.cpp: (JSC::StructureMemoryManager::StructureMemoryManager):
Source/WTF:
This patch adds a new ifdef for Unix flavors that support the
MAP_ALIGNED macro/parameter to mmap.
Also, fix a bug where on windows we wouldn't request enough
space to guarantee that allocation is aligned.
- wtf/OSAllocator.h:
- wtf/posix/OSAllocatorPOSIX.cpp: (WTF::OSAllocator::tryReserveUncommittedAligned):
- wtf/win/OSAllocatorWin.cpp: (WTF::OSAllocator::tryReserveUncommittedAligned):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289592 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:12 PM Changeset in webkit [289771] by
-
- 9 edits in branches/safari-614.1.2-branch/Source
Versioning.
WebKit-7614.1.2.2
- 2:59 PM Changeset in webkit [289770] by
-
- 4 edits in trunk
Enable accelerated drawing in the iOS simulator
https://bugs.webkit.org/show_bug.cgi?id=231828
rdar://problem/84315491
Reviewed by Simon Fraser.
Tools:
- WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::defaults):
LayoutTests:
- platform/ios/compositing/canvas/accelerated-canvas-compositing-size-limit-expected.txt:
- 2:59 PM Changeset in webkit [289769] by
-
- 6 edits2 adds in trunk/Source/WebCore
Web Inspector: Element tooltips in overlays should use same encodable/decodable Label type as grid overlays
https://bugs.webkit.org/show_bug.cgi?id=235422
Reviewed by Devin Rousso.
The tooltip for elements previously used its own slightly different labels from those used for grid overlays,
which are implemented in such a way to support being sent to the UI process for iOS overlay support. This patch
adds support for the setting different colors for different runs of text along with multi-line labels to allow
the same label to be used for both Grid overlays as well as element tooltips.
The existing
WebCore::InspectorOverlay::Highlight::GridHighlightOverlay::Label
was moved to
WebCore::InspectorOverlayLabel
as it is no longer exclusively used for grids.
With that support, we can now use InspectorOverlayLabel for element tooltips without needing duplicated layout
and drawing code. Additionally, the font used in the tooltip is now consistent with grid labels, where as
previously we used different font families for the grid and element labels.
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::drawElementTitle):
(WebCore::InspectorOverlay::drawGridOverlay):
(WebCore::InspectorOverlay::buildGridOverlay):
(WebCore::fontForLayoutLabel): Moved to InspectorOverlayLabel.cpp assystemFont
.
(WebCore::backgroundPathForLayoutLabel): Moved to InspectorOverlayLabel.cpp asbackgroundPath
.
(WebCore::expectedSizeForLayoutLabel): Moved to InspectorOverlayLabel.cpp asexpectedSize
.
(WebCore::drawLayoutLabel): Moved to InspectorOverlayLabel.cpp asdraw
.
(WebCore::buildLabel): Deleted.
- inspector/InspectorOverlay.h:
(WebCore::InspectorOverlay::Highlight::GridHighlightOverlay::Label::encode const): Deleted.
(WebCore::InspectorOverlay::Highlight::GridHighlightOverlay::Label::decode): Deleted.
- inspector/InspectorOverlayLabel.cpp: Added.
(WebCore::InspectorOverlayLabel::InspectorOverlayLabel):
(WebCore::systemFont):
(WebCore::backgroundPath):
(WebCore::InspectorOverlayLabel::draw):
- Updated logic to handle multiple strings, including strings containing newlines. Strings are now each
converted to a TextRun, or multiple text runs for multi-line text, each of which is measured to determine the
overall height and width of the label, as well as to later in the drawing code give us the information necessary
to actually draw these strings in the proper locations.
- Use the width of the longest line for drawing the background of the label.
- Iterate through the computed TextRuns and draw the moving to the next line for each index that we had
previously computed to be the start of a new line.
(WebCore::InspectorOverlayLabel::expectedSize):
- Similar to
InspectorOverlayLabel::draw
we need to take in to account multi-line strings, but do not need to
keep the computed TextRuns or their widths, only the width of the longest line and the total number of lines, to
compute the expected size of the contents in a label.
- inspector/InspectorOverlayLabel.h: Added.
(WebCore::InspectorOverlayLabel::Arrow::Arrow):
(WebCore::InspectorOverlayLabel::encode const):
(WebCore::InspectorOverlayLabel::decode):
(WebCore::InspectorOverlayLabel::Arrow::encode const):
(WebCore::InspectorOverlayLabel::Arrow::decode):
(WebCore::InspectorOverlayLabel::Content::encode const):
(WebCore::InspectorOverlayLabel::Content::decode):
- 2:56 PM Changeset in webkit [289768] by
-
- 2 edits in trunk/Source/WebCore
[macOS] Check feature flag before using screen/window picker
https://bugs.webkit.org/show_bug.cgi?id=236596
<rdar://problem/88909015>
Reviewed by Jer Noble.
Tested manually.
- platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm:
(WebCore::screenCaptureKitPickerFeatureEnabled): Check feature flag.
(WebCore::ScreenCaptureKitSharingSessionManager::isAvailable):
- 2:48 PM Changeset in webkit [289767] by
-
- 4 edits in trunk/Source/WebCore
[GPU Process] Implement GraphicsContext::drawLineForText() in terms of GraphicsContext::drawLinesForText()
https://bugs.webkit.org/show_bug.cgi?id=236464
Reviewed by Simon Fraser.
Make GraphicsContext::drawLineForText() non virtual and delete all the
super classes' implementations for this function since it calls the virtual
function drawLinesForText().
- platform/graphics/GraphicsContext.h:
- platform/graphics/NullGraphicsContext.h:
- platform/graphics/displaylists/DisplayListRecorder.h:
- 2:46 PM Changeset in webkit [289766] by
-
- 2 edits in trunk/Source/WebKit
[GPU Process] RemoteImageBufferProxy should not sink itself to an Image or a NativeImage though its backend
https://bugs.webkit.org/show_bug.cgi?id=236484
Reviewed by Simon Fraser.
The purpose of sinkIntoImage() and sinkIntoNativeImage() is to reuse the
pixels of an ImageBuffer to be a NativeImage or an Image which encapsulates
a NativeImage.
But for RemoteImageBufferProxy these functions are meaningless because
the pixels (or the backend) can't be accessed in WebProcess.
So to keep the code in WebCore untouched, these two functions will be
overridden by RemoteImageBufferProxy to call the 'copy' methods. The
'copy' methods use the IPC messages to get a NativeImage from GPUProcess.
- WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
- 2:22 PM Changeset in webkit [289765] by
-
- 2 edits in trunk/LayoutTests
Mark imported/w3c/web-platform-tests/xhr/send-timeout-events.htm as failing on iOS aftet the changes in r289540
https://bugs.webkit.org/show_bug.cgi?id=231337
Unreviewed test gardening.
- platform/ios/TestExpectations:
- 2:22 PM WebKitGTK/2.34.x edited by
- Propose 16k pages for the stable branch (diff)
- 2:18 PM Changeset in webkit [289764] by
-
- 9 edits in trunk/Source
Versioning.
WebKit-7614.1.5
- 2:15 PM Changeset in webkit [289763] by
-
- 12 edits1 copy in trunk/Source
[Live Text] Plumb platform image analysis objects to the web process
https://bugs.webkit.org/show_bug.cgi?id=236535
rdar://88845367
Reviewed by Devin Rousso.
Source/WebCore:
Add a
platformData
member to TextRecognitionResult, which (whenENABLE(IMAGE_ANALYSIS_ENHANCEMENTS)
is
enabled) contains a pointer to VKCImageAnalysis. See WebKit/ChangeLog for more details.
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/TextRecognitionResult.h:
Also add new WebKitAdditions extension points around TextRecognitionResult.
(WebCore::TextRecognitionResult::encode const):
(WebCore::TextRecognitionResult::decode):
- platform/cocoa/TextRecognitionResultCocoa.mm:
Source/WebCore/PAL:
Add soft-linking support for VKCImageAnalysis. See WebCore and WebKit ChangeLogs for more detail.
- pal/cocoa/AVFoundationSoftLink.h:
Avoid a build error after shifting around Cocoa unified sources, by removing an unused definition of
AVOutputContextOutputDevicesDidChangeNotification. This definition causes the unified build to break downstream,
when other media-related source files end up importing AVKit headers that try to reference this symbol
(AVOutputContextOutputDevicesDidChangeNotification) but end up expanding the WebKit soft-linking macro instead.
- pal/cocoa/VisionKitCoreSoftLink.h:
- pal/cocoa/VisionKitCoreSoftLink.mm:
Source/WebKit:
Plumb the platform text recognition results object (VKCImageAnalysis) through TextRecognitionResults to the
web process when computing text recognition results for Live Text, and add a few new WebKitAdditions extension
points. In a subsequent patch, we'll use this VKCImageAnalysis on TextRecognitionResults to refactor how we
write Live Text to the system pasteboard when copying.
- Platform/cocoa/TextRecognitionUtilities.mm:
(WebKit::makeTextRecognitionResult):
Set
platformData
.
- Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
(IPC::ArgumentCoder<RetainPtr<VKCImageAnalysis>>::encode):
(IPC::ArgumentCoder<RetainPtr<VKCImageAnalysis>>::decode):
- Shared/WebCoreArgumentCoders.h:
- 1:51 PM Changeset in webkit [289762] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r286560): MediaElement's getStartDate returning an incorrect time
https://bugs.webkit.org/show_bug.cgi?id=236360
<rdar://problem/88786989>
Reviewed by Eric Carlson.
r286560 changed IDL
Date
to useWallTime
instead of a rawdouble
, meaning that
HTMLMediaElement::getStartDate
now did extra processing of theMediaTime
returned by
MediaPlayer::getStartDate
.
Unfortunately,
MediaPlayerPrivateAVFoundationObjC::getStartDate
returned aMediaTime
represented in milliseconds (due to two* 1000
), even thoughMediaTime
is supposed to be
seconds-based.
As a result, the changes in r286560 inadvertently caused two
* 1000
on the same time value.
Covered by existing test (
LayoutTests/http/tests/media/hls/video-controller-getStartDate.html
).
Note that the test was marked as[Pass Failure]
before r286560.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::getStartDate const):
- 1:12 PM Changeset in webkit [289761] by
-
- 2 edits in trunk/Source/WTF
[Linux/aarch64] Move page size ceiling to 16k
https://bugs.webkit.org/show_bug.cgi?id=236564
Patch by Gustavo Noronha Silva <gustavo@noronha.dev.br> on 2022-02-14
Reviewed by Yusuke Suzuki.
On Apple Silicon, Linux needs to use 16k pages to be as fast as possible. This change has no
visible impact on binary size for release builds, so apply it to all of aarch64 Linux.
- wtf/PageBlock.h:
- 1:10 PM Changeset in webkit [289760] by
-
- 7 edits in trunk
[WebAuthn] Access group not set in add query for importLocalAuthenticatorCredential
https://bugs.webkit.org/show_bug.cgi?id=236469
rdar://problem/88783447
Reviewed by Brent Fulgham.
Source/WebKit:
In Bug 236311 we added support setting accessGroup, but did not properly set it
on the addQuery. This patch fixes that.
Updated API test to use non-standard accessGroup.
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(+[_WKWebAuthenticationPanel importLocalAuthenticatorWithAccessGroup:credential:error:]):
Tools:
Updated API test to use non-standard access group.
- TestWebKitAPI/Configurations/TestWebKitAPI-iOS.entitlements:
- TestWebKitAPI/Configurations/TestWebKitAPI-macOS-internal.entitlements:
- TestWebKitAPI/Configurations/TestWebKitAPI-macOS.entitlements:
- TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST):
- 1:09 PM Changeset in webkit [289759] by
-
- 9 edits in branches/safari-614.1.3-branch/Source
Versioning.
WebKit-7614.1.3.1
- 1:09 PM Changeset in webkit [289758] by
-
- 4 edits3 copies1 move8 adds1 delete in trunk/LayoutTests
[GLIB] Update test expectations and baselines. Unreviewed test gardening.
https://bugs.webkit.org/show_bug.cgi?id=236597
Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2022-02-14
- platform/glib/TestExpectations:
- platform/glib/imported/w3c/web-platform-tests/css/css-contain/container-queries/counters-flex-circular-expected.txt: Added.
- platform/glib/imported/w3c/web-platform-tests/css/filter-effects/feimage-circular-reference-foreign-object-crash-expected.txt: Added.
- platform/glib/imported/w3c/web-platform-tests/css/filter-effects/feimage-reference-foreign-object-crash-expected.txt: Added.
- platform/gtk/TestExpectations:
- platform/gtk/fast/text/international/bidi-layout-across-linebreak-expected.txt: Copied from LayoutTests/platform/glib/fast/text/international/bidi-layout-across-linebreak-expected.txt.
- platform/gtk/fast/text/international/bidi-override-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt: Copied from LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt.
- platform/wpe/fast/text/international/bidi-layout-across-linebreak-expected.txt: Renamed from LayoutTests/platform/glib/fast/text/international/bidi-layout-across-linebreak-expected.txt.
- platform/wpe/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt.
- 1:05 PM Changeset in webkit [289757] by
-
- 5 edits1 copy2 moves1 add in trunk/Source/WebInspectorUI
Web Inspector: [Flexbox] List flex containers in Layout sidebar
https://bugs.webkit.org/show_bug.cgi?id=235647
<rdar://87886241>
Reviewed by Patrick Angle.
The representation in the Layout details sidebar of the list of flex containers on the page is very similar to the one for grid containers:
a list of nodes identified by selector, with adjacent checkboxes that synchronize state with the visibility of a page overlay, interactive
color swatches to decorate the corresponding overlay, and a button to jump to the node in the DOM Tree view.
Therefore, it makes sense to generalize the code for CSS Grid and reuse it for Flexbox.
This patch extracts a generic
WI.NodeOverlayListSection
fromWI.CSSGridNodeOverlayListSection
.
This is subclassed byWI.CSSGridNodeOverlayListSection
andWI.CSSFlexboxSection
.
The two rely on the abstract implementations to show/hide overlays, get/set overlay colors, interrogate overlay visibility, and listen to generic overlay show events.
Which particular type of overlay is the target of each panel is determined in
WI.OverlayManager
by the value ofWI.DomNode.layoutContextType
, either "flex" or "grid". A node cannot have more than one layout context type.
Where the subclasses differ:
- each section has its own label (obviously).
- the layout for
WI.CSSGridNodeOverlayListSection
includes a section with settings for the CSS Grid overlay.
- Localizations/en.lproj/localizedStrings.js:
We've received feedback that the latter is more common in web developers' vocabulary when
refering to CSS grids. Adopted the same for the flexbox section empty message.
- UserInterface/Main.html:
- UserInterface/Views/CSSFlexNodeOverlayListSection.js: Added.
(WI.CSSFlexNodeOverlayListSection.prototype.get sectionLabel):
(WI.CSSFlexNodeOverlayListSection):
- UserInterface/Views/CSSGridNodeOverlayListSection.js: Renamed from Source/WebInspectorUI/UserInterface/Views/CSSGridSection.js.
(WI.CSSGridNodeOverlayListSection.prototype.get sectionLabel):
(WI.CSSGridNodeOverlayListSection.prototype.initialLayout):
(WI.CSSGridNodeOverlayListSection):
The layout ofWI.CSSFlexNodeOverlayListSection
includes a set of options to configure the CSS Grid overlay.
- UserInterface/Views/LayoutDetailsSidebarPanel.css:
(.details-section:is(.layout-css-flexbox, .layout-css-grid):not(.collapsed) > .content,):
(.details-section.layout-css-grid > .content > .group > .row > .css-grid-section): Deleted.
(.details-section.layout-css-grid:not(.collapsed) > .content,): Deleted.
- UserInterface/Views/LayoutDetailsSidebarPanel.js:
(WI.LayoutDetailsSidebarPanel):
(WI.LayoutDetailsSidebarPanel.prototype.attached):
(WI.LayoutDetailsSidebarPanel.prototype.initialLayout):
(WI.LayoutDetailsSidebarPanel.prototype.layout):
(WI.LayoutDetailsSidebarPanel.prototype._handleLayoutContextTypeChanged):
(WI.LayoutDetailsSidebarPanel.prototype._refreshNodeSets):
(WI.LayoutDetailsSidebarPanel.prototype._refreshGridNodeSet): Deleted.
Added Flexbox section to Layout details sidebar.
- UserInterface/Views/NodeOverlayListSection.css: Renamed from Source/WebInspectorUI/UserInterface/Views/CSSGridSection.css.
(.node-overlay-list-section):
(.node-overlay-list-section > .node-overlay-list):
(.node-overlay-list-section > .node-overlay-list > li > .node-overlay-list-item-container):
(.node-overlay-list-section > .node-overlay-list > li > .node-overlay-list-item-container > label):
(.node-overlay-list-section > .node-overlay-list > li > .node-overlay-list-item-container > label > .node-display-name):
(.node-overlay-list-section > .node-overlay-list > li > .node-overlay-list-item-container > :is(.go-to-arrow, .inline-swatch)):
(.node-overlay-list-section > .node-overlay-list > li > .node-overlay-list-item-container:not(:hover) > .go-to-arrow):
(.node-overlay-list-section > .heading,):
(.node-overlay-list-section > .heading > label > .toggle-all):
(.node-overlay-list-section :is(.setting-editor, .node-overlay-list-item-container, .heading) input[type="checkbox"]):
A full-on replacement of.css-grid-section
with.node-overlay-list-section
since the two sections share the same styles.
- UserInterface/Views/NodeOverlayListSection.js: Copied from Source/WebInspectorUI/UserInterface/Views/CSSGridSection.js.
(WI.NodeOverlayListSection):
(WI.NodeOverlayListSection.prototype.set nodeSet):
(WI.NodeOverlayListSection.prototype.get sectionLabel):
(WI.NodeOverlayListSection.prototype.attached):
(WI.NodeOverlayListSection.prototype.detached):
(WI.NodeOverlayListSection.prototype.initialLayout):
(WI.NodeOverlayListSection.prototype.layout):
(WI.NodeOverlayListSection.prototype._handleOverlayStateChanged):
(WI.NodeOverlayListSection.prototype._handleToggleAllCheckboxChanged):
(WI.NodeOverlayListSection.prototype._updateToggleAllCheckbox):
Removed all the specific implementations for CSS Grid after generalizing them intoWI.NodeOverlayListSection
.
- 12:57 PM Changeset in webkit [289756] by
-
- 3 edits in trunk/Tools
[EWS] Rebase PRs on tip of branch (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=236389
<rdar://problem/88705147>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(CleanGitRepo.run): Squash
git rebase --abort
errors.
- CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/247229@main
- 12:49 PM Changeset in webkit [289755] by
-
- 4 edits2 adds in branches/safari-613-branch
Cherry-pick r289686. rdar://problem/88689388
contain:content
breaks fullscreen
https://bugs.webkit.org/show_bug.cgi?id=236470
<rdar://88689388>
Reviewed by Simon Fraser.
Source/WebCore:
Paint/layout containment forms a containing block for fixed positioned block boxes. It makes all fixed
positioned descendants anchored (contained) to this layout container.
This patch enables fullscreen boxes break out of this non-ICB based layout scope (this is similar to what we
do for other, "layout scope changing" properties, see canContainFixedPositionObjects).
Test: fullscreen/fullscreen-prevented-by-containment.html
- css/fullscreen.css: (:-webkit-full-screen-ancestor:not(iframe)):
- css/parser/CSSParserContext.cpp: (WebCore::CSSParserContext::CSSParserContext):
LayoutTests:
- fullscreen/fullscreen-prevented-by-containment-expected.txt: Added.
- fullscreen/fullscreen-prevented-by-containment.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289686 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:49 PM Changeset in webkit [289754] by
-
- 5 edits4 deletes in branches/safari-613-branch
Cherry-pick r289682. rdar://problem/88843567
Unreviewed, reverting r289498.
https://bugs.webkit.org/show_bug.cgi?id=236534
Speedometer2 2% regression
Reverted changeset:
"Dialog element only animates once"
https://bugs.webkit.org/show_bug.cgi?id=236274
https://commits.webkit.org/r289498
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289682 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:49 PM Changeset in webkit [289753] by
-
- 5 edits in branches/safari-613-branch/Source
Cherry-pick r289658. rdar://problem/88678598
Regression(r287684) Microsoft teams meeting URLs fail to open the app
https://bugs.webkit.org/show_bug.cgi?id=236516
<rdar://88678598>
Reviewed by Geoffrey Garen.
Add a quirk for Microsoft teams.
Source/WebCore:
- page/Quirks.cpp: (WebCore::Quirks::shouldAllowNavigationToCustomProtocolWithoutUserGesture):
- page/Quirks.h:
Source/WebKit:
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::decidePolicyForNavigationAction):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289658 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:29 PM Changeset in webkit [289752] by
-
- 2 edits in trunk/Tools
run-jsc-stress-tests reports "in `<module:URI>': uninitialized class variable @@schemes in URI (NameError)" with Ruby 3.1
https://bugs.webkit.org/show_bug.cgi?id=236281
Reviewed by Yusuke Suzuki.
Ruby 3.1.0 removed @@schemes and added URI.register_scheme.
- Scripts/run-jsc-stress-tests: Added
register_scheme
class
method if not exists. Use the register_scheme method for ssh.
- 12:12 PM Changeset in webkit [289751] by
-
- 2 edits in trunk/Source/WebCore
Add a centerControlsBar in InlineMediaControls
https://bugs.webkit.org/show_bug.cgi?id=236575
Reviewed by Jer Noble.
When a subclass of
InlineMediaControls
implements_centerContainerButtons()
to return a list of elements, a control bar will be added as a child of the
media-controls element.
No behavior change so far.
- Modules/modern-media-controls/controls/inline-media-controls.js:
(InlineMediaControls):
(InlineMediaControls.prototype.layout):
(InlineMediaControls.prototype._centerContainerButtons):
- 11:57 AM Changeset in webkit [289750] by
-
- 5 edits4 deletes in branches/safari-613.1.17.1-branch
Cherry-pick r289682. rdar://problem/88843567
Unreviewed, reverting r289498.
https://bugs.webkit.org/show_bug.cgi?id=236534
Speedometer2 2% regression
Reverted changeset:
"Dialog element only animates once"
https://bugs.webkit.org/show_bug.cgi?id=236274
https://commits.webkit.org/r289498
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289682 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:57 AM Changeset in webkit [289749] by
-
- 4 edits2 adds in branches/safari-613.1.17.1-branch
Cherry-pick r289686. rdar://problem/88689388
contain:content
breaks fullscreen
https://bugs.webkit.org/show_bug.cgi?id=236470
<rdar://88689388>
Reviewed by Simon Fraser.
Source/WebCore:
Paint/layout containment forms a containing block for fixed positioned block boxes. It makes all fixed
positioned descendants anchored (contained) to this layout container.
This patch enables fullscreen boxes break out of this non-ICB based layout scope (this is similar to what we
do for other, "layout scope changing" properties, see canContainFixedPositionObjects).
Test: fullscreen/fullscreen-prevented-by-containment.html
- css/fullscreen.css: (:-webkit-full-screen-ancestor:not(iframe)):
- css/parser/CSSParserContext.cpp: (WebCore::CSSParserContext::CSSParserContext):
LayoutTests:
- fullscreen/fullscreen-prevented-by-containment-expected.txt: Added.
- fullscreen/fullscreen-prevented-by-containment.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289686 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:57 AM Changeset in webkit [289748] by
-
- 5 edits4 deletes in branches/safari-613.1.17.0-branch
Cherry-pick r289682. rdar://problem/88843567
Unreviewed, reverting r289498.
https://bugs.webkit.org/show_bug.cgi?id=236534
Speedometer2 2% regression
Reverted changeset:
"Dialog element only animates once"
https://bugs.webkit.org/show_bug.cgi?id=236274
https://commits.webkit.org/r289498
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289682 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:57 AM Changeset in webkit [289747] by
-
- 5 edits in branches/safari-613.1.17.1-branch/Source
Cherry-pick r289658. rdar://problem/88678598
Regression(r287684) Microsoft teams meeting URLs fail to open the app
https://bugs.webkit.org/show_bug.cgi?id=236516
<rdar://88678598>
Reviewed by Geoffrey Garen.
Add a quirk for Microsoft teams.
Source/WebCore:
- page/Quirks.cpp: (WebCore::Quirks::shouldAllowNavigationToCustomProtocolWithoutUserGesture):
- page/Quirks.h:
Source/WebKit:
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::decidePolicyForNavigationAction):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289658 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:57 AM Changeset in webkit [289746] by
-
- 4 edits2 adds in branches/safari-613.1.17.0-branch
Cherry-pick r289686. rdar://problem/88689388
contain:content
breaks fullscreen
https://bugs.webkit.org/show_bug.cgi?id=236470
<rdar://88689388>
Reviewed by Simon Fraser.
Source/WebCore:
Paint/layout containment forms a containing block for fixed positioned block boxes. It makes all fixed
positioned descendants anchored (contained) to this layout container.
This patch enables fullscreen boxes break out of this non-ICB based layout scope (this is similar to what we
do for other, "layout scope changing" properties, see canContainFixedPositionObjects).
Test: fullscreen/fullscreen-prevented-by-containment.html
- css/fullscreen.css: (:-webkit-full-screen-ancestor:not(iframe)):
- css/parser/CSSParserContext.cpp: (WebCore::CSSParserContext::CSSParserContext):
LayoutTests:
- fullscreen/fullscreen-prevented-by-containment-expected.txt: Added.
- fullscreen/fullscreen-prevented-by-containment.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289686 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:57 AM Changeset in webkit [289745] by
-
- 5 edits in branches/safari-613.1.17.0-branch/Source
Cherry-pick r289658. rdar://problem/88678598
Regression(r287684) Microsoft teams meeting URLs fail to open the app
https://bugs.webkit.org/show_bug.cgi?id=236516
<rdar://88678598>
Reviewed by Geoffrey Garen.
Add a quirk for Microsoft teams.
Source/WebCore:
- page/Quirks.cpp: (WebCore::Quirks::shouldAllowNavigationToCustomProtocolWithoutUserGesture):
- page/Quirks.h:
Source/WebKit:
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::decidePolicyForNavigationAction):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289658 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:48 AM Changeset in webkit [289744] by
-
- 9 edits in branches/safari-613.1.17.1-branch/Source
Versioning.
WebKit-7613.1.17.1.2
- 11:29 AM Changeset in webkit [289743] by
-
- 9 edits in branches/safari-613.1.17.0-branch/Source
Versioning.
WebKit-7613.1.17.0.2
- 11:05 AM Changeset in webkit [289742] by
-
- 16 edits1 copy1 add in trunk
[CSS Container Queries] Implement full query parser and evaluator
https://bugs.webkit.org/show_bug.cgi?id=236580
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/at-container-parsing-expected.txt:
- web-platform-tests/css/css-contain/container-queries/container-for-shadow-dom.tentative-expected.txt:
- web-platform-tests/css/css-contain/container-queries/container-type-invalidation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/query-evaluation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/size-feature-evaluation-expected.txt:
Source/WebCore:
So far we have been using the media query parser to parse container queries.
It does not support nesting and other necessary features. Also the produced data
structures are awkward to evaluate.
https://drafts.csswg.org/css-contain-3/#container-rule
This patch supports size queries but not style queries. It supports both the current spec
size query syntax "size(foo)" (used in WPTs), and the non-function POR syntax from
https://github.com/w3c/csswg-drafts/issues/6870#issuecomment-1022430911.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- css/ContainerQuery.h:
- css/ContainerQueryParser.cpp: Added.
(WebCore::ContainerQueryParser::parse):
(WebCore::ContainerQueryParser::consumeContainerQuery):
(WebCore::ContainerQueryParser::consumeCondition):
(WebCore::ContainerQueryParser::consumeSizeQuery):
No support for range operators ('<' etc) yet.
- css/ContainerQueryParser.h: Copied from Source/WebCore/css/ContainerQuery.h.
(WebCore::ContainerQueryParser::ContainerQueryParser):
- css/parser/CSSParserImpl.cpp:
(WebCore::CSSParserImpl::consumeContainerRule):
- style/ContainerQueryEvaluator.cpp:
(WebCore::Style::computeSize):
(WebCore::Style::ContainerQueryEvaluator::evaluate const):
(WebCore::Style::ContainerQueryEvaluator::evaluateQuery const):
(WebCore::Style::ContainerQueryEvaluator::evaluateCondition const):
(WebCore::Style::ContainerQueryEvaluator::evaluateSizeFeature const):
Just 'width' and 'height' for now, no new size features yet.
- style/ContainerQueryEvaluator.h:
LayoutTests:
- 10:47 AM Changeset in webkit [289741] by
-
- 1 copy in branches/safari-614.1.4-branch
New branch.
- 10:39 AM Changeset in webkit [289740] by
-
- 3 edits in trunk/Source/JavaScriptCore
CallLinkInfo::emitFastPathImpl() should avoid external scratch register use on RISCV64
https://bugs.webkit.org/show_bug.cgi?id=236064
Patch by Zan Dobersek <zdobersek@igalia.com> on 2022-02-14
Reviewed by Yusuke Suzuki.
Avoid external scratch register usage in CallLinkInfo::emitFastPathImpl()
for RISCV64 since the scratch register ends up having to be used in the
branchTestPtr implementation of RISCV64's MacroAssembler.
The RISCV64-specific alternative is to suffer resolving and loading from
the callee address for both branching operations. Other platforms
continue to operate with the external scratch register as they either
use a wider set of scratch registers or don't even have to use scratch
registers for the load and branching operations used here.
- assembler/CPU.h: Add isRISCV64(). Also impose a more sensible order.
(JSC::isMIPS):
(JSC::isRISCV64):
- bytecode/CallLinkInfo.cpp:
(JSC::CallLinkInfo::emitFastPathImpl):
- 9:58 AM Changeset in webkit [289739] by
-
- 7 edits in trunk/Source
[WebAuthn] Modify _WKWebAuthenticationAssertionResponse according to internal needs
https://bugs.webkit.org/show_bug.cgi?id=236369
rdar://88585811
Reviewed by Brent Fulgham.
Source/WebCore:
This patch modifies AuthenticatorAssertionResponse with additional
fields and populates them according to internal needs.
- Modules/webauthn/AuthenticatorAssertionResponse.h:
(WebCore::AuthenticatorAssertionResponse::group const):
(WebCore::AuthenticatorAssertionResponse::synchronizable const):
(WebCore::AuthenticatorAssertionResponse::setGroup):
(WebCore::AuthenticatorAssertionResponse::setSynchronizable):
Source/WebKit:
This patch modifies the _WKWebAuthenticationAssertionResponse API object with additional
fields and populates them according to internal needs.
- UIProcess/API/APIWebAuthenticationAssertionResponse.h:
- UIProcess/API/Cocoa/_WKWebAuthenticationAssertionResponse.h:
- UIProcess/API/Cocoa/_WKWebAuthenticationAssertionResponse.mm:
(-[_WKWebAuthenticationAssertionResponse synchronizable]):
(-[_WKWebAuthenticationAssertionResponse group]):
- UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
(groupForAttributes):
(WebKit::LocalAuthenticatorInternal::getExistingCredentials):
- 9:07 AM Changeset in webkit [289738] by
-
- 7 edits in trunk
Don't perform layout in WKBundlePagePostSynchronousMessageForTesting
https://bugs.webkit.org/show_bug.cgi?id=236579
Reviewed by Brady Eidson.
This turned out to be a problem for bug 22722, which introduced the WithLayout::No workaround.
r188793 introduced this layoutIfNeeded call specifically for UI event messages, so only perform the
layout in that specific case. Also remove the workaround introduced in bug 22722.
Source/WebKit:
- WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePagePostSynchronousMessageForTesting):
(WKBundlePageLayoutIfNeeded):
(WKBundlePagePostSynchronousMessageForTestingWithoutLayout): Deleted.
- WebProcess/InjectedBundle/API/c/WKBundlePage.h:
Tools:
- WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
- WebKitTestRunner/InjectedBundle/InjectedBundle.h:
(WTR::postSynchronousPageMessage):
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::postSynchronousPageMessageWithReturnValue):
(WTR::TestRunner::grantWebNotificationPermission):
(WTR::TestRunner::denyWebNotificationPermission):
- 7:28 AM Changeset in webkit [289737] by
-
- 3 edits in trunk/Tools
[EWS] Re-enable build retry for PRs
https://bugs.webkit.org/show_bug.cgi?id=236300
<rdar://problem/88628832>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.analyzeResults): Enable retry for PRs with failing builds.
(CleanGitRepo.run): Abort any failed rebases.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/247222@main
- 7:19 AM Changeset in webkit [289736] by
-
- 3 edits2 adds in trunk
Nullptr crash in CompositeEditCommand::splitTreeToNode via InsertParagraphSeparatorCommand::doApply
https://bugs.webkit.org/show_bug.cgi?id=229283
Patch by Frédéric Wang <fwang@igalia.com> on 2022-02-14
Reviewed by Ryosuke Niwa.
Source/WebCore:
Position::upstream handles edge cases like tables specially which can lead to
InsertParagraphSeparatorCommand::doApply incorrectly expecting a next sibling after a text
node at last position in order to perform a split. This patch works around that by ignoring
the split in that case.
Test: editing/inserting/insert-paragraph-separator-with-inline-table-bold-crash.html
- editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply): Only try and remove remaining nodes if
splitTo is not null. moveRemainingSiblingsToNewParent will be a no-op when n is null. Also
switch from raw pointers to RefPtr<Node>.
LayoutTests:
Add regression test.
- editing/inserting/insert-paragraph-separator-with-inline-table-bold-crash-expected.txt: Added.
- editing/inserting/insert-paragraph-separator-with-inline-table-bold-crash.html: Added.
- 6:42 AM Changeset in webkit [289735] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Fix fast/inline/hidpi-outline-auto-with-border-radius-vertical-rtl.html
https://bugs.webkit.org/show_bug.cgi?id=236572
Reviewed by Antti Koivisto.
adjustVisualGeometryForDisplayBox needs the line's logical top (which is turned into visual inside
at (lineBoxLogicalTop + logicalRect.top())).
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::adjustVisualGeometryForDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent):
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.h:
- 6:37 AM Changeset in webkit [289734] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Fix fast/block/float/float-with-fractional-height-vertical-lr.html
https://bugs.webkit.org/show_bug.cgi?id=236576
Reviewed by Antti Koivisto.
Let's translate the incoming float boxes' visual coordinates to logical for line layout.
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::prepareFloatingState):
- 6:06 AM Changeset in webkit [289733] by
-
- 4 edits2 adds in trunk/LayoutTests
[model] refactor model document tests to use a shared testing function
https://bugs.webkit.org/show_bug.cgi?id=236578
Reviewed by Dean Jackson.
Add a new model_document_test function that both model document tests can use
to get the document loaded inside the iframe.
- http/tests/model/model-document-interactive-expected.txt:
- http/tests/model/model-document-interactive.html:
- http/tests/model/model-document.html:
- http/tests/model/resources/model-document.js: Added.
(const.model_document_test):
- 6:03 AM Changeset in webkit [289732] by
-
- 13 edits in trunk
Animation from "scale()" to "scale() translate()" does not yield the expected result
https://bugs.webkit.org/show_bug.cgi?id=222595
<rdar://problem/74926700>
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-transforms/animation/list-interpolation-expected.txt: Mark tests as passing.
- web-platform-tests/css/css-transforms/animation/transform-interpolation-001-expected.txt:
- web-platform-tests/css/css-transforms/animation/transform-interpolation-003-expected.txt:
Source/WebCore:
No new tests. This is covered by existing WPT tests.
When blending two transform lists, where one list is longer than the other, extending the
shorter list with identity transform functions. This is the behavior specified in the
CSS Transforms Module Level 2 specification.
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::checkForMatchingTransformFunctionLists): Instead of checking each frame
against the first keyframe, collect a list of shared transform primitives and check that each
list has the same number of compatible primitives or a prefix of compatible primitives and is
shorter.
- platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::getSharedPrimitivesForTransformKeyframes): When the transform operation
lists have different sizes, don't always return false. Instead check that the parts that do exist
have matching primitives.
- platform/graphics/transforms/TransformOperations.cpp:
(WebCore::TransformOperations::operationsMatch const): Only check the transformations in
the shared list size.
(WebCore::TransformOperations::blendByMatchingOperations const): Properly handle when one of the
two operations is null instead of just the toOperation.
LayoutTests:
- compositing/layer-creation/multiple-keyframes-animation-overlap-expected.txt:
- compositing/layer-creation/translate-scale-animation-overlap-expected.txt:
- 5:04 AM Changeset in webkit [289731] by
-
- 2 edits in trunk/Source/WebCore
[GTK][WPE] Avoid mapping attributes when the vector is empty in createImage
https://bugs.webkit.org/show_bug.cgi?id=236521
Patch by Alejandro G. Castro <alex@igalia.com> on 2022-02-14
Reviewed by Žan Doberšek.
We are just refactoring the function to avoid calling the map of
the original vector in case it is empty. Also we changed a double
negative in the isEmpty condition to make it clearer.
No new tests, there are tests checking this code.
- platform/graphics/egl/GLContextEGL.cpp:
(WebCore::GLContextEGL::createImage const):
- 4:20 AM Changeset in webkit [289730] by
-
- 2 edits in trunk/Source/WebCore
Don't throw exception when controls are removed
https://bugs.webkit.org/show_bug.cgi?id=236456
Reviewed by Xabier Rodriguez-Calvar.
In mediaControlsBase.js, when media controls are removed, calling controlsAreHidden() can cause
an exception because the panel has no parentElement.
This patch is authored by Eugene Mutavchi <Ievgen_Mutavchi@comcast.com>
See: https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/775
- Modules/mediacontrols/mediaControlsBase.js: Return false if there's no parent.
- 3:29 AM Changeset in webkit [289729] by
-
- 4 edits in trunk/Source/WebCore
[GTK] [WPE] Fix problem when the buffer object is released before we try to send it to the compositor
https://bugs.webkit.org/show_bug.cgi?id=236520
Patch by Alejandro G. Castro <alex@igalia.com> on 2022-02-14
Reviewed by Žan Doberšek.
There is a layout test failing because the buffer object was
released before the swap buffers method was called and we were
calling the construction of the TextureMapperPlatformLayerDmabuf
with wrong data.
Fixes webgl/1.0.3/conformance/context/context-release-with-workers.html.
- platform/graphics/angle/GraphicsContextGLANGLE.h: Add the
isReleased function to the EGLImageBacking class.
- platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.cpp: Ditto.
(Nicosia::GCGLANGLELayer::swapBuffersIfNeeded):
- platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::EGLImageBacking::isReleased):
Bail out when the image backing was released.
- 3:20 AM Changeset in webkit [289728] by
-
- 3 edits in trunk/Source/WebCore
[ATSPI] Reduce the size of dbus objects Vectors
https://bugs.webkit.org/show_bug.cgi?id=236581
Reviewed by Adrian Perez de Castro.
Use 3 for root, 1 for hyperlink and 7 for object.
- accessibility/atspi/AccessibilityAtspi.cpp:
(WebCore::AccessibilityAtspi::registerObject):
- accessibility/atspi/AccessibilityAtspi.h: