Timeline
Apr 9, 2022:
- 7:59 PM Changeset in webkit [292685] by
-
- 3 edits in trunk/Source/WebCore
[Text autosizing] Remove redundant lineCountForTextAutosizing member function
https://bugs.webkit.org/show_bug.cgi?id=239034
Reviewed by Antti Koivisto.
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::adjustComputedFontSizes): stop walking the list item children when we see multiple lines.
(WebCore::RenderBlockFlow::lineCountForTextAutosizing): Deleted.
- rendering/RenderBlockFlow.h:
- 7:14 PM Changeset in webkit [292684] by
-
- 2 edits in trunk/Source/WebCore
Include locale.h for LC_MESSAGES definition.
https://bugs.webkit.org/show_bug.cgi?id=239030
Patch by Khem Raj <raj.khem@gmail.com> on 2022-04-09
Reviewed by Michael Catanzaro.
- accessibility/atspi/AccessibilityRootAtspi.cpp:
- 3:42 PM Changeset in webkit [292683] by
-
- 7 edits in trunk/Source
Put layer backing store buffers into the per-RemoteRenderingBackend IOSurfacePool
https://bugs.webkit.org/show_bug.cgi?id=238972
<rdar://83437978>
Reviewed by Tim Horton.
Source/WebCore:
Add IOSurfacePool::create().
- platform/graphics/cg/IOSurfacePool.cpp:
(WebCore::IOSurfacePool::create):
- platform/graphics/cg/IOSurfacePool.h:
Source/WebKit:
Give each RemoteRenderingBackend its own IOSurfacePool. RemoteImageBuffer gets surfaces
from this pool, and RemoteRenderingBackend::willDestroyImageBuffer() puts surfaces in,
if they are layer backing store surfaces.
The low memory handler removes all surfaces from the pool.
- GPUProcess/graphics/RemoteImageBuffer.h:
(WebKit::RemoteImageBuffer::create):
(WebKit::RemoteImageBuffer::~RemoteImageBuffer):
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::RemoteRenderingBackend):
(WebKit::RemoteRenderingBackend::willDestroyImageBuffer):
(WebKit::RemoteRenderingBackend::lowMemoryHandler):
- GPUProcess/graphics/RemoteRenderingBackend.h:
(WebKit::RemoteRenderingBackend::ioSurfacePool const):
- 3:25 PM Changeset in webkit [292682] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] Use Vector with inline capacity in ObjectPropertyConditionSet creation
https://bugs.webkit.org/show_bug.cgi?id=239025
Reviewed by Keith Miller.
Since we anyway allocate ThreadSafeRefCountedFixedVector<ObjectPropertyCondition> in ObjectPropertyConditionSet, which has exact size,
generateXXX and mergeWith should not allocate heap Vector just for temporarily collecting ObjectPropertyCondition.
We pick 8 in generateXXX function and 16 for mergeWith function. This looks reasonable number and at least covers all cases in Speedometer2.
- bytecode/ObjectPropertyConditionSet.cpp:
(JSC::ObjectPropertyConditionSet::mergedWith const):
(JSC::generateConditionsForPropertyMiss):
(JSC::generateConditionsForPropertySetterMiss):
(JSC::generateConditionsForPrototypePropertyHit):
(JSC::generateConditionsForPrototypePropertyHitCustom):
(JSC::generateConditionsForInstanceOf):
(JSC::generateConditionsForPrototypeEquivalenceConcurrently):
(JSC::generateConditionsForPropertyMissConcurrently):
(JSC::generateConditionsForPropertySetterMissConcurrently):
- bytecode/ObjectPropertyConditionSet.h:
(JSC::ObjectPropertyConditionSet::create):
- 1:26 PM Changeset in webkit [292681] by
-
- 4 edits in trunk
[WKTR] Reset minimum font size WKPreference between tests
https://bugs.webkit.org/show_bug.cgi?id=239027
<rdar://problem/88938768>
Reviewed by Chris Dumez.
Tools:
Some tests use uiController to set the minimum font size WKPreference. We need to reset it between tests.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
LayoutTests:
Remove unnecessary ephemeral session.
- fast/forms/visual-hebrew-text-field.html:
- 12:05 PM Changeset in webkit [292680] by
-
- 6 edits1 add in trunk
The Youtube plugin replacement should only work for actual Youtube URLs
https://bugs.webkit.org/show_bug.cgi?id=239003
<rdar://91323230>
Reviewed by Brent Fulgham.
Source/WebCore:
The Youtube plugin replacement was too permissive and was falling back to using
the original URL in cases there the original URL wasn't an expected Youtube
URL. This patch hardens the plugin replacement and drops the URL if it is not
a valid youtube URL instead.
Covered by new API test.
- Modules/plugins/YouTubePluginReplacement.cpp:
(WebCore::isYouTubeURL):
(WebCore::processAndCreateYouTubeURL):
(WebCore::YouTubePluginReplacement::youTubeURLFromAbsoluteURL):
Tools:
Add API test coverage.
- TestWebKitAPI/SourcesCocoa.txt:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebCore/YouTubePluginReplacement.cpp:
(TestWebKitAPI::test):
(TestWebKitAPI::TEST_F):
- TestWebKitAPI/Tests/WebKitCocoa/YoutubeReplacementPlugin.mm: Added.
(TEST):
- 10:55 AM Changeset in webkit [292679] by
-
- 9 edits2 adds in trunk
REGRESSION (Safari 15.4): Focused element doesn't render outline when it has an underline
https://bugs.webkit.org/show_bug.cgi?id=238998
<rdar://problem/91484512>
Reviewed by Antti Koivisto.
Source/WebCore:
While outline is supposed to be part of the ink overflow(1), WebKit historically has been
treating it as a special "non ink overflow" type of overflow.
This patch is in preparation for transitioning the outline to regular ink overflow.
First we start treating outline as part of ink overflow within IFC and
handle it as special repaint content only at the block (RenderBlockFlow) level.
Test: fast/repaint/incorrect-outline-repaint.html
(1) https://www.w3.org/TR/css-overflow-3/#ink
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::computeInkOverflowForInlineLevelBox):
(WebCore::Layout::InlineDisplayContentBuilder::appendAtomicInlineLevelDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::appendInlineBoxDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::appendSpanningInlineBoxDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::adjustVisualGeometryForDisplayBox):
(WebCore::Layout::computeBoxShadowInkOverflow): Deleted.
- layout/integration/LayoutIntegrationInlineContent.cpp:
(WebCore::LayoutIntegration::InlineContent::hasContent const):
- layout/integration/LayoutIntegrationInlineContent.h:
(WebCore::LayoutIntegration::InlineContent::hasVisualOverflow const):
(WebCore::LayoutIntegration::InlineContent::setHasVisualOverflow):
- layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::layoutModernLines): This may cause overly inflated repaintTop/Bottom when
the ink overflow is not outline based (text stroke only atm) but we will anyway trigger
similar repaint rect on that part later when we process ink overflow.
LayoutTests:
- fast/repaint/incorrect-outline-repaint-expected.txt: Added.
- fast/repaint/incorrect-outline-repaint.html: Added.
- fast/text/simple-line-layout-text-stroke-width.html: now we produce a slightly different (more accurate)
vertical repaint range. However this test is about moving the content horizontally, so let's make this
test more robust by focusing on the horizontal part.
- 1:35 AM Changeset in webkit [292678] by
-
- 10 edits3 adds in trunk
[GTK][WPE] Missing inter-module documentation links
https://bugs.webkit.org/show_bug.cgi?id=239016
Reviewed by Michael Catanzaro.
Add JS snippets to be used in the gi-docgen output to setup links to
other modules. Take advantage of being able to compute the documentation
API version suffix from the currently loaded page URL, which avoids having
a number of templates depending on the API version and having to deal with
the documentation API version being sometimes different than the actual API
version of the library. The URLs for GTK3 vs. GTK4 documentation cannot be
handled in the same way, and instead the JS snippet is also a template
expanded by CMake to allows using the ${GTK_API_VERSION} variable there.
.:
- Source/cmake/FindGIDocgen.cmake: Add a new CONTENT_TEMPLATES option
to GI_DOCGEN(), which allows setting up files to be expanded as CMake
@ONLY templates and then be used as documentation content files.
Source/JavaScriptCore:
- API/glib/docs/jsc.toml.in: Use added urlmap.js file.
- API/glib/docs/urlmap.js: Added.
Source/WebKit:
- PlatformGTK.cmake: Set urlmap.js as documentation content template.
- gtk/urlmap.js.in: Added.
- gtk/webkit2gtk-webextension.toml.in: Use urlmap.js from added template.
- gtk/webkit2gtk.toml.in: Ditto.
- wpe/urlmap.js: Added.
(const.baseURLApiLevelSuffix):
- wpe/wpewebextension.toml.in: Use added urlmap.js file.
- wpe/wpewebkit.toml.in: Ditto.
- 1:28 AM Changeset in webkit [292677] by
-
- 25 edits in trunk/Source
Move canAccessStorage() check from SecurityOrigin to ScriptExecutionContext
https://bugs.webkit.org/show_bug.cgi?id=238524
<rdar://problem/91318259>
Reviewed by Chris Dumez.
Source/WebCore:
Add canAccessResource() to ScriptExecutionContext because ScriptExecutionContext, instead of SecurityOrigin,
should be the place that holds StorageBlockingPolicy (otherwise it's confusing that the origin and top origin
disagrees with each other on policy). Also, because ScriptExecutionContext has access to origin and topOrigin,
callers don't need to explicitly get them before the access check.
- Modules/encryptedmedia/CDM.cpp:
(WebCore::CDM::getSupportedConfiguration):
- Modules/geolocation/Geolocation.cpp:
(WebCore::Geolocation::shouldBlockGeolocationRequests):
- Modules/indexeddb/IDBFactory.cpp:
(WebCore::shouldThrowSecurityException):
(WebCore::IDBFactory::openInternal):
(WebCore::IDBFactory::deleteDatabase):
- Modules/storage/StorageManager.cpp:
(WebCore::connectionInfo):
- Modules/webdatabase/DOMWindowWebDatabase.cpp:
(WebCore::DOMWindowWebDatabase::openDatabase):
- dom/Document.cpp:
(WebCore::m_whitespaceCache):
(WebCore::Document::cookie):
(WebCore::Document::setCookie):
(WebCore::Document::storageBlockingStateDidChange):
(WebCore::Document::initSecurityContext):
(WebCore::Document::applyQuickLookSandbox):
- dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::domainForCachePartition const):
(WebCore::isOriginEquivalentToLocal):
(WebCore::ScriptExecutionContext::canAccessResource const):
- dom/ScriptExecutionContext.h:
(WebCore::ScriptExecutionContext::setStorageBlockingPolicy):
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::loadMainResource):
- loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::selectCache):
(WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
(WebCore::ApplicationCacheGroup::update):
- loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::isApplicationCacheBlockedForRequest):
- page/DOMWindow.cpp:
- page/Page.cpp:
(WebCore::Page::setupForRemoteWorker):
- page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::domainForCachePartition const):
(WebCore::SecurityOrigin::canAccessStorage const): Deleted.
- page/SecurityOrigin.h:
(WebCore::SecurityOrigin::encode const):
(WebCore::SecurityOrigin::decode):
(WebCore::SecurityOrigin::setStorageBlockingPolicy): Deleted.
(WebCore::SecurityOrigin::canAccessDatabase const): Deleted.
(WebCore::SecurityOrigin::canAccessSessionStorage const): Deleted.
(WebCore::SecurityOrigin::canAccessLocalStorage const): Deleted.
(WebCore::SecurityOrigin::canAccessStorageManager const): Deleted.
(WebCore::SecurityOrigin::canAccessPluginStorage const): Deleted.
(WebCore::SecurityOrigin::canAccessApplicationCache const): Deleted.
(WebCore::SecurityOrigin::canAccessCookies const): Deleted.
(WebCore::SecurityOrigin::canRequestGeolocation const): Deleted.
- storage/StorageNamespaceProvider.cpp:
(WebCore::StorageNamespaceProvider::localStorageArea):
- workers/WorkerGlobalScope.cpp:
(WebCore::m_credentials):
- workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::addRegistration):
(WebCore::ServiceWorkerContainer::updateRegistration):
- workers/service/ServiceWorkerJobData.cpp:
(WebCore::ServiceWorkerJobData::isolatedCopy const):
- workers/service/ServiceWorkerJobData.h:
(WebCore::ServiceWorkerJobData::encode const):
(WebCore::ServiceWorkerJobData::decode):
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::startScriptFetch):
- worklets/WorkletGlobalScope.cpp:
(WebCore::WorkletGlobalScope::WorkletGlobalScope):
Source/WebKit:
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::storageBlockingStateChanged):
Apr 8, 2022:
- 11:29 PM Changeset in webkit [292676] by
-
- 2 edits in trunk/Source/WebCore
Sharing services picker menu Mail presents in the wrong place when compose web view is scrolled
https://bugs.webkit.org/show_bug.cgi?id=238672
<rdar://problem/88966924>
Reviewed by Wenson Hsieh.
Image menu is offset by the amount the view is scrolled. This patch
changes the menu location point by calculating the bottom corner of
the picker button then using contentsToWindow which handles
the scroll position offset
- dom/mac/ImageControlsMac.cpp:
(WebCore::ImageControlsMac::handleEvent):
- 11:18 PM Changeset in webkit [292675] by
-
- 9 edits in branches/safari-614.1.9-branch/Source
Versioning.
WebKit-7614.1.9.2
- 8:12 PM Changeset in webkit [292674] by
-
- 2 edits in trunk/Source/WebGPU
[WebGPU] Fix the release build
https://bugs.webkit.org/show_bug.cgi?id=239023
Unreviewed build fix.
- WebGPU/Device.mm:
(WebGPU::Device::Device):
- 7:56 PM Changeset in webkit [292673] by
-
- 3 edits in trunk/Source/WebGPU
[WebGPU] Make callbacks in unimplemented functions execute
https://bugs.webkit.org/show_bug.cgi?id=238727
Reviewed by Dean Jackson.
CompletionHandler ASSERT()s that it has been executed in its destructor. We have some
functions which we haven't implemented yet which take CompletionHandlers, so let's
temporarily just call the completion handlers just to make tests stop ASSERT()ing.
- WebGPU/ComputePipeline.mm:
(WebGPU::Device::createComputePipelineAsync):
- WebGPU/RenderPipeline.mm:
(WebGPU::Device::createRenderPipelineAsync):
- 7:28 PM Changeset in webkit [292672] by
-
- 5 edits in trunk/LayoutTests
REBASLINE: [ Monterey wk2 ] 4 http/tests/inspector/paymentrequest/* tests are constant text failures https://bugs.webkit.org/show_bug.cgi?id=238908 Unreviewed test rebaslining. * http/tests/inspector/paymentrequest/payment-request-internal-properties.https-expected.txt: * http/tests/paymentrequest/payment-address-attributes-and-toJSON-method.https-expected.txt: * http/tests/paymentrequest/payment-request-change-shipping-option.https-expected.txt: * http/tests/paymentrequest/payment-response-retry-method.https-expected.txt:
- 7:14 PM Changeset in webkit [292671] by
-
- 4 edits in trunk/Source/WebGPU
[WebGPU] Implement the concept of device lost
https://bugs.webkit.org/show_bug.cgi?id=238725
Reviewed by Dean Jackson.
This patch builds on https://bugs.webkit.org/show_bug.cgi?id=238723 to finish
the implementation of the concept of device lost. The device can only be lost
on macOS, where you can register a block callback to be run when it happens.
Also, the registration function returns a token that you can pass to the
unregistration function, which happens in Device's destructor.
- WebGPU/Buffer.mm:
(WebGPU::validateDescriptor):
- WebGPU/Device.h:
(WebGPU::Device::isLost const):
- WebGPU/Device.mm:
(WebGPU::Device::Device):
(WebGPU::Device::~Device):
(WebGPU::Device::loseTheDevice):
(WebGPU::Device::destroy):
(WebGPU::Device::validatePopErrorScope const):
(WebGPU::Device::setDeviceLostCallback):
- 6:45 PM Changeset in webkit [292670] by
-
- 24 edits in trunk/Source/WebGPU
[WebGPU] Represent failure by invalidity rather than nullptr
https://bugs.webkit.org/show_bug.cgi?id=238724
Reviewed by Dean Jackson.
This is the biggest blocker for running the WebGPU conformance test suite. WebGPU is designed
such that creation routines don't return undefined if the object couldn't be created; instead,
in "invalid" object is returned. Now that objects have the notion of invalidity, this patch
migrates from creation functions returning RefPtr to creation functions returning Ref. All
the places where we previously returned nullptr now return invalid objects.
- WebGPU/APIConversions.h:
(WebGPU::releaseToAPI):
- WebGPU/Adapter.h:
- WebGPU/Adapter.mm:
(WebGPU::Adapter::requestDevice):
(wgpuAdapterRequestDevice):
(wgpuAdapterRequestDeviceWithBlock):
- WebGPU/BindGroup.mm:
(WebGPU::Device::createBindGroup):
- WebGPU/BindGroupLayout.mm:
(WebGPU::Device::createBindGroupLayout):
- WebGPU/Buffer.mm:
(WebGPU::Device::createBuffer):
- WebGPU/CommandEncoder.h:
- WebGPU/CommandEncoder.mm:
(WebGPU::Device::createCommandEncoder):
(WebGPU::CommandEncoder::beginComputePass):
(WebGPU::CommandEncoder::beginRenderPass):
(WebGPU::CommandEncoder::finish):
- WebGPU/ComputePipeline.mm:
(WebGPU::Device::createComputePipeline):
(WebGPU::Device::createComputePipelineAsync):
- WebGPU/Device.h:
- WebGPU/Device.mm:
(WebGPU::Device::create):
(wgpuDeviceCreateComputePipelineAsync):
(wgpuDeviceCreateComputePipelineAsyncWithBlock):
(wgpuDeviceCreateRenderPipelineAsync):
(wgpuDeviceCreateRenderPipelineAsyncWithBlock):
- WebGPU/Instance.h:
- WebGPU/Instance.mm:
(WebGPU::Instance::create):
(WebGPU::Instance::createSurface):
(WebGPU::Instance::requestAdapter):
(wgpuInstanceRequestAdapter):
(wgpuInstanceRequestAdapterWithBlock):
- WebGPU/PipelineLayout.mm:
(WebGPU::Device::createPipelineLayout):
- WebGPU/QuerySet.mm:
(WebGPU::Device::createQuerySet):
- WebGPU/RenderBundleEncoder.h:
- WebGPU/RenderBundleEncoder.mm:
(WebGPU::Device::createRenderBundleEncoder):
(WebGPU::RenderBundleEncoder::finish):
- WebGPU/RenderPipeline.mm:
(WebGPU::Device::createRenderPipeline):
(WebGPU::Device::createRenderPipelineAsync):
- WebGPU/Sampler.mm:
(WebGPU::Device::createSampler):
- WebGPU/ShaderModule.mm:
(WebGPU::Device::createShaderModule):
- WebGPU/SwapChain.mm:
(WebGPU::Device::createSwapChain):
- WebGPU/Texture.h:
- WebGPU/Texture.mm:
(WebGPU::Device::createTexture):
(WebGPU::Texture::createView):
- 5:31 PM Changeset in webkit [292669] by
-
- 1 copy in tags/WebKit-7613.2.6
Tag WebKit-7613.2.6.
- 5:14 PM Changeset in webkit [292668] by
-
- 3 edits2 adds in branches/safari-613-branch
Cherry-pick r291629. rdar://problem/91446360
YouTube.com - Clicking anywhere on the progress bar pauses the video
https://bugs.webkit.org/show_bug.cgi?id=237750
<rdar://problem/90364846>
Reviewed by Eric Carlson.
Source/WebCore:
Test: media/media-source/media-source-unexpected-pause.html
When calling play() or pause() on a MediaPlayerPrivateMediaSourceAVFObjC, the object will
respond by calling m_player->playbackStateChanged(), which will in turn call
HTMLMediaElement::mediaPlayerPlaybackStateChanged() with the new state. However, HTMLMediaElement
expects this to be called only for unanticipated state changes, not expected state changes. And
when that method is called and the reported state does not match the element's own expected state,
the element calls its own play() or pause() function to update its own state to match the player's.
And because MediaPlayerPrivateMediaSourceAVFObjC calls this method on the next run loop, there is
an opportunity for those states to get out of sync, which happens when YouTube responds to a tap
in its timeline.
- Remove the unnecessary "call on next run loop" behavior of …
- play() and ::pause(). Also, remove the unnecessary notification that the play state has changed. In the future, this can be accomplished by adding a callback parameter to MediaPlayer::play() rather than relying on a state change notification.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::play): (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playInternal): (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pause): (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pauseInternal): (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playAtHostTime): (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pauseAtHostTime):
LayoutTests:
- media/media-source/media-source-unexpected-pause-expected.txt: Added.
- media/media-source/media-source-unexpected-pause.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291629 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:14 PM Changeset in webkit [292667] by
-
- 3 edits3 adds in branches/safari-613-branch
Cherry-pick r291493. rdar://problem/91446052
REGRESSION (r290628): Scrubber makes a visual trail when scrubbing on tv.youtube.com
https://bugs.webkit.org/show_bug.cgi?id=238047
<rdar://problem/90451319>
Reviewed by Alan Bujtas.
Source/WebCore:
In r290628 I added a call to clearRepaintRects() when changing the backing sharing
target layer for a RenderLayer. However, for a layer using backing sharing, this
gets called twice during a normal compositing update, which has the effect of
clearing the cached repaint rects so that a layer repaint always computes new rects.
Thus, if a layer moved, we'd fail to repaint the old rect.
RenderLayerBacking::setBackingSharingLayers() already has logic to update repaint
rects when state changes, so we don't need this clearing.
Test: compositing/repaint/move-backing-sharing-layer.html
- rendering/RenderLayer.cpp: (WebCore::RenderLayer::setBackingProviderLayer):
LayoutTests:
- compositing/repaint/move-backing-sharing-layer-expected.txt: Added.
- compositing/repaint/move-backing-sharing-layer.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291493 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:14 PM Changeset in webkit [292666] by
-
- 3 edits2 adds in branches/safari-613-branch
Cherry-pick r291118. rdar://problem/91446071
[iOS] Netflix.com fails to resume after moving app to background during playback
https://bugs.webkit.org/show_bug.cgi?id=237659
<rdar://88775037>
Reviewed by Eric Carlson.
Source/WebCore:
Test: media/media-source/media-source-interruption-with-resume-allowing-play.html
When the MediaPlayerPrivateMediaSourceAVFObjC player is asked to play or pause, it notifies
the client (HTMLMediaElement) that its playback state has changed. HTMLMediaElement will in response
call playInternal() or pauseInternal() to ensure that a state change driven by the MediaPlayer
is reflected up to the DOM. However, when an interruption causes the media element to suspend
and pause playback, this results in an additional call to pauseInternal(), which updates the
"state to resume" after an interruption ends to "Paused".
In mediaPlayerPlaybackStateChanged(), only call pauseInternal() or playInternal() if the reported
player state does not match the HTMLMediaElement's own state.
- html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::mediaPlayerPlaybackStateChanged):
LayoutTests:
- media/media-source/media-source-interruption-with-resume-allowing-play-expected.txt: Added.
- media/media-source/media-source-interruption-with-resume-allowing-play.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291118 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:14 PM Changeset in webkit [292665] by
-
- 7 edits in branches/safari-613-branch
Cherry-pick r288622. rdar://problem/91446028
[WebAuthn] Add authenticator attachment used during authentication to credential payload
https://bugs.webkit.org/show_bug.cgi?id=235621
rdar://86538235
Reviewed by Dean Jackson.
Source/WebCore:
This patch adds the authenticator attachment used to the credential response in get/create
webauthn calls as described in the merged PR to the spec: https://github.com/w3c/webauthn/pull/1668/files
Modified layout tests to check for authenticator attachment = (cross-platform/platform) where appropriate
and verified response in manual calls.
- Modules/webauthn/PublicKeyCredential.cpp: (WebCore::PublicKeyCredential::authenticatorAttachment const):
- Modules/webauthn/PublicKeyCredential.h:
- Modules/webauthn/PublicKeyCredential.idl:
LayoutTests:
Modify webauthn layout tests to check for new authenticatorAttachment field.
- http/wpt/webauthn/public-key-credential-get-success-local.https.html:
- http/wpt/webauthn/resources/util.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288622 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:14 PM Changeset in webkit [292664] by
-
- 8 edits5 adds in branches/safari-613-branch
Cherry-pick r292229. rdar://problem/90778752
CSP: WASM fails to execute after window.open
https://bugs.webkit.org/show_bug.cgi?id=238562
<rdar://problem/90778752>
Reviewed by Brent Fulgham.
Source/WebCore:
Test: http/tests/security/contentSecurityPolicy/allow-wasm-after-window-open.html
Reset WASM enabled value after a window.open() call. This patch simplifies
eval and wasm setters by removing the distinct enable/disable functions
and using one consistent setter.
- bindings/js/ScriptController.cpp: (WebCore::ScriptController::setEvalEnabled): (WebCore::ScriptController::setWebAssemblyEnabled): (WebCore::ScriptController::enableEval): Deleted. (WebCore::ScriptController::enableWebAssembly): Deleted. (WebCore::ScriptController::disableEval): Deleted. (WebCore::ScriptController::disableWebAssembly): Deleted.
- bindings/js/ScriptController.h:
- dom/Document.cpp: (WebCore::Document::disableEval): (WebCore::Document::disableWebAssembly):
- loader/FrameLoader.cpp: (WebCore::FrameLoader::clear):
- page/csp/ContentSecurityPolicy.h: (WebCore::ContentSecurityPolicy::webAssemblyErrorMessage const):
LayoutTests:
Layout test coverage. Copy some wasm helper scripts into the http directory.
- platform/win/TestExpectations: We don't support wasm on win.
- http/tests/security/contentSecurityPolicy/allow-wasm-after-window-open-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/allow-wasm-after-window-open.html: Added.
- http/tests/security/contentSecurityPolicy/resources/load_wasm.js: Added. (createWasmModule):
- http/tests/security/contentSecurityPolicy/resources/run-web-assembly.html: Added.
- http/tests/security/contentSecurityPolicy/resources/wasm-builder.js: Added. (const._fail): (const.isNotA.assert.isNotA): (const): (switch.typeof): (Builder): (Builder.prototype.setChecked): (Builder.prototype.setPreamble): (Builder.prototype._functionIndexSpaceKeyHash): (Builder.prototype._registerFunctionToIndexSpace): (Builder.prototype._getFunctionFromIndexSpace): (Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section): (Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.const.codeBuilder.End.switch.case.string_appeared_here.e): (Builder.prototype._registerSectionBuilders.this.Unknown):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292229 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:14 PM Changeset in webkit [292663] by
-
- 3 edits3 adds in branches/safari-613-branch
Cherry-pick r292155. rdar://problem/90572543
Interop issue with position: sticky within contain: paint
https://bugs.webkit.org/show_bug.cgi?id=238016
Patch by Rob Buis <rbuis@igalia.com> on 2022-03-31
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-position/sticky/position-sticky-overflow-clip-container-expected.html: Added.
- web-platform-tests/css/css-position/sticky/position-sticky-overflow-clip-container-ref.html: Added.
- web-platform-tests/css/css-position/sticky/position-sticky-overflow-clip-container.html: Added.
Source/WebCore:
Elements with overflow: clip (contain: paint enables it) are
not scroll containers, so they can't act as scrolling
ancestor for sticky elements.
Tests: imported/w3c/web-platform-tests/css/css-position/sticky/position-sticky-overflow-clip-container-ref.html
imported/w3c/web-platform-tests/css/css-position/sticky/position-sticky-overflow-clip-container.html
- rendering/RenderLayer.cpp: (WebCore::RenderLayer::enclosingOverflowClipLayer const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292155 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:14 PM Changeset in webkit [292662] by
-
- 2 edits in branches/safari-613-branch/Source/JavaScriptCore
Cherry-pick r292075. rdar://problem/88323776
Web Inspector: Add check for null
entryScopein JSC::Debugger::detach
https://bugs.webkit.org/show_bug.cgi?id=238518
Reviewed by Devin Rousso.
A virtual machine may not always have an
entryScope, which can occur if aJSGlobalObjectis being destructed
(which will call intoJSC::Debugger::Detach) before aVMEntryScopeis created or after aVMEntryScopehas
fallen out of scope, causing the VM'sentryScopeto be null again. In the original internal issue that led to
finding this, this most commonly occurred in conjunction with page refresh while the debugger was paused.
Because it is possible that we were previously paused in the VM that now has no
entryScope, we should go ahead
and unpause.
- debugger/Debugger.cpp: (JSC::Debugger::detach):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292075 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:14 PM Changeset in webkit [292661] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r292054. rdar://problem/80630664
WebCore::LegacyRootInlineBox::lineSnapAdjustment should bail out on grid line height < 1
https://bugs.webkit.org/show_bug.cgi?id=238465
<rdar://80630664>
Reviewed by Antti Koivisto.
The !gridLineHeight check was added to avoid division by zero but the integral roundToInt() may also produce a 0 value for
gridLineHeight.
- rendering/LegacyRootInlineBox.cpp: (WebCore::LegacyRootInlineBox::lineSnapAdjustment const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292054 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:14 PM Changeset in webkit [292660] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r292034. rdar://problem/90916916
Check page exists before trying to access authenticatorCoordinator
https://bugs.webkit.org/show_bug.cgi?id=238507
Reviewed by Brent Fulgham.
Check we have a valid page before trying to access the authenticatorCoordinator.
- Modules/webauthn/PublicKeyCredential.cpp: (WebCore::PublicKeyCredential::isUserVerifyingPlatformAuthenticatorAvailable):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292034 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:14 PM Changeset in webkit [292659] by
-
- 4 edits in branches/safari-613-branch
Cherry-pick r292029. rdar://problem/90977336
Use Canvas/CanvasText system colors for <dialog> default styling
https://bugs.webkit.org/show_bug.cgi?id=238425
Reviewed by Antti Koivisto.
Per HTML spec change: https://github.com/whatwg/html/commit/22154a4c1d426dddf187fb12c05fbcb8816c94a5
Main change is that the colors now adapt to dark mode by default.
LayoutTests/imported/w3c:
Updated test result to pass.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/default-color-expected.txt:
Source/WebCore:
Test: LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/default-color.html
- css/dialog.css: (dialog):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292029 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:14 PM Changeset in webkit [292658] by
-
- 4 edits40 moves4 adds in branches/safari-613-branch/LayoutTests
Cherry-pick r292028. rdar://problem/90977255
Re-import inert and <dialog> WPT
https://bugs.webkit.org/show_bug.cgi?id=238502
Reviewed by Antti Koivisto.
Upstream commit: https://github.com/web-platform-tests/wpt/commit/46e50fc357127c76c898675cd30ae34090a2268d
Main changes:
- Removes .tentative.html suffix from inert tests
- Adds default-color.html test for <dialog>
LayoutTests/imported/w3c:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/default-color-expected.txt: Added.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/default-color.html: Added.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-inert-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-inert.tentative-expected.txt.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-inert.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-inert.tentative.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-selection-expected.txt: Added.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-selection.html: Added.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/w3c-import.log:
- web-platform-tests/inert/dynamic-inert-on-focused-element-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/dynamic-inert-on-focused-element.tentative-expected.txt.
- web-platform-tests/inert/dynamic-inert-on-focused-element.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/dynamic-inert-on-focused-element.tentative.html.
- web-platform-tests/inert/inert-and-contenteditable-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-and-contenteditable.tentative-expected.txt.
- web-platform-tests/inert/inert-and-contenteditable.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-and-contenteditable.tentative.html.
- web-platform-tests/inert/inert-canvas-fallback-content-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-canvas-fallback-content.tentative-expected.txt.
- web-platform-tests/inert/inert-canvas-fallback-content.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-canvas-fallback-content.tentative.html.
- web-platform-tests/inert/inert-does-not-match-disabled-selector-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-does-not-match-disabled-selector.tentative-expected.txt.
- web-platform-tests/inert/inert-does-not-match-disabled-selector.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-does-not-match-disabled-selector.tentative.html.
- web-platform-tests/inert/inert-iframe-hittest-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-iframe-hittest.tentative-expected.txt.
- web-platform-tests/inert/inert-iframe-hittest.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-iframe-hittest.tentative.html.
- web-platform-tests/inert/inert-iframe-tabbing-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-iframe-tabbing.tentative-expected.txt.
- web-platform-tests/inert/inert-iframe-tabbing.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-iframe-tabbing.tentative.html.
- web-platform-tests/inert/inert-in-shadow-dom-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-in-shadow-dom.tentative-expected.txt.
- web-platform-tests/inert/inert-in-shadow-dom.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-in-shadow-dom.tentative.html.
- web-platform-tests/inert/inert-inlines-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-inlines.tentative-expected.txt.
- web-platform-tests/inert/inert-inlines.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-inlines.tentative.html.
- web-platform-tests/inert/inert-label-focus-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-label-focus.tentative-expected.txt.
- web-platform-tests/inert/inert-label-focus.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-label-focus.tentative.html.
- web-platform-tests/inert/inert-node-is-uneditable-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-node-is-uneditable.tentative-expected.txt.
- web-platform-tests/inert/inert-node-is-uneditable.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-node-is-uneditable.tentative.html.
- web-platform-tests/inert/inert-node-is-unfocusable-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-node-is-unfocusable.tentative-expected.txt.
- web-platform-tests/inert/inert-node-is-unfocusable.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-node-is-unfocusable.tentative.html.
- web-platform-tests/inert/inert-node-is-unselectable-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-node-is-unselectable.tentative-expected.txt.
- web-platform-tests/inert/inert-node-is-unselectable.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-node-is-unselectable.tentative.html.
- web-platform-tests/inert/inert-on-non-html-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-on-non-html.tentative-expected.txt.
- web-platform-tests/inert/inert-on-non-html.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-on-non-html.tentative.html.
- web-platform-tests/inert/inert-on-slots-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-on-slots.tentative-expected.txt.
- web-platform-tests/inert/inert-on-slots.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-on-slots.tentative.html.
- web-platform-tests/inert/inert-svg-hittest-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-svg-hittest.tentative-expected.txt.
- web-platform-tests/inert/inert-svg-hittest.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-svg-hittest.tentative.html.
- web-platform-tests/inert/inert-with-modal-dialog-001-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-with-modal-dialog-001.tentative-expected.txt.
- web-platform-tests/inert/inert-with-modal-dialog-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-with-modal-dialog-001.tentative.html.
- web-platform-tests/inert/inert-with-modal-dialog-002-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-with-modal-dialog-002.tentative-expected.txt.
- web-platform-tests/inert/inert-with-modal-dialog-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/inert/inert-with-modal-dialog-002.tentative.html.
- web-platform-tests/inert/w3c-import.log:
LayoutTests:
- platform/ios-wk2/imported/w3c/web-platform-tests/inert/inert-iframe-hittest-expected.txt: Renamed from LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/inert/inert-iframe-hittest.tentative-expected.txt.
- platform/ios-wk2/imported/w3c/web-platform-tests/inert/inert-iframe-tabbing-expected.txt: Renamed from LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/inert/inert-iframe-tabbing.tentative-expected.txt.
- platform/ios-wk2/imported/w3c/web-platform-tests/inert/inert-node-is-uneditable-expected.txt: Renamed from LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/inert/inert-node-is-uneditable.tentative-expected.txt.
- platform/ios-wk2/imported/w3c/web-platform-tests/inert/inert-svg-hittest-expected.txt: Renamed from LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/inert/inert-svg-hittest.tentative-expected.txt.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292028 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:13 PM Changeset in webkit [292657] by
-
- 3 edits in branches/safari-613-branch/Source/JavaScriptCore
Cherry-pick r292009. rdar://problem/90918765
The lazy symbolObjectStructure should be realized before we allocate a SymbolObject.
https://bugs.webkit.org/show_bug.cgi?id=238474
<rdar://problem/90918765>
Reviewed by Yusuke Suzuki and Saam Barati.
We should not be allocating the symbolObjectStructure while in the middle of
initializing a SymbolObject.
- runtime/Symbol.cpp: (JSC::Symbol::toObject const): (JSC::SymbolObject::create): Deleted.
- runtime/SymbolObject.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292009 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:13 PM Changeset in webkit [292656] by
-
- 15 edits1 copy3 adds in branches/safari-613-branch
Cherry-pick r291886. rdar://problem/72814440
PointerEvent.movementXalways 0 (breaks https://noisecraft.app/)
https://bugs.webkit.org/show_bug.cgi?id=220194
<rdar://problem/72814440>
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/pointerevents/pointerlock/pointerevent_movementxy_with_pointerlock-expected.txt: This change causes the test to progress further than before, but there still appear to be other issues elsewhere, so adjust the expected output to reflect that.
Source/WebCore:
Test: pointer-lock/pointermove-movement-delta.html
- dom/PointerEvent.cpp:
(WebCore::PointerEvent::PointerEvent):
Also pass along the movement delta in the constructor that takes a
MouseEvent.
- dom/MouseEvent.h:
- dom/MouseEvent.cpp: (WebCore::MouseEvent::create): (WebCore::MouseEvent::MouseEvent): Require that all constructors that aren't invoked from JS always provide a movement delta.
- dom/MouseRelatedEvent.h:
(WebCore::MouseRelatedEvent::movementX const):
(WebCore::MouseRelatedEvent::movementY const):
Expose these methods even when
!ENABLE(POINTER_LOCK)so that they can be called without the callsite having to also have a#if.
- page/EventHandler.cpp:
(WebCore::EventHandler::dispatchDragEvent):
Pass along the movement delta even when
!ENABLE(POINTER_LOCK).
Tools:
- DumpRenderTree/mac/EventSendingController.mm: (-[EventSendingController mouseMoveToX:Y:]):
- WebKitTestRunner/mac/EventSenderProxy.mm:
(WTR::EventSenderProxy::mouseMoveTo):
On macOS, the screen's origin is the bottom-left corner, so we need to flip the
deltaY.
LayoutTests:
- pointer-lock/pointermove-movement-delta.html: Added.
- pointer-lock/pointermove-movement-delta-expected.txt: Added.
- pointer-lock/mouse-event-delivery-expected.txt: Added.
On macOS, the screen's origin is the bottom-left corner, so we need to flip the
deltaY.
- platform/gtk/imported/w3c/web-platform-tests/pointerevents/pointerlock/pointerevent_movementxy_with_pointerlock-expected.txt: Added. This change causes the test to progress further than before, but there still appear to be other issues elsewhere, so adjust the expected output to reflect that.
- platform/mac-wk1/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291886 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:13 PM Changeset in webkit [292655] by
-
- 2 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r291881. rdar://problem/90848454
[GPU Process] RemoteRenderingBackend::stopListeningForIPC() should not change the RemoteResourceCache on the main thread
https://bugs.webkit.org/show_bug.cgi?id=238298
rdar://90731372
Reviewed by Simon Fraser.
To release the RemoteResourceCache and the rendering resource request on
the WorkQueue thread, RemoteRenderingBackend::stopListeningForIPC() dispatches
an empty lambda to its WorkQueue but m_renderingResourcesRequest and
m_remoteResourceCache are captured by-move to initializers to this lambda.
But this means m_remoteResourceCache is changed on the main thread while
the WorkQueue thread may be accessing it to get a cached remote resource.
The EWS crashes showed that, RemoteRenderingBackend::stopListeningForIPC()
on the main thread is waiting its WorkQueue to stop and complete all its
work including the dispatched empty lambda. And the WorkQueue thread is
getting wrong resource counters from the RemoteResourceCache. This would
happen if the HashMaps of RemoteResourceCache were emptied on the main
thread while the counters had outdated values.
To fix this thread safety issue, the RemoteResourceCache should not ever
be changed on the main thread. Since capturing by-move is kind of change,
we will capture m_renderingResourcesRequest and m_remoteResourceCache by
reference and we let the dispatched lambda explicitly releases them on
the WorkQueue thread.
- GPUProcess/graphics/RemoteRenderingBackend.cpp: (WebKit::RemoteRenderingBackend::stopListeningForIPC):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291881 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:13 PM Changeset in webkit [292654] by
-
- 6 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r291821. rdar://problem/89145552
REGRESSION(r286590): Links with URL schemes are not clickable in Mail
https://bugs.webkit.org/show_bug.cgi?id=238262
<rdar://89145552>
Reviewed by Geoffrey Garen.
This feature requires access to the Launch Services daemon in Mail and other apps on iOS.
This patch is a partial revert of r286590.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- Shared/WebProcessCreationParameters.cpp: (WebKit::WebProcessCreationParameters::encode const): (WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::nonBrowserServices): (WebKit::WebProcessPool::platformInitializeWebProcess):
- WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::platformInitializeWebProcess):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291821 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:13 PM Changeset in webkit [292653] by
-
- 3 edits2 adds in branches/safari-613-branch
Cherry-pick r291816. rdar://problem/90599352
REGRESSION (Safari 15.4): Nonce from link isn't used when loading style sheet
https://bugs.webkit.org/show_bug.cgi?id=238014
<rdar://problem/90599352>
Reviewed by Brent Fulgham.
Source/WebCore:
In https://bugs.webkit.org/show_bug.cgi?id=179728 we implemented
nonce hiding from the DOM. It seems we missed once location
where we need to reference the element.nonce() instead of the
nonce attribute.
- html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::process):
LayoutTests:
- http/tests/security/contentSecurityPolicy/stylesheet-allowed-with-nonce-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/stylesheet-allowed-with-nonce.py: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291816 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:13 PM Changeset in webkit [292652] by
-
- 5 edits4 adds in branches/safari-613-branch
Cherry-pick r291813. rdar://problem/88761053
Safari can't play video completely at bilibili.com
https://bugs.webkit.org/show_bug.cgi?id=236440
rdar://88761053
Reviewed by Jer Noble.
Source/WebCore:
Video frames were incorrectly evicted during a call to appendBuffer
as the Source Buffer incorrectly assumed a discontinuity was present.
When appending data to a source buffer, the MSE specs describe a method
to detect discontinuities in the Coded Frame Processing algorithm
(https://www.w3.org/TR/media-source/#sourcebuffer-coded-frame-processing)
step 6:
"
- If last decode timestamp for track buffer is set and decode timestamp is less than last decode timestamp: OR
- If last decode timestamp for track buffer is set and the difference between decode timestamp and last decode timestamp is greater than 2 times last frame duration. " The issue being what defines the last frame duration. Is it the frame last seen in the coded frame processing loop or the frame whose presentation timestamp is just before the one we are currently processing.
H264 and HEVC have a concept of b-frames: that is a frame that depends
on a future frame to be decoded.
Those frames are found in the container and can be identified by their
presentation timestamp higher than the frame following in decode order.
Those present a challenge as the frame prior the current one in
presentation order, may actually only be found several frames back in
decode order.
Bug 181891 attempted to fix a similar issue, and used the longest
"decode duration" as a workaround to detect discontinuity in the content.
It mentioned adopting the same technique as in Mozilla's MSE
implementation, but Mozilla also skip discontinuity detection within a
media segment (https://www.w3.org/TR/media-source/#media-segment which for
fMP4 is a single moof box) an approach that can't be achieved with
CoreMedia's AVStreamDataParser.
As mentioned in bug 181891, CoreMedia ignore the decode timestamps' delta
and juggles with the sample's duration so that there's no discontinuity
in the demuxed samples' presentation time, causing false positive in the
gap detection algorithm.
Bilibili uses HEVC content, and uses an encoding that generate lots
of b-frames, with a very wide sliding window (seen up to 12 frames).
By using the longest frame duration found in either presentation or
decode duration as threshold to identify a discontinuity, we can
properly parse the content and not incorrectly evict appended frames.
(As a side note, the use of HEVC with B-Frames is peculiar as not all
hardware support it.)
It is difficult to identify here if the issue is within the bilibili's
content or CoreMedia's output, though the responsibility more than
likely lies with bilibili.
Test: media/media-source/media-mp4-hevc-bframes.html
- platform/graphics/SourceBufferPrivate.cpp: (WebCore::SourceBufferPrivate::TrackBuffer::TrackBuffer): (WebCore::SourceBufferPrivate::resetTrackBuffers): (WebCore::SourceBufferPrivate::didReceiveSample):
- platform/graphics/SourceBufferPrivate.h:
LayoutTests:
- media/media-source/content/test-bframes-hevc-manifest.json: Added.
- media/media-source/content/test-bframes-hevc.mp4: Added.
- media/media-source/media-mp4-hevc-bframes-expected.txt: Added.
- media/media-source/media-mp4-hevc-bframes.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291813 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:13 PM Changeset in webkit [292651] by
-
- 4 edits in branches/safari-613-branch
Cherry-pick r291791. rdar://problem/90694727
REGRESSION (r287807): WEBGL_multi_draw validation rejecting valid arguments
https://bugs.webkit.org/show_bug.cgi?id=238239
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-03-24
Reviewed by Darin Adler.
Source/WebCore:
Fix off-by-one error causing full buffer multidraws to be
marked as invalid.
Enable the newer WebGL conformance tests that test this.
- html/canvas/WebGLMultiDraw.cpp: (WebCore::WebGLMultiDraw::validateOffset):
LayoutTests:
Enable the newer WebGL conformance tests that test this, marked
Slow as they take a while to run.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291791 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:13 PM Changeset in webkit [292650] by
-
- 6 edits5 adds in branches/safari-613-branch
Cherry-pick r291741. rdar://problem/88979099
Computation of Document siteForCookies is buggy in case document is created by window.open
https://bugs.webkit.org/show_bug.cgi?id=238202
<rdar://88979099>
Reviewed by John Wilander.
Source/WebCore:
For top level navigations, we need to use the security origin to compute siteForCookies as the document
may have the opener security origin.
Add a Document routine to handle this case.
Tests: http/tests/cookies/same-site/popup-from-iframe-same-site-with-post-form.html
http/tests/cookies/same-site/popup-same-site-with-post-form.html
- dom/Document.cpp:
- dom/Document.h:
- loader/FrameLoader.cpp:
LayoutTests:
- http/tests/cookies/resources/testharness-helpers.js:
- http/tests/cookies/same-site/popup-from-iframe-same-site-with-post-form-expected.txt: Added.
- http/tests/cookies/same-site/popup-from-iframe-same-site-with-post-form.html: Added.
- http/tests/cookies/same-site/popup-same-site-with-post-form-expected.txt: Added.
- http/tests/cookies/same-site/popup-same-site-with-post-form.html: Added.
- http/tests/cookies/same-site/resources/popup-iframe.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291741 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:13 PM Changeset in webkit [292649] by
-
- 2 edits in branches/safari-613-branch/Source/JavaScriptCore
Cherry-pick r291602. rdar://problem/89822922
Fix bug in Relationship::mergeImpl
https://bugs.webkit.org/show_bug.cgi?id=238183
<rdar://89822922>
Reviewed by Yusuke Suzuki.
- dfg/DFGIntegerRangeOptimizationPhase.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291602 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:13 PM Changeset in webkit [292648] by
-
- 2 edits in branches/safari-613-branch/Source/JavaScriptCore
Cherry-pick r291601. rdar://problem/87345895
AirFixObviousSpills needs to consider a PreIndex and PostIndex as clobbering the Reg used for indexing
https://bugs.webkit.org/show_bug.cgi?id=238178
<rdar://87345895>
Reviewed by Mark Lam.
Inside AirFixObviousSpills, we run a basic alias analysis for StackSlots and
registers. For example, when we overwrite a register, we clear anything
it's aliased with. However, the way we were doing this was by looking at
each Arg that was Defd. However, this iteration was missing that
PostIndex/PreIndex mutate the register that feeds into the address Arg.
This patch fixes the issue by walking the instruction in such a way that
we visit all the Defs we care about, both Regs and StackSlots.
- b3/air/AirFixObviousSpills.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291601 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:13 PM Changeset in webkit [292647] by
-
- 3 edits2 adds in branches/safari-613-branch
Cherry-pick r291526. rdar://problem/90385586
REGRESSION (r285529): Flash of missing text when content on https://ahumanfuture.co animates
https://bugs.webkit.org/show_bug.cgi?id=237972
rdar://90385586
Reviewed by Simon Fraser.
Source/WebCore:
Accelerated animations are added to a CALayer in two different ways.
Transform-related animations are added in a CAAnimationGroup so that we can have control of the
way they interact with each other. We added this system when we added support for individual CSS
transform properties on top of the existing "transform" property. All CAAnimationGroup animations
are timed to start at 1s and thus we subtract that same 1s value from all animations contained
within such groups.
All other animations, such as "opacity" animations, are added as simple leaf animations and their
begin time is not subject to that 1s subtraction.
In r285529, when we introduced leaf animations for transform properties other than transform-related
properties, we took an unfortunate approach to deal with that 1s subtraction. We would *always* subtract
1s for all animations, and for leaf animation add that 1s back when we added them in the
addLeafAnimation() lambda.
However, we *did not* check whether that animation was newly started or if we were merely adding it
again. This meant that every time GraphicsLayerCA::updateAnimations() was called, any leaf animation
would have 1s added to their begin time.
So, if for instance a page ran on a given element a "scale" animation for 1s and an "opacity" animation
for 2s, when the "scale" animation would complete, GraphicsLayerCA::updateAnimations() would be called
to remove that animation, and add 1s to the "opacity" animation begin time.
We now set the begin time, if not already set, in two places: in the addLeafAnimation() lambda for
leaf animations, and in the addAnimationsForProperty() lambda for animations added to groups. We
only ever set the begin time if not already set during a previous update and only subtract the
parent group begin time for animations contained within a group.
Additionally, this means we set the begin times when we iterate over remaining animations after culling
finished animations. As such, we no longer need to iterate over *all* known animations to set their
begin time if needed prior to adding them.
Test: webanimations/accelerated-animation-opacity-animation-begin-time-after-scale-animation-ends.html
- platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::updateAnimations):
LayoutTests:
Add a new test which would fail prior to the source change. In this test we start two animations: a "scale"
animation which lasts for 100ms, and an "opacity" animation which lasts much longer but only visually updates
for the duration of the "scale" animation. When the "scale" animation completes, we stop the test and ensure
that the reference test shows that the "opacity" animation is at the state it should be in at at that time,
and was not rewound due to the bug being fixed.
- webanimations/accelerated-animation-opacity-animation-begin-time-after-scale-animation-ends-expected.html: Added.
- webanimations/accelerated-animation-opacity-animation-begin-time-after-scale-animation-ends.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291526 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:13 PM Changeset in webkit [292646] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r291446. rdar://problem/90434296
Microsoft Teams fails to launch from Safari
https://bugs.webkit.org/show_bug.cgi?id=238045
<rdar://90434296>
Reviewed by Geoffrey Garen.
Extend MS Teams quirk to teams.microsoft.com, not just teams.live.com.
- page/Quirks.cpp: (WebCore::Quirks::shouldAllowNavigationToCustomProtocolWithoutUserGesture):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291446 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:13 PM Changeset in webkit [292645] by
-
- 9 edits in branches/safari-613-branch
Cherry-pick r291420. rdar://problem/90335275
REGRESSION (iOS 15.4 / r287669): Mobile app stopped working due to CSS / angular animation
https://bugs.webkit.org/show_bug.cgi?id=237920
LayoutTests/imported/w3c:
<rdar://problem/90335275>
Reviewed by Antti Koivisto.
Add a test that looks at the default computed style for the "transition" and "animation"
shorthands.
- web-platform-tests/css/css-animations/parsing/animation-computed-expected.txt:
- web-platform-tests/css/css-animations/parsing/animation-computed.html:
- web-platform-tests/css/css-pseudo/first-letter-allowed-properties-expected.txt:
- web-platform-tests/css/css-pseudo/first-line-allowed-properties-expected.txt:
- web-platform-tests/css/css-transitions/parsing/transition-computed-expected.txt:
- web-platform-tests/css/css-transitions/parsing/transition-computed.html:
Source/WebCore:
Reviewed by Antti Koivisto.
We refactored the computed style output for the "transition" and "animation" shorthand
properties in r287669 and always returned a CSSValueList, even when the list of transitions
or animations was empty. This meant that for an element without any transition or animation
properties, we'd return the empty string for those properties.
Now we return the computed style for a default animation instead.
- css/CSSComputedStyleDeclaration.cpp: (WebCore::animationShorthandValue):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291420 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:13 PM Changeset in webkit [292644] by
-
- 4 edits6 adds in branches/safari-613-branch
Cherry-pick r290628. rdar://problem/85814854
Compositing/paint invalidation with transforms
https://bugs.webkit.org/show_bug.cgi?id=233421
<rdar://problem/85814854>
Reviewed by Alan Bujtas.
Source/WebCore:
When changing transform from something like
translate(0)to `translate3d(0, 0, 0)
scale(0.5, 0.5)`, we trigger compositing, and thus need to repaint the previous rect of the
layer in its old repaint container. However, the existing code would take the new transform
into account when computing that rect, thus dirtying a rect that is too small.
To fix this, we need to use the cached repaint rects on RenderLayer for this repaint.
However, doing so revealed a bug (via
compositing/shared-backing/repaint-into-shared-backing.html) in how we compute repaint
cached repaint rects in the presence of shared backing. During a compositing update, if a
layer's composited state changed, we'd call computeRepaintRectsIncludingDescendants(), which
computes rect relative to the layer's repaint container. But at this time, the state of
backing sharing in BackingSharingState is in flux (we essentially don't know yet if a layer
can use shared backing). So we may compute and cache repaint rects relative to the wrong
container.
To fix this, leverage the existing m_layersPendingRepaint logic, and delay computing the
repaint rects until we've established our final backing sharing configuration.
Tests: compositing/repaint/composite-and-scale-change.html
compositing/shared-backing/repaint-into-shared-backing-become-composited.html
- rendering/RenderLayer.cpp: (WebCore::RenderLayer::setBackingProviderLayer): (WebCore::RenderLayer::calculateClipRects const):
- rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::BackingSharingState::issuePendingRepaints): (WebCore::RenderLayerCompositor::updateBacking):
LayoutTests:
- compositing/repaint/composite-and-scale-change-expected.txt: Added.
- compositing/repaint/composite-and-scale-change.html: Added.
Test that dumps repaint rects.
- compositing/shared-backing/repaint-into-shared-backing-become-composited-expected.html: Added.
- compositing/shared-backing/repaint-into-shared-backing-become-composited.html: Added.
Companion to repaint-into-shared-backing.html but toggles compositing in the other
direction.
- platform/gtk/compositing/repaint/composite-and-scale-change-actual.txt: Added.
- platform/mac-wk1/compositing/repaint/composite-and-scale-change-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290628 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:04 PM Changeset in webkit [292643] by
-
- 1 copy in tags/WebKit-7614.1.9.1
Tag WebKit-7614.1.9.1.
- 4:41 PM Changeset in webkit [292642] by
-
- 3 edits in trunk/Source/WTF
Unreviewed, reverting r292586.
Caused 50+ test failures on Mac wk1
Reverted changeset:
"Move long-enabled preferences away from experimental"
https://bugs.webkit.org/show_bug.cgi?id=238929
https://commits.webkit.org/r292586
- 4:00 PM Changeset in webkit [292641] by
-
- 13 edits in trunk/Source
Drop unused pluginReplacementScriptObject
https://bugs.webkit.org/show_bug.cgi?id=239008
Reviewed by Geoff Garen.
Drop unused pluginReplacementScriptObject as it is always null.
Source/WebCore:
- Modules/plugins/PluginReplacement.h:
(): Deleted.
- Modules/plugins/YouTubePluginReplacement.cpp:
(WebCore::YouTubePluginReplacement::installReplacement):
- Modules/plugins/YouTubePluginReplacement.h:
- bindings/js/JSPluginElementFunctions.cpp:
(WebCore::pluginScriptObject):
(WebCore::pluginElementCustomGetCallData):
(WebCore::pluginScriptObjectFromPluginViewBase): Deleted.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
- bindings/scripts/test/JS/JSTestPluginInterface.cpp:
(WebCore::JSTestPluginInterface::visitChildrenImpl):
- html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::didAddUserAgentShadowRoot):
(WebCore::HTMLPlugInElement::scriptObjectForPluginReplacement): Deleted.
- html/HTMLPlugInElement.h:
(WebCore::HTMLPlugInElement::pluginReplacementScriptObject): Deleted.
- plugins/PluginViewBase.h:
(WebCore::PluginViewBase::scriptObject): Deleted.
Source/WebKit:
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::scriptObject): Deleted.
- WebProcess/Plugins/PluginView.h:
- 3:56 PM Changeset in webkit [292640] by
-
- 35 edits in trunk
[Xcode] Avoid targeting 32-bit iOS and Mac architectures
https://bugs.webkit.org/show_bug.cgi?id=238971
Reviewed by Alexey Proskuryakov.
PerformanceTests:
- DecoderTest/Configurations/DebugRelease.xcconfig:
- MediaTime/Configurations/DebugRelease.xcconfig:
Source/bmalloc:
- Configurations/DebugRelease.xcconfig:
Source/JavaScriptCore:
Modern Xcode supports building armv7 iOS and i386 macOS, but only when targeting older OSes.
We do not support these targets, but our ARCHS override implies we do. Remove our setting
and use the default.
This improves support for building directly from WebKit.xcworkspace to a
generic/*
destination.
- Configurations/DebugRelease.xcconfig:
Source/ThirdParty:
- gtest/xcode/Config/General.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:
Source/WebKitLegacy/mac:
- Configurations/DebugRelease.xcconfig:
Source/WTF:
- Configurations/DebugRelease.xcconfig:
Tools:
- DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
- ImageDiff/cg/Configurations/DebugRelease.xcconfig:
- MiniBrowser/Configurations/DebugRelease.xcconfig:
- MobileMiniBrowser/Configurations/DebugRelease.xcconfig:
- TestWebKitAPI/Configurations/DebugRelease.xcconfig:
- WebEditingTester/Configurations/DebugRelease.xcconfig:
- WebKitTestRunner/Configurations/DebugRelease.xcconfig:
- 3:47 PM Changeset in webkit [292639] by
-
- 7 edits in trunk/Source/WebCore
[css-cascade] Sort deferred properties at the end of CSSPropertyID enum
https://bugs.webkit.org/show_bug.cgi?id=238345
Reviewed by Darin Adler.
Bug 238260 will optimize the logic for cascading deferred properties.
This sorts them at the end, after low priority ones, which will allow
some further optimizations.
This is in preparation of bug 238260, which plans to turn all logical
and physical properties into deferred.
No new tests since there should be no change in behavior.
- css/makeprop.pl:
(sortByDescendingPriorityAndName):
Sort deferred properties at the end of CSSPropertyID enum.
Add firstHighPriorityProperty, firstLowPriorityProperty,
lastLowPriorityProperty, firstDeferredProperty and lastDeferredProperty.
- style/PropertyCascade.cpp:
(WebCore::Style::PropertyCascade::set):
(WebCore::Style::PropertyCascade::setDeferred):
(WebCore::Style::PropertyCascade::addMatch):
(WebCore::Style::shouldApplyPropertyInParseOrder): Deleted.
Delete shouldApplyPropertyInParseOrder(), since instead we can just
compare the CSSPropertyId and firstDeferredProperty with < or >=.
- style/PropertyCascade.h:
(WebCore::Style::PropertyCascade::hasNormalProperty const):
(WebCore::Style::PropertyCascade::normalProperty const):
(WebCore::Style::PropertyCascade::hasDeferredProperty const):
(WebCore::Style::PropertyCascade::hasProperty const): Deleted.
(WebCore::Style::PropertyCascade::property const): Deleted.
Rename hasProperty() and property() to hasNormalProperty() and
normalProperty(), to make it clear they are not for deferred properties.
Reduce the size of m_properties array and m_propertyIsPresent bitset,
since they don't need to include deferred properties.
- style/StyleBuilder.cpp:
(WebCore::Style::Builder::applyAllProperties):
(WebCore::Style::Builder::applyHighPriorityProperties):
(WebCore::Style::Builder::applyNonHighPriorityProperties):
(WebCore::Style::Builder::applyPropertiesImpl):
(WebCore::Style::Builder::applyProperty):
(WebCore::Style::Builder::applyLowPriorityProperties): Deleted.
Rename applyLowPriorityProperties() to applyNonHighPriorityProperties()
to make it clear that it includes custom and deferred properties.
Use the new firstHighPriorityProperty and lastLowPriorityProperty
constants for clarity and to skip deferred properties.
Rename hasProperty() and property() to hasNormalProperty() and
normalProperty(), to make it clear they are not for deferred properties.
- style/StyleBuilder.h:
Rename applyLowPriorityProperties() to applyNonHighPriorityProperties()
to make it clear that it includes custom and deferred properties.
- style/StyleResolver.cpp:
(WebCore::Style::Resolver::applyMatchedProperties):
Rename applyLowPriorityProperties() to applyNonHighPriorityProperties()
to make it clear that it includes custom and deferred properties.
- 3:07 PM Changeset in webkit [292638] by
-
- 2 edits in trunk/Source/WebCore
Simplify / Optimize the whitespace cache implementation
https://bugs.webkit.org/show_bug.cgi?id=238736
<rdar://problem/91255370>
Reviewed by Darin Adler.
Follow-up to r292310 to add missing blank lines.
- html/parser/HTMLConstructionSite.h:
- 3:00 PM Changeset in webkit [292637] by
-
- 11 edits in trunk/Source/WebGPU
[WebGPU] Implement destroy() methods
https://bugs.webkit.org/show_bug.cgi?id=238723
Reviewed by Dean Jackson.
The destroy() methods cause objects to become invalid. This is important because
the test suite creates and destroys lots of objects, and we want to make sure we
free up resources before GC runs.
This patch also makes Device own a Ref<Adapter> instead of Ref<Instance> because
part of the implementation of Device::destroy() involves interacting with its
adapter.
- WebGPU/Adapter.h:
(WebGPU::Adapter::makeInvalid):
(WebGPU::Adapter::instance const):
- WebGPU/Adapter.mm:
(WebGPU::Adapter::requestDevice):
- WebGPU/Buffer.h:
- WebGPU/Device.h:
(WebGPU::Device::createInvalid):
(WebGPU::Device::instance const):
(WebGPU::Device::makeInvalid):
- WebGPU/Device.mm:
(WebGPU::Device::create):
(WebGPU::Device::Device):
(WebGPU::Device::loseTheDevice):
(WebGPU::Device::destroy):
(WebGPU::Device::generateAValidationError):
(WebGPU::Device::popErrorScope):
- WebGPU/QuerySet.h:
- WebGPU/QuerySet.mm:
(WebGPU::QuerySet::destroy):
- WebGPU/Queue.h:
(WebGPU::Queue::makeInvalid):
- WebGPU/Texture.h:
- WebGPU/Texture.mm:
(WebGPU::Texture::destroy):
- 2:40 PM BuildingCairoOnWindows edited by
- (diff)
- 2:39 PM Changeset in webkit [292636] by
-
- 6 edits in trunk/Source/WebCore
[css-cascade] Merge getRelatedPropertyId() and shouldApplyPropertyInParseOrder()
https://bugs.webkit.org/show_bug.cgi?id=238350
Reviewed by Darin Adler.
Both getRelatedPropertyId() and shouldApplyPropertyInParseOrder() pursue
the same thing: if there are two properties (typically a standard one
and a -webkit- prefixed one) which share the same field in RenderStyle,
then we should take specified order into account when applying them.
The problem is that the logic for getRelatedPropertyId() doesn't work
well in all cases. It was only used for -webkit-text-orientation and
text-orientation, but bug 238356 implemented the former as a shorthand.
So now there is no consumer of getRelatedPropertyId().
On the other hand, shouldApplyPropertyInParseOrder() works better, but
it will need to be automatically generated for bug 238345, and bug
238125 will need to know which property shares a computed value with a
given one.
So this patch removes the consumers of the old getRelatedPropertyId(),
and changes shouldApplyPropertyInParseOrder() to be based on it.
No new tests since there is no change in behavior.
- css/CSSProperties.json:
Mark properties for which shouldApplyPropertyInParseOrder() returned
true with the "related-property" flag.
- css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::getPropertyValueInternal):
Remove old getRelatedPropertyId() logic which was unused.
- css/makeprop.pl:
Throw errors if "related-property" flag is invalid.
- css/parser/CSSParserImpl.cpp:
(WebCore::filterProperties):
Remove old getRelatedPropertyId() logic which was unused.
- style/PropertyCascade.cpp:
(WebCore::Style::shouldApplyPropertyInParseOrder):
Base shouldApplyPropertyInParseOrder() on getRelatedPropertyId().
- 2:35 PM Changeset in webkit [292635] by
-
- 7 edits in trunk
[CSS Container Queries] Search query containers for ::slotted and and ::part rules in their scope
https://bugs.webkit.org/show_bug.cgi?id=238997
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/container-for-shadow-dom-expected.txt:
Source/WebCore:
"For selectors with pseudo elements, query containers can be established by the shadow-including inclusive ancestors of
the ultimate originating element."
https://drafts.csswg.org/css-contain-3/#container-queries
- style/ContainerQueryEvaluator.cpp:
(WebCore::Style::ContainerQueryEvaluator::ContainerQueryEvaluator):
(WebCore::Style::ContainerQueryEvaluator::selectContainer const):
(WebCore::Style::ContainerQueryEvaluator::selectContainer):
For rules coming from a non-local scope, search query container starting from the originating element in that scope.
- style/ContainerQueryEvaluator.h:
- style/ElementRuleCollector.cpp:
(WebCore::Style::ElementRuleCollector::collectMatchingRulesForList):
(WebCore::Style::ElementRuleCollector::containerQueriesMatch):
Pass rule's style scope ordinal so we can find the right scope.
- style/ElementRuleCollector.h:
- 2:33 PM BuildingCairoOnWindows edited by
- (diff)
- 2:25 PM BuildingCairoOnWindows edited by
- (diff)
- 1:36 PM Changeset in webkit [292634] by
-
- 6 edits in trunk/Tools
[Merge-Queue] Create seperate queue for unsafe version
https://bugs.webkit.org/show_bug.cgi?id=239005
<rdar://problem/91484664>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/config.json: Add Unsafe-Merge-Queue.
- Tools/CISupport/ews-build/events.py:
(GitHubEventHandlerNoEdits):
(GitHubEventHandlerNoEdits.handle_pull_request): merge-queue and unsafe-merge-queue
should trigger different queues.
- Tools/CISupport/ews-build/factories.py:
(CommitQueueFactory.init):
(MergeQueueFactoryBase): Moved from MergeQueueFactory.
(MergeQueueFactory): Depend on MergeQueueFactoryBase.
(UnsafeMergeQueueFactory): Added.
(UnsafeMergeQueueFactory.init):
- Tools/CISupport/ews-build/factories_unittest.py:
(TestExpectedBuildSteps):
- Tools/CISupport/ews-build/loadConfig.py: Import UnsafeMergeQueueFactory.
Canonical link: https://commits.webkit.org/249454@main
- 1:32 PM Changeset in webkit [292633] by
-
- 4 edits in trunk/Source
Move WebGPU to WebCore/features.json and add <model> element
https://bugs.webkit.org/show_bug.cgi?id=238981
Reviewed by Myles C. Maxfield
Source/JavaScriptCore:
Move WebGPU stuff to the WebCore features.json file.
- features.json:
Source/WebCore:
This patch makes the following corrections:
- Moves the WebGPU Specification definition from JavaScriptCore/features.json to WebCore/features.json
- Removes the extraneous WebGPU "feature" from both files.
- Adds the HTML <model> element.
- features.json:
- 1:29 PM Changeset in webkit [292632] by
-
- 6 edits in trunk/Source/WebKit
Unreviewed, reverting r292429.
https://bugs.webkit.org/show_bug.cgi?id=239011
Introduced Data Detectors regression in Mail
Reverted changeset:
"Unreviewed, reverting r291821."
https://bugs.webkit.org/show_bug.cgi?id=238839
https://commits.webkit.org/r292429
- 1:27 PM Changeset in webkit [292631] by
-
- 9 edits3 deletes in trunk/Source/WebKit
Remove unneeded CoreIPC messages and corresponding handlers related to StorageManagerSet
https://bugs.webkit.org/show_bug.cgi?id=238938
Patch by Gavin Phillips <gavin.p@apple.com> on 2022-04-08
Reviewed by Chris Dumez.
There are various CoreIPC messages related to StorageManagerSet which are no longer needed. This
change removes them.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- NetworkProcess/NetworkProcess.cpp:
- NetworkProcess/WebStorage/StorageManagerSet.cpp: Removed.
- NetworkProcess/WebStorage/StorageManagerSet.h: Removed.
- NetworkProcess/WebStorage/StorageManagerSet.messages.in: Removed.
- Sources.txt:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebStorage/StorageAreaMap.cpp:
- 1:11 PM Changeset in webkit [292630] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer][WebRTC] Fix data-channel handler build for GStreamer 1.21
https://bugs.webkit.org/show_bug.cgi?id=238989
Patch by Philippe Normand <pnormand@igalia.com> on 2022-04-08
Reviewed by Xabier Rodriguez-Calvar.
The GST_WEBRTC_DATA_CHANNEL_STATE_NEW enum value was removed from public API in
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2099.
- Modules/mediastream/gstreamer/GStreamerDataChannelHandler.cpp:
(WebCore::GStreamerDataChannelHandler::checkState):
- 12:56 PM Changeset in webkit [292629] by
-
- 4 edits in trunk/Source
[iOS 15.4] Fix embedded device build
https://bugs.webkit.org/show_bug.cgi?id=239012
<rdar://problem/91495761>
Reviewed by Ryan Haddad.
- Source/ThirdParty/ANGLE/Configurations/Base.xcconfig: Allow AdHoc codesigning.
- Source/WebKit/Configurations/Base.xcconfig: Ditto.
Canonical link: https://commits.webkit.org/249449@main
- 12:54 PM Changeset in webkit [292628] by
-
- 2 edits in trunk/Source/WebKit
[WPE][2.36] Build with a11y disabled fails
https://bugs.webkit.org/show_bug.cgi?id=239004
Patch by Philippe Normand <pnormand@igalia.com> on 2022-04-08
Reviewed by Michael Catanzaro.
Add accessibility build guards.
- UIProcess/Launcher/glib/XDGDBusProxy.cpp:
(WebKit::XDGDBusProxy::XDGDBusProxy):
(WebKit::XDGDBusProxy::launch const):
- 11:41 AM Changeset in webkit [292627] by
-
- 12 edits in trunk/Source
static_pointer_cast<>() may cause some unnecessary ref-counting churn
https://bugs.webkit.org/show_bug.cgi?id=238961
Reviewed by Darin Adler.
Source/WebCore:
- dom/TreeScope.cpp:
(WebCore::TreeScope::elementFromPoint):
- editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
- editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::textNodeForRebalance const):
- editing/DeleteSelectionCommand.cpp:
(WebCore::firstInSpecialElement):
(WebCore::lastInSpecialElement):
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::getFramebufferAttachmentParameter):
- html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
- page/ImageOverlayController.cpp:
(WebCore::ImageOverlayController::selectionQuadsDidChange):
- page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::pageDestroyed):
- page/scrolling/nicosia/ScrollingCoordinatorNicosia.cpp:
(WebCore::ScrollingCoordinatorNicosia::pageDestroyed):
Source/WTF:
- wtf/RefPtr.h:
(WTF::adoptRef):
(WTF::static_pointer_cast):
- 11:29 AM Changeset in webkit [292626] by
-
- 35 edits in trunk
Unreviewed, reverting r292591.
Causing spurious EWS errors
Reverted changeset:
"[XCBuild] Enable dependency validation by default"
https://bugs.webkit.org/show_bug.cgi?id=238901
https://commits.webkit.org/r292591
- 11:19 AM Changeset in webkit [292625] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, reverting r292521.
This broke the test further.
Reverted changeset:
"[ Mac ] accessibility/mac/expanded-notification.html is a
flaky text failure"
https://bugs.webkit.org/show_bug.cgi?id=238830
https://commits.webkit.org/r292521
- 10:58 AM Changeset in webkit [292624] by
-
- 14 edits in trunk/Source/WebKit
Remove misc unused CoreIPC messages/handlers that have no instances of messages being dispatched to them
https://bugs.webkit.org/show_bug.cgi?id=238996
Patch by Gavin Phillips <gavin.p@apple.com> on 2022-04-08
Reviewed by Chris Dumez.
Remove misc unused CoreIPC messages/handlers that have no instances of messages being dispatched to them. This includes:
WebPage::FrameBecameRemote, WebInspectorUIProxy::BringInspectedPageToFront, WebProcess::refreshPlugins, NetworkProcess::SetQOS
WebPage::GetPositionInformation, WebPage::InvalidateMediaSessionCoordinator, RemoteCDMInstanceSessionProxy::DisplayIDChanged.
- GPUProcess/media/RemoteCDMInstanceSessionProxy.cpp:
(WebKit::RemoteCDMInstanceSessionProxy::displayIDChanged): Deleted.
- GPUProcess/media/RemoteCDMInstanceSessionProxy.h:
- GPUProcess/media/RemoteCDMInstanceSessionProxy.messages.in:
- NetworkProcess/NetworkProcess.messages.in:
- UIProcess/Inspector/WebInspectorUIProxy.cpp:
(WebKit::WebInspectorUIProxy::bringInspectedPageToFront): Deleted.
- UIProcess/Inspector/WebInspectorUIProxy.messages.in:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createMediaSessionCoordinator):
(WebKit::WebPage::frameBecameRemote): Deleted.
(WebKit::WebPage::invalidateMediaSessionCoordinator): Deleted.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::isObscuredElement):
(WebKit::WebPage::getPositionInformation): Deleted.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::refreshPlugins): Deleted.
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
- 10:58 AM Changeset in webkit [292623] by
-
- 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 133
Added a tag for Safari Technology Preview release 133.
- 10:58 AM Changeset in webkit [292622] by
-
- 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 134
Added a tag for Safari Technology Preview release 134.
- 10:55 AM Changeset in webkit [292621] by
-
- 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 135
Added a tag for Safari Technology Preview release 135.
- 10:55 AM Changeset in webkit [292620] by
-
- 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 136
Added a tag for Safari Technology Preview release 136.
- 10:54 AM Changeset in webkit [292619] by
-
- 26 edits in trunk/Source
Reduce number of StringView to String conversions in JSC
https://bugs.webkit.org/show_bug.cgi?id=238911
Reviewed by Darin Adler.
Source/JavaScriptCore:
- dfg/DFGLazyJSValue.cpp:
(JSC::DFG::LazyJSValue::getValue const):
Resolve ambiguity by explicitly converting the StringImpl to a String before
calling jsString(). [1]
- jsc.cpp:
Avoid constructing a String from the StringView, just to compute a hash.
Instead, rely on the StringViewHashTranslator for this.
- profiler/ProfilerOSRExit.cpp:
(JSC::Profiler::OSRExit::toJS const):
exitKindToString() returns an ASCIILiteral whose length is always greater
than 1 so we can call the more efficient jsNontrivialString() instead of
jsString(). Calling jsString() here had become ambiguous because an
ASCIILiteral can be implicitely converted to both a String and a
StringView [2].
- runtime/ArrayPrototype.cpp:
(JSC::fastJoin):
Call the new jsString() overload that takes a StringView, to avoid
unnecessarily constructing a String in the case where the length is <= 1 [3].
- runtime/ErrorInstance.cpp:
(JSC::appendSourceToErrorMessage):
- runtime/ErrorInstance.h:
- runtime/ExceptionHelpers.cpp:
(JSC::defaultApproximateSourceError):
(JSC::defaultSourceAppender):
(JSC::functionCallBase):
(JSC::notAFunctionSourceAppender):
(JSC::invalidParameterInSourceAppender):
(JSC::invalidParameterInstanceofSourceAppender):
(JSC::invalidParameterInstanceofNotFunctionSourceAppender):
(JSC::invalidParameterInstanceofhasInstanceValueNotFunctionSourceAppender):
(JSC::invalidPrototypeSourceAppender):
- runtime/ExceptionHelpers.h:
Call SourceAppender with a StringView since this is what we have. In most
cases, these appenders end up calling makeString() and it is thus beneficial
to avoid temporary/intermediate String constructions.
- runtime/FunctionExecutable.cpp:
(JSC::FunctionExecutable::toStringSlow):
Same as [3].
- runtime/IdentifierInlines.h:
(JSC::identifierToJSValue):
(JSC::identifierToSafePublicJSValue):
Same as [1].
- runtime/IntlDateTimeFormat.cpp:
(JSC::IntlDateTimeFormat::formatToParts const):
(JSC::IntlDateTimeFormat::formatRangeToParts):
- runtime/IntlLocale.cpp:
(JSC::IntlLocale::textInfo):
- runtime/IntlNumberFormat.cpp:
(JSC::IntlNumberFormat::formatRangeToPartsInternal):
(JSC::IntlNumberFormat::formatToPartsInternal):
Same as [2].
- runtime/IntlRelativeTimeFormat.cpp:
(JSC::IntlRelativeTimeFormat::formatToParts const):
Same as [3].
- runtime/JSArrayBufferPrototype.cpp:
(JSC::JSArrayBufferPrototype::finishCreation):
Same as [2].
- runtime/JSModuleLoader.cpp:
(JSC::JSModuleLoader::requestImportModule):
(JSC::JSC_DEFINE_HOST_FUNCTION):
Same as [1].
- runtime/JSString.h:
(JSC::jsString):
Add a jsString() overload that takes in a StringView instead of a String.
This avoids construction of a String for call sites having a StringView
in the event where the view's length is <= 1.
- runtime/SymbolConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
Same as [1].
Source/WTF:
Provide a reverseFind(StringView, unsigned) overload on StringView, for consistency
with String and to facilitate the converting of code from String to StringView.
- wtf/text/StringCommon.h:
(WTF::reverseFindInner):
- wtf/text/StringImpl.cpp:
(WTF::reverseFindInner): Deleted.
- wtf/text/StringView.cpp:
(WTF::StringView::reverseFind const):
- wtf/text/StringView.h:
- 10:53 AM Changeset in webkit [292618] by
-
- 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 137
Added a tag for Safari Technology Preview release 137.
- 10:53 AM Changeset in webkit [292617] by
-
- 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 138
Added a tag for Safari Technology Preview release 138.
- 10:53 AM Changeset in webkit [292616] by
-
- 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 139
Added a tag for Safari Technology Preview release 139.
- 10:52 AM Changeset in webkit [292615] by
-
- 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 140
Added a tag for Safari Technology Preview release 140.
- 10:52 AM Changeset in webkit [292614] by
-
- 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 142
Added a tag for Safari Technology Preview release 142.
- 10:51 AM Changeset in webkit [292613] by
-
- 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 124
Added a tag for Safari Technology Preview release 124.
- 10:50 AM Changeset in webkit [292612] by
-
- 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 123
Added a tag for Safari Technology Preview release 123.
- 10:48 AM Changeset in webkit [292611] by
-
- 6 edits in trunk/Source/WebKit
Have GPU Process call lowMemoryHandler() on each RemoteRenderingBackend
https://bugs.webkit.org/show_bug.cgi?id=238967
Reviewed by Tim Horton.
Hook up RemoteRenderingBackend::lowMemoryHandler(), which doesn't do anything yet,
but will clear the IOSurface pool.
- GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::lowMemoryHandler):
- GPUProcess/GPUConnectionToWebProcess.h:
- GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::lowMemoryHandler):
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::lowMemoryHandler):
- GPUProcess/graphics/RemoteRenderingBackend.h:
- 10:48 AM Changeset in webkit [292610] by
-
- 1 copy in releases/Apple/Safari Technology Preview/Safari Technology Preview 122
Added a tag for Safari Technology Preview release 122.
- 9:41 AM Changeset in webkit [292609] by
-
- 4 edits in trunk/Source
Broaden TypedArray API fix to all apps not just Bleacher Report
https://bugs.webkit.org/show_bug.cgi?id=238955
Reviewed by Saam Barati.
Source/JavaScriptCore:
- API/JSTypedArray.cpp:
(isLinkedBeforeTypedArrayLengthQuirk):
(JSObjectGetArrayBufferByteLength):
(isBleecherReport): Deleted.
Source/WTF:
- wtf/cocoa/RuntimeApplicationChecksCocoa.h:
- 8:16 AM Changeset in webkit [292608] by
-
- 2 edits in trunk/LayoutTests
imported/blink/fast/multicol/vertical-lr/float-content-break.html is a constant failure
https://bugs.webkit.org/show_bug.cgi?id=239002
Unreviewed.
- platform/mac/TestExpectations:
- 8:10 AM Changeset in webkit [292607] by
-
- 2 edits in trunk/Tools
[Merge-Queue] Add queue triggered by label addition (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=237615
<rdar://problem/89983452>
Unreviewed device management.
- Tools/CISupport/ews-build/config.json: Remove ews151 from Merge-Queue
Canonical link: https://commits.webkit.org/249439@main
- 8:00 AM Changeset in webkit [292606] by
-
- 26 edits in trunk
Do not use std::numeric_limits<float>::min() as the initial value to collect max values for glyph overflow
https://bugs.webkit.org/show_bug.cgi?id=238334
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt:
- web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002-expected.txt:
Source/WebCore:
With zero height glpyhs, glyph (vertical)overflow may still back as 1px due to ceilf(std::max(0.f, std::numeric_limits<float>::min())).
(see WidthIterator::advanceInternal() -> m_maxGlyphBoundingBoxY = std::max(m_maxGlyphBoundingBoxY, bounds.maxY())
and FontCascade::floatWidthForSimpleText() -> std::max<int>(glyphOverflow->bottom, ceilf(it.maxGlyphBoundingBoxY()) - (glyphOverflow->computeBounds ? 0 : metricsOfPrimaryFont().descent())))
- platform/graphics/ComplexTextController.h:
- platform/graphics/WidthIterator.h:
LayoutTests:
- platform/ios/fast/block/lineboxcontain/glyphs-expected.txt:
- platform/ios/fast/css-generated-content/initial-letter-basic-expected.txt:
- platform/ios/fast/css-generated-content/initial-letter-border-padding-expected.txt:
- platform/ios/fast/css-generated-content/initial-letter-raised-expected.txt:
- platform/ios/fast/css-generated-content/initial-letter-sunken-expected.txt:
- platform/ios/mathml/opentype/opentype-stretchy-expected.txt:
- platform/ios/mathml/presentation/roots-expected.txt:
- platform/mac/fast/block/lineboxcontain/glyphs-expected.txt:
- platform/mac/fast/css-generated-content/initial-letter-basic-expected.txt:
- platform/mac/fast/css-generated-content/initial-letter-border-padding-expected.txt:
- platform/mac/fast/css-generated-content/initial-letter-raised-expected.txt:
- platform/mac/fast/css-generated-content/initial-letter-sunken-expected.txt:
- platform/mac/mathml/opentype/opentype-stretchy-expected.txt:
- platform/mac/mathml/presentation/roots-expected.txt:
- 7:52 AM Changeset in webkit [292605] by
-
- 3 edits in trunk/Tools
[Merge-Queue] Comment on PR when failing validation
https://bugs.webkit.org/show_bug.cgi?id=238969
<rdar://problem/91451392>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(ValidateChangeLogAndReviewer.evaluateCommand): Add BlockPullRequest on failure.
(ValidateCommitMessage.evaluateCommand): Block and comment on pull request if
validation fails.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/249437@main
- 7:32 AM Changeset in webkit [292604] by
-
- 3 edits in trunk/LayoutTests
[ iOS EWS ] fast/layers/parent-clipping-overflow-is-overwritten-by-child-clipping.html is a flaky image failure.
https://bugs.webkit.org/show_bug.cgi?id=237218
<rdar://problem/89484834>
Unreviewed.
- fast/layers/parent-clipping-overflow-is-overwritten-by-child-clipping-expected.html:
- fast/layers/parent-clipping-overflow-is-overwritten-by-child-clipping.html: Change font family to Ahem.
- 7:22 AM Changeset in webkit [292603] by
-
- 6 edits2 moves5 adds1 delete in trunk/LayoutTests
Fix for accessibility/table-sections.html in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=238970
<rdar://problem/91451873>
Reviewed by Chris Fleizach.
Fixed this test in ITM by splitting the test into two smaller, faster
tests:
accessibility/table-multiple-tbodies.html
accessibility/table-thead-tfoot.html
In addition, the new tests write to the console only once after all the
accessibility calls are made.
- TestExpectations: Removed the old test marked as Slow.
- accessibility/resources/table-helper.js: Added.
(tableProperties): Helper function used in several tests.
- accessibility/table-attributes.html:
- accessibility/table-multiple-tbodies-expected.txt: Copied from LayoutTests/accessibility/table-sections-expected.txt.
- accessibility/table-multiple-tbodies.html: Added.
- accessibility/table-sections.html: Removed.
- accessibility/table-thead-tfoot-expected.txt: Added.
- accessibility/table-thead-tfoot.html: Added.
- platform/glib/accessibility/table-multiple-tbodies-expected.txt: Renamed from LayoutTests/accessibility/table-sections-expected.txt.
- platform/glib/accessibility/table-sections-expected.txt: Removed.
- platform/glib/accessibility/table-thead-tfoot-expected.txt: Added.
- platform/win/TestExpectations:
- platform/wincairo-wk1/TestExpectations:
- platform/wincairo/TestExpectations:
- 7:11 AM Changeset in webkit [292602] by
-
- 3 edits in trunk/Tools
[Merge-Queue] Reset git-svn cache on commit failure
https://bugs.webkit.org/show_bug.cgi?id=238975
<rdar://problem/91454550>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(PushCommitToWebKitRepo.evaluateCommand): Reset git-svn cache if commit fails.
(ResetGitSvn): Reset git-svn cache by removing .git/svn.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/249434@main
- 5:41 AM Changeset in webkit [292601] by
-
- 2 edits in trunk/Tools/buildstream
[Flatpak SDK] Update patchelf recipe
https://bugs.webkit.org/show_bug.cgi?id=238976
Reviewed by Philippe Normand.
Update patchelf to the last stable release (0.14.5)
patchelf is needed by the script generate-bundle.
- elements/sdk/patchelf.bst:
- 5:37 AM Changeset in webkit [292600] by
-
- 1 copy in releases/WPE WebKit/webkit-2.34.7
WPE WebKit 2.34.7
- 4:56 AM Changeset in webkit [292599] by
-
- 5 edits in trunk/Source/WebKit
[GTK] RemoteInspector: update target list page contents on change instead of reloading
https://bugs.webkit.org/show_bug.cgi?id=238990
Reviewed by Adrian Perez de Castro.
We can use webkit_web_view_run_javascript() to replace the target list with the new one. This also fixes the race
condition when loading inspector:// for the first time that target list is always empty. The web view HashSet is
now a HashMap where the value is a pointer to the client to be able to associate web view with its client
without having to check the host and port.
- UIProcess/API/gtk/WebKitRemoteInspectorProtocolHandler.cpp:
(WebKit::RemoteInspectorProtocolHandler::~RemoteInspectorProtocolHandler): Disconnect web view signals.
(WebKit::RemoteInspectorProtocolHandler::handleRequest): On new web view, connect to notify::uri and remove the
web view if it's no longer showing an inspector page list.
(WebKit::RemoteInspectorProtocolHandler::updateTargetList): Update the target list html.
(WebKit::RemoteInspectorProtocolHandler::webViewLoadChanged): Call updateTargetList() when load finished.
(WebKit::RemoteInspectorProtocolHandler::targetListChanged): Call updateTargetList() for web views that are not
loading. For loading web view connect to load-event to update the target list once the load finishes.
(WebKit::RemoteInspectorProtocolHandler::connectionClosed): Remove the associated web views.
- UIProcess/API/gtk/WebKitRemoteInspectorProtocolHandler.h:
- UIProcess/Inspector/glib/RemoteInspectorClient.cpp:
(WebKit::RemoteInspectorClient::appendTargertList const): Append the target list html to the given GString.
(WebKit::RemoteInspectorClient::buildTargetListPage const): Use appendTargertList() now.
- UIProcess/Inspector/glib/RemoteInspectorClient.h:
- 4:15 AM Changeset in webkit [292598] by
-
- 3 edits in trunk/LayoutTests
Fix for accessibility/roles-table-and-cell.html in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=238936
<rdar://problem/91414958>
Reviewed by Chris Fleizach.
Fixes this test in isolated tree mode by not writing to the console
until the end of the test.
- accessibility/roles-table-and-cell-expected.txt:
- accessibility/roles-table-and-cell.html:
- 3:23 AM Changeset in webkit [292597] by
-
- 7 edits in trunk/Source
Web Inspector: Use computedStyleMap() instead of deprecated getPropertyCSSValue()
https://bugs.webkit.org/show_bug.cgi?id=238661
Reviewed by Devin Rousso.
Source/WebInspectorUI:
Add Element.getComputedCSSPropertyNumberValue() instead of using computedStyleMap() directly to have a fallback
in case CSS_TYPED_OM is disabled in build.
- UserInterface/Base/Utilities.js:
(get return):
- UserInterface/Views/DataGridNode.js:
(WI.DataGridNode.prototype.isEventWithinDisclosureTriangle):
- UserInterface/Views/TabBar.js:
(WI.TabBar.prototype._handleMouseMoved.inlineStyleValue):
(WI.TabBar.prototype._handleMouseMoved):
- UserInterface/Views/TreeElement.js:
(WI.TreeElement.prototype.isEventWithinDisclosureTriangle):
Source/WebKit:
Ensure CSS Type OM is enabled in inspector frontend page.
- WebProcess/Inspector/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::enableFrontendFeatures):
- 2:59 AM Changeset in webkit [292596] by
-
- 4 edits in trunk/Source/WebCore
Take top layers into account in addLayers/removeLayers
https://bugs.webkit.org/show_bug.cgi?id=238946
Patch by Rob Buis <rbuis@igalia.com> on 2022-04-08
Reviewed by Simon Fraser.
Take top layers into account in addLayers/removeLayers, they
should use the RenderView layer as parent (emulating layerParent).
- rendering/RenderElement.cpp:
(WebCore::addLayers):
(WebCore::RenderElement::addLayers):
(WebCore::RenderElement::removeLayers):
(WebCore::RenderElement::willBeRemovedFromTree):
- rendering/RenderElement.h:
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects const):
- 1:30 AM Changeset in webkit [292595] by
-
- 19 edits20 moves23 adds in trunk
Incorrect CORP/COEP check in 304 responses
https://bugs.webkit.org/show_bug.cgi?id=238238
<rdar://problem/90706510>
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2022-04-08
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Sync cross-origin-embedder-policy tests to include the new test require-corp-revalidated-images.https.html.
- web-platform-tests/html/cross-origin-embedder-policy/block-local-documents-inheriting-none.https.html:
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/cache-storage.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/cache-storage.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/cache-storage.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/cache.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/cache.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/cache.tentative.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/dedicated-worker.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/dedicated-worker.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/dedicated-worker.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/fetch.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/fetch.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/fetch.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-credentialless.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-credentialless.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-credentialless.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-none.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-none.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-none.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-require-corp.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-require-corp.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-require-corp.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe.tentative.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/image.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/image.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/image.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/link.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/link.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/link.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/redirect.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/redirect.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/redirect.tentative.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/reporting-navigation.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/reporting-navigation.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/reporting-navigation.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/reporting-subresource-corp.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/reporting-subresource-corp.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/reporting-subresource-corp.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/script.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/script.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/script.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker-coep-credentialless-proxy.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker-coep-credentialless-proxy.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker-coep-credentialless-proxy.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker-coep-none-proxy.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker-coep-none-proxy.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker-coep-none-proxy.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/shared-worker.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/shared-worker.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/shared-worker.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/video.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/video.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/video.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/video.https.window.js.headers: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/video.tentative.https.window.js.headers.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/w3c-import.log:
- web-platform-tests/html/cross-origin-embedder-policy/dedicated-worker.https-expected.txt:
- web-platform-tests/html/cross-origin-embedder-policy/dedicated-worker.https.html:
- web-platform-tests/html/cross-origin-embedder-policy/reporting-to-endpoint.https.html:
- web-platform-tests/html/cross-origin-embedder-policy/reporting-to-endpoint.https.html.headers:
- web-platform-tests/html/cross-origin-embedder-policy/require-corp-cached-images.https-expected.txt:
- web-platform-tests/html/cross-origin-embedder-policy/require-corp-cached-images.https.html:
- web-platform-tests/html/cross-origin-embedder-policy/require-corp-revalidated-images.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-embedder-policy/require-corp-revalidated-images.https.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/resources/corp-image.py:
(main):
- web-platform-tests/html/cross-origin-embedder-policy/resources/fetch-and-create-url.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/resources/load-corp-images.html:
- web-platform-tests/html/cross-origin-embedder-policy/resources/w3c-import.log:
- web-platform-tests/html/cross-origin-embedder-policy/resources/worker-support.js: Added.
(setCoep):
(resolveUrl):
(async withIframe):
(waitForMessage):
(async createLocalUrl):
- web-platform-tests/html/cross-origin-embedder-policy/shared-workers.https-expected.txt:
- web-platform-tests/html/cross-origin-embedder-policy/shared-workers.https.html:
- web-platform-tests/html/cross-origin-embedder-policy/w3c-import.log:
Source/WebKit:
Add CORP header to the 304 response if previously set to avoid being blocked by load checker due to COEP.
Test: imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/require-corp-revalidated-images.https.html
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::didReceiveResponse):
LayoutTests:
Mark some tests with DumpJSConsoleLogInStdErr modifier.