Timeline
Feb 6, 2022:
- 9:45 PM Changeset in webkit [289200] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION(r286936): Crash in WebKit::OriginStorageManager::StorageBucket::deleteLocalStorageData
https://bugs.webkit.org/show_bug.cgi?id=236209
Reviewed by Darin Adler.
Add null check for modificationTime returned by FileSystem::fileModificationTime.
- NetworkProcess/storage/OriginStorageManager.cpp:
(WebKit::OriginStorageManager::StorageBucket::deleteLocalStorageData):
- 9:29 PM Changeset in webkit [289199] by
-
- 5 edits in trunk/Source
Unreviewed, non-unified build fixes
https://bugs.webkit.org/show_bug.cgi?id=236216
Source/JavaScriptCore:
This missing include was causing non-unified builds to fail linking
libWPEWebkit with undefined JSC::Structure::get(...) after dropping
gold as the default linker in 246713@main.
- wasm/js/JSWebAssemblyException.cpp:
Source/WebCore:
- layout/formattingContexts/inline/InlineLineBoxVerticalAligner.h:
- workers/shared/context/SharedWorkerThread.cpp:
- 9:02 PM Changeset in webkit [289198] by
-
- 2 edits in trunk/Source/WebCore
Address a post-commit review comment after r289171.
Reviewed by Darin Adler.
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
- 8:42 PM Changeset in webkit [289197] by
-
- 2 edits in trunk/Tools
REGRESSION(r288878) webkitpy.layout_tests.controllers.layout_test_finder_legacy_unittest.LayoutTestFinderTests tests are failing with Windows Python
https://bugs.webkit.org/show_bug.cgi?id=236043
<rdar://problem/88449289>
Reviewed by Darin Adler.
Since r288878 started to use pyfakefs, Port.relative_test_filename
didn't work as expected in unit tests with Windows Python because
TestPort.layout_tests_dir returned Unix-style path while the path
name of layout test is Windows-style path.
- Scripts/webkitpy/port/test.py: Use abspath to convert Unix-style
path to Windows-style for Windows Python.
- 8:18 PM Changeset in webkit [289196] by
-
- 3 edits in trunk/LayoutTests
media/media-source/media-webm-vorbis-partial.html is failing
https://bugs.webkit.org/show_bug.cgi?id=236211
rdar://88298267
Reviewed by Darin Adler.
The manifest data was incorrect, the webm cluster size is 10004 bytes long.
Expand the test so it's consistent with the webm/opus one.
- media/media-source/content/test-vorbis-manifest.json:
- media/media-source/media-webm-vorbis-partial.html:
- 7:58 PM Changeset in webkit [289195] by
-
- 3 edits in trunk/Source/WebCore
[GTK][WPE] Unreviewed build fix for Debian Stable after r288872
https://bugs.webkit.org/show_bug.cgi?id=236215
- dom/AbortSignal.cpp:
(WebCore::AbortSignal::timeout):
- platform/graphics/PlatformDisplay.cpp:
- 7:44 PM Changeset in webkit [289194] by
-
- 7 edits in trunk
Update serialization of rgb() functions with none components to latest spec
https://bugs.webkit.org/show_bug.cgi?id=236210
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Update tests for new serialization behavior.
- web-platform-tests/css/css-color/parsing/color-computed.html:
- web-platform-tests/css/css-color/parsing/color-valid.html:
- web-platform-tests/css/css-color/parsing/relative-color-computed.html:
- web-platform-tests/css/css-color/parsing/relative-color-valid.html:
Source/WebCore:
The CSS Color spec now states that rgb() with none components should serialize none
compoonents as 0. This means we can remove a bunch of special serialization code
and use the old code path once again.
- platform/graphics/ColorSerialization.cpp:
(WebCore::serializationForCSS):
(WebCore::decimalDigit):
(WebCore::fractionDigitsForFractionalAlphaValue):
(WebCore::legacyRGBComponent): Deleted.
(WTF::StringTypeAdapter<WebCore::LegacyRGBComponent>::StringTypeAdapter): Deleted.
(WTF::StringTypeAdapter<WebCore::LegacyRGBComponent>::length const): Deleted.
(WTF::StringTypeAdapter<WebCore::LegacyRGBComponent>::is8Bit const): Deleted.
(WTF::StringTypeAdapter<WebCore::LegacyRGBComponent>::writeTo const): Deleted.
(WTF::StringTypeAdapter<WebCore::LegacyRGBComponent>::buffer const): Deleted.
- 7:43 PM Changeset in webkit [289193] by
-
- 3 edits10 deletes in trunk/LayoutTests
Remove duplicate tests that have been upstreamed to WPT
https://bugs.webkit.org/show_bug.cgi?id=236214
Reviewed by Darin Adler.
- fast/css/parsing-color-contrast-expected.txt: Removed.
- fast/css/parsing-color-contrast.html: Removed.
- fast/css/parsing-color-function-expected.txt: Removed.
- fast/css/parsing-color-function.html: Removed.
- fast/css/parsing-color-mix-expected.txt: Removed.
- fast/css/parsing-color-mix.html: Removed.
- fast/css/parsing-lab-colors-expected.txt: Removed.
- fast/css/parsing-lab-colors.html: Removed.
- fast/css/parsing-relative-color-syntax-expected.txt: Removed.
- fast/css/parsing-relative-color-syntax.html: Removed.
These have all been added to wpt's css/css-color test suite.
- platform/glib/TestExpectations:
- platform/win/TestExpectations:
Update to account for removed tests.
- 6:01 PM Changeset in webkit [289192] by
-
- 5 edits in trunk/Source/WebCore
[LFC][IFC] LineBox should hold on to its logical rect
https://bugs.webkit.org/show_bug.cgi?id=236201
Reviewed by Antti Koivisto.
Now that the Display::Line has all visual coords, we don't have a way to retrieve the line's logical rect
(we never did, it just happened to match the Display::Line's rect).
This is also in preparation for adding vertical writing mode support.
- layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):
- layout/formattingContexts/inline/InlineLineBox.h:
(WebCore::Layout::LineBox::logicalRect const):
(WebCore::Layout::LineBox::setLogicalRect):
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::build):
- layout/formattingContexts/inline/InlineLineBoxBuilder.h:
- 5:50 PM Changeset in webkit [289191] by
-
- 6 edits in trunk/Source/WebCore
[LFC][IFC] Logical rect for text run does not require the parent inline box's FontMetrics:ascent
https://bugs.webkit.org/show_bug.cgi?id=236195
Reviewed by Antti Koivisto.
Let's compute the text run's logical top using the parent inline box geometry only.
This patch also renames InlineLevelBox::baseline to ascent to indicate that it's an ascent value.
- layout/formattingContexts/inline/InlineLevelBox.h:
(WebCore::Layout::InlineLevelBox::ascent const):
(WebCore::Layout::InlineLevelBox::setAscent):
(WebCore::Layout::InlineLevelBox::baseline const): Deleted.
(WebCore::Layout::InlineLevelBox::setBaseline): Deleted.
- layout/formattingContexts/inline/InlineLineBox.cpp:
(WebCore::Layout::LineBox::logicalRectForTextRun const):
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::setBaselineAndLayoutBounds const):
(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):
- layout/formattingContexts/inline/InlineLineBoxVerticalAligner.cpp:
(WebCore::Layout::LineBoxVerticalAligner::computeLogicalHeightAndAlign const):
(WebCore::Layout::LineBoxVerticalAligner::simplifiedVerticalAlignment const):
(WebCore::Layout::LineBoxVerticalAligner::computeLineBoxLogicalHeight const):
(WebCore::Layout::LineBoxVerticalAligner::computeRootInlineBoxVerticalPosition const):
(WebCore::Layout::LineBoxVerticalAligner::alignInlineLevelBoxes const):
- layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp:
(WebCore::Layout::InlineDisplayLineBuilder::build const):
- 4:38 PM Changeset in webkit [289190] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.34
Merge r289060 - null ptr deref in RenderTreeBuilder::Block::attachIgnoringContinuation
https://bugs.webkit.org/show_bug.cgi?id=234170
Patch by Frédéric Wang <fwang@igalia.com> on 2022-02-03
Reviewed by Antti Koivisto.
Source/WebCore:
When an element with "display: contents" is put into the top layer, its computed style for
the display property becomes "block" [1]. However, RenderTreeUpdater::updateElementRenderer
does not manage well this transition. In particular, a null ptr deref happens for some
special configuration involving a <dialog style="display: contents">. To work around that
issue, always force tearing down renderers when updating an element in the top layer.
[1] https://fullscreen.spec.whatwg.org/#new-stacking-layer
Test: fast/layers/top-layer-display-contents-crash.html
- rendering/updating/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::updateElementRenderer): Always force tearing down renderers
for top layer element.
LayoutTests:
Add regression test.
- fast/css/top-layer-display-contents-crash-expected.txt: Added.
- fast/css/top-layer-display-contents-crash.html: Added.
- 4:33 PM Changeset in webkit [289189] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Check if fallback font glyphs initiate ideographic baseline
https://bugs.webkit.org/show_bug.cgi?id=236182
Reviewed by Antti Koivisto.
This patch is in preparation for supporting vertical writing mode.
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::fallbackFontHasVerticalGlyph):
(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):
(WebCore::Layout::LineBoxBuilder::adjustIdeographicBaselineIfApplicable):
- layout/formattingContexts/inline/InlineLineBoxBuilder.h:
- 4:16 PM Changeset in webkit [289188] by
-
- 2 edits in releases/WebKitGTK/webkit-2.34/Source/WebCore
Merge r288937 - Check AccessibilityRenderObject::m_renderer for null before using it.
https://bugs.webkit.org/show_bug.cgi?id=235950
<rdar://problem/88326438>
Reviewed by Chris Fleizach.
AccessibilityRenderObject::m_renderer is a WeakPtr that can become null
due to a variety of changes in the render tree. This patch fixes a
number of cases where AccessibilityRenderObject::m_renderer was being
used without checking for null which leads to crashes such as:
https://bugs.webkit.org/show_bug.cgi?id=235945
https://bugs.webkit.org/show_bug.cgi?id=235827
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::parentObjectIfExists const):
(WebCore::AccessibilityRenderObject::selection const):
(WebCore::AccessibilityRenderObject::setSelectedTextRange):
(WebCore::AccessibilityRenderObject::documentLinks):
(WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange const):
- 4:16 PM Changeset in webkit [289187] by
-
- 2 edits in releases/WebKitGTK/webkit-2.34/Source/WebCore
Merge r288874 - AX: nullptr crash under AccessibilityRenderObject::computeAccessibilityIsIgnored
https://bugs.webkit.org/show_bug.cgi?id=235945
rdar://88217815
Reviewed by Andres Gonzalez.
This is similar to https://bugs.webkit.org/show_bug.cgi?id=161276.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored const):
m_renderer is a WeakPtr and can become null during parentObjectUnignored call, same as
the case below.
- 4:16 PM Changeset in webkit [289186] by
-
- 5 edits2 adds in releases/WebKitGTK/webkit-2.34
Merge r288672 - jsc_fuz/wktr: crash with new XRReferenceSpaceEvent(, {referenceSpace})
https://bugs.webkit.org/show_bug.cgi?id=235456
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-01-27
Reviewed by Chris Dumez.
Source/WebCore:
FastMalloc.h specifies that each derived class needs to be annotated as well with WTF_MAKE_ISO_ALLOCATED
if the base class is annotated with WTF_MAKE_ISO_ALLOCATED.
After doing this, the crash in WebCore::Event::operator new(unsigned long) is no longer reproducible.
However, this caused ASSERT(m_transform) to be hit in debug builds with the attached test case.
The XRReferenceSpaceEvent spec specifies the transform attribute as nullable
(https://immersive-web.github.io/webxr/#dictdef-xrreferencespaceeventinit), so this patch updates the
XRReferenceSpaceEvent IDL and implementation to match the spec, and removes the ASSERT accordingly.
Test: webxr/xr-reference-space-event-crash.html
- Modules/webxr/XRReferenceSpaceEvent.cpp:
(WebCore::XRReferenceSpaceEvent::XRReferenceSpaceEvent):
(WebCore::XRReferenceSpaceEvent::transform const):
- Modules/webxr/XRReferenceSpaceEvent.h:
- Modules/webxr/XRReferenceSpaceEvent.idl:
LayoutTests:
- webxr/xr-reference-space-event-crash.html: Added.
- 3:45 PM Changeset in webkit [289185] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.34
Merge r288589 - XPath::Step::nodesInAxis(): add null checks after Attr::ownerElement() calls
https://bugs.webkit.org/show_bug.cgi?id=235500
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Import WPT tests from https://github.com/web-platform-tests/wpt/pull/32544.
- web-platform-tests/domxpath/xpath-evaluate-crash-expected.txt: Added.
- web-platform-tests/domxpath/xpath-evaluate-crash.html: Added.
Source/WebCore:
This patch adds null checks for results of Attr::ownerElement() to avoid crashes
when evaluating XPath expressions with an orphaned Attr as the context node.
Inspired by the recent Blink fix [1], yet this change covers all null pointer
dereferencing sites, as proven by the updated test.
[1] https://bugs.chromium.org/p/chromium/issues/detail?id=1236967
Test: imported/w3c/web-platform-tests/domxpath/xpath-evaluate-crash.html
- xml/XPathStep.cpp:
(WebCore::XPath::Step::nodesInAxis const):
- 3:42 PM Changeset in webkit [289184] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.34
Merge r288423 - m_lastStyleChangeEventStyle null ptr deref for accelerated CSS Animation with no duration and an implicit keyframe
https://bugs.webkit.org/show_bug.cgi?id=235394
<rdar://problem/87701738>
Reviewed by Antti Koivisto.
Source/WebCore:
Test: webanimations/accelerated-animation-without-duration-crash.html
In r287827, the fix for bug 235014, we stopped filling implicit keyframes for CSS Animations at creation
time such that the output of getKeyframes() would correctly account for the missing keyframes. This meant
that we have to fill in those implicit keyframes when running an accelerated animation before we pass it
on to GraphicsLayer.
We would always use the value stored by lastStyleChangeEventStyle() with an assert that this value was
never null. However, in the case of an animation that is not relevant, such as a CSS Animation with no
duration, we've never had a chance to set that style since Style::TreeResolver::createAnimatedElementUpdate()
would not see any "relevant" (a term defined by the Web Animations specification to specify an animation
that has an effect on its target) animations.
We now use the renderer's style as a fallback, which is guaranteed to be defined at this stage.
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::applyPendingAcceleratedActions):
LayoutTests:
New test, created by Gabriel Nava Marino, that creates an accelerated animation with no
duration and with implicit keyframes that would crash prior to this patch.
- webanimations/accelerated-animation-without-duration-crash-expected.txt: Added.
- webanimations/accelerated-animation-without-duration-crash.html: Added.
- 2:28 PM Changeset in webkit [289183] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Add initial ideographic baseline support
https://bugs.webkit.org/show_bug.cgi?id=236177
Reviewed by Antti Koivisto.
This patch is in preparation for supporting vertical writing mode.
We don't know in advance if the style/content requires ideographic or alphabetic baseline, so
either we pre-compute it by going through all the individual runs or post-adjust it
by looping through the newly constructed inline boxes (which most of the time is the root inline box only).
This patch implements the post-adjust version where after constructInlineLevelBoxes(), we call
adjustIdeographicBaselineIfApplicable and reset the ascent/descent values accordingly.
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::build):
(WebCore::Layout::LineBoxBuilder::adjustIdeographicBaselineIfApplicable):
(WebCore::Layout::computedHeightAndLayoutBounds):
(WebCore::Layout::LineBoxBuilder::setVerticalGeometryForLineBreakBox const):
(WebCore::Layout::LineBoxBuilder::setInitialVerticalGeometryForInlineBox const):
- 2:21 PM Changeset in webkit [289182] by
-
- 4 edits1 add in trunk
[Wasm] ref.null check should be done first in B3 call_ref
https://bugs.webkit.org/show_bug.cgi?id=236206
Reviewed by Mark Lam.
JSTests:
- wasm.yaml:
- wasm/function-references-spec-tests/call-null-ref.wast.js: Added.
Source/JavaScriptCore:
We should first check ref.null before loading data from the reference in B3 call_ref.
- wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::addCallRef):
- 1:10 PM Changeset in webkit [289181] by
-
- 4 edits in trunk
[css-logical] Animations should convert logical properties to their physical equivalents
https://bugs.webkit.org/show_bug.cgi?id=218092
<rdar://problem/70579530>
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
Mark WPT progressions.
- web-platform-tests/css/css-logical/animation-002-expected.txt:
Source/WebCore:
When computing the keyframe styles for a CSS animation, resolve the logical properties
to their physical equivalent.
- style/StyleResolver.cpp:
(WebCore::Style::Resolver::styleForKeyframe):
- 12:59 PM Changeset in webkit [289180] by
-
- 5 edits3 adds in releases/WebKitGTK/webkit-2.34
Merge r288362 - WPT version of css/css-cascade/parsing/layer-import-parsing.html crashes with nullptr
https://bugs.webkit.org/show_bug.cgi?id=235434
rdar://87832940
Reviewed by Alan Bujtas.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-cascade/parsing/layer-import-parsing.html:
Update to WPT version.
Source/WebCore:
Test: fast/css/insert-import-rule-crash.html
- css/StyleRuleImport.cpp:
(WebCore::StyleRuleImport::setCSSStyleSheet):
Null check the parent stylesheet. It can be null if the rule has been removed.
- dom/InlineStyleSheetOwner.cpp:
(WebCore::InlineStyleSheetOwner::startLoadingDynamicSheet):
Also fix a debug assert in addPendingSheet, this can get called multiple times.
LayoutTests:
- fast/css/insert-import-rule-crash-expected.txt: Added.
- fast/css/insert-import-rule-crash.html: Added.
- 12:46 PM Changeset in webkit [289179] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.34
Merge r288217 - Null check player in taintsOrigin
https://bugs.webkit.org/show_bug.cgi?id=234257
Patch by Rob Buis <rbuis@igalia.com> on 2022-01-19
Reviewed by Youenn Fablet.
Source/WebCore:
Null check player in taintsOrigin.
Test: fast/media/createImageBitmap-from-video-crash.html
- html/ImageBitmap.cpp:
(WebCore::taintsOrigin):
LayoutTests:
- fast/media/createImageBitmap-from-video-crash-expected.txt: Added.
- fast/media/createImageBitmap-from-video-crash.html: Added.
- 12:42 PM Changeset in webkit [289178] by
-
- 6 edits in trunk/Source/WebCore
[web-animations] DocumentTimeline::computeExtentOfAnimation() should be defined on Styleable
https://bugs.webkit.org/show_bug.cgi?id=236204
Reviewed by Dean Jackson.
There is no need to go through the DocumentTimeline to compute the animated
bounds for a renderer. Styleable is a more appropriate place for this.
- animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::computeExtentOfAnimation const): Deleted.
- animation/DocumentTimeline.h:
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects const):
- style/Styleable.cpp:
(WebCore::Styleable::computeAnimationExtent const):
- style/Styleable.h:
- 12:37 PM Changeset in webkit [289177] by
-
- 3 edits in trunk/Source/JavaScriptCore
Cache the most recent AtomString produced by JSString::toIdentifier
https://bugs.webkit.org/show_bug.cgi?id=236124
Reviewed by Yusuke Suzuki.
JSString::toIdentifier does not store the result of atomizing its string
value, except when it is a rope. We can often end up atomizing the same
JSString a number of times.
This patch caches the last atomized string produced from
JSString::toIdentifier in a given VM. From local testing, this is a 0.5%
Speedometer2 improvement on an M1 MacBook Air, although surprisingly is
neutral on a recent Intel MacBook Pro.
- runtime/JSString.h:
(JSC::JSRopeString::toIdentifier const):
(JSC::JSString::toIdentifier const):
- runtime/VM.h:
- 12:25 PM Changeset in webkit [289176] by
-
- 2 edits in releases/WebKitGTK/webkit-2.34/Source/JavaScriptCore
Unreviewed non-unified build fix.
- runtime/DeferredWorkTimer.h: Add missing JSCast.h header inclusion.
- 12:04 PM Changeset in webkit [289175] by
-
- 2 edits in trunk/Source/JavaScriptCore
[WASM] Fix clang tidy bugprone-move-forwarding-reference static analyzer warnings in WasmLLIntGenerator.cpp
<https://webkit.org/b/236202>
<rdar://problem/88545940>
Reviewed by Yusuke Suzuki.
- wasm/WasmLLIntGenerator.cpp:
(JSC::Wasm::LLIntGenerator::ControlType::ControlType):
- Replace WTFMove() with std::forward<>().
- 11:32 AM Changeset in webkit [289174] by
-
- 14 edits in releases/WebKitGTK/webkit-2.34
Merge r289129 - [GTK] Crash when starting DND on touchscreen
https://bugs.webkit.org/show_bug.cgi?id=235694
Reviewed by Adrian Perez de Castro.
Source/WebCore:
- page/DragController.cpp:
(WebCore::DragController::startDrag):
Skip drags for touch events on GTK.
- platform/PlatformMouseEvent.h:
(WebCore::PlatformMouseEvent::isTouchEvent const):
Source/WebKit:
Drag-n-drop on touch has never worked correctly in GTK, and is usually
just disabled. Do the same thing and ignore it for synthesized mouse
events.
- Shared/NativeWebMouseEvent.h:
- Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
- Shared/WebMouseEvent.cpp:
(WebKit::WebMouseEvent::WebMouseEvent):
(WebKit::WebMouseEvent::encode const):
(WebKit::WebMouseEvent::decode):
- Shared/WebMouseEvent.h:
(WebKit::WebMouseEvent::isTouchEvent const):
- Shared/gtk/NativeWebMouseEventGtk.cpp:
(WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseTouchRelease):
(webkitWebViewBaseTouchDragUpdate):
(webkitWebViewBaseTouchDragEnd):
(webkitWebViewBaseSynthesizeMouseEvent):
- UIProcess/API/gtk/WebKitWebViewBaseInternal.h:
- UIProcess/gtk/PointerLockManager.cpp:
(WebKit::PointerLockManager::handleMotion):
Tools:
- TestWebKitAPI/glib/CMakeLists.txt: Define BUILDING_TestWebKit
- 11:25 AM Changeset in webkit [289173] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, follow-up after r289172
https://bugs.webkit.org/show_bug.cgi?id=236180
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- 11:17 AM Changeset in webkit [289172] by
-
- 6 edits in trunk
[WTF] Make Bitmap constexpr friendly
https://bugs.webkit.org/show_bug.cgi?id=236180
Reviewed by Darin Adler.
Source/JavaScriptCore:
This patch makes Bitmap more constexpr friendly so that JSGlobalObjectFunctions's
functions can compile Bitmap as constexpr, which avoids possible race condition.
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::makeCharacterBitmap):
(JSC::JSC_DEFINE_HOST_FUNCTION):
Source/WTF:
Attach constexpr to constructor and methods if it is possible.
- wtf/Bitmap.h:
(WTF::WordType>::set):
(WTF::WordType>::testAndSet):
(WTF::WordType>::testAndClear):
(WTF::WordType>::clear):
(WTF::WordType>::invert):
(WTF::WordType>::nextPossiblyUnset const):
(WTF::WordType>::isEmpty const):
(WTF::WordType>::isFull const):
(WTF::WordType>::merge):
(WTF::WordType>::filter):
(WTF::WordType>::exclude):
(WTF::WordType>::subsumes const):
(WTF::WordType>::mergeAndClear):
(WTF::WordType>::setAndClear):
(WTF::= const):
(WTF::=):
(WTF::WordType>::Bitmap): Deleted.
Tools:
- TestWebKitAPI/Tests/WTF/Bitmap.cpp:
- 11:00 AM Changeset in webkit [289171] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Introduce LineBoxBuilder::setBaselineAndLayoutBounds/layoutBoundsMetricsForInlineBox
https://bugs.webkit.org/show_bug.cgi?id=236183
Reviewed by Antti Koivisto.
This patch is in preparation for adding ideographic baseline support. It helps to
simplify the ideographic baseline adjustment by just making the following call
setBaselineAndLayoutBounds(inlineBox, layoutBoundsMetricsForInlineBox(inlineBox, IdeographicBaseline));
to adjust the inline box's vertical geometry when in vertical writing mode.
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::adjustLayoutBoundsWithFallbackFonts const):
(WebCore::Layout::layoutBoundsMetricsForInlineBox):
(WebCore::Layout::LineBoxBuilder::setBaselineAndLayoutBounds const):
(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):
(WebCore::Layout::LineBoxBuilder::adjustVerticalGeometryForInlineBoxWithFallbackFonts const): Deleted.
(WebCore::Layout::computedHeightAndLayoutBounds): Deleted.
(WebCore::Layout::LineBoxBuilder::setVerticalGeometryForLineBreakBox const): Deleted.
(WebCore::Layout::LineBoxBuilder::setInitialVerticalGeometryForInlineBox const): Deleted.
- layout/formattingContexts/inline/InlineLineBoxBuilder.h:
- 9:33 AM Changeset in webkit [289170] by
-
- 10 edits in trunk
AX: Add internal-only flag to enable WIP display: contents support
https://bugs.webkit.org/show_bug.cgi?id=236179
Reviewed by Chris Fleizach.
Source/WebCore:
Shipping half-done accessibility support for display: contents will
probably be a worse experience than status quo in some scenarios, so
we should gate it behind an internal-only feature flag until we're
confident it's ready.
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setCSSDisplayContentsAXSupportEnabled):
(WebCore::RuntimeEnabledFeatures::cssDisplayContentsAXSupportEnabled const):
Source/WebKitLegacy/mac:
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(-[WebPreferences cssDisplayContentsAXSupportEnabled]):
(-[WebPreferences setCSSDisplayContentsAXSupportEnabled:]):
- WebView/WebPreferencesPrivate.h:
Source/WTF:
- Scripts/Preferences/WebPreferencesInternal.yaml:
Tools:
- DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):
- 8:14 AM Changeset in webkit [289169] by
-
- 4 edits2 adds in trunk/Tools
Adjust
platformResetStateToConsistentValuesto avoid grabbing the general pasteboard when possible
https://bugs.webkit.org/show_bug.cgi?id=236196
Reviewed by Darin Adler.
For reasons that are still unknown, when running layout tests in the iOS 15.4 simulator, the iOS simulator's
pastedsometimes gets into a state where the work queue (com.apple.pasteboard.PBPasteboardModel-work-queue)
gets permanently stuck while attempting to save pasteboard items.
Once in this state, all subsequent layout tests will time out (regardless of whether the tests themselves
exercise copy and paste), since the process of resetting the harness to a consistent state always tries to clear
the general pasteboard by settingitemsto an empty array. This means that every layout test that tries to
start after getting into the above state will hang during state reset, before it even gets a chance to load the
layout test.
To avoid this, only clear the general pasteboard if the test actually attempted to add data to the pasteboard.
While this doesn't fix a large number of editing and copy/paste-related layout tests on iOS 15.4, it does allow
us to skip these tests for now and continue running the remaining layout tests.
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
- WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
(WTR::TestController::pasteboardConsistencyEnforcer):
- WebKitTestRunner/ios/UIPasteboardConsistencyEnforcer.h: Added.
Add a helper class that listens for notifications whenever the contents of any pasteboard changes; if the name
of the changed pasteboard matches, we clear out its items when-clearPasteboardis invoked. It's critical to
pass only a pasteboard name here instead of a pasteboard itself, since even calling+generalPasteboardcauses
the test to hang.
- WebKitTestRunner/ios/UIPasteboardConsistencyEnforcer.mm: Added.
(-[UIPasteboardConsistencyEnforcer initWithPasteboardName:]):
(-[UIPasteboardConsistencyEnforcer clearPasteboard]):
(-[UIPasteboardConsistencyEnforcer pasteboardChanged:]):
- 7:39 AM Changeset in webkit [289168] by
-
- 2 edits in trunk/Source/WebCore
[css-transitions] remove duplicate code dealing with completed transitions
https://bugs.webkit.org/show_bug.cgi?id=236198
Reviewed by Dean Jackson.
We already mark transitions as completed in DocumentTimeline::transitionDidComplete()
and doing this again in updateCSSTransitionsForStyleableAndProperty() is unnecessary.
- style/Styleable.cpp:
(WebCore::updateCSSTransitionsForStyleableAndProperty):
- 7:17 AM Changeset in webkit [289167] by
-
- 4 edits in trunk
[css-logical] [css-transitions] Resolve logic properties when compiling the list of transition properties
https://bugs.webkit.org/show_bug.cgi?id=236197
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
Mark WPT progressions.
- web-platform-tests/css/css-logical/animation-004-expected.txt:
Source/WebCore:
In r289161 we added initial support for transitions of logical properties. However, we would resolve the
transition-property in updateCSSTransitionsForStyleableAndProperty() whereas we should resolve them earlier
when compiling the list of transition-property values found in the previous style and the new style.
- style/Styleable.cpp:
(WebCore::keyframeEffectForElementAndProperty):
(WebCore::compileTransitionPropertiesInStyle):
(WebCore::updateCSSTransitionsForStyleableAndProperty):
- 4:34 AM Changeset in webkit [289166] by
-
- 6 edits2 adds in trunk
Object literal doesn't properly resolve name clash between an accessor and a constant property
https://bugs.webkit.org/show_bug.cgi?id=220574
Patch by Alexey Shvayka <ashvayka@apple.com> on 2022-02-06
Reviewed by Yusuke Suzuki.
JSTests:
- stress/class-static-accessor-name-clash-with-field.js: Added.
- stress/object-literal-accessor-name-clash-with-constant.js: Added.
Source/JavaScriptCore:
The spec [1] calls DefineOwnProperty for every property node, whether it's a
getter, a setter, or a value. JSC attempts to reduce emitted bytecodes by setting
up a getter and a setter at once.
However, there is a slower path that exactly matches the spec, which was called only
if a spread syntax or a computed property was encountered. With this patch, the slower
path is also taken in case of a constant property (including a shorthand) with the
same name as an accessor.
That causes an incomplete accessor descriptor to correctly overwrite the existing
data one, which aligns JSC with V8 and SpiderMonkey.
This bug doesn't exist for static class fields and accessors because initialization
of class fields is deferred [2] and they always overwrite eponymous static methods /
accessors, no matter the order in source code. No reproduction for private elements either.
[1]: https://tc39.es/ecma262/#sec-runtime-semantics-methoddefinitionevaluation (step 11 of "get", step 10 of "set")
[2]: https://tc39.es/ecma262/#sec-runtime-semantics-classdefinitionevaluation (step 31.a)
- bytecompiler/NodesCodegen.cpp:
(JSC::PropertyListNode::emitBytecode):
LayoutTests:
Adjusted test now passes on V8 and SpiderMonkey as well.
- js/class-syntax-method-names-expected.txt:
- js/script-tests/class-syntax-method-names.js:
Feb 5, 2022:
- 4:54 PM Changeset in webkit [289165] by
-
- 19 edits2 copies4 moves7 adds16 deletes in trunk/LayoutTests
Resync web-platform-tests/dom from upstream
https://bugs.webkit.org/show_bug.cgi?id=236147
Reviewed by Darin Adler.
Resync web-platform-tests/dom from upstream 893e71aa9c0a97d259ff.
LayoutTests/imported/w3c:
- resources/import-expectations.json:
- resources/resource-files.json:
- web-platform-tests/dom/eventPathRemoved-expected.txt: Added.
- web-platform-tests/dom/eventPathRemoved.html: Added.
- web-platform-tests/dom/events/AddEventListenerOptions-once-expected.txt: Removed.
- web-platform-tests/dom/events/AddEventListenerOptions-passive-expected.txt: Removed.
- web-platform-tests/dom/events/Event-constructors-expected.txt: Removed.
- web-platform-tests/dom/events/EventTarget-add-remove-listener-expected.txt: Removed.
- web-platform-tests/dom/events/EventTarget-addEventListener-expected.txt: Removed.
- web-platform-tests/dom/events/EventTarget-removeEventListener-expected.txt: Removed.
- web-platform-tests/dom/events/ProgressEvent-expected.txt: Removed.
- web-platform-tests/dom/events/ProgressEvent.html: Removed.
- web-platform-tests/dom/events/document-level-touchmove-event-listener-passive-by-default.tentative-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/dom/events/document-level-touchmove-event-listener-passive-by-default-expected.txt.
- web-platform-tests/dom/events/document-level-wheel-event-listener-passive-by-default-expected.txt: Removed.
- web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.any-expected.txt: Removed.
- web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.any.worker-expected.txt: Removed.
- web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.window-expected.txt: Added.
- web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.window.html: Copied from LayoutTests/imported/w3c/web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.any.html.
- web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.any.js.
- web-platform-tests/dom/events/focus-event-document-move-expected.txt: Removed.
- web-platform-tests/dom/events/resources/w3c-import.log:
- web-platform-tests/dom/events/scrolling/overscroll-deltas-expected.txt: Added.
- web-platform-tests/dom/events/w3c-import.log:
- web-platform-tests/dom/idlharness-shadowrealm.window-expected.txt: Added.
- web-platform-tests/dom/idlharness-shadowrealm.window.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.any.worker.html.
- web-platform-tests/dom/idlharness-shadowrealm.window.js: Added.
- web-platform-tests/dom/idlharness.any.serviceworker-expected.txt:
- web-platform-tests/dom/idlharness.any.sharedworker-expected.txt: Added.
- web-platform-tests/dom/idlharness.any.sharedworker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.any.html.
- web-platform-tests/dom/idlharness.any.worker-expected.txt:
- web-platform-tests/dom/idlharness.window-expected.txt:
- web-platform-tests/dom/nodes/Document-characterSet-normalization-expected.txt: Removed.
- web-platform-tests/dom/nodes/Node-cloneNode-expected.txt: Removed.
- web-platform-tests/dom/nodes/Node-insertBefore-expected.txt:
- web-platform-tests/dom/nodes/Node-insertBefore.html:
- web-platform-tests/dom/nodes/getElementsByClassNameFrame-expected.txt: Removed.
- web-platform-tests/dom/ranges/Range-mutations-expected.txt: Removed.
- web-platform-tests/dom/ranges/Range-mutations.html: Removed.
- web-platform-tests/dom/ranges/Range-test-iframe-expected.txt: Removed.
- web-platform-tests/dom/traversal/support/w3c-import.log:
- web-platform-tests/dom/w3c-import.log:
- web-platform-tests/interfaces/dom.idl:
LayoutTests:
- platform/mac-wk1/TestExpectations:
- platform/win/TestExpectations:
- 4:14 PM Changeset in webkit [289164] by
-
- 3 edits1 add in trunk
Attempting to Set JSArray's read-only "length" should throw even with current Value
https://bugs.webkit.org/show_bug.cgi?id=221177
Reviewed by Saam Barati.
JSTests:
- stress/array-prototype-methods-set-length.js: Added.
Source/JavaScriptCore:
As per OrdinarySet algorithm [1]. To achieve that, while ensuring no error is thrown
if read-only "length" isn't actually changed via DefineOwnProperty [2], this patch
movesnewLength == oldLengthcheck to JSArray::defineOwnProperty().
That is guaranteed to be correct because:
a) it's the only caller of setLengthWithArrayStorage() that performs DefineOwnProperty,
while others implement Set;
b) there can't possibly be array indices that JSArray::defineOwnProperty() has to remove,
and even the spec a shortcut here [3].
All code paths in pop() / shift() / push() / unshift() are covered by the newly added test,
as well as JSArray's DefineOwnProperty, while slice() / splice() / etc were vetted to
Set "length" according to the spec.
Aligns JSC with SpiderMonkey and partly with V8, which is correct for Object.freeze()
but not forObject.defineProperty(array, "length", { writable: false }).
[1]: https://tc39.es/ecma262/#sec-ordinarysetwithowndescriptor (step 2.a)
[2]: https://tc39.es/ecma262/#sec-validateandapplypropertydescriptor (step 5 and 7)
[3]: https://tc39.es/ecma262/#sec-arraysetlength (step 11)
- runtime/JSArray.cpp:
(JSC::JSArray::defineOwnProperty):
(JSC::JSArray::setLengthWithArrayStorage):
- 3:42 PM Changeset in webkit [289163] by
-
- 2 edits in trunk/Source/WebCore
[LBSE] Handle RenderSVGShape in SVGRenderSupport::applyStrokeStyleToContext()
https://bugs.webkit.org/show_bug.cgi?id=236077
Reviewed by Darin Adler.
Activate path length calculation for RenderSVGShape -- this bit
was missing when the layer-aware RenderSVGShape implementation was
upstreamed in r287832.
Currently the functionality is not observable, as we don't create
LBSE renderers yet.
Covered by existing tests, no change in behaviour.
- rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::applyStrokeStyleToContext):
- 3:39 PM Changeset in webkit [289162] by
-
- 2 edits in trunk/Source/WTF
[WTF] Fix clang tidy bugprone-move-forwarding-reference static analyzer warnings in CompletionHandler.h
<https://webkit.org/b/236181>
<rdar://problem/88529996>
Reviewed by Chris Dumez.
- wtf/CompletionHandler.h:
(WTF::CompletionHandler<Out):
(WTF::CompletionHandlerWithFinalizer<Out):
- Replace WTFMove() with std::forward<>().
- 1:25 PM Changeset in webkit [289161] by
-
- 4 edits in trunk
[CSS transition] can't use CSS logical properties in transition syntax
https://bugs.webkit.org/show_bug.cgi?id=232361
<rdar://problem/84958347>
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
Mark some WPT progressions. The new FAIL result isn't a real regression, that test
simply passed by virtue of not ever starting a transition for a logical property.
- web-platform-tests/css/css-logical/animation-004-expected.txt:
Source/WebCore:
Resolve logical properties when considering properties that should trigger a transition.
To do so, we must pass the newly-set style to some methods such that they may be able to
reolve logical properties as well.
- style/Styleable.cpp:
(WebCore::keyframeEffectForElementAndProperty):
(WebCore::transitionMatchesProperty):
(WebCore::updateCSSTransitionsForStyleableAndProperty):
- 11:44 AM Changeset in webkit [289160] by
-
- 5 edits in trunk/Source/WebKit
Refactor RemoteLayerBackingStoreCollection to have a single backing store traversal function
https://bugs.webkit.org/show_bug.cgi?id=236040
Reviewed by Tim Horton.
Instead of traversing m_liveBackingStore and m_unparentedBackingStore in two places (from the volatilityTimerFired()
and from tryMarkAllBackingStoreVolatile()), factor into a single function with two behavior flags.
Also make VolatilityMarkingFlags an OptionSet<> and add an option to consider last display time.
- Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::RemoteLayerBackingStore):
- Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.h:
(WebKit::RemoteLayerBackingStoreCollection::markBackingStoreVolatile):
- Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm:
(WebKit::RemoteLayerBackingStoreCollection::markBackingStoreVolatile):
(WebKit::RemoteLayerBackingStoreCollection::backingStoreBecameUnreachable):
(WebKit::RemoteLayerBackingStoreCollection::markAllBackingStoreVolatile):
(WebKit::RemoteLayerBackingStoreCollection::tryMarkAllBackingStoreVolatile):
(WebKit::RemoteLayerBackingStoreCollection::volatilityTimerFired):
(WebKit::RemoteLayerBackingStoreCollection::markBackingStoreVolatileImmediately): Deleted.
- 10:06 AM Changeset in webkit [289159] by
-
- 21 edits2 copies in trunk
Thread suspend and resume should take a global lock to avoid deadlock
https://bugs.webkit.org/show_bug.cgi?id=236159
Reviewed by Geoffrey Garen.
Source/bmalloc:
Introduce pas_thread_suspend_lock and take it when suspending and resuming threads.
- CMakeLists.txt:
- bmalloc.xcodeproj/project.pbxproj:
- libpas/src/libpas/pas_scavenger.c:
(scavenger_thread_main):
(pas_scavenger_clear_all_caches):
- libpas/src/libpas/pas_thread_local_cache.c:
(pas_thread_local_cache_for_all):
- libpas/src/libpas/pas_thread_local_cache.h:
- libpas/src/libpas/pas_thread_suspend_lock.c: Copied from Source/WTF/wtf/ThreadMessage.cpp.
- libpas/src/libpas/pas_thread_suspend_lock.h: Copied from Source/WTF/wtf/ThreadMessage.cpp.
Source/JavaScriptCore:
- heap/MachineStackMarker.cpp:
(JSC::MachineThreads::tryCopyOtherThreadStack):
(JSC::MachineThreads::tryCopyOtherThreadStacks):
- heap/MachineStackMarker.h:
- runtime/SamplingProfiler.cpp:
(JSC::SamplingProfiler::takeSample):
- runtime/VMTraps.cpp:
- wasm/WasmMachineThreads.cpp:
(JSC::Wasm::resetInstructionCacheOnAllThreads):
Source/WTF:
This patch introduces a global lock which should be taken while suspending and resuming a thread.
It is possible that two different threads suspend and resume threads. And if threads suspend
each other without critical section, it can cause a dead lock.
To avoid this problem, we introduce a global lock which should be taken when suspending and resuming
threads. Since libpas is also using thread suspension, we expose a global pas_thread_suspend_lock
when libpas is used, and we use this lock in WTF's Thread suspension code.
- wtf/ThreadMessage.cpp:
(WTF::sendMessageScoped):
- wtf/ThreadMessage.h:
(WTF::sendMessage):
- wtf/Threading.cpp:
(WTF::ThreadSuspendLocker::ThreadSuspendLocker):
(WTF::ThreadSuspendLocker::~ThreadSuspendLocker):
- wtf/Threading.h:
- wtf/posix/ThreadingPOSIX.cpp:
(WTF::Thread::suspend):
(WTF::Thread::resume):
(WTF::Thread::getRegisters):
- wtf/win/ThreadingWin.cpp:
(WTF::Thread::suspend):
(WTF::Thread::resume):
(WTF::Thread::getRegisters):
Tools:
- TestWebKitAPI/Tests/WTF/ThreadMessages.cpp:
(runThreadMessageTest):
- 9:51 AM Changeset in webkit [289158] by
-
- 2 edits in trunk/Source/WebCore
[Web Animations] Address KeyframeEffect::isAboutToRunAccelerated() FIXME
https://bugs.webkit.org/show_bug.cgi?id=236178
Reviewed by Dean Jackson.
The canBeAccelerated() function catches all the cases to determine whether an effect
can be accelerated prior to being committed to a GraphicsLayerCA animation.
- animation/KeyframeEffect.h:
(WebCore::KeyframeEffect::isAboutToRunAccelerated const):
- 8:37 AM Changeset in webkit [289157] by
-
- 6 edits4 adds in trunk
[RenderTreeBuilder] Clean up column spanners when style change affects containing block
https://bugs.webkit.org/show_bug.cgi?id=236042
<rdar://83975391>
Reviewed by Antti Koivisto.
Source/WebCore:
In addition to removing the leftover spanners after style change, this patch also expands on the type of style changes that may affect
subtree state inside a multicolumn flow.
Tests: fast/multicol/leftover-spanner-on-style-change-crash.html
fast/multicol/leftover-spanner-on-style-change-crash2.html
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::styleDidChange):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::setStyle):
(WebCore::RenderElement::adjustFragmentedFlowStateOnContainingBlockChangeIfNeeded):
- rendering/RenderElement.h:
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::normalizeTreeAfterStyleChange):
LayoutTests:
- fast/multicol/leftover-spanner-on-style-change-crash-expected.txt: Added.
- fast/multicol/leftover-spanner-on-style-change-crash.html: Added.
- fast/multicol/leftover-spanner-on-style-change-crash2-expected.txt: Added.
- fast/multicol/leftover-spanner-on-style-change-crash2.html: Added.
- 8:35 AM Changeset in webkit [289156] by
-
- 6 edits in trunk/Source/WebCore
[Web Animations] DocumentTimeline::getAnimatedStyle() should be on Styleable
https://bugs.webkit.org/show_bug.cgi?id=236176
Reviewed by Dean Jackson.
There is no need to go through the DocumentTimeline to compute the animated
style for a renderer. Styleable is a more appropriate place for this.
- animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::animatedStyleForRenderer): Deleted.
- animation/DocumentTimeline.h:
- rendering/RenderElement.cpp:
(WebCore::RenderElement::animatedStyle):
- style/Styleable.cpp:
(WebCore::Styleable::computeAnimatedStyle const):
- style/Styleable.h:
- 8:28 AM Changeset in webkit [289155] by
-
- 5 edits in trunk/Source/WebCore
[LFC][IFC] Move all the line box vertical alignment logic to LineBoxVerticalAligner
https://bugs.webkit.org/show_bug.cgi?id=236171
Reviewed by Antti Koivisto.
This patch is in preparation for adding ideographic baseline support (vertical writing mode).
LineBoxBuilder::constructAndAlignInlineLevelBoxes has grown large and it's time to move some
code out of this function (the "align" part). Now all the vertical alignment logic, including
the check for simplified vertical alignment is part of the LineBoxVerticalAligner class.
While in this patch we initiate an extra loop on LineBox::nonRootInlineLevelBoxes(), it may very well be a
perf win for the most common cases where the root inline box has no child inline boxes at all
(as previously we called updateCanUseSimplifiedAlignment() on every text run by passing in the parent inline box).
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::build):
(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):
(WebCore::Layout::LineBoxBuilder::constructAndAlignInlineLevelBoxes): Deleted.
- layout/formattingContexts/inline/InlineLineBoxBuilder.h:
- layout/formattingContexts/inline/InlineLineBoxVerticalAligner.cpp:
(WebCore::Layout::LineBoxVerticalAligner::LineBoxVerticalAligner):
(WebCore::Layout::LineBoxVerticalAligner::computeLogicalHeightAndAlign const):
(WebCore::Layout::LineBoxVerticalAligner::canUseSimplifiedAlignmentForInlineLevelBox): Deleted.
- layout/formattingContexts/inline/InlineLineBoxVerticalAligner.h:
(WebCore::Layout::LineBoxVerticalAligner::formattingContext const):
(WebCore::Layout::LineBoxVerticalAligner::layoutState const):
- 3:24 AM WebKitGTK/2.34.x edited by
- (diff)
- 1:25 AM Changeset in webkit [289154] by
-
- 16 edits3 deletes in trunk
[Flatpak SDK] Update to FDO 21.08.10 and GStreamer 1.20 releases
https://bugs.webkit.org/show_bug.cgi?id=236136
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-05
Reviewed by Adrian Perez de Castro.
Source/WebCore:
Switch GStreamer 1.19 version checks to 1.20 now that it is officially released. Also
include a couple fixes that are needed with GStreamer 1.20 and one that is useful whatever
the GStreamer version:
- GStreamer 1.20 ships a vp8alphadecodebin element able to handle video/x-vp8 caps, so our libwebrtc decoder factory needs to account for its presence, in addition to vp8dec.
- With GStreamer 1.20 media/media-source/media-source-seek-back.html started racy crashing in the VideoTrackPrivateGStreamer configuration update, where the track was disconnected (hence its stream was cleared) and then a GObject notification was emitted by decodebin3. We should actually disconnect the GObject signal handlers before clearing the stream, to prevent potential null pointer access.
- platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
(WebCore::AudioFileReader::handleNewDeinterleavePad):
- platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:
(WebCore::AudioSourceProviderGStreamer::handleNewDeinterleavePad):
- platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp:
(WebCore::AudioTrackPrivateGStreamer::updateConfigurationFromCaps):
(WebCore::AudioTrackPrivateGStreamer::disconnect):
- platform/graphics/gstreamer/GStreamerCommon.h:
- platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:
(WebCore::ImageDecoderGStreamer::InnerDecoder::connectDecoderPad):
- platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp:
(WebCore::VideoTrackPrivateGStreamer::updateConfigurationFromCaps):
(WebCore::VideoTrackPrivateGStreamer::disconnect):
- platform/mediastream/libwebrtc/gstreamer/GStreamerVideoDecoderFactory.cpp:
(WebCore::VP8Decoder::Create):
Tools/buildstream:
Update from GStreamer 1.18.5 to 1.20.0, along with the FDO SDK 21.08.10 release, allowing us
to remove 3 vendored patches, all upstreamed.
- elements/freedesktop-sdk.bst:
- elements/sdk/gst-libav.bst:
- elements/sdk/gst-plugins-bad.bst:
- elements/sdk/gst-plugins-base.bst:
- elements/sdk/gst-plugins-good.bst:
- elements/sdk/gst-plugins-ugly.bst:
- elements/sdk/gstreamer.bst:
- patches/0001-binutils-import-upstream-patches-for-thin-archive-su.patch: Removed.
- patches/gst-plugins-bad-0001-debugutils-Add-fakeaudiosink-element.patch: Removed.
- patches/gstreamer-0001-devicemonitor-Stop-only-the-already-started-provider.patch: Removed.
- 12:10 AM Changeset in webkit [289153] by
-
- 18 edits in trunk/Source
Notification refactoring
https://bugs.webkit.org/show_bug.cgi?id=236169
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (No behavior change)
Some "no behavior change" refactors broken out from an upcoming larger patch, including:
- Make Notification objects reliant on ScriptExecutionContext instead of Document
- Give them a direct path to a NotificationClient instead of having to go through a Page's NotificationController
- Give ScriptExecutionContext's a sessionID() accessor for future use
- Some Notification object threading hardening
- Modules/notifications/Notification.cpp:
(WebCore::Notification::create):
(WebCore::Notification::Notification):
(WebCore::Notification::show):
(WebCore::Notification::close):
(WebCore::Notification::clientFromContext):
(WebCore::Notification::stop):
(WebCore::Notification::dispatchErrorEvent):
(WebCore::Notification::permission):
(WebCore::Notification::requestPermission):
(WebCore::Notification::data const):
(WebCore::Notification::document const): Deleted.
- Modules/notifications/Notification.h:
- Modules/notifications/NotificationClient.h:
- Modules/notifications/NotificationData.h:
(WebCore::NotificationData::encode const):
(WebCore::NotificationData::decode):
- dom/Document.cpp:
(WebCore::Document::notificationClient):
(WebCore::Document::sessionID const):
- dom/Document.h:
- dom/ScriptExecutionContext.h:
(WebCore::ScriptExecutionContext::isServiceWorkerGlobalScope const):
(WebCore::ScriptExecutionContext::notificationClient):
(WebCore::ScriptExecutionContext::sessionID const):
- workers/WorkerThread.h:
- workers/service/ServiceWorkerGlobalScope.cpp:
(WebCore::ServiceWorkerGlobalScope::create):
(WebCore::ServiceWorkerGlobalScope::ServiceWorkerGlobalScope):
- workers/service/ServiceWorkerGlobalScope.h:
- workers/service/context/ServiceWorkerThread.cpp:
(WebCore::generateWorkerParameters):
(WebCore::ServiceWorkerThread::ServiceWorkerThread):
(WebCore::m_notificationClient):
(WebCore::ServiceWorkerThread::createWorkerGlobalScope):
- workers/service/context/ServiceWorkerThread.h:
- workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::ServiceWorkerThreadProxy::ServiceWorkerThreadProxy):
- workers/service/context/ServiceWorkerThreadProxy.h:
Source/WebKit:
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::installServiceWorker):