Timeline
May 22, 2022:
- 11:45 PM Changeset in webkit [294627] by
-
- 1 edit in trunk/JSTests/wasm/wasm.json
WebAssembly: sync wasm.json files
https://bugs.webkit.org/show_bug.cgi?id=240741
Patch by Asumu Takikawa <asumu@igalia.com> on 2022-05-22
Reviewed by Yusuke Suzuki.
- JSTests/wasm/wasm.json:
Canonical link: https://commits.webkit.org/250853@main
- 11:31 PM Changeset in webkit [294626] by
-
- 2 edits in trunk/Source/WebKit/Shared
Ignore SIGPIPE in subprocesses
https://bugs.webkit.org/show_bug.cgi?id=240444
Reviewed by Adrian Perez de Castro.
One common case where ignoring SIGPIPE is desired is to avoid issues
when logging to journald and it crashes. As stated in
https://www.freedesktop.org/software/systemd/man/systemd-journald.service
"In order to react gracefully in this (journald stopped) case it is
recommended that programs logging to standard output/error ignore such
errors."
- Shared/AuxiliaryProcess.cpp: Avoid default platformInitialize on
Unix.
- Shared/unix/AuxiliaryProcessMain.cpp:
(WebKit::AuxiliaryProcess::platformInitialize): Added, ignore SIGPIPE.
Canonical link: https://commits.webkit.org/250852@main
- 9:43 PM Changeset in webkit [294625] by
-
- 1 edit in trunk/LayoutTests/platform/glib/TestExpectations
Unreviewed, gardening glib timeouts
https://bugs.webkit.org/show_bug.cgi?id=240783
Canonical link: https://commits.webkit.org/250851@main
- 6:23 PM Changeset in webkit [294624] by
-
- 2 edits in trunk/LayoutTests/platform
[WinCairo] Unreviewed test gardening
https://bugs.webkit.org/show_bug.cgi?id=240439
- LayoutTests/platform/wincairo-wk1/TestExpectations:
- LayoutTests/platform/wincairo/TestExpectations:
Canonical link: https://commits.webkit.org/250850@main
- 1:50 PM Changeset in webkit [294623] by
-
- 6 edits1 add in trunk/Source/WebCore
Flex layout may use flex box's height to stretch flex items
https://bugs.webkit.org/show_bug.cgi?id=240774
Reviewed by Antti Koivisto.
This is in preparation for being able to stretch the flex items vertically (e.g. when the flex box has fixed height)
- Source/WebCore/Headers.cmake:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebCore/layout/formattingContexts/FormattingConstraints.h:
(WebCore::Layout::ConstraintsForInFlowContent::isConstraintsForFlexContent const):
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingConstraints.h: Added.
(WebCore::Layout::ConstraintsForFlexContent::availableVerticalSpace const):
(WebCore::Layout::ConstraintsForFlexContent::ConstraintsForFlexContent):
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::layoutInFlowContent):
(WebCore::Layout::FlexFormattingContext::sizeAndPlaceFlexItems):
(WebCore::Layout::FlexFormattingContext::setFlexItemsGeometry):
(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.h:
- Source/WebCore/layout/integration/flex/LayoutIntegrationFlexLayout.cpp:
(WebCore::LayoutIntegration::FlexLayout::layout):
Canonical link: https://commits.webkit.org/250849@main
- 12:43 PM Changeset in webkit [294622] by
-
- 1 edit1 add in trunk/LayoutTests/platform/ios
AX: Update expectation for accessibility/aria-modal-with-text-crash.html on iOS
https://bugs.webkit.org/show_bug.cgi?id=240729
Reviewed by Chris Fleizach.
This test just needed a rebaseline.
- LayoutTests/platform/ios/TestExpectations:
- LayoutTests/platform/ios/accessibility/aria-modal-with-text-crash-expected.txt: Added.
Canonical link: https://commits.webkit.org/250848@main
- 11:00 AM Changeset in webkit [294621] by
-
- 10 edits in trunk
Unreviewed, reverting r249538 & r249598.
https://bugs.webkit.org/show_bug.cgi?id=240769
Introduced inconsistencies between backend and frontend DOM tree state.
Reverted changesets:
"Web Inspector: preserve DOM.NodeId if a node is removed and re-added"
https://bugs.webkit.org/show_bug.cgi?id=189687
https://commits.webkit.org/249538
"Web Inspector: Clean up
WI.DOMNodeto no longer require the sharedWI.DOMManagerbe passed during construction"
https://bugs.webkit.org/show_bug.cgi?id=239129
https://commits.webkit.org/249598
Canonical link: https://commits.webkit.org/250847@main
- 7:36 AM Changeset in webkit [294620] by
-
- 1 edit2 adds in trunk
REGRESSION(r293956): Bad color inheritance due to disallowsFastPathInheritance bit missing from RenderStyle::copyNonInheritedFrom
https://bugs.webkit.org/show_bug.cgi?id=240770
Reviewed by Alan Bujtas.
Test: fast/css/color-inheritance-dynamic.html
- Source/WebCore/rendering/style/RenderStyle.h:
(WebCore::RenderStyle::NonInheritedFlags::copyNonInheritedFrom):
Add it.
- LayoutTests/fast/css/color-inheritance-dynamic-expected.html: Added.
- LayoutTests/fast/css/color-inheritance-dynamic.html: Added.
Canonical link: https://commits.webkit.org/250846@main
- 3:00 AM Changeset in webkit [294619] by
-
- 8 edits1 add in trunk
Clear StructureCache if it has Structure with relevant JSGlobalObjects
https://bugs.webkit.org/show_bug.cgi?id=240768
rdar://93232129
Reviewed by Saam Barati.
We need to clear Structures in StructureCache when having-a-bad-time: it is possible that Structure could have this have-a-bad-time
relevant JSGlobalObjects in its prototype chain. We are clearing it for InternalFunction's allocation cache. We should do the
same thing for JSGlobalObject's StructureCache.
This patch adds new watchpoint, structureCacheClearedWatchpoint. And use it in DFG. This watchpoint fires when the cache is cleared,
and it can happen even though JSGlobalObject is not getting have-a-bad-time.
- JSTests/stress/global-object-have-a-bad-time-dependency.js: Added.
(shouldBe):
(cons):
- Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
- Source/JavaScriptCore/runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::JSGlobalObject):
(JSC::JSGlobalObject::fireWatchpointAndMakeAllArrayStructuresSlowPut):
(JSC::JSGlobalObject::clearStructureCache):
- Source/JavaScriptCore/runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::structureCacheClearedWatchpoint):
(JSC::JSGlobalObject::isStructureCacheCleared const):
- Source/JavaScriptCore/runtime/StructureCache.h:
(JSC::StructureCache::forEach):
- Source/JavaScriptCore/runtime/WeakGCMap.h:
Canonical link: https://commits.webkit.org/250845@main
May 21, 2022:
- 7:34 PM Changeset in webkit [294618] by
-
- 1 edit2 adds in trunk
Invisible border should not trigger Repaint diff when currentColor changes
https://bugs.webkit.org/show_bug.cgi?id=240763
Reviewed by Simon Fraser.
Let's check if the border is visible to decide if the currentColor should trigger Repaint diff.
Test: fast/repaint/currentColorChange-with-non-visible-border.html
- Source/WebCore/rendering/style/BorderData.cpp:
(WebCore::BorderData::isEquivalentForPainting const):
- LayoutTests/fast/repaint/currentColorChange-with-non-visible-border-expected.txt: Added.
- LayoutTests/fast/repaint/currentColorChange-with-non-visible-border.html: Added.
Canonical link: https://commits.webkit.org/250844@main
- 4:40 PM Changeset in webkit [294617] by
-
- 2 edits in trunk/Source
REGRESSION (r290124): Unable to insert decimal point when typing in a number text field in QQ app
https://bugs.webkit.org/show_bug.cgi?id=240761
rdar://91882650
Reviewed by Chris Dumez and Tim Horton.
After the changes in r290124, we no longer treat strings that end with a full stop (e.g. "1.") as valid floating point
numbers, per section 2.5.4.3 of the HTML spec (Real numbers), which states that a decimal number that contains a full
stop character (".") must be succeeded by one or more digit characters. The HTML spec later references this when
describing how to sanitize the value of number inputs -- namely, we return the value of the input if it's a valid
floating point number, and otherwise return the empty string.
However, the QQ app still relies on the fact that strings of the form are "<n>." are valid floating point numbers; this
is because the app installs akeyupevent handler that asks for the input's value, removes all non-digit and non-
full-stop characters, and then sets the text field's value to this new string. Because strings ending with a period are
no longer valid floating point numbers, it's now very difficult to type decimals of the form"N.N"into some text
fields in the QQ app, since the input is cleared out each time the user types "." at the end of the field.
This new behavior (more or less) matches Chrome and Firefox; to maintain consistent behavior with other browsers without
breaking binary compatibility, we guard this new behavior with a linked-on-or-after check.
- Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.h:
- Source/WebCore/html/parser/HTMLParserIdioms.cpp:
(WebCore::parseToDoubleForNumberType):
Canonical link: https://commits.webkit.org/250843@main
- 4:38 PM Changeset in webkit [294616] by
-
- 3 edits in trunk/Source
InteractionRegion UI-side layers should be grouped by originating element
https://bugs.webkit.org/show_bug.cgi?id=240766
Reviewed by Wenson Hsieh.
- Source/WebCore/page/InteractionRegion.cpp:
(WebCore::regionForElement):
- Source/WebCore/page/InteractionRegion.h:
(WebCore::operator==):
(WebCore::InteractionRegion::encode const):
(WebCore::InteractionRegion::decode):
Store and transmit an ElementIdentifier for each InteractionRegion.
- Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.mm:
(WebKit::updateLayersForInteractionRegions):
Apply it to the layer.
Canonical link: https://commits.webkit.org/250842@main
- 4:16 PM Changeset in webkit [294615] by
-
- 18 edits in trunk
Perspective should not be affected by transform-origin
https://bugs.webkit.org/show_bug.cgi?id=211787
<rdar://problem/63143806>
Patch by Nikolas Zimmermann <nzimmermann@igalia.com> on 2022-05-21
Reviewed by Simon Fraser.
Fix a number of issues related to perspective handling:
- 'perspective-origin' always used the border-box as reference box, when resolving length percentages, ignoring the choice of 'transform-box'. Fix that.
- Proper 'transform-box' awareness throghout RenderLayerBacking (few places with issue, e.g. perspectiveOrigin() affecting repaint & coverage rects)
- The chosen perspective transformation was not invariant under 'transform-origin' / 'transform-box' changes of the element A, that defines the perspective. However the perspective set on element A should only affect the rendering of its descendants: the choice of the 'transform-origin' / 'transform-box' of element A should have no effect on the perspective established for the children.
- Assure that 'transform-box' changes trigger GraphicLayer geometry updates: this fully fixes 'transform-box' support for composited elements, and brings its state on-par with non-composited elements (both support all kind of transform-box / transform-origin combinations on regular layers, clipped layers, scrolled layers).
This fixes the (not yet upstreamed) test web-platform-tests/css/css-transforms/animation/transform-box-will-change-transform-layer.html.
Prepared a new WPT test (see above) for upstreaming.
- Source/WebCore/animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::computeTransformedExtentViaTransformList const):
- Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::perspectiveTransform const):
(WebCore::RenderLayer::perspectiveOrigin const):
- Source/WebCore/rendering/RenderLayer.h:
- Source/WebCore/rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateTransform):
(WebCore::RenderLayerBacking::updateChildrenTransformAndAnchorPoint):
(WebCore::RenderLayerBacking::computeTransformOriginForPainting const): Deleted.
- Source/WebCore/rendering/RenderLayerBacking.h:
- Source/WebCore/rendering/RenderLayerCompositor.cpp:
(WebCore::recompositeChangeRequiresGeometryUpdate):
- Source/WebCore/rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::applySVGTransform const):
- Source/WebCore/rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::computePerspectiveOrigin const):
(WebCore::RenderStyle::applyPerspective const):
(WebCore::RenderStyle::computeTransformOrigin const):
(WebCore::RenderStyle::applyTransformOrigin const):
(WebCore::RenderStyle::unapplyTransformOrigin const):
(WebCore::RenderStyle::applyTransform const):
(WebCore::RenderStyle::applyMotionPathTransform const):
- Source/WebCore/rendering/style/RenderStyle.h:
- Source/WebCore/svg/SVGGraphicsElement.cpp:
(WebCore::SVGGraphicsElement::animatedLocalTransform const):
- LayoutTests/compositing/tiling/coverage-adjustment-secondary-quad-mapping-expected.txt:
- LayoutTests/compositing/tiling/perspective-on-scroller-tile-coverage-expected.txt:
- LayoutTests/platform/glib/TestExpectations:
- LayoutTests/platform/ios-wk2/compositing/tiling/coverage-adjustment-secondary-quad-mapping-expected.txt:
- LayoutTests/platform/ios/TestExpectations:
- LayoutTests/platform/mac-wk1/compositing/tiling/perspective-on-scroller-tile-coverage-expected.txt:
- LayoutTests/platform/mac/TestExpectations:
- LayoutTests/platform/win/TestExpectations:
Canonical link: https://commits.webkit.org/250841@main
- 12:26 PM Changeset in webkit [294614] by
-
- 6 edits11 adds in trunk
InteractionRegion for wrapped text has multiple rects instead of one
https://bugs.webkit.org/show_bug.cgi?id=240748
Reviewed by Wenson Hsieh.
- Source/WebCore/page/InteractionRegion.h:
(WebCore::operator==):
(WebCore::InteractionRegion::encode const):
(WebCore::InteractionRegion::decode):
- Source/WebCore/rendering/EventRegion.cpp:
(WebCore::EventRegion::translate):
(WebCore::EventRegion::dump const):
- Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.mm:
(WebKit::updateLayersForInteractionRegions):
- Source/WebCore/page/DebugPageOverlays.cpp:
(WebCore::pathsForRegion):
(WebCore::InteractionRegionOverlay::activeRegion):
(WebCore::InteractionRegionOverlay::drawRect):
- Source/WebCore/page/InteractionRegion.cpp:
(WebCore::regionForElement):
Maintain InteractionRegion geometry as a Region instead of a vector of rects,
so that we can smush overlapping rectangles together on a per-InteractionRegion basis.
(WebCore::operator<<):
Add dumping code for InteractionRegion (and adopt it in EventRegion).
- LayoutTests/TestExpectations:
- LayoutTests/interaction-region/click-handler-expected.txt: Added.
- LayoutTests/interaction-region/click-handler.html: Added.
- LayoutTests/interaction-region/inline-link-dark-background-expected.txt: Added.
- LayoutTests/interaction-region/inline-link-dark-background.html: Added.
- LayoutTests/interaction-region/inline-link-expected.txt: Added.
- LayoutTests/interaction-region/inline-link.html: Added.
- LayoutTests/interaction-region/split-inline-link-expected.txt: Added.
- LayoutTests/interaction-region/split-inline-link.html: Added.
- LayoutTests/interaction-region/wrapped-inline-link-expected.txt: Added.
- LayoutTests/interaction-region/wrapped-inline-link.html: Added.
Add some basic interaction region tests, currently disabled by default
because they can only be run if you turn on the build-time flag.
"wrapped-inline-link.html" covers the case we are fixing by adopting Region;
the others are more generic tests that we should have had before.
Canonical link: https://commits.webkit.org/250840@main
- 8:15 AM Changeset in webkit [294613] by
-
- 4 edits in trunk
Support invalidation for :in-range/:out-of-range
https://bugs.webkit.org/show_bug.cgi?id=238902
<rdar://91718746>
Reviewed by Alan Bujtas.
- LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/input-pseudo-classes-in-has-expected.txt:
- Source/WebCore/html/InputType.cpp:
(WebCore::InputType::setValue):
No need to invalidate style unconditionally on value change anymore.
Use Style::PseudoClassChangeInvalidation for :in-range invalidation.
- Source/WebCore/html/SearchInputType.cpp:
(WebCore::SearchInputType::setValue):
Search cancel button style depends on emptiness of the value so invalidate that specifically.
- Source/WebCore/html/SearchInputType.h:
Canonical link: https://commits.webkit.org/250839@main
- 5:38 AM Changeset in webkit [294612] by
-
- 6 edits2 adds in trunk
Text selection does not show continuous selection when dragging across pages with widows
https://bugs.webkit.org/show_bug.cgi?id=240753
<rdar://90960113>
Reviewed by Antti Koivisto.
Use the correct variable to mark the line.
Test: fast/multicol/incorrect-is-first-line-after-page-break-with-widow.html
- Source/WebCore/layout/integration/inline/InlineIteratorLineBox.cpp:
(WebCore::InlineIterator::LineBoxIterator::operator bool const):
- Source/WebCore/layout/integration/inline/InlineIteratorLineBox.h:
(WebCore::InlineIterator::LineBoxIterator::operator bool const): Deleted.
- Source/WebCore/layout/integration/inline/LayoutIntegrationPagination.cpp:
(WebCore::LayoutIntegration::adjustLinePositionsForPagination):
- Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::lineIndexAfterPageBreak):
- Source/WebCore/testing/Internals.h:
- Source/WebCore/testing/Internals.idl:
- LayoutTests/fast/multicol/incorrect-is-first-line-after-page-break-with-widow-expected.txt: Added.
- LayoutTests/fast/multicol/incorrect-is-first-line-after-page-break-with-widow.html: Added.
Canonical link: https://commits.webkit.org/250838@main