Commits
main
Name already in use
Commits on Sep 22, 2023
-
Remove warnings in NativePromise when both log and release log are di…
…sabled. https://bugs.webkit.org/show_bug.cgi?id=261899 Reviewed by Youenn Fablet. Add conditional UNUSED_PARAMs to additional methods in NativePromise when both LOG_DISABLED and RELEASE_LOG_DISABLED are true. * Source/WTF/wtf/NativePromise.h: Canonical link: https://commits.webkit.org/268318@main
-
Add support for runtime.sendMessage from Web Extension content scripts.
https://webkit.org/b/261909 rdar://problem/115864149 Reviewed by Brent Fulgham. * Adds support for runtime.sendMessage and main world firing of onMessage events. * Tracks event listeners by type and what world they are registered in, so we can get the appropriate processes to dispatch the events. * Added better support for the sender object and tests for the values it includes. * Source/WebKit/DerivedSources-input.xcfilelist: Added WebExtensionContentWorldType.serialization.in. * Source/WebKit/DerivedSources.make: Added WebExtensionContentWorldType.serialization.in. * Source/WebKit/Scripts/webkit/messages.py: (types_that_cannot_be_forward_declared): Added WebExtensionContentWorldType. * Source/WebKit/Shared/Extensions/WebExtensionContentWorldType.h: Added. * Source/WebKit/Shared/Extensions/WebExtensionContentWorldType.serialization.in: Added. * Source/WebKit/Shared/Extensions/WebExtensionEventListenerType.h: * Source/WebKit/Shared/Extensions/WebExtensionMessageSenderParameters.h: * Source/WebKit/Shared/Extensions/WebExtensionMessageSenderParameters.serialization.in: * Source/WebKit/Shared/Extensions/WebExtensionUtilities.h: * Source/WebKit/Shared/Extensions/WebExtensionUtilities.mm: * Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIAlarmsCocoa.mm: * Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIEventCocoa.mm: (WebKit::WebExtensionContext::addListener): Added contentWorldType. (WebKit::WebExtensionContext::removeListener): Ditto. * Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIRuntimeCocoa.mm: Added. (WebKit::WebExtensionContext::runtimeSendMessage): Added. * Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPITabsCocoa.mm: (WebKit::WebExtensionContext::tabsSendMessage):Added more sender parameters. * Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionTabCocoa.mm: (WebKit::WebExtensionTab::processes const): Added contentWorldType. * Source/WebKit/UIProcess/Extensions/WebExtensionContext.cpp: (WebKit::WebExtensionContext::pageListensForEvent const): Added contentWorldType. (WebKit::WebExtensionContext::processes const): Ditto. * Source/WebKit/UIProcess/Extensions/WebExtensionContext.h: (WebKit::WebExtensionContext::sendToProcessesForEvent): Pass Main for contentWorldType. This is only used for main world events currently and avoided touching a bunch of call sites. (WebKit::WebExtensionContext::sendToContentScriptProcessesForEvent): Added. * Source/WebKit/UIProcess/Extensions/WebExtensionContext.messages.in: * Source/WebKit/UIProcess/Extensions/WebExtensionTab.h: * Source/WebKit/WebKit.xcodeproj/project.pbxproj: Added WebExtensionContentWorldType.*. * Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIEventCocoa.mm: (WebKit::WebExtensionAPIEvent::addListener): Added contentWorldType. (WebKit::WebExtensionAPIEvent::removeListener): Ditto. * Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIRuntimeCocoa.mm: (WebKit::WebExtensionAPIRuntime::sendMessage): Added. (WebKit::toWebAPI): Moved here since it is only used here. (WebKit::WebExtensionContextProxy::dispatchRuntimeMessageEvent): . (WebKit::WebExtensionContextProxy::dispatchRuntimeMainWorldMessageEvent): Added. * Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPITabsCocoa.mm: (WebKit::WebExtensionAPITabs::sendMessage): Added more sender parameters. * Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIWebNavigationEventCocoa.mm: (WebKit::WebExtensionAPIWebNavigationEvent::addListener): Added contentWorldType. (WebKit::WebExtensionAPIWebNavigationEvent::removeListener): Ditto. * Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIWindowsEventCocoa.mm: (WebKit::WebExtensionAPIWindowsEvent::addListener): Added contentWorldType. (WebKit::WebExtensionAPIWindowsEvent::removeListener): Ditto. * Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIObject.h: (WebKit::WebExtensionAPIObject::contentWorldType const): Added. * Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIRuntime.h: * Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPIRuntime.idl: * Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.h: * Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.messages.in: * Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIRuntime.mm: (TestWebKitAPI::TEST): * Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPITabs.mm: (TestWebKitAPI::TEST): Canonical link: https://commits.webkit.org/268317@main
-
[IFC][Ruby] Add skeleton implementation for ruby overhang
https://bugs.webkit.org/show_bug.cgi?id=261857 Reviewed by Antti Koivisto. Ruby overhang lets the non-overlapping annotation box overhang adjacent inline content on the line (before/after). 1. Collect base start/end(last content box) display boxes 2. Consult RubyFormattingContext for overhang value(s) 3. Adjust display box horizontal position as needed * Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp: (WebCore::Layout::InlineDisplayContentBuilder::build): (WebCore::Layout::InlineDisplayContentBuilder::appendInlineBoxDisplayBox): (WebCore::Layout::InlineDisplayContentBuilder::appendSpanningInlineBoxDisplayBox): (WebCore::Layout::InlineDisplayContentBuilder::handleInlineBoxEnd): (WebCore::Layout::InlineDisplayContentBuilder::processNonBidiContent): (WebCore::Layout::InlineDisplayContentBuilder::applyRubyOverhang const): * Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.h: * Source/WebCore/layout/formattingContexts/inline/ruby/RubyFormattingContext.cpp: (WebCore::Layout::RubyFormattingContext::overhangForAnnotationBefore): (WebCore::Layout::RubyFormattingContext::overhangForAnnotationAfter): * Source/WebCore/layout/formattingContexts/inline/ruby/RubyFormattingContext.h: Canonical link: https://commits.webkit.org/268316@main
-
[WGSL] Add type declarations for textureSample overloads that operate…
… on texture_depth_* https://bugs.webkit.org/show_bug.cgi?id=254515 rdar://107556432 Reviewed by Dan Glastonbury. In 268117@main I added declarations for all built-in functions that operate on textures, but since we didn't support texture_depth yet, I skipped those. This patch fills in all the texture depth functions. Now we're only missing the functions/overloads that depend on texture storage or sampler_comparison. * Source/WebGPU/WGSL/TypeDeclarations.rb: * Source/WebGPU/WGSL/generator/main.rb: * Source/WebGPU/WGSL/tests/valid/overload.wgsl: Canonical link: https://commits.webkit.org/268315@main
-
Port NetworkLoadMetrics to the new IPC serialization format
https://bugs.webkit.org/show_bug.cgi?id=261883 rdar://115842910 Reviewed by Alex Christensen. Ports NetworkLoadMetrics and AdditionalNetworkLoadMetricsForWebInspector to the new IPC serialization format. * Source/WebCore/platform/network/NetworkLoadMetrics.cpp: (WebCore::NetworkLoadMetrics::NetworkLoadMetrics): (WebCore::AdditionalNetworkLoadMetricsForWebInspector::create): (WebCore::AdditionalNetworkLoadMetricsForWebInspector::AdditionalNetworkLoadMetricsForWebInspector): * Source/WebCore/platform/network/NetworkLoadMetrics.h: (WebCore::NetworkLoadMetrics::encode const): Deleted. (WebCore::NetworkLoadMetrics::decode): Deleted. (WebCore::AdditionalNetworkLoadMetricsForWebInspector::encode const): Deleted. (WebCore::AdditionalNetworkLoadMetricsForWebInspector::decode): Deleted. * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: Canonical link: https://commits.webkit.org/268314@main
-
[content-visibility] Enable content-visibility feature flag by default
https://bugs.webkit.org/show_bug.cgi?id=261943 rdar://114734606 Reviewed by Rob Buis. Most tests for this feature pass after bug 237369 and bug 223930. * Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: * Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: Canonical link: https://commits.webkit.org/268313@main
-
Skip animation update and resolution in subtrees depending on content…
…-visibility https://bugs.webkit.org/show_bug.cgi?id=223930 Reviewed by Tim Nguyen. This change has two parts: - skip updating and sending events for animation in hidden content-visibility subtrees - restart the animation once the subtree becomes visible/unskipped A test is added for the behaviour of content-visibility: auto and animations, one when using scrollIntoView and a reftest is included testing animations are restarted once a hidden content-visibility subtree becomes visible. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/content-visibility/animation-display-lock-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-animation-and-scroll-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-animation-and-scroll.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-animation-becomes-visible-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-animation-becomes-visible.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-animation-in-auto-subtree-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-animation-in-auto-subtree.html: Added. * Source/WebCore/animation/DocumentTimelinesController.cpp: (WebCore::DocumentTimelinesController::updateAnimationsAndSendEvents): * Source/WebCore/animation/WebAnimation.cpp: (WebCore::WebAnimation::isSkippedContentAnimation const): * Source/WebCore/animation/WebAnimation.h: * Source/WebCore/dom/ContentVisibilityDocumentState.cpp: (WebCore::ContentVisibilityDocumentState::checkRelevancyOfContentVisibilityElement const): (WebCore::ContentVisibilityDocumentState::skippedContentStateDidChange): * Source/WebCore/dom/ContentVisibilityDocumentState.h: * Source/WebCore/rendering/RenderElement.cpp: (WebCore::RenderElement::styleWillChange): Canonical link: https://commits.webkit.org/268312@main
-
Increase fuzziness of css-color serialization WPTs
https://bugs.webkit.org/show_bug.cgi?id=261929 rdar://115872312 Reviewed by Youenn Fablet. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-computed-color-mix-function-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-computed-relative-color-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-mix-out-of-gamut-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-relative-color-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/relative-color-out-of-gamut-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/support/color-testcommon.js: * LayoutTests/platform/mac-monterey/imported/w3c/web-platform-tests/css/css-color/parsing/color-computed-color-mix-function-expected.txt: * LayoutTests/platform/mac-monterey/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-relative-color-expected.txt: * LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/css/css-color/system-color-consistency-expected.txt: Canonical link: https://commits.webkit.org/268311@main
-
[content-visibility] Lazily layout children
https://bugs.webkit.org/show_bug.cgi?id=237369 Reviewed by Tim Nguyen. This patch supports skipping layout of children in hidden content-visibility subtrees for normal layout, since they do not count as content [1]. However DOM operations that require measuring do need an accurate layout, so introduce the helper class ContentVisibilityForceLayoutScope to override ("forced layout") the skipped layout mechanism for hidden content-visibility subtrees. Roughly the skipping layout of children falls into two catagories: - general block flows (note flexbox is part of this) - grid containers The existing perf tests under ContentVisibility/ improve a lot with this patch (up to 100x), but the scrolling variants have only slight improvement since scrolling content into the viewport means falling back to full layout. Improving the perf tests of grid based content-visibility perf tests will be addressed in a future PR. [1] https://w3c.github.io/csswg-drafts/css-contain/#skips-its-contents * LayoutTests/TestExpectations: * Source/WebCore/css/ComputedStyleExtractor.cpp: make sure layout is up-to-date for hidden content-visibility subtree. (WebCore::ComputedStyleExtractor::propertyValue const): * Source/WebCore/dom/Document.cpp: (WebCore::Document::updateLayout): forces layout on hidden content-visibility subtree if needed. (WebCore::Document::updateLayoutIgnorePendingStylesheets): (WebCore::Document::updateLayoutIfDimensionsOutOfDate): * Source/WebCore/dom/Document.h: * Source/WebCore/dom/Element.cpp: (WebCore::Element::offsetLeftForBindings): (WebCore::Element::offsetTopForBindings): (WebCore::Element::offsetLeftForBindings): (WebCore::Element::offsetTopForBindings): (WebCore::Element::scrollLeft): (WebCore::Element::scrollTop): (WebCore::Element::setScrollLeft): (WebCore::Element::setScrollTop): (WebCore::Element::getClientRects): (WebCore::Element::boundingClientRect): (WebCore::Element::innerText): * Source/WebCore/html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::width): (WebCore::HTMLImageElement::height): (WebCore::HTMLImageElement::x const): (WebCore::HTMLImageElement::y const): * Source/WebCore/html/ImageInputType.cpp: (WebCore::ImageInputType::height const): (WebCore::ImageInputType::width const): * Source/WebCore/page/LocalFrameViewLayoutContext.h: keep track of forced layout. (WebCore::LocalFrameViewLayoutContext::needsSkippedContentLayout const): * Source/WebCore/rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutPositionedObject): skip layout in hidden content-visibility subtree. * Source/WebCore/rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::layoutInFlowChildren): skip layout in hidden content-visibility subtree. * Source/WebCore/rendering/RenderElement.cpp: (WebCore::RenderElement::clearNeedsLayoutForDescendants): add helper to clear layout for subtree. (WebCore::RenderElement::layoutIfNeeded): take isSkippedContentForLayout into account. * Source/WebCore/rendering/RenderElement.h: (WebCore::RenderElement::layoutIfNeeded): Deleted. * Source/WebCore/rendering/RenderGrid.cpp: (WebCore::RenderGrid::layoutPositionedObject): skip layout in hidden content-visibility subtree. * Source/WebCore/rendering/RenderLayoutState.cpp: Add helper to force layout if there is a hidden content-visibility subtree. (WebCore::ContentVisibilityForceLayoutScope::ContentVisibilityForceLayoutScope): (WebCore::ContentVisibilityForceLayoutScope::~ContentVisibilityForceLayoutScope): * Source/WebCore/rendering/RenderLayoutState.h: * Source/WebCore/rendering/RenderObject.cpp: (WebCore::RenderObject::isSkippedContentForLayout const): same as isSkippedContent but takes into account needsSkippedContentLayout. * Source/WebCore/rendering/RenderObject.h: * Source/WebCore/svg/SVGGeometryElement.cpp: (WebCore::SVGGeometryElement::getTotalLength const): (WebCore::SVGGeometryElement::getPointAtLength const): (WebCore::SVGGeometryElement::isPointInFill): (WebCore::SVGGeometryElement::isPointInStroke): * Source/WebCore/svg/SVGLocatable.cpp: (WebCore::SVGLocatable::getBBox): (WebCore::SVGLocatable::computeCTM): * Source/WebCore/svg/SVGPathElement.cpp: (WebCore::SVGPathElement::getBBox): * Source/WebCore/svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::getIntersectionList): (WebCore::SVGSVGElement::getEnclosureList): (WebCore::SVGSVGElement::checkIntersection): (WebCore::SVGSVGElement::checkEnclosure): * Source/WebCore/svg/SVGTextContentElement.cpp: (WebCore::SVGTextContentElement::getNumberOfChars): (WebCore::SVGTextContentElement::getComputedTextLength): (WebCore::SVGTextContentElement::getCharNumAtPosition): * Source/WebCore/testing/Internals.cpp: (WebCore::Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks): Canonical link: https://commits.webkit.org/268310@main
-
Port remaining WebCore SimpleArgumentCoders to the new serialization …
…format https://bugs.webkit.org/show_bug.cgi?id=261416 rdar://115361200 Reviewed by Alex Christensen. This change includes the porting of: - RectEdges<bool> - ViewportArguments - Path * Source/WebKit/Shared/WebCoreArgumentCoders.cpp: (IPC::ArgumentCoder<RectEdges<bool>>::encode): Deleted. (IPC::ArgumentCoder<RectEdges<bool>>::decode): Deleted. (IPC::ArgumentCoder<ViewportArguments>::encode): Deleted. (IPC::ArgumentCoder<ViewportArguments>::decode): Deleted. (IPC::ArgumentCoder<Path>::encode): Deleted. (IPC::ArgumentCoder<Path>::decode): Deleted. * Source/WebKit/Shared/WebCoreArgumentCoders.h: * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: Canonical link: https://commits.webkit.org/268309@main
-
[WGSL] Add suport for depth textures
https://bugs.webkit.org/show_bug.cgi?id=261881 rdar://115842732 Reviewed by Dan Glastonbury. Add a new TextureDepth type to the type system and expose all the kinds of depth textures. Spec reference: https://www.w3.org/TR/WGSL/#texture-depth * Source/WebGPU/WGSL/ConstantRewriter.cpp: (WGSL::ConstantRewriter::materialize): * Source/WebGPU/WGSL/Constraints.cpp: (WGSL::concretize): * Source/WebGPU/WGSL/GlobalVariableRewriter.cpp: (WGSL::bindingMemberForGlobal): * Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp: (WGSL::Metal::FunctionDefinitionWriter::visit): * Source/WebGPU/WGSL/TypeCheck.cpp: (WGSL::TypeChecker::TypeChecker): * Source/WebGPU/WGSL/TypeStore.cpp: (WGSL::TypeStore::TypeStore): * Source/WebGPU/WGSL/TypeStore.h: (WGSL::TypeStore::textureDepth2dType const): (WGSL::TypeStore::textureDepth2dArrayType const): (WGSL::TypeStore::textureDepthCubeType const): (WGSL::TypeStore::textureDepthCubeArrayType const): (WGSL::TypeStore::textureDepthMultisampled2dType const): * Source/WebGPU/WGSL/Types.cpp: (WGSL::Type::dump const): (WGSL::Type::size const): (WGSL::Type::alignment const): * Source/WebGPU/WGSL/Types.h: Canonical link: https://commits.webkit.org/268308@main
-
Cloned video MediaStreamTrack has another resolution than original track
https://bugs.webkit.org/show_bug.cgi?id=261329 rdar://115551680 Reviewed by Jean-Yves Avenard. When cloning a track, we are adding a new SourceProxy as obserer of the underlying source. This works fine for video tracks in case the SourceProxy is not resizing/reducing frame rate of the source via addVideoFrameObserver size/frame rate parameters. This resizing may happen for instance if the application wants a resolution that is not directly supported by the camera. Before the patch, the clone would register itself via addVideoFrameObserver without parameters, which would trigger no resizing/reducing frame rate. After the patch, we first copy the settings from the original source to the cloned source. We then call addVideoFrameObserver with the right parameters. Covered by added test. * LayoutTests/webrtc/video-clone-track-expected.txt: Added. * LayoutTests/webrtc/video-clone-track.html: Added. * Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp: (WebKit::UserMediaCaptureManagerProxy::SourceProxy::SourceProxy): (WebKit::UserMediaCaptureManagerProxy::SourceProxy::~SourceProxy): (WebKit::UserMediaCaptureManagerProxy::SourceProxy::observeMedia): (WebKit::UserMediaCaptureManagerProxy::createMediaSourceForCaptureDeviceWithConstraints): (WebKit::UserMediaCaptureManagerProxy::clone): Canonical link: https://commits.webkit.org/268307@main
-
[WGSL] Crash when measuring size of struct that contains a runtime array
https://bugs.webkit.org/show_bug.cgi?id=261884 rdar://115843512 Reviewed by Dan Glastonbury. We had an assertion that we would never ask for the size of a runtime-sized array. However, we ask for the size of all member types for a struct that intend to pack, and those can contain runtime-sized array, so the assertion is incorrect. We just return the size of the element if it's runtime-sized, which should be ok size @SiZe attributes are not allowed on runtime-sized arrays and they are always the last item in the struct. * Source/WebGPU/WGSL/Types.cpp: (WGSL::Type::size const): * Source/WebGPU/WGSL/tests/valid/packing.wgsl: Canonical link: https://commits.webkit.org/268306@main
-
[WGSL] Add support for arrayLength
https://bugs.webkit.org/show_bug.cgi?id=261835 <rdar://problem/115796109> Reviewed by Dan Glastonbury. Add support for the arrayLength built-in function according to the spec[1]. So far, our DSL/overload resolution did not support nested abstract types, e.g. ptr<AS, array<T>>, which is required by arrayLength, so it required changing the AbstractType represention to allow nesting. Some minor tweaks were also required on the generator to correctly serialized these nested types. [1]: https://www.w3.org/TR/WGSL/#arrayLength-builtin * Source/WebGPU/WGSL/Overload.cpp: (WGSL::OverloadResolver::materialize const): (WGSL::OverloadResolver::calculateRank): (WGSL::OverloadResolver::unify): (WTF::printInternal): * Source/WebGPU/WGSL/Overload.h: (WGSL::allocateAbstractType): * Source/WebGPU/WGSL/TypeDeclarations.rb: * Source/WebGPU/WGSL/generator/main.rb: * Source/WebGPU/WGSL/tests/valid/overload.wgsl: Canonical link: https://commits.webkit.org/268305@main
-
ASSERTION FAILED: foundContainer on media/modern-media-controls/pip-s…
…upport/pip-support-click.html. https://bugs.webkit.org/show_bug.cgi?id=258325 <rdar://111065468> Reviewed by Simon Fraser. Running layout for a subtree calls RenderGeometryMap::pushMappingsToAncestor with a nullptr ancestor layer to push all the mappings up to the RenderView. Since we don't have an ancestor layer, we instead walk up the render tree. The render tree container walk can jump over repaint containers (see containerForElement in RenderObject.cpp) to the nearest containing block ancestor. The expected behaviour for pushMappingsToAncestor is that the ancestor layer provided is the nearest repaint container, so that any render tree walk with be bounded by that. In this case we don't have one, so we fail to push mappings for repaint containers in some cases and then crash when trying to find them later. This adds code for the nullptr case, and breaks the render tree walk down into per-layer-ancestor chunks to prevent this. Also adds a test that crashes without the fix. * LayoutTests/compositing/geometry/geometry-map-compositing-layer-without-containing-block-expected.html: Added. * LayoutTests/compositing/geometry/geometry-map-compositing-layer-without-containing-block.html: Added. * LayoutTests/platform/mac-wk2/TestExpectations: * Source/WebCore/rendering/RenderGeometryMap.cpp: (WebCore::RenderGeometryMap::pushMappingsToAncestor): Canonical link: https://commits.webkit.org/268304@main
-
Always initialise count in GraphicsContextGLANGLE::getProgramInfoLog
https://bugs.webkit.org/show_bug.cgi?id=261935 rdar://problem/115878861 Reviewed by Dan Glastonbury. Even though this count is not actually used (yet?), this silences a static analyzer warning. * Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp: (WebCore::GraphicsContextGLANGLE::getProgramInfoLog): Canonical link: https://commits.webkit.org/268303@main
-
[JSC] Implement lexical scope chain walk to correctly determine Annex…
… B hoisted functions https://bugs.webkit.org/show_bug.cgi?id=261564 <rdar://problem/115504046> Reviewed by Yusuke Suzuki. Please consider the following code: ```js { function foo() { return 1; } } { let foo = 1; { function foo() { return 2; } } } foo(); // should be 1 ``` While both functions share the same identifier, only the first one should be hoisted per spec [1]; hoisting the second function would result in an early error due to name clash with the lexical declaration. Given it's impossible to determine if a function is hoistable by its identifier only, this change replaces maintaining identifier set of hoistable functions on a ScopeNode with a flag on FunctionMetadataNode. Also, this patch introduces bubbleSloppyModeFunctionHoistingCandidates() that effectively walks up the scope chain to ensure that for every hoisting candidate there are no clashes with lexical bindings. Before this change, only top-level lexical variables and parameters were considered. Considering the following case: ```js { // scope A { // scope B function foo() {} } const foo = 1; } foo(); // should throw ReferenceError ``` The approach of this patch is to bubble all hoisting candidates from scope B to A, during popScope() of B, and then reject duplicates during popScope() of A. We can't check for clashes during popScope() of B because lexical declarations may be added to scope A later on. To make this work, we must skip duplicate checks against same-scope (not bubbled) function declarations, which is implemented via NeedsDuplicateDeclarationCheck. declareLexicalVariable() / declareFunction() already check for duplicates, both in strict and sloppy mode, making this approach viable. When bubbling hoisting candidates, NeedsDuplicateDeclarationCheck::No can get overriden by inner scope, ensuring correctness of the following case [3]: ```js { function foo() { return 1; } { function foo() { return 2; } } } foo(); // should be 1 ``` Since per another Annex B section [2], `catch (foo) { var foo; }` doesn't result in a SyntaxError, simple parameter catch scopes are skipped when determining if a function should be hoisted. Performance-wise this change adds only a single HashMap::isEmpty() check per scope, and was proven to be neutral on JetStream3. Aligns JSC with V8 and SpiderMonkey, expect for the one test [3]. [1]: https://tc39.es/ecma262/#sec-web-compat-functiondeclarationinstantiation (29.a.ii) [2]: https://tc39.es/ecma262/#sec-variablestatements-in-catch-blocks [3]: https://github.com/tc39/test262/blob/main/test/annexB/language/function-code/block-decl-nested-blocks-with-fun-decl.js * JSTests/stress/sloppy-mode-function-hoisting-2.js: Added. * JSTests/test262/expectations.yaml: Mark 193 tests as passing. * Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::hoistSloppyModeFunctionIfNecessary): * Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h: Removes unused m_functionOffsets. * Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp: (JSC::FuncDeclNode::emitBytecode): * Source/JavaScriptCore/parser/Nodes.cpp: (JSC::ScopeNode::ScopeNode): (JSC::ProgramNode::ProgramNode): (JSC::ModuleProgramNode::ModuleProgramNode): (JSC::EvalNode::EvalNode): (JSC::FunctionMetadataNode::operator== const): (JSC::FunctionMetadataNode::dump const): (JSC::FunctionNode::FunctionNode): * Source/JavaScriptCore/parser/Nodes.h: (JSC::ScopeNode::captures): (JSC::ScopeNode::hasSloppyModeHoistedFunction const): Deleted. * Source/JavaScriptCore/parser/Parser.cpp: (JSC::Parser<LexerType>::parseInner): (JSC::Parser<LexerType>::parseFunctionDeclaration): * Source/JavaScriptCore/parser/Parser.h: (JSC::Scope::declareFunction): (JSC::Scope::addSloppyModeFunctionHoistingCandidate): (JSC::Scope::finalizeSloppyModeFunctionHoisting): (JSC::Scope::bubbleSloppyModeFunctionHoistingCandidates): (JSC::Scope::hasSloppyModeFunctionHoistingCandidates const): (JSC::Parser::popScopeInternal): (JSC::Parser::declareFunction): (JSC::Parser<LexerType>::parse): (JSC::Scope::addSloppyModeHoistableFunctionCandidate): Deleted. (JSC::Scope::getSloppyModeHoistedFunctions): Deleted. * Source/JavaScriptCore/parser/VariableEnvironment.h: Harmonize naming to include "candidate" only when hoisting isn't guaranteed due to unchecked clashes with lexical bindings. Canonical link: https://commits.webkit.org/268302@main
Alexey Shvayka committedSep 22, 2023 -
ImageBuffer filter operations should return NativeImage
https://bugs.webkit.org/show_bug.cgi?id=261866 rdar://115829020 Reviewed by Antti Koivisto. ImageBuffer operates on NativeImages, WebCore::Image is a higher level type. The filter operations anyway flatten the results into a NativeImage, from which the WebCore::Image was always created. Construct the WebCore::Image at the caller if needed. Since this renames the function, move the GPUP implementation from the RemoteRenderingBackendProxy to the real caller which is the RemoteImageBufferProxy. The messages have already been moved previously. This is work towards simplifying ImageBuffer API use NativeImage only. * Source/WebCore/platform/graphics/ImageBuffer.cpp: (WebCore::ImageBuffer::filteredNativeImage): (WebCore::ImageBuffer::filteredImage): Deleted. * Source/WebCore/platform/graphics/ImageBuffer.h: * Source/WebCore/rendering/style/StyleFilterImage.cpp: (WebCore::StyleFilterImage::image const): * Source/WebKit/GPUProcess/graphics/RemoteImageBuffer.cpp: (WebKit::RemoteImageBuffer::filteredNativeImage): (WebKit::RemoteImageBuffer::getFilteredImage): Deleted. * Source/WebKit/GPUProcess/graphics/RemoteImageBuffer.h: * Source/WebKit/GPUProcess/graphics/RemoteImageBuffer.messages.in: * Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.cpp: (WebKit::RemoteImageBufferProxy::sendSync): (WebKit::RemoteImageBufferProxy::filteredNativeImage): (WebKit::RemoteImageBufferProxy::filteredImage): Deleted. * Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h: * Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp: (WebKit::RemoteRenderingBackendProxy::getFilteredImage): Deleted. * Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h: Canonical link: https://commits.webkit.org/268301@main
-
IPInt should decode LEB for extended opcodes
https://bugs.webkit.org/show_bug.cgi?id=261894 Reviewed by Yusuke Suzuki. Right now it assumes they are 1 byte, which 99.9% of the time they will be. It's technically correct, however, to non-canonically encode them as more than one byte. This patch adds a simple LEB UInt32 decoder to IPInt and uses it to decode the extended opcode. * JSTests/wasm/stress/non-canonical-extended-ops.js: Added. (instance): * Source/JavaScriptCore/llint/InPlaceInterpreter.asm: * Source/JavaScriptCore/wasm/WasmFunctionParser.h: (JSC::Wasm::FunctionParser<Context>::truncSaturated): * Source/JavaScriptCore/wasm/WasmIPIntGenerator.cpp: (JSC::Wasm::IPIntGenerator::addMemoryFill): (JSC::Wasm::IPIntGenerator::addMemoryCopy): (JSC::Wasm::IPIntGenerator::truncSaturated): Canonical link: https://commits.webkit.org/268300@main
-
https://bugs.webkit.org/show_bug.cgi?id=261843 <rdar://problem/115807440> Reviewed by Tim Horton and Elliott Williams. This patch moves a few more enablement flags into Open Source, and corrects some mistakes where some HAVE_ macros were placed in ENABLE_ header files. * Source/WTF/wtf/PlatformEnable.h: - Add WEBXR enablement flags for visionOS. - Move a Cocoa-specific feature flag to PlatformEnableCocoa.h * Source/WTF/wtf/PlatformEnableCocoa.h: - Move some visionOS HAVE_ macros to PlatformHave.h. - Move some visionOS ENABLE_ macros to this Open Source file. - Add ENABLE_IMAGE_ANALYSIS_ENHANCEMENTS flag from PlatformEnable.h * Source/WTF/wtf/PlatformHave.h: - Add HAVE_UI_FOCUS_EFFECT to Open Source. - Add visionOS HAVE_ macros previously in PlatformEnableCocoa.h * Source/WebCore/platform/ios/UserAgentIOS.mm: - Switch definition to ENABLE_STATIC_IPAD_USER_AGENT_VALUE, and move to Open Source. Canonical link: https://commits.webkit.org/268299@main
-
Have RenderObject subclass CanMakeCheckedPtr
https://bugs.webkit.org/show_bug.cgi?id=261902 Reviewed by Simon Fraser. Have RenderObject subclass CanMakeCheckedPtr so that we can adopt CheckedPtr / CheckedRef in rendering code for safety. We were previously relying on WeakPtr but it turned out to be too costly and cause performance regressions. This tested as perf-neutral on Speedometer, Membuster and MotionMark. In order to do this without regressing Membuster, I had to re-order some data members and rely on PackedPtr<> to not increase the size of renderers. * Source/WebCore/rendering/RenderElement.cpp: (WebCore::RenderElement::RenderElement): (WebCore::RenderElement::attachRendererInternal): * Source/WebCore/rendering/RenderElement.h: (WebCore::RenderElement::firstChild const): (WebCore::RenderElement::lastChild const): * Source/WebCore/rendering/RenderObject.cpp: (WebCore::RenderObject::RenderObject): * Source/WebCore/rendering/RenderObject.h: Canonical link: https://commits.webkit.org/268298@main
-
Fix Win/PS debug builds after 268267@main
https://bugs.webkit.org/show_bug.cgi?id=261931 rdar://115872691 Unreviewed build fix. * Source/WebCore/page/scrolling/ScrollAnchoringController.cpp: (WebCore::ScrollAnchoringController::adjustScrollPositionForAnchoring): Canonical link: https://commits.webkit.org/268297@main
-
EWordSide should be an enum class
https://bugs.webkit.org/show_bug.cgi?id=261770 rdar://115743034 Reviewed by Michael Catanzaro. This commit narrows down the underlying type of EWordSide and converts it to an enum class for type safety. * Source/WebCore/accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::startCharacterOffsetOfWord): (WebCore::AXObjectCache::endCharacterOffsetOfWord): (WebCore::AXObjectCache::previousWordStartCharacterOffset): (WebCore::AXObjectCache::nextWordEndCharacterOffset): (WebCore::AXObjectCache::leftWordRange): (WebCore::AXObjectCache::rightWordRange): * Source/WebCore/accessibility/AXObjectCache.h: * Source/WebCore/accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::positionOfLeftWord const): (WebCore::AccessibilityObject::positionOfRightWord const): * Source/WebCore/accessibility/atspi/AccessibilityObjectTextAtspi.cpp: (WebCore::AccessibilityObjectAtspi::boundaryOffset const): * Source/WebCore/editing/AlternativeTextController.cpp: (WebCore::AlternativeTextController::applyPendingCorrection): (WebCore::AlternativeTextController::timerFired): (WebCore::AlternativeTextController::respondToChangedSelection): * Source/WebCore/editing/Editor.cpp: (WebCore::didApplyAutocorrection): (WebCore::Editor::markMisspellingsAfterTypingToWord): (WebCore::Editor::updateMarkersForWordsAffectedByEditing): (WebCore::Editor::editorUIUpdateTimerFired): * Source/WebCore/editing/TypingCommand.cpp: (WebCore::TypingCommand::markMisspellingsAfterTyping): * Source/WebCore/editing/VisibleSelection.cpp: (WebCore::VisibleSelection::adjustSelectionRespectingGranularity): * Source/WebCore/editing/VisibleUnits.cpp: (WebCore::startOfWord): (WebCore::endOfWord): (WebCore::isStartOfWord): (WebCore::atBoundaryOfGranularity): (WebCore::withinTextUnitOfGranularity): (WebCore::nextWordBoundaryInDirection): (WebCore::enclosingTextUnitOfGranularity): * Source/WebCore/editing/VisibleUnits.h: Canonical link: https://commits.webkit.org/268296@main
-
REGRESSION (267539@main): [iOS] Webpage unexpectedly scrolls down whi…
…le typing in the find bar https://bugs.webkit.org/show_bug.cgi?id=261913 rdar://115796405 Reviewed by Wenson Hsieh. 267539@main adjusted WKWebView's "scroll to target rect" logic to account for content insets, to ensure that content in the inset area does not hide the target rect. However, it did not account for `-[WKWebView _obscuredInsets]` Specifically, the targeted scrolling logic works by computing the scroll delta between the current unobscured offset, and a new offset which reveals the target. Following, 267539@main found matches at the top of the page, could have a negative target offset for content with insets, which was necessary to fix the issue described in that change. However, the unobscured offset is effectively clamped to (0, 0), as it comes from `-[WKWebView _contentRectForUserInteraction]`, which adds obscured insets prior to converting to content view coordinates. Consequently, a constant scroll delta of `-_obscuredInsets.top` is computed when the page is scrolled to the top, and there are obscured insets. This results in repeating scrolling as matches are found at the top of the page. Fix by accounting for the `_obscuredInsets` when determining the minimum scroll position. * Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm: (-[WKWebView _scrollToRect:origin:minimumScrollDistance:]): Add the obscured insets to the minimum content offset to determine a more accurate minimum scrolling position. The logic additionally enforces a maximum minimum content offset of (0, 0), as was the case before 267539@main. * Tools/TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm: (TEST): Canonical link: https://commits.webkit.org/268295@main
-
Fix build with DUMP_NODE_STATISTICS on after 268215@main
https://bugs.webkit.org/show_bug.cgi?id=261930 rdar://115872332 Unreviewed. * Source/WebCore/dom/Node.cpp: (WebCore::liveNodeSet): Canonical link: https://commits.webkit.org/268294@main
-
https://bugs.webkit.org/show_bug.cgi?id=261895 rdar://115853179 Reviewed by Aditya Keerthi. Upstream commit: web-platform-tests/wpt@983ffcf Also re-import css/support to get new color support test file. * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/resources/resource-files.json: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/border-color-currentcolor-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/border-color-currentcolor-ref.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/border-color-currentcolor.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/color-mix-currentcolor-visited-expected.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/color-mix-currentcolor-visited-getcomputedstyle.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/color-mix-currentcolor-visited-ref.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/color-mix-currentcolor-visited.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/currentcolor-004.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/lab-l-over-100-1.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/lab-l-over-100-2.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/lch-005-expected.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/lch-005-ref.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/lch-005.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/oklab-l-over-1-1-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/oklab-l-over-1-1.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/oklab-l-over-1-2-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/oklab-l-over-1-2.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/oklab-l-over-1-ref.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-computed-color-mix-function-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-computed-color-mix-function.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-computed-relative-color-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-computed-relative-color.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-computed-rgb-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-computed-rgb.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-invalid-hsl-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-invalid-hsl.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-invalid-hwb-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-invalid-hwb.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-invalid-relative-color-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-invalid-relative-color.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-invalid-rgb-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-invalid-rgb.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-mix-out-of-gamut-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-mix-out-of-gamut.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-hsl-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-hsl.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-hwb-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-hwb.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-relative-color-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-relative-color.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-rgb-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-rgb.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/opacity-valid-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/opacity-valid.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/relative-color-out-of-gamut-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/relative-color-out-of-gamut.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/w3c-import.log: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-a98rgb-01-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-a98rgb-01.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-displayp3-01-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-displayp3-01.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-hsl-01-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-hsl-01.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-hsl-02-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-hsl-02.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-hwb-01-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-hwb-01.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-lab-01-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-lab-01.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-lch-01-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-lch-01.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-oklab-01-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-oklab-01.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-oklch-01-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-oklch-01.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-prophoto-01-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-prophoto-01.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-rec2020-01-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-rec2020-01.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-rec2020-02-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-rec2020-02.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-rgb-01-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-rgb-01.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-rgb-02-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-rgb-02.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-xyzd50-01-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-xyzd50-01.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-xyzd65-01-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-currentcolor-xyzd65-01.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-green-ref.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/relative-rec2020-ref.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/system-color-consistency-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/system-color-hightlights-vs-getSelection-001-expected.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/system-color-hightlights-vs-getSelection-001.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-color/system-color-hightlights-vs-getSelection-002-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-color/system-color-hightlights-vs-getSelection-001-expected.html. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/system-color-hightlights-vs-getSelection-002.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-color/system-color-hightlights-vs-getSelection-001.html. * LayoutTests/imported/w3c/web-platform-tests/css/css-color/w3c-import.log: * LayoutTests/imported/w3c/web-platform-tests/css/support/color-testcommon.js: Added. * LayoutTests/imported/w3c/web-platform-tests/css/support/computed-testcommon.js: (test_computed_value): * LayoutTests/imported/w3c/web-platform-tests/css/support/interpolation-testcommon.js: (cssTransitionsInterpolation.interpolate): (cssTransitionAllInterpolation.interpolate): (createInterpolationTestTargets): * LayoutTests/imported/w3c/web-platform-tests/css/support/parsing-testcommon.js: (test_valid_value): (test_keyframes_name_valid): Deleted. * LayoutTests/imported/w3c/web-platform-tests/css/support/w3c-import.log: * LayoutTests/platform/glib/TestExpectations: * LayoutTests/platform/ios/TestExpectations: * LayoutTests/platform/mac-monterey/imported/w3c/web-platform-tests/css/css-color/parsing/color-computed-color-mix-function-expected.txt: * LayoutTests/platform/mac-monterey/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-relative-color-expected.txt: Canonical link: https://commits.webkit.org/268293@main
-
Remove unused ImageBuffer DisplayList mode
https://bugs.webkit.org/show_bug.cgi?id=261908 rdar://115864109 Reviewed by Simon Fraser. * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/platform/graphics/ImageBuffer.cpp: (WebCore::ImageBuffer::create): * Source/WebCore/platform/graphics/ImageBuffer.h: * Source/WebCore/platform/graphics/PlatformImageBuffer.h: * Source/WebCore/platform/graphics/displaylists/DisplayListImageBuffer.h: Removed. * Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: * Source/WebCore/Headers.cmake: * Source/WebCore/rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::createGraphicsLayer): * Source/WebCore/rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags): * Source/WebCore/rendering/RenderLayerCompositor.h: * Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm: (-[WKPreferences _displayListDrawingEnabled]): (-[WKPreferences _setDisplayListDrawingEnabled:]): * Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h: * Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h: * Source/WebKitLegacy/mac/WebView/WebPreferences.mm: (-[WebPreferences displayListDrawingEnabled]): (-[WebPreferences setDisplayListDrawingEnabled:]): * Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h: * Source/WebKitLegacy/mac/WebView/WebView.mm: * Tools/MiniBrowser/mac/SettingsController.h: * Tools/MiniBrowser/mac/SettingsController.m: (-[SettingsController _populateMenu:]): (-[SettingsController validateMenuItem:]): (-[SettingsController toggleDisplayListDrawingEnabled:]): Deleted. (-[SettingsController displayListDrawingEnabled]): Deleted. * Tools/MiniBrowser/mac/WK2BrowserWindowController.m: (-[WK2BrowserWindowController didChangeSettings]): * Tools/TestWebKitAPI/Tests/WebCore/ImageBufferTests.cpp: (TestWebKitAPI::TEST): Remove this unused (except for two trivial tests) code. Canonical link: https://commits.webkit.org/268292@main
-
CSS <position> should never serialize to a single value
https://bugs.webkit.org/show_bug.cgi?id=258585 rdar://111750372 Reviewed by Oriol Brufau and Simon Fraser. This was clarified in w3c/csswg-drafts#8996 It's ambiguous in some cases, especially when followed by length. * LayoutTests/fast/backgrounds/background-shorthand-with-backgroundSize-style-expected.txt: * LayoutTests/fast/backgrounds/background-shorthand-with-backgroundSize-style.html: * LayoutTests/fast/css/background-position-serialize-expected.txt: * LayoutTests/fast/css/background-position-serialize.html: * LayoutTests/fast/masking/parsing-webkit-mask-expected.txt: * LayoutTests/fast/masking/parsing-webkit-mask.html: * LayoutTests/fast/masking/parsing-mask-expected.txt: * LayoutTests/fast/masking/parsing-mask.html: * LayoutTests/imported/w3c/web-platform-tests/css/cssom/serialize-values.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/mask-position-valid.html: * LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-anchor-parsing-valid-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-parsing-valid-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-position-parsing-valid-expected.txt: * Source/WebCore/css/ShorthandSerializer.cpp: (WebCore::ShorthandSerializer::serializeLayered const): * Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp: (WebCore::CSSPropertyParserHelpers::consumePosition): Canonical link: https://commits.webkit.org/268291@main
-
export-w3c-test-changes: Add some --help hints for 1st-time users
https://bugs.webkit.org/show_bug.cgi?id=261921 rdar://problem/115868816 Reviewed by Tim Nguyen. Add a couple of hints: - WPT repo should be cloned beforehand. - URL where to generate oAuth token. * Tools/Scripts/webkitpy/w3c/test_exporter.py: (parse_args): Canonical link: https://commits.webkit.org/268290@main
-
[Gardening]: REGRESSION(268267@main): [ macOS wk2 ] fast/scrolling/ma…
…c/programmatic-scroll-overrides-rubberband.html is consistently timing out. rdar://115869106 https://bugs.webkit.org/show_bug.cgi?id=261922 Unreviewed test gardening. * LayoutTests/platform/mac-wk2/TestExpectations: Canonical link: https://commits.webkit.org/268289@main
-
AX: AXPropertyName::IsExpanded becomes stale for certain elements wit…
…h the popovertarget attribute https://bugs.webkit.org/show_bug.cgi?id=261791 rdar://problem/115758014 Reviewed by Andres Gonzalez. Multiple elements can point at a single popover: <button id="show-popover-btn" popovertarget="mypopover" popovertargetaction="show">Show popover</button> <button id="hide-popover-btn" popovertarget="mypopover" popovertargetaction="hide">Hide popover</button> <div id="mypopover" popover>Popover content</div> Currently, if #show-popover-btn is used to open the popover, its AXPropertyName::IsExpanded will be updated, but not #hide-popover-btn's. This can cause ATs to output stale information. This patch resolves this by introducing popover relations into AXRelationType, so that when a popover is shown or hidden, we can efficiently find the elements that point at it via popovertarget and update them. This patch also fixes a bug where we did not update AXPropertyName::SupportsExpanded and AXPropertyName::IsExpanded after the popovertarget attribute is changed dynamically. New testcases added to accessibility/mac/expanded-notification.html. * LayoutTests/accessibility/mac/expanded-notification-expected.txt: * LayoutTests/accessibility/mac/expanded-notification.html: * Source/WebCore/accessibility/AXLogger.cpp: (WebCore::operator<<): * Source/WebCore/accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::getOrCreate): (WebCore::AXObjectCache::onPopoverToggle): (WebCore::AXObjectCache::relationAttributes): (WebCore::AXObjectCache::symmetricRelation): (WebCore::AXObjectCache::attributeToRelationType): (WebCore::AXObjectCache::updateRelations): (WebCore::AXObjectCache::onPopoverTargetToggle): Deleted. * Source/WebCore/accessibility/AXObjectCache.h: (WebCore::AXObjectCache::onPopoverToggle): (WebCore::AXObjectCache::onPopoverTargetToggle): Deleted. * Source/WebCore/accessibility/AccessibilityObjectInterface.h: (WebCore::AXCoreObject::popoverTargetedBy const): * Source/WebCore/html/HTMLElement.cpp: (WebCore::HTMLElement::showPopover): (WebCore::HTMLElement::hidePopoverInternal): * Source/WebCore/html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::handlePopoverTargetAction const): Canonical link: https://commits.webkit.org/268288@main
-
NEW TEST(265708@main): [ wk2 ] fast/mediastream/video-srcObject-set-t…
…wice.html is a flaky ImageOnlyFailure. rdar://115868374 https://bugs.webkit.org/show_bug.cgi?id=261920 Unreviewed test gardening. * LayoutTests/platform/mac-monterey-wk2/TestExpectations: * LayoutTests/platform/wk2/TestExpectations: Canonical link: https://commits.webkit.org/268287@main
-
Use more smart pointers in editing code
https://bugs.webkit.org/show_bug.cgi?id=261844 Reviewed by Brent Fulgham. * Source/WebCore/editing/ApplyBlockElementCommand.cpp: (WebCore::ApplyBlockElementCommand::ApplyBlockElementCommand): * Source/WebCore/editing/ApplyBlockElementCommand.h: * Source/WebCore/editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::ApplyStyleCommand): * Source/WebCore/editing/ApplyStyleCommand.h: (WebCore::ApplyStyleCommand::create): * Source/WebCore/editing/BreakBlockquoteCommand.cpp: (WebCore::BreakBlockquoteCommand::BreakBlockquoteCommand): * Source/WebCore/editing/BreakBlockquoteCommand.h: (WebCore::BreakBlockquoteCommand::create): * Source/WebCore/editing/ChangeListTypeCommand.h: * Source/WebCore/editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::CompositeEditCommand): (WebCore::CompositeEditCommand::apply): (WebCore::CompositeEditCommand::ensureComposition): (WebCore::CompositeEditCommand::applyStyle): (WebCore::CompositeEditCommand::insertParagraphSeparator): (WebCore::CompositeEditCommand::insertLineBreak): (WebCore::CompositeEditCommand::inputText): (WebCore::CompositeEditCommand::deleteSelection): (WebCore::CompositeEditCommand::deleteInsignificantText): (WebCore::CompositeEditCommand::appendBlockPlaceholder): (WebCore::CompositeEditCommand::insertBlockPlaceholder): (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded): (WebCore::CompositeEditCommand::insertNewDefaultParagraphElementAt): (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): (WebCore::CompositeEditCommand::moveParagraphWithClones): (WebCore::CompositeEditCommand::moveParagraphs): * Source/WebCore/editing/CompositeEditCommand.h: * Source/WebCore/editing/CreateLinkCommand.cpp: (WebCore::CreateLinkCommand::CreateLinkCommand): * Source/WebCore/editing/CreateLinkCommand.h: (WebCore::CreateLinkCommand::create): * Source/WebCore/editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): (WebCore::DeleteSelectionCommand::removeNode): (WebCore::DeleteSelectionCommand::handleGeneralDelete): * Source/WebCore/editing/DeleteSelectionCommand.h: (WebCore::DeleteSelectionCommand::create): * Source/WebCore/editing/DictationCommand.cpp: (WebCore::DictationCommand::DictationCommand): (WebCore::DictationCommand::insertText): (WebCore::DictationCommand::insertParagraphSeparator): * Source/WebCore/editing/DictationCommand.h: (WebCore::DictationCommand::create): * Source/WebCore/editing/EditCommand.cpp: (WebCore::EditCommand::EditCommand): (WebCore::SimpleEditCommand::SimpleEditCommand): * Source/WebCore/editing/EditCommand.h: * Source/WebCore/editing/Editor.cpp: (WebCore::ClearTextCommand::ClearTextCommand): (WebCore::ClearTextCommand::CreateAndApply): (WebCore::TemporarySelectionChange::TemporarySelectionChange): (WebCore::Editor::selectionForCommand): (WebCore::Editor::behavior const): (WebCore::Editor::client const): (WebCore::Editor::canEdit const): (WebCore::Editor::canEditRichly const): (WebCore::Editor::canDHTMLCut): (WebCore::Editor::canDHTMLCopy): (WebCore::Editor::canCopy const): (WebCore::Editor::canPaste const): (WebCore::Editor::canDelete const): (WebCore::Editor::shouldSmartDelete): (WebCore::Editor::deleteWithDirection): (WebCore::Editor::deleteSelectionWithSmartDelete): (WebCore::Editor::clearText): (WebCore::Editor::pasteAsPlainText): (WebCore::Editor::pasteAsPlainTextBypassingDHTML): (WebCore::Editor::replaceSelectionWithFragment): (WebCore::Editor::selectedRange): (WebCore::Editor::tryDHTMLCopy): (WebCore::Editor::tryDHTMLCut): (WebCore::Editor::shouldInsertText const): (WebCore::Editor::hasBidiSelection const): (WebCore::Editor::selectionUnorderedListState const): (WebCore::Editor::selectionOrderedListState const): (WebCore::Editor::insertOrderedList): (WebCore::Editor::insertUnorderedList): (WebCore::Editor::increaseSelectionListLevel): (WebCore::Editor::increaseSelectionListLevelOrdered): (WebCore::Editor::increaseSelectionListLevelUnordered): (WebCore::Editor::decreaseSelectionListLevel): (WebCore::Editor::removeFormattingAndStyle): (WebCore::Editor::findEventTargetFromSelection const): (WebCore::Editor::applyStyle): (WebCore::Editor::applyParagraphStyle): (WebCore::Editor::applyStyleToSelection): (WebCore::Editor::applyParagraphStyleToSelection): (WebCore::Editor::selectionStartHasStyle const): (WebCore::Editor::selectionHasStyle const): (WebCore::Editor::selectionStartCSSPropertyValue): (WebCore::Editor::indent): (WebCore::Editor::outdent): (WebCore::Editor::appliedEditing): (WebCore::Editor::unappliedEditing): (WebCore::Editor::reappliedEditing): (WebCore::Editor::clear): (WebCore::Editor::insertText): (WebCore::Editor::insertTextForConfirmedComposition): (WebCore::Editor::insertTextWithoutSendingTextEvent): (WebCore::Editor::insertLineBreak): (WebCore::Editor::insertParagraphSeparator): (WebCore::Editor::insertParagraphSeparatorInQuotedContent): (WebCore::Editor::canCopyFont const): (WebCore::Editor::performCutOrCopy): (WebCore::Editor::paste): (WebCore::Editor::pasteAsQuotation): (WebCore::Editor::quoteFragmentForPasting): (WebCore::Editor::changeSelectionListType): (WebCore::Editor::simplifyMarkup): (WebCore::Editor::copyURL): (WebCore::Editor::copyImage): (WebCore::Editor::revealSelectionIfNeededAfterLoadingImageForElement): (WebCore::Editor::renderLayerDidScroll): (WebCore::Editor::registerCustomUndoStep): (WebCore::Editor::setBaseWritingDirection): (WebCore::Editor::baseWritingDirectionForSelectionStart const): (WebCore::Editor::selectComposition): (WebCore::Editor::confirmOrCancelCompositionAndNotifyClient): (WebCore::SetCompositionScope::SetCompositionScope): (WebCore::Editor::setComposition): (WebCore::Editor::ignoreSpelling): (WebCore::Editor::learnSpelling): (WebCore::Editor::advanceToNextMisspelling): (WebCore::Editor::misspelledWordAtCaretOrRange const): (WebCore::Editor::guessesForMisspelledWord const): (WebCore::Editor::guessesForMisspelledOrUngrammatical): (WebCore::Editor::markMisspellingsAfterTypingToWord): (WebCore::Editor::isSpellCheckingEnabledInFocusedNode const): (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): (WebCore::Editor::markAndReplaceFor): (WebCore::Editor::updateMarkersForWordsAffectedByEditing): (WebCore::Editor::rangeForPoint): (WebCore::Editor::revealSelectionAfterEditingOperation): (WebCore::Editor::setIgnoreSelectionChanges): (WebCore::Editor::getCompositionSelection const): (WebCore::Editor::transpose): (WebCore::Editor::changeSelectionAfterCommand): (WebCore::Editor::selectedText const): (WebCore::Editor::selectedTextForDataTransfer const): (WebCore::Editor::insertTextPlaceholder): (WebCore::Editor::removeTextPlaceholder): (WebCore::Editor::shouldChangeSelection const): (WebCore::Editor::computeAndSetTypingStyle): (WebCore::Editor::findString): (WebCore::Editor::rangeOfString): (WebCore::Editor::countMatchesForText): (WebCore::Editor::respondToChangedSelection): (WebCore::Editor::shouldDetectTelephoneNumbers const): (WebCore::Editor::scanSelectionForTelephoneNumbers): (WebCore::Editor::editorUIUpdateTimerFired): (WebCore::Editor::selectionStartHasMarkerFor const): (WebCore::Editor::stringForCandidateRequest const): (WebCore::Editor::contextRangeForCandidateRequest const): (WebCore::Editor::fontAttributesAtSelectionStart): (WebCore::Editor::notifyClientOfAttachmentUpdates): (WebCore::Editor::insertAttachment): (WebCore::Editor::handleAcceptedCandidate): (WebCore::Editor::unifiedTextCheckerEnabled const): (WebCore::Editor::toggleOverwriteModeEnabled): (WebCore::Editor::styleForSelectionStart): (WebCore::Editor::fontForSelection): (WebCore::Editor::canCopyExcludingStandaloneImages const): * Source/WebCore/editing/Editor.h: (WebCore::Editor::protectedCompositionNode const): (WebCore::Editor::document const): (WebCore::Editor::protectedDocument const): * Source/WebCore/editing/FormatBlockCommand.cpp: (WebCore::FormatBlockCommand::FormatBlockCommand): * Source/WebCore/editing/FormatBlockCommand.h: (WebCore::FormatBlockCommand::create): * Source/WebCore/editing/IndentOutdentCommand.cpp: (WebCore::IndentOutdentCommand::IndentOutdentCommand): (WebCore::IndentOutdentCommand::outdentParagraph): * Source/WebCore/editing/IndentOutdentCommand.h: (WebCore::IndentOutdentCommand::create): * Source/WebCore/editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::InsertLineBreakCommand): (WebCore::InsertLineBreakCommand::doApply): * Source/WebCore/editing/InsertLineBreakCommand.h: (WebCore::InsertLineBreakCommand::create): * Source/WebCore/editing/InsertListCommand.cpp: (WebCore::InsertListCommand::insertList): (WebCore::InsertListCommand::InsertListCommand): * Source/WebCore/editing/InsertListCommand.h: * Source/WebCore/editing/InsertNestedListCommand.h: * Source/WebCore/editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::InsertParagraphSeparatorCommand): * Source/WebCore/editing/InsertParagraphSeparatorCommand.h: (WebCore::InsertParagraphSeparatorCommand::create): * Source/WebCore/editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::InsertTextCommand): * Source/WebCore/editing/InsertTextCommand.h: (WebCore::InsertTextCommand::create): (WebCore::InsertTextCommand::createWithMarkerSupplier): * Source/WebCore/editing/ModifySelectionListLevel.cpp: (WebCore::ModifySelectionListLevelCommand::ModifySelectionListLevelCommand): (WebCore::IncreaseSelectionListLevelCommand::IncreaseSelectionListLevelCommand): (WebCore::DecreaseSelectionListLevelCommand::DecreaseSelectionListLevelCommand): * Source/WebCore/editing/ModifySelectionListLevel.h: (WebCore::DecreaseSelectionListLevelCommand::create): * Source/WebCore/editing/RemoveFormatCommand.cpp: (WebCore::RemoveFormatCommand::RemoveFormatCommand): * Source/WebCore/editing/RemoveFormatCommand.h: (WebCore::RemoveFormatCommand::create): * Source/WebCore/editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): * Source/WebCore/editing/ReplaceSelectionCommand.h: (WebCore::ReplaceSelectionCommand::create): * Source/WebCore/editing/SimplifyMarkupCommand.cpp: (WebCore::SimplifyMarkupCommand::SimplifyMarkupCommand): * Source/WebCore/editing/SimplifyMarkupCommand.h: (WebCore::SimplifyMarkupCommand::create): * Source/WebCore/editing/SpellingCorrectionCommand.cpp: (WebCore::SpellingCorrectionRecordUndoCommand::create): (WebCore::SpellingCorrectionRecordUndoCommand::SpellingCorrectionRecordUndoCommand): * Source/WebCore/editing/TextInsertionBaseCommand.cpp: (WebCore::TextInsertionBaseCommand::TextInsertionBaseCommand): * Source/WebCore/editing/TextInsertionBaseCommand.h: (WebCore::TextInsertionBaseCommand::~TextInsertionBaseCommand): * Source/WebCore/editing/TextIterator.cpp: (WebCore::TextIterator::advance): (WebCore::TextIterator::handleTextNode): (WebCore::TextIterator::handleTextRun): (WebCore::TextIterator::shouldRepresentNodeOffsetZero): * Source/WebCore/editing/TypingCommand.cpp: (WebCore::TypingCommand::TypingCommand): (WebCore::TypingCommand::deleteSelection): (WebCore::TypingCommand::deleteKeyPressed): (WebCore::TypingCommand::forwardDeleteKeyPressed): (WebCore::TypingCommand::insertText): (WebCore::TypingCommand::insertLineBreak): (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent): (WebCore::TypingCommand::insertParagraphSeparator): * Source/WebCore/editing/TypingCommand.h: * Source/WebCore/editing/UnlinkCommand.cpp: (WebCore::UnlinkCommand::UnlinkCommand): * Source/WebCore/editing/UnlinkCommand.h: (WebCore::UnlinkCommand::create): * Source/WebCore/editing/VisibleSelection.cpp: (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries): * Source/WebCore/editing/cocoa/EditorCocoa.mm: (WebCore::Editor::selectionInHTMLFormat): (WebCore::Editor::writeSelectionToPasteboard): (WebCore::Editor::writeSelection): (WebCore::Editor::selectionInWebArchiveFormat): (WebCore::Editor::replaceSelectionWithAttributedString): (WebCore::Editor::webContentFromPasteboard): (WebCore::Editor::takeFindStringFromSelection): (WebCore::Editor::readSelectionFromPasteboard): (WebCore::Editor::replaceNodeFromPasteboard): * Source/WebCore/editing/ios/DictationCommandIOS.cpp: (WebCore::DictationCommandIOS::DictationCommandIOS): (WebCore::DictationCommandIOS::create): * Source/WebCore/editing/ios/DictationCommandIOS.h: * Source/WebCore/editing/ios/EditorIOS.mm: (WebCore::Editor::setTextAsChildOfElement): (WebCore::Editor::ensureLastEditCommandHasCurrentSelectionIfOpenForMoreTyping): * Source/WebCore/editing/mac/EditorMac.mm: (WebCore::Editor::platformCopyFont): (WebCore::Editor::platformPasteFont): (WebCore::Editor::selectionWillChange): Canonical link: https://commits.webkit.org/268286@main
-
[Gardening]: [ macOS wk2 ] webanimations/frame-rate/animation-frame-r…
…ate-alignment-started-with-one-frame-separation.html is a flaky failure. rdar://115867501 https://bugs.webkit.org/show_bug.cgi?id=261919 Unreviewed test gardening. * LayoutTests/platform/mac-wk2/TestExpectations: Canonical link: https://commits.webkit.org/268285@main
Commits on Sep 21, 2023
-
[Gardening]: media/video-pause-while-seeking.html is a flaky failure.
rdar://115866903 https://bugs.webkit.org/show_bug.cgi?id=261916 Unreviewed test gardening. * LayoutTests/TestExpectations: Canonical link: https://commits.webkit.org/268284@main