[webkit-changes] [WebKit/WebKit] b56ff5: [JSC] DataView constructor should check if byteOff...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b56ff58373f19371af18fbb1a77833d898e80de9 https://github.com/WebKit/WebKit/commit/b56ff58373f19371af18fbb1a77833d898e80de9 Author: sosukesuzuki Date: 2024-05-04 (Sat, 04 May 2024) Changed paths: M JSTests/stress/dataview-construct.js M JSTests/test262/expectations.yaml M Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h Log Message: --- [JSC] DataView constructor should check if byteOffset exceeds source ArrayBuffer length before creating an instance https://bugs.webkit.org/show_bug.cgi?id=273689 Reviewed by Yusuke Suzuki. According to the spec[1], should check if byteOffset exceeds source ArrayBuffer length before creating an instance. This patch fixes the test case that is failing in test262[2]. [1]: https://tc39.es/ecma262/#sec-dataview-buffer-byteoffset-bytelength [2]: https://github.com/tc39/test262/blob/main/test/built-ins/DataView/byteOffset-validated-against-initial-buffer-length.js * JSTests/stress/dataview-construct.js: (shouldThrow): * JSTests/test262/expectations.yaml: * Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h: (JSC::constructGenericTypedArrayViewImpl): Canonical link: https://commits.webkit.org/278385@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f941ea: https://bugs.webkit.org/show_bug.cgi?id=273660
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f941ea9d5e9411a302f3d699966493a660ecc46c https://github.com/WebKit/WebKit/commit/f941ea9d5e9411a302f3d699966493a660ecc46c Author: Alan Baradlay Date: 2024-05-04 (Sat, 04 May 2024) Changed paths: A LayoutTests/fast/inline/dynamic-line-clamp-change-on-nested-content-expected.html A LayoutTests/fast/inline/dynamic-line-clamp-change-on-nested-content.html M Source/WebCore/rendering/RenderBlockFlow.cpp Log Message: --- https://bugs.webkit.org/show_bug.cgi?id=273660 Reviewed by Antti Koivisto. RenderDeprecatedFlexibleBox marks direct children dirty when dealing with line-clamp, but since this functionality gets propagated to nested block containers too, we need to make sure descendant content gets laid out (in order to be able to figure out where to clamp inline content). * LayoutTests/fast/inline/dynamic-line-clamp-change-on-nested-content-expected.html: Added. * LayoutTests/fast/inline/dynamic-line-clamp-change-on-nested-content.html: Added. * Source/WebCore/rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::layoutBlock): Canonical link: https://commits.webkit.org/278384@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 9e40c1: Optimize some usage of StringBuilder
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9e40c12adba07ed27e7bd52bb32cfedcb1eef2aa https://github.com/WebKit/WebKit/commit/9e40c12adba07ed27e7bd52bb32cfedcb1eef2aa Author: Chris Dumez Date: 2024-05-04 (Sat, 04 May 2024) Changed paths: M Source/JavaScriptCore/runtime/FileBasedFuzzerAgentBase.cpp M Source/WTF/wtf/URL.cpp M Source/WTF/wtf/text/WTFString.cpp M Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp M Source/WebCore/Modules/entriesapi/DOMFileSystem.cpp M Source/WebCore/Modules/geolocation/Geolocation.cpp M Source/WebCore/Modules/indexeddb/IDBKeyData.cpp M Source/WebCore/Modules/indexeddb/IDBKeyPath.cpp M Source/WebCore/Modules/push-api/PushSubscriptionIdentifier.cpp M Source/WebCore/PAL/pal/text/DecodeEscapeSequences.h M Source/WebCore/css/CSSCounterStyleDescriptors.cpp M Source/WebCore/css/CSSStyleRule.cpp M Source/WebCore/css/query/GenericMediaQuerySerialization.cpp M Source/WebCore/css/typedom/CSSOMVariableReferenceValue.cpp M Source/WebCore/css/typedom/transform/CSSMatrixComponent.cpp M Source/WebCore/dom/FragmentDirectiveGenerator.cpp M Source/WebCore/editing/FontShadow.cpp M Source/WebCore/inspector/InspectorOverlay.cpp M Source/WebCore/loader/ResourceLoadStatistics.cpp M Source/WebCore/loader/archive/mhtml/MHTMLArchive.cpp M Source/WebCore/platform/graphics/CodecUtilities.cpp M Source/WebCore/platform/graphics/MediaPlayer.cpp M Source/WebCore/platform/graphics/VP9Utilities.cpp M Source/WebCore/platform/gtk/SelectionData.cpp M Source/WebCore/platform/mediarecorder/MediaRecorderPrivateMock.cpp M Source/WebCore/platform/network/curl/NetworkStorageSessionCurl.cpp M Source/WebCore/platform/text/win/LocaleWin.cpp M Source/WebCore/testing/Internals.cpp M Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp M Source/WebGPU/WGSL/Parser.cpp M Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm M Source/WebKit/NetworkProcess/storage/CacheStorageManager.cpp M Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp Log Message: --- Optimize some usage of StringBuilder https://bugs.webkit.org/show_bug.cgi?id=273728 Reviewed by Tim Nguyen. Optimize some usage of StringBuilder. This is a follow-up to 278348@main to address Darin's comments. * Source/JavaScriptCore/runtime/FileBasedFuzzerAgentBase.cpp: (JSC::FileBasedFuzzerAgentBase::createLookupKey): * Source/WTF/wtf/URL.cpp: (WTF::percentEncodeCharacters): * Source/WTF/wtf/text/WTFString.cpp: (asciiDebug): * Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp: (WebCore::MediaKeySession::updateKeyStatuses): * Source/WebCore/Modules/entriesapi/DOMFileSystem.cpp: (WebCore::resolveRelativeVirtualPath): * Source/WebCore/Modules/geolocation/Geolocation.cpp: (WebCore::logError): * Source/WebCore/Modules/indexeddb/IDBKeyData.cpp: (WebCore::IDBKeyData::loggingString const): * Source/WebCore/Modules/indexeddb/IDBKeyPath.cpp: (WebCore::loggingString): * Source/WebCore/Modules/push-api/PushSubscriptionIdentifier.cpp: (WebCore::PushSubscriptionSetIdentifier::debugDescription const): * Source/WebCore/PAL/pal/text/DecodeEscapeSequences.h: (PAL::decodeEscapeSequences): * Source/WebCore/css/CSSCounterStyleDescriptors.cpp: (WebCore::CSSCounterStyleDescriptors::symbolsCSSText const): (WebCore::CSSCounterStyleDescriptors::additiveSymbolsCSSText const): * Source/WebCore/css/CSSStyleRule.cpp: (WebCore::CSSStyleRule::cssTextInternal const): * Source/WebCore/css/query/GenericMediaQuerySerialization.cpp: (WebCore::MQ::serialize): * Source/WebCore/css/typedom/CSSOMVariableReferenceValue.cpp: (WebCore::CSSOMVariableReferenceValue::serialize const): * Source/WebCore/css/typedom/transform/CSSMatrixComponent.cpp: (WebCore::CSSMatrixComponent::serialize const): * Source/WebCore/dom/FragmentDirectiveGenerator.cpp: (WebCore::FragmentDirectiveGenerator::generateFragmentDirective): * Source/WebCore/editing/FontShadow.cpp: (WebCore::serializationForCSS): * Source/WebCore/inspector/InspectorOverlay.cpp: (WebCore::InspectorOverlay::buildFlexOverlay): * Source/WebCore/loader/ResourceLoadStatistics.cpp: (WebCore::ResourceLoadStatistics::toString const): * Source/WebCore/loader/archive/mhtml/MHTMLArchive.cpp: (WebCore::MHTMLArchive::generateMHTMLData): * Source/WebCore/platform/graphics/CodecUtilities.cpp: (WebCore::humanReadableStringFromCodecString): * Source/WebCore/platform/graphics/MediaPlayer.cpp: (WebCore::SeekTarget::toString const): * Source/WebCore/platform/graphics/VP9Utilities.cpp: (WebCore::createVPCodecParametersString): * Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp: (WebCore::TextureMapperShaderProgram::create): * Source/WebCore/platform/gtk/SelectionData.cpp: (WebCore::SelectionData::setURL): * Source/WebCore/platform/mediarecorder/MediaRecorderPrivateMock.cpp: (WebCore::MediaRecorderPrivateMock::videoFrameAvailable):
[webkit-changes] [WebKit/WebKit] 35802b: Fix PS build following 278369@main
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 35802bc724e45ce3cfc985151a2de4a62fb309ba https://github.com/WebKit/WebKit/commit/35802bc724e45ce3cfc985151a2de4a62fb309ba Author: Ross Kirsling Date: 2024-05-04 (Sat, 04 May 2024) Changed paths: M Source/JavaScriptCore/runtime/StructureID.h Log Message: --- Fix PS build following 278369@main https://bugs.webkit.org/show_bug.cgi?id=273742 Unreviewed build fix. * Source/JavaScriptCore/runtime/StructureID.h: Add missing include. Canonical link: https://commits.webkit.org/278382@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 91285f: HTMLMediaElement::ensureMediaControls() should han...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 91285f2f6800e5031c656e2ccad4352fe88b1d3b https://github.com/WebKit/WebKit/commit/91285f2f6800e5031c656e2ccad4352fe88b1d3b Author: Mark Lam Date: 2024-05-04 (Sat, 04 May 2024) Changed paths: M Source/WebCore/html/HTMLMediaElement.cpp Log Message: --- HTMLMediaElement::ensureMediaControls() should handle its own exceptions. https://bugs.webkit.org/show_bug.cgi?id=273706 rdar://126757731 Reviewed by Yusuke Suzuki and Jer Noble. Ensure that setupAndCallJS() handles any uncaught exceptions before returning. This makes it such that the tasks that it calls do not needs to deal with this. * Source/WebCore/html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::ensureMediaControls): Canonical link: https://commits.webkit.org/278381@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 5190cb: [RenderTreeBuilder] Subtree teardown should trigge...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5190cb5ad565483033b079b455accec21ee69a0d https://github.com/WebKit/WebKit/commit/5190cb5ad565483033b079b455accec21ee69a0d Author: Alan Baradlay Date: 2024-05-04 (Sat, 04 May 2024) Changed paths: M Source/WebCore/rendering/updating/RenderTreeBuilder.cpp M Source/WebCore/rendering/updating/RenderTreeUpdater.cpp M Source/WebCore/rendering/updating/RenderTreeUpdater.h Log Message: --- [RenderTreeBuilder] Subtree teardown should trigger repaint only on destroy root https://bugs.webkit.org/show_bug.cgi?id=273210 Reviewed by Antti Koivisto. 1. Move repaint logic to RenderTreeUpdate so that we can issue repaint _before_ teardown. 2. Issue repaint on the destroy root and any descendants that are not part of visual overflow when needed. * Source/WebCore/rendering/updating/RenderTreeBuilder.cpp: (WebCore::RenderTreeBuilder::resetRendererStateOnDetach): (WebCore::RenderTreeBuilder::detachFromRenderElement): (WebCore::resetRendererStateOnDetach): Deleted. * Source/WebCore/rendering/updating/RenderTreeBuilder.h: Canonical link: https://commits.webkit.org/278380@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 4223b7: When interpolating colors, analogous components mu...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 4223b7f3eb559e7f06c7fcbe5a4ce9831f891390 https://github.com/WebKit/WebKit/commit/4223b7f3eb559e7f06c7fcbe5a4ce9831f891390 Author: Sam Weinig Date: 2024-05-04 (Sat, 04 May 2024) Changed paths: M LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-computed-color-mix-function-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-computed-relative-color-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/color-valid-relative-color-expected.txt M Source/WebCore/css/color/CSSResolvedColorMix.cpp M Source/WebCore/css/parser/CSSPropertyParserConsumer+Color.cpp M Source/WebCore/platform/graphics/Color.h M Source/WebCore/platform/graphics/ColorBlending.cpp M Source/WebCore/platform/graphics/ColorConversion.h M Source/WebCore/platform/graphics/ColorInterpolation.cpp M Source/WebCore/platform/graphics/ColorModels.h M Source/WebCore/platform/graphics/ColorSerialization.cpp M Source/WebCore/platform/graphics/cg/GradientRendererCG.cpp Log Message: --- When interpolating colors, analogous components must be carried forward https://bugs.webkit.org/show_bug.cgi?id=273033 Reviewed by Tim Nguyen. Adds support for missing analogous component forwarding as described by CSS Color 4 ยง 12. Color Interpolating. This allows missing components to survive color space conversion in cases where the input and output color spaces have analogous components. For example, when converting `lch(10 20 none)` to HSL, the missing hue in the LCH would be carried forward to the hue of the HSL. * 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-valid-relative-color-expected.txt: - Update results for newly passing tests. * Source/WebCore/platform/graphics/ColorModels.h: - Add analogous component values to the ColorModel component descriptions. * Source/WebCore/platform/graphics/ColorConversion.h: (WebCore::analogousComponentIndex): (WebCore::tryToCarryForwardComponentIfMissing): (WebCore::convertColorCarryingForwardMissing): - Implement support for the carrying using the analogous component descriptions now in ColorModels. (WebCore::computeDeltaEOK): (WebCore::ColorConversion::handleToFloatConversion): (WebCore::ColorConversion::handleToByteConversion): (WebCore::ColorConversion::toLinearEncoded): (WebCore::ColorConversion::toGammaEncoded): (WebCore::ColorConversion::toExtended): (WebCore::ColorConversion::toBounded): (WebCore::ColorConversion::handleRGBFamilyConversion): (WebCore::ColorConversion::handleMatrixConversion): - Remove some unnecessary "inline" annotations for template functions. * Source/WebCore/platform/graphics/Color.h: (WebCore::Color::toColorTypeLossyCarryingForwardMissing const): - Add new helper on Color to invoke the new conversion function. * Source/WebCore/css/parser/CSSPropertyParserConsumer+Color.cpp: (WebCore::CSSPropertyParserHelpers::consumeAndNormalizeRelativeComponents): - Utilize the new conversion function. * Source/WebCore/css/color/CSSResolvedColorMix.cpp: (WebCore::mixColorComponentsUsingColorInterpolationMethod): - Utilize the new conversion function. * Source/WebCore/platform/graphics/ColorBlending.cpp: (WebCore::blend): - Utilize the new conversion function. * Source/WebCore/platform/graphics/ColorInterpolation.cpp: (WebCore::interpolateColors): - Utilize the new conversion function. * Source/WebCore/platform/graphics/ColorSerialization.cpp: (WebCore::serializationForCSS): - Utilize the new conversion function. * Source/WebCore/platform/graphics/cg/GradientRendererCG.cpp: (WebCore::GradientRendererCG::makeShading const): - Utilize the new conversion function. Canonical link: https://commits.webkit.org/278379@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 7754d9: [UnifiedPDF] Text jiggles between the low-res page...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 7754d9bf5ef54b9c4c58bdace2e3cd25da11df2c https://github.com/WebKit/WebKit/commit/7754d9bf5ef54b9c4c58bdace2e3cd25da11df2c Author: Simon Fraser Date: 2024-05-04 (Sat, 04 May 2024) Changed paths: M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/AsyncPDFRenderer.mm Log Message: --- [UnifiedPDF] Text jiggles between the low-res page snapshots and high-resolution tiles https://bugs.webkit.org/show_bug.cgi?id=273727 rdar://127523619 Reviewed by Tim Horton. Fix two issues that caused text and other content to not be perfectly aligned between page previews and high-resolution tiles. First, the scale are always non-integral, so there was some slight scaling of the page preview buffers in `AsyncPDFRenderer::paintPagePreview()` since the image buffer size is an expanded integral value, and when painting without a sourceRect, it scales the whole buffer to fit the destination rect. We can use the same rect for source and destination to avoid this. Second, turn off CG font subpixel quantization and positioning, both of which can cause glyphs to snap when drawing into the scaled-down context used for page previews. * Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/AsyncPDFRenderer.mm: (WebKit::AsyncPDFRenderer::paintPDFPageIntoBuffer): (WebKit::AsyncPDFRenderer::paintPagePreview): Canonical link: https://commits.webkit.org/278378@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d62fea: Fix find-in-page for words spanning display:contents
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d62fea57b1cc71a3c91be926c749759ac3d1d446 https://github.com/WebKit/WebKit/commit/d62fea57b1cc71a3c91be926c749759ac3d1d446 Author: Ahmad Saleem Date: 2024-05-04 (Sat, 04 May 2024) Changed paths: M LayoutTests/accessibility/display-contents/aria-grid-expected.txt M LayoutTests/accessibility/display-contents/list-expected.txt M LayoutTests/accessibility/display-contents/role-row-headers-expected.txt M LayoutTests/accessibility/display-contents/table-expected.txt M LayoutTests/accessibility/display-contents/tree-and-treeitems-expected.txt M LayoutTests/accessibility/live-region-attributes-update-after-dynamic-change-expected.txt M LayoutTests/accessibility/mac/aria-drag-drop-expected.txt M LayoutTests/dom/html/document-renderobject-null-crash-expected.txt M LayoutTests/fast/css/counters/findPlaceForCounter-display-content-sibling-crash-expected.txt M LayoutTests/fast/events/ios/click-event-and-display-contents-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-display/accessibility/display-contents-role-and-label-expected.txt M LayoutTests/imported/w3c/web-platform-tests/html/dom/elements/the-innertext-and-outertext-properties/getter-expected.txt M LayoutTests/platform/glib/accessibility/display-contents/aria-grid-expected.txt M LayoutTests/platform/glib/accessibility/display-contents/table-expected.txt M LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-display/accessibility/display-contents-role-and-label-expected.txt M LayoutTests/platform/ios/accessibility/display-contents/table-expected.txt M Source/WebCore/editing/TextIterator.cpp Log Message: --- Fix find-in-page for words spanning display:contents https://bugs.webkit.org/show_bug.cgi?id=273686 Reviewed by Simon Fraser. This aligns WebKit with Gecko / Firefox and Blink / Chromium. Merge; https://source.chromium.org/chromium/chromium/src/+/2698ab2e0135bd4b62a4e472eceb3174592bf605 This patch is to ensure that 'TextIerator' does not emit lines before/after display:contents elements. * Source/WebCore/editing/TextIterator.cpp: (shouldEmitNewlinesBeforeAndAfterNode): * LayoutTests/imported/w3c/web-platform-tests/html/dom/elements/the-innertext-and-outertext-properties/getter-expected.txt: Rebaselined * LayoutTests/accessibility/display-contents/aria-grid-expected.txt: Ditto * LayoutTests/accessibility/display-contents/list-expected.txt: Ditto * LayoutTests/accessibility/display-contents/role-row-headers-expected.txt: Ditto * LayoutTests/accessibility/display-contents/table-expected.txt: Ditto * LayoutTests/accessibility/display-contents/tree-and-treeitems-expected.txt: Ditto * LayoutTests/accessibility/live-region-attributes-update-after-dynamic-change-expected.txt: Ditto * LayoutTests/accessibility/mac/aria-drag-drop-expected.txt: Ditto * LayoutTests/dom/html/document-renderobject-null-crash-expected.txt: Ditto * LayoutTests/fast/css/counters/findPlaceForCounter-display-content-sibling-crash-expected.txt: Ditto * LayoutTests/fast/events/ios/click-event-and-display-contents-expected.txt: Ditto * LayoutTests/imported/w3c/web-platform-tests/css/css-display/accessibility/display-contents-role-and-label-expected.txt: Ditto * LayoutTests/platform/glib/accessibility/display-contents/aria-grid-expected.txt: Ditto * LayoutTests/platform/glib/accessibility/display-contents/table-expected.txt: Ditto * LayoutTests/platform/ios/accessibility/display-contents/table-expected.txt: Ditto * LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-display/accessibility/display-contents-role-and-label-expected.txt: Ditto Canonical link: https://commits.webkit.org/278377@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b675dc: AX: Map AccessibilityRole::TabList to UIAccessibil...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b675dc6863ca418dafb534d00cc5b39c505210b9 https://github.com/WebKit/WebKit/commit/b675dc6863ca418dafb534d00cc5b39c505210b9 Author: Tyler Wilcock Date: 2024-05-04 (Sat, 04 May 2024) Changed paths: A LayoutTests/accessibility/ios-simulator/menu-item-trait-expected.txt A LayoutTests/accessibility/ios-simulator/menu-item-trait.html A LayoutTests/accessibility/ios-simulator/tab-bar-trait-expected.txt A LayoutTests/accessibility/ios-simulator/tab-bar-trait.html M Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm M Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp M Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h M Tools/WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl M Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm Log Message: --- AX: Map AccessibilityRole::TabList to UIAccessibilityTabBarTrait equivalent, remove usage of _axTabButtonTrait https://bugs.webkit.org/show_bug.cgi?id=273707 rdar://problem/127510709 Reviewed by Chris Fleizach. _axTabButtonTrait is a private trait, so we shouldn't use it. It's possible to achieve the same functionality by mapping the role="tablist" container to UIAccessibilityTabBarTrait (a public trait), so this patch does that. * LayoutTests/accessibility/ios-simulator/menu-item-trait-expected.txt: Added. * LayoutTests/accessibility/ios-simulator/menu-item-trait.html: Added. * LayoutTests/accessibility/ios-simulator/tab-bar-trait-expected.txt: Added. * LayoutTests/accessibility/ios-simulator/tab-bar-trait.html: Added. * Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: (-[WebAccessibilityObjectWrapper accessibilityTraits]): * Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp: (WTR::AccessibilityUIElement::hasTabBarTrait): (WTR::AccessibilityUIElement::hasMenuItemTrait): * Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: * Tools/WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl: * Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm: (WTR::AccessibilityUIElement::hasTabBarTrait): (WTR::AccessibilityUIElement::hasMenuItemTrait): Canonical link: https://commits.webkit.org/278376@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 06293e: AX: Moving testing only attributes in WebAccessibi...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 06293e14f6192bc94fb109fa00fbc16a22e4f024 https://github.com/WebKit/WebKit/commit/06293e14f6192bc94fb109fa00fbc16a22e4f024 Author: Tyler Wilcock Date: 2024-05-04 (Sat, 04 May 2024) Changed paths: M Source/WebCore/accessibility/AXObjectCache.cpp M Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm Log Message: --- AX: Moving testing only attributes in WebAccessibilityObjectWrapperMac.mm to attributeValueForTesting https://bugs.webkit.org/show_bug.cgi?id=273711 rdar://problem/127512021 Reviewed by Chris Fleizach. This is a tiny performance improvement and code cleanup. This patch also includes another performance improvement in AXObjectCache::handleTextChanged. Prior to this patch, it used to fire notification AXTextUnderElementChanged when text changed underneath an AccessibilityRole::ListItem, in turn causing expensive isolated tree property updates for the list item. This is completely unnecessary, as AccessibilityRole::ListItem does not return true for dependsOnTextUnderElement(). * Source/WebCore/accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::handleTextChanged): * Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm: (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]): (attributeValueForTesting): Canonical link: https://commits.webkit.org/278375@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] e96d0e: Add a few rules about spaces around lambdas and te...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e96d0ed0cc8243f4e80b8b44e8bbbe2c9365856a https://github.com/WebKit/WebKit/commit/e96d0ed0cc8243f4e80b8b44e8bbbe2c9365856a Author: Sam Weinig Date: 2024-05-04 (Sat, 04 May 2024) Changed paths: M Websites/webkit.org/code-style.md Log Message: --- Add a few rules about spaces around lambdas and templates to the style guide https://bugs.webkit.org/show_bug.cgi?id=273724 Reviewed by Chris Dumez and Darin Adler. Fleshes out the rules spaces in and around lambdas and templates. * Websites/webkit.org/code-style.md: Canonical link: https://commits.webkit.org/278374@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b25db3: Unreviewed, reverting 278366@main (fc1560b)
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b25db3d22863bfa96a16aaf3b9aa74a2df2f0b08 https://github.com/WebKit/WebKit/commit/b25db3d22863bfa96a16aaf3b9aa74a2df2f0b08 Author: Yusuke Suzuki Date: 2024-05-04 (Sat, 04 May 2024) Changed paths: M Source/JavaScriptCore/CMakeLists.txt M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj M Source/JavaScriptCore/assembler/MacroAssembler.h M Source/JavaScriptCore/assembler/MacroAssemblerARM64.cpp M Source/JavaScriptCore/assembler/MacroAssemblerARMv7.cpp M Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.cpp M Source/JavaScriptCore/assembler/MacroAssemblerX86Common.cpp M Source/JavaScriptCore/b3/B3Type.h M Source/JavaScriptCore/b3/B3Validate.cpp M Source/JavaScriptCore/b3/air/AirCCallingConvention.cpp M Source/JavaScriptCore/b3/testb3.h M Source/JavaScriptCore/b3/testb3_5.cpp M Source/JavaScriptCore/b3/testb3_6.cpp M Source/JavaScriptCore/b3/testb3_7.cpp M Source/JavaScriptCore/dfg/DFGAbstractInterpreter.h M Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h M Source/JavaScriptCore/dfg/DFGArithMode.h M Source/JavaScriptCore/dfg/DFGArrayifySlowPathGenerator.h M Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp M Source/JavaScriptCore/dfg/DFGCallArrayAllocatorSlowPathGenerator.h M Source/JavaScriptCore/dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h M Source/JavaScriptCore/dfg/DFGJITCompiler.h M Source/JavaScriptCore/dfg/DFGOSRExit.cpp M Source/JavaScriptCore/dfg/DFGOSRExit.h M Source/JavaScriptCore/dfg/DFGOperations.cpp M Source/JavaScriptCore/dfg/DFGOperations.h M Source/JavaScriptCore/dfg/DFGSaneStringGetByValSlowPathGenerator.h M Source/JavaScriptCore/dfg/DFGSlowPathGenerator.h M Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp M Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h M Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp M Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp M Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp M Source/JavaScriptCore/ftl/FTLOSRExitCompiler.cpp M Source/JavaScriptCore/ftl/FTLOSRExitCompiler.h M Source/JavaScriptCore/ftl/FTLOperations.cpp M Source/JavaScriptCore/ftl/FTLOperations.h M Source/JavaScriptCore/ftl/FTLOutput.cpp M Source/JavaScriptCore/ftl/FTLOutput.h M Source/JavaScriptCore/jit/AssemblyHelpers.cpp M Source/JavaScriptCore/jit/AssemblyHelpers.h M Source/JavaScriptCore/jit/CCallHelpers.h M Source/JavaScriptCore/jit/JIT.h M Source/JavaScriptCore/jit/JITCall.cpp M Source/JavaScriptCore/jit/JITInlines.h M Source/JavaScriptCore/jit/JITOperations.cpp M Source/JavaScriptCore/jit/JITOperations.h R Source/JavaScriptCore/jit/OperationResult.h M Source/JavaScriptCore/llint/LLIntThunks.h M Source/JavaScriptCore/runtime/AtomicsObject.cpp M Source/JavaScriptCore/runtime/CommonSlowPaths.h M Source/JavaScriptCore/runtime/ExceptionScope.h M Source/JavaScriptCore/runtime/HashMapImplInlines.h M Source/JavaScriptCore/runtime/MathCommon.cpp M Source/JavaScriptCore/runtime/MathCommon.h M Source/JavaScriptCore/runtime/StringPrototype.cpp M Source/JavaScriptCore/tools/JSDollarVM.cpp M Source/JavaScriptCore/wasm/WasmOperations.cpp M Source/JavaScriptCore/wasm/WasmOperations.h M Source/JavaScriptCore/yarr/YarrJIT.cpp M Source/WTF/wtf/PlatformCallingConventions.h M Source/WTF/wtf/Threading.cpp M Source/WebCore/bindings/scripts/CodeGeneratorJS.pm M Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.cpp M Source/WebCore/cssjit/SelectorCompiler.cpp M Source/WebCore/domjit/JSDocumentDOMJIT.cpp Log Message: --- Unreviewed, reverting 278366@main (fc1560b) https://bugs.webkit.org/show_bug.cgi?id=273732 rdar://127536653 Canonical link: https://commits.webkit.org/278373@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 8251b5: ASAN_SEGV | WebCore::RenderFragmentedFlow::objectS...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8251b5c26b6d9ddd3ac1268c2d8c7940094a49af https://github.com/WebKit/WebKit/commit/8251b5c26b6d9ddd3ac1268c2d8c7940094a49af Author: Erica Li Date: 2024-05-04 (Sat, 04 May 2024) Changed paths: A LayoutTests/fast/css-grid-layout/out-of-flow-positioned-dialog-showModal-crash-expected.txt A LayoutTests/fast/css-grid-layout/out-of-flow-positioned-dialog-showModal-crash.html M Source/WebCore/dom/FullscreenManager.cpp M Source/WebCore/html/HTMLDialogElement.cpp M Source/WebCore/rendering/RenderBox.cpp M Source/WebCore/rendering/RenderElement.cpp M Source/WebCore/rendering/RenderElement.h Log Message: --- ASAN_SEGV | WebCore::RenderFragmentedFlow::objectShouldFragmentInFlowFragment. rdar://125183911 https://bugs.webkit.org/show_bug.cgi?id=272301 Reviewed by Alan Baradlay. This is another case where we can not dectect containing block change in styledid/willchange like what was fixed in 266309@main, moved markRendererDirtyAfterTopLayerChange to Element as common API which can be used by FullscreenManager and HTMLDialogElement. * LayoutTests/fast/css-grid-layout/out-of-flow-positioned-dialog-showModal-crash-expected.txt: Added. * LayoutTests/fast/css-grid-layout/out-of-flow-positioned-dialog-showModal-crash.html: Added. * Source/WebCore/dom/FullscreenManager.cpp: (WebCore::FullscreenManager::willEnterFullscreen): (WebCore::markRendererDirtyAfterTopLayerChange): Deleted. * Source/WebCore/html/HTMLDialogElement.cpp: (WebCore::HTMLDialogElement::showModal): * Source/WebCore/rendering/RenderBox.cpp: (WebCore::gridStyleHasNotChanged): mini refactoring to make criteria looks more clear. (WebCore::RenderBox::updateGridPositionAfterStyleChange): * Source/WebCore/rendering/RenderElement.cpp: (WebCore::RenderElement::markRendererDirtyAfterTopLayerChange): * Source/WebCore/rendering/RenderElement.h: Canonical link: https://commits.webkit.org/278372@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 2775f5: [InteractionRegions] Generated clip paths are some...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2775f5bf7c3e8aeb9b44090c7a277aedcdb7d0e4 https://github.com/WebKit/WebKit/commit/2775f5bf7c3e8aeb9b44090c7a277aedcdb7d0e4 Author: Etienne Segonzac Date: 2024-05-04 (Sat, 04 May 2024) Changed paths: M LayoutTests/interaction-region/clip-path-expected.txt M LayoutTests/interaction-region/clip-path.html M LayoutTests/interaction-region/icon-masking-expected.txt M LayoutTests/interaction-region/icon-masking.html M LayoutTests/interaction-region/svg-expected.txt M LayoutTests/interaction-region/svg.html M Source/WebCore/page/InteractionRegion.cpp M Source/WebCore/page/InteractionRegion.h M Source/WebCore/rendering/EventRegion.cpp M Source/WebCore/rendering/EventRegion.h Log Message: --- [InteractionRegions] Generated clip paths are sometimes offset from their element https://bugs.webkit.org/show_bug.cgi?id=273428 Reviewed by Simon Fraser. When generating Interaction Regions, the paths we build to match shapes are complete and relative to the element's bounds. But the Interaction Region's bounds respect clipping. Provide the offset between the two to `interactionRegionForRenderedRegion` so we can adjust the paths location if needed. (Effectively moving the path in the mask layer on the UI-side.) Also provide the current transform to skip shape generation for rotations / skew (unsupported) and also to avoid having to go through `absoluteQuads` just to get a bounding size. This applies to SVG elements, icons and CSS clip-paths. For SVG icons (using image tags), always use the image from the SVGImageCache to match what was just painted. * Source/WebCore/page/InteractionRegion.h: * Source/WebCore/page/InteractionRegion.cpp: (WebCore::boundingSize): (WebCore::absoluteBoundingRect): Deleted. Don't use `absoluteQuads` to get the bounding size. (WebCore::findIconImage): Use `imageForRenderer` to make sure icon masking is based on what was just painted (and potentially cached in the SVGImageCache). (WebCore::interactionRegionForRenderedRegion): For icons, generate the raster shape at 0x0 directly instead of doing an extra translation. For SVG elements, use the full viewBoxTransform instead of just the scale. Use the new `clipOffset`. * Source/WebCore/rendering/EventRegion.h: * Source/WebCore/rendering/EventRegion.cpp: (WebCore::EventRegionContext::unite): (WebCore::EventRegionContext::uniteInteractionRegions): Pass an optional transform and the clip offset to `interactionRegionForRenderedRegion`. * LayoutTests/interaction-region/icon-masking.html: Add test cases clipping on the top left corner (bitmap and SVG). Add test cases with nested transforms (with and without compositing layers). Add a test case with rotation (no clip-path). * LayoutTests/interaction-region/icon-masking-expected.txt: New interaction regions, new guards on the SVG logo now matching the "is complex shape" check, and floating point diff. * LayoutTests/interaction-region/svg.html: Add a test case clipping on the top left corner. * LayoutTests/interaction-region/svg-expected.txt: New interaction regions and floating point diff. * LayoutTests/interaction-region/clip-path-expected.txt: Add a test case clipping on the left and right edge. Add test cases with rotation / skew (no clip-path). * LayoutTests/interaction-region/clip-path.html: New interaction regions. Canonical link: https://commits.webkit.org/278371@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 9bcbb8: Restructure CSS color parsing to be more declarative
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9bcbb8f9e5ddd017b61405c4b528aeb0bceb2b70 https://github.com/WebKit/WebKit/commit/9bcbb8f9e5ddd017b61405c4b528aeb0bceb2b70 Author: Sam Weinig Date: 2024-05-04 (Sat, 04 May 2024) Changed paths: M Source/WebCore/WebCore.xcodeproj/project.pbxproj A Source/WebCore/css/color/CSSColorDescriptors.h M Source/WebCore/css/parser/CSSPropertyParserConsumer+Angle.h M Source/WebCore/css/parser/CSSPropertyParserConsumer+Color.cpp M Source/WebCore/css/parser/CSSPropertyParserConsumer+Meta.h M Source/WebCore/css/parser/CSSPropertyParserConsumer+Number.h M Source/WebCore/css/parser/CSSPropertyParserConsumer+Percent.cpp M Source/WebCore/css/parser/CSSPropertyParserConsumer+Percent.h Log Message: --- Restructure CSS color parsing to be more declarative https://bugs.webkit.org/show_bug.cgi?id=273372 Reviewed by Tim Nguyen. Restructures CSS color parsing and normalization to use be driven by a set of constexpr descriptors of the various different color function types. This reduces redundancy, but the main goal is to make late resolution of relative colors easier, needed for currentColor support, easier in a forthcoming change. * Source/WebCore/WebCore.xcodeproj/project.pbxproj: - Added CSSColorDescriptors.h. * Source/WebCore/css/color/CSSColorDescriptors.h: Added. (WebCore::RGBFunctionLegacy): (WebCore::RGBFunctionModernAbsolute): (WebCore::RGBFunctionModernRelative): (WebCore::HSLFunctionLegacy): (WebCore::HSLFunctionModern): (WebCore::HWBFunction): (WebCore::LabFunction): (WebCore::LCHFunction): (WebCore::OKLabFunction): (WebCore::OKLCHFunction): (WebCore::ColorRGBFunction): (WebCore::ColorXYZFunction): - Added descriptors for all the CSS color functions that directly describe a color. The descriptors contain enough information to parse and normalize the the absolute and relative forms. * Source/WebCore/css/parser/CSSPropertyParserConsumer+Angle.h: (WebCore::CSSPropertyParserHelpers::ConsumerLookup::operator()): * Source/WebCore/css/parser/CSSPropertyParserConsumer+Meta.h: * Source/WebCore/css/parser/CSSPropertyParserConsumer+Number.h: (WebCore::CSSPropertyParserHelpers::ConsumerLookup::operator()): * Source/WebCore/css/parser/CSSPropertyParserConsumer+Percent.cpp: * Source/WebCore/css/parser/CSSPropertyParserConsumer+Percent.h: (WebCore::CSSPropertyParserHelpers::consumeNumberOrPercentRaw): (WebCore::CSSPropertyParserHelpers::consumeNumberOrPercentOrNoneRaw): (WebCore::CSSPropertyParserHelpers::consumePercentOrNoneRaw): (WebCore::CSSPropertyParserHelpers::ConsumerLookup::operator()): (WebCore::CSSPropertyParserHelpers::ConsumerLookup::operator()): (WebCore::CSSPropertyParserHelpers::ConsumerLookup::operator()): - Add support for invoking a consumer from a generic context based on the result type. For instance, if you want to consume a NumberOrPercentRaw, a caller now use `ConsumerLookup()(args)` to call `consumeNumberOrPercentRaw(args)`. * Source/WebCore/css/parser/CSSPropertyParserConsumer+Color.cpp: (WebCore::CSSPropertyParserHelpers::outsideSRGBGamut): (WebCore::CSSPropertyParserHelpers::convertAbsoluteFunctionToColor): (WebCore::CSSPropertyParserHelpers::convertRelativeFunctionToColor): (WebCore::CSSPropertyParserHelpers::normalizeComponent): (WebCore::CSSPropertyParserHelpers::normalizeAbsoluteComponents): (WebCore::CSSPropertyParserHelpers::normalizeRelativeComponents): (WebCore::CSSPropertyParserHelpers::consumeComponent): (WebCore::CSSPropertyParserHelpers::consumeAlphaDelimiter): (WebCore::CSSPropertyParserHelpers::consumeAbsoluteComponents): (WebCore::CSSPropertyParserHelpers::consumeRelativeComponents): (WebCore::CSSPropertyParserHelpers::consumeAndNormalizeAbsoluteComponents): (WebCore::CSSPropertyParserHelpers::consumeAndNormalizeRelativeComponents): (WebCore::CSSPropertyParserHelpers::parseGenericAbsoluteFunctionParametersRaw): (WebCore::CSSPropertyParserHelpers::parseGenericRelativeFunctionParametersRaw): (WebCore::CSSPropertyParserHelpers::parseGenericFunctionParametersRaw): (WebCore::CSSPropertyParserHelpers::parseRGBFunctionParametersRaw): (WebCore::CSSPropertyParserHelpers::parseHSLFunctionParametersRaw): (WebCore::CSSPropertyParserHelpers::parseColorFunctionParametersRaw): (WebCore::CSSPropertyParserHelpers::parseColorFunctionRaw): (WebCore::CSSPropertyParserHelpers::parseColorFunction): (WebCore::CSSPropertyParserHelpers::normalizeLightnessPercent): Deleted. (WebCore::CSSPropertyParserHelpers::normalizeABPercent): Deleted. (WebCore::CSSPropertyParserHelpers::normalizeChromaPercent): Deleted. (WebCore::CSSPropertyParserHelpers::normalizeXYZPercent): Deleted. (WebCore::CSSPropertyParserHelpers::normalizeRGBPercent): Deleted. (WebCore::CSSPropertyParserHelpers::normalizeAlphaPercent): Deleted. (WebCore::CSSPropertyParserHelpers::consumeOriginColorRaw): Deleted.
[webkit-changes] [WebKit/WebKit] 13455c: [JSC] Reland Handler IC
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 13455c7affe3713294333e8fa829a3089f36f2e4 https://github.com/WebKit/WebKit/commit/13455c7affe3713294333e8fa829a3089f36f2e4 Author: Yusuke Suzuki Date: 2024-05-04 (Sat, 04 May 2024) Changed paths: M Source/JavaScriptCore/bytecode/AccessCase.cpp M Source/JavaScriptCore/bytecode/AccessCase.h M Source/JavaScriptCore/bytecode/CodeBlock.cpp M Source/JavaScriptCore/bytecode/GetByStatus.cpp M Source/JavaScriptCore/bytecode/GetterSetterAccessCase.cpp M Source/JavaScriptCore/bytecode/GetterSetterAccessCase.h M Source/JavaScriptCore/bytecode/InlineAccess.cpp M Source/JavaScriptCore/bytecode/InlineAccess.h M Source/JavaScriptCore/bytecode/InlineCacheCompiler.cpp M Source/JavaScriptCore/bytecode/InlineCacheCompiler.h M Source/JavaScriptCore/bytecode/PutByStatus.cpp M Source/JavaScriptCore/bytecode/Repatch.cpp M Source/JavaScriptCore/bytecode/SharedJITStubSet.h M Source/JavaScriptCore/bytecode/StructureStubInfo.cpp M Source/JavaScriptCore/bytecode/StructureStubInfo.h M Source/JavaScriptCore/dfg/DFGJITCode.cpp M Source/JavaScriptCore/heap/JITStubRoutineSet.cpp M Source/JavaScriptCore/jit/GCAwareJITStubRoutine.cpp M Source/JavaScriptCore/jit/GCAwareJITStubRoutine.h M Source/JavaScriptCore/runtime/StructureID.h M Source/WTF/wtf/FixedVector.h M Source/WTF/wtf/HashCountedSet.h Log Message: --- [JSC] Reland Handler IC https://bugs.webkit.org/show_bug.cgi?id=273693 rdar://127496851 Reviewed by Keith Miller. This patch enables limited variant of Handler IC. The limitation means, 1. Only enabled for Baseline JIT. 2. Getter and Setter are not supported yet. 3. We are caching entire code as an one handler. This is not the final form we would like to have. Next step is splitting them into one per AccessCase and chain them. 4. After (3) gets done, we would like to put more data into InlineCacheHandler itself so that code can be more and more sharable. But even with this limited form, we are already observing good cache hit rate. So we take an approach starting with this, and further extending Handler IC based on the above milestones. We enable Handler IC, which is only enabled for Baseline JIT right now. The IC is hash-consed via SharedJITStubSet. And InlineCacheCompiler first search for an already compiled stub, if it finds it, we register watchpoint to this stub and use it without new compilation. If it is not found, we compile a new stub and register it to this table if possible. When nobody uses this stub, then refCount becomes zero, and it automatically unregister itself from the table. Each StructureStubInfo site's access cases is always subsumes stub's access cases. So GC will check validity via this StructureStubInfo's access cases, and drop stub when it is no longer valid (as the same to the current IC). The major difference from the last patch is adding multiple owners to the shared JIT IC. Stubs are unregistering themselves from SharedJITStubSet when it reaches to zero-ref-count. But this does not work well since CodeBlock can be destroyed lazily: if CodeBlock is dead, during that, no GC scanning happens to this stub while ref-count is still non-zero. For normal JIT stubs, we have owner concept for JIT stub. At GC end phase, we iterate stubs and check whether the owner is already dead. And if it is dead, we mark it m_ownerIsDead. But shared JIT stub does not have this concept. Instead, we have HashCountedSet for shared JIT stub, and register multiple owners for shared JIT stub. And at GC end phase, we scan owners to wipe dead owners, and when live owners become zero, we mark the stub as m_ownerIsDead too. * Source/JavaScriptCore/bytecode/AccessCase.cpp: (JSC::AccessCase::tryGetAlternateBaseImpl const): (JSC::AccessCase::canBeShared): (JSC::AccessCase::tryGetAlternateBase const): (JSC::AccessCase::hasAlternateBaseImpl const): Deleted. (JSC::AccessCase::alternateBaseImpl const): Deleted. (JSC::AccessCase::hasAlternateBase const): Deleted. (JSC::AccessCase::alternateBase const): Deleted. * Source/JavaScriptCore/bytecode/AccessCase.h: (JSC::AccessCase::identifier const): (JSC::AccessCase::dumpImpl const): (JSC::AccessCase::updateIdentifier): Deleted. * Source/JavaScriptCore/bytecode/GetByStatus.cpp: (JSC::GetByStatus::computeForStubInfoWithoutExitSiteFeedback): * Source/JavaScriptCore/bytecode/GetterSetterAccessCase.cpp: (JSC::GetterSetterAccessCase::tryGetAlternateBaseImpl const): (JSC::GetterSetterAccessCase::hasAlternateBaseImpl const): Deleted. (JSC::GetterSetterAccessCase::alternateBaseImpl const): Deleted. * Source/JavaScriptCore/bytecode/GetterSetterAccessCase.h: * Source/JavaScriptCore/bytecode/InlineCacheCompiler.cpp: (JSC::InlineCacheCompiler::generateImpl): (JSC::InlineCacheCompiler::regenerate): (JSC::isMegamorphicById): Deleted. * Source/JavaScriptCore/bytecode/PutByStatus.cpp:
[webkit-changes] [WebKit/WebKit] 2b3f00: Add more smart pointers to lazy load observers
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2b3f00e89aabd3a238b70e5153315344e8ac73e1 https://github.com/WebKit/WebKit/commit/2b3f00e89aabd3a238b70e5153315344e8ac73e1 Author: Rob Buis Date: 2024-05-03 (Fri, 03 May 2024) Changed paths: M Source/WebCore/html/LazyLoadFrameObserver.cpp M Source/WebCore/html/LazyLoadFrameObserver.h M Source/WebCore/html/LazyLoadImageObserver.cpp Log Message: --- Add more smart pointers to lazy load observers https://bugs.webkit.org/show_bug.cgi?id=273321 Reviewed by Chris Dumez. Add more smart pointers to lazy load observers, by both replacing raw member variables and fixing [alpha.webkit.UncountedCallArgsChecker] warnings. * Source/WebCore/html/LazyLoadFrameObserver.cpp: (WebCore::LazyLoadFrameObserver::observe): (WebCore::LazyLoadFrameObserver::unobserve): * Source/WebCore/html/LazyLoadFrameObserver.h: * Source/WebCore/html/LazyLoadImageObserver.cpp: (WebCore::LazyLoadImageObserver::observe): Canonical link: https://commits.webkit.org/278368@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes