[webkit-changes] [294779] trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp
Title: [294779] trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp Revision 294779 Author svil...@igalia.com Date 2022-05-24 17:06:14 -0700 (Tue, 24 May 2022) Log Message Remove floating objects during tree normalization after style changes https://bugs.webkit.org/show_bug.cgi?id=240797 Reviewed by Darin Adler. Float boxes define their own block formatting context and thus can't have other intruding floats. That's why this scenario is not allowed in the code, except in the case when a regular box with floatting descendants becomes float. In that case the tree might be temporarily in a semi-correct state until we don't remove the intruding floats. The current code deals with that by calling rebuildFloatingObjectSetFromIntrudingFloats() in the subsequent layout. However it's possible that before that a style change kicks in and mutates the render tree. In that case we could be manipulating stale objects. To prevent that we can simply directly call removeFloatingObjects() when normalizing the tree after a style change. * Source/WebCore/rendering/updating/RenderTreeBuilder.cpp: (WebCore::RenderTreeBuilder::normalizeTreeAfterStyleChange): Call removeFloatingObjects(). Canonical link: https://commits.webkit.org/250941@main Modified Paths trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp Diff Modified: trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp (294778 => 294779) --- trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp 2022-05-25 00:04:59 UTC (rev 294778) +++ trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp 2022-05-25 00:06:14 UTC (rev 294779) @@ -673,6 +673,7 @@ } }; clearDescendantFloats(); +downcast(renderer).removeFloatingObjects(); // Fresh floats need to be reparented if they actually belong to the previous anonymous block. // It copies the logic of RenderBlock::addChildIgnoringContinuation if (renderer.previousSibling() && renderer.previousSibling()->isAnonymousBlock()) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [291789] trunk
Title: [291789] trunk Revision 291789 Author svil...@igalia.com Date 2022-03-24 01:33:41 -0700 (Thu, 24 Mar 2022) Log Message Release assert in Document::updateLayout() via HTMLTextAreaElement::childrenChanged https://bugs.webkit.org/show_bug.cgi?id=224471 Reviewed by Ryosuke Niwa. Source/WebCore: Executing some editing commands in a text area might force the recomputation of things like caret or the visible selection position and extent. Under some circumstances (like when the text area has no content and children) we might end up trying to update layout when it is not safe as a side effect of updating the caret. In order to fix that, we can switch to a model in which we update the selection asynchronously in the case of having a non-user triggered change. That way we don't do it inside a restricted layout scope. The App Highlight restoration code had to be tuned as well (when restoring and scrolling to reveal a Quick Note on iOS MacOS). It uses TemporarySelectionChange to select and scroll to reveal the highlight range; the code assumed that this scrolling happens synchronously, since it reverts the selection to the original range at the end of `AppHighlightStorage::attemptToRestoreHighlightAndScroll` when the TemporarySelectionChange falls out of scope. That is however no longer the case. Actually no scrolling happened after this patch because we end up only scheduling the appearance update timer before setting the selection back to the original state with `SelectionRevealMode::DoNotReveal`. Since this only happens when the user interacts in the Notes app, it seems sensible to consider it as a user triggered event. * Modules/highlight/AppHighlightStorage.cpp: (WebCore::AppHighlightStorage::attemptToRestoreHighlightAndScroll): Consider the selection change as user triggered so scrolling actually happens. * editing/Editor.cpp: (WebCore::TemporarySelectionChange::setSelection): Check the UserTriggered flags for default options. * editing/Editor.h: Added a new UserTriggered flag. * editing/FrameSelection.cpp: (WebCore::FrameSelection::setSelection): Call scheduleAppearanceUpdateAfterStyleChange() for !IsUserTriggered changes. (WebCore::FrameSelection::updateSelectionAppearanceNow): Renamed from updateSelectionByUpdatingLayoutOrStyle. It does not need the Document& attribute because it was always called with m_document. (WebCore::FrameSelection::absoluteCaretBounds): Replaced updateSelectionByUpdatingLayoutOrStyle with updateSelectionAppearanceNow(). (WebCore::FrameSelection::setCaretVisibility): Ditto. (WebCore::FrameSelection::selectionBounds const): Ditto. (WebCore::FrameSelection::revealSelection): Call updateSelectionAppearanceNow(). (WebCore::FrameSelection::updateAppearanceIfRevealingSelectionIsNeeded): New method. (WebCore::updateSelectionByUpdatingLayoutOrStyle): Deleted. * editing/FrameSelection.h: * page/EventHandler.cpp: (WebCore::setSelectionIfNeeded): Set the UserTriggered flag for calling setSelection(). * page/Page.cpp: (WebCore::Page::doAfterUpdateRendering): Call updateAppearanceAfterLayout(). LayoutTests: Moved some tests out of the text-based-repaint.js model because selection is now updated and revealed asynchronously in the case of non-user triggered changes. The problem is that by the time the repaint rects are queried the update has not happened yet. That's why the tests were modified so that we wait until the repaint happens. Same situation for other tests that do not involve repaint rects but trigger accesibility tree updates. We must ensure that we let the notification be thrown before checking whether or not has been emited. As it's done asynchronously we must let the main thread run before checking. Last but not least, some of the tests are using setTimeout() instead of requestAnimationFrame() because the results with the latter were not as reliable under stress/debug conditions. * accessibility/mac/selection-boundary-userinfo.html: * accessibility/mac/selection-change-userinfo.html: * accessibility/mac/selection-value-changes-for-aria-textbox.html: * editing/selection-with-absolute-positioned-empty-content.html: * fast/forms/textarea-scrolled-endline-caret.html: * fast/repaint/selection-gap-absolute-child-expected.txt: * fast/repaint/selection-gap-absolute-child.html: * fast/repaint/selection-gap-flipped-absolute-child-expected.txt: * fast/repaint/selection-gap-flipped-absolute-child.html: * fast/repaint/selection-gap-transformed-absolute-child-expected.txt: * fast/repaint/selection-gap-transformed-absolute-child.html: * fast/repaint/selection-gap-transformed-fixed-child-expected.txt: * fast/repaint/selection-gap-transformed-fixed-child.html: * fast/repaint/selection-paint-invalidation-expected.txt: * fast/repaint/selection-ruby-rl-expected.txt: * fast/repaint/selection-ruby-rl.html: * fast/repaint/text-selection-overflow-hidden-expected.txt: * fast/repaint/text-selection-overflow-hidden.html: * platform/gtk/TestExpectations: *
[webkit-changes] [289814] trunk/Source/WebCore
Title: [289814] trunk/Source/WebCore Revision 289814 Author svil...@igalia.com Date 2022-02-15 07:42:32 -0800 (Tue, 15 Feb 2022) Log Message Do not update the fragmented flow state while internally mutating the render tree https://bugs.webkit.org/show_bug.cgi?id=230896 Reviewed by Darin Adler. RenderTree mutations (like those happening when creating/destroying anonymous blocks) should not affect the fragment state of any renderer. This means that we should not have to deal with things like creating/restoring placeholders/spanners while doing that. There is already a IsInternalMove flag that is being used for that. Expand its usage to a couple more methods to improve correctness. * rendering/LegacyRootInlineBox.cpp: (WebCore::LegacyRootInlineBox::~LegacyRootInlineBox): Do not remove the inline box from the ContainingFragmentMap if we're deleting the tree. It was causing ASSERTs trying to retrieve the enclosing fragmented flow in some cases. * rendering/updating/RenderTreeBuilder.cpp: (WebCore::RenderTreeBuilder::attachToRenderElementInternal): Use the RenderTreeBuilder's m_internalTreeBuilding instead of the argument. (WebCore::RenderTreeBuilder::move): Replace passing the IsInternalMove argument by a scope where we don't update the fragmented flow state. (WebCore::RenderTreeBuilder::detachFromRenderElement): Use the RenderTreeBuilder's m_internalMovesType instead of the argument. * rendering/updating/RenderTreeBuilder.h: * rendering/updating/RenderTreeBuilderInline.cpp: (WebCore::RenderTreeBuilder::Inline::splitInlines): Wrap the method by a scope in which fragmented flow state is not updated because we consider those operations internal arrangements of the tree. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/LegacyRootInlineBox.cpp trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.h trunk/Source/WebCore/rendering/updating/RenderTreeBuilderInline.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (289813 => 289814) --- trunk/Source/WebCore/ChangeLog 2022-02-15 15:22:01 UTC (rev 289813) +++ trunk/Source/WebCore/ChangeLog 2022-02-15 15:42:32 UTC (rev 289814) @@ -1,3 +1,34 @@ +2022-02-10 Sergio Villar Senin + +Do not update the fragmented flow state while internally mutating the render tree +https://bugs.webkit.org/show_bug.cgi?id=230896 + +Reviewed by Darin Adler. + +RenderTree mutations (like those happening when creating/destroying anonymous blocks) +should not affect the fragment state of any renderer. This means that we should not have +to deal with things like creating/restoring placeholders/spanners while doing that. + +There is already a IsInternalMove flag that is being used for that. Expand its usage +to a couple more methods to improve correctness. + +* rendering/LegacyRootInlineBox.cpp: +(WebCore::LegacyRootInlineBox::~LegacyRootInlineBox): Do not remove the inline box from +the ContainingFragmentMap if we're deleting the tree. It was causing ASSERTs trying to +retrieve the enclosing fragmented flow in some cases. +* rendering/updating/RenderTreeBuilder.cpp: +(WebCore::RenderTreeBuilder::attachToRenderElementInternal): Use the RenderTreeBuilder's +m_internalTreeBuilding instead of the argument. +(WebCore::RenderTreeBuilder::move): Replace passing the IsInternalMove argument by a +scope where we don't update the fragmented flow state. +(WebCore::RenderTreeBuilder::detachFromRenderElement): Use the RenderTreeBuilder's +m_internalMovesType instead of the argument. +* rendering/updating/RenderTreeBuilder.h: +* rendering/updating/RenderTreeBuilderInline.cpp: +(WebCore::RenderTreeBuilder::Inline::splitInlines): Wrap the method by a scope in which +fragmented flow state is not updated because we consider those operations internal arrangements +of the tree. + 2022-02-15 Ziran Sun [Forms] the select() method returns should be in line with specs Modified: trunk/Source/WebCore/rendering/LegacyRootInlineBox.cpp (289813 => 289814) --- trunk/Source/WebCore/rendering/LegacyRootInlineBox.cpp 2022-02-15 15:22:01 UTC (rev 289813) +++ trunk/Source/WebCore/rendering/LegacyRootInlineBox.cpp 2022-02-15 15:42:32 UTC (rev 289814) @@ -75,7 +75,7 @@ { detachEllipsisBox(); -if (blockFlow().enclosingFragmentedFlow()) +if (!renderer().document().renderTreeBeingDestroyed() && blockFlow().enclosingFragmentedFlow()) containingFragmentMap(blockFlow()).remove(this); } Modified: trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp (289813 => 289814) --- trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp 2022-02-15 15:22:01 UTC (rev 289813) +++ trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp 2022-02-15 15:42:32 UTC (rev 289814) @@ -74,6
[webkit-changes] [289108] trunk
Title: [289108] trunk Revision 289108 Author svil...@igalia.com Date 2022-02-04 03:58:52 -0800 (Fri, 04 Feb 2022) Log Message HTMLMediaElement should dispatch the resize event asynchronously https://bugs.webkit.org/show_bug.cgi?id=230895 Reviewed by Darin Adler. Source/WebCore: The HTMLMediaElement is currently queueing a task to dispatch the resize event in the post layout phase. There is no need to run it synchronously and we could move it to another queue were it will be run asynchronously as it was done for other similar tasks in the past. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::layoutSizeChanged): LayoutTests: * media/modern-media-controls/media-controller/media-controller-resize.html: Remove the event listener to avoid an extra notification. * platform/mac/TestExpectations: Unskipped tests that pass now. * platform/wincairo/TestExpectations: Ditto. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-resize.html trunk/LayoutTests/platform/mac/TestExpectations trunk/LayoutTests/platform/wincairo/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/HTMLMediaElement.cpp Diff Modified: trunk/LayoutTests/ChangeLog (289107 => 289108) --- trunk/LayoutTests/ChangeLog 2022-02-04 08:14:08 UTC (rev 289107) +++ trunk/LayoutTests/ChangeLog 2022-02-04 11:58:52 UTC (rev 289108) @@ -1,3 +1,15 @@ +2022-02-04 Sergio Villar Senin + +HTMLMediaElement should dispatch the resize event asynchronously +https://bugs.webkit.org/show_bug.cgi?id=230895 + +Reviewed by Darin Adler. + +* media/modern-media-controls/media-controller/media-controller-resize.html: Remove the event +listener to avoid an extra notification. +* platform/mac/TestExpectations: Unskipped tests that pass now. +* platform/wincairo/TestExpectations: Ditto. + 2022-02-03 Myles C. Maxfield Two bopomofo tone marks are not moved to the correct place in vertical text with a particular bopomofo font Modified: trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-resize.html (289107 => 289108) --- trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-resize.html 2022-02-04 08:14:08 UTC (rev 289107) +++ trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-resize.html 2022-02-04 11:58:52 UTC (rev 289108) @@ -16,16 +16,19 @@ shouldBeEqualToString("mediaControls.style.width", "320px"); shouldBeEqualToString("mediaControls.style.height", "240px"); -shadowRoot.addEventListener("resize", () => { +function testResize() { shouldBeEqualToString("mediaControls.style.width", "400px"); shouldBeEqualToString("mediaControls.style.height", "300px"); +shadowRoot.removeEventListener("resize", testResize); setTimeout(() => { debug(""); media.remove(); finishJSTest(); }); -}); +} +shadowRoot.addEventListener("resize", testResize); + debug(""); debug("Resizing to 400x300"); media.style.width = "400px"; Modified: trunk/LayoutTests/platform/mac/TestExpectations (289107 => 289108) --- trunk/LayoutTests/platform/mac/TestExpectations 2022-02-04 08:14:08 UTC (rev 289107) +++ trunk/LayoutTests/platform/mac/TestExpectations 2022-02-04 11:58:52 UTC (rev 289108) @@ -2082,8 +2082,6 @@ # @counter-style WPT failures specific to Mac platforms [ Mojave Catalina ] imported/w3c/web-platform-tests/css/css-counter-styles/lower-armenian/css3-counter-styles-112.html [ ImageOnlyFailure ] -webkit.org/b/222185 media/media-extension-with-fragment.html [ Crash ] - webkit.org/b/05 css3/calc/transforms-translate.html [ Pass ImageOnlyFailure ] webkit.org/b/222422 imported/w3c/web-platform-tests/media-source/mediasource-duration.html [ Pass Failure Slow ] Modified: trunk/LayoutTests/platform/wincairo/TestExpectations (289107 => 289108) --- trunk/LayoutTests/platform/wincairo/TestExpectations 2022-02-04 08:14:08 UTC (rev 289107) +++ trunk/LayoutTests/platform/wincairo/TestExpectations 2022-02-04 11:58:52 UTC (rev 289108) @@ -241,7 +241,6 @@ media/track/in-band/track-in-band-srt-mkv-language.html [ Skip ] media/track/in-band/track-in-band-srt-mkv-track-order.html [ Skip ] media/invalid-media-url-crash.html [ Skip ] -media/media-extension-with-fragment.html [ Skip ] # VIDEO_PRESENTATION_MODE is disabled media/media-fullscreen-not-in-document.html [ Skip ] Modified: trunk/Source/WebCore/ChangeLog (289107 => 289108) --- trunk/Source/WebCore/ChangeLog 2022-02-04 08:14:08 UTC (rev 289107) +++ trunk/Source/WebCore/ChangeLog 2022-02-04 11:58:52 UTC (rev 289108) @@ -1,3 +1,17 @@ +2022-02-04 Sergio Villar Senin + +HTMLMediaElement should dispatch the resize event asynchronously +https://bugs.webkit.org/show_bug.cgi?id=230895 + +Reviewed by Darin Adler. + +The HTMLMediaElement is currently queueing a task to dispatch the
[webkit-changes] [288184] trunk
Title: [288184] trunk Revision 288184 Author svil...@igalia.com Date 2022-01-19 01:28:38 -0800 (Wed, 19 Jan 2022) Log Message [css-flexbox] Add support for intrinsic sizes to the flex shorthand https://bugs.webkit.org/show_bug.cgi?id=235314 Reviewed by Darin Adler. LayoutTests/imported/w3c: * web-platform-tests/css/css-flexbox/parsing/flex-shorthand-expected.txt: Replaced FAIL by PASS expectations. Source/WebCore: In r288113 we added support for intrinsic sizes in the flex-basis property. However the flex-basis property can be also set via the flex shorthand. The flex shorthand was still not accepting the intrinsic sizes as valid values. That's why the code that was checking idents in flex-basis was refactored so we do perform now the very same test when parsing flex-basis and flex. This allows WebKit to pass 8 additional WPT subtests. * css/parser/CSSPropertyParser.cpp: (WebCore::isFlexBasisIdent): Refactored from consumeFlexBasis. Checks whether a given ident is a valid keyword for the flex-basis property. (WebCore::consumeFlexBasis): Use isFlexBasisIdent. (WebCore::CSSPropertyParser::consumeFlex): Ditto. Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/parsing/flex-shorthand-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (288183 => 288184) --- trunk/LayoutTests/imported/w3c/ChangeLog 2022-01-19 08:37:08 UTC (rev 288183) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2022-01-19 09:28:38 UTC (rev 288184) @@ -1,3 +1,12 @@ +2022-01-18 Sergio Villar Senin + +[css-flexbox] Add support for intrinsic sizes to the flex shorthand +https://bugs.webkit.org/show_bug.cgi?id=235314 + +Reviewed by Darin Adler. + +* web-platform-tests/css/css-flexbox/parsing/flex-shorthand-expected.txt: Replaced FAIL by PASS expectations. + 2022-01-18 Chris Dumez When inserting a selected in a element, its selected state should remain Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/parsing/flex-shorthand-expected.txt (288183 => 288184) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/parsing/flex-shorthand-expected.txt 2022-01-19 08:37:08 UTC (rev 288183) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/parsing/flex-shorthand-expected.txt 2022-01-19 09:28:38 UTC (rev 288184) @@ -27,12 +27,12 @@ PASS e.style['flex'] = "content" should set flex-grow PASS e.style['flex'] = "content" should set flex-shrink PASS e.style['flex'] = "content" should not set unrelated longhands -FAIL e.style['flex'] = "0 fit-content" should set flex-basis assert_equals: flex-basis should be canonical expected "fit-content" but got "" -FAIL e.style['flex'] = "0 fit-content" should set flex-grow assert_equals: flex-grow should be canonical expected "0" but got "" -FAIL e.style['flex'] = "0 fit-content" should set flex-shrink assert_equals: flex-shrink should be canonical expected "1" but got "" -FAIL e.style['flex'] = "0 fit-content" should not set unrelated longhands assert_true: expected true got false -FAIL e.style['flex'] = "1 0 max-content" should set flex-basis assert_equals: flex-basis should be canonical expected "max-content" but got "" -FAIL e.style['flex'] = "1 0 max-content" should set flex-grow assert_equals: flex-grow should be canonical expected "1" but got "" -FAIL e.style['flex'] = "1 0 max-content" should set flex-shrink assert_equals: flex-shrink should be canonical expected "0" but got "" -FAIL e.style['flex'] = "1 0 max-content" should not set unrelated longhands assert_true: expected true got false +PASS e.style['flex'] = "0 fit-content" should set flex-basis +PASS e.style['flex'] = "0 fit-content" should set flex-grow +PASS e.style['flex'] = "0 fit-content" should set flex-shrink +PASS e.style['flex'] = "0 fit-content" should not set unrelated longhands +PASS e.style['flex'] = "1 0 max-content" should set flex-basis +PASS e.style['flex'] = "1 0 max-content" should set flex-grow +PASS e.style['flex'] = "1 0 max-content" should set flex-shrink +PASS e.style['flex'] = "1 0 max-content" should not set unrelated longhands Modified: trunk/Source/WebCore/ChangeLog (288183 => 288184) --- trunk/Source/WebCore/ChangeLog 2022-01-19 08:37:08 UTC (rev 288183) +++ trunk/Source/WebCore/ChangeLog 2022-01-19 09:28:38 UTC (rev 288184) @@ -1,3 +1,23 @@ +2022-01-18 Sergio Villar Senin + +[css-flexbox] Add support for intrinsic sizes to the flex shorthand +https://bugs.webkit.org/show_bug.cgi?id=235314 + +Reviewed by Darin Adler. + +In r288113 we added support for intrinsic sizes in the flex-basis property. However the flex-basis property +can be also set via the flex shorthand. The flex shorthand was still not accepting the intrinsic sizes as +valid values. That's why the code
[webkit-changes] [288113] trunk
Title: [288113] trunk Revision 288113 Author svil...@igalia.com Date 2022-01-18 03:02:49 -0800 (Tue, 18 Jan 2022) Log Message [css-flexbox] Add support for intrinsic sizes in flex-basis https://bugs.webkit.org/show_bug.cgi?id=235291 Reviewed by Darin Adler. LayoutTests/imported/w3c: * web-platform-tests/css/css-flexbox/flex-basis-intrinsics-001-expected.txt: Replaced FAIL by PASS expectations. * web-platform-tests/css/css-flexbox/parsing/flex-basis-computed-expected.txt: Ditto. * web-platform-tests/css/css-flexbox/parsing/flex-basis-valid-expected.txt: Ditto. Source/WebCore: The flex-basis property should allow the same values as <'width'>. However we were only allowing 'auto', 'content' and any Length. That did not include intrinsic sizes like 'min-content', 'fit-content' etc. Added the proper parsing machinery in order to fix that. Apart from that, a change in the flexbox code was needed. In particular the code was incorrectly assuming that a flex-basis with intrinsic size in a column flexbox was always an indefinite size. That's true as long as the flexbox has an horizontal writing mode (in that case the main axis would be the block axis). However that's totally wrong for a flexbox with vertical writing mode (as in that case the main axis would be the inline axis). The flexbox fix + the parsing additions allow us to pass 12 more WPT subtests. * css/parser/CSSPropertyParser.cpp: (WebCore::consumeFlexBasis): Additionally check for any validWidthOrHeightKeyword(). (WebCore::CSSPropertyParser::parseSingleValue): Pass the context instead of the mode. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::childMainSizeIsDefinite): Replaced isColumnFlow() by !mainAxisIsChildInlineAxis(). Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-basis-intrinsics-001-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/parsing/flex-basis-computed-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/parsing/flex-basis-valid-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (288112 => 288113) --- trunk/LayoutTests/imported/w3c/ChangeLog 2022-01-18 08:30:06 UTC (rev 288112) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2022-01-18 11:02:49 UTC (rev 288113) @@ -1,3 +1,14 @@ +2022-01-17 Sergio Villar Senin + +[css-flexbox] Add support for intrinsic sizes in flex-basis +https://bugs.webkit.org/show_bug.cgi?id=235291 + +Reviewed by Darin Adler. + +* web-platform-tests/css/css-flexbox/flex-basis-intrinsics-001-expected.txt: Replaced FAIL by PASS expectations. +* web-platform-tests/css/css-flexbox/parsing/flex-basis-computed-expected.txt: Ditto. +* web-platform-tests/css/css-flexbox/parsing/flex-basis-valid-expected.txt: Ditto. + 2022-01-17 Antti Koivisto [:has() pseudo-class] Disallow nested :has() Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-basis-intrinsics-001-expected.txt (288112 => 288113) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-basis-intrinsics-001-expected.txt 2022-01-18 08:30:06 UTC (rev 288112) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-basis-intrinsics-001-expected.txt 2022-01-18 11:02:49 UTC (rev 288113) @@ -1,38 +1,14 @@ -FAIL .flex-item 1 assert_equals: - - - -width expected 50 but got 100 -FAIL .flex-item 2 assert_equals: - - - -width expected 100 but got 300 -FAIL .flex-item 3 assert_equals: - - - -width expected 75 but got 100 +PASS .flex-item 1 +PASS .flex-item 2 +PASS .flex-item 3 PASS .flex-item 4 PASS .flex-item 5 PASS .flex-item 6 PASS .flex-item 7 -FAIL .flex-item 8 assert_equals: - - - -width expected 100 but got 300 +PASS .flex-item 8 PASS .flex-item 9 -FAIL .flex-item 10 assert_equals: - - - -height expected 50 but got 100 +PASS .flex-item 10 PASS .flex-item 11 -FAIL .flex-item 12 assert_equals: - - - -height expected 75 but got 100 +PASS .flex-item 12 Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/parsing/flex-basis-computed-expected.txt (288112 => 288113) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/parsing/flex-basis-computed-expected.txt 2022-01-18 08:30:06 UTC (rev 288112) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/parsing/flex-basis-computed-expected.txt 2022-01-18 11:02:49 UTC (rev 288113) @@ -3,9 +3,9 @@ PASS Property flex-basis value '400%' PASS Property flex-basis value 'auto' PASS Property flex-basis value 'content' -FAIL Property flex-basis value 'fit-content' assert_true: 'fit-content' is a supported value for flex-basis. expected true got false -FAIL Property flex-basis value
[webkit-changes] [287976] trunk
Title: [287976] trunk Revision 287976 Author svil...@igalia.com Date 2022-01-13 05:04:00 -0800 (Thu, 13 Jan 2022) Log Message [css-flexbox] Incorrect height of flex items with aspect-ratio whenever the cross axis intrinsic size is larger than the viewport https://bugs.webkit.org/show_bug.cgi?id=234564 Reviewed by Manuel Rego Casasnovas. Source/WebCore: Automatic preferred sizes were considered always indefinite. However whenever they correspond to the (physical) width we could consider them as definite. This allows us to use that size instead of the flex item intrinsic size when computing the transferred size contribution. This way, flex items with aspect ratio and large intrinsic size are not abnormally stretched due to the min-size:auto computation. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::computeMainSizeFromAspectRatioUsing const): Use availableLogical{Width|Height} to compute the cross size when then automatic preferred size is the physical width. (WebCore::RenderFlexibleBox::childCrossAxisIsPhysicalWidth const): (WebCore::RenderFlexibleBox::childCrossSizeShouldUseContainerCrossSize const): Handle the cases of automatic preferred widths. * rendering/RenderFlexibleBox.h: LayoutTests: Adjusted the canvas-css-size-after-height-change-with-display-flex.html test case and expectations so it behaves as other engines. * TestExpectations: Unskipped a test that is passing now. * fast/canvas/canvas-css-size-after-height-change-with-display-flex-expected.html: * fast/canvas/canvas-css-size-after-height-change-with-display-flex.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/fast/canvas/canvas-css-size-after-height-change-with-display-flex-expected.html trunk/LayoutTests/fast/canvas/canvas-css-size-after-height-change-with-display-flex.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp trunk/Source/WebCore/rendering/RenderFlexibleBox.h Diff Modified: trunk/LayoutTests/ChangeLog (287975 => 287976) --- trunk/LayoutTests/ChangeLog 2022-01-13 09:42:56 UTC (rev 287975) +++ trunk/LayoutTests/ChangeLog 2022-01-13 13:04:00 UTC (rev 287976) @@ -1,3 +1,17 @@ +2022-01-10 Sergio Villar Senin + +[css-flexbox] Incorrect height of flex items with aspect-ratio whenever the cross axis intrinsic size is larger than the viewport +https://bugs.webkit.org/show_bug.cgi?id=234564 + + +Reviewed by Manuel Rego Casasnovas. + +Adjusted the canvas-css-size-after-height-change-with-display-flex.html test case and expectations so it behaves as other engines. + +* TestExpectations: Unskipped a test that is passing now. +* fast/canvas/canvas-css-size-after-height-change-with-display-flex-expected.html: +* fast/canvas/canvas-css-size-after-height-change-with-display-flex.html: + 2022-01-13 Youenn Fablet imported/w3c/web-platform-tests/web-locks/clientids.tentative.https.html is consistently passing on bots Modified: trunk/LayoutTests/TestExpectations (287975 => 287976) --- trunk/LayoutTests/TestExpectations 2022-01-13 09:42:56 UTC (rev 287975) +++ trunk/LayoutTests/TestExpectations 2022-01-13 13:04:00 UTC (rev 287976) @@ -1355,7 +1355,6 @@ webkit.org/b/136754 css3/flexbox/csswg/ttwf-reftest-flex-order.html [ ImageOnlyFailure ] webkit.org/b/136754 css3/flexbox/csswg/ttwf-reftest-flex-wrap-reverse.html [ ImageOnlyFailure ] webkit.org/b/136754 css3/flexbox/csswg/ttwf-reftest-flex-wrap.html [ ImageOnlyFailure ] -webkit.org/b/136754 imported/w3c/web-platform-tests/css/css-flexbox/canvas-dynamic-change-001.html [ Failure ] webkit.org/b/136754 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-015.html [ ImageOnlyFailure ] webkit.org/b/136754 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-safe-overflow-position-001.html [ ImageOnlyFailure ] webkit.org/b/210243 imported/w3c/web-platform-tests/css/css-flexbox/percentage-size-quirks-002.html [ Failure ] @@ -4202,7 +4201,6 @@ webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-007.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-010.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/aspect-ratio-intrinsic-size-005.html [ ImageOnlyFailure ] -webkit.org/b/234564 imported/w3c/web-platform-tests/css/css-flexbox/aspect-ratio-intrinsic-size-007.html [ ImageOnlyFailure ] webkit.org/b/145176 imported/w3c/web-platform-tests/css/css-flexbox/flexbox_align-items-stretch-3.html [ ImageOnlyFailure ] webkit.org/b/210093 imported/w3c/web-platform-tests/css/css-flexbox/select-element-zero-height-001.html [ ImageOnlyFailure ] Modified: trunk/LayoutTests/fast/canvas/canvas-css-size-after-height-change-with-display-flex-expected.html (287975 => 287976) ---
[webkit-changes] [287355] trunk
Title: [287355] trunk Revision 287355 Author svil...@igalia.com Date 2021-12-22 07:27:57 -0800 (Wed, 22 Dec 2021) Log Message [REGRESSION][[css-flexbox] child elements are shrunk to fit into container after r286206 https://bugs.webkit.org/show_bug.cgi?id=234361 Reviewed by Manuel Rego Casasnovas. LayoutTests/imported/w3c: * web-platform-tests/css/css-flexbox/flexbox-iframe-intrinsic-size-001-expected.html: Added. * web-platform-tests/css/css-flexbox/flexbox-iframe-intrinsic-size-001.html: Added. * web-platform-tests/css/css-flexbox/w3c-import.log: Source/WebCore: The patch from r286206 fixed the sizing of flex items with intrinsic aspect ratios but no intrinsic sizes as happens with many SVG images. That fix was however way too general as it was targeted at any replaced element. The problem of generalizing it is that replaced elements as iframes do not have intrinsic aspect ratios although they have a default size (300x150px). Constraining the new code to SVG images fixes the regression. Replacing is(child) with is(child) wouldn't be enough as we need to consider the newly added LegacySVGRoot that was added as part of the SVG layout refactoring. Test: imported/w3c/web-platform-tests/css/css-flexbox/flexbox-iframe-intrinsic-size-001.html * rendering/RenderFlexibleBox.cpp: (WebCore::isSVGRootWithIntrinsicAspectRatio): (WebCore::childHasAspectRatio): (WebCore::RenderFlexibleBox::computeMainSizeFromAspectRatioUsing const): (WebCore::RenderFlexibleBox::childHasComputableAspectRatio const): (WebCore::isRenderReplacedWithIntrinsicAspectRatio): Deleted. Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/w3c-import.log trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp Added Paths trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-iframe-intrinsic-size-001-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-iframe-intrinsic-size-001.html Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (287354 => 287355) --- trunk/LayoutTests/imported/w3c/ChangeLog 2021-12-22 12:31:35 UTC (rev 287354) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2021-12-22 15:27:57 UTC (rev 287355) @@ -1,3 +1,14 @@ +2021-12-21 Sergio Villar Senin + +[REGRESSION][[css-flexbox] child elements are shrunk to fit into container after r286206 +https://bugs.webkit.org/show_bug.cgi?id=234361 + +Reviewed by Manuel Rego Casasnovas. + +* web-platform-tests/css/css-flexbox/flexbox-iframe-intrinsic-size-001-expected.html: Added. +* web-platform-tests/css/css-flexbox/flexbox-iframe-intrinsic-size-001.html: Added. +* web-platform-tests/css/css-flexbox/w3c-import.log: + 2021-12-21 Tim Nguyen should generate implied end tags Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-iframe-intrinsic-size-001-expected.html (0 => 287355) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-iframe-intrinsic-size-001-expected.html (rev 0) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-iframe-intrinsic-size-001-expected.html 2021-12-22 15:27:57 UTC (rev 287355) @@ -0,0 +1,19 @@ + + +div { +height: 400px; +border: 0; +} +div > div { +width: 50%; +float: left; +} + + +This test PASS if you see two equally sized blue and green boxes. + + + + + + Property changes on: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-iframe-intrinsic-size-001-expected.html ___ Added: svn:eol-style +LF \ No newline at end of property Added: svn:mime-type +text/html \ No newline at end of property Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-iframe-intrinsic-size-001.html (0 => 287355) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-iframe-intrinsic-size-001.html (rev 0) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-iframe-intrinsic-size-001.html 2021-12-22 15:27:57 UTC (rev 287355) @@ -0,0 +1,24 @@ + + + + + +div { +display: flex; +height: 400px; +} + +iframe { +flex: 1 1 auto; +border: 0; +} + +This test PASS if you see two equally sized blue and green boxes. + + + + + + Property changes on: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-iframe-intrinsic-size-001.html ___ Added: svn:eol-style +LF \ No newline at end of property Added: svn:mime-type +text/html \ No newline at end of property Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/w3c-import.log (287354 => 287355) ---
[webkit-changes] [287263] trunk
Title: [287263] trunk Revision 287263 Author svil...@igalia.com Date 2021-12-20 08:56:35 -0800 (Mon, 20 Dec 2021) Log Message [css-flexbox] Pre-layout orthogonal children to compute the preferred logical width https://bugs.webkit.org/show_bug.cgi?id=234300 Reviewed by Javier Fernandez. LayoutTests/imported/w3c: * web-platform-tests/css/css-flexbox/intrinsic-width-orthogonal-writing-mode-expected.txt: Replaced FAIL by PASS expectations for 2 subtests that are passing now. Source/WebCore: In order to properly compute the flex container intrinsic width we must layout the orthogonal children so that we could use the children's block sizes (which are in the flex container inline axis). The very same solution was adopted long time ago by the RenderGrid code. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::computeIntrinsicLogicalWidths const): prelayout orthogonal children. Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/intrinsic-width-orthogonal-writing-mode-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (287262 => 287263) --- trunk/LayoutTests/imported/w3c/ChangeLog 2021-12-20 16:23:17 UTC (rev 287262) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2021-12-20 16:56:35 UTC (rev 287263) @@ -1,3 +1,13 @@ +2021-12-14 Sergio Villar Senin + +[css-flexbox] Pre-layout orthogonal children to compute the preferred logical width +https://bugs.webkit.org/show_bug.cgi?id=234300 + +Reviewed by Javier Fernandez. + +* web-platform-tests/css/css-flexbox/intrinsic-width-orthogonal-writing-mode-expected.txt: Replaced +FAIL by PASS expectations for 2 subtests that are passing now. + 2021-12-16 Vitaly Dyachkov Flexbox ignores margins of absolute positioned children when `align-items: flex-end` or `justify-content: flex-end` Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/intrinsic-width-orthogonal-writing-mode-expected.txt (287262 => 287263) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/intrinsic-width-orthogonal-writing-mode-expected.txt 2021-12-20 16:23:17 UTC (rev 287262) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/intrinsic-width-orthogonal-writing-mode-expected.txt 2021-12-20 16:56:35 UTC (rev 287263) @@ -1,15 +1,7 @@ PASS .inline-flexbox 1 -FAIL .inline-flexbox 2 assert_equals: - -Some text - -width expected 20 but got 0 -FAIL .inline-flexbox 3 assert_equals: - -Some text - -width expected 20 but got 0 +PASS .inline-flexbox 2 +PASS .inline-flexbox 3 Some text Modified: trunk/Source/WebCore/ChangeLog (287262 => 287263) --- trunk/Source/WebCore/ChangeLog 2021-12-20 16:23:17 UTC (rev 287262) +++ trunk/Source/WebCore/ChangeLog 2021-12-20 16:56:35 UTC (rev 287263) @@ -1,3 +1,19 @@ +2021-12-14 Sergio Villar Senin + +[css-flexbox] Pre-layout orthogonal children to compute the preferred logical width +https://bugs.webkit.org/show_bug.cgi?id=234300 + +Reviewed by Javier Fernandez. + +In order to properly compute the flex container intrinsic width we must layout the orthogonal +children so that we could use the children's block sizes (which are in the flex container +inline axis). + +The very same solution was adopted long time ago by the RenderGrid code. + +* rendering/RenderFlexibleBox.cpp: +(WebCore::RenderFlexibleBox::computeIntrinsicLogicalWidths const): prelayout orthogonal children. + 2021-12-20 Karl Dubost Fixes dead code in compareIcons() Modified: trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp (287262 => 287263) --- trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp 2021-12-20 16:23:17 UTC (rev 287262) +++ trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp 2021-12-20 16:56:35 UTC (rev 287263) @@ -113,6 +113,10 @@ continue; ++numItemsWithNormalLayout; +// Pre-layout orthogonal children in order to get a valid value for the preferred width. +if (style().isHorizontalWritingMode() != child->style().isHorizontalWritingMode()) +child->layoutIfNeeded(); + LayoutUnit margin = marginIntrinsicLogicalWidthForChild(*child); LayoutUnit minPreferredLogicalWidth; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [287064] trunk
Title: [287064] trunk Revision 287064 Author svil...@igalia.com Date 2021-12-15 01:03:52 -0800 (Wed, 15 Dec 2021) Log Message [css-flexbox] Absolutely positioned children should be aligned using the margin box https://bugs.webkit.org/show_bug.cgi?id=234244 Reviewed by Darin Adler. LayoutTests/imported/w3c: * web-platform-tests/css/css-flexbox/abspos/position-absolute-014-expected.txt: Replaced FAIL by PASS expectations. Source/WebCore: When aligning absolutely positioned children we must use the child's margin box. We were using the border box instead, and thus ignoring margins when aligning absolutely positioned flexbox children. This fixes position-absolute-014.html from the WPT suite. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::availableAlignmentSpaceForChild): Removed the !isOutOfFlowPositioned() ASSERT. It's true that in the past it was called only from code dealing with flex items but the code implementing the function does not really have that restriction at all. (WebCore::RenderFlexibleBox::staticCrossAxisPositionForPositionedChild): Directly call availableAlignmentSpaceForChild() as it already uses the margin box. Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/abspos/position-absolute-014-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (287063 => 287064) --- trunk/LayoutTests/imported/w3c/ChangeLog 2021-12-15 06:53:53 UTC (rev 287063) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2021-12-15 09:03:52 UTC (rev 287064) @@ -1,3 +1,13 @@ +2021-12-13 Sergio Villar Senin + +[css-flexbox] Absolutely positioned children should be aligned using the margin box +https://bugs.webkit.org/show_bug.cgi?id=234244 + +Reviewed by Darin Adler. + +* web-platform-tests/css/css-flexbox/abspos/position-absolute-014-expected.txt: Replaced FAIL +by PASS expectations. + 2021-12-14 Joonghun Park Fix that height is calculated incorrectly when using display:table, box-sizing:border-box and padding. Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/abspos/position-absolute-014-expected.txt (287063 => 287064) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/abspos/position-absolute-014-expected.txt 2021-12-15 06:53:53 UTC (rev 287063) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/abspos/position-absolute-014-expected.txt 2021-12-15 09:03:52 UTC (rev 287064) @@ -1,4 +1,4 @@ aaa bbb aaa bbb aaa bbb -FAIL The bottom of each pair of boxes should be the same assert_equals: expected 166 but got 106 +PASS The bottom of each pair of boxes should be the same Modified: trunk/Source/WebCore/ChangeLog (287063 => 287064) --- trunk/Source/WebCore/ChangeLog 2021-12-15 06:53:53 UTC (rev 287063) +++ trunk/Source/WebCore/ChangeLog 2021-12-15 09:03:52 UTC (rev 287064) @@ -1,3 +1,23 @@ +2021-12-13 Sergio Villar Senin + +[css-flexbox] Absolutely positioned children should be aligned using the margin box +https://bugs.webkit.org/show_bug.cgi?id=234244 + +Reviewed by Darin Adler. + +When aligning absolutely positioned children we must use the child's margin box. We were +using the border box instead, and thus ignoring margins when aligning absolutely positioned +flexbox children. + +This fixes position-absolute-014.html from the WPT suite. + +* rendering/RenderFlexibleBox.cpp: +(WebCore::RenderFlexibleBox::availableAlignmentSpaceForChild): Removed the !isOutOfFlowPositioned() +ASSERT. It's true that in the past it was called only from code dealing with flex items but the code +implementing the function does not really have that restriction at all. +(WebCore::RenderFlexibleBox::staticCrossAxisPositionForPositionedChild): Directly call +availableAlignmentSpaceForChild() as it already uses the margin box. + 2021-12-14 Joonghun Park Fix that height is calculated incorrectly when using display:table, box-sizing:border-box and padding. Modified: trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp (287063 => 287064) --- trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp 2021-12-15 06:53:53 UTC (rev 287063) +++ trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp 2021-12-15 09:03:52 UTC (rev 287064) @@ -1224,7 +1224,6 @@ LayoutUnit RenderFlexibleBox::availableAlignmentSpaceForChild(LayoutUnit lineCrossAxisExtent, const RenderBox& child) { -ASSERT(!child.isOutOfFlowPositioned()); LayoutUnit childCrossExtent = crossAxisMarginExtentForChild(child) + crossAxisExtentForChild(child); return lineCrossAxisExtent - childCrossExtent; } @@ -1684,7 +1683,7 @@ LayoutUnit RenderFlexibleBox::staticCrossAxisPositionForPositionedChild(const RenderBox& child) { -
[webkit-changes] [286952] trunk
Title: [286952] trunk Revision 286952 Author svil...@igalia.com Date 2021-12-13 09:19:12 -0800 (Mon, 13 Dec 2021) Log Message [css-writing-modes] Use the correct margins in computeInlinePreferredLogicalWidths in orthogonal flows https://bugs.webkit.org/show_bug.cgi?id=233562 Reviewed by Rob Buis. LayoutTests/imported/w3c: * web-platform-tests/css/css-writing-modes/inline-box-orthogonal-child-with-margins-expected.html: Added. * web-platform-tests/css/css-writing-modes/inline-box-orthogonal-child-with-margins.html: Added. Source/WebCore: In order to compute the preferred logical width of an inline element we must compute the preferred widths of its children. More precisely we should compute the intrinsic size of the children in the inline direction of the inline element. For parallel flows this means indeed computing the preferred logical width. Translated to the margins, we should compute the margin-start and margin-end of each child. However for orthogonal writing modes we should not use the margin-start & margin-end but margin-after and margin-before. That's why in order to support orthogonal flows we should replace marginStart() usage by marginStartUsing(parentStyle) (same for marginEnd). Test: imported/w3c/web-platform-tests/css/css-writing-modes/inline-box-orthogonal-child-with-margins.html * rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths const): LayoutTests: * TestExpectations: Unksipped a flexbox test that is now passing. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/w3c/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderBlockFlow.cpp Added Paths trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/inline-box-orthogonal-child-with-margins-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/inline-box-orthogonal-child-with-margins.html Diff Modified: trunk/LayoutTests/ChangeLog (286951 => 286952) --- trunk/LayoutTests/ChangeLog 2021-12-13 17:04:02 UTC (rev 286951) +++ trunk/LayoutTests/ChangeLog 2021-12-13 17:19:12 UTC (rev 286952) @@ -1,3 +1,13 @@ +2021-12-13 Sergio Villar Senin + +[css-writing-modes] Use the correct margins in computeInlinePreferredLogicalWidths in orthogonal flows +https://bugs.webkit.org/show_bug.cgi?id=233562 + + +Reviewed by Rob Buis. + +* TestExpectations: Unksipped a flexbox test that is now passing. + 2021-12-13 Antti Koivisto [CSS Cascade Layers] Unflake and fix web-platform-tests/css/css-cascade/layer-statement-before-import.html Modified: trunk/LayoutTests/TestExpectations (286951 => 286952) --- trunk/LayoutTests/TestExpectations 2021-12-13 17:04:02 UTC (rev 286951) +++ trunk/LayoutTests/TestExpectations 2021-12-13 17:19:12 UTC (rev 286952) @@ -4247,9 +4247,6 @@ # SVGs as flex items. webkit.org/b/221474 imported/w3c/web-platform-tests/css/css-flexbox/svg-root-as-flex-item-002.html [ ImageOnlyFailure ] -# The test works fine but the expected result fails due to a missing layout. -webkit.org/b/221468 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-align-self-horiz-002.xhtml [ ImageOnlyFailure ] - # align baseline in flexbox. webkit.org/b/221478 imported/w3c/web-platform-tests/css/css-flexbox/baseline-synthesis-001.html [ ImageOnlyFailure ] webkit.org/b/221478 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-align-self-baseline-horiz-001a.xhtml [ ImageOnlyFailure ] Modified: trunk/LayoutTests/imported/w3c/ChangeLog (286951 => 286952) --- trunk/LayoutTests/imported/w3c/ChangeLog 2021-12-13 17:04:02 UTC (rev 286951) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2021-12-13 17:19:12 UTC (rev 286952) @@ -1,3 +1,14 @@ +2021-12-13 Sergio Villar Senin + +[css-writing-modes] Use the correct margins in computeInlinePreferredLogicalWidths in orthogonal flows +https://bugs.webkit.org/show_bug.cgi?id=233562 + + +Reviewed by Rob Buis. + +* web-platform-tests/css/css-writing-modes/inline-box-orthogonal-child-with-margins-expected.html: Added. +* web-platform-tests/css/css-writing-modes/inline-box-orthogonal-child-with-margins.html: Added. + 2021-12-13 Antti Koivisto [CSS Cascade Layers] Unflake and fix web-platform-tests/css/css-cascade/layer-statement-before-import.html Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/inline-box-orthogonal-child-with-margins-expected.html (0 => 286952) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/inline-box-orthogonal-child-with-margins-expected.html (rev 0) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/inline-box-orthogonal-child-with-margins-expected.html 2021-12-13 17:19:12 UTC (rev 286952) @@ -0,0 +1,28 @@ + + + +.container { + border: 1px dashed blue; + height: 200px; +
[webkit-changes] [286593] trunk
Title: [286593] trunk Revision 286593 Author svil...@igalia.com Date 2021-12-07 02:20:24 -0800 (Tue, 07 Dec 2021) Log Message [css-flexbox] Account for captions when flexing tables with specified sizes https://bugs.webkit.org/show_bug.cgi?id=233814 Reviewed by Darin Adler. Source/WebCore: Flexing tables is complex because of the specifics of the table layout algorithms. There are two interrelated issues that were causing some failures in flexbox WPT tests. The first one is that tables interpret overriding sizes (flexed sizes) as the sizes of rows + captions. However the specified height of a table only accounts for the heights of the rows, not the captions. That's why when setting the flexed height of a table we must add up the specified height of the table and the height of the captions. The table algorithm will properly substract the captions' size in order to compute the available height for rows. The second issue is that the table layout algorithm adds the size of the bottom border at the very end of its execution after performing all the computations and it does it unconditionally. The thing is that the flexbox code already takes into account the borders and paddings so we basically have to substract that border when setting the height of the table, because the table layout will add it later. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::computeMainAxisExtentForChild): * rendering/RenderTable.cpp: (WebCore::RenderTable::computeCaptionsLogicalHeight const): New method refactored from current code. (WebCore::RenderTable::layout): * rendering/RenderTable.h: Expose computeCaptionsLogicalHeight. LayoutTests: * TestExpectations: Unskipped two tests that are now passing Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp trunk/Source/WebCore/rendering/RenderTable.cpp trunk/Source/WebCore/rendering/RenderTable.h Diff Modified: trunk/LayoutTests/ChangeLog (286592 => 286593) --- trunk/LayoutTests/ChangeLog 2021-12-07 10:01:22 UTC (rev 286592) +++ trunk/LayoutTests/ChangeLog 2021-12-07 10:20:24 UTC (rev 286593) @@ -1,3 +1,12 @@ +2021-12-03 Sergio Villar Senin + +[css-flexbox] Account for captions when flexing tables with specified sizes +https://bugs.webkit.org/show_bug.cgi?id=233814 + +Reviewed by Darin Adler. + +* TestExpectations: Unskipped two tests that are now passing + 2021-12-07 Martin Robinson perspective() <= 1px should be clamped to 1px Modified: trunk/LayoutTests/TestExpectations (286592 => 286593) --- trunk/LayoutTests/TestExpectations 2021-12-07 10:01:22 UTC (rev 286592) +++ trunk/LayoutTests/TestExpectations 2021-12-07 10:20:24 UTC (rev 286593) @@ -4224,8 +4224,6 @@ webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-margin-002.html [ ImageOnlyFailure ] # Tables as flex items. -webkit.org/b/221473 imported/w3c/web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-column-1.html [ ImageOnlyFailure ] -webkit.org/b/221473 imported/w3c/web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-column-2.html [ ImageOnlyFailure ] webkit.org/b/221473 imported/w3c/web-platform-tests/css/css-flexbox/table-as-item-min-height-1.html [ ImageOnlyFailure ] # SVGs as flex items. Modified: trunk/Source/WebCore/ChangeLog (286592 => 286593) --- trunk/Source/WebCore/ChangeLog 2021-12-07 10:01:22 UTC (rev 286592) +++ trunk/Source/WebCore/ChangeLog 2021-12-07 10:20:24 UTC (rev 286593) @@ -1,3 +1,31 @@ +2021-12-03 Sergio Villar Senin + +[css-flexbox] Account for captions when flexing tables with specified sizes +https://bugs.webkit.org/show_bug.cgi?id=233814 + +Reviewed by Darin Adler. + +Flexing tables is complex because of the specifics of the table layout algorithms. There are +two interrelated issues that were causing some failures in flexbox WPT tests. + +The first one is that tables interpret overriding sizes (flexed sizes) as the sizes of rows + captions. +However the specified height of a table only accounts for the heights of the rows, not the captions. That's +why when setting the flexed height of a table we must add up the specified height of the table and the height +of the captions. The table algorithm will properly substract the captions' size in order to compute the +available height for rows. + +The second issue is that the table layout algorithm adds the size of the bottom border at the very end +of its execution after performing all the computations and it does it unconditionally. The thing is that +the flexbox code already takes into account the borders and paddings so we basically have to substract that +border when setting the height of the table, because the table layout will add it later. + +*
[webkit-changes] [286490] trunk/LayoutTests
Title: [286490] trunk/LayoutTests Revision 286490 Author svil...@igalia.com Date 2021-12-03 07:30:33 -0800 (Fri, 03 Dec 2021) Log Message [css-flexbox] WPT import. December 2021 edition https://bugs.webkit.org/show_bug.cgi?id=233810 Reviewed by Rob Buis. LayoutTests/imported/w3c: * resources/resource-files.json: * web-platform-tests/css/css-flexbox/negative-available-size-crash-expected.txt: Added. * web-platform-tests/css/css-flexbox/negative-available-size-crash.html: Added. * web-platform-tests/css/css-flexbox/scrollbars-auto-expected.html: * web-platform-tests/css/css-flexbox/scrollbars-expected.html: * web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-column-2.html: * web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-row-2.html: * web-platform-tests/css/css-flexbox/w3c-import.log: LayoutTests: * TestExpectations: Unskipped a test that works fine after the changes in the import. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/resources/resource-files.json trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/scrollbars-auto-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/scrollbars-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-column-2.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-row-2.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/w3c-import.log Added Paths trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/negative-available-size-crash-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/negative-available-size-crash.html Diff Modified: trunk/LayoutTests/ChangeLog (286489 => 286490) --- trunk/LayoutTests/ChangeLog 2021-12-03 14:12:08 UTC (rev 286489) +++ trunk/LayoutTests/ChangeLog 2021-12-03 15:30:33 UTC (rev 286490) @@ -1,3 +1,12 @@ +2021-12-03 Sergio Villar Senin + +[css-flexbox] WPT import. December 2021 edition +https://bugs.webkit.org/show_bug.cgi?id=233810 + +Reviewed by Rob Buis. + +* TestExpectations: Unskipped a test that works fine after the changes in the import. + 2021-12-03 Youenn Fablet Persist NavigationPreloadState in service worker registration database Modified: trunk/LayoutTests/TestExpectations (286489 => 286490) --- trunk/LayoutTests/TestExpectations 2021-12-03 14:12:08 UTC (rev 286489) +++ trunk/LayoutTests/TestExpectations 2021-12-03 15:30:33 UTC (rev 286490) @@ -4230,7 +4230,6 @@ # Tables as flex items. webkit.org/b/221473 imported/w3c/web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-column-1.html [ ImageOnlyFailure ] webkit.org/b/221473 imported/w3c/web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-column-2.html [ ImageOnlyFailure ] -webkit.org/b/221473 imported/w3c/web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-row-2.html [ ImageOnlyFailure ] webkit.org/b/221473 imported/w3c/web-platform-tests/css/css-flexbox/table-as-item-min-height-1.html [ ImageOnlyFailure ] # SVGs as flex items. Modified: trunk/LayoutTests/imported/w3c/ChangeLog (286489 => 286490) --- trunk/LayoutTests/imported/w3c/ChangeLog 2021-12-03 14:12:08 UTC (rev 286489) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2021-12-03 15:30:33 UTC (rev 286490) @@ -1,3 +1,19 @@ +2021-12-03 Sergio Villar Senin + +[css-flexbox] WPT import. December 2021 edition +https://bugs.webkit.org/show_bug.cgi?id=233810 + +Reviewed by Rob Buis. + +* resources/resource-files.json: +* web-platform-tests/css/css-flexbox/negative-available-size-crash-expected.txt: Added. +* web-platform-tests/css/css-flexbox/negative-available-size-crash.html: Added. +* web-platform-tests/css/css-flexbox/scrollbars-auto-expected.html: +* web-platform-tests/css/css-flexbox/scrollbars-expected.html: +* web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-column-2.html: +* web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-row-2.html: +* web-platform-tests/css/css-flexbox/w3c-import.log: + 2021-12-02 Chris Dumez html/semantics/forms/constraints/form-validation-validity-valid.html WPT test is failing Modified: trunk/LayoutTests/imported/w3c/resources/resource-files.json (286489 => 286490) --- trunk/LayoutTests/imported/w3c/resources/resource-files.json 2021-12-03 14:12:08 UTC (rev 286489) +++ trunk/LayoutTests/imported/w3c/resources/resource-files.json 2021-12-03 15:30:33 UTC (rev 286490) @@ -42,6 +42,7 @@ "css/css-flexbox/justify-content_flex-start.html", "css/css-flexbox/justify-content_space-around.html", "css/css-flexbox/justify-content_space-between-001.html", +"css/css-flexbox/negative-available-size-crash.html",
[webkit-changes] [286421] trunk/Source/WebCore
Title: [286421] trunk/Source/WebCore Revision 286421 Author svil...@igalia.com Date 2021-12-02 04:51:10 -0800 (Thu, 02 Dec 2021) Log Message Reset height definiteness when constructing flex items https://bugs.webkit.org/show_bug.cgi?id=233458 Reviewed by Alan Bujtas. Flexbox renderer uses an attribute called m_hasDefiniteHeight in order to properly consider as definite some sizes that are normally considered as indefinite. For example, a percentage of an intrinsic size is normally indefinite unless the containing block has an overriding size in which case can be considered as definite. The value of m_hasDefiniteHeight is properly reset every time we construct a flex item or just after finishing the layout. However we should do it as well just before computing the flex basis if the flex item is also a flex container. In that case it might happen that we try to compute the flex basis value with a value for m_hasDefiniteHeight which can be potentially outdated. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutBlock): Use resetHasDefiniteHeight(). (WebCore::RenderFlexibleBox::layoutFlexItems): Ditto. (WebCore::RenderFlexibleBox::constructFlexItem): Call resetHasDefiniteHeight() if the flex item is also a flex container. * rendering/RenderFlexibleBox.h: (WebCore::RenderFlexibleBox::resetHasDefiniteHeight): Added. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp trunk/Source/WebCore/rendering/RenderFlexibleBox.h Diff Modified: trunk/Source/WebCore/ChangeLog (286420 => 286421) --- trunk/Source/WebCore/ChangeLog 2021-12-02 09:02:26 UTC (rev 286420) +++ trunk/Source/WebCore/ChangeLog 2021-12-02 12:51:10 UTC (rev 286421) @@ -1,3 +1,29 @@ +2021-11-25 Sergio Villar Senin + +Reset height definiteness when constructing flex items +https://bugs.webkit.org/show_bug.cgi?id=233458 + +Reviewed by Alan Bujtas. + +Flexbox renderer uses an attribute called m_hasDefiniteHeight in order to properly +consider as definite some sizes that are normally considered as indefinite. For example, +a percentage of an intrinsic size is normally indefinite unless the containing block has +an overriding size in which case can be considered as definite. + +The value of m_hasDefiniteHeight is properly reset every time we construct a flex item or +just after finishing the layout. However we should do it as well just before computing +the flex basis if the flex item is also a flex container. In that case it might happen that +we try to compute the flex basis value with a value for m_hasDefiniteHeight which can +be potentially outdated. + +* rendering/RenderFlexibleBox.cpp: +(WebCore::RenderFlexibleBox::layoutBlock): Use resetHasDefiniteHeight(). +(WebCore::RenderFlexibleBox::layoutFlexItems): Ditto. +(WebCore::RenderFlexibleBox::constructFlexItem): Call resetHasDefiniteHeight() if the +flex item is also a flex container. +* rendering/RenderFlexibleBox.h: +(WebCore::RenderFlexibleBox::resetHasDefiniteHeight): Added. + 2021-12-02 Youenn Fablet Add support for NavigationPreloadManager Modified: trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp (286420 => 286421) --- trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp 2021-12-02 09:02:26 UTC (rev 286420) +++ trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp 2021-12-02 12:51:10 UTC (rev 286421) @@ -399,7 +399,7 @@ // We have to reset this, because changes to our ancestors' style can affect // this value. Also, this needs to be before we call updateAfterLayout, as // that function may re-enter this one. -m_hasDefiniteHeight = SizeDefiniteness::Unknown; +resetHasDefiniteHeight(); // Update our scroll information if we're overflow:auto/scroll/hidden now that we know if we overflow or not. updateScrollInfoAfterLayout(); @@ -1101,7 +1101,7 @@ } allItems.append(constructFlexItem(*child, relayoutChildren)); // constructFlexItem() might set the override containing block height so any value cached for definiteness might be incorrect. -m_hasDefiniteHeight = SizeDefiniteness::Unknown; +resetHasDefiniteHeight(); } const LayoutUnit lineBreakLength = mainAxisContentExtent(LayoutUnit::max()); @@ -1450,6 +1450,8 @@ { auto childHadLayout = child.everHadLayout(); child.clearOverridingContentSize(); +if (is(child)) +downcast(child).resetHasDefiniteHeight(); LayoutUnit borderAndPadding = isHorizontalFlow() ? child.horizontalBorderAndPaddingExtent() : child.verticalBorderAndPaddingExtent(); LayoutUnit childInnerFlexBaseSize = computeFlexBaseSizeForChild(child, borderAndPadding, relayoutChildren); Modified: trunk/Source/WebCore/rendering/RenderFlexibleBox.h (286420 => 286421) ---
[webkit-changes] [286207] trunk
Title: [286207] trunk Revision 286207 Author svil...@igalia.com Date 2021-11-29 02:29:38 -0800 (Mon, 29 Nov 2021) Log Message [css-flexbox] Do not shrink tables bellow their intrinsic sizes https://bugs.webkit.org/show_bug.cgi?id=232383 Reviewed by Manuel Rego Casasnovas. Source/WebCore: Flex layout algorithm uses the flex items min|max sizes to compute the hypothetical main size which will be used to clamp the size of the items when flexed. In the case of tables as flex items, we were using the min-size straight away whenever that was definite. However we cannot do that because tables must not shrink bellow their intrinsic sizes. That's why we should select the maximum of the intrinsic size and the min-size. This fixes a WPT test covering this case. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::computeFlexItemMinMaxSizes): Do not select a min-size smaller than the table intrinsic size in the main axis. LayoutTests: * TestExpectations: Unskip table-as-item-fixed-min-width-3.html which works fine now. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp Diff Modified: trunk/LayoutTests/ChangeLog (286206 => 286207) --- trunk/LayoutTests/ChangeLog 2021-11-29 10:00:51 UTC (rev 286206) +++ trunk/LayoutTests/ChangeLog 2021-11-29 10:29:38 UTC (rev 286207) @@ -1,5 +1,14 @@ 2021-10-27 Sergio Villar Senin +[css-flexbox] Do not shrink tables bellow their intrinsic sizes +https://bugs.webkit.org/show_bug.cgi?id=232383 + +Reviewed by Manuel Rego Casasnovas. + +* TestExpectations: Unskip table-as-item-fixed-min-width-3.html which works fine now. + +2021-10-27 Sergio Villar Senin + [css-flexbox] Add support for replaced elements with intrinsic ratio and no intrinsic size https://bugs.webkit.org/show_bug.cgi?id=231952 Modified: trunk/LayoutTests/TestExpectations (286206 => 286207) --- trunk/LayoutTests/TestExpectations 2021-11-29 10:00:51 UTC (rev 286206) +++ trunk/LayoutTests/TestExpectations 2021-11-29 10:29:38 UTC (rev 286207) @@ -4234,7 +4234,6 @@ webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-margin-002.html [ ImageOnlyFailure ] # Tables as flex items. -webkit.org/b/221473 imported/w3c/web-platform-tests/css/css-flexbox/table-as-item-fixed-min-width-3.html [ ImageOnlyFailure ] webkit.org/b/221473 imported/w3c/web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-column-1.html [ ImageOnlyFailure ] webkit.org/b/221473 imported/w3c/web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-column-2.html [ ImageOnlyFailure ] webkit.org/b/221473 imported/w3c/web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-row-2.html [ ImageOnlyFailure ] Modified: trunk/Source/WebCore/ChangeLog (286206 => 286207) --- trunk/Source/WebCore/ChangeLog 2021-11-29 10:00:51 UTC (rev 286206) +++ trunk/Source/WebCore/ChangeLog 2021-11-29 10:29:38 UTC (rev 286207) @@ -1,5 +1,24 @@ 2021-10-27 Sergio Villar Senin +[css-flexbox] Do not shrink tables bellow their intrinsic sizes +https://bugs.webkit.org/show_bug.cgi?id=232383 + +Reviewed by Manuel Rego Casasnovas. + +Flex layout algorithm uses the flex items min|max sizes to compute the hypothetical main size which +will be used to clamp the size of the items when flexed. In the case of tables as flex items, we were +using the min-size straight away whenever that was definite. However we cannot do that because tables +must not shrink bellow their intrinsic sizes. That's why we should select the maximum of the intrinsic +size and the min-size. + +This fixes a WPT test covering this case. + +* rendering/RenderFlexibleBox.cpp: +(WebCore::RenderFlexibleBox::computeFlexItemMinMaxSizes): Do not select a min-size smaller than the +table intrinsic size in the main axis. + +2021-10-27 Sergio Villar Senin + [css-flexbox] Add support for replaced elements with intrinsic ratio and no intrinsic size https://bugs.webkit.org/show_bug.cgi?id=231952 Modified: trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp (286206 => 286207) --- trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp 2021-11-29 10:00:51 UTC (rev 286206) +++ trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp 2021-11-29 10:29:38 UTC (rev 286207) @@ -1323,8 +1323,13 @@ Length min = mainSizeLengthForChild(MinSize, child); // Intrinsic sizes in child's block axis are handled by the min-size:auto code path. -if (min.isSpecified() || (min.isIntrinsic() && mainAxisIsChildInlineAxis(child))) -return { computeMainAxisExtentForChild(child, MinSize, min).value_or(0_lu), maxExtent.value_or(LayoutUnit::max()) }; +if (min.isSpecified() || (min.isIntrinsic() && mainAxisIsChildInlineAxis(child))) {
[webkit-changes] [286206] trunk
Title: [286206] trunk Revision 286206 Author svil...@igalia.com Date 2021-11-29 02:00:51 -0800 (Mon, 29 Nov 2021) Log Message [css-flexbox] Add support for replaced elements with intrinsic ratio and no intrinsic size https://bugs.webkit.org/show_bug.cgi?id=231952 Reviewed by Manuel Rego Casasnovas. Source/WebCore: It might be the case that replaced elements have intrinsic aspect ratio but no intrinsic dimensions. Actually that's quite common for SVGs for example. We're incorrectly assuming that flex items with no intrinsic dimensions didn't have intrinsic aspect ratios which is wrong. Added new checks that are able to detect those cases were we have an intrinsic aspect ratio even though there are no intrinsic dimensions. * rendering/RenderFlexibleBox.cpp: (WebCore::isRenderReplacedWithIntrinsicAspectRatio): (WebCore::childHasAspectRatio): Consider replaced elements with intrinsic ratios and no intrinsic dimensions. (WebCore::RenderFlexibleBox::computeMainSizeFromAspectRatioUsing const): Let replaced elements compute the aspect ratio by themselves. (WebCore::RenderFlexibleBox::childHasComputableAspectRatio const): * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::computeIntrinsicAspectRatio const): New method that computes the aspect ratio for replaced elements. * rendering/RenderReplaced.h: LayoutTests: * TestExpectations: Unskipped a test case that is now passing. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp trunk/Source/WebCore/rendering/RenderReplaced.cpp trunk/Source/WebCore/rendering/RenderReplaced.h Diff Modified: trunk/LayoutTests/ChangeLog (286205 => 286206) --- trunk/LayoutTests/ChangeLog 2021-11-29 09:41:17 UTC (rev 286205) +++ trunk/LayoutTests/ChangeLog 2021-11-29 10:00:51 UTC (rev 286206) @@ -1,3 +1,13 @@ +2021-10-27 Sergio Villar Senin + +[css-flexbox] Add support for replaced elements with intrinsic ratio and no intrinsic size +https://bugs.webkit.org/show_bug.cgi?id=231952 + + +Reviewed by Manuel Rego Casasnovas. + +* TestExpectations: Unskipped a test case that is now passing. + 2021-11-28 Matt Woodrow Serialize computed style of background shorthand with multiple layers correctly. Modified: trunk/LayoutTests/TestExpectations (286205 => 286206) --- trunk/LayoutTests/TestExpectations 2021-11-29 09:41:17 UTC (rev 286205) +++ trunk/LayoutTests/TestExpectations 2021-11-29 10:00:51 UTC (rev 286206) @@ -4242,7 +4242,6 @@ # SVGs as flex items. webkit.org/b/221474 imported/w3c/web-platform-tests/css/css-flexbox/svg-root-as-flex-item-002.html [ ImageOnlyFailure ] -webkit.org/b/221474 imported/w3c/web-platform-tests/css/css-flexbox/svg-root-as-flex-item-003.html [ ImageOnlyFailure ] # The test works fine but the expected result fails due to a missing layout. webkit.org/b/221468 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-align-self-horiz-002.xhtml [ ImageOnlyFailure ] Modified: trunk/Source/WebCore/ChangeLog (286205 => 286206) --- trunk/Source/WebCore/ChangeLog 2021-11-29 09:41:17 UTC (rev 286205) +++ trunk/Source/WebCore/ChangeLog 2021-11-29 10:00:51 UTC (rev 286206) @@ -1,3 +1,31 @@ +2021-10-27 Sergio Villar Senin + +[css-flexbox] Add support for replaced elements with intrinsic ratio and no intrinsic size +https://bugs.webkit.org/show_bug.cgi?id=231952 + + +Reviewed by Manuel Rego Casasnovas. + +It might be the case that replaced elements have intrinsic aspect ratio but no +intrinsic dimensions. Actually that's quite common for SVGs for example. We're +incorrectly assuming that flex items with no intrinsic dimensions didn't have +intrinsic aspect ratios which is wrong. + +Added new checks that are able to detect those cases were we have an intrinsic +aspect ratio even though there are no intrinsic dimensions. + +* rendering/RenderFlexibleBox.cpp: +(WebCore::isRenderReplacedWithIntrinsicAspectRatio): +(WebCore::childHasAspectRatio): +Consider replaced elements with intrinsic ratios and no intrinsic dimensions. +(WebCore::RenderFlexibleBox::computeMainSizeFromAspectRatioUsing const): +Let replaced elements compute the aspect ratio by themselves. +(WebCore::RenderFlexibleBox::childHasComputableAspectRatio const): +* rendering/RenderReplaced.cpp: +(WebCore::RenderReplaced::computeIntrinsicAspectRatio const): New method that +computes the aspect ratio for replaced elements. +* rendering/RenderReplaced.h: + 2021-11-29 Kimmo Kinnunen GraphicsContextGLANGLE.cpp has platform specific code Modified: trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp (286205 => 286206) --- trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp 2021-11-29 09:41:17 UTC (rev 286205) +++
[webkit-changes] [285989] trunk/LayoutTests
Title: [285989] trunk/LayoutTests Revision 285989 Author svil...@igalia.com Date 2021-11-18 01:41:56 -0800 (Thu, 18 Nov 2021) Log Message [css-flexbox] Import WPT tests. November 2021 edition. https://bugs.webkit.org/show_bug.cgi?id=233197 Reviewed by Martin Robinson. LayoutTests/imported/w3c: * web-platform-tests/css/css-flexbox/baseline-synthesis-001-expected.xht: Added. * web-platform-tests/css/css-flexbox/baseline-synthesis-001.html: Added. * web-platform-tests/css/css-flexbox/baseline-synthesis-002-expected.xht: Added. * web-platform-tests/css/css-flexbox/baseline-synthesis-002.html: Added. * web-platform-tests/css/css-flexbox/column-intrinsic-size-aspect-ratio-crash.html: Added. * web-platform-tests/css/css-flexbox/column-intrinsic-size-aspect-ratio-crash-expected.txt: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-011-expected.txt: * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-011.html: * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-016-expected.xht: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-016.html: Added. * web-platform-tests/css/css-flexbox/flex-minimum-height-flex-items-023.html: * web-platform-tests/css/css-flexbox/flex-minimum-width-flex-items-013.html: * web-platform-tests/css/css-flexbox/flexbox-align-self-vert-001-expected.xhtml: * web-platform-tests/css/css-flexbox/flexbox-align-self-vert-001.xhtml: * web-platform-tests/css/css-flexbox/flexbox-align-self-vert-rtl-001-expected.xhtml: * web-platform-tests/css/css-flexbox/flexbox-align-self-vert-rtl-001.xhtml: * web-platform-tests/css/css-flexbox/percentage-heights-016-expected.xht: Added. * web-platform-tests/css/css-flexbox/percentage-heights-016.html: Added. * web-platform-tests/css/css-flexbox/percentage-heights-017-expected.xht: Added. * web-platform-tests/css/css-flexbox/percentage-heights-017.html: Added. * web-platform-tests/css/css-flexbox/percentage-heights-018-expected.xht: Added. * web-platform-tests/css/css-flexbox/percentage-heights-018.html: Added. * web-platform-tests/css/css-flexbox/percentage-heights-019-expected.xht: Added. * web-platform-tests/css/css-flexbox/percentage-heights-019.html: Added. * web-platform-tests/css/css-flexbox/table-as-item-large-intrinsic-size-expected.xht: Added. * web-platform-tests/css/css-flexbox/table-as-item-large-intrinsic-size.html: Added. * web-platform-tests/css/css-flexbox/w3c-import.log: LayoutTests: * TestExpectations: Added tests that fail since the import. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-011-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-011.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-minimum-height-flex-items-023.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-minimum-width-flex-items-013.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-align-self-vert-001-expected.xhtml trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-align-self-vert-001.xhtml trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-align-self-vert-rtl-001-expected.xhtml trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-align-self-vert-rtl-001.xhtml trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/w3c-import.log Added Paths trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/baseline-synthesis-001-expected.xht trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/baseline-synthesis-001.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/baseline-synthesis-002-expected.xht trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/baseline-synthesis-002.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/column-intrinsic-size-aspect-ratio-crash-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/column-intrinsic-size-aspect-ratio-crash.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-016-expected.xht trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-016.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/percentage-heights-016-expected.xht trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/percentage-heights-016.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/percentage-heights-017-expected.xht trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/percentage-heights-017.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/percentage-heights-018-expected.xht
[webkit-changes] [285709] trunk
Title: [285709] trunk Revision 285709 Author svil...@igalia.com Date 2021-11-12 02:17:21 -0800 (Fri, 12 Nov 2021) Log Message [css-flexbox] Add flex-basis: content support https://bugs.webkit.org/show_bug.cgi?id=221479 Reviewed by Javier Fernandez. LayoutTests/imported/w3c: * web-platform-tests/css/css-flexbox/parsing/flex-basis-computed-expected.txt: Replaced FAIL by PASS expectations. * web-platform-tests/css/css-flexbox/parsing/flex-basis-valid-expected.txt: Ditto. * web-platform-tests/css/css-flexbox/parsing/flex-shorthand-expected.txt: Ditto. Source/WebCore: Add support for the content keyword as a valid value for the flex-basis property. It indicates an automated size based on the contents of the flex item. It's typically equivalent to the max-content size but it has some adjustments for aspect ratios, orthogonal flows and intrinsic sizing constraints. Apart from adding the parsing support, it required very little adjustments in the flexbox code after the refactoring in r284359. This makes WebKit pass all of the flex-basis:content tests in WPT. We're talking about 6 tests testing the feature and 6 subtests related to parsing. * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Handle Content in switch. (WebCore::CSSPrimitiveValue::init): Initialization for content CSS value. * css/CSSProperties.json: * css/LengthFunctions.cpp: Replaced LengthOrAuto by LengthSizing. (WebCore::valueForLength): Handle Content in switch. (WebCore::floatValueForLength): Ditto. * css/LengthFunctions.h: (WebCore::minimumValueForLength): Ditto. * css/calc/CSSCalcValue.cpp: (WebCore::createCSS): Ditto. * css/parser/CSSPropertyParser.cpp: (WebCore::consumeFlexBasis): Consume CSSValueContent. (WebCore::CSSPropertyParser::consumeFlex): Ditto. * platform/Length.cpp: (WebCore::operator<<): Added printing support for content. * platform/Length.h: (WebCore::Length::initialize): Added enum for content. (WebCore::Length::isContent const): New method. * rendering/RenderBox.cpp: (WebCore::RenderBox::computeReplacedLogicalWidthUsing const): Handle content in switch. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::childMainSizeIsDefinite): Treat content as indefinite lenght. (WebCore::RenderFlexibleBox::computeFlexBaseSizeForChild): Compute flex-basis using max-content if flex-basis:content is specified. * style/StyleBuilderConverter.h: (WebCore::Style::BuilderConverter::convertLengthSizing): Handle content in switch. Source/WebKit: * Shared/WebCoreArgumentCoders.cpp: (IPC::ArgumentCoder::encode): Handle content in switch. (IPC::ArgumentCoder::decode): Ditto. LayoutTests: * TestExpectations: Unskipped all the flexbox-flex-basis-content tests that work fine now. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/parsing/flex-basis-computed-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/parsing/flex-basis-valid-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/parsing/flex-shorthand-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/CSSPrimitiveValue.cpp trunk/Source/WebCore/css/CSSProperties.json trunk/Source/WebCore/css/LengthFunctions.cpp trunk/Source/WebCore/css/LengthFunctions.h trunk/Source/WebCore/css/calc/CSSCalcValue.cpp trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp trunk/Source/WebCore/platform/Length.cpp trunk/Source/WebCore/platform/Length.h trunk/Source/WebCore/rendering/RenderBox.cpp trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp trunk/Source/WebCore/style/StyleBuilderConverter.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Shared/WebCoreArgumentCoders.cpp Diff Modified: trunk/LayoutTests/ChangeLog (285708 => 285709) --- trunk/LayoutTests/ChangeLog 2021-11-12 08:59:44 UTC (rev 285708) +++ trunk/LayoutTests/ChangeLog 2021-11-12 10:17:21 UTC (rev 285709) @@ -1,3 +1,12 @@ +2021-11-11 Sergio Villar Senin + +[css-flexbox] Add flex-basis: content support +https://bugs.webkit.org/show_bug.cgi?id=221479 + +Reviewed by Javier Fernandez. + +* TestExpectations: Unskipped all the flexbox-flex-basis-content tests that work fine now. + 2021-11-12 Arcady Goldmints-Orlov [GLIB] Update test expectations and baselines. Unreviewed test gardening. Modified: trunk/LayoutTests/TestExpectations (285708 => 285709) --- trunk/LayoutTests/TestExpectations 2021-11-12 08:59:44 UTC (rev 285708) +++ trunk/LayoutTests/TestExpectations 2021-11-12 10:17:21 UTC (rev 285709) @@ -4261,14 +4261,6 @@ webkit.org/b/221478 imported/w3c/web-platform-tests/css/css-flexbox/dynamic-baseline-change.html [ ImageOnlyFailure ] webkit.org/b/221478 imported/w3c/web-platform-tests/css/css-flexbox/synthesize-vrl-baseline.html [ ImageOnlyFailure ] -# flex-basis:content. -webkit.org/b/221479
[webkit-changes] [285623] trunk
Title: [285623] trunk Revision 285623 Author svil...@igalia.com Date 2021-11-11 01:42:13 -0800 (Thu, 11 Nov 2021) Log Message [css-flexbox] Improve & simplify the flex-basis computation https://bugs.webkit.org/show_bug.cgi?id=230755 Reviewed by Alan Bujtas. PerformanceTests: New test case to catch performance regressions with lots of nested (specially column) flexboxes. * Layout/nested-flexbox.html: Added. Source/WebCore: The flex basis computation has some special cases that require us to size the flex items "as if" they had the length specified by flex-basis property as their main size (either width or height depending on the flex direction). In order to do that a mechanism similar to the overriding sizes was implemented, but in this case, we're doing an overriding of the style. That overriding style is used during both layout and preferred width computations if present. A new RAII class called ScopedFlexBasisAsChildMainSize sets the overriding before computing the flex base size and clears it just after the calculations. This is done in the computeFlexBaseSizeForChild() method that was renamed from computeInnerFlexBaseSizeForChild() as it fits better with the terminology used in the specs. Flex basis computation is already covered by the WPT test suite, there is no need for extra tests. This patch fixes the only flex-basis-* test case that was not passing apart from another one. The original patch was causing severe regressions in sites doing heavy usage of nested flexboxes like twitter.com or gmail.com because it was removing some caching that is needed in order not to do way too many layouts. The new one does not have this issue. A new perf test was added in order to detect those eventual regressions. In my laptop the test achieves 13.5k runs/s while with the original patch is only capable of doing 6k runs/s. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::computePreferredLogicalWidths): Use the overriding style if present. * rendering/RenderBox.cpp: (WebCore::RenderBox::overridingLogicalHeightLength const): Added. (WebCore::RenderBox::setOverridingLogicalHeightLength): Added. (WebCore::RenderBox::hasOverridingLogicalHeightLength const): Added. (WebCore::RenderBox::clearOverridingLogicalHeightLength): Added. (WebCore::RenderBox::overridingLogicalWidthLength const): Added. (WebCore::RenderBox::setOverridingLogicalWidthLength): Added. (WebCore::RenderBox::hasOverridingLogicalWidthLength const): Added. (WebCore::RenderBox::clearOverridingLogicalWidthLength): Added. (WebCore::RenderBox::computeLogicalWidthInFragment const): Use the overriding style if present. (WebCore::RenderBox::computeLogicalHeight const): Use the overriding style if present. * rendering/RenderBox.h: * rendering/RenderFlexibleBox.cpp: (WebCore::ScopedFlexBasisAsChildMainSize::ScopedFlexBasisAsChildMainSize): Sets the overriding style. (WebCore::ScopedFlexBasisAsChildMainSize::~ScopedFlexBasisAsChildMainSize): Clears the overriding style. (WebCore::RenderFlexibleBox::computeFlexBaseSizeForChild): Renamed from computeInnerFlexBaseSizeForChild(). (WebCore::RenderFlexibleBox::maybeCacheChildMainIntrinsicSize): Refactored from code from computeInnerFlexBaseSizeForChild(). (WebCore::RenderFlexibleBox::constructFlexItem): Moved code to maybeCacheChildMainIntrinsicSize(). (WebCore::RenderFlexibleBox::computeInnerFlexBaseSizeForChild): Deleted. * rendering/RenderFlexibleBox.h: LayoutTests: * TestExpectations: Unskipped a couple of tests that work fine now. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/PerformanceTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderBlock.cpp trunk/Source/WebCore/rendering/RenderBox.cpp trunk/Source/WebCore/rendering/RenderBox.h trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp trunk/Source/WebCore/rendering/RenderFlexibleBox.h Added Paths trunk/PerformanceTests/Layout/nested-flexbox.html Diff Modified: trunk/LayoutTests/ChangeLog (285622 => 285623) --- trunk/LayoutTests/ChangeLog 2021-11-11 08:21:51 UTC (rev 285622) +++ trunk/LayoutTests/ChangeLog 2021-11-11 09:42:13 UTC (rev 285623) @@ -1,3 +1,12 @@ +2021-11-10 Sergio Villar Senin + +[css-flexbox] Improve & simplify the flex-basis computation +https://bugs.webkit.org/show_bug.cgi?id=230755 + +Reviewed by Alan Bujtas. + +* TestExpectations: Unskipped a couple of tests that work fine now. + 2021-11-11 Antoine Quint Default computed value for "content" should be "none" for ::before and ::after Modified: trunk/LayoutTests/TestExpectations (285622 => 285623) --- trunk/LayoutTests/TestExpectations 2021-11-11 08:21:51 UTC (rev 285622) +++ trunk/LayoutTests/TestExpectations 2021-11-11 09:42:13 UTC (rev 285623) @@ -4276,9 +4276,6 @@ webkit.org/b/221479 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-flex-basis-content-003a.html [ ImageOnlyFailure ] webkit.org/b/221479
[webkit-changes] [284441] trunk
Title: [284441] trunk Revision 284441 Author svil...@igalia.com Date 2021-10-19 03:21:36 -0700 (Tue, 19 Oct 2021) Log Message Add my github username to contributors.json Unreviewed. * metadata/contributors.json: Modified Paths trunk/ChangeLog trunk/metadata/contributors.json Diff Modified: trunk/ChangeLog (284440 => 284441) --- trunk/ChangeLog 2021-10-19 10:14:40 UTC (rev 284440) +++ trunk/ChangeLog 2021-10-19 10:21:36 UTC (rev 284441) @@ -1,3 +1,11 @@ +2021-10-19 Sergio Villar Senin + +Add my github username to contributors.json + +Unreviewed. + +* metadata/contributors.json: + 2021-10-18 Ms2ger Add my github username to contributors.json Modified: trunk/metadata/contributors.json (284440 => 284441) --- trunk/metadata/contributors.json 2021-10-19 10:14:40 UTC (rev 284440) +++ trunk/metadata/contributors.json 2021-10-19 10:21:36 UTC (rev 284441) @@ -5825,7 +5825,8 @@ "svil...@igalia.com", "ser...@webkit.org" ], - "expertise" : "WebKitGTK port, WebKit2, CSS Grid Layout, libsoup", + "expertise" : "WebKitGTK port, CSS Grid Layout, Flexbox", + "github": "svillar", "name" : "Sergio Villar Senin", "nicks" : [ "svillar" ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [284440] trunk
Title: [284440] trunk Revision 284440 Author svil...@igalia.com Date 2021-10-19 03:14:40 -0700 (Tue, 19 Oct 2021) Log Message [css-flexbox] Add flex-basis: content support https://bugs.webkit.org/show_bug.cgi?id=221479 LayoutTests/imported/w3c: Reviewed by Javier Fernandez. Fixed 6 subtest expectations. All of them working fine now. * web-platform-tests/css/css-flexbox/parsing/flex-basis-computed-expected.txt: * web-platform-tests/css/css-flexbox/parsing/flex-basis-valid-expected.txt: * web-platform-tests/css/css-flexbox/parsing/flex-shorthand-expected.txt: Source/WebCore: Reviewed by Javier Fernandez. Add support for the content keyword as a valid value for the flex-basis property. It indicates an automated size based on the contents of the flex item. It's typically equivalent to the max-content size but it has some adjustments for aspect ratios, orthogonal flows and intrinsic sizing constraints. Apart from adding the parsing support, it required very little adjustments in the flexbox code after the refactoring in r284359. This makes WebKit pass all of the flex-basis:content tests in WPT. We're talking about 6 tests testing the feature and 6 subtests related to parsing. * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Handle Content in switch. (WebCore::CSSPrimitiveValue::init): Initialization for content CSS value. * css/CSSProperties.json: * css/LengthFunctions.cpp: Replaced LengthOrAuto by LengthSizing. (WebCore::valueForLength): Handle Content in switch. (WebCore::floatValueForLength): Ditto. * css/LengthFunctions.h: (WebCore::minimumValueForLength): Ditto. * css/calc/CSSCalcValue.cpp: (WebCore::createCSS): Ditto. * css/parser/CSSPropertyParser.cpp: (WebCore::consumeFlexBasis): Consume CSSValueContent. (WebCore::CSSPropertyParser::consumeFlex): Ditto. * platform/Length.cpp: (WebCore::operator<<): Added printing support for content. * platform/Length.h: (WebCore::Length::initialize): Added enum for content. (WebCore::Length::isContent const): New method. * rendering/RenderBox.cpp: (WebCore::RenderBox::computeReplacedLogicalWidthUsing const): Handle content in switch. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::childMainSizeIsDefinite): Treat content as indefinite lenght. (WebCore::RenderFlexibleBox::childHasComputableAspectRatioAndCrossSizeIsConsideredDefinite): Flex basis must be either auto or content. (WebCore::RenderFlexibleBox::computeFlexBaseSizeForChild): Compute flex-basis using max-content if flex-basis:content is specified. * style/StyleBuilderConverter.h: (WebCore::Style::BuilderConverter::convertLengthSizing): Handle content in switch. Source/WebKit: Reviewed by Javier Fernandez. Handle LengthType::Content in encode/decode functions. * Shared/WebCoreArgumentCoders.cpp: (IPC::ArgumentCoder::encode): (IPC::ArgumentCoder::decode): LayoutTests: Reviewed by Javier Fernandez. * TestExpectations: Unskipped 6 tests that are now passing. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/parsing/flex-basis-computed-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/parsing/flex-basis-valid-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/parsing/flex-shorthand-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/CSSPrimitiveValue.cpp trunk/Source/WebCore/css/CSSProperties.json trunk/Source/WebCore/css/LengthFunctions.cpp trunk/Source/WebCore/css/LengthFunctions.h trunk/Source/WebCore/css/calc/CSSCalcValue.cpp trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp trunk/Source/WebCore/platform/Length.cpp trunk/Source/WebCore/platform/Length.h trunk/Source/WebCore/rendering/RenderBox.cpp trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp trunk/Source/WebCore/style/StyleBuilderConverter.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Shared/WebCoreArgumentCoders.cpp Diff Modified: trunk/LayoutTests/ChangeLog (284439 => 284440) --- trunk/LayoutTests/ChangeLog 2021-10-19 08:35:40 UTC (rev 284439) +++ trunk/LayoutTests/ChangeLog 2021-10-19 10:14:40 UTC (rev 284440) @@ -1,3 +1,12 @@ +2021-10-18 Sergio Villar Senin + +[css-flexbox] Add flex-basis: content support +https://bugs.webkit.org/show_bug.cgi?id=221479 + +Reviewed by Javier Fernandez. + +* TestExpectations: Unskipped 6 tests that are now passing. + 2021-10-19 Cameron McCormack Ensure CanvasRenderingContext2D.drawImage(video) uses the right color space Modified: trunk/LayoutTests/TestExpectations (284439 => 284440) --- trunk/LayoutTests/TestExpectations 2021-10-19 08:35:40 UTC (rev 284439) +++ trunk/LayoutTests/TestExpectations 2021-10-19 10:14:40 UTC (rev 284440) @@ -4210,14 +4210,6 @@ webkit.org/b/221478 imported/w3c/web-platform-tests/css/css-flexbox/dynamic-baseline-change.html [ ImageOnlyFailure ]
[webkit-changes] [284397] trunk
Title: [284397] trunk Revision 284397 Author svil...@igalia.com Date 2021-10-18 13:50:56 -0700 (Mon, 18 Oct 2021) Log Message [css-flexbox] Do not clamp flex base size with {min|max}-{height|width} https://bugs.webkit.org/show_bug.cgi?id=225590 Reviewed by Manuel Rego Casasnovas. Source/WebCore: When computing flex base size we should not clamp it with neither min-{height|width} nor max-{height|width}. That would be done later and will be called the hypothetical main size. For most of the cases we were already doing it, however there are some particular cases in which we have to call the generic layout code which does clamp the sizes using min and max sizes. In order to make those code paths work, we reset the min|max values to their initial ones (so they effectively become inactive) and then we set the original values back after computing the base size. This is a reland of r279271 which was pretty similar but caused a visual regression in GMail. After r284359 this is no longer a problem of this patch. This fixes 3 WPT flexbox tests. * rendering/RenderFlexibleBox.cpp: (WebCore::ScopedUnboundedBoxWithFlexBasisAsChildMainSize::ScopedUnboundedBoxWithFlexBasisAsChildMainSize): renamed from ScopedFlexBasisAsChildMainSize. Resets min|max-size to their initial values. (WebCore::ScopedUnboundedBoxWithFlexBasisAsChildMainSize::~ScopedUnboundedBoxWithFlexBasisAsChildMainSize): ditto. Restores min|max-size original values. (WebCore::RenderFlexibleBox::computeFlexBaseSizeForChild): (WebCore::ScopedFlexBasisAsChildMainSize::ScopedFlexBasisAsChildMainSize): Deleted. (WebCore::ScopedFlexBasisAsChildMainSize::~ScopedFlexBasisAsChildMainSize): Deleted. LayoutTests: * TestExpectations: Unskipped 3 tests that are now passing. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp Diff Modified: trunk/LayoutTests/ChangeLog (284396 => 284397) --- trunk/LayoutTests/ChangeLog 2021-10-18 20:41:50 UTC (rev 284396) +++ trunk/LayoutTests/ChangeLog 2021-10-18 20:50:56 UTC (rev 284397) @@ -1,3 +1,13 @@ +2021-10-15 Sergio Villar Senin + +[css-flexbox] Do not clamp flex base size with {min|max}-{height|width} +https://bugs.webkit.org/show_bug.cgi?id=225590 + + +Reviewed by Manuel Rego Casasnovas. + +* TestExpectations: Unskipped 3 tests that are now passing. + 2021-10-18 Tyler Wilcock AX: Return AXEmptyGroup subrole for groups with no accessible content Modified: trunk/LayoutTests/TestExpectations (284396 => 284397) --- trunk/LayoutTests/TestExpectations 2021-10-18 20:41:50 UTC (rev 284396) +++ trunk/LayoutTests/TestExpectations 2021-10-18 20:50:56 UTC (rev 284397) @@ -4162,9 +4162,7 @@ webkit.org/b/209080 imported/w3c/web-platform-tests/css/css-writing-modes/vertical-alignment-srl-034.xht [ ImageOnlyFailure ] webkit.org/b/209080 imported/w3c/web-platform-tests/css/css-writing-modes/vertical-alignment-srl-040.xht [ ImageOnlyFailure ] -webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-012.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-015.html [ ImageOnlyFailure ] -webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-007.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-010.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/aspect-ratio-intrinsic-size-005.html [ ImageOnlyFailure ] @@ -4190,7 +4188,6 @@ webkit.org/b/221473 imported/w3c/web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-column-1.html [ ImageOnlyFailure ] webkit.org/b/221473 imported/w3c/web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-column-2.html [ ImageOnlyFailure ] webkit.org/b/221473 imported/w3c/web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-row-2.html [ ImageOnlyFailure ] -webkit.org/b/221473 imported/w3c/web-platform-tests/css/css-flexbox/table-as-item-min-height-1.html [ ImageOnlyFailure ] # SVGs as flex items. webkit.org/b/221474 imported/w3c/web-platform-tests/css/css-flexbox/svg-root-as-flex-item-002.html [ ImageOnlyFailure ] Modified: trunk/Source/WebCore/ChangeLog (284396 => 284397) --- trunk/Source/WebCore/ChangeLog 2021-10-18 20:41:50 UTC (rev 284396) +++ trunk/Source/WebCore/ChangeLog 2021-10-18 20:50:56 UTC (rev 284397) @@ -1,3 +1,35 @@ +2021-10-15 Sergio Villar Senin + +[css-flexbox] Do not clamp flex base size with {min|max}-{height|width} +https://bugs.webkit.org/show_bug.cgi?id=225590 + + +Reviewed by Manuel Rego Casasnovas. + +When computing flex base size we should not clamp it with neither min-{height|width} +nor max-{height|width}. That would be done later and will be
[webkit-changes] [284359] trunk
Title: [284359] trunk Revision 284359 Author svil...@igalia.com Date 2021-10-18 03:07:52 -0700 (Mon, 18 Oct 2021) Log Message [css-flexbox] Improve & simplify the flex-basis computation https://bugs.webkit.org/show_bug.cgi?id=230755 Reviewed by Manuel Rego Casasnovas. Source/WebCore: The flex-basis computation code was a bit convoluted. It had some pre-computations for items with intrinsic main size that were causing several issues due to reentrancy. Actually those computations where not needed at all for the flex basis computation but for a later stage, the computation of the hyphotetical main size in which we need to compute 'min-{width|height}: auto'. That's why the code that was executed before the flex-basis computation is now part of computeFlexItemMinMaxSizes(). As we are no longer doing a layout before computing the flex-basis, a layout has to be added to those cases in which the main size is the block size of the child. Apart from that the flex-basis computation uses a newly defined RAII class to set the main size of the item to the value specified by flex-basis which is what the specs mandate. Last but not least, the computeInnerFlexBaseSizeForChild() method was renamed to computeFlexBaseSizeForChild() which fits better with the terminology used in the specs. Flex basis computation is already covered by the WPT test suite, there is no need for extra tests. This patch fixes the only flex-basis-* test case that was not passing. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::computeMainAxisExtentForChild): Removed obsolete comment. Added a layoutIfNeeded() as we cannot be sure that the item was already laid out any more. (WebCore::ScopedFlexBasisAsMainSize::ScopedFlexBasisAsChildMainSize): New RAII class. (WebCore::ScopedFlexBasisAsMainSize::~ScopedFlexBasisAsChildMainSize): (WebCore::RenderFlexibleBox::computeFlexBaseSizeForChild): Renamed from computeInnerFlexBaseSizeForChild. (WebCore::RenderFlexibleBox::computeFlexItemMinMaxSizes): Added relayoutChildren parameter. (WebCore::RenderFlexibleBox::constructFlexItem): Moved code to computeFlexItemMinMaxSizes(). (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): (WebCore::RenderFlexibleBox::computeInnerFlexBaseSizeForChild): Deleted. * rendering/RenderFlexibleBox.h: LayoutTests: * TestExpectations: Unskipped flex-basis-011.html which is now working fine. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp trunk/Source/WebCore/rendering/RenderFlexibleBox.h Diff Modified: trunk/LayoutTests/ChangeLog (284358 => 284359) --- trunk/LayoutTests/ChangeLog 2021-10-18 09:39:43 UTC (rev 284358) +++ trunk/LayoutTests/ChangeLog 2021-10-18 10:07:52 UTC (rev 284359) @@ -1,3 +1,12 @@ +2021-09-24 Sergio Villar Senin + +[css-flexbox] Improve & simplify the flex-basis computation +https://bugs.webkit.org/show_bug.cgi?id=230755 + +Reviewed by Manuel Rego Casasnovas. + +* TestExpectations: Unskipped flex-basis-011.html which is now working fine. + 2021-10-17 Dean Jackson [WebXR] Stubs for WebXR Hand Input Module Modified: trunk/LayoutTests/TestExpectations (284358 => 284359) --- trunk/LayoutTests/TestExpectations 2021-10-18 09:39:43 UTC (rev 284358) +++ trunk/LayoutTests/TestExpectations 2021-10-18 10:07:52 UTC (rev 284359) @@ -4219,9 +4219,6 @@ webkit.org/b/221479 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-flex-basis-content-003a.html [ ImageOnlyFailure ] webkit.org/b/221479 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-flex-basis-content-004a.html [ ImageOnlyFailure ] -# flex-basis with %. -webkit.org/b/ imported/w3c/web-platform-tests/css/css-flexbox/flex-basis-011.html [ ImageOnlyFailure ] - # Flex item's min|max content contributions webkit.org/b/230747 imported/w3c/web-platform-tests/css/css-flexbox/flex-container-max-content-001.html [ ImageOnlyFailure ] webkit.org/b/230747 imported/w3c/web-platform-tests/css/css-flexbox/flex-container-min-content-001.html [ ImageOnlyFailure ] Modified: trunk/Source/WebCore/ChangeLog (284358 => 284359) --- trunk/Source/WebCore/ChangeLog 2021-10-18 09:39:43 UTC (rev 284358) +++ trunk/Source/WebCore/ChangeLog 2021-10-18 10:07:52 UTC (rev 284359) @@ -1,3 +1,39 @@ +2021-09-24 Sergio Villar Senin + +[css-flexbox] Improve & simplify the flex-basis computation +https://bugs.webkit.org/show_bug.cgi?id=230755 + +Reviewed by Manuel Rego Casasnovas. + +The flex-basis computation code was a bit convoluted. It had some pre-computations for items +with intrinsic main size that were causing several issues due to reentrancy. Actually those +computations where not needed at all for the flex basis computation but for a later stage, the +computation of the hyphotetical main size in which we need to compute 'min-{width|height}: auto'. + +That's
[webkit-changes] [283800] trunk/LayoutTests
Title: [283800] trunk/LayoutTests Revision 283800 Author svil...@igalia.com Date 2021-10-08 07:44:40 -0700 (Fri, 08 Oct 2021) Log Message [GTK] web-platform-tests/css/css-flexbox/text-as-flexitem-size-001.html is failing https://bugs.webkit.org/show_bug.cgi?id=231429 Unreviewed gardening. Adding GTK expectations for a test that has been failing since it was imported. * platform/gtk/imported/w3c/web-platform-tests/css/css-flexbox/text-as-flexitem-size-001-expected.txt: Added. Modified Paths trunk/LayoutTests/ChangeLog Added Paths trunk/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-flexbox/text-as-flexitem-size-001-expected.txt Diff Modified: trunk/LayoutTests/ChangeLog (283799 => 283800) --- trunk/LayoutTests/ChangeLog 2021-10-08 14:34:29 UTC (rev 283799) +++ trunk/LayoutTests/ChangeLog 2021-10-08 14:44:40 UTC (rev 283800) @@ -1,3 +1,12 @@ +2021-10-08 Sergio Villar Senin + +[GTK] web-platform-tests/css/css-flexbox/text-as-flexitem-size-001.html is failing +https://bugs.webkit.org/show_bug.cgi?id=231429 + +Unreviewed gardening. Adding GTK expectations for a test that has been failing since it was imported. + +* platform/gtk/imported/w3c/web-platform-tests/css/css-flexbox/text-as-flexitem-size-001-expected.txt: Added. + 2021-10-08 Tyler Wilcock AX: Expose the URL attribute of elements Added: trunk/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-flexbox/text-as-flexitem-size-001-expected.txt (0 => 283800) --- trunk/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-flexbox/text-as-flexitem-size-001-expected.txt (rev 0) +++ trunk/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-flexbox/text-as-flexitem-size-001-expected.txt 2021-10-08 14:44:40 UTC (rev 283800) @@ -0,0 +1,122 @@ +xx xxx + +xx + +xx xxx + +xx + +xx xxx + +xx + + +xx xxx + +xx + +xx xxx + +xx + +xx xxx + +xx + + +xx xxx + +xx + +xx xxx + +xx + +xx xxx + +xx + + +xx xxx + +xx + +xx xxx + +xx + +xx xxx + +xx + + +xx xxx + +xx + +xx xxx + +xx + + +xx xxx + +xx + +xx xxx + +xx + +xx xxx + +xx + +xx xxx + +xx + + +FAIL .flexbox > div 1 assert_equals: + +xx xxx +xx + +width expected 70 but got 46 +FAIL .flexbox > div 2 assert_equals: + +xx xxx +xx + +width expected 50 but got 46 +PASS .flexbox > div 3 +PASS .flexbox > div 4 +FAIL .flexbox > div 5 assert_equals: + +xx xxx +xx + +width expected 70 but got 46 +PASS .flexbox > div 6 +PASS .flexbox > div 7 +FAIL .flexbox > div 8 assert_equals: + +xx xxx +xx + +width expected 70 but got 46 +PASS .flexbox > div 9 +PASS .flexbox > div 10 +FAIL .flexbox > div 11 assert_equals: + +xx xxx +xx + +width expected 70 but got 46 +PASS .flexbox > div 12 +PASS .flexbox > div 13 +PASS .flexbox > div 14 +PASS .flexbox > div 15 +PASS .flexbox > div 16 +PASS .flexbox > div 17 +PASS .flexbox > div 18 + Property changes on: trunk/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-flexbox/text-as-flexitem-size-001-expected.txt ___ Added: svn:eol-style +LF \ No newline at end of property ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [283494] trunk/LayoutTests/imported/w3c
Title: [283494] trunk/LayoutTests/imported/w3c Revision 283494 Author svil...@igalia.com Date 2021-10-04 06:57:48 -0700 (Mon, 04 Oct 2021) Log Message [css-flexbox] Resync WPT tests https://bugs.webkit.org/show_bug.cgi?id=231164 Reviewed by Rob Buis. Imported some tests after being fixed upstream. Also fetched new ones. * web-platform-tests/css/css-flexbox/parsing/flex-grow-computed-expected.txt: * web-platform-tests/css/css-flexbox/parsing/flex-grow-computed.html: * web-platform-tests/css/css-flexbox/parsing/flex-shrink-computed-expected.txt: * web-platform-tests/css/css-flexbox/parsing/flex-shrink-computed.html: * web-platform-tests/css/css-flexbox/text-as-flexitem-size-001-expected.txt: Added. * web-platform-tests/css/css-flexbox/text-as-flexitem-size-001.html: Added. * web-platform-tests/css/css-flexbox/w3c-import.log: Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/parsing/flex-grow-computed-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/parsing/flex-grow-computed.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/parsing/flex-shrink-computed-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/parsing/flex-shrink-computed.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/w3c-import.log Added Paths trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/text-as-flexitem-size-001-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/text-as-flexitem-size-001.html Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (283493 => 283494) --- trunk/LayoutTests/imported/w3c/ChangeLog 2021-10-04 13:16:56 UTC (rev 283493) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2021-10-04 13:57:48 UTC (rev 283494) @@ -1,3 +1,20 @@ +2021-10-04 Sergio Villar Senin + +[css-flexbox] Resync WPT tests +https://bugs.webkit.org/show_bug.cgi?id=231164 + +Reviewed by Rob Buis. + +Imported some tests after being fixed upstream. Also fetched new ones. + +* web-platform-tests/css/css-flexbox/parsing/flex-grow-computed-expected.txt: +* web-platform-tests/css/css-flexbox/parsing/flex-grow-computed.html: +* web-platform-tests/css/css-flexbox/parsing/flex-shrink-computed-expected.txt: +* web-platform-tests/css/css-flexbox/parsing/flex-shrink-computed.html: +* web-platform-tests/css/css-flexbox/text-as-flexitem-size-001-expected.txt: Added. +* web-platform-tests/css/css-flexbox/text-as-flexitem-size-001.html: Added. +* web-platform-tests/css/css-flexbox/w3c-import.log: + 2021-10-04 Ziran Sun [css-grid] Resync web-platform-tests/css/css-grid tests from upstream Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/parsing/flex-grow-computed-expected.txt (283493 => 283494) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/parsing/flex-grow-computed-expected.txt 2021-10-04 13:16:56 UTC (rev 283493) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/parsing/flex-grow-computed-expected.txt 2021-10-04 13:57:48 UTC (rev 283494) @@ -1,6 +1,6 @@ PASS Property flex-grow value '1' -FAIL Property flex-grow value '2.34e+06' assert_equals: expected "2.34e+06" but got "234" -FAIL Property flex-grow value '6.78e+08' assert_equals: expected "6.78e+08" but got "67800" +PASS Property flex-grow value '2.34e+06' +PASS Property flex-grow value '6.78e+08' PASS Property flex-grow value '0' Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/parsing/flex-grow-computed.html (283493 => 283494) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/parsing/flex-grow-computed.html 2021-10-04 13:16:56 UTC (rev 283493) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/parsing/flex-grow-computed.html 2021-10-04 13:57:48 UTC (rev 283494) @@ -13,8 +13,8 @@test_computed_value("flex-grow", "1");-test_computed_value("flex-grow", "2.34e+06"); -test_computed_value("flex-grow", "6.78e+08");+test_computed_value("flex-grow", "2.34e+06", ["2.34e+06", "234"]); +test_computed_value("flex-grow", "6.78e+08", ["6.78e+08", "67800"]); test_computed_value("flex-grow", "0"); Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/parsing/flex-shrink-computed-expected.txt (283493 => 283494) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/parsing/flex-shrink-computed-expected.txt 2021-10-04 13:16:56 UTC (rev 283493) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/parsing/flex-shrink-computed-expected.txt 2021-10-04 13:57:48 UTC (rev 283494) @@ -1,6 +1,6 @@ PASS Property flex-shrink value '1' -FAIL Property flex-shrink value '2.34e+06'
[webkit-changes] [283360] trunk/Source/WebCore
Title: [283360] trunk/Source/WebCore Revision 283360 Author svil...@igalia.com Date 2021-10-01 02:10:30 -0700 (Fri, 01 Oct 2021) Log Message Clamp negative offset values https://bugs.webkit.org/show_bug.cgi?id=230707 Reviewed by Simon Fraser. ScrollOffsets are the values used by scrollbars and thus should be always positive. Under some circumstances the value returned by maximumScrollOffset()|minimumScrollOffset() could be negative. For those cases we should just clamp them to zero. * page/scrolling/ScrollSnapOffsetsInfo.cpp: (WebCore::updateSnapOffsetsForScrollableArea): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/scrolling/ScrollSnapOffsetsInfo.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (283359 => 283360) --- trunk/Source/WebCore/ChangeLog 2021-10-01 07:58:12 UTC (rev 283359) +++ trunk/Source/WebCore/ChangeLog 2021-10-01 09:10:30 UTC (rev 283360) @@ -1,3 +1,17 @@ +2021-09-30 Sergio Villar Senin + +Clamp negative offset values +https://bugs.webkit.org/show_bug.cgi?id=230707 + +Reviewed by Simon Fraser. + +ScrollOffsets are the values used by scrollbars and thus should be always positive. Under some circumstances +the value returned by maximumScrollOffset()|minimumScrollOffset() could be negative. For those cases we should +just clamp them to zero. + +* page/scrolling/ScrollSnapOffsetsInfo.cpp: +(WebCore::updateSnapOffsetsForScrollableArea): + 2021-10-01 Kevin Turner Add support for pow(), sqrt() and hypot() Modified: trunk/Source/WebCore/page/scrolling/ScrollSnapOffsetsInfo.cpp (283359 => 283360) --- trunk/Source/WebCore/page/scrolling/ScrollSnapOffsetsInfo.cpp 2021-10-01 07:58:12 UTC (rev 283359) +++ trunk/Source/WebCore/page/scrolling/ScrollSnapOffsetsInfo.cpp 2021-10-01 09:10:30 UTC (rev 283360) @@ -305,6 +305,7 @@ Vector snapAreas; auto maxScrollOffset = scrollableArea.maximumScrollOffset(); +maxScrollOffset.clampNegativeToZero(); auto scrollPosition = LayoutPoint { scrollableArea.scrollPosition() }; auto [scrollerXAxisFlipped, scrollerYAxisFlipped] = axesFlippedForWritingModeAndDirection(writingMode, textDirection); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [282953] trunk/Tools
Title: [282953] trunk/Tools Revision 282953 Author svil...@igalia.com Date 2021-09-23 01:19:24 -0700 (Thu, 23 Sep 2021) Log Message [Flatpak] Use NUMBER_OF_PROCESSORS if already defined https://bugs.webkit.org/show_bug.cgi?id=230638 Reviewed by Martin Robinson. The environment variable NUMBER_OF_PROCESSORS can be defined to instruct the build system to spawn as many concurrent build commands as specified. By default flatpak was using 3x the number of processors in the local system. However we might prefer to provide a more convenient number by using the environment variable. Note that this approach is better than passing -j as --makeargs because cmake would have to be reconfigured everytime the number passed to -j changes. * flatpak/flatpakutils.py: (WebkitFlatpak.run_in_sandbox): Use NUMBER_OF_PROCESSORS if already defined. Otherwise fallback to 3x the number of processors. Modified Paths trunk/Tools/ChangeLog trunk/Tools/flatpak/flatpakutils.py Diff Modified: trunk/Tools/ChangeLog (282952 => 282953) --- trunk/Tools/ChangeLog 2021-09-23 08:18:45 UTC (rev 282952) +++ trunk/Tools/ChangeLog 2021-09-23 08:19:24 UTC (rev 282953) @@ -1,3 +1,20 @@ +2021-09-23 Sergio Villar Senin + +[Flatpak] Use NUMBER_OF_PROCESSORS if already defined +https://bugs.webkit.org/show_bug.cgi?id=230638 + +Reviewed by Martin Robinson. + +The environment variable NUMBER_OF_PROCESSORS can be defined to instruct the build system +to spawn as many concurrent build commands as specified. By default flatpak was using 3x the number +of processors in the local system. However we might prefer to provide a more convenient number +by using the environment variable. Note that this approach is better than passing -j as +--makeargs because cmake would have to be reconfigured everytime the number passed to -j changes. + +* flatpak/flatpakutils.py: +(WebkitFlatpak.run_in_sandbox): Use NUMBER_OF_PROCESSORS if already defined. Otherwise fallback +to 3x the number of processors. + 2021-09-23 Chris Lord [GTK] Allow sending precise mouse wheel events in LayoutTests Modified: trunk/Tools/flatpak/flatpakutils.py (282952 => 282953) --- trunk/Tools/flatpak/flatpakutils.py 2021-09-23 08:18:45 UTC (rev 282952) +++ trunk/Tools/flatpak/flatpakutils.py 2021-09-23 08:19:24 UTC (rev 282953) @@ -882,8 +882,11 @@ _log.debug('Enabling the icecream compiler') flatpak_command.extend([share_network_option, "--filesystem=home"]) -n_cores = multiprocessing.cpu_count() * 3 -_log.debug('Following icecream recommendation for the number of cores to use: %d' % n_cores) +try: +n_cores = os.environ["NUMBER_OF_PROCESSORS"] +except KeyError: +n_cores = multiprocessing.cpu_count() * 3 +_log.debug('Following icecream recommendation for the number of cores to use: %d' % n_cores) toolchain_name = os.environ.get("CC", "gcc") try: toolchain_path = os.environ.get("ICECC_VERSION_OVERRIDE", self.icc_version[toolchain_name]) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [282951] trunk/Source/WebCore
Title: [282951] trunk/Source/WebCore Revision 282951 Author svil...@igalia.com Date 2021-09-23 01:16:36 -0700 (Thu, 23 Sep 2021) Log Message Improve the handling of CompositeEditCommand::splitTreeToNode() return values https://bugs.webkit.org/show_bug.cgi?id=229470 Reviewed by Darin Adler. splitTreeToNode() might return nullptr because, among other things, it might insert/remove nodes in the DOM tree. It's well known that by doing so we're allowing the execution of arbitrary scripts (see didFinishInsertingNode() for example). This means that there is a possibility that the node that it's being splitted is no longer part of the DOM tree by the time splitTreeToNode() returns. That's why we should bail out in those cases. * editing/FormatBlockCommand.cpp: (WebCore::FormatBlockCommand::formatRange): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/editing/FormatBlockCommand.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (282950 => 282951) --- trunk/Source/WebCore/ChangeLog 2021-09-23 06:58:52 UTC (rev 282950) +++ trunk/Source/WebCore/ChangeLog 2021-09-23 08:16:36 UTC (rev 282951) @@ -1,3 +1,19 @@ +2021-09-09 Sergio Villar Senin + +Improve the handling of CompositeEditCommand::splitTreeToNode() return values +https://bugs.webkit.org/show_bug.cgi?id=229470 + +Reviewed by Darin Adler. + +splitTreeToNode() might return nullptr because, among other things, it might insert/remove nodes in +the DOM tree. It's well known that by doing so we're allowing the execution of arbitrary scripts +(see didFinishInsertingNode() for example). This means that there is a possibility that the node +that it's being splitted is no longer part of the DOM tree by the time splitTreeToNode() returns. +That's why we should bail out in those cases. + +* editing/FormatBlockCommand.cpp: +(WebCore::FormatBlockCommand::formatRange): + 2021-09-22 Jean-Yves Avenard Make SharedBuffer inherit from ThreadSafeRefCounted Modified: trunk/Source/WebCore/editing/FormatBlockCommand.cpp (282950 => 282951) --- trunk/Source/WebCore/editing/FormatBlockCommand.cpp 2021-09-23 06:58:52 UTC (rev 282950) +++ trunk/Source/WebCore/editing/FormatBlockCommand.cpp 2021-09-23 08:16:36 UTC (rev 282951) @@ -66,6 +66,9 @@ Node* nodeToSplitTo = enclosingBlockToSplitTreeTo(start.deprecatedNode()); ASSERT(nodeToSplitTo); RefPtr outerBlock = (start.deprecatedNode() == nodeToSplitTo) ? start.deprecatedNode() : splitTreeToNode(*start.deprecatedNode(), *nodeToSplitTo); +if (!outerBlock) +return; + RefPtr nodeAfterInsertionPosition = outerBlock; auto range = makeSimpleRange(start, endOfSelection); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [282267] trunk
Title: [282267] trunk Revision 282267 Author svil...@igalia.com Date 2021-09-10 07:26:56 -0700 (Fri, 10 Sep 2021) Log Message [css-flexbox] Add support for self-start & self-end css-align-3 positional alignment properties https://bugs.webkit.org/show_bug.cgi?id=229996 Reviewed by Manuel Rego Casasnovas. Source/WebCore: Added support for SelfStart and SelfEnd positional alignment properties from https://drafts.csswg.org/css-align-3/#positional-values. These two properties align the alignment subject (flex item) to be flush with the edge of the alignment container (flex line) corresponding to the alignment subject's start side in the appropriate axis. This allows authors to align the flex items based on their writing modes instead of the writing mode of the container. * rendering/RenderFlexibleBox.cpp: (WebCore::alignmentOffset): (WebCore::RenderFlexibleBox::alignmentForChild const): LayoutTests: * TestExpectations: Removed a couple of tests that are now passing. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp Diff Modified: trunk/LayoutTests/ChangeLog (282266 => 282267) --- trunk/LayoutTests/ChangeLog 2021-09-10 13:41:43 UTC (rev 282266) +++ trunk/LayoutTests/ChangeLog 2021-09-10 14:26:56 UTC (rev 282267) @@ -1,3 +1,12 @@ +2021-09-07 Sergio Villar Senin + +[css-flexbox] Add support for self-start & self-end css-align-3 positional alignment properties +https://bugs.webkit.org/show_bug.cgi?id=229996 + +Reviewed by Manuel Rego Casasnovas. + +* TestExpectations: Removed a couple of tests that are now passing. + 2021-09-10 Alan Bujtas changing border size on rows with border-collapse not redrawing Modified: trunk/LayoutTests/TestExpectations (282266 => 282267) --- trunk/LayoutTests/TestExpectations 2021-09-10 13:41:43 UTC (rev 282266) +++ trunk/LayoutTests/TestExpectations 2021-09-10 14:26:56 UTC (rev 282267) @@ -4167,9 +4167,8 @@ webkit.org/b/221474 imported/w3c/web-platform-tests/css/css-flexbox/svg-root-as-flex-item-002.html [ ImageOnlyFailure ] webkit.org/b/221474 imported/w3c/web-platform-tests/css/css-flexbox/svg-root-as-flex-item-003.html [ ImageOnlyFailure ] +# The test works fine but the expected result fails due to a missing layout. webkit.org/b/221468 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-align-self-horiz-002.xhtml [ ImageOnlyFailure ] -webkit.org/b/221468 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-align-self-vert-002.xhtml [ ImageOnlyFailure ] -webkit.org/b/221468 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-align-self-vert-rtl-005.xhtml [ ImageOnlyFailure ] # align baseline in flexbox. webkit.org/b/221478 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-align-self-baseline-horiz-001a.xhtml [ ImageOnlyFailure ] Modified: trunk/Source/WebCore/ChangeLog (282266 => 282267) --- trunk/Source/WebCore/ChangeLog 2021-09-10 13:41:43 UTC (rev 282266) +++ trunk/Source/WebCore/ChangeLog 2021-09-10 14:26:56 UTC (rev 282267) @@ -1,3 +1,20 @@ +2021-09-07 Sergio Villar Senin + +[css-flexbox] Add support for self-start & self-end css-align-3 positional alignment properties +https://bugs.webkit.org/show_bug.cgi?id=229996 + +Reviewed by Manuel Rego Casasnovas. + +Added support for SelfStart and SelfEnd positional alignment properties from +https://drafts.csswg.org/css-align-3/#positional-values. These two properties +align the alignment subject (flex item) to be flush with the edge of the alignment container (flex line) +corresponding to the alignment subject's start side in the appropriate axis. This allows authors to align +the flex items based on their writing modes instead of the writing mode of the container. + +* rendering/RenderFlexibleBox.cpp: +(WebCore::alignmentOffset): +(WebCore::RenderFlexibleBox::alignmentForChild const): + 2021-09-10 Alan Bujtas changing border size on rows with border-collapse not redrawing Modified: trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp (282266 => 282267) --- trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp 2021-09-10 13:41:43 UTC (rev 282266) +++ trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp 2021-09-10 14:26:56 UTC (rev 282267) @@ -39,6 +39,7 @@ #include "RenderLayoutState.h" #include "RenderStyleConstants.h" #include "RenderView.h" +#include "WritingMode.h" #include #include #include @@ -1570,6 +1571,8 @@ break; case ItemPosition::Start: case ItemPosition::End: +case ItemPosition::SelfStart: +case ItemPosition::SelfEnd: case ItemPosition::Left: case ItemPosition::Right: ASSERT_NOT_REACHED("%u alignmentForChild should have transformed this position value to something we handle below.", static_cast(position)); @@ -1596,8 +1599,6 @@ //
[webkit-changes] [282085] trunk
Title: [282085] trunk Revision 282085 Author svil...@igalia.com Date 2021-09-07 08:00:21 -0700 (Tue, 07 Sep 2021) Log Message Interoperability issue in margin collapsing with overflow:hidden elements https://bugs.webkit.org/show_bug.cgi?id=224185 Reviewed by Alan Bujtas. Source/WebCore: Margins should not self collapse for those elements that create new formatting contexts like when using overflow:hidden. Test: fast/block/margin-collapse/self-collapsing-block-with-overflow-hidden.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::isSelfCollapsingBlock const): Boxes that create new formatting context should not self collapse. LayoutTests: * TestExpectations: Unskipped 3 flexbox tests that are working fine now. * fast/block/margin-collapse/self-collapsing-block-with-overflow-hidden-expected.html: Added. * fast/block/margin-collapse/self-collapsing-block-with-overflow-hidden.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderBlock.cpp Added Paths trunk/LayoutTests/fast/block/margin-collapse/self-collapsing-block-with-overflow-hidden-expected.html trunk/LayoutTests/fast/block/margin-collapse/self-collapsing-block-with-overflow-hidden.html Diff Modified: trunk/LayoutTests/ChangeLog (282084 => 282085) --- trunk/LayoutTests/ChangeLog 2021-09-07 14:32:47 UTC (rev 282084) +++ trunk/LayoutTests/ChangeLog 2021-09-07 15:00:21 UTC (rev 282085) @@ -1,3 +1,14 @@ +2021-08-26 Sergio Villar Senin + +Interoperability issue in margin collapsing with overflow:hidden elements +https://bugs.webkit.org/show_bug.cgi?id=224185 + +Reviewed by Alan Bujtas. + +* TestExpectations: Unskipped 3 flexbox tests that are working fine now. +* fast/block/margin-collapse/self-collapsing-block-with-overflow-hidden-expected.html: Added. +* fast/block/margin-collapse/self-collapsing-block-with-overflow-hidden.html: Added. + 2021-09-01 Sergio Villar Senin [css-flexbox] Add support for left & right css-align-3 positional alignment properties Modified: trunk/LayoutTests/TestExpectations (282084 => 282085) --- trunk/LayoutTests/TestExpectations 2021-09-07 14:32:47 UTC (rev 282084) +++ trunk/LayoutTests/TestExpectations 2021-09-07 15:00:21 UTC (rev 282085) @@ -4160,11 +4160,6 @@ webkit.org/b/221474 imported/w3c/web-platform-tests/css/css-flexbox/svg-root-as-flex-item-002.html [ ImageOnlyFailure ] webkit.org/b/221474 imported/w3c/web-platform-tests/css/css-flexbox/svg-root-as-flex-item-003.html [ ImageOnlyFailure ] -# Writing modes in flexbox. -webkit.org/b/221475 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-writing-mode-013.html [ ImageOnlyFailure ] -webkit.org/b/221475 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-writing-mode-014.html [ ImageOnlyFailure ] -webkit.org/b/221475 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-writing-mode-015.html [ ImageOnlyFailure ] - webkit.org/b/221468 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-align-self-horiz-002.xhtml [ ImageOnlyFailure ] webkit.org/b/221468 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-align-self-vert-002.xhtml [ ImageOnlyFailure ] webkit.org/b/221468 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-align-self-vert-rtl-005.xhtml [ ImageOnlyFailure ] Added: trunk/LayoutTests/fast/block/margin-collapse/self-collapsing-block-with-overflow-hidden-expected.html (0 => 282085) --- trunk/LayoutTests/fast/block/margin-collapse/self-collapsing-block-with-overflow-hidden-expected.html (rev 0) +++ trunk/LayoutTests/fast/block/margin-collapse/self-collapsing-block-with-overflow-hidden-expected.html 2021-09-07 15:00:21 UTC (rev 282085) @@ -0,0 +1,21 @@ + + +.margin-top { margin-top: 10px; } +.margin-bottom { margin-bottom: 20px; } + +.grayblock { + background: lightgrey; + height: 20px; + width: 150px; +} + + + + + + + + + + + \ No newline at end of file Property changes on: trunk/LayoutTests/fast/block/margin-collapse/self-collapsing-block-with-overflow-hidden-expected.html ___ Added: svn:eol-style +LF \ No newline at end of property Added: svn:mime-type +text/html \ No newline at end of property Added: trunk/LayoutTests/fast/block/margin-collapse/self-collapsing-block-with-overflow-hidden.html (0 => 282085) --- trunk/LayoutTests/fast/block/margin-collapse/self-collapsing-block-with-overflow-hidden.html (rev 0) +++ trunk/LayoutTests/fast/block/margin-collapse/self-collapsing-block-with-overflow-hidden.html 2021-09-07 15:00:21 UTC (rev 282085) @@ -0,0 +1,35 @@ + + +.container { + width: 150px; + background: lightblue; +} + +.container > div { + display: block; + background: lightgrey; + margin: 10px 0 20px 0; + height: 20px; +} + +nocollapse { + display: block; + overflow: hidden; +} + + + + + + + + +
[webkit-changes] [282083] trunk/Source/WebCore
Title: [282083] trunk/Source/WebCore Revision 282083 Author svil...@igalia.com Date 2021-09-07 07:14:15 -0700 (Tue, 07 Sep 2021) Log Message Do not let RenderFragmentContainers create new formatting contexts https://bugs.webkit.org/show_bug.cgi?id=229759 Reviewed by Alan Bujtas. The isRenderFragmentContainer() condition was added in r176957 when the createsNewFormattingContext() function was introduced. Back then it was actually isRenderRegion() which was later renamed. However that was wrongly added to the method because it should have remained in the caller RenderBlockFlow::addOverhangingFloats(). Instead of removing it (as the patch does) I thought about moving it back to the addOverhangingFloats() method where it was added as part of r167602. That revision is actually two fixes and the one that required this code was an import of a Blink patch. However moving it to its original location does not seem to regress anything and what's more Blink has also removed it from there some time ago. That's why I decided just to remove it. Does not directly fix any test at the moment but it's a precondition for wkb.ug/224185 which will fix 3 tests. * rendering/RenderBox.cpp: (WebCore::RenderBox::createsNewFormattingContext const): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderBox.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (282082 => 282083) --- trunk/Source/WebCore/ChangeLog 2021-09-07 14:13:50 UTC (rev 282082) +++ trunk/Source/WebCore/ChangeLog 2021-09-07 14:14:15 UTC (rev 282083) @@ -1,3 +1,24 @@ +2021-09-01 Sergio Villar Senin + +Do not let RenderFragmentContainers create new formatting contexts +https://bugs.webkit.org/show_bug.cgi?id=229759 + +Reviewed by Alan Bujtas. + +The isRenderFragmentContainer() condition was added in r176957 when the createsNewFormattingContext() function +was introduced. Back then it was actually isRenderRegion() which was later renamed. However that was wrongly added +to the method because it should have remained in the caller RenderBlockFlow::addOverhangingFloats(). + +Instead of removing it (as the patch does) I thought about moving it back to the addOverhangingFloats() method +where it was added as part of r167602. That revision is actually two fixes and the one that required this code +was an import of a Blink patch. However moving it to its original location does not seem to regress anything and +what's more Blink has also removed it from there some time ago. That's why I decided just to remove it. + +Does not directly fix any test at the moment but it's a precondition for wkb.ug/224185 which will fix 3 tests. + +* rendering/RenderBox.cpp: +(WebCore::RenderBox::createsNewFormattingContext const): + 2021-09-07 Adrian Perez de Castro Non-unified build fixes, early September 2021 edition Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (282082 => 282083) --- trunk/Source/WebCore/rendering/RenderBox.cpp 2021-09-07 14:13:50 UTC (rev 282082) +++ trunk/Source/WebCore/rendering/RenderBox.cpp 2021-09-07 14:14:15 UTC (rev 282083) @@ -4838,7 +4838,7 @@ bool RenderBox::createsNewFormattingContext() const { return isInlineBlockOrInlineTable() || isFloatingOrOutOfFlowPositioned() || hasPotentiallyScrollableOverflow() || isFlexItemIncludingDeprecated() -|| isTableCell() || isTableCaption() || isFieldset() || isWritingModeRoot() || isDocumentElementRenderer() || isRenderFragmentedFlow() || isRenderFragmentContainer() +|| isTableCell() || isTableCaption() || isFieldset() || isWritingModeRoot() || isDocumentElementRenderer() || isRenderFragmentedFlow() || style().containsLayout() || isGridItem() || style().specifiesColumns() || style().columnSpan() == ColumnSpan::All || style().display() == DisplayType::FlowRoot; } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [282078] trunk
Title: [282078] trunk Revision 282078 Author svil...@igalia.com Date 2021-09-07 04:11:18 -0700 (Tue, 07 Sep 2021) Log Message [css-flexbox] Add support for left & right css-align-3 positional alignment properties https://bugs.webkit.org/show_bug.cgi?id=229756 Reviewed by Javier Fernandez. Source/WebCore: Added support for Left and Right positional alignment properties from https://drafts.csswg.org/css-align-3/#positional-values. These two properties align the flex item to be flush with the alignment container's (the flex line) line-left|right or physical left|right whichever is in the appropriate axis. Note that contrary to start/end which change according to the text direction, left always refer to where ltr text would start and right always refer to where rtl text would start. The only caveat is that specs mention that in the case of having orthogonal start<->end and left<->right axis (only happens in column flexboxes) then both left|right behave as start. * rendering/RenderFlexibleBox.cpp: (WebCore::initialJustifyContentOffset): (WebCore::alignmentOffset): (WebCore::RenderFlexibleBox::staticMainAxisPositionForPositionedChild): (WebCore::RenderFlexibleBox::alignmentForChild const): (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): (WebCore::RenderFlexibleBox::layoutColumnReverse): LayoutTests: * TestExpectations: Removed 13 WPT tests that are now passing. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp Diff Modified: trunk/LayoutTests/ChangeLog (282077 => 282078) --- trunk/LayoutTests/ChangeLog 2021-09-07 10:31:09 UTC (rev 282077) +++ trunk/LayoutTests/ChangeLog 2021-09-07 11:11:18 UTC (rev 282078) @@ -1,3 +1,12 @@ +2021-09-01 Sergio Villar Senin + +[css-flexbox] Add support for left & right css-align-3 positional alignment properties +https://bugs.webkit.org/show_bug.cgi?id=229756 + +Reviewed by Javier Fernandez. + +* TestExpectations: Removed 13 WPT tests that are now passing. + 2021-09-07 Rob Buis Nullptr crash in DeleteSelectionCommand::removeNodeUpdatingStates Modified: trunk/LayoutTests/TestExpectations (282077 => 282078) --- trunk/LayoutTests/TestExpectations 2021-09-07 10:31:09 UTC (rev 282077) +++ trunk/LayoutTests/TestExpectations 2021-09-07 11:11:18 UTC (rev 282078) @@ -4139,7 +4139,6 @@ webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-vertWM-003.html [ ImageOnlyFailure ] webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-vertWM-004.html [ ImageOnlyFailure ] webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-fallback-align-content-001.html [ ImageOnlyFailure ] -webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-001.html [ ImageOnlyFailure ] webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-002.html [ ImageOnlyFailure ] webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-003.html [ ImageOnlyFailure ] webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-004.html [ ImageOnlyFailure ] @@ -4146,7 +4145,6 @@ webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-006.html [ ImageOnlyFailure ] webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-007.html [ ImageOnlyFailure ] webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-008.html [ ImageOnlyFailure ] -webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-rtl-001.html [ ImageOnlyFailure ] webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-vertWM-001.html [ ImageOnlyFailure ] webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-vertWM-002.html [ ImageOnlyFailure ] webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-margin-002.html [ ImageOnlyFailure ] @@ -4167,19 +4165,6 @@ webkit.org/b/221475 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-writing-mode-014.html [ ImageOnlyFailure ] webkit.org/b/221475 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-writing-mode-015.html [ ImageOnlyFailure ] -# justify-content in flexbox. -webkit.org/b/221477 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-justify-content-horiz-001a.xhtml [ ImageOnlyFailure ] -webkit.org/b/221477
[webkit-changes] [281840] trunk
Title: [281840] trunk Revision 281840 Author svil...@igalia.com Date 2021-09-01 01:35:53 -0700 (Wed, 01 Sep 2021) Log Message [css-flexbox] Add initial support for css-align-3 positional alignment properties https://bugs.webkit.org/show_bug.cgi?id=229074 Reviewed by Simon Fraser. LayoutTests/imported/w3c: Fixed expectations for 56 subtests that should PASS now instead of FAIL. * web-platform-tests/css/css-flexbox/align-content-horiz-001a-expected.txt: Mark 8 subtests as PASS. * web-platform-tests/css/css-flexbox/align-content-horiz-001b-expected.txt: Ditto. * web-platform-tests/css/css-flexbox/align-content-horiz-002-expected.txt: Ditto. * web-platform-tests/css/css-flexbox/align-content-vert-001a-expected.txt: Ditto. * web-platform-tests/css/css-flexbox/align-content-vert-001b-expected.txt: Ditto. * web-platform-tests/css/css-flexbox/align-content-vert-002-expected.txt: Ditto. * web-platform-tests/css/css-flexbox/align-content-wmvert-001-expected.txt: Ditto. Source/WebCore: Added initial support for Start and End positional alignment properties from https://drafts.csswg.org/css-align-3/#positional-values. These two properties align the flex item to be flush with the alignment container's (the flex container) start and end edges in the appropriate axis. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::isColumnOrRowReverse const): New method. (WebCore::initialJustifyContentOffset): Handle Start and End. (WebCore::alignmentOffset): Ditto. (WebCore::RenderFlexibleBox::staticMainAxisPositionForPositionedChild): (WebCore::RenderFlexibleBox::alignmentForChild const): (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): (WebCore::RenderFlexibleBox::layoutColumnReverse): (WebCore::initialAlignContentOffset): Handle Start and End. (WebCore::RenderFlexibleBox::alignFlexLines): * rendering/RenderFlexibleBox.h: LayoutTests: * TestExpectations: Unskipped 4 WPT tests that are passing now. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-horiz-001a-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-horiz-001b-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-horiz-002-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-vert-001a-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-vert-001b-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-vert-002-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-wmvert-001-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp trunk/Source/WebCore/rendering/RenderFlexibleBox.h Diff Modified: trunk/LayoutTests/ChangeLog (281839 => 281840) --- trunk/LayoutTests/ChangeLog 2021-09-01 07:55:39 UTC (rev 281839) +++ trunk/LayoutTests/ChangeLog 2021-09-01 08:35:53 UTC (rev 281840) @@ -1,3 +1,12 @@ +2021-08-13 Sergio Villar Senin + +[css-flexbox] Add initial support for css-align-3 positional alignment properties +https://bugs.webkit.org/show_bug.cgi?id=229074 + +Reviewed by Simon Fraser. + +* TestExpectations: Unskipped 4 WPT tests that are passing now. + 2021-08-31 Myles C. Maxfield Import web-platform-tests/css/css-font-loading Modified: trunk/LayoutTests/TestExpectations (281839 => 281840) --- trunk/LayoutTests/TestExpectations 2021-09-01 07:55:39 UTC (rev 281839) +++ trunk/LayoutTests/TestExpectations 2021-09-01 08:35:53 UTC (rev 281840) @@ -4186,12 +4186,10 @@ webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-002.html [ ImageOnlyFailure ] webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-003.html [ ImageOnlyFailure ] webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-004.html [ ImageOnlyFailure ] -webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-005.html [ ImageOnlyFailure ] webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-006.html [ ImageOnlyFailure ] webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-007.html [ ImageOnlyFailure ] webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-008.html [ ImageOnlyFailure ] webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-rtl-001.html [ ImageOnlyFailure ] -webkit.org/b/221472
[webkit-changes] [281011] trunk/Source/WebCore
Title: [281011] trunk/Source/WebCore Revision 281011 Author svil...@igalia.com Date 2021-08-13 02:38:55 -0700 (Fri, 13 Aug 2021) Log Message Crash in MockMediaSourcePrivate https://bugs.webkit.org/show_bug.cgi?id=226795 Reviewed by Darin Adler. The MockMediaPlayerMediaSource uses callOnMainThread() to execute advanceCurrentTime(). It might happen that the object is destructed before the callback is executed as it isn't a ref counted object. That leads to a crash on ASAN builds. Made the object capable of creating weak ptrs so that we could check whether the _this_ object has been freed in the meantime or not. For the former case we just bail out. * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp: (WebCore::MockMediaPlayerMediaSource::play): Create a WeakPtr. (WebCore::MockMediaPlayerMediaSource::seekWithTolerance): Ditto. (WebCore::MockMediaPlayerMediaSource::seekCompleted): Ditto. * platform/mock/mediasource/MockMediaPlayerMediaSource.h: inherit from CanMakeWeakPtr. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/mock/mediasource/MockMediaPlayerMediaSource.cpp trunk/Source/WebCore/platform/mock/mediasource/MockMediaPlayerMediaSource.h Diff Modified: trunk/Source/WebCore/ChangeLog (281010 => 281011) --- trunk/Source/WebCore/ChangeLog 2021-08-13 08:40:04 UTC (rev 281010) +++ trunk/Source/WebCore/ChangeLog 2021-08-13 09:38:55 UTC (rev 281011) @@ -1,3 +1,23 @@ +2021-08-13 Sergio Villar Senin + +Crash in MockMediaSourcePrivate +https://bugs.webkit.org/show_bug.cgi?id=226795 + +Reviewed by Darin Adler. + +The MockMediaPlayerMediaSource uses callOnMainThread() to execute advanceCurrentTime(). It might +happen that the object is destructed before the callback is executed as it isn't a ref counted +object. That leads to a crash on ASAN builds. + +Made the object capable of creating weak ptrs so that we could check whether the _this_ object +has been freed in the meantime or not. For the former case we just bail out. + +* platform/mock/mediasource/MockMediaPlayerMediaSource.cpp: +(WebCore::MockMediaPlayerMediaSource::play): Create a WeakPtr. +(WebCore::MockMediaPlayerMediaSource::seekWithTolerance): Ditto. +(WebCore::MockMediaPlayerMediaSource::seekCompleted): Ditto. +* platform/mock/mediasource/MockMediaPlayerMediaSource.h: inherit from CanMakeWeakPtr. + 2021-08-12 Alex Christensen Unprefix -webkit-backface-visibility Modified: trunk/Source/WebCore/platform/mock/mediasource/MockMediaPlayerMediaSource.cpp (281010 => 281011) --- trunk/Source/WebCore/platform/mock/mediasource/MockMediaPlayerMediaSource.cpp 2021-08-13 08:40:04 UTC (rev 281010) +++ trunk/Source/WebCore/platform/mock/mediasource/MockMediaPlayerMediaSource.cpp 2021-08-13 09:38:55 UTC (rev 281011) @@ -123,7 +123,9 @@ void MockMediaPlayerMediaSource::play() { m_playing = 1; -callOnMainThread([this] { +callOnMainThread([this, weakThis = makeWeakPtr(this)] { +if (!weakThis) +return; advanceCurrentTime(); }); } @@ -220,7 +222,9 @@ m_player->timeChanged(); if (m_playing) -callOnMainThread([this] { +callOnMainThread([this, weakThis = makeWeakPtr(this)] { +if (!weakThis) +return; advanceCurrentTime(); }); } @@ -282,7 +286,9 @@ m_player->timeChanged(); if (m_playing) -callOnMainThread([this] { +callOnMainThread([this, weakThis = makeWeakPtr(this)] { +if (!weakThis) +return; advanceCurrentTime(); }); } Modified: trunk/Source/WebCore/platform/mock/mediasource/MockMediaPlayerMediaSource.h (281010 => 281011) --- trunk/Source/WebCore/platform/mock/mediasource/MockMediaPlayerMediaSource.h 2021-08-13 08:40:04 UTC (rev 281010) +++ trunk/Source/WebCore/platform/mock/mediasource/MockMediaPlayerMediaSource.h 2021-08-13 09:38:55 UTC (rev 281011) @@ -31,6 +31,7 @@ #include "MediaPlayerPrivate.h" #include #include +#include namespace WebCore { @@ -37,7 +38,7 @@ class MediaSource; class MockMediaSourcePrivate; -class MockMediaPlayerMediaSource : public MediaPlayerPrivateInterface { +class MockMediaPlayerMediaSource : public MediaPlayerPrivateInterface, public CanMakeWeakPtr { public: explicit MockMediaPlayerMediaSource(MediaPlayer*); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [280130] trunk/Source/WebCore
Title: [280130] trunk/Source/WebCore Revision 280130 Author svil...@igalia.com Date 2021-07-21 06:40:16 -0700 (Wed, 21 Jul 2021) Log Message Missing layouts when using simplified layout with OOF positioned elements https://bugs.webkit.org/show_bug.cgi?id=226008 Reviewed by Alan Bujtas. There are some situations that allow us to do simplified layouts like when there is a positioned child that needs to be laid out and neither the parent nor any other normal children needs it. In those cases we just pick the list of positioned objects and invoke layoutPositionedObjects(). However that list might not be properly updated since it's only done during the layout in RenderBlock::layoutBlockChildren(). This is causing that we miss layouts in cases where a renderer has the posChildNeedsLayout() bit set (due to some style change for example) but no descendants in the positionedDescendantsMap() because it has not been laid out yet. In those cases we simply bail out the simplified layout and proceed as in the normal layout process. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::simplifiedLayout): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderBlock.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (280129 => 280130) --- trunk/Source/WebCore/ChangeLog 2021-07-21 12:57:20 UTC (rev 280129) +++ trunk/Source/WebCore/ChangeLog 2021-07-21 13:40:16 UTC (rev 280130) @@ -1,3 +1,23 @@ +2021-07-01 Sergio Villar Senin + +Missing layouts when using simplified layout with OOF positioned elements +https://bugs.webkit.org/show_bug.cgi?id=226008 + +Reviewed by Alan Bujtas. + +There are some situations that allow us to do simplified layouts like when there is a positioned child +that needs to be laid out and neither the parent nor any other normal children needs it. In those cases +we just pick the list of positioned objects and invoke layoutPositionedObjects(). However that list +might not be properly updated since it's only done during the layout in RenderBlock::layoutBlockChildren(). + +This is causing that we miss layouts in cases where a renderer has the posChildNeedsLayout() bit set +(due to some style change for example) but no descendants in the positionedDescendantsMap() because +it has not been laid out yet. In those cases we simply bail out the simplified layout and proceed as in +the normal layout process. + +* rendering/RenderBlock.cpp: +(WebCore::RenderBlock::simplifiedLayout): + 2021-07-21 David Kilzer GetIdentifierStringForPreferredVoiceInListWithLocale() is deprecated in Monterey Modified: trunk/Source/WebCore/rendering/RenderBlock.cpp (280129 => 280130) --- trunk/Source/WebCore/rendering/RenderBlock.cpp 2021-07-21 12:57:20 UTC (rev 280129) +++ trunk/Source/WebCore/rendering/RenderBlock.cpp 2021-07-21 13:40:16 UTC (rev 280130) @@ -940,8 +940,12 @@ // relative positioned container. So if we can have fixed pos objects in our positioned objects list check if any of them // are statically positioned and thus need to move with their absolute ancestors. bool canContainFixedPosObjects = canContainFixedPositionObjects(); -if (posChildNeedsLayout() || canContainFixedPosObjects) +if (posChildNeedsLayout() || canContainFixedPosObjects) { +// FIXME: Remove this early return once https://webkit.org/b/228125 is fixed. +if (!hasPositionedObjects()) +return false; layoutPositionedObjects(false, !posChildNeedsLayout() && canContainFixedPosObjects); +} // Recompute our overflow information. // FIXME: We could do better here by computing a temporary overflow object from layoutPositionedObjects and only ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [279286] trunk
Title: [279286] trunk Revision 279286 Author svil...@igalia.com Date 2021-06-25 08:42:07 -0700 (Fri, 25 Jun 2021) Log Message [css-flexbox] Improve computation of intrinsic sizes of flex items with aspect ratio https://bugs.webkit.org/show_bug.cgi?id=227395 Reviewed by Rob Buis. Source/WebCore: Before computing the intrinsic sizes of flex items we first clear the overriding sizes of the item that might have been set before in order to get the proper intrinsic size. However there is one situation in which having an overriding size is desirable and it's when the cross size should be set to the flex container's definite cross size. That's one of the exceptions for definite/indefinite sizes mentioned in the specs (see https://drafts.csswg.org/css-flexbox/#definite-sizes). In the aforementioned case we should temporarily set that overriding size in the cross axis so that the intrinsic size could be computed with that constrain. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::computeChildIntrinsicLogicalWidths const): Set the overriding size in the cross axis to compute the intrinsic size. (WebCore::RenderFlexibleBox::computeMainSizeFromAspectRatioUsing const): (WebCore::RenderFlexibleBox::childCrossSizeShouldUseContainerCrossSize const): Added a missing check, the cross size of the child must be auto, otherwise the rule does not apply. (WebCore::RenderFlexibleBox::computeCrossSizeForChildUsingContainerCrossSize const): Refactored from computeMainSizeFromAspectRatioUsing() as it's now used in two different places. * rendering/RenderFlexibleBox.h: LayoutTests: * TestExpectations: Unskipped 3 tests that are now passing. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp trunk/Source/WebCore/rendering/RenderFlexibleBox.h Diff Modified: trunk/LayoutTests/ChangeLog (279285 => 279286) --- trunk/LayoutTests/ChangeLog 2021-06-25 15:39:12 UTC (rev 279285) +++ trunk/LayoutTests/ChangeLog 2021-06-25 15:42:07 UTC (rev 279286) @@ -1,3 +1,12 @@ +2021-06-25 Sergio Villar Senin + +[css-flexbox] Improve computation of intrinsic sizes of flex items with aspect ratio +https://bugs.webkit.org/show_bug.cgi?id=227395 + +Reviewed by Rob Buis. + +* TestExpectations: Unskipped 3 tests that are now passing. + 2021-06-17 Sergio Villar Senin Nullptr crash in StyledMarkupAccumulator::traverseNodesForSerialization Modified: trunk/LayoutTests/TestExpectations (279285 => 279286) --- trunk/LayoutTests/TestExpectations 2021-06-25 15:39:12 UTC (rev 279285) +++ trunk/LayoutTests/TestExpectations 2021-06-25 15:42:07 UTC (rev 279286) @@ -3952,12 +3952,9 @@ webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-015.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-010.html [ ImageOnlyFailure ] -webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/aspect-ratio-intrinsic-size-001.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/aspect-ratio-intrinsic-size-002.html [ ImageOnlyFailure ] -webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/aspect-ratio-intrinsic-size-003.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/aspect-ratio-intrinsic-size-004.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/aspect-ratio-intrinsic-size-005.html [ ImageOnlyFailure ] -webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/aspect-ratio-intrinsic-size-006.html [ ImageOnlyFailure ] webkit.org/b/145176 imported/w3c/web-platform-tests/css/css-flexbox/flexbox_align-items-stretch-3.html [ ImageOnlyFailure ] webkit.org/b/210093 imported/w3c/web-platform-tests/css/css-flexbox/select-element-zero-height-001.html [ ImageOnlyFailure ] Modified: trunk/Source/WebCore/ChangeLog (279285 => 279286) --- trunk/Source/WebCore/ChangeLog 2021-06-25 15:39:12 UTC (rev 279285) +++ trunk/Source/WebCore/ChangeLog 2021-06-25 15:42:07 UTC (rev 279286) @@ -1,3 +1,29 @@ +2021-06-25 Sergio Villar Senin + +[css-flexbox] Improve computation of intrinsic sizes of flex items with aspect ratio +https://bugs.webkit.org/show_bug.cgi?id=227395 + +Reviewed by Rob Buis. + +Before computing the intrinsic sizes of flex items we first clear the overriding sizes of the item +that might have been set before in order to get the proper intrinsic size. However there is one +situation in which having an overriding size is desirable and it's when the cross size should +be set to the flex container's definite cross size. That's one of the exceptions for definite/indefinite +sizes mentioned in the specs (see
[webkit-changes] [279284] trunk
Title: [279284] trunk Revision 279284 Author svil...@igalia.com Date 2021-06-25 08:28:43 -0700 (Fri, 25 Jun 2021) Log Message Nullptr crash in StyledMarkupAccumulator::traverseNodesForSerialization https://bugs.webkit.org/show_bug.cgi?id=226821 Reviewed by Ryosuke Niwa. Source/WebCore: r276394 fixed an issue in serialization when transversing the nodes. It added a new condition to the ASSERT that was checking that its OK not to have a next pointer when there is a valid pastEnd in the case of pastEnd being a descendant of the pointer traversing the node tree. However that descendant check was not including the shadow DOM. This is precisely the case detected by the test case this patch is adding. Test: editing/selection/setSelection-shadow-dom-crash.html * editing/markup.cpp: (WebCore::StyledMarkupAccumulator::traverseNodesForSerialization): LayoutTests: * editing/selection/setSelection-shadow-dom-crash-expected.txt: Added. * editing/selection/setSelection-shadow-dom-crash.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/editing/markup.cpp Added Paths trunk/LayoutTests/editing/selection/setSelection-shadow-dom-crash-expected.txt trunk/LayoutTests/editing/selection/setSelection-shadow-dom-crash.html Diff Modified: trunk/LayoutTests/ChangeLog (279283 => 279284) --- trunk/LayoutTests/ChangeLog 2021-06-25 15:12:29 UTC (rev 279283) +++ trunk/LayoutTests/ChangeLog 2021-06-25 15:28:43 UTC (rev 279284) @@ -1,3 +1,13 @@ +2021-06-17 Sergio Villar Senin + +Nullptr crash in StyledMarkupAccumulator::traverseNodesForSerialization +https://bugs.webkit.org/show_bug.cgi?id=226821 + +Reviewed by Ryosuke Niwa. + +* editing/selection/setSelection-shadow-dom-crash-expected.txt: Added. +* editing/selection/setSelection-shadow-dom-crash.html: Added. + 2021-06-25 Philippe Normand Unreviewed, GStreamer gardening Added: trunk/LayoutTests/editing/selection/setSelection-shadow-dom-crash-expected.txt (0 => 279284) --- trunk/LayoutTests/editing/selection/setSelection-shadow-dom-crash-expected.txt (rev 0) +++ trunk/LayoutTests/editing/selection/setSelection-shadow-dom-crash-expected.txt 2021-06-25 15:28:43 UTC (rev 279284) @@ -0,0 +1,2 @@ + +This test PASS if it does not crash. Property changes on: trunk/LayoutTests/editing/selection/setSelection-shadow-dom-crash-expected.txt ___ Added: svn:eol-style +LF \ No newline at end of property Added: trunk/LayoutTests/editing/selection/setSelection-shadow-dom-crash.html (0 => 279284) --- trunk/LayoutTests/editing/selection/setSelection-shadow-dom-crash.html (rev 0) +++ trunk/LayoutTests/editing/selection/setSelection-shadow-dom-crash.html 2021-06-25 15:28:43 UTC (rev 279284) @@ -0,0 +1,25 @@ + + + +if (window.testRunner) +testRunner.dumpAsText(); + +const image = document.createElement('img'); +document.body.appendChild(image); +const selection = window.getSelection(); +const image2 = document.createElement('img'); +const div = document.createElement('div'); +document.body.appendChild(div); +const shadow = div.attachShadow({ +mode: "open", +}); +shadow.appendChild(image2); +if (window.internals) { +internals.setSelectionWithoutValidation(shadow, 0, image, 2); +document.execCommand("copy"); + +const p = document.createElement('p'); +p.innerHTML = "This test PASS if it does not crash." +document.body.appendChild(p); +} + Property changes on: trunk/LayoutTests/editing/selection/setSelection-shadow-dom-crash.html ___ Added: svn:eol-style +LF \ No newline at end of property Added: svn:mime-type +text/html \ No newline at end of property Modified: trunk/Source/WebCore/ChangeLog (279283 => 279284) --- trunk/Source/WebCore/ChangeLog 2021-06-25 15:12:29 UTC (rev 279283) +++ trunk/Source/WebCore/ChangeLog 2021-06-25 15:28:43 UTC (rev 279284) @@ -1,3 +1,22 @@ +2021-06-17 Sergio Villar Senin + +Nullptr crash in StyledMarkupAccumulator::traverseNodesForSerialization +https://bugs.webkit.org/show_bug.cgi?id=226821 + +Reviewed by Ryosuke Niwa. + +r276394 fixed an issue in serialization when transversing the nodes. It added a new condition +to the ASSERT that was checking that its OK not to have a next pointer when there is a valid +pastEnd in the case of pastEnd being a descendant of the pointer traversing the node tree. + +However that descendant check was not including the shadow DOM. This is precisely the case +detected by the test case this patch is adding. + +Test: editing/selection/setSelection-shadow-dom-crash.html + +* editing/markup.cpp: +(WebCore::StyledMarkupAccumulator::traverseNodesForSerialization): + 2021-06-25 Philippe Normand
[webkit-changes] [279274] trunk/Source/WebCore
Title: [279274] trunk/Source/WebCore Revision 279274 Author svil...@igalia.com Date 2021-06-25 04:22:59 -0700 (Fri, 25 Jun 2021) Log Message [css-flexbox] Cleanup OverridingSizesScope RAII class https://bugs.webkit.org/show_bug.cgi?id=227394 Reviewed by Rob Buis. In r279268 we added a new RAII class which adds an overriding sizes free scope to perform layout computations. That class heavily uses the different set/get/clear methods for overriding sizes. We can use a macro with subsitutions there to reduce the amount of required code. Also moving the computeChildIntrinsicLogicalWidths() method to the private section as it does not require protected visibility. No new tests as it's just a code refactoring that does not modify the functionality. * rendering/RenderFlexibleBox.cpp: (WebCore::OverridingSizesScope::OverridingSizesScope): (WebCore::OverridingSizesScope::~OverridingSizesScope): (WebCore::OverridingSizesScope::setOrClearOverridingSize): Deleted. * rendering/RenderFlexibleBox.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp trunk/Source/WebCore/rendering/RenderFlexibleBox.h Diff Modified: trunk/Source/WebCore/ChangeLog (279273 => 279274) --- trunk/Source/WebCore/ChangeLog 2021-06-25 09:55:57 UTC (rev 279273) +++ trunk/Source/WebCore/ChangeLog 2021-06-25 11:22:59 UTC (rev 279274) @@ -1,3 +1,25 @@ +2021-06-25 Sergio Villar Senin + +[css-flexbox] Cleanup OverridingSizesScope RAII class +https://bugs.webkit.org/show_bug.cgi?id=227394 + +Reviewed by Rob Buis. + +In r279268 we added a new RAII class which adds an overriding sizes free scope to perform +layout computations. That class heavily uses the different set/get/clear methods for overriding +sizes. We can use a macro with subsitutions there to reduce the amount of required code. + +Also moving the computeChildIntrinsicLogicalWidths() method to the private section as it does +not require protected visibility. + +No new tests as it's just a code refactoring that does not modify the functionality. + +* rendering/RenderFlexibleBox.cpp: +(WebCore::OverridingSizesScope::OverridingSizesScope): +(WebCore::OverridingSizesScope::~OverridingSizesScope): +(WebCore::OverridingSizesScope::setOrClearOverridingSize): Deleted. +* rendering/RenderFlexibleBox.h: + 2021-06-25 Martin Robinson [css-scroll-snap] Simplify snap point selection helpers Modified: trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp (279273 => 279274) --- trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp 2021-06-25 09:55:57 UTC (rev 279273) +++ trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp 2021-06-25 11:22:59 UTC (rev 279274) @@ -153,6 +153,14 @@ addScrollbarWidth(); } +#define SET_OR_CLEAR_OVERRIDING_SIZE(box, SizeType, size) \ +{ \ +if (size) \ +box.setOverridingLogical##SizeType(*size); \ +else\ +box.clearOverridingLogical##SizeType(); \ +} + // RAII class which defines a scope in which overriding sizes of a box are either: // 1) replaced by other size in one axis if size is specified // 2) cleared in both axis if size == std::nullopt @@ -175,40 +183,24 @@ if (axis == Axis::Both || axis == Axis::Inline) { if (box.hasOverridingLogicalWidth()) m_overridingWidth = box.overridingLogicalWidth(); -setOrClearOverridingSize(size, Axis::Inline); +SET_OR_CLEAR_OVERRIDING_SIZE(m_box, Width, size); } if (axis == Axis::Both || axis == Axis::Block) { if (box.hasOverridingLogicalHeight()) m_overridingHeight = box.overridingLogicalHeight(); -setOrClearOverridingSize(size, Axis::Block); +SET_OR_CLEAR_OVERRIDING_SIZE(m_box, Height, size); } } ~OverridingSizesScope() { -if (m_axis == Axis::Both || m_axis == Axis::Inline) -setOrClearOverridingSize(m_overridingWidth, Axis::Inline); +if (m_axis == Axis::Inline || m_axis == Axis::Both) +SET_OR_CLEAR_OVERRIDING_SIZE(m_box, Width, m_overridingWidth); -if (m_axis == Axis::Both || m_axis == Axis::Block) -setOrClearOverridingSize(m_overridingHeight, Axis::Block); +if (m_axis == Axis::Block || m_axis == Axis::Both) +SET_OR_CLEAR_OVERRIDING_SIZE(m_box, Height, m_overridingHeight); } private: -void setOrClearOverridingSize(std::optional size, Axis axis) -{ -ASSERT(axis != Axis::Both); -if (size) { -if (axis == Axis::Inline) -m_box.setOverridingLogicalWidth(*size); -else -m_box.setOverridingLogicalHeight(*size); -
[webkit-changes] [279271] trunk
Title: [279271] trunk Revision 279271 Author svil...@igalia.com Date 2021-06-25 01:59:13 -0700 (Fri, 25 Jun 2021) Log Message [css-flexbox] Do not clamp flex base size with {min|max}-{height|width} https://bugs.webkit.org/show_bug.cgi?id=225590 Reviewed by Alan Bujtas. Source/WebCore: When computing flex base size we should not clamp it with neither min-{height|width} nor max-{height|width}. That would be done later and will be called the hypothetical main size. For most of the cases we were already doing it, however there are some particular cases in which we have to call the generic layout code which does clamp the sizes using min and max sizes. In order to make those code paths work, we reset the min|max values to their initial ones (so they effectively become inactive) and then we set the original values back after computing the base size. * rendering/RenderFlexibleBox.cpp: (WebCore::ScopedUnboundedBox::ScopedUnboundedBox): New scoped class that sets min|max sizes to their initial values on instantiation and restores the original values on destruction. (WebCore::ScopedUnboundedBox::~ScopedUnboundedBox): (WebCore::RenderFlexibleBox::constructFlexItems): Wrap the base size computation with a ScopedUnboundedBox. LayoutTests: The patch allows us to pass 3 new tests. We're adding percentage-max-height-003.html to the list of expected failures because these changes make it fail. This is not really a regression however because although the size of the deepest flex item was correct (and thus allowed us to pass the test) the other sizes were completely wrong. So it's more an issue of the test not being complete enough and passing artificially than anything else. * TestExpectations: Unskipped 3 tests & skipped 1. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp Diff Modified: trunk/LayoutTests/ChangeLog (279270 => 279271) --- trunk/LayoutTests/ChangeLog 2021-06-25 08:43:33 UTC (rev 279270) +++ trunk/LayoutTests/ChangeLog 2021-06-25 08:59:13 UTC (rev 279271) @@ -1,3 +1,18 @@ +2021-06-14 Sergio Villar Senin + +[css-flexbox] Do not clamp flex base size with {min|max}-{height|width} +https://bugs.webkit.org/show_bug.cgi?id=225590 + +Reviewed by Alan Bujtas. + +The patch allows us to pass 3 new tests. We're adding percentage-max-height-003.html to +the list of expected failures because these changes make it fail. This is not really a +regression however because although the size of the deepest flex item was correct (and thus +allowed us to pass the test) the other sizes were completely wrong. So it's more an issue +of the test not being complete enough and passing artificially than anything else. + +* TestExpectations: Unskipped 3 tests & skipped 1. + 2021-06-25 Arcady Goldmints-Orlov [GTK] Unreviewed test gardening, mark more WebXR tests as unsupported Modified: trunk/LayoutTests/TestExpectations (279270 => 279271) --- trunk/LayoutTests/TestExpectations 2021-06-25 08:43:33 UTC (rev 279270) +++ trunk/LayoutTests/TestExpectations 2021-06-25 08:59:13 UTC (rev 279271) @@ -1217,6 +1217,7 @@ webkit.org/b/136754 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-015.html [ ImageOnlyFailure ] webkit.org/b/136754 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-safe-overflow-position-001.html [ ImageOnlyFailure ] webkit.org/b/136754 imported/w3c/web-platform-tests/css/css-flexbox/percentage-max-height-002.html [ ImageOnlyFailure ] +webkit.org/b/136754 imported/w3c/web-platform-tests/css/css-flexbox/percentage-max-height-003.html [ ImageOnlyFailure ] webkit.org/b/210243 imported/w3c/web-platform-tests/css/css-flexbox/percentage-size-quirks-002.html [ Failure ] webkit.org/b/136754 imported/w3c/web-platform-tests/css/css-flexbox/scrollbars-no-margin.html [ ImageOnlyFailure ] @@ -3949,9 +3950,7 @@ webkit.org/b/209080 imported/w3c/web-platform-tests/css/css-writing-modes/vertical-alignment-srl-034.xht [ ImageOnlyFailure ] webkit.org/b/209080 imported/w3c/web-platform-tests/css/css-writing-modes/vertical-alignment-srl-040.xht [ ImageOnlyFailure ] -webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-012.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-015.html [ ImageOnlyFailure ] -webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-007.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-010.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/aspect-ratio-intrinsic-size-001.html [ ImageOnlyFailure ] webkit.org/b/219343
[webkit-changes] [279268] trunk/Source/WebCore
Title: [279268] trunk/Source/WebCore Revision 279268 Author svil...@igalia.com Date 2021-06-25 01:09:22 -0700 (Fri, 25 Jun 2021) Log Message [css-flexbox] Move flex item preferred width computation specifics to RenderFlexibleBox class https://bugs.webkit.org/show_bug.cgi?id=226822 Reviewed by Alan Bujtas. RenderBlock had some specific code for flex items that cleared the overriding sizes before computing the {min|max}PreferredWidths and then restored them afterwards. That is done to properly compute flex items intrinsic sizes. That code is flexbox specific so we better move it to RenderFlexibleBox. In order to do that a new virtual method was added to RenderBlock which just calls minPreferredLogicalWidth() and maxPreferredLogicalWidth() for every block except flexbox containers. In the case of flexbox containers, it wraps those calls with a RAII class that properly clears the overriding sizes on instantiation and clears them on destruction. Now that the RAII class is available we use it also for another existing code path that requires to temporarily set an overriding size in a given scope. No need for new tests as there is no change in behaviour. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::computeChildIntrinsicLogicalWidths const): New virtual method. (WebCore::RenderBlock::computeChildPreferredLogicalWidths const): Call computeChildIntrinsicLogicalWidths(). * rendering/RenderBlock.h: * rendering/RenderFlexibleBox.cpp: (WebCore::OverridingSizesScope::OverridingSizesScope): New RAII class to set/clear overriding sizes in a scope. (WebCore::OverridingSizesScope::~OverridingSizesScope): (WebCore::OverridingSizesScope::setOrClearOverridingSize): (WebCore::RenderFlexibleBox::computeChildIntrinsicLogicalWidths const): Redefinition for flexbox containers. (WebCore::RenderFlexibleBox::childIntrinsicLogicalHeight const): Removed constness from attribute. (WebCore::RenderFlexibleBox::childIntrinsicLogicalWidth): Ditto. (WebCore::RenderFlexibleBox::crossAxisIntrinsicExtentForChild): Ditto. * rendering/RenderFlexibleBox.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderBlock.cpp trunk/Source/WebCore/rendering/RenderBlock.h trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp trunk/Source/WebCore/rendering/RenderFlexibleBox.h Diff Modified: trunk/Source/WebCore/ChangeLog (279267 => 279268) --- trunk/Source/WebCore/ChangeLog 2021-06-25 07:13:59 UTC (rev 279267) +++ trunk/Source/WebCore/ChangeLog 2021-06-25 08:09:22 UTC (rev 279268) @@ -1,3 +1,38 @@ +2021-06-09 Sergio Villar Senin + +[css-flexbox] Move flex item preferred width computation specifics to RenderFlexibleBox class +https://bugs.webkit.org/show_bug.cgi?id=226822 + +Reviewed by Alan Bujtas. + +RenderBlock had some specific code for flex items that cleared the overriding sizes before +computing the {min|max}PreferredWidths and then restored them afterwards. That is done to +properly compute flex items intrinsic sizes. That code is flexbox specific so we better move +it to RenderFlexibleBox. In order to do that a new virtual method was added to RenderBlock which +just calls minPreferredLogicalWidth() and maxPreferredLogicalWidth() for every block except +flexbox containers. + +In the case of flexbox containers, it wraps those calls with a RAII class that properly +clears the overriding sizes on instantiation and clears them on destruction. Now that the RAII +class is available we use it also for another existing code path that requires to +temporarily set an overriding size in a given scope. + +No need for new tests as there is no change in behaviour. + +* rendering/RenderBlock.cpp: +(WebCore::RenderBlock::computeChildIntrinsicLogicalWidths const): New virtual method. +(WebCore::RenderBlock::computeChildPreferredLogicalWidths const): Call computeChildIntrinsicLogicalWidths(). +* rendering/RenderBlock.h: +* rendering/RenderFlexibleBox.cpp: +(WebCore::OverridingSizesScope::OverridingSizesScope): New RAII class to set/clear overriding sizes in a scope. +(WebCore::OverridingSizesScope::~OverridingSizesScope): +(WebCore::OverridingSizesScope::setOrClearOverridingSize): +(WebCore::RenderFlexibleBox::computeChildIntrinsicLogicalWidths const): Redefinition for flexbox containers. +(WebCore::RenderFlexibleBox::childIntrinsicLogicalHeight const): Removed constness from attribute. +(WebCore::RenderFlexibleBox::childIntrinsicLogicalWidth): Ditto. +(WebCore::RenderFlexibleBox::crossAxisIntrinsicExtentForChild): Ditto. +* rendering/RenderFlexibleBox.h: + 2021-06-24 Antoine Quint [Model] Create a sandbox extension for a temporary directory to store model resources Modified: trunk/Source/WebCore/rendering/RenderBlock.cpp (279267 => 279268) ---
[webkit-changes] [279035] trunk
Title: [279035] trunk Revision 279035 Author svil...@igalia.com Date 2021-06-18 03:58:18 -0700 (Fri, 18 Jun 2021) Log Message Ignore clangd's directory with index files https://bugs.webkit.org/show_bug.cgi?id=227162 Reviewed by Žan Doberšek. clangd stores its indexes in a .cache directory. Let git ignore it. * .gitignore: Modified Paths trunk/.gitignore trunk/ChangeLog Diff Modified: trunk/.gitignore (279034 => 279035) --- trunk/.gitignore 2021-06-18 10:35:40 UTC (rev 279034) +++ trunk/.gitignore 2021-06-18 10:58:18 UTC (rev 279035) @@ -31,6 +31,7 @@ tags *~ .*.sw[a-p] +.cache .clangd compile_commands.json Modified: trunk/ChangeLog (279034 => 279035) --- trunk/ChangeLog 2021-06-18 10:35:40 UTC (rev 279034) +++ trunk/ChangeLog 2021-06-18 10:58:18 UTC (rev 279035) @@ -1,3 +1,14 @@ +2021-06-18 Sergio Villar Senin + +Ignore clangd's directory with index files +https://bugs.webkit.org/show_bug.cgi?id=227162 + +Reviewed by Žan Doberšek. + +clangd stores its indexes in a .cache directory. Let git ignore it. + +* .gitignore: + 2021-06-11 Adrian Perez de Castro Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.33.2 release ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [278865] trunk/Source/WebCore
Title: [278865] trunk/Source/WebCore Revision 278865 Author svil...@igalia.com Date 2021-06-15 02:19:23 -0700 (Tue, 15 Jun 2021) Log Message [css-flexbox] Do not compute the min-max sizes of flex items twice https://bugs.webkit.org/show_bug.cgi?id=226463 Reviewed by Simon Fraser. When determining the flex base size, the item’s min and max main sizes are ignored (no clamping occurs). Those limits are used to compute the item's hypothetical main size and also later when the flexible lengths are resolved. The thing is that we were running the code that clamps the flex item size twice instead of computing those limits once and apply them twice. >From now one, we just compute them once and store the limits in a std::pair in the FlexItem class. This means that the FlexItem is able to compute the hypothetical main size on its own and does not need it to be passed as an argument. No new tests as this is already being tested by dozens of tests. * rendering/FlexibleBoxAlgorithm.cpp: (WebCore::FlexItem::FlexItem): (WebCore::FlexItem::constrainSizeByMinMax const): Clamp the passed in size by the stored min & max sizes. * rendering/FlexibleBoxAlgorithm.h: * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::computeFlexItemMinMaxSizes): Renamed from adjustChildSizeForMinAndMax and without the childSize argument which is no longer needed. (WebCore::RenderFlexibleBox::constructFlexItem): Use constrainSizeByMinMax. (WebCore::RenderFlexibleBox::resolveFlexibleLengths): Ditto. (WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax): Deleted. * rendering/RenderFlexibleBox.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/FlexibleBoxAlgorithm.cpp trunk/Source/WebCore/rendering/FlexibleBoxAlgorithm.h trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp trunk/Source/WebCore/rendering/RenderFlexibleBox.h Diff Modified: trunk/Source/WebCore/ChangeLog (278864 => 278865) --- trunk/Source/WebCore/ChangeLog 2021-06-15 08:32:33 UTC (rev 278864) +++ trunk/Source/WebCore/ChangeLog 2021-06-15 09:19:23 UTC (rev 278865) @@ -1,3 +1,33 @@ +2021-05-31 Sergio Villar Senin + +[css-flexbox] Do not compute the min-max sizes of flex items twice +https://bugs.webkit.org/show_bug.cgi?id=226463 + +Reviewed by Simon Fraser. + +When determining the flex base size, the item’s min and max main sizes are ignored (no clamping occurs). +Those limits are used to compute the item's hypothetical main size and also later when the flexible +lengths are resolved. The thing is that we were running the code that clamps the flex item size twice instead +of computing those limits once and apply them twice. + +From now one, we just compute them once and store the limits in a std::pair in the FlexItem class. This means +that the FlexItem is able to compute the hypothetical main size on its own and does not need it to be passed +as an argument. + +No new tests as this is already being tested by dozens of tests. + +* rendering/FlexibleBoxAlgorithm.cpp: +(WebCore::FlexItem::FlexItem): +(WebCore::FlexItem::constrainSizeByMinMax const): Clamp the passed in size by the stored min & max sizes. +* rendering/FlexibleBoxAlgorithm.h: +* rendering/RenderFlexibleBox.cpp: +(WebCore::RenderFlexibleBox::computeFlexItemMinMaxSizes): Renamed from adjustChildSizeForMinAndMax and +without the childSize argument which is no longer needed. +(WebCore::RenderFlexibleBox::constructFlexItem): Use constrainSizeByMinMax. +(WebCore::RenderFlexibleBox::resolveFlexibleLengths): Ditto. +(WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax): Deleted. +* rendering/RenderFlexibleBox.h: + 2021-06-11 Sergio Villar Senin logged in GitHub issue pages have bad layout for "Notifications Customize" link Modified: trunk/Source/WebCore/rendering/FlexibleBoxAlgorithm.cpp (278864 => 278865) --- trunk/Source/WebCore/rendering/FlexibleBoxAlgorithm.cpp 2021-06-15 08:32:33 UTC (rev 278864) +++ trunk/Source/WebCore/rendering/FlexibleBoxAlgorithm.cpp 2021-06-15 09:19:23 UTC (rev 278865) @@ -35,12 +35,14 @@ namespace WebCore { -FlexItem::FlexItem(RenderBox& box, LayoutUnit flexBaseContentSize, LayoutUnit hypotheticalMainContentSize, LayoutUnit mainAxisBorderAndPadding, LayoutUnit mainAxisMargin, bool everHadLayout) +FlexItem::FlexItem(RenderBox& box, LayoutUnit flexBaseContentSize, LayoutUnit mainAxisBorderAndPadding, LayoutUnit mainAxisMargin, std::pair minMaxSizes, bool everHadLayout) : box(box) , flexBaseContentSize(flexBaseContentSize) -, hypotheticalMainContentSize(hypotheticalMainContentSize) , mainAxisBorderAndPadding(mainAxisBorderAndPadding) , mainAxisMargin(mainAxisMargin) +, minMaxSizes(minMaxSizes) +, hypotheticalMainContentSize(constrainSizeByMinMax(flexBaseContentSize)) +, frozen(false) ,
[webkit-changes] [278864] trunk
Title: [278864] trunk Revision 278864 Author svil...@igalia.com Date 2021-06-15 01:32:33 -0700 (Tue, 15 Jun 2021) Log Message logged in GitHub issue pages have bad layout for "Notifications Customize" link https://bugs.webkit.org/show_bug.cgi?id=226859 Reviewed by Alan Bujtas. LayoutTests/imported/w3c: * web-platform-tests/html/rendering/the-details-element/summary-display-list-item-002-expected.html: Added. * web-platform-tests/html/rendering/the-details-element/summary-display-list-item-002.html: Added. Source/WebCore: Test: imported/w3c/web-platform-tests/html/rendering/the-details-element/summary-display-list-item-002.html In r278280 we made display:list-item on elements to fallback to display:flexbox in order not to show two markers. However there is no reason why it should be a flexible box instead of a block container, actually is causing issues in some sites. We better fallback to block instead of flexbox renderer. * rendering/RenderElement.cpp: (WebCore::RenderElement::createFor): create a RenderBlockFlow when OnlyCreateBlockAndFlexboxRenderers is specified (right now only by summary elements). Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/the-details-element/w3c-import.log trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderElement.cpp Added Paths trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/the-details-element/summary-display-list-item-001-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/the-details-element/summary-display-list-item-001.html trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/the-details-element/summary-display-list-item-002-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/the-details-element/summary-display-list-item-002.html Removed Paths trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/the-details-element/summary-display-list-item-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/the-details-element/summary-display-list-item.html Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (278863 => 278864) --- trunk/LayoutTests/imported/w3c/ChangeLog 2021-06-15 07:40:42 UTC (rev 278863) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2021-06-15 08:32:33 UTC (rev 278864) @@ -1,3 +1,13 @@ +2021-06-11 Sergio Villar Senin + +logged in GitHub issue pages have bad layout for "Notifications Customize" link +https://bugs.webkit.org/show_bug.cgi?id=226859 + +Reviewed by Alan Bujtas. + +* web-platform-tests/html/rendering/the-details-element/summary-display-list-item-002-expected.html: Added. +* web-platform-tests/html/rendering/the-details-element/summary-display-list-item-002.html: Added. + 2021-06-14 Youenn Fablet Import WPT webrtc-extensions Copied: trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/the-details-element/summary-display-list-item-001-expected.html (from rev 278863, trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/the-details-element/summary-display-list-item-expected.html) (0 => 278864) --- trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/the-details-element/summary-display-list-item-001-expected.html (rev 0) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/the-details-element/summary-display-list-item-001-expected.html 2021-06-15 08:32:33 UTC (rev 278864) @@ -0,0 +1,28 @@ + + +CSS Reference: summary with 'display: list-item' + +details { + margin-left: 50px; +} +.inside { + list-style-position: inside; +} + + + summary + content + + + summary + content + + + summary + content + + + summary + content + Property changes: trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/the-details-element/summary-display-list-item-001-expected.html Added: svn:eol-style +LF \ No newline at end of property Added: svn:mime-type +text/html \ No newline at end of property Copied: trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/the-details-element/summary-display-list-item-001.html (from rev 278863, trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/the-details-element/summary-display-list-item.html) (0 => 278864) --- trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/the-details-element/summary-display-list-item-001.html (rev 0) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/the-details-element/summary-display-list-item-001.html 2021-06-15 08:32:33 UTC (rev 278864) @@ -0,0 +1,34 @@ + + +CSS Test: summary with 'display: list-item' + + +summary { + display: list-item; +} +details { + margin-left: 50px; +} +.inside { + list-style-position: inside; +} + + + summary + content + + + summary + content + + + summary + content + + + summary + content + Property
[webkit-changes] [278693] trunk/Tools
Title: [278693] trunk/Tools Revision 278693 Author svil...@igalia.com Date 2021-06-09 21:59:13 -0700 (Wed, 09 Jun 2021) Log Message Add email address for Igalia's WebKit layout team to contributors.json https://bugs.webkit.org/show_bug.cgi?id=226829 Reviewed by Simon Fraser. * Scripts/webkitpy/common/config/contributors.json: Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/webkitpy/common/config/contributors.json Diff Modified: trunk/Tools/ChangeLog (278692 => 278693) --- trunk/Tools/ChangeLog 2021-06-10 04:52:56 UTC (rev 278692) +++ trunk/Tools/ChangeLog 2021-06-10 04:59:13 UTC (rev 278693) @@ -1,3 +1,12 @@ +2021-06-09 Sergio Villar Senin + +Add email address for Igalia's WebKit layout team to contributors.json +https://bugs.webkit.org/show_bug.cgi?id=226829 + +Reviewed by Simon Fraser. + +* Scripts/webkitpy/common/config/contributors.json: + 2021-06-09 Chris Gambrell Add personal email to Tools/Scripts/webkitpy/common/config/contributors.json Modified: trunk/Tools/Scripts/webkitpy/common/config/contributors.json (278692 => 278693) --- trunk/Tools/Scripts/webkitpy/common/config/contributors.json 2021-06-10 04:52:56 UTC (rev 278692) +++ trunk/Tools/Scripts/webkitpy/common/config/contributors.json 2021-06-10 04:59:13 UTC (rev 278693) @@ -2552,6 +2552,12 @@ "vollick" ] }, + "Igalia Layout Team" : { + "emails" : [ + "webkit-layout-nore...@igalia.com" + ], + "expertise" : "Flexbox, CSS Grid Layout, CSS Scroll Snap, CSS Containment" + }, "Igor Trindade Oliveira" : { "emails" : [ "igor.olive...@webkit.org", ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [278450] trunk/Source/WebCore
Title: [278450] trunk/Source/WebCore Revision 278450 Author svil...@igalia.com Date 2021-06-04 01:03:35 -0700 (Fri, 04 Jun 2021) Log Message [css-flexbox] Sanitize the aspect ratio handling code https://bugs.webkit.org/show_bug.cgi?id=226324 Reviewed by Javier Fernandez. Sanitized the code that detects whether aspect ratio should be used to compute sizes. The useChildAspectRatio() method was removed as it was very misleading, the name was a bad choice and it was very confusing. A new method childHasComputableAspectRatio() was added. It verifies whether the item has an aspect ratio (of any type) and whether we could compute it. Also two calls to detect whether the cross size was definite (or considered definite) were unified in a single method. No new tests as there is no change in behaviour. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::childHasComputableAspectRatio const): New method which takes the checks from useChildAspectRatio. (WebCore::RenderFlexibleBox::childHasComputableAspectRatioAndCrossSizeIsConsideredDefinite): New method doing 3 different checks. (WebCore::RenderFlexibleBox::childCrossSizeShouldUseContainerCrossSize const): Removed the aspect ratio checks which make no sense there. (WebCore::RenderFlexibleBox::computeInnerFlexBaseSizeForChild): Use the new method. (WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax): Ditto. (WebCore::RenderFlexibleBox::useChildAspectRatio): Deleted. * rendering/RenderFlexibleBox.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp trunk/Source/WebCore/rendering/RenderFlexibleBox.h Diff Modified: trunk/Source/WebCore/ChangeLog (278449 => 278450) --- trunk/Source/WebCore/ChangeLog 2021-06-04 06:35:37 UTC (rev 278449) +++ trunk/Source/WebCore/ChangeLog 2021-06-04 08:03:35 UTC (rev 278450) @@ -1,3 +1,32 @@ +2021-05-27 Sergio Villar Senin + +[css-flexbox] Sanitize the aspect ratio handling code +https://bugs.webkit.org/show_bug.cgi?id=226324 + +Reviewed by Javier Fernandez. + +Sanitized the code that detects whether aspect ratio should be used to compute sizes. The +useChildAspectRatio() method was removed as it was very misleading, the name was a bad choice +and it was very confusing. A new method childHasComputableAspectRatio() was added. It verifies +whether the item has an aspect ratio (of any type) and whether we could compute it. + +Also two calls to detect whether the cross size was definite (or considered definite) were +unified in a single method. + +No new tests as there is no change in behaviour. + +* rendering/RenderFlexibleBox.cpp: +(WebCore::RenderFlexibleBox::childHasComputableAspectRatio const): New method which takes the +checks from useChildAspectRatio. +(WebCore::RenderFlexibleBox::childHasComputableAspectRatioAndCrossSizeIsConsideredDefinite): +New method doing 3 different checks. +(WebCore::RenderFlexibleBox::childCrossSizeShouldUseContainerCrossSize const): Removed the aspect +ratio checks which make no sense there. +(WebCore::RenderFlexibleBox::computeInnerFlexBaseSizeForChild): Use the new method. +(WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax): Ditto. +(WebCore::RenderFlexibleBox::useChildAspectRatio): Deleted. +* rendering/RenderFlexibleBox.h: + 2021-06-03 Jean-Yves Avenard fast/dom/Window/property-access-on-cached-window-after-frame-removed.html (layout-test) may crash Modified: trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp (278449 => 278450) --- trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp 2021-06-04 06:35:37 UTC (rev 278449) +++ trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp 2021-06-04 08:03:35 UTC (rev 278450) @@ -791,17 +791,6 @@ return { }; } -bool RenderFlexibleBox::useChildAspectRatio(const RenderBox& child) -{ -if (!childHasAspectRatio(child)) -return false; -if (!child.intrinsicSize().height() && !child.style().hasAspectRatio()) { -// We can't compute a ratio in this case. -return false; -} -return childCrossSizeIsDefinite(child, crossSizeLengthForChild(MainOrPreferredSize, child)); -} - // FIXME: computeMainSizeFromAspectRatioUsing may need to return an std::optional in the future // rather than returning indefinite sizes as 0/-1. LayoutUnit RenderFlexibleBox::computeMainSizeFromAspectRatioUsing(const RenderBox& child, Length crossSizeLength) const @@ -882,15 +871,21 @@ return true; } -bool RenderFlexibleBox::childCrossSizeShouldUseContainerCrossSize(const RenderBox& child) const +bool RenderFlexibleBox::childHasComputableAspectRatio(const RenderBox& child) const { if (!childHasAspectRatio(child)) return false; -if (!child.intrinsicSize().height() && !child.style().hasAspectRatio()) { -// We can't compute a ratio in this case. -
[webkit-changes] [278300] trunk/Source/WebCore
Title: [278300] trunk/Source/WebCore Revision 278300 Author svil...@igalia.com Date 2021-06-01 03:52:26 -0700 (Tue, 01 Jun 2021) Log Message Improve if condition in RenderReplaced::computeReplacedLogicalWidth https://bugs.webkit.org/show_bug.cgi?id=226325 Reviewed by Darin Adler. Removed the check for intrinsicRatio as we're already inside a block in which intrinsicRatio is true. Also switched the position of the two conditions in the OR clause as it allows us to remove the check for computedHeightIsAuto. Last but not least, used a ternary operator to initialize the value of boxSizing instead of the if clause. No new tests as there is no change in functionality. * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::computeReplacedLogicalWidth const): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderReplaced.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (278299 => 278300) --- trunk/Source/WebCore/ChangeLog 2021-06-01 08:42:48 UTC (rev 278299) +++ trunk/Source/WebCore/ChangeLog 2021-06-01 10:52:26 UTC (rev 278300) @@ -1,3 +1,20 @@ +2021-05-27 Sergio Villar Senin + +Improve if condition in RenderReplaced::computeReplacedLogicalWidth +https://bugs.webkit.org/show_bug.cgi?id=226325 + +Reviewed by Darin Adler. + +Removed the check for intrinsicRatio as we're already inside a block in which intrinsicRatio +is true. Also switched the position of the two conditions in the OR clause as it allows us +to remove the check for computedHeightIsAuto. Last but not least, used a ternary operator +to initialize the value of boxSizing instead of the if clause. + +No new tests as there is no change in functionality. + +* rendering/RenderReplaced.cpp: +(WebCore::RenderReplaced::computeReplacedLogicalWidth const): + 2021-05-31 Dean Jackson [WebXR] Attach IOSurface to WebXROpaqueFramebuffer Modified: trunk/Source/WebCore/rendering/RenderReplaced.cpp (278299 => 278300) --- trunk/Source/WebCore/rendering/RenderReplaced.cpp 2021-06-01 08:42:48 UTC (rev 278299) +++ trunk/Source/WebCore/rendering/RenderReplaced.cpp 2021-06-01 10:52:26 UTC (rev 278300) @@ -561,16 +561,13 @@ // If 'height' and 'width' both have computed values of 'auto' and the element has no intrinsic width, but does have an intrinsic height and intrinsic ratio; // or if 'width' has a computed value of 'auto', 'height' has some other computed value, and the element does have an intrinsic ratio; then the used value // of 'width' is: (used height) * (intrinsic ratio) -if (intrinsicRatio && ((computedHeightIsAuto && !hasIntrinsicWidth && hasIntrinsicHeight) || !computedHeightIsAuto)) { +if (!computedHeightIsAuto || (!hasIntrinsicWidth && hasIntrinsicHeight)) { LayoutUnit estimatedUsedWidth = hasIntrinsicWidth ? LayoutUnit(constrainedSize.width()) : computeConstrainedLogicalWidth(shouldComputePreferred); LayoutUnit logicalHeight = computeReplacedLogicalHeight(std::optional(estimatedUsedWidth)); -BoxSizing boxSizing = BoxSizing::ContentBox; -if (style().hasAspectRatio()) -boxSizing = style().boxSizingForAspectRatio(); +BoxSizing boxSizing = style().hasAspectRatio() ? style().boxSizingForAspectRatio() : BoxSizing::ContentBox; return computeReplacedLogicalWidthRespectingMinMaxWidth(resolveWidthForRatio(borderAndPaddingLogicalHeight(), borderAndPaddingLogicalWidth(), logicalHeight, intrinsicRatio, boxSizing), shouldComputePreferred); } - // If 'height' and 'width' both have computed values of 'auto' and the // element has an intrinsic ratio but no intrinsic height or width, then // the used value of 'width' is undefined in CSS 2.1. However, it is ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [278280] trunk
Title: [278280] trunk Revision 278280 Author svil...@igalia.com Date 2021-05-31 09:18:03 -0700 (Mon, 31 May 2021) Log Message Enable to be a flex container https://bugs.webkit.org/show_bug.cgi?id=190065 Reviewed by Antti Koivisto. LayoutTests/imported/w3c: Imported several WPT tests adding coverage for as grid/flex. * resources/import-expectations.json: * resources/resource-files.json: * web-platform-tests/html/rendering/the-details-element/details-blockification-expected.txt: Added. * web-platform-tests/html/rendering/the-details-element/details-blockification.html: Added. * web-platform-tests/html/rendering/the-details-element/summary-display-flex-expected.html: Added. * web-platform-tests/html/rendering/the-details-element/summary-display-flex.html: Added. * web-platform-tests/html/rendering/the-details-element/summary-display-grid-expected.html: Added. * web-platform-tests/html/rendering/the-details-element/summary-display-grid.html: Added. * web-platform-tests/html/rendering/the-details-element/summary-display-inline-flex-expected.html: Added. * web-platform-tests/html/rendering/the-details-element/summary-display-inline-flex.html: Added. * web-platform-tests/html/rendering/the-details-element/summary-display-inline-grid-expected.html: Added. * web-platform-tests/html/rendering/the-details-element/summary-display-inline-grid.html: Added. * web-platform-tests/html/rendering/the-details-element/summary-in-ol-expected.html: Added. * web-platform-tests/html/rendering/the-details-element/summary-in-ol.html: Added. * web-platform-tests/html/rendering/the-details-element/w3c-import.log: Source/WebCore: Create grid or flex renderers for elements whenever display: {inline}-{grid|flex} is specified. All vendors but WebKit allowed it so it should be good for interoperability. * html/HTMLSummaryElement.cpp: (WebCore::HTMLSummaryElement::createElementRenderer): create the renderer specifying RenderElement::OnlyCreateBlockAndFlexboxRenderers. * rendering/RenderElement.cpp: (WebCore::RenderElement::createFor): do not create a RenderListItem for if display:list-item is used because they're already list items. Let it fallthrough to RenderBlockFlow creation. Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/resources/resource-files.json trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/the-details-element/w3c-import.log trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/HTMLSummaryElement.cpp trunk/Source/WebCore/rendering/RenderElement.cpp Added Paths trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/the-details-element/details-blockification-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/the-details-element/details-blockification.html trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/the-details-element/summary-display-flex-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/the-details-element/summary-display-flex.html trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/the-details-element/summary-display-grid-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/the-details-element/summary-display-grid.html trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/the-details-element/summary-display-inline-flex-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/the-details-element/summary-display-inline-flex.html trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/the-details-element/summary-display-inline-grid-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/the-details-element/summary-display-inline-grid.html trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/the-details-element/summary-in-ol-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/the-details-element/summary-in-ol.html Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (278279 => 278280) --- trunk/LayoutTests/imported/w3c/ChangeLog 2021-05-31 15:47:28 UTC (rev 278279) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2021-05-31 16:18:03 UTC (rev 278280) @@ -1,3 +1,28 @@ +2021-04-29 Sergio Villar Senin + +Enable to be a flex container +https://bugs.webkit.org/show_bug.cgi?id=190065 + +Reviewed by Antti Koivisto. + +Imported several WPT tests adding coverage for as grid/flex. + +* resources/import-expectations.json: +* resources/resource-files.json: +* web-platform-tests/html/rendering/the-details-element/details-blockification-expected.txt: Added. +* web-platform-tests/html/rendering/the-details-element/details-blockification.html: Added. +* web-platform-tests/html/rendering/the-details-element/summary-display-flex-expected.html: Added. +* web-platform-tests/html/rendering/the-details-element/summary-display-flex.html: Added. +*
[webkit-changes] [277378] trunk
Title: [277378] trunk Revision 277378 Author svil...@igalia.com Date 2021-05-12 10:58:17 -0700 (Wed, 12 May 2021) Log Message ASSERTION FAILED: m_clients.contains() in CSSFontFace::removeClient via CSSSegmentedFontFace::~CSSSegmentedFontFace() https://bugs.webkit.org/show_bug.cgi?id=223790 Reviewed by Ryosuke Niwa. Source/WebCore: CSSFontFace does not support adding the same client twice as it uses a HashSet to track them. This means that it's a mistake to call removeClient() more than once. This could happen when specifying the same font family more than once in a element inside a svg container. Test: fast/css/svg-font-face-duplicate-crash.html * css/CSSFontFaceSet.cpp: (WebCore::CSSFontFaceSet::fontFace): Skip duplicate CSSFontFace's when before calling appendFontFace(). LayoutTests: * fast/css/svg-font-face-duplicate-crash-expected.txt: Added. * fast/css/svg-font-face-duplicate-crash.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/CSSFontFaceSet.cpp Added Paths trunk/LayoutTests/fast/css/svg-font-face-duplicate-crash-expected.txt trunk/LayoutTests/fast/css/svg-font-face-duplicate-crash.html Diff Modified: trunk/LayoutTests/ChangeLog (277377 => 277378) --- trunk/LayoutTests/ChangeLog 2021-05-12 17:54:07 UTC (rev 277377) +++ trunk/LayoutTests/ChangeLog 2021-05-12 17:58:17 UTC (rev 277378) @@ -1,3 +1,13 @@ +2021-05-12 Sergio Villar Senin + +ASSERTION FAILED: m_clients.contains() in CSSFontFace::removeClient via CSSSegmentedFontFace::~CSSSegmentedFontFace() +https://bugs.webkit.org/show_bug.cgi?id=223790 + +Reviewed by Ryosuke Niwa. + +* fast/css/svg-font-face-duplicate-crash-expected.txt: Added. +* fast/css/svg-font-face-duplicate-crash.html: Added. + 2021-05-12 Ryosuke Niwa REGRESSION: Release assert in SlotAssignment::assignedNodesForSlot via ComposedTreeIterator::traverseNextInShadowTree in Element::insertedIntoAncestor Added: trunk/LayoutTests/fast/css/svg-font-face-duplicate-crash-expected.txt (0 => 277378) --- trunk/LayoutTests/fast/css/svg-font-face-duplicate-crash-expected.txt (rev 0) +++ trunk/LayoutTests/fast/css/svg-font-face-duplicate-crash-expected.txt 2021-05-12 17:58:17 UTC (rev 277378) @@ -0,0 +1 @@ +Test PASS if it does not ASSERT in Debug. Added: trunk/LayoutTests/fast/css/svg-font-face-duplicate-crash.html (0 => 277378) --- trunk/LayoutTests/fast/css/svg-font-face-duplicate-crash.html (rev 0) +++ trunk/LayoutTests/fast/css/svg-font-face-duplicate-crash.html 2021-05-12 17:58:17 UTC (rev 277378) @@ -0,0 +1,18 @@ + + +body { +overflow: hidden -webkit-paged-x; +} + + +if (window.testRunner) +testRunner.dumpAsText(); + + + + + + + +Test PASS if it does not ASSERT in Debug. + Modified: trunk/Source/WebCore/ChangeLog (277377 => 277378) --- trunk/Source/WebCore/ChangeLog 2021-05-12 17:54:07 UTC (rev 277377) +++ trunk/Source/WebCore/ChangeLog 2021-05-12 17:58:17 UTC (rev 277378) @@ -1,3 +1,19 @@ +2021-05-12 Sergio Villar Senin + +ASSERTION FAILED: m_clients.contains() in CSSFontFace::removeClient via CSSSegmentedFontFace::~CSSSegmentedFontFace() +https://bugs.webkit.org/show_bug.cgi?id=223790 + +Reviewed by Ryosuke Niwa. + +CSSFontFace does not support adding the same client twice as it uses a HashSet to track them. This means that +it's a mistake to call removeClient() more than once. This could happen when specifying the same font +family more than once in a element inside a svg container. + +Test: fast/css/svg-font-face-duplicate-crash.html + +* css/CSSFontFaceSet.cpp: +(WebCore::CSSFontFaceSet::fontFace): Skip duplicate CSSFontFace's when before calling appendFontFace(). + 2021-05-12 Chris Dumez Queue notification permission requests for the same origin on WebKit side Modified: trunk/Source/WebCore/css/CSSFontFaceSet.cpp (277377 => 277378) --- trunk/Source/WebCore/css/CSSFontFaceSet.cpp 2021-05-12 17:54:07 UTC (rev 277377) +++ trunk/Source/WebCore/css/CSSFontFaceSet.cpp 2021-05-12 17:58:17 UTC (rev 277378) @@ -510,8 +510,13 @@ return true; return false; }); -for (auto& candidate : candidateFontFaces) +CSSFontFace* previousCandidate = nullptr; +for (auto& candidate : candidateFontFaces) { +if (() == previousCandidate) +continue; +previousCandidate = (); face->appendFontFace(candidate.get()); +} } return face.get(); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [277371] trunk
Title: [277371] trunk Revision 277371 Author svil...@igalia.com Date 2021-05-12 08:59:48 -0700 (Wed, 12 May 2021) Log Message [css-flexbox] Do not use margins when computing aspect ratio cross sizes https://bugs.webkit.org/show_bug.cgi?id=221210 LayoutTests/imported/w3c: Reviewed by Javier Fernandez. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013-expected.txt: Replaced FAIL by PASS expectations + new expectations. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013.html: Imported latest changes from upstream WPT. Source/WebCore: Reviewed by Javier Fernandez. In r270578 we implemented section 9.8.1 of the flexbox specs which allowed us to compute child's indefinite cross sizes as definite when the flexbox container had a definite cross size and a couple of other conditions. However we did not take into account that the child might have some margins in in the cross direction. Aspect ratio computations must use the content box and thus, we need to substract the margin extent before trying to compute a cross size based on an aspect ratio. Note that when computeMainSizeFromAspectRatioUsing() is called the child might not have been ever laid out. This means that the margins wouldn't have been computed and thus marginXXX() would always return 0. That's why crossAxisMarginExtentForChild() was also modified so that it actually computes the margins in case the child needs to be laid out. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::crossAxisMarginExtentForChild const): (WebCore::RenderFlexibleBox::computeMainSizeFromAspectRatioUsing const): LayoutTests: Reviewed by Javier Fernandez. * TestExpectations: Unskipped flex-aspect-ratio-img-row-013.html which is now passing. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp Diff Modified: trunk/LayoutTests/ChangeLog (277370 => 277371) --- trunk/LayoutTests/ChangeLog 2021-05-12 15:48:26 UTC (rev 277370) +++ trunk/LayoutTests/ChangeLog 2021-05-12 15:59:48 UTC (rev 277371) @@ -1,3 +1,12 @@ +2021-05-12 Sergio Villar Senin + +[css-flexbox] Do not use margins when computing aspect ratio cross sizes +https://bugs.webkit.org/show_bug.cgi?id=221210 + +Reviewed by Javier Fernandez. + +* TestExpectations: Unskipped flex-aspect-ratio-img-row-013.html which is now passing. + 2021-05-12 Diego Pino Garcia [GLIB] Unreviewed test gardening. media/track/in-band/track-in-band-srt-mkv-kind.html is a flaky crash. Modified: trunk/LayoutTests/TestExpectations (277370 => 277371) --- trunk/LayoutTests/TestExpectations 2021-05-12 15:48:26 UTC (rev 277370) +++ trunk/LayoutTests/TestExpectations 2021-05-12 15:59:48 UTC (rev 277371) @@ -3869,7 +3869,6 @@ webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-015.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-007.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-010.html [ ImageOnlyFailure ] -webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/aspect-ratio-intrinsic-size-001.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/aspect-ratio-intrinsic-size-002.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/aspect-ratio-intrinsic-size-003.html [ ImageOnlyFailure ] Modified: trunk/LayoutTests/imported/w3c/ChangeLog (277370 => 277371) --- trunk/LayoutTests/imported/w3c/ChangeLog 2021-05-12 15:48:26 UTC (rev 277370) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2021-05-12 15:59:48 UTC (rev 277371) @@ -1,3 +1,16 @@ +2021-05-12 Sergio Villar Senin + +[css-flexbox] Do not use margins when computing aspect ratio cross sizes +https://bugs.webkit.org/show_bug.cgi?id=221210 + + +Reviewed by Javier Fernandez. + +* web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013-expected.txt: + Replaced FAIL by PASS expectations + new expectations. +* web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013.html: Imported +latest changes from upstream WPT. + 2021-05-11 Cathie Chen [CSS contain] Support contain:size Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013-expected.txt (277370 => 277371) ---
[webkit-changes] [276971] trunk
Title: [276971] trunk Revision 276971 Author svil...@igalia.com Date 2021-05-04 11:19:43 -0700 (Tue, 04 May 2021) Log Message ASSERTION FAILED: contentSize >= 0 in WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax https://bugs.webkit.org/show_bug.cgi?id=222711 Reviewed by Alan Bujtas. Source/WebCore: Flexbox code was computing negative content sizes for FrameSet children because RenderFrameSet lacked a implementation of computePreferredLogicalWidths(). Added basic preferred width computation to RenderBox so that FrameSet and any other potential new RenderBox child could benefit from it. * rendering/RenderBox.cpp: (WebCore::RenderBox::computePreferredLogicalWidths): Added a basic implementation that calls computePreferredLogicalWidths(minWidth,maxWidth,borderAndPadding) and clears the flag. * rendering/RenderBox.h: (WebCore::RenderBox::computePreferredLogicalWidths): Deleted default implementation. LayoutTests: * TestExpectations: Unskipped a test that is passing now. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderBox.cpp trunk/Source/WebCore/rendering/RenderBox.h Diff Modified: trunk/LayoutTests/ChangeLog (276970 => 276971) --- trunk/LayoutTests/ChangeLog 2021-05-04 18:14:48 UTC (rev 276970) +++ trunk/LayoutTests/ChangeLog 2021-05-04 18:19:43 UTC (rev 276971) @@ -1,3 +1,13 @@ +2021-05-04 Sergio Villar Senin + +ASSERTION FAILED: contentSize >= 0 in WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax +https://bugs.webkit.org/show_bug.cgi?id=222711 + + +Reviewed by Alan Bujtas. + +* TestExpectations: Unskipped a test that is passing now. + 2021-05-04 Antoine Quint REGRESSION (r260360): animation-wide timing function does not apply to 2-keyframe transform Web Animation Modified: trunk/LayoutTests/TestExpectations (276970 => 276971) --- trunk/LayoutTests/TestExpectations 2021-05-04 18:14:48 UTC (rev 276970) +++ trunk/LayoutTests/TestExpectations 2021-05-04 18:19:43 UTC (rev 276971) @@ -3946,9 +3946,6 @@ # Painting order in flexbox webkit.org/b/221482 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-paint-ordering-002.xhtml [ ImageOnlyFailure ] -# Test ASSERTing in Debug. -webkit.org/b/222711 [ Debug ] imported/w3c/web-platform-tests/css/css-flexbox/frameset-crash.html [ Skip ] - # Newly imported Canvas WPT tests that are failing. imported/w3c/web-platform-tests/html/canvas/element/building-paths/canvas_complexshapes_arcto_001.htm [ ImageOnlyFailure Pass ] imported/w3c/web-platform-tests/html/canvas/element/drawing-images-to-the-canvas/2d.drawImage.broken.html [ Failure Pass ] Modified: trunk/Source/WebCore/ChangeLog (276970 => 276971) --- trunk/Source/WebCore/ChangeLog 2021-05-04 18:14:48 UTC (rev 276970) +++ trunk/Source/WebCore/ChangeLog 2021-05-04 18:19:43 UTC (rev 276971) @@ -1,3 +1,21 @@ +2021-05-04 Sergio Villar Senin + +ASSERTION FAILED: contentSize >= 0 in WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax +https://bugs.webkit.org/show_bug.cgi?id=222711 + + +Reviewed by Alan Bujtas. + +Flexbox code was computing negative content sizes for FrameSet children because RenderFrameSet lacked +a implementation of computePreferredLogicalWidths(). Added basic preferred width computation +to RenderBox so that FrameSet and any other potential new RenderBox child could benefit from it. + +* rendering/RenderBox.cpp: +(WebCore::RenderBox::computePreferredLogicalWidths): Added a basic implementation that calls +computePreferredLogicalWidths(minWidth,maxWidth,borderAndPadding) and clears the flag. +* rendering/RenderBox.h: +(WebCore::RenderBox::computePreferredLogicalWidths): Deleted default implementation. + 2021-05-04 Antoine Quint REGRESSION (r260360): animation-wide timing function does not apply to 2-keyframe transform Web Animation Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (276970 => 276971) --- trunk/Source/WebCore/rendering/RenderBox.cpp 2021-05-04 18:14:48 UTC (rev 276970) +++ trunk/Source/WebCore/rendering/RenderBox.cpp 2021-05-04 18:19:43 UTC (rev 276971) @@ -3223,6 +3223,14 @@ #endif } +void RenderBox::computePreferredLogicalWidths() +{ +ASSERT(preferredLogicalWidthsDirty()); + +computePreferredLogicalWidths(style().logicalMinWidth(), style().logicalMaxWidth(), borderAndPaddingLogicalWidth()); +setPreferredLogicalWidthsDirty(false); +} + void RenderBox::computePreferredLogicalWidths(const Length& minWidth, const Length& maxWidth, LayoutUnit borderAndPadding) { if (shouldComputeLogicalHeightFromAspectRatio()) { Modified: trunk/Source/WebCore/rendering/RenderBox.h (276970 => 276971) --- trunk/Source/WebCore/rendering/RenderBox.h 2021-05-04 18:14:48 UTC (rev 276970) +++ trunk/Source/WebCore/rendering/RenderBox.h 2021-05-04 18:19:43 UTC (rev
[webkit-changes] [276957] trunk/LayoutTests
Title: [276957] trunk/LayoutTests Revision 276957 Author svil...@igalia.com Date 2021-05-04 08:02:03 -0700 (Tue, 04 May 2021) Log Message Unreviewed, unskipped a test which works fine. * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (276956 => 276957) --- trunk/LayoutTests/ChangeLog 2021-05-04 14:26:57 UTC (rev 276956) +++ trunk/LayoutTests/ChangeLog 2021-05-04 15:02:03 UTC (rev 276957) @@ -1,3 +1,9 @@ +2021-05-04 Sergio Villar Senin + +Unreviewed, unskipped a test which works fine. + +* TestExpectations: + 2021-05-04 Philippe Normand Unreviewed, fix-up bug URL after r276955 Modified: trunk/LayoutTests/TestExpectations (276956 => 276957) --- trunk/LayoutTests/TestExpectations 2021-05-04 14:26:57 UTC (rev 276956) +++ trunk/LayoutTests/TestExpectations 2021-05-04 15:02:03 UTC (rev 276957) @@ -3816,7 +3816,6 @@ webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-012.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-015.html [ ImageOnlyFailure ] -webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-017.html [ Failure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-007.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-010.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013.html [ ImageOnlyFailure ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [276835] trunk
Title: [276835] trunk Revision 276835 Author svil...@igalia.com Date 2021-04-30 04:46:09 -0700 (Fri, 30 Apr 2021) Log Message Nullopt in RenderFlexibleBox::layoutFlexItems in RenderFlexibleBox::layoutBlock via RenderMultiColumnFlow::layout https://bugs.webkit.org/show_bug.cgi?id=223369 Reviewed by Alan Bujtas. LayoutTests/imported/w3c: Imported a test from WPT covering this issue. * web-platform-tests/css/css-flexbox/percentage-padding-002-expected.html: Added. * web-platform-tests/css/css-flexbox/percentage-padding-002.html: Added. * web-platform-tests/css/css-flexbox/w3c-import.log: Source/WebCore: When computing the main axis extent of a flex item being the main axis also the child's inline axis and the inline size of the child is auto, we can directly use the min/maxPreferredLogicalWidths instead of having to call computeLogicalWidthInFragmentUsing(). However we cannot use it straigth away without checking needsPreferredWidthsRecalculation() first, otherwise the cached preferred width might be no longer valid. The cached preferred width includes both border and padding. If any of those are percentages, and thus depend on the size of the containing block, we could end up using obsolete values. This was making us hit an assertion because the content size suggestion was negative. That's because in order to compute the content size we were substracting the current borderAndPadding() to the value returned by minPreferredLogicalWidth(). But the current borderAndPadding() might be larger than the one used to compute the preferred width before (they must be the same to properly extract the content size) so the content size ended up being negative. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::computeMainAxisExtentForChild): (WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax): Constness adjustments. (WebCore::RenderFlexibleBox::resolveFlexibleLengths): Ditto. * rendering/RenderFlexibleBox.h: Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/w3c-import.log trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp trunk/Source/WebCore/rendering/RenderFlexibleBox.h Added Paths trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/percentage-padding-002-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/percentage-padding-002.html Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (276834 => 276835) --- trunk/LayoutTests/imported/w3c/ChangeLog 2021-04-30 07:18:28 UTC (rev 276834) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2021-04-30 11:46:09 UTC (rev 276835) @@ -1,3 +1,16 @@ +2021-04-30 Sergio Villar Senin + +Nullopt in RenderFlexibleBox::layoutFlexItems in RenderFlexibleBox::layoutBlock via RenderMultiColumnFlow::layout +https://bugs.webkit.org/show_bug.cgi?id=223369 + +Reviewed by Alan Bujtas. + +Imported a test from WPT covering this issue. + +* web-platform-tests/css/css-flexbox/percentage-padding-002-expected.html: Added. +* web-platform-tests/css/css-flexbox/percentage-padding-002.html: Added. +* web-platform-tests/css/css-flexbox/w3c-import.log: + 2021-04-29 Sam Weinig Add support for CanvasRenderingContext2DSettings Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/percentage-padding-002-expected.html (0 => 276835) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/percentage-padding-002-expected.html (rev 0) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/percentage-padding-002-expected.html 2021-04-30 11:46:09 UTC (rev 276835) @@ -0,0 +1,18 @@ + + +div { +width: 50px; +height: 50px; +} +span { +display: block; +border: 5px solid black; +} + +Test passes if there is a white square inside a 10x30 white box. + + + + + Property changes on: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/percentage-padding-002-expected.html ___ Added: svn:eol-style +LF \ No newline at end of property Added: svn:mime-type +text/html \ No newline at end of property Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/percentage-padding-002.html (0 => 276835) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/percentage-padding-002.html (rev 0) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/percentage-padding-002.html 2021-04-30 11:46:09 UTC (rev 276835) @@ -0,0 +1,21 @@ + +This test checks that percentage paddings do not lead to flex items with negative sizes. + + +div { +width: 50px; +height: 50px; +} +span { +display: inline-flex; +border: 5px solid black; +} + +Test passes if there is a white square inside a 10x30 white box. + + + + +
[webkit-changes] [276690] trunk/LayoutTests
Title: [276690] trunk/LayoutTests Revision 276690 Author svil...@igalia.com Date 2021-04-27 21:50:39 -0700 (Tue, 27 Apr 2021) Log Message [css-flexbox] Fix expectations of a WPT test that works fine https://bugs.webkit.org/show_bug.cgi?id=225097 Reviewed by Manuel Rego Casasnovas. LayoutTests/imported/w3c: * web-platform-tests/css/css-flexbox/css-flexbox-img-expand-evenly-expected.html: Fixed the paths of some images that were not properly converted during import. LayoutTests: * TestExpectations: Unskipped a test that works fine now. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/css-flexbox-img-expand-evenly-expected.html Diff Modified: trunk/LayoutTests/ChangeLog (276689 => 276690) --- trunk/LayoutTests/ChangeLog 2021-04-28 04:43:38 UTC (rev 276689) +++ trunk/LayoutTests/ChangeLog 2021-04-28 04:50:39 UTC (rev 276690) @@ -1,3 +1,12 @@ +2021-04-27 Sergio Villar Senin + +[css-flexbox] Fix expectations of a WPT test that works fine +https://bugs.webkit.org/show_bug.cgi?id=225097 + +Reviewed by Manuel Rego Casasnovas. + +* TestExpectations: Unskipped a test that works fine now. + 2021-04-27 Chris Dumez Improve local storage size estimation for quota limitation Modified: trunk/LayoutTests/TestExpectations (276689 => 276690) --- trunk/LayoutTests/TestExpectations 2021-04-28 04:43:38 UTC (rev 276689) +++ trunk/LayoutTests/TestExpectations 2021-04-28 04:50:39 UTC (rev 276690) @@ -1196,7 +1196,6 @@ webkit.org/b/136754 css3/flexbox/csswg/ttwf-reftest-flex-wrap-reverse.html [ ImageOnlyFailure ] webkit.org/b/136754 css3/flexbox/csswg/ttwf-reftest-flex-wrap.html [ ImageOnlyFailure ] webkit.org/b/136754 imported/w3c/web-platform-tests/css/css-flexbox/canvas-dynamic-change-001.html [ Failure ] -webkit.org/b/136754 imported/w3c/web-platform-tests/css/css-flexbox/css-flexbox-img-expand-evenly.html [ ImageOnlyFailure ] webkit.org/b/136754 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-015.html [ ImageOnlyFailure ] webkit.org/b/136754 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-safe-overflow-position-001.html [ ImageOnlyFailure ] webkit.org/b/136754 imported/w3c/web-platform-tests/css/css-flexbox/percentage-max-height-002.html [ ImageOnlyFailure ] Modified: trunk/LayoutTests/imported/w3c/ChangeLog (276689 => 276690) --- trunk/LayoutTests/imported/w3c/ChangeLog 2021-04-28 04:43:38 UTC (rev 276689) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2021-04-28 04:50:39 UTC (rev 276690) @@ -1,3 +1,13 @@ +2021-04-27 Sergio Villar Senin + +[css-flexbox] Fix expectations of a WPT test that works fine +https://bugs.webkit.org/show_bug.cgi?id=225097 + +Reviewed by Manuel Rego Casasnovas. + +* web-platform-tests/css/css-flexbox/css-flexbox-img-expand-evenly-expected.html: +Fixed the paths of some images that were not properly converted during import. + 2021-04-27 Cameron McCormack Associate a picture element with an img only if the img is a direct child. Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/css-flexbox-img-expand-evenly-expected.html (276689 => 276690) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/css-flexbox-img-expand-evenly-expected.html 2021-04-28 04:43:38 UTC (rev 276689) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/css-flexbox-img-expand-evenly-expected.html 2021-04-28 04:50:39 UTC (rev 276690) @@ -28,7 +28,7 @@ - + ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [276634] trunk
Title: [276634] trunk Revision 276634 Author svil...@igalia.com Date 2021-04-27 03:15:02 -0700 (Tue, 27 Apr 2021) Log Message [css-flexbox] percent children don't resolve against the flex basis on a fully inflexible item with fixed flex-basis https://bugs.webkit.org/show_bug.cgi?id=210478 Reviewed by Darin Adler. Source/WebCore: Flexbox spec defines some additional cases where sizes could be considered definite despite they are actually indefinite. One of those cases is whenever we have a fully inflexible item with a definite flex-basis. In that case we should allow desdendants of flex item to resolve against the post-flexing size of the flex item which is basically the value of the definite flex-basis. Note that in the majority of cases those percentages are resolved before flexing the item and not recomputed after that. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::useChildOverridingMainSizeForPercentageResolution): let descendants of fully inflexible flex items with definite flex-basis to resolve against the post-flexing size. Also added some documentation because that part of the code is far from obvious for the casual reader. LayoutTests: * TestExpectations: Unskipped a couple of tests that are passing now. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp Diff Modified: trunk/LayoutTests/ChangeLog (276633 => 276634) --- trunk/LayoutTests/ChangeLog 2021-04-27 10:04:18 UTC (rev 276633) +++ trunk/LayoutTests/ChangeLog 2021-04-27 10:15:02 UTC (rev 276634) @@ -1,3 +1,12 @@ +2021-04-21 Sergio Villar Senin + +[css-flexbox] percent children don't resolve against the flex basis on a fully inflexible item with fixed flex-basis +https://bugs.webkit.org/show_bug.cgi?id=210478 + +Reviewed by Darin Adler. + +* TestExpectations: Unskipped a couple of tests that are passing now. + 2021-04-27 Rob Buis Check globalObject for null Modified: trunk/LayoutTests/TestExpectations (276633 => 276634) --- trunk/LayoutTests/TestExpectations 2021-04-27 10:04:18 UTC (rev 276633) +++ trunk/LayoutTests/TestExpectations 2021-04-27 10:15:02 UTC (rev 276634) @@ -3909,11 +3909,9 @@ webkit.org/b/145176 imported/w3c/web-platform-tests/css/css-flexbox/flexbox_align-items-stretch-3.html [ ImageOnlyFailure ] webkit.org/b/210093 imported/w3c/web-platform-tests/css/css-flexbox/select-element-zero-height-002.html [ ImageOnlyFailure ] webkit.org/b/210144 imported/w3c/web-platform-tests/css/css-flexbox/anonymous-flex-item-005.html [ ImageOnlyFailure ] -webkit.org/b/210478 imported/w3c/web-platform-tests/css/css-flexbox/percentage-heights-006.html [ ImageOnlyFailure ] webkit.org/b/212046 imported/w3c/web-platform-tests/css/css-flexbox/overflow-area-001.html [ ImageOnlyFailure ] webkit.org/b/212046 imported/w3c/web-platform-tests/css/css-flexbox/overflow-area-002.html [ ImageOnlyFailure ] webkit.org/b/212046 imported/w3c/web-platform-tests/css/css-flexbox/overflow-auto-005.html [ ImageOnlyFailure ] -webkit.org/b/212046 imported/w3c/web-platform-tests/css/css-flexbox/percentage-heights-007.html [ ImageOnlyFailure ] webkit.org/b/212046 imported/w3c/web-platform-tests/css/css-flexbox/percentage-heights-014.html [ ImageOnlyFailure ] webkit.org/b/212046 imported/w3c/web-platform-tests/css/css-flexbox/scrollbars-auto.html [ ImageOnlyFailure ] webkit.org/b/212046 imported/w3c/web-platform-tests/css/css-flexbox/scrollbars.html [ ImageOnlyFailure ] Modified: trunk/Source/WebCore/ChangeLog (276633 => 276634) --- trunk/Source/WebCore/ChangeLog 2021-04-27 10:04:18 UTC (rev 276633) +++ trunk/Source/WebCore/ChangeLog 2021-04-27 10:15:02 UTC (rev 276634) @@ -1,3 +1,21 @@ +2021-04-21 Sergio Villar Senin + +[css-flexbox] percent children don't resolve against the flex basis on a fully inflexible item with fixed flex-basis +https://bugs.webkit.org/show_bug.cgi?id=210478 + +Reviewed by Darin Adler. + +Flexbox spec defines some additional cases where sizes could be considered definite despite they are +actually indefinite. One of those cases is whenever we have a fully inflexible item with a definite +flex-basis. In that case we should allow desdendants of flex item to resolve against the post-flexing +size of the flex item which is basically the value of the definite flex-basis. Note that in the majority +of cases those percentages are resolved before flexing the item and not recomputed after that. + +* rendering/RenderFlexibleBox.cpp: +(WebCore::RenderFlexibleBox::useChildOverridingMainSizeForPercentageResolution): let descendants of +fully inflexible flex items with definite flex-basis to resolve against the post-flexing size. Also added +some documentation because that part of the code is far from obvious for the casual reader. + 2021-04-27 Youenn
[webkit-changes] [276492] trunk/Source/WebCore
Title: [276492] trunk/Source/WebCore Revision 276492 Author svil...@igalia.com Date 2021-04-23 02:43:09 -0700 (Fri, 23 Apr 2021) Log Message Do not set synchronous scrolling for layers without relevant scrolling scopes https://bugs.webkit.org/show_bug.cgi?id=221383 Reviewed by Simon Fraser. Fixed backgrounds could force the layer compositor to set synchronous scrolling because they're slow to repaint. However that cannot be done if the layer's boxScrollingScope hasn't been previously updated in RenderLayer::updateLayerPosition. * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateSynchronousScrollingNodes): Do not call setSynchronousScrollingReasons() if there is no scrollingScope. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (276491 => 276492) --- trunk/Source/WebCore/ChangeLog 2021-04-23 09:23:04 UTC (rev 276491) +++ trunk/Source/WebCore/ChangeLog 2021-04-23 09:43:09 UTC (rev 276492) @@ -1,3 +1,18 @@ +2021-04-22 Sergio Villar Senin + +Do not set synchronous scrolling for layers without relevant scrolling scopes +https://bugs.webkit.org/show_bug.cgi?id=221383 + +Reviewed by Simon Fraser. + +Fixed backgrounds could force the layer compositor to set synchronous scrolling because they're slow +to repaint. However that cannot be done if the layer's boxScrollingScope hasn't been previously updated +in RenderLayer::updateLayerPosition. + +* rendering/RenderLayerCompositor.cpp: +(WebCore::RenderLayerCompositor::updateSynchronousScrollingNodes): Do not call +setSynchronousScrollingReasons() if there is no scrollingScope. + 2021-04-23 Philippe Normand [LibWebRTC][WPE][GTK] Enable vp9 and NO_MAIN_THREAD_WRAPPING Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp (276491 => 276492) --- trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp 2021-04-23 09:23:04 UTC (rev 276491) +++ trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp 2021-04-23 09:43:09 UTC (rev 276492) @@ -4948,8 +4948,7 @@ if (!layer) continue; -auto scrollingScope = relevantScrollingScope(renderer, *layer); -if (scrollingScope != rootScrollingScope) { +if (auto scrollingScope = relevantScrollingScope(renderer, *layer); scrollingScope && scrollingScope != rootScrollingScope) { auto enclosingScrollingNodeID = asyncScrollableContainerNodeID(renderer); ASSERT(enclosingScrollingNodeID); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [276110] trunk/Source/WebCore
Title: [276110] trunk/Source/WebCore Revision 276110 Author svil...@igalia.com Date 2021-04-15 20:46:46 -0700 (Thu, 15 Apr 2021) Log Message Assertion failure in SVGAnimationElement::currentValuesForValuesAnimation https://bugs.webkit.org/show_bug.cgi?id=222715 Reviewed by Ryosuke Niwa. Replaced ASSERT_WITH_SECURITY_IMPLICATION by ASSERT. It was added by mistake as part of r157341 long time ago. There is no security implication because just after the assert there would be a division by 0 followed by a crash. * svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::currentValuesForValuesAnimation): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/svg/SVGAnimationElement.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (276109 => 276110) --- trunk/Source/WebCore/ChangeLog 2021-04-16 02:46:59 UTC (rev 276109) +++ trunk/Source/WebCore/ChangeLog 2021-04-16 03:46:46 UTC (rev 276110) @@ -1,3 +1,17 @@ +2021-04-15 Sergio Villar Senin + +Assertion failure in SVGAnimationElement::currentValuesForValuesAnimation +https://bugs.webkit.org/show_bug.cgi?id=222715 + +Reviewed by Ryosuke Niwa. + +Replaced ASSERT_WITH_SECURITY_IMPLICATION by ASSERT. It was added by mistake as part of +r157341 long time ago. There is no security implication because just after the assert +there would be a division by 0 followed by a crash. + +* svg/SVGAnimationElement.cpp: +(WebCore::SVGAnimationElement::currentValuesForValuesAnimation): + 2021-04-15 Peng Liu [GPUP] WebContent process should not create AVOutputContext instances when media in GPU Process is enabled Modified: trunk/Source/WebCore/svg/SVGAnimationElement.cpp (276109 => 276110) --- trunk/Source/WebCore/svg/SVGAnimationElement.cpp 2021-04-16 02:46:59 UTC (rev 276109) +++ trunk/Source/WebCore/svg/SVGAnimationElement.cpp 2021-04-16 03:46:46 UTC (rev 276110) @@ -505,7 +505,7 @@ --index; from = m_values[index]; to = m_values[index + 1]; -ASSERT_WITH_SECURITY_IMPLICATION(toPercent > fromPercent); +ASSERT(toPercent > fromPercent); effectivePercent = (percent - fromPercent) / (toPercent - fromPercent); if (calcMode == CalcMode::Spline) { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [276015] trunk/Source/WebCore
Title: [276015] trunk/Source/WebCore Revision 276015 Author svil...@igalia.com Date 2021-04-15 03:59:18 -0700 (Thu, 15 Apr 2021) Log Message Empty value is added in codePointsFromString in CSSFontFaceSet::matchingFacesExcludingPreinstalledFonts https://bugs.webkit.org/show_bug.cgi?id=223857 Reviewed by Darin Adler. Use UnsignedWithZeroKeyHashTraits in codePointsFromString() to avoid it. * css/CSSFontFaceSet.cpp: (WebCore::codePointsFromString): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/CSSFontFaceSet.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (276014 => 276015) --- trunk/Source/WebCore/ChangeLog 2021-04-15 10:07:42 UTC (rev 276014) +++ trunk/Source/WebCore/ChangeLog 2021-04-15 10:59:18 UTC (rev 276015) @@ -1,3 +1,15 @@ +2021-04-09 Sergio Villar Senin + +Empty value is added in codePointsFromString in CSSFontFaceSet::matchingFacesExcludingPreinstalledFonts +https://bugs.webkit.org/show_bug.cgi?id=223857 + +Reviewed by Darin Adler. + +Use UnsignedWithZeroKeyHashTraits in codePointsFromString() to avoid it. + +* css/CSSFontFaceSet.cpp: +(WebCore::codePointsFromString): + 2021-04-15 Zalan Bujtas [RenderTreeBuilder] Cleanup the inline tree when moving subtrees Modified: trunk/Source/WebCore/css/CSSFontFaceSet.cpp (276014 => 276015) --- trunk/Source/WebCore/css/CSSFontFaceSet.cpp 2021-04-15 10:07:42 UTC (rev 276014) +++ trunk/Source/WebCore/css/CSSFontFaceSet.cpp 2021-04-15 10:59:18 UTC (rev 276015) @@ -330,9 +330,10 @@ return {{ weightSelectionValue, stretchSelectionValue, styleSelectionValue }}; } -static HashSet codePointsFromString(StringView stringView) +using CodePointsMap = HashSet, WTF::UnsignedWithZeroKeyHashTraits>; +static CodePointsMap codePointsFromString(StringView stringView) { -HashSet result; +CodePointsMap result; auto graphemeClusters = stringView.graphemeClusters(); for (auto cluster : graphemeClusters) { ASSERT(cluster.length() > 0); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [275873] trunk
Title: [275873] trunk Revision 275873 Author svil...@igalia.com Date 2021-04-13 02:14:23 -0700 (Tue, 13 Apr 2021) Log Message [css-flexbox] CDC COVID Vaccine Tracker: Safari garbles data table https://bugs.webkit.org/show_bug.cgi?id=222581 Reviewed by Zalan Bujtas. PerformanceTests: * Layout/nested-flexboxes-percentage-flex-basis.html: Added. Source/WebCore: With nested flexboxes in which the flex-basis is a percentage the current code that stretches the item forces a relayout of the children because it thinks it has percentage height descendants. That happens because we call computePercentageLogicalHeights() with a mock percentage length to check whether a size is definite and that call performs the addPercentageHeightDescendants() call. We should avoid calling the latter in those cases as we're just trying to figure out whether we can compute the flex-basis used value or not. Adding a new parameter to the aforementioned method so that the percentage height descendants map could be left untouched in those cases where we just want to test size definiteness. Apart from making the implementation more correct this brings some performance improvements for the cases described in the first paragraph as it can be seen in the provided performance test (24.5% of improvement). * rendering/RenderBox.cpp: (WebCore::RenderBox::computePercentageLogicalHeight const): * rendering/RenderBox.h: * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::canComputePercentageFlexBasis const): (WebCore::RenderFlexibleBox::childMainSizeIsDefinite const): (WebCore::RenderFlexibleBox::useChildOverridingMainSizeForPercentageResolution): * rendering/RenderFlexibleBox.h: LayoutTests: * TestExpectations: Unskipped a WPT test which is now passing. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/PerformanceTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderBox.cpp trunk/Source/WebCore/rendering/RenderBox.h trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp trunk/Source/WebCore/rendering/RenderFlexibleBox.h Added Paths trunk/PerformanceTests/Layout/nested-flexboxes-percentage-flex-basis.html Diff Modified: trunk/LayoutTests/ChangeLog (275872 => 275873) --- trunk/LayoutTests/ChangeLog 2021-04-13 09:05:44 UTC (rev 275872) +++ trunk/LayoutTests/ChangeLog 2021-04-13 09:14:23 UTC (rev 275873) @@ -1,3 +1,12 @@ +2021-04-12 Sergio Villar Senin + +[css-flexbox] CDC COVID Vaccine Tracker: Safari garbles data table +https://bugs.webkit.org/show_bug.cgi?id=222581 + +Reviewed by Zalan Bujtas. + +* TestExpectations: Unskipped a WPT test which is now passing. + 2021-04-13 Antoine Quint calc() simplification for a multiplication should apply the multiplication to each value of an addition Modified: trunk/LayoutTests/TestExpectations (275872 => 275873) --- trunk/LayoutTests/TestExpectations 2021-04-13 09:05:44 UTC (rev 275872) +++ trunk/LayoutTests/TestExpectations 2021-04-13 09:14:23 UTC (rev 275873) @@ -4018,9 +4018,6 @@ webkit.org/b/221479 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-flex-basis-content-003a.html [ ImageOnlyFailure ] webkit.org/b/221479 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-flex-basis-content-004a.html [ ImageOnlyFailure ] -# Percentages in flex-basis in nested flexboxes. -webkit.org/b/222581 imported/w3c/web-platform-tests/css/css-flexbox/flex-basis-011.html [ ImageOnlyFailure ] - # break request in flexbox. webkit.org/b/221480 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-break-request-horiz-001a.html [ ImageOnlyFailure ] webkit.org/b/221480 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-break-request-horiz-001b.html [ ImageOnlyFailure ] Modified: trunk/PerformanceTests/ChangeLog (275872 => 275873) --- trunk/PerformanceTests/ChangeLog 2021-04-13 09:05:44 UTC (rev 275872) +++ trunk/PerformanceTests/ChangeLog 2021-04-13 09:14:23 UTC (rev 275873) @@ -1,3 +1,12 @@ +2021-04-12 Sergio Villar Senin + +[css-flexbox] CDC COVID Vaccine Tracker: Safari garbles data table +https://bugs.webkit.org/show_bug.cgi?id=222581 + +Reviewed by Zalan Bujtas. + +* Layout/nested-flexboxes-percentage-flex-basis.html: Added. + 2021-03-17 Myles C. Maxfield Laying out complex text in columns is O(n^2) Added: trunk/PerformanceTests/Layout/nested-flexboxes-percentage-flex-basis.html (0 => 275873) --- trunk/PerformanceTests/Layout/nested-flexboxes-percentage-flex-basis.html (rev 0) +++ trunk/PerformanceTests/Layout/nested-flexboxes-percentage-flex-basis.html 2021-04-13 09:14:23 UTC (rev 275873) @@ -0,0 +1,46 @@ + + + +.flex { +display: flex; +flex: 1 0 100%; +} +.col { flex-direction: column; } +.row { flex-direction: row; } + + +function startTest() { +document.body.offsetHeight; + +var index = 0; +PerfTestRunner.measureRunsPerSecond({run: function() { +
[webkit-changes] [275495] trunk/Source/WebCore
Title: [275495] trunk/Source/WebCore Revision 275495 Author svil...@igalia.com Date 2021-04-06 01:39:45 -0700 (Tue, 06 Apr 2021) Log Message [css-grid] Initialize auto-repeat data in RenderStyle in applyInitialGridTemplate{Columns|Rows} https://bugs.webkit.org/show_bug.cgi?id=222852 Reviewed by Antti Koivisto. We should initialize the auto repeat data (like auto repeat tracks or the insertion point) whenever applyInitialGridTemplateXXX is called. That method is normally called using different RenderStyle's but under some circumstances it might be the same. For those cases we wouldn't like to end up with obsolete data from a previous style resolution. The same applies also to the applyInheritGridTemplateXXX calls. We're also removing a duplicate call to setGridAutoRepeat{Row|Column}sInsertionPoint() that is not needed at all. In order to have a single place with all the style properties affecting columns and rows, all the set calls were moved to a macro that is used by all the apply{Initial|Inherit}GridTemplate{Columns|Rows} methods. This would allow us to prevent eventual out-of-sync issues like this one. * style/StyleBuilderCustom.h: (WebCore::Style::BuilderCustom::applyInitialGridTemplateColumns): (WebCore::Style::BuilderCustom::applyInheritGridTemplateColumns): (WebCore::Style::BuilderCustom::applyInitialGridTemplateRows): (WebCore::Style::BuilderCustom::applyInheritGridTemplateRows): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/style/StyleBuilderCustom.h Diff Modified: trunk/Source/WebCore/ChangeLog (275494 => 275495) --- trunk/Source/WebCore/ChangeLog 2021-04-06 08:37:33 UTC (rev 275494) +++ trunk/Source/WebCore/ChangeLog 2021-04-06 08:39:45 UTC (rev 275495) @@ -1,3 +1,28 @@ +2021-03-24 Sergio Villar Senin + +[css-grid] Initialize auto-repeat data in RenderStyle in applyInitialGridTemplate{Columns|Rows} +https://bugs.webkit.org/show_bug.cgi?id=222852 + +Reviewed by Antti Koivisto. + +We should initialize the auto repeat data (like auto repeat tracks or the insertion point) whenever +applyInitialGridTemplateXXX is called. That method is normally called using different RenderStyle's +but under some circumstances it might be the same. For those cases we wouldn't like to end up with +obsolete data from a previous style resolution. + +The same applies also to the applyInheritGridTemplateXXX calls. We're also removing a duplicate call +to setGridAutoRepeat{Row|Column}sInsertionPoint() that is not needed at all. + +In order to have a single place with all the style properties affecting columns and rows, all the set +calls were moved to a macro that is used by all the apply{Initial|Inherit}GridTemplate{Columns|Rows} +methods. This would allow us to prevent eventual out-of-sync issues like this one. + +* style/StyleBuilderCustom.h: +(WebCore::Style::BuilderCustom::applyInitialGridTemplateColumns): +(WebCore::Style::BuilderCustom::applyInheritGridTemplateColumns): +(WebCore::Style::BuilderCustom::applyInitialGridTemplateRows): +(WebCore::Style::BuilderCustom::applyInheritGridTemplateRows): + 2021-04-06 Rob Buis Move synthesizedBaselineFromBorderBox to RenderBox Modified: trunk/Source/WebCore/style/StyleBuilderCustom.h (275494 => 275495) --- trunk/Source/WebCore/style/StyleBuilderCustom.h 2021-04-06 08:37:33 UTC (rev 275494) +++ trunk/Source/WebCore/style/StyleBuilderCustom.h 2021-04-06 08:39:45 UTC (rev 275495) @@ -1894,31 +1894,38 @@ builderState.style().setNamedGridAreaColumnCount(gridTemplateAreasValue.columnCount()); } +#define SET_TRACKS_DATA_INTERNAL(tracksData, style, parentStyle, TrackType) \ +ASSERT(tracksData || parentStyle); \ +style.setGrid##TrackType##s(tracksData ? tracksData->m_trackSizes : parentStyle->grid##TrackType##s()); \ +style.setNamedGrid##TrackType##Lines(tracksData ? tracksData->m_namedGridLines : parentStyle->namedGrid##TrackType##Lines()); \ +style.setOrderedNamedGrid##TrackType##Lines(tracksData ? tracksData->m_orderedNamedGridLines : parentStyle->orderedNamedGrid##TrackType##Lines()); \ +style.setGridAutoRepeat##TrackType##s(tracksData ? tracksData->m_autoRepeatTrackSizes : parentStyle->gridAutoRepeat##TrackType##s()); \ +style.setGridAutoRepeat##TrackType##sInsertionPoint(tracksData ? tracksData->m_autoRepeatInsertionPoint : parentStyle->gridAutoRepeat##TrackType##sInsertionPoint()); \ +style.setAutoRepeatNamedGrid##TrackType##Lines(tracksData ? tracksData->m_autoRepeatNamedGridLines : parentStyle->autoRepeatNamedGrid##TrackType##Lines()); \ +style.setAutoRepeatOrderedNamedGrid##TrackType##Lines(tracksData ? tracksData->m_autoRepeatOrderedNamedGridLines : parentStyle->autoRepeatOrderedNamedGrid##TrackType##Lines()); \ +style.setGridAutoRepeat##TrackType##sType(tracksData ? tracksData->m_autoRepeatType :
[webkit-changes] [275416] trunk/LayoutTests
Title: [275416] trunk/LayoutTests Revision 275416 Author svil...@igalia.com Date 2021-04-02 03:59:39 -0700 (Fri, 02 Apr 2021) Log Message [css-flexbox] align-content issues https://bugs.webkit.org/show_bug.cgi?id=221468 Reviewed by Ryosuke Niwa. LayoutTests/imported/w3c: * web-platform-tests/css/css-flexbox/align-content_center-expected.html: Fixed stylesheet link. * web-platform-tests/css/css-flexbox/align-content_flex-end-expected.html: Ditto. * web-platform-tests/css/css-flexbox/align-content_space-around-expected.html: Ditto. * web-platform-tests/css/css-flexbox/align-content_stretch-expected.html: Ditto. LayoutTests: Fix the relative path to a stylesheet in 4 expected results. The tests were working as expected but the expected results were wrong without those CSS rules. * TestExpectations: Unskip 4 tests that should be passing now. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content_center-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content_flex-end-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content_space-around-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content_stretch-expected.html Diff Modified: trunk/LayoutTests/ChangeLog (275415 => 275416) --- trunk/LayoutTests/ChangeLog 2021-04-02 10:44:16 UTC (rev 275415) +++ trunk/LayoutTests/ChangeLog 2021-04-02 10:59:39 UTC (rev 275416) @@ -1,3 +1,15 @@ +2021-04-02 Sergio Villar Senin + +[css-flexbox] align-content issues +https://bugs.webkit.org/show_bug.cgi?id=221468 + +Reviewed by Ryosuke Niwa. + +Fix the relative path to a stylesheet in 4 expected results. The tests were working as expected +but the expected results were wrong without those CSS rules. + +* TestExpectations: Unskip 4 tests that should be passing now. + 2021-04-02 Philippe Normand REGRESSION(r268176): [GStreamer] media/video-orientation-canvas.html fails Modified: trunk/LayoutTests/TestExpectations (275415 => 275416) --- trunk/LayoutTests/TestExpectations 2021-04-02 10:44:16 UTC (rev 275415) +++ trunk/LayoutTests/TestExpectations 2021-04-02 10:59:39 UTC (rev 275416) @@ -4003,11 +4003,6 @@ webkit.org/b/221477 imported/w3c/web-platform-tests/css/css-flexbox/flexbox_justifycontent-start.html [ ImageOnlyFailure ] webkit.org/b/221477 imported/w3c/web-platform-tests/css/css-flexbox/flexbox_justifycontent-start-rtl.html [ ImageOnlyFailure ] -# align-content in flexbox. -webkit.org/b/221468 imported/w3c/web-platform-tests/css/css-flexbox/align-content_center.html [ ImageOnlyFailure ] -webkit.org/b/221468 imported/w3c/web-platform-tests/css/css-flexbox/align-content_flex-end.html [ ImageOnlyFailure ] -webkit.org/b/221468 imported/w3c/web-platform-tests/css/css-flexbox/align-content_space-around.html [ ImageOnlyFailure ] -webkit.org/b/221468 imported/w3c/web-platform-tests/css/css-flexbox/align-content_stretch.html [ ImageOnlyFailure ] webkit.org/b/221468 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-align-self-horiz-002.xhtml [ ImageOnlyFailure ] webkit.org/b/221468 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-align-self-vert-002.xhtml [ ImageOnlyFailure ] Modified: trunk/LayoutTests/imported/w3c/ChangeLog (275415 => 275416) --- trunk/LayoutTests/imported/w3c/ChangeLog 2021-04-02 10:44:16 UTC (rev 275415) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2021-04-02 10:59:39 UTC (rev 275416) @@ -1,3 +1,15 @@ +2021-04-02 Sergio Villar Senin + +[css-flexbox] align-content issues +https://bugs.webkit.org/show_bug.cgi?id=221468 + +Reviewed by Ryosuke Niwa. + +* web-platform-tests/css/css-flexbox/align-content_center-expected.html: Fixed stylesheet link. +* web-platform-tests/css/css-flexbox/align-content_flex-end-expected.html: Ditto. +* web-platform-tests/css/css-flexbox/align-content_space-around-expected.html: Ditto. +* web-platform-tests/css/css-flexbox/align-content_stretch-expected.html: Ditto. + 2021-04-01 Rob Buis aspect-ratio not recomputed on hover Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content_center-expected.html (275415 => 275416) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content_center-expected.html 2021-04-02 10:44:16 UTC (rev 275415) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content_center-expected.html 2021-04-02 10:59:39 UTC (rev 275416) @@ -2,7 +2,7 @@ CSS Flexible Box Test: align-content_center -+
[webkit-changes] [274721] trunk/LayoutTests
Title: [274721] trunk/LayoutTests Revision 274721 Author svil...@igalia.com Date 2021-03-19 08:41:02 -0700 (Fri, 19 Mar 2021) Log Message [css-flexbox] Another WPT import https://bugs.webkit.org/show_bug.cgi?id=223438 Reviewed by Manuel Rego Casasnovas. LayoutTests/imported/w3c: * web-platform-tests/css/css-flexbox/flex-basis-011-expected.html: Added. * web-platform-tests/css/css-flexbox/flex-basis-011.html: Added. * web-platform-tests/css/css-flexbox/flexbox_justifycontent-end-expected.html: Added. * web-platform-tests/css/css-flexbox/flexbox_justifycontent-end-rtl-expected.html: Added. * web-platform-tests/css/css-flexbox/flexbox_justifycontent-end-rtl.html: Added. * web-platform-tests/css/css-flexbox/flexbox_justifycontent-end.html: Added. * web-platform-tests/css/css-flexbox/flexbox_justifycontent-start-expected.html: Added. * web-platform-tests/css/css-flexbox/flexbox_justifycontent-start-rtl-expected.html: Added. * web-platform-tests/css/css-flexbox/flexbox_justifycontent-start-rtl.html: Added. * web-platform-tests/css/css-flexbox/flexbox_justifycontent-start.html: Added. * web-platform-tests/css/css-flexbox/select-element-zero-height-001-expected.html: * web-platform-tests/css/css-flexbox/select-element-zero-height-001.html: * web-platform-tests/css/css-flexbox/select-element-zero-height-002-expected.html: * web-platform-tests/css/css-flexbox/select-element-zero-height-002.html: * web-platform-tests/css/css-flexbox/w3c-import.log: LayoutTests: Import latests WPT's css-flexbox tests. Apart from that we're removing an invalid pixel expectations for GTK. * TestExpectations: Skipped some of the imported tests as they're failing right now. Also unskipped the select-element-zero-height-001.html test which should be working now. * platform/gtk/css3/flexbox/flex-order-expected.png: Removed. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/select-element-zero-height-001-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/select-element-zero-height-001.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/select-element-zero-height-002-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/select-element-zero-height-002.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/w3c-import.log Added Paths trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-basis-011-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-basis-011.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox_justifycontent-end-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox_justifycontent-end-rtl-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox_justifycontent-end-rtl.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox_justifycontent-end.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox_justifycontent-start-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox_justifycontent-start-rtl-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox_justifycontent-start-rtl.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox_justifycontent-start.html Removed Paths trunk/LayoutTests/platform/gtk/css3/flexbox/flex-order-expected.png Diff Modified: trunk/LayoutTests/ChangeLog (274720 => 274721) --- trunk/LayoutTests/ChangeLog 2021-03-19 15:23:38 UTC (rev 274720) +++ trunk/LayoutTests/ChangeLog 2021-03-19 15:41:02 UTC (rev 274721) @@ -1,3 +1,18 @@ +2021-03-19 Sergio Villar Senin + +[css-flexbox] Another WPT import +https://bugs.webkit.org/show_bug.cgi?id=223438 + +Reviewed by Manuel Rego Casasnovas. + +Import latests WPT's css-flexbox tests. + +Apart from that we're removing an invalid pixel expectations for GTK. + +* TestExpectations: Skipped some of the imported tests as they're failing right now. Also unskipped the +select-element-zero-height-001.html test which should be working now. +* platform/gtk/css3/flexbox/flex-order-expected.png: Removed. + 2021-03-19 Kimmo Kinnunen Add WebGL 2.0.1 test drivers and test expectations to the repository Modified: trunk/LayoutTests/TestExpectations (274720 => 274721) --- trunk/LayoutTests/TestExpectations 2021-03-19 15:23:38 UTC (rev 274720) +++ trunk/LayoutTests/TestExpectations 2021-03-19 15:41:02 UTC (rev 274721) @@ -3931,7 +3931,6 @@ webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013.html [ ImageOnlyFailure ] webkit.org/b/145176 imported/w3c/web-platform-tests/css/css-flexbox/flexbox_align-items-stretch-3.html [ ImageOnlyFailure ]
[webkit-changes] [274708] trunk/Source/WebCore
Title: [274708] trunk/Source/WebCore Revision 274708 Author svil...@igalia.com Date 2021-03-19 02:14:52 -0700 (Fri, 19 Mar 2021) Log Message [css-flex] Make {main|cross}SizeForPercentageResolution() return booleans instead of actual sizes https://bugs.webkit.org/show_bug.cgi?id=223377 Reviewed by Manuel Rego Casasnovas. These two methods were only called by childLogicalHeightForPercentageResolution() and they either returned WTF::nullopt or the overridingContentLogicalHeight(). We could simplify a bit the code by returning a boolean which means whether the overriding content logical height should be used to resolve a percentage or not. Apart from changing the return value we're also improving the naming so it becomes obvious that we are dealing with flex items and not the flex container. We're also removing some comments in those methods that were not really accurate. No new tests as there is no change in functionality. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::availableLogicalHeightForPercentageComputation const): * rendering/RenderBox.cpp: (WebCore::RenderBox::computeReplacedLogicalHeightUsing const): (WebCore::RenderBox::availableLogicalHeightUsing const): * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::hasAutoHeightOrContainingBlockWithAutoHeight const): * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::useChildOverridingCrossSizeForPercentageResolution): Renamed from crossSizeForPercentageResolution. (WebCore::RenderFlexibleBox::useChildOverridingMainSizeForPercentageResolution): Renamed from mainSizeForPercentageResolution. (WebCore::RenderFlexibleBox::useChildOverridingLogicalHeightForPercentageResolution): Renamed from childLogicalHeightForPercentageResolution. (WebCore::RenderFlexibleBox::crossSizeForPercentageResolution): Deleted. (WebCore::RenderFlexibleBox::mainSizeForPercentageResolution): Deleted. (WebCore::RenderFlexibleBox::childLogicalHeightForPercentageResolution): Deleted. * rendering/RenderFlexibleBox.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderBlock.cpp trunk/Source/WebCore/rendering/RenderBox.cpp trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp trunk/Source/WebCore/rendering/RenderFlexibleBox.h Diff Modified: trunk/Source/WebCore/ChangeLog (274707 => 274708) --- trunk/Source/WebCore/ChangeLog 2021-03-19 09:06:52 UTC (rev 274707) +++ trunk/Source/WebCore/ChangeLog 2021-03-19 09:14:52 UTC (rev 274708) @@ -1,3 +1,36 @@ +2021-03-17 Sergio Villar Senin + +[css-flex] Make {main|cross}SizeForPercentageResolution() return booleans instead of actual sizes +https://bugs.webkit.org/show_bug.cgi?id=223377 + +Reviewed by Manuel Rego Casasnovas. + +These two methods were only called by childLogicalHeightForPercentageResolution() and they either returned +WTF::nullopt or the overridingContentLogicalHeight(). We could simplify a bit the code by returning a boolean +which means whether the overriding content logical height should be used to resolve a percentage or not. Apart +from changing the return value we're also improving the naming so it becomes obvious that we are dealing with +flex items and not the flex container. + +We're also removing some comments in those methods that were not really accurate. + +No new tests as there is no change in functionality. + +* rendering/RenderBlock.cpp: +(WebCore::RenderBlock::availableLogicalHeightForPercentageComputation const): +* rendering/RenderBox.cpp: +(WebCore::RenderBox::computeReplacedLogicalHeightUsing const): +(WebCore::RenderBox::availableLogicalHeightUsing const): +* rendering/RenderBoxModelObject.cpp: +(WebCore::RenderBoxModelObject::hasAutoHeightOrContainingBlockWithAutoHeight const): +* rendering/RenderFlexibleBox.cpp: +(WebCore::RenderFlexibleBox::useChildOverridingCrossSizeForPercentageResolution): Renamed from crossSizeForPercentageResolution. +(WebCore::RenderFlexibleBox::useChildOverridingMainSizeForPercentageResolution): Renamed from mainSizeForPercentageResolution. +(WebCore::RenderFlexibleBox::useChildOverridingLogicalHeightForPercentageResolution): Renamed from childLogicalHeightForPercentageResolution. +(WebCore::RenderFlexibleBox::crossSizeForPercentageResolution): Deleted. +(WebCore::RenderFlexibleBox::mainSizeForPercentageResolution): Deleted. +(WebCore::RenderFlexibleBox::childLogicalHeightForPercentageResolution): Deleted. +* rendering/RenderFlexibleBox.h: + 2021-03-19 Diego Pino Garcia Unreviewed, fix WPE debug build after r274695 Modified: trunk/Source/WebCore/rendering/RenderBlock.cpp (274707 => 274708) --- trunk/Source/WebCore/rendering/RenderBlock.cpp 2021-03-19 09:06:52 UTC (rev 274707) +++ trunk/Source/WebCore/rendering/RenderBlock.cpp
[webkit-changes] [274630] trunk/Source/WebCore
Title: [274630] trunk/Source/WebCore Revision 274630 Author svil...@igalia.com Date 2021-03-18 03:10:14 -0700 (Thu, 18 Mar 2021) Log Message Invalidate RenderTreePosition's next sibling with display:contents https://bugs.webkit.org/show_bug.cgi?id=218578 Reviewed by Antti Koivisto. When inserting elements in the tree from JS it might happen that the renderTreePosition() in the RenderTreeUpdater caches a nextSibling() value which is only temporarily correct because we sequentially process the descendants of a given root node in RenderTreeUpdater::updateRenderTree(). One of those potentially incorrect scenarios is when using display:contents. We can detect those cases because we would leave a parent element in RenderTreeUpdater::popParent() without changing renderingParent() and so without changing renderTreePosition(). Once we are in that situation we must invalidate the cached position so the next sibling is recomputed. * rendering/updating/RenderTreeUpdater.cpp: (WebCore::RenderTreeUpdater::popParent): Invalidate the render tree position's next sibling if the parent element is not the renderingParent(). Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/updating/RenderTreeUpdater.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (274629 => 274630) --- trunk/Source/WebCore/ChangeLog 2021-03-18 09:49:36 UTC (rev 274629) +++ trunk/Source/WebCore/ChangeLog 2021-03-18 10:10:14 UTC (rev 274630) @@ -1,3 +1,21 @@ +2021-02-26 Sergio Villar Senin + +Invalidate RenderTreePosition's next sibling with display:contents +https://bugs.webkit.org/show_bug.cgi?id=218578 + +Reviewed by Antti Koivisto. + +When inserting elements in the tree from JS it might happen that the renderTreePosition() in the RenderTreeUpdater +caches a nextSibling() value which is only temporarily correct because we sequentially process the descendants of a +given root node in RenderTreeUpdater::updateRenderTree(). One of those potentially incorrect scenarios is when +using display:contents. We can detect those cases because we would leave a parent element in RenderTreeUpdater::popParent() +without changing renderingParent() and so without changing renderTreePosition(). Once we are in that situation we +must invalidate the cached position so the next sibling is recomputed. + +* rendering/updating/RenderTreeUpdater.cpp: +(WebCore::RenderTreeUpdater::popParent): Invalidate the render tree position's next sibling if the parent element is not +the renderingParent(). + 2021-03-18 Carlos Garcia Campos Pagination mode: Increase the amount of recursions allowed by RenderTable::layout() Modified: trunk/Source/WebCore/rendering/updating/RenderTreeUpdater.cpp (274629 => 274630) --- trunk/Source/WebCore/rendering/updating/RenderTreeUpdater.cpp 2021-03-18 09:49:36 UTC (rev 274629) +++ trunk/Source/WebCore/rendering/updating/RenderTreeUpdater.cpp 2021-03-18 10:10:14 UTC (rev 274630) @@ -237,6 +237,9 @@ if (parent.element) updateAfterDescendants(*parent.element, parent.updates); +if ( != ()) +renderTreePosition().invalidateNextSibling(); + m_parentStack.removeLast(); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [274411] trunk
Title: [274411] trunk Revision 274411 Author svil...@igalia.com Date 2021-03-15 04:27:16 -0700 (Mon, 15 Mar 2021) Log Message Do not shrink radio buttons bellow its size https://bugs.webkit.org/show_bug.cgi?id=215575 Reviewed by Darin Adler. LayoutTests/imported/w3c: * web-platform-tests/css/css-flexbox/radiobutton-min-size-expected.txt: Replaced FAIL by PASS expectations. Source/WebCore: A radio button used as a flex item would be invisible by default because it'll compute is min-size to 0. That's why we should not let them shrink below their size (width/height). * platform/Theme.cpp: (WebCore::Theme::minimumControlSize const): Do not let Radio buttons shrink bellow their size. * platform/Theme.h: make minimumControlSize() protected. Add a new non-virtual method with the same parameter plus another one (the minimum size under which we cannot shrink) which calls the virtual method. * rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustStyle): Pass the {style.width(),style.height()} as the minimum size under which we should not shrink the control. Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/radiobutton-min-size-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/Theme.cpp trunk/Source/WebCore/platform/Theme.h trunk/Source/WebCore/rendering/RenderTheme.cpp Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (274410 => 274411) --- trunk/LayoutTests/imported/w3c/ChangeLog 2021-03-15 11:15:39 UTC (rev 274410) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2021-03-15 11:27:16 UTC (rev 274411) @@ -1,3 +1,12 @@ +2021-03-10 Sergio Villar Senin + +Do not shrink radio buttons bellow its size +https://bugs.webkit.org/show_bug.cgi?id=215575 + +Reviewed by Darin Adler. + +* web-platform-tests/css/css-flexbox/radiobutton-min-size-expected.txt: Replaced FAIL by PASS expectations. + 2021-03-14 Sam Weinig Match other browsers by interpolating colors in floating point space rather than uint8_t space Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/radiobutton-min-size-expected.txt (274410 => 274411) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/radiobutton-min-size-expected.txt 2021-03-15 11:15:39 UTC (rev 274410) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/radiobutton-min-size-expected.txt 2021-03-15 11:27:16 UTC (rev 274411) @@ -4,5 +4,5 @@ Text Text -FAIL two radio button widths are identical assert_equals: width should be equal expected 0 but got 12 +PASS two radio button widths are identical Modified: trunk/Source/WebCore/ChangeLog (274410 => 274411) --- trunk/Source/WebCore/ChangeLog 2021-03-15 11:15:39 UTC (rev 274410) +++ trunk/Source/WebCore/ChangeLog 2021-03-15 11:27:16 UTC (rev 274411) @@ -1,3 +1,21 @@ +2021-03-10 Sergio Villar Senin + +Do not shrink radio buttons bellow its size +https://bugs.webkit.org/show_bug.cgi?id=215575 + +Reviewed by Darin Adler. + +A radio button used as a flex item would be invisible by default because it'll compute is +min-size to 0. That's why we should not let them shrink below their size (width/height). + +* platform/Theme.cpp: +(WebCore::Theme::minimumControlSize const): Do not let Radio buttons shrink bellow their size. +* platform/Theme.h: make minimumControlSize() protected. Add a new non-virtual method with the same parameter +plus another one (the minimum size under which we cannot shrink) which calls the virtual method. +* rendering/RenderTheme.cpp: +(WebCore::RenderTheme::adjustStyle): Pass the {style.width(),style.height()} as the minimum size under which +we should not shrink the control. + 2021-03-15 Kimmo Kinnunen REGRESSION(r270185) [GTK] Some webgl failures after multivalue setter refactor Modified: trunk/Source/WebCore/platform/Theme.cpp (274410 => 274411) --- trunk/Source/WebCore/platform/Theme.cpp 2021-03-15 11:15:39 UTC (rev 274410) +++ trunk/Source/WebCore/platform/Theme.cpp 2021-03-15 11:27:16 UTC (rev 274411) @@ -48,6 +48,18 @@ return zoomedSize; } +LengthSize Theme::minimumControlSize(ControlPart part, const FontCascade& fontCascade, const LengthSize& zoomedSize, const LengthSize& nonShrinkableZoomedSize, float zoom) const +{ +auto minSize = minimumControlSize(part, fontCascade, zoomedSize, zoom); +if (part == ControlPart::RadioPart) { +if (zoomedSize.width.isIntrinsicOrAuto()) +minSize.width = nonShrinkableZoomedSize.width; +if (zoomedSize.height.isIntrinsicOrAuto()) +minSize.height = nonShrinkableZoomedSize.height; +} +return minSize; +} + LengthSize Theme::minimumControlSize(ControlPart, const FontCascade&, const LengthSize&, float) const { return { { 0, LengthType::Fixed }, { 0, LengthType::Fixed } };
[webkit-changes] [273958] trunk
Title: [273958] trunk Revision 273958 Author svil...@igalia.com Date 2021-03-05 02:54:42 -0800 (Fri, 05 Mar 2021) Log Message [css-flexbox] Fix mainAxisLengthIsDefinite for orthogonal items with percentage sizes https://bugs.webkit.org/show_bug.cgi?id=222684 Reviewed by Javier Fernandez. Source/WebCore: r260055 fixed a crash in flexbox code by not caching the definiteness of the logical height of the flexbox container in case of having orthogonal items because in that case, the logical heights of the flex container and the flex item are not in the same axis. That made a lot of sense, however we should still let the method return whether or not the child main axis is definite instead of unconditionally return false. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::childMainSizeIsDefinite const): LayoutTests: * TestExpectations: Unskipped flexbox-basic-canvas-vert-001v.xhtml which is now passing. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp Diff Modified: trunk/LayoutTests/ChangeLog (273957 => 273958) --- trunk/LayoutTests/ChangeLog 2021-03-05 10:50:10 UTC (rev 273957) +++ trunk/LayoutTests/ChangeLog 2021-03-05 10:54:42 UTC (rev 273958) @@ -1,3 +1,12 @@ +2021-03-03 Sergio Villar Senin + +[css-flexbox] Fix mainAxisLengthIsDefinite for orthogonal items with percentage sizes +https://bugs.webkit.org/show_bug.cgi?id=222684 + +Reviewed by Javier Fernandez. + +* TestExpectations: Unskipped flexbox-basic-canvas-vert-001v.xhtml which is now passing. + 2021-03-05 Imanol Fernandez Implement WebXRBoundedReferenceSpace bounds geometry Modified: trunk/LayoutTests/TestExpectations (273957 => 273958) --- trunk/LayoutTests/TestExpectations 2021-03-05 10:50:10 UTC (rev 273957) +++ trunk/LayoutTests/TestExpectations 2021-03-05 10:54:42 UTC (rev 273958) @@ -4063,9 +4063,6 @@ # Painting order in flexbox webkit.org/b/221482 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-paint-ordering-002.xhtml [ ImageOnlyFailure ] -# Misc elements as flex items. -webkit.org/b/136754 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-basic-canvas-vert-001v.xhtml [ ImageOnlyFailure ] - # Test ASSERTing in Debug. webkit.org/b/222711 [ Debug ] imported/w3c/web-platform-tests/css/css-flexbox/frameset-crash.html [ Skip ] Modified: trunk/Source/WebCore/ChangeLog (273957 => 273958) --- trunk/Source/WebCore/ChangeLog 2021-03-05 10:50:10 UTC (rev 273957) +++ trunk/Source/WebCore/ChangeLog 2021-03-05 10:54:42 UTC (rev 273958) @@ -1,3 +1,18 @@ +2021-03-03 Sergio Villar Senin + +[css-flexbox] Fix mainAxisLengthIsDefinite for orthogonal items with percentage sizes +https://bugs.webkit.org/show_bug.cgi?id=222684 + +Reviewed by Javier Fernandez. + +r260055 fixed a crash in flexbox code by not caching the definiteness of the logical height of the flexbox +container in case of having orthogonal items because in that case, the logical heights of the flex container +and the flex item are not in the same axis. That made a lot of sense, however we should still let the method +return whether or not the child main axis is definite instead of unconditionally return false. + +* rendering/RenderFlexibleBox.cpp: +(WebCore::RenderFlexibleBox::childMainSizeIsDefinite const): + 2021-03-05 Imanol Fernandez Implement WebXRBoundedReferenceSpace bounds geometry Modified: trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp (273957 => 273958) --- trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp 2021-03-05 10:50:10 UTC (rev 273957) +++ trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp 2021-03-05 10:54:42 UTC (rev 273958) @@ -849,16 +849,13 @@ return true; if (m_hasDefiniteHeight == SizeDefiniteness::Indefinite) return false; -// Do not cache the definite height state when the child is perpendicular. -// The height of a perpendicular child is resolved against the containing block's width which is not the main axis. -if (child.isHorizontalWritingMode() != isHorizontalWritingMode()) -return false; -bool definite = child.computePercentageLogicalHeight(flexBasis) != WTF::nullopt; -if (m_inLayout) { -// We can reach this code even while we're not laying ourselves out, such -// as from mainSizeForPercentageResolution. +bool definite = child.computePercentageLogicalHeight(flexBasis).hasValue(); +// Do not cache the definite height state with orthogonal children as in that case the logical height +// of the child is not in the same axis as the logical height of the flex container. Also do not cache it +// outside the layout process (we can reach this code as from mainSizeForPercentageResolution()). +if
[webkit-changes] [273955] trunk
Title: [273955] trunk Revision 273955 Author svil...@igalia.com Date 2021-03-05 02:14:57 -0800 (Fri, 05 Mar 2021) Log Message WPT test css/css-flexbox/flex-minimum-height-flex-items-023.html fails https://bugs.webkit.org/show_bug.cgi?id=214292 Reviewed by Javier Fernandez. Source/WebCore: CSS flex specs define how to compute the main axis automatic minimum size of a flex item in order to provide a more reasonable minimum size (as grid does). So far we've considered "automatic minimum size" as either min-{width|height}:auto. However the css-sizing-3 specs mention that for the block size either min-content, max-content or fit-content are (unless otherwise specified) equivalent to the automatic size (see https://drafts.csswg.org/css-sizing-3/#valdef-width-min-content). This means that we need to expand our check to consider those intrinsic sizes as automatic whenever the block axis of the flex item is the flexbible box main size. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::shouldApplyMinSizeAutoForChild const): Consider intrinsic sizes as automatic in case the child block axis is the flex container main axis. (WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax): Let intrinsic sizes be handled by the code that computes min-size:auto. LayoutTests: * TestExpectations: Unskipped the test that passes now. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp Diff Modified: trunk/LayoutTests/ChangeLog (273954 => 273955) --- trunk/LayoutTests/ChangeLog 2021-03-05 10:07:07 UTC (rev 273954) +++ trunk/LayoutTests/ChangeLog 2021-03-05 10:14:57 UTC (rev 273955) @@ -1,3 +1,12 @@ +2021-03-01 Sergio Villar Senin + +WPT test css/css-flexbox/flex-minimum-height-flex-items-023.html fails +https://bugs.webkit.org/show_bug.cgi?id=214292 + +Reviewed by Javier Fernandez. + +* TestExpectations: Unskipped the test that passes now. + 2021-03-05 Rob Buis Fix flex-aspect-ratio-009.html Modified: trunk/LayoutTests/TestExpectations (273954 => 273955) --- trunk/LayoutTests/TestExpectations 2021-03-05 10:07:07 UTC (rev 273954) +++ trunk/LayoutTests/TestExpectations 2021-03-05 10:14:57 UTC (rev 273955) @@ -4126,8 +4126,6 @@ # Artificial web socket delays are only supported on wk2. http/tests/websocket/tests/hybi/closed-port-delay.html [ Skip ] -webkit.org/b/214292 imported/w3c/web-platform-tests/css/css-flexbox/flex-minimum-height-flex-items-023.html [ ImageOnlyFailure ] - webkit.org/b/214291 imported/w3c/web-platform-tests/css/css-writing-modes/abs-pos-with-replaced-child.html [ ImageOnlyFailure ] webkit.org/b/214291 imported/w3c/web-platform-tests/css/css-writing-modes/available-size-004.html [ ImageOnlyFailure ] webkit.org/b/214291 imported/w3c/web-platform-tests/css/css-writing-modes/available-size-018.html [ ImageOnlyFailure ] Modified: trunk/Source/WebCore/ChangeLog (273954 => 273955) --- trunk/Source/WebCore/ChangeLog 2021-03-05 10:07:07 UTC (rev 273954) +++ trunk/Source/WebCore/ChangeLog 2021-03-05 10:14:57 UTC (rev 273955) @@ -1,3 +1,25 @@ +2021-03-01 Sergio Villar Senin + +WPT test css/css-flexbox/flex-minimum-height-flex-items-023.html fails +https://bugs.webkit.org/show_bug.cgi?id=214292 + +Reviewed by Javier Fernandez. + +CSS flex specs define how to compute the main axis automatic minimum size of a flex item in order to +provide a more reasonable minimum size (as grid does). So far we've considered "automatic minimum size" +as either min-{width|height}:auto. However the css-sizing-3 specs mention that for the block size +either min-content, max-content or fit-content are (unless otherwise specified) equivalent to the +automatic size (see https://drafts.csswg.org/css-sizing-3/#valdef-width-min-content). + +This means that we need to expand our check to consider those intrinsic sizes as automatic whenever the +block axis of the flex item is the flexbible box main size. + +* rendering/RenderFlexibleBox.cpp: +(WebCore::RenderFlexibleBox::shouldApplyMinSizeAutoForChild const): Consider intrinsic sizes as automatic +in case the child block axis is the flex container main axis. +(WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax): Let intrinsic sizes be handled by the code +that computes min-size:auto. + 2021-03-05 Philippe Normand Unreviewed, WPE/GTK build fix after r273953 Modified: trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp (273954 => 273955) --- trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp 2021-03-05 10:07:07 UTC (rev 273954) +++ trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp 2021-03-05 10:14:57 UTC (rev 273955) @@ -424,11 +424,14 @@ return style().flexWrap() != FlexWrap::NoWrap; } +//
[webkit-changes] [273876] trunk/LayoutTests
Title: [273876] trunk/LayoutTests Revision 273876 Author svil...@igalia.com Date 2021-03-04 00:48:49 -0800 (Thu, 04 Mar 2021) Log Message ASSERTION FAILED: contentSize >= 0 in WefbCore::RenderFlexibleBox::adjustChildSizeForMinAndMax https://bugs.webkit.org/show_bug.cgi?id=222711 Unreviewed test gardening. * TestExpectations: Adding a test that is ASSERTing in Debug builds since it was imported. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (273875 => 273876) --- trunk/LayoutTests/ChangeLog 2021-03-04 07:22:33 UTC (rev 273875) +++ trunk/LayoutTests/ChangeLog 2021-03-04 08:48:49 UTC (rev 273876) @@ -1,3 +1,12 @@ +2021-03-04 Sergio Villar Senin + +ASSERTION FAILED: contentSize >= 0 in WefbCore::RenderFlexibleBox::adjustChildSizeForMinAndMax +https://bugs.webkit.org/show_bug.cgi?id=222711 + +Unreviewed test gardening. + +* TestExpectations: Adding a test that is ASSERTing in Debug builds since it was imported. + 2021-03-03 Ryan Haddad [ Catalina wk1 ews ] media/remote-control-command-seek.html is a flaky timeout Modified: trunk/LayoutTests/TestExpectations (273875 => 273876) --- trunk/LayoutTests/TestExpectations 2021-03-04 07:22:33 UTC (rev 273875) +++ trunk/LayoutTests/TestExpectations 2021-03-04 08:48:49 UTC (rev 273876) @@ -4066,6 +4066,9 @@ # Misc elements as flex items. webkit.org/b/136754 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-basic-canvas-vert-001v.xhtml [ ImageOnlyFailure ] +# Test ASSERTing in Debug. +webkit.org/b/222711 [ Debug ] imported/w3c/web-platform-tests/css/css-flexbox/frameset-crash.html [ Skip ] + # Newly imported Canvas WPT tests that are failing. imported/w3c/web-platform-tests/html/canvas/element/building-paths/canvas_complexshapes_arcto_001.htm [ ImageOnlyFailure Pass ] imported/w3c/web-platform-tests/html/canvas/element/drawing-images-to-the-canvas/2d.drawImage.broken.html [ Failure Pass ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [273825] trunk/LayoutTests
Title: [273825] trunk/LayoutTests Revision 273825 Author svil...@igalia.com Date 2021-03-03 10:47:07 -0800 (Wed, 03 Mar 2021) Log Message [css-flexbox] Import latest WPT tests https://bugs.webkit.org/show_bug.cgi?id=222651 Reviewed by Rob Buis. LayoutTests/imported/w3c: Synced flex tests to 5b5efcee. * resources/resource-files.json: * web-platform-tests/css/css-flexbox/canvas-contain-size-expected.html: Added. * web-platform-tests/css/css-flexbox/canvas-contain-size.html: Added. * web-platform-tests/css/css-flexbox/css-flexbox-column-expected.html: Removed. * web-platform-tests/css/css-flexbox/css-flexbox-column-reverse-expected.html: Removed. * web-platform-tests/css/css-flexbox/css-flexbox-column-reverse-wrap-expected.html: Removed. * web-platform-tests/css/css-flexbox/css-flexbox-column-reverse-wrap-reverse-expected.html: Removed. * web-platform-tests/css/css-flexbox/css-flexbox-column-reverse-wrap-reverse.html: Removed. * web-platform-tests/css/css-flexbox/css-flexbox-column-reverse-wrap.html: Removed. * web-platform-tests/css/css-flexbox/css-flexbox-column-reverse.html: Removed. * web-platform-tests/css/css-flexbox/css-flexbox-column-wrap-expected.html: Removed. * web-platform-tests/css/css-flexbox/css-flexbox-column-wrap-reverse-expected.html: Removed. * web-platform-tests/css/css-flexbox/css-flexbox-column-wrap-reverse.html: Removed. * web-platform-tests/css/css-flexbox/css-flexbox-column-wrap.html: Removed. * web-platform-tests/css/css-flexbox/css-flexbox-column.html: Removed. * web-platform-tests/css/css-flexbox/flexbox-basic-canvas-vert-001-expected.xhtml: * web-platform-tests/css/css-flexbox/flexbox-basic-canvas-vert-001.xhtml: * web-platform-tests/css/css-flexbox/flexbox-basic-canvas-vert-001v-expected.xhtml: * web-platform-tests/css/css-flexbox/flexbox-basic-canvas-vert-001v.xhtml: * web-platform-tests/css/css-flexbox/flexbox-basic-iframe-vert-001-expected.xhtml: * web-platform-tests/css/css-flexbox/flexbox-basic-iframe-vert-001.xhtml: * web-platform-tests/css/css-flexbox/flexbox-basic-img-vert-001-expected.xhtml: * web-platform-tests/css/css-flexbox/flexbox-basic-img-vert-001.xhtml: * web-platform-tests/css/css-flexbox/flexbox-basic-textarea-vert-001-expected.xhtml: * web-platform-tests/css/css-flexbox/flexbox-basic-textarea-vert-001.xhtml: * web-platform-tests/css/css-flexbox/flexbox-basic-video-vert-001-expected.xhtml: * web-platform-tests/css/css-flexbox/flexbox-basic-video-vert-001.xhtml: * web-platform-tests/css/css-flexbox/frameset-crash.html: Added. * web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-column-1-expected.html: Added. * web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-column-1.html: Added. * web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-column-2-expected.html: Added. * web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-column-2.html: Added. * web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-row-1-expected.html: Added. * web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-row-1.html: Added. * web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-row-2-expected.html: Added. * web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-row-2.html: Added. * web-platform-tests/css/css-flexbox/table-as-item-narrow-content-2-expected.html: Added. * web-platform-tests/css/css-flexbox/table-as-item-narrow-content-2.html: Added. * web-platform-tests/css/css-flexbox/table-as-item-specified-height-expected.html: Added. * web-platform-tests/css/css-flexbox/table-as-item-specified-height.html: Added. * web-platform-tests/css/css-flexbox/table-as-item-specified-width.html: * web-platform-tests/css/css-flexbox/table-as-item-stretch-cross-size-2-expected.xht: Added. * web-platform-tests/css/css-flexbox/table-as-item-stretch-cross-size-2.html: Added. * web-platform-tests/css/css-flexbox/table-as-item-stretch-cross-size-3-expected.xht: Added. * web-platform-tests/css/css-flexbox/table-as-item-stretch-cross-size-3.html: Added. * web-platform-tests/css/css-flexbox/table-item-flex-percentage-min-width-expected.html: Added. * web-platform-tests/css/css-flexbox/table-item-flex-percentage-min-width.html: Added. * web-platform-tests/css/css-flexbox/w3c-import.log: LayoutTests: Imported latest changes in the test suite. * TestExpectations: * imported/w3c/web-platform-tests/css/css-flexbox/frameset-crash-expected.txt: Added. * platform/ios/imported/w3c/web-platform-tests/css/css-flexbox/frameset-crash-expected.txt: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/resources/resource-files.json trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-basic-canvas-vert-001-expected.xhtml trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-basic-canvas-vert-001.xhtml
[webkit-changes] [273380] trunk
Title: [273380] trunk Revision 273380 Author svil...@igalia.com Date 2021-02-24 04:53:56 -0800 (Wed, 24 Feb 2021) Log Message Nullptr crash in ApplyStyleCommand::applyRelativeFontStyleChange https://bugs.webkit.org/show_bug.cgi?id=221393 Reviewed by Ryosuke Niwa. Source/WebCore: Applying a font style change over a range of nodes might change the node tree because in some cases a span element needs to be created to wrap nodes so they could be styled. Apart from that consecutive identical span nodes could be merged together. This means that the loop that iterates over a range of nodes might actually surpass the end node if that end node was merged into some other. Test: editing/execCommand/font-size-delta-crash.html * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Exit the loop if the iterator becomes a child of the beyondEnd node because the latter was merged into the node that wraps the iterator. LayoutTests: * editing/execCommand/font-size-delta-crash-expected.txt: Added. * editing/execCommand/font-size-delta-crash.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/editing/ApplyStyleCommand.cpp Added Paths trunk/LayoutTests/editing/execCommand/font-size-delta-crash-expected.txt trunk/LayoutTests/editing/execCommand/font-size-delta-crash.html Diff Modified: trunk/LayoutTests/ChangeLog (273379 => 273380) --- trunk/LayoutTests/ChangeLog 2021-02-24 11:43:22 UTC (rev 273379) +++ trunk/LayoutTests/ChangeLog 2021-02-24 12:53:56 UTC (rev 273380) @@ -1,3 +1,13 @@ +2021-02-17 Sergio Villar Senin + +Nullptr crash in ApplyStyleCommand::applyRelativeFontStyleChange +https://bugs.webkit.org/show_bug.cgi?id=221393 + +Reviewed by Ryosuke Niwa. + +* editing/execCommand/font-size-delta-crash-expected.txt: Added. +* editing/execCommand/font-size-delta-crash.html: Added. + 2021-02-24 Frederic Wang Nullptr crash in CompositeEditCommand::splitTreeToNode via InsertParagraphSeparatorCommand::doApply Added: trunk/LayoutTests/editing/execCommand/font-size-delta-crash-expected.txt (0 => 273380) --- trunk/LayoutTests/editing/execCommand/font-size-delta-crash-expected.txt (rev 0) +++ trunk/LayoutTests/editing/execCommand/font-size-delta-crash-expected.txt 2021-02-24 12:53:56 UTC (rev 273380) @@ -0,0 +1,2 @@ +// <-- magic whitespace _onload_ = () => { document.querySelector('script').appendChild(document.createElement('span')); document.execCommand('FindString', false, 'a'); document.execCommand('FontSizeDelta', false, '1'); }; if (window.testRunner) testRunner.dumpAsText(); +The test PASS if it does not CRASH. Property changes on: trunk/LayoutTests/editing/execCommand/font-size-delta-crash-expected.txt ___ Added: svn:eol-style +LF \ No newline at end of property Added: trunk/LayoutTests/editing/execCommand/font-size-delta-crash.html (0 => 273380) --- trunk/LayoutTests/editing/execCommand/font-size-delta-crash.html (rev 0) +++ trunk/LayoutTests/editing/execCommand/font-size-delta-crash.html 2021-02-24 12:53:56 UTC (rev 273380) @@ -0,0 +1,23 @@ + +head, script, span { +display: block; +} +head { +-webkit-user-modify: read-write-plaintext-only; +} +script::first-letter { +--font-size-ch: 0; +} + + +// <-- magic whitespace +_onload_ = () => { + document.querySelector('script').appendChild(document.createElement('span')); + document.execCommand('FindString', false, 'a'); + document.execCommand('FontSizeDelta', false, '1'); +}; +if (window.testRunner) +testRunner.dumpAsText(); + +The test PASS if it does not CRASH. + Property changes on: trunk/LayoutTests/editing/execCommand/font-size-delta-crash.html ___ Added: svn:eol-style +LF \ No newline at end of property Added: svn:mime-type +text/html \ No newline at end of property Modified: trunk/Source/WebCore/ChangeLog (273379 => 273380) --- trunk/Source/WebCore/ChangeLog 2021-02-24 11:43:22 UTC (rev 273379) +++ trunk/Source/WebCore/ChangeLog 2021-02-24 12:53:56 UTC (rev 273380) @@ -1,3 +1,21 @@ +2021-02-17 Sergio Villar Senin + +Nullptr crash in ApplyStyleCommand::applyRelativeFontStyleChange +https://bugs.webkit.org/show_bug.cgi?id=221393 + +Reviewed by Ryosuke Niwa. + +Applying a font style change over a range of nodes might change the node tree because in some cases +a span element needs to be created to wrap nodes so they could be styled. Apart from that consecutive +identical span nodes could be merged together. This means that the loop that iterates over a range +of nodes might actually surpass the end node if that end node was merged into some other. + +Test: editing/execCommand/font-size-delta-crash.html + +*
[webkit-changes] [273264] trunk
Title: [273264] trunk Revision 273264 Author svil...@igalia.com Date 2021-02-22 11:12:03 -0800 (Mon, 22 Feb 2021) Log Message REGRESSION (r266695): twitch.tv: when in fullscreen, WebKit continually does 350ms layouts. Firefox and Chrome do not https://bugs.webkit.org/show_bug.cgi?id=02 Reviewed by Simon Fraser. PerformanceTests: New performance test for nested column flexboxes with percentage heights. * Layout/nested-column-flexboxes-relative-height.html: Added. Source/WebCore: The problem was that we were doing the initial layout for the children of the flex container twice in those cases where the child inline axis was not the main axis (for example with column flex containers in horizontal writing modes). Refactored the code (specially the way we clear overriding sizes) so that we only do it once. This saves tons of layouts in pages with nested column flexboxes with relative heights. No new tests as there is no change in functionality, we're removing duplicate extra layouts. We're however adding a new performance test for column flexboxes with percentage heights. With this patch we go from 3.5 layout/s to 145 layout/s which is ~4000% better. Inspired by Blink's crrev.com/c/1614058 by . * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::computeInnerFlexBaseSizeForChild): Do not unconditionally clear overriding sizes. Also removed relayoutChildren which is now unused. Do not layout the item, that should have been done in computeInnerFlexBaseSizeForChild() before. Added ASSERTs to verify that child's intrinsic main size was cached as a consequence of the previous layout. (WebCore::RenderFlexibleBox::constructFlexItem): Do not pass relayoutChildren to computeInnerFlexBaseSizeForChild. Also no need to update it after laying out the child. * rendering/RenderFlexibleBox.h: Modified Paths trunk/LayoutTests/TestExpectations trunk/PerformanceTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp trunk/Source/WebCore/rendering/RenderFlexibleBox.h Added Paths trunk/PerformanceTests/Layout/nested-column-flexboxes-relative-height.html Diff Modified: trunk/LayoutTests/TestExpectations (273263 => 273264) --- trunk/LayoutTests/TestExpectations 2021-02-22 18:56:13 UTC (rev 273263) +++ trunk/LayoutTests/TestExpectations 2021-02-22 19:12:03 UTC (rev 273264) @@ -3915,7 +3915,7 @@ webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-012.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-015.html [ ImageOnlyFailure ] -webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-017.html [ ImageOnlyFailure ] +webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-017.html [ Failure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-007.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-010.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013.html [ ImageOnlyFailure ] Modified: trunk/PerformanceTests/ChangeLog (273263 => 273264) --- trunk/PerformanceTests/ChangeLog 2021-02-22 18:56:13 UTC (rev 273263) +++ trunk/PerformanceTests/ChangeLog 2021-02-22 19:12:03 UTC (rev 273264) @@ -1,3 +1,15 @@ +2021-02-22 Sergio Villar Senin + +REGRESSION (r266695): twitch.tv: when in fullscreen, WebKit continually does 350ms layouts. Firefox and Chrome do not +https://bugs.webkit.org/show_bug.cgi?id=02 + + +Reviewed by Simon Fraser. + +New performance test for nested column flexboxes with percentage heights. + +* Layout/nested-column-flexboxes-relative-height.html: Added. + 2021-02-18 Myles C. Maxfield MotionMark scores are super sensitive to a single long frame Added: trunk/PerformanceTests/Layout/nested-column-flexboxes-relative-height.html (0 => 273264) --- trunk/PerformanceTests/Layout/nested-column-flexboxes-relative-height.html (rev 0) +++ trunk/PerformanceTests/Layout/nested-column-flexboxes-relative-height.html 2021-02-22 19:12:03 UTC (rev 273264) @@ -0,0 +1,45 @@ + + + +.flex { +display: flex; +flex-direction: column; +height: 100%; +} + + +function startTest() { +document.body.offsetHeight; + +var index = 0; +PerfTestRunner.measureRunsPerSecond({run: function() { +document.body.style.width = ++index % 2 ? "99%" : "98%"; +document.body.offsetHeight; +}}); +} + + + + + + + + + + + + + + +
[webkit-changes] [273242] trunk/Source/WebCore
Title: [273242] trunk/Source/WebCore Revision 273242 Author svil...@igalia.com Date 2021-02-22 09:13:59 -0800 (Mon, 22 Feb 2021) Log Message [css-flex] Refactoring of code retrieving main/cross size lengths from children https://bugs.webkit.org/show_bug.cgi?id=222175 Reviewed by Darin Adler. Added a couple of new private methods which retrieve the main and cross size lengths of children as it's used everywhere. No new tests as there is no change in functionality, just a code refactoring. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::shouldApplyMinSizeAutoForChild const): (WebCore::RenderFlexibleBox::flexBasisForChild const): (WebCore::RenderFlexibleBox::crossSizeLengthForChild const): New method. (WebCore::RenderFlexibleBox::mainSizeLengthForChild const): Ditto. (WebCore::RenderFlexibleBox::useChildAspectRatio const): (WebCore::RenderFlexibleBox::computeInnerFlexBaseSizeForChild): (WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax): (WebCore::RenderFlexibleBox::adjustChildSizeForAspectRatioCrossAxisMinAndMax): (WebCore::RenderFlexibleBox::childHasIntrinsicMainAxisSize const): * rendering/RenderFlexibleBox.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp trunk/Source/WebCore/rendering/RenderFlexibleBox.h Diff Modified: trunk/Source/WebCore/ChangeLog (273241 => 273242) --- trunk/Source/WebCore/ChangeLog 2021-02-22 15:30:26 UTC (rev 273241) +++ trunk/Source/WebCore/ChangeLog 2021-02-22 17:13:59 UTC (rev 273242) @@ -1,3 +1,27 @@ +2021-02-19 Sergio Villar Senin + +[css-flex] Refactoring of code retrieving main/cross size lengths from children +https://bugs.webkit.org/show_bug.cgi?id=222175 + +Reviewed by Darin Adler. + +Added a couple of new private methods which retrieve the main and cross size lengths of children +as it's used everywhere. + +No new tests as there is no change in functionality, just a code refactoring. + +* rendering/RenderFlexibleBox.cpp: +(WebCore::RenderFlexibleBox::shouldApplyMinSizeAutoForChild const): +(WebCore::RenderFlexibleBox::flexBasisForChild const): +(WebCore::RenderFlexibleBox::crossSizeLengthForChild const): New method. +(WebCore::RenderFlexibleBox::mainSizeLengthForChild const): Ditto. +(WebCore::RenderFlexibleBox::useChildAspectRatio const): +(WebCore::RenderFlexibleBox::computeInnerFlexBaseSizeForChild): +(WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax): +(WebCore::RenderFlexibleBox::adjustChildSizeForAspectRatioCrossAxisMinAndMax): +(WebCore::RenderFlexibleBox::childHasIntrinsicMainAxisSize const): +* rendering/RenderFlexibleBox.h: + 2021-02-22 Antti Koivisto [LFC][Integration] Switch out if large trees are being invalidated Modified: trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp (273241 => 273242) --- trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp 2021-02-22 15:30:26 UTC (rev 273241) +++ trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp 2021-02-22 17:13:59 UTC (rev 273242) @@ -427,7 +427,7 @@ bool RenderFlexibleBox::shouldApplyMinSizeAutoForChild(const RenderBox& child) const { // css-flexbox section 4.5 -auto minSize = isHorizontalFlow() ? child.style().minWidth() : child.style().minHeight(); +auto minSize = mainSizeLengthForChild(MinSize, child); return minSize.isAuto() && mainAxisOverflowForChild(child) == Overflow::Visible; } @@ -435,7 +435,7 @@ { Length flexLength = child.style().flexBasis(); if (flexLength.isAuto()) -flexLength = isHorizontalFlow() ? child.style().width() : child.style().height(); +flexLength = mainSizeLengthForChild(MainOrPreferredSize, child); return flexLength; } @@ -743,6 +743,34 @@ return isHorizontalFlow() ? child.location() : child.location().transposedPoint(); } +Length RenderFlexibleBox::crossSizeLengthForChild(SizeType sizeType, const RenderBox& child) const +{ +switch (sizeType) { +case MinSize: +return isHorizontalFlow() ? child.style().minHeight() : child.style().minWidth(); +case MainOrPreferredSize: +return isHorizontalFlow() ? child.style().height() : child.style().width(); +case MaxSize: +return isHorizontalFlow() ? child.style().maxHeight() : child.style().maxWidth(); +} +ASSERT_NOT_REACHED(); +return { }; +} + +Length RenderFlexibleBox::mainSizeLengthForChild(SizeType sizeType, const RenderBox& child) const +{ +switch (sizeType) { +case MinSize: +return isHorizontalFlow() ? child.style().minWidth() : child.style().minHeight(); +case MainOrPreferredSize: +return isHorizontalFlow() ? child.style().width() : child.style().height(); +case MaxSize: +return isHorizontalFlow() ? child.style().maxWidth() : child.style().maxHeight(); +} +ASSERT_NOT_REACHED(); +return { }; +} + bool
[webkit-changes] [273132] trunk
Title: [273132] trunk Revision 273132 Author svil...@igalia.com Date 2021-02-19 01:07:11 -0800 (Fri, 19 Feb 2021) Log Message Implement WebXR getViewerPose and getPose https://bugs.webkit.org/show_bug.cgi?id=221225 Reviewed by Youenn Fablet. LayoutTests/imported/w3c: Mark pose and reference space WebXR tests as passing. * web-platform-tests/webxr/xrFrame_getPose.https-expected.txt: Added. * web-platform-tests/webxr/xrFrame_getViewerPose_getPose.https-expected.txt: Added. * web-platform-tests/webxr/xrReferenceSpace_originOffset_viewer.https-expected.txt: Added. * web-platform-tests/webxr/xrReferenceSpace_relationships.https-expected.txt: Added. * web-platform-tests/webxr/xrSession_requestAnimationFrame_data_valid.https-expected.txt: Added. * web-platform-tests/webxr/xrSession_requestAnimationFrame_getViewerPose.https-expected.txt: Added. * web-platform-tests/webxr/xrSession_viewer_referenceSpace.https-expected.txt: Added. * web-platform-tests/webxr/xrView_eyes.https-expected.txt: Added. * web-platform-tests/webxr/xrView_match.https-expected.txt: Added. * web-platform-tests/webxr/xrView_oneframeupdate.https-expected.txt: Added. Source/WebCore: - Improve PlatformXR::FrameData struct. - Implement WebXRFrame getViewerPose and getPose. - Implement WebXRReferenceSpace offset, origin and effective tranforms. - Implement WebXRBoundedReferenceSpace nativeOrigin. - Apply frame updates in WebXRSession. - Implement views for OpenXR and DummyInlineDevice inline sessions. - Query and complete all the new FrameData in the OpenXR port. - Complete the WebFakeXRDevice implementation for WebXR WPT tests. Tested by the WebXR WPT tests * Modules/webxr/WebXRBoundedReferenceSpace.cpp: Implement nativeOrigina and getOffsetReferenceSpace. (WebCore::WebXRBoundedReferenceSpace::create): (WebCore::WebXRBoundedReferenceSpace::WebXRBoundedReferenceSpace): (WebCore::WebXRBoundedReferenceSpace::nativeOrigin const): (WebCore::WebXRBoundedReferenceSpace::boundsGeometry const): (WebCore::WebXRBoundedReferenceSpace::getOffsetReferenceSpace): * Modules/webxr/WebXRBoundedReferenceSpace.h: * Modules/webxr/WebXRFrame.cpp: Implement WebXR getViewerPose and getPose. (WebCore::WebXRFrame::create): (WebCore::WebXRFrame::WebXRFrame): (WebCore::WebXRFrame::mustPosesBeLimited): (WebCore::WebXRFrame::populatePose): (WebCore::WebXRFrame::getViewerPose): (WebCore::WebXRFrame::getPose): (WebCore::WebXRFrame::matrixFromPose): add helper function. * Modules/webxr/WebXRFrame.h: (WebCore::WebXRFrame::setFrameData): * Modules/webxr/WebXRFrame.idl: add MayThrowException. * Modules/webxr/WebXRPose.cpp: Add WebXRRigidTransform constructor parameter. Add specialize type traits. (WebCore::WebXRPose::create): (WebCore::WebXRPose::WebXRPose): * Modules/webxr/WebXRPose.h: (WebCore::WebXRPose::isViewerPose const): * Modules/webxr/WebXRPose.idl: Remove ImplementationLacksVTable * Modules/webxr/WebXRReferenceSpace.cpp: Implement offset, origin and effective tranforms. (WebCore::WebXRReferenceSpace::create): (WebCore::WebXRReferenceSpace::WebXRReferenceSpace): (WebCore::WebXRReferenceSpace::nativeOrigin const): (WebCore::WebXRReferenceSpace::getOffsetReferenceSpace): (WebCore::WebXRReferenceSpace::floorOriginTransform const): (WebCore:: const): * Modules/webxr/WebXRReferenceSpace.h: (WebCore::WebXRReferenceSpace::type const): * Modules/webxr/WebXRReferenceSpace.idl: Add SkipVTableValidation. * Modules/webxr/WebXRSession.cpp: Apply frame updates for frame. Add active views data. (WebCore::WebXRSession::WebXRSession): (WebCore::WebXRSession::requestReferenceSpace): Use WeakPtr instead Ref for WebXRSession. (WebCore::WebXRSession::onFrame): (WebCore::WebXRSession::posesCanBeReported const): add * Modules/webxr/WebXRSession.h: * Modules/webxr/WebXRSpace.cpp: Add nativeOrigin and effectiveOrigin member functions. Add specialize type traits. (WebCore::WebXRSpace::WebXRSpace): (WebCore::WebXRSpace::effectiveOrigin const): * Modules/webxr/WebXRSpace.h: (WebCore::WebXRSpace::session const): (WebCore::WebXRSpace::isReferenceSpace const): (WebCore::WebXRSpace::isBoundedReferenceSpace const): * Modules/webxr/WebXRSystem.cpp: Implement views for DummyInlineDevice. (WebCore::WebXRSystem::DummyInlineDevice::requestFrame): (WebCore::WebXRSystem::DummyInlineDevice::views const): * Modules/webxr/WebXRSystem.h: * Modules/webxr/WebXRView.cpp: Pass WebXRRigidTransform in the constructor. (WebCore::WebXRView::create): (WebCore::WebXRView::WebXRView): (WebCore::WebXRView::setProjectionMatrix): Use std::array to match device data. * Modules/webxr/WebXRView.h: (WebCore::WebXRView::projectionMatrix const): (WebCore::WebXRView::transform const): * Modules/webxr/WebXRViewerPose.cpp: Add views setter. Add specialize type traits. (WebCore::WebXRViewerPose::create): (WebCore::WebXRViewerPose::WebXRViewerPose): (WebCore::WebXRViewerPose::setViews): * Modules/webxr/WebXRViewerPose.h: * Modules/webxr/WebXRViewerPose.idl: Remove ImplementationLacksVTable. Add
[webkit-changes] [273072] trunk
Title: [273072] trunk Revision 273072 Author svil...@igalia.com Date 2021-02-18 01:58:39 -0800 (Thu, 18 Feb 2021) Log Message [css-flex] Implement section 9.8 Definite and Indefinite Sizes case 1 https://bugs.webkit.org/show_bug.cgi?id=219538 Reviewed by Manuel Rego Casasnovas. LayoutTests/imported/w3c: * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013-expected.txt: Replaced FAIL by PASS expectations. * web-platform-tests/css/css-flexbox/image-as-flexitem-size-003-expected.txt: Ditto. * web-platform-tests/css/css-flexbox/image-as-flexitem-size-003v-expected.txt: Ditto. * web-platform-tests/css/css-flexbox/image-as-flexitem-size-004-expected.txt: Ditto. * web-platform-tests/css/css-flexbox/image-as-flexitem-size-004v-expected.txt: Ditto. * web-platform-tests/css/css-sizing/percentage-height-in-flexbox.html: Updated expectation. Still failing. Source/WebCore: If a single-line flex container has a definite cross size, the automatic preferred outer cross size of any stretched flex items is the flex container's inner cross size (clamped to the flex item's min and max cross size) and is considered definite. Before that we were considering all automatic sizes as indefinite (see https://drafts.csswg.org/css-flexbox/#definite-sizes). This patch does not consider all the cases where the container cross size is definite but just when that size is fixed. Support for additional cases should be added in followup patches. This change unveiled an implementation mistake when computing content sizes for the min-size:auto case. In those cases we were always calling computeMainAxisExtentForChild() but that does not take into account the aspect ratio, that's why we added an additional code path which computes the content size using computeMainSizeFromAspectRatioUsing() instead. This fixes 8 full tests plus 24 subtests in some other flexbox aspect ratio tests from the WPT suite. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::useChildAspectRatio const): Use ternary operator to simplify code. (WebCore::RenderFlexibleBox::computeMainSizeFromAspectRatioUsing const): Resolve child size to container's size if childCrossSizeShouldUseContainerCrossSize(). (WebCore::RenderFlexibleBox::childCrossSizeShouldUseContainerCrossSize const): New method implementing section 9.8.1 of the specs. (WebCore::RenderFlexibleBox::childCrossSizeIsDefinite const): (WebCore::RenderFlexibleBox::computeInnerFlexBaseSizeForChild): Use aspect ratio to compute cross size also if childCrossSizeShouldUseContainerCrossSize(). (WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax): Use aspect ratio specific code to compute content size if aspect ratio should be used for child. (WebCore::RenderFlexibleBox::adjustChildSizeForAspectRatioCrossAxisMinAndMax): * rendering/RenderFlexibleBox.h: LayoutTests: * TestExpectations: Unskipped 8 tests that are passing now. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-011-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-003-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-003v-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-004-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-004v-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp trunk/Source/WebCore/rendering/RenderFlexibleBox.h Diff Modified: trunk/LayoutTests/ChangeLog (273071 => 273072) --- trunk/LayoutTests/ChangeLog 2021-02-18 08:53:05 UTC (rev 273071) +++ trunk/LayoutTests/ChangeLog 2021-02-18 09:58:39 UTC (rev 273072) @@ -1,3 +1,13 @@ +2021-02-15 Sergio Villar Senin + +[css-flex] Implement section 9.8 Definite and Indefinite Sizes case 1 +https://bugs.webkit.org/show_bug.cgi?id=219538 + + +Reviewed by Manuel Rego Casasnovas. + +* TestExpectations: Unskipped 8 tests that are passing now. + 2021-02-18 Youenn Fablet [GPUP] Test webrtc/audio-video-element-playing.html fails when media in GPU Process is enabled Modified: trunk/LayoutTests/TestExpectations (273071 => 273072) --- trunk/LayoutTests/TestExpectations 2021-02-18 08:53:05 UTC (rev 273071) +++ trunk/LayoutTests/TestExpectations 2021-02-18 09:58:39 UTC (rev 273072) @@ -3918,7 +3918,6 @@ webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-012.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-015.html [ ImageOnlyFailure ] webkit.org/b/219343
[webkit-changes] [272843] trunk/Source/WebCore
Title: [272843] trunk/Source/WebCore Revision 272843 Author svil...@igalia.com Date 2021-02-15 01:04:34 -0800 (Mon, 15 Feb 2021) Log Message Don't update form control elements validity status if they are detached from the document. https://bugs.webkit.org/show_bug.cgi?id=220390 Reviewed by Ryosuke Niwa. When a radio button input element is removed from a form (either because it's moved or because the form is deleted) then it's also removed from its current RadioButtonGroup. The latter removal might require the update of the input validity status. In case of validity status changes, then we have to walk up the ancestor chain in order to update the style for pseudo classes such as :valid :invalid. That node traversal should not be done in case of being detached from the main document because our ancestors might have been deleted before. Apart from that we're replacing the HashSet of raw pointers to descendants in HTMLFieldSetElement by a WeakHashSet which is safer. * html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::matchesValidPseudoClass const): (WebCore::HTMLFieldSetElement::matchesInvalidPseudoClass const): (WebCore::HTMLFieldSetElement::addInvalidDescendant): (WebCore::HTMLFieldSetElement::removeInvalidDescendant): * html/HTMLFieldSetElement.h: * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::updateValidity(): Early return in case of isConnected(). Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/HTMLFieldSetElement.cpp trunk/Source/WebCore/html/HTMLFieldSetElement.h trunk/Source/WebCore/html/HTMLFormControlElement.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (272842 => 272843) --- trunk/Source/WebCore/ChangeLog 2021-02-15 02:08:49 UTC (rev 272842) +++ trunk/Source/WebCore/ChangeLog 2021-02-15 09:04:34 UTC (rev 272843) @@ -1,3 +1,29 @@ +2021-02-12 Sergio Villar Senin + +Don't update form control elements validity status if they are detached from the document. +https://bugs.webkit.org/show_bug.cgi?id=220390 + +Reviewed by Ryosuke Niwa. + +When a radio button input element is removed from a form (either because it's moved or because the form +is deleted) then it's also removed from its current RadioButtonGroup. The latter removal might require the +update of the input validity status. In case of validity status changes, then we have to walk up +the ancestor chain in order to update the style for pseudo classes such as :valid :invalid. That node traversal +should not be done in case of being detached from the main document because our ancestors might have been +deleted before. + +Apart from that we're replacing the HashSet of raw pointers to descendants in HTMLFieldSetElement by a WeakHashSet +which is safer. + +* html/HTMLFieldSetElement.cpp: +(WebCore::HTMLFieldSetElement::matchesValidPseudoClass const): +(WebCore::HTMLFieldSetElement::matchesInvalidPseudoClass const): +(WebCore::HTMLFieldSetElement::addInvalidDescendant): +(WebCore::HTMLFieldSetElement::removeInvalidDescendant): +* html/HTMLFieldSetElement.h: +* html/HTMLFormControlElement.cpp: +(WebCore::HTMLFormControlElement::updateValidity(): Early return in case of isConnected(). + 2021-02-14 Jean-Yves Avenard [iOS] MobileSafari crashes at WebCore: WebCore::VideoFullscreenInterfaceAVKit::doEnterFullscreen Modified: trunk/Source/WebCore/html/HTMLFieldSetElement.cpp (272842 => 272843) --- trunk/Source/WebCore/html/HTMLFieldSetElement.cpp 2021-02-15 02:08:49 UTC (rev 272842) +++ trunk/Source/WebCore/html/HTMLFieldSetElement.cpp 2021-02-15 09:04:34 UTC (rev 272843) @@ -139,12 +139,12 @@ bool HTMLFieldSetElement::matchesValidPseudoClass() const { -return m_invalidDescendants.isEmpty(); +return m_invalidDescendants.computesEmpty(); } bool HTMLFieldSetElement::matchesInvalidPseudoClass() const { -return !m_invalidDescendants.isEmpty(); +return !m_invalidDescendants.computesEmpty(); } bool HTMLFieldSetElement::supportsFocus() const @@ -177,20 +177,20 @@ { ASSERT_WITH_MESSAGE(!is(invalidFormControlElement), "FieldSet are never candidates for constraint validation."); ASSERT(static_cast(invalidFormControlElement).matchesInvalidPseudoClass()); -ASSERT_WITH_MESSAGE(!m_invalidDescendants.contains(), "Updating the fieldset on validity change is not an efficient operation, it should only be done when necessary."); +ASSERT_WITH_MESSAGE(!m_invalidDescendants.contains(invalidFormControlElement), "Updating the fieldset on validity change is not an efficient operation, it should only be done when necessary."); -if (m_invalidDescendants.isEmpty()) +if (m_invalidDescendants.computesEmpty()) invalidateStyleForSubtree(); -m_invalidDescendants.add(); +m_invalidDescendants.add(invalidFormControlElement); } void
[webkit-changes] [272795] trunk/LayoutTests
Title: [272795] trunk/LayoutTests Revision 272795 Author svil...@igalia.com Date 2021-02-12 11:10:59 -0800 (Fri, 12 Feb 2021) Log Message [css-flexbox] Another WPT test import https://bugs.webkit.org/show_bug.cgi?id=221813 Reviewed by Youenn Fablet. LayoutTests/imported/w3c: * web-platform-tests/css/css-flexbox/flexbox-min-width-auto-005-expected.html: Added. * web-platform-tests/css/css-flexbox/flexbox-min-width-auto-005.html: Added. * web-platform-tests/css/css-flexbox/flexbox-min-width-auto-006-expected.html: Added. * web-platform-tests/css/css-flexbox/flexbox-min-width-auto-006.html: Added. * web-platform-tests/css/css-flexbox/percentage-descendant-of-anonymous-flex-item-expected.html: Added. * web-platform-tests/css/css-flexbox/percentage-descendant-of-anonymous-flex-item.html: Added. * web-platform-tests/css/css-flexbox/radiobutton-min-size-expected.txt: Updated expectations. * web-platform-tests/css/css-flexbox/radiobutton-min-size.html: Updated. * web-platform-tests/css/css-flexbox/support/40x20-green.png: Added. * web-platform-tests/css/css-flexbox/support/w3c-import.log: * web-platform-tests/css/css-flexbox/w3c-import.log: LayoutTests: Imported the most recent changes in flexbox WPT tests. This implies deleting a local test that was upstreamed to WPT, so it does not make sense to have a duplicate. * TestExpectations: Removed a test that is currently passing. Adding a new expected failure. * css3/flexbox/percentage-descendants-of-skipped-flex-item-expected.html: Removed. * css3/flexbox/percentage-descendants-of-skipped-flex-item.html: Removed. * platform/ios-wk2/imported/w3c/web-platform-tests/css/css-flexbox/radiobutton-min-size-expected.txt: Updated expectations. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/radiobutton-min-size-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/radiobutton-min-size.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/support/w3c-import.log trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/w3c-import.log trunk/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-flexbox/radiobutton-min-size-expected.txt Added Paths trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-min-width-auto-005-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-min-width-auto-005.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-min-width-auto-006-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-min-width-auto-006.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/percentage-descendant-of-anonymous-flex-item-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/percentage-descendant-of-anonymous-flex-item.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/support/40x20-green.png Removed Paths trunk/LayoutTests/css3/flexbox/percentage-descendants-of-skipped-flex-item-expected.html trunk/LayoutTests/css3/flexbox/percentage-descendants-of-skipped-flex-item.html Diff Modified: trunk/LayoutTests/ChangeLog (272794 => 272795) --- trunk/LayoutTests/ChangeLog 2021-02-12 19:08:28 UTC (rev 272794) +++ trunk/LayoutTests/ChangeLog 2021-02-12 19:10:59 UTC (rev 272795) @@ -1,3 +1,19 @@ +2021-02-12 Sergio Villar Senin + +[css-flexbox] Another WPT test import +https://bugs.webkit.org/show_bug.cgi?id=221813 + +Reviewed by Youenn Fablet. + +Imported the most recent changes in flexbox WPT tests. This implies deleting a local test that +was upstreamed to WPT, so it does not make sense to have a duplicate. + +* TestExpectations: Removed a test that is currently passing. Adding a new expected failure. +* css3/flexbox/percentage-descendants-of-skipped-flex-item-expected.html: Removed. +* css3/flexbox/percentage-descendants-of-skipped-flex-item.html: Removed. +* platform/ios-wk2/imported/w3c/web-platform-tests/css/css-flexbox/radiobutton-min-size-expected.txt: +Updated expectations. + 2021-02-12 Julian Gonzalez Crash in WebCore::RenderThemeMac::paintSearchFieldResultsDecorationPart() from large scale Modified: trunk/LayoutTests/TestExpectations (272794 => 272795) --- trunk/LayoutTests/TestExpectations 2021-02-12 19:08:28 UTC (rev 272794) +++ trunk/LayoutTests/TestExpectations 2021-02-12 19:10:59 UTC (rev 272795) @@ -3928,7 +3928,6 @@ webkit.org/b/210093 imported/w3c/web-platform-tests/css/css-flexbox/select-element-zero-height-002.html [ ImageOnlyFailure ] webkit.org/b/210144 imported/w3c/web-platform-tests/css/css-flexbox/anonymous-flex-item-005.html [ ImageOnlyFailure ] webkit.org/b/210478 imported/w3c/web-platform-tests/css/css-flexbox/percentage-heights-006.html [
[webkit-changes] [272779] trunk
Title: [272779] trunk Revision 272779 Author svil...@igalia.com Date 2021-02-12 03:29:32 -0800 (Fri, 12 Feb 2021) Log Message Crash in InsertTextCommand::doApply https://bugs.webkit.org/show_bug.cgi?id=213514 Reviewed by Ryosuke Niwa. Source/WebCore: The InsertTextCommand might delete the current selection before inserting the text. In that case and when the selection was ending inside an empty row of a table the code was calling CompositeEditCommand::removeNode() directly to delete the empty row. That method however does not properly update the m_endingPosition of the CompositeEditCommand leaving the current selection in an inconsistent state. Replaced that call by removeNodeUpdatingStates() which ends up calling removeNode() but only after updating the selection state. Test: editing/deleting/insert-in-orphaned-selection-crash.html * editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::removePreviouslySelectedEmptyTableRows): Replaced CompositeEditCommand::removeNode() by removeNodeUpdatingStates(). LayoutTests: * editing/deleting/insert-in-orphaned-selection-crash-expected.txt: Added. * editing/deleting/insert-in-orphaned-selection-crash.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/editing/DeleteSelectionCommand.cpp Added Paths trunk/LayoutTests/editing/deleting/insert-in-orphaned-selection-crash-expected.txt trunk/LayoutTests/editing/deleting/insert-in-orphaned-selection-crash.html Diff Modified: trunk/LayoutTests/ChangeLog (272778 => 272779) --- trunk/LayoutTests/ChangeLog 2021-02-12 10:54:32 UTC (rev 272778) +++ trunk/LayoutTests/ChangeLog 2021-02-12 11:29:32 UTC (rev 272779) @@ -1,3 +1,13 @@ +2021-02-10 Sergio Villar Senin + +Crash in InsertTextCommand::doApply +https://bugs.webkit.org/show_bug.cgi?id=213514 + +Reviewed by Ryosuke Niwa. + +* editing/deleting/insert-in-orphaned-selection-crash-expected.txt: Added. +* editing/deleting/insert-in-orphaned-selection-crash.html: Added. + 2021-02-12 Youenn Fablet Make RemoteRealtimeVideoSource a RealtimeVideoCaptureSource Added: trunk/LayoutTests/editing/deleting/insert-in-orphaned-selection-crash-expected.txt (0 => 272779) --- trunk/LayoutTests/editing/deleting/insert-in-orphaned-selection-crash-expected.txt (rev 0) +++ trunk/LayoutTests/editing/deleting/insert-in-orphaned-selection-crash-expected.txt 2021-02-12 11:29:32 UTC (rev 272779) @@ -0,0 +1,3 @@ +CONSOLE MESSAGE: The test PASS if it does not CRASH. +CONSOLE MESSAGE: NotFoundError: The object can not be found here. + Property changes on: trunk/LayoutTests/editing/deleting/insert-in-orphaned-selection-crash-expected.txt ___ Added: svn:eol-style +LF \ No newline at end of property Added: trunk/LayoutTests/editing/deleting/insert-in-orphaned-selection-crash.html (0 => 272779) --- trunk/LayoutTests/editing/deleting/insert-in-orphaned-selection-crash.html (rev 0) +++ trunk/LayoutTests/editing/deleting/insert-in-orphaned-selection-crash.html 2021-02-12 11:29:32 UTC (rev 272779) @@ -0,0 +1,24 @@ + + * { -webkit-appearance:default-button; } + + +if (window.testRunner) +testRunner.dumpAsText(); +document.addEventListener("DOMNodeRemoved", function () { +document.designMode = document.designMode == "on" ? "off" : "on"; +document.execCommand("SelectAll"); +}); +document.addEventListener("DOMFocusIn", function () { +document.execCommand('InsertText'); +console.log("The test PASS if it does not CRASH."); +}); +window._onload_ = function() { +document.getElementsByTagName("div")[0].remove(); +}; + + + + + + + Property changes on: trunk/LayoutTests/editing/deleting/insert-in-orphaned-selection-crash.html ___ Added: svn:eol-style +LF \ No newline at end of property Added: svn:mime-type +text/html \ No newline at end of property Modified: trunk/Source/WebCore/ChangeLog (272778 => 272779) --- trunk/Source/WebCore/ChangeLog 2021-02-12 10:54:32 UTC (rev 272778) +++ trunk/Source/WebCore/ChangeLog 2021-02-12 11:29:32 UTC (rev 272779) @@ -1,3 +1,22 @@ +2021-02-10 Sergio Villar Senin + +Crash in InsertTextCommand::doApply +https://bugs.webkit.org/show_bug.cgi?id=213514 + +Reviewed by Ryosuke Niwa. + +The InsertTextCommand might delete the current selection before inserting the text. In that case and when +the selection was ending inside an empty row of a table the code was calling CompositeEditCommand::removeNode() +directly to delete the empty row. That method however does not properly update the m_endingPosition of +the CompositeEditCommand leaving the current selection in an inconsistent state. Replaced that call by +removeNodeUpdatingStates() which ends up calling
[webkit-changes] [272721] trunk/Source
Title: [272721] trunk/Source Revision 272721 Author svil...@igalia.com Date 2021-02-11 06:18:29 -0800 (Thu, 11 Feb 2021) Log Message Non unified build fixes for mid February 2021 https://bugs.webkit.org/show_bug.cgi?id=221749 Reviewed by Youenn Fablet. Source/WebCore: * CMakeLists.txt: * Modules/mediastream/SFrameUtils.cpp: * Modules/mediastream/STUNMessageParsing.h: * bindings/js/WebCoreBuiltinNames.h: * dom/EventTargetFactory.in: * inspector/InspectorFrontendAPIDispatcher.cpp: (WebCore::InspectorFrontendAPIDispatcher::evaluateOrQueueExpression): * workers/DedicatedWorkerGlobalScope.cpp: * workers/Worker.cpp: Source/WebKit: * GPUProcess/graphics/RemoteRenderingBackend.cpp: * GPUProcess/media/RemoteCDMInstanceProxy.cpp: Modified Paths trunk/Source/WebCore/CMakeLists.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/mediastream/SFrameUtils.cpp trunk/Source/WebCore/Modules/mediastream/STUNMessageParsing.h trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h trunk/Source/WebCore/dom/EventTargetFactory.in trunk/Source/WebCore/inspector/InspectorFrontendAPIDispatcher.cpp trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.cpp trunk/Source/WebCore/workers/Worker.cpp trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp trunk/Source/WebKit/GPUProcess/media/RemoteCDMInstanceProxy.cpp Diff Modified: trunk/Source/WebCore/CMakeLists.txt (272720 => 272721) --- trunk/Source/WebCore/CMakeLists.txt 2021-02-11 13:42:42 UTC (rev 272720) +++ trunk/Source/WebCore/CMakeLists.txt 2021-02-11 14:18:29 UTC (rev 272721) @@ -1792,8 +1792,16 @@ ) list(APPEND WebCoreTestSupport_SOURCES +dom/AbstractRange.cpp + +inspector/InspectorFrontendClientLocal.cpp + +platform/graphics/HEVCUtilities.cpp +platform/graphics/VP9Utilities.cpp + +platform/mediarecorder/MediaRecorderPrivateMock.cpp + platform/mock/PlatformSpeechSynthesizerMock.cpp - platform/mock/mediasource/MockBox.cpp platform/mock/mediasource/MockMediaPlayerMediaSource.cpp platform/mock/mediasource/MockMediaSourcePrivate.cpp Modified: trunk/Source/WebCore/ChangeLog (272720 => 272721) --- trunk/Source/WebCore/ChangeLog 2021-02-11 13:42:42 UTC (rev 272720) +++ trunk/Source/WebCore/ChangeLog 2021-02-11 14:18:29 UTC (rev 272721) @@ -1,3 +1,20 @@ +2021-02-11 Sergio Villar Senin + +Non unified build fixes for mid February 2021 +https://bugs.webkit.org/show_bug.cgi?id=221749 + +Reviewed by Youenn Fablet. + +* CMakeLists.txt: +* Modules/mediastream/SFrameUtils.cpp: +* Modules/mediastream/STUNMessageParsing.h: +* bindings/js/WebCoreBuiltinNames.h: +* dom/EventTargetFactory.in: +* inspector/InspectorFrontendAPIDispatcher.cpp: +(WebCore::InspectorFrontendAPIDispatcher::evaluateOrQueueExpression): +* workers/DedicatedWorkerGlobalScope.cpp: +* workers/Worker.cpp: + 2021-02-11 Rob Buis Handle min-width/min-height:auto for aspect-ratio Modified: trunk/Source/WebCore/Modules/mediastream/SFrameUtils.cpp (272720 => 272721) --- trunk/Source/WebCore/Modules/mediastream/SFrameUtils.cpp 2021-02-11 13:42:42 UTC (rev 272720) +++ trunk/Source/WebCore/Modules/mediastream/SFrameUtils.cpp 2021-02-11 14:18:29 UTC (rev 272721) @@ -28,6 +28,8 @@ #if ENABLE(WEB_RTC) +#include + namespace WebCore { static inline bool isSliceNALU(uint8_t data) Modified: trunk/Source/WebCore/Modules/mediastream/STUNMessageParsing.h (272720 => 272721) --- trunk/Source/WebCore/Modules/mediastream/STUNMessageParsing.h 2021-02-11 13:42:42 UTC (rev 272720) +++ trunk/Source/WebCore/Modules/mediastream/STUNMessageParsing.h 2021-02-11 14:18:29 UTC (rev 272721) @@ -26,6 +26,7 @@ #pragma once #include +#include #include #if ENABLE(WEB_RTC) Modified: trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h (272720 => 272721) --- trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h 2021-02-11 13:42:42 UTC (rev 272720) +++ trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h 2021-02-11 14:18:29 UTC (rev 272721) @@ -263,6 +263,7 @@ macro(TextEncoderStream) \ macro(TextEncoderStreamEncoder) \ macro(TextTrackCue) \ +macro(TextTrackCueGeneric) \ macro(TransformStream) \ macro(TransformStreamDefaultController) \ macro(UndoItem) \ Modified: trunk/Source/WebCore/dom/EventTargetFactory.in (272720 => 272721) --- trunk/Source/WebCore/dom/EventTargetFactory.in 2021-02-11 13:42:42 UTC (rev 272720) +++ trunk/Source/WebCore/dom/EventTargetFactory.in 2021-02-11 14:18:29 UTC (rev 272721) @@ -49,6 +49,7 @@ SpeechSynthesisUtterance conditional=SPEECH_SYNTHESIS TextTrack conditional=VIDEO TextTrackCue conditional=VIDEO +TextTrackCueGeneric conditional=VIDEO TextTrackList conditional=VIDEO VideoTrackList conditional=VIDEO VisualViewport Modified: trunk/Source/WebCore/inspector/InspectorFrontendAPIDispatcher.cpp (272720 => 272721) ---
[webkit-changes] [272720] trunk/LayoutTests
Title: [272720] trunk/LayoutTests Revision 272720 Author svil...@igalia.com Date 2021-02-11 05:42:42 -0800 (Thu, 11 Feb 2021) Log Message Unreviewed test gardening. * platform/ios/TestExpectations: Replaced Failure by ImageOnlyFailure for a couple of tests I imported yesterday. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/ios/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (272719 => 272720) --- trunk/LayoutTests/ChangeLog 2021-02-11 11:08:23 UTC (rev 272719) +++ trunk/LayoutTests/ChangeLog 2021-02-11 13:42:42 UTC (rev 272720) @@ -1,3 +1,9 @@ +2021-02-11 Sergio Villar Senin + +Unreviewed test gardening. + +* platform/ios/TestExpectations: Replaced Failure by ImageOnlyFailure for a couple of tests I imported yesterday. + 2021-02-11 Rob Buis Handle min-width/min-height:auto for aspect-ratio Modified: trunk/LayoutTests/platform/ios/TestExpectations (272719 => 272720) --- trunk/LayoutTests/platform/ios/TestExpectations 2021-02-11 11:08:23 UTC (rev 272719) +++ trunk/LayoutTests/platform/ios/TestExpectations 2021-02-11 13:42:42 UTC (rev 272720) @@ -2613,8 +2613,8 @@ webkit.org/b/211891 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-align-self-vert-rtl-002.xhtml [ ImageOnlyFailure ] # min-width: auto issues. -webkit.org/b/221600 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-min-width-auto-003.html [ Failure ] -webkit.org/b/221600 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-min-width-auto-004.html [ Failure ] +webkit.org/b/221600 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-min-width-auto-003.html [ ImageOnlyFailure ] +webkit.org/b/221600 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-min-width-auto-004.html [ ImageOnlyFailure ] # Skip test because checkboxes/radio buttons don't behave the same on iOS fast/replaced/table-percent-height.html [ Skip ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [272054] trunk
Title: [272054] trunk Revision 272054 Author svil...@igalia.com Date 2021-01-29 02:01:27 -0800 (Fri, 29 Jan 2021) Log Message [css-flexbox] REGRESSION(r266695): content inside a `` inside a flex container has a height of `0` without a declared `min-height` https://bugs.webkit.org/show_bug.cgi?id=220946 Reviewed by Zalan Bujtas. Source/WebCore: Test: css3/flexbox/percentage-descendants-of-skipped-flex-item.html r252620 added an optimization which saves layouts for flexbox containers' descendants with percentage heights. That optimization relies on a hash map of percentage height descendants that is filled in with calls to addPercentHeightDescendant(). FlexibleBoxImpl's like RenderButton might wrap their children in anonymous blocks. Those anonymous blocks are skipped for percentage height calculations in RenderBox::computePercentageLogicalHeight() and thus addPercentHeightDescendant() is never called for them. This means that hasPercentageHeightDescendants() would always wrongly return false for a child of a with a percentage height. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::childHasPercentHeightDescendants const): Renamed from hasPercentHeightDescendants in order not to clash with RenderBlock method. It now also checks whether flex items skipped from percentage height calculations are the containing blocks of any percentage height descendant of the flex container (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): (WebCore::RenderFlexibleBox::hasPercentHeightDescendants const): Deleted. * rendering/RenderFlexibleBox.h: LayoutTests: * css3/flexbox/percentage-descendants-of-skipped-flex-item-expected.html: Added. * css3/flexbox/percentage-descendants-of-skipped-flex-item.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp trunk/Source/WebCore/rendering/RenderFlexibleBox.h Added Paths trunk/LayoutTests/css3/flexbox/percentage-descendants-of-skipped-flex-item-expected.html trunk/LayoutTests/css3/flexbox/percentage-descendants-of-skipped-flex-item.html Diff Modified: trunk/LayoutTests/ChangeLog (272053 => 272054) --- trunk/LayoutTests/ChangeLog 2021-01-29 09:01:22 UTC (rev 272053) +++ trunk/LayoutTests/ChangeLog 2021-01-29 10:01:27 UTC (rev 272054) @@ -1,3 +1,13 @@ +2021-01-28 Sergio Villar Senin + +[css-flexbox] REGRESSION(r266695): content inside a `` inside a flex container has a height of `0` without a declared `min-height` +https://bugs.webkit.org/show_bug.cgi?id=220946 + +Reviewed by Zalan Bujtas. + +* css3/flexbox/percentage-descendants-of-skipped-flex-item-expected.html: Added. +* css3/flexbox/percentage-descendants-of-skipped-flex-item.html: Added. + 2021-01-29 Youenn Fablet [MacOS] Enable WebKitTestRunner audio and video capture in GPUProcess Added: trunk/LayoutTests/css3/flexbox/percentage-descendants-of-skipped-flex-item-expected.html (0 => 272054) --- trunk/LayoutTests/css3/flexbox/percentage-descendants-of-skipped-flex-item-expected.html (rev 0) +++ trunk/LayoutTests/css3/flexbox/percentage-descendants-of-skipped-flex-item-expected.html 2021-01-29 10:01:27 UTC (rev 272054) @@ -0,0 +1,4 @@ + + + + Property changes on: trunk/LayoutTests/css3/flexbox/percentage-descendants-of-skipped-flex-item-expected.html ___ Added: svn:eol-style +LF \ No newline at end of property Added: svn:mime-type +text/html \ No newline at end of property Added: trunk/LayoutTests/css3/flexbox/percentage-descendants-of-skipped-flex-item.html (0 => 272054) --- trunk/LayoutTests/css3/flexbox/percentage-descendants-of-skipped-flex-item.html (rev 0) +++ trunk/LayoutTests/css3/flexbox/percentage-descendants-of-skipped-flex-item.html 2021-01-29 10:01:27 UTC (rev 272054) @@ -0,0 +1,15 @@ + + + +.flexbox { +width: 200px; +height: 200px; +} + + + + + + + + Property changes on: trunk/LayoutTests/css3/flexbox/percentage-descendants-of-skipped-flex-item.html ___ Added: svn:eol-style +LF \ No newline at end of property Added: svn:mime-type +text/html \ No newline at end of property Modified: trunk/Source/WebCore/ChangeLog (272053 => 272054) --- trunk/Source/WebCore/ChangeLog 2021-01-29 09:01:22 UTC (rev 272053) +++ trunk/Source/WebCore/ChangeLog 2021-01-29 10:01:27 UTC (rev 272054) @@ -1,3 +1,29 @@ +2021-01-28 Sergio Villar Senin + +[css-flexbox] REGRESSION(r266695): content inside a `` inside a flex container has a height of `0` without a declared `min-height` +https://bugs.webkit.org/show_bug.cgi?id=220946 + +Reviewed by Zalan Bujtas. + +Test: css3/flexbox/percentage-descendants-of-skipped-flex-item.html + +r252620 added an optimization which saves layouts for
[webkit-changes] [271644] trunk
Title: [271644] trunk Revision 271644 Author svil...@igalia.com Date 2021-01-20 02:59:39 -0800 (Wed, 20 Jan 2021) Log Message [css-multicol] OOM with 1px height columns https://bugs.webkit.org/show_bug.cgi?id=220490 Reviewed by Ryosuke Niwa. Source/WebCore: Test: fast/multicol/newmulticol/zero-height-columns-oom-crash.html Multicol sometimes computes <= 0 heights for the columns. For all those cases the code was adjusting them to 1px values apparently to avoid creating an "infinite" amount of columns. However that adjustment was precisely causing OOM situations in those cases where there was a relatively large amount of free space. In those cases the code was creating dozens of thousands of 1px height columns (with all their associated structures) until we run out of memory. Using zero heights in those cases seem sane because it's already being properly handled in the current code. * rendering/RenderMultiColumnSet.cpp: (WebCore::RenderMultiColumnSet::heightAdjustedForSetOffset const): cap negative heights to 0. LayoutTests: * fast/multicol/newmulticol/zero-height-columns-oom-crash-expected.txt: Added. * fast/multicol/newmulticol/zero-height-columns-oom-crash.html: Added. * imported/blink/fast/pagination/first-letter-inherit-all-crash-expected.txt: Updated expectations. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/imported/blink/fast/pagination/first-letter-inherit-all-crash-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderMultiColumnSet.cpp Added Paths trunk/LayoutTests/fast/multicol/newmulticol/zero-height-columns-oom-crash-expected.txt trunk/LayoutTests/fast/multicol/newmulticol/zero-height-columns-oom-crash.html Diff Modified: trunk/LayoutTests/ChangeLog (271643 => 271644) --- trunk/LayoutTests/ChangeLog 2021-01-20 10:43:59 UTC (rev 271643) +++ trunk/LayoutTests/ChangeLog 2021-01-20 10:59:39 UTC (rev 271644) @@ -1,3 +1,14 @@ +2021-01-18 Sergio Villar Senin + +[css-multicol] OOM with 1px height columns +https://bugs.webkit.org/show_bug.cgi?id=220490 + +Reviewed by Ryosuke Niwa. + +* fast/multicol/newmulticol/zero-height-columns-oom-crash-expected.txt: Added. +* fast/multicol/newmulticol/zero-height-columns-oom-crash.html: Added. +* imported/blink/fast/pagination/first-letter-inherit-all-crash-expected.txt: Updated expectations. + 2021-01-19 Megan Gardner Elements in a table are incorrectly selected in _javascript_. Added: trunk/LayoutTests/fast/multicol/newmulticol/zero-height-columns-oom-crash-expected.txt (0 => 271644) --- trunk/LayoutTests/fast/multicol/newmulticol/zero-height-columns-oom-crash-expected.txt (rev 0) +++ trunk/LayoutTests/fast/multicol/newmulticol/zero-height-columns-oom-crash-expected.txt 2021-01-20 10:59:39 UTC (rev 271644) @@ -0,0 +1,3 @@ +* { display: block; writing-mode: vertical-lr; -webkit-column-axis: horizontal; } *::first-letter {} +if (window.testRunner) testRunner.dumpAsText(); +The test PASS if it does not crash. Property changes on: trunk/LayoutTests/fast/multicol/newmulticol/zero-height-columns-oom-crash-expected.txt ___ Added: svn:eol-style +LF \ No newline at end of property Added: trunk/LayoutTests/fast/multicol/newmulticol/zero-height-columns-oom-crash.html (0 => 271644) --- trunk/LayoutTests/fast/multicol/newmulticol/zero-height-columns-oom-crash.html (rev 0) +++ trunk/LayoutTests/fast/multicol/newmulticol/zero-height-columns-oom-crash.html 2021-01-20 10:59:39 UTC (rev 271644) @@ -0,0 +1,14 @@ + + +* { +display: block; +writing-mode: vertical-lr; +-webkit-column-axis: horizontal; +} +*::first-letter {} + + +if (window.testRunner) +testRunner.dumpAsText(); + +The test PASS if it does not crash. Property changes on: trunk/LayoutTests/fast/multicol/newmulticol/zero-height-columns-oom-crash.html ___ Added: svn:eol-style +LF \ No newline at end of property Added: svn:mime-type +text/html \ No newline at end of property Modified: trunk/LayoutTests/imported/blink/fast/pagination/first-letter-inherit-all-crash-expected.txt (271643 => 271644) --- trunk/LayoutTests/imported/blink/fast/pagination/first-letter-inherit-all-crash-expected.txt 2021-01-20 10:43:59 UTC (rev 271643) +++ trunk/LayoutTests/imported/blink/fast/pagination/first-letter-inherit-all-crash-expected.txt 2021-01-20 10:59:39 UTC (rev 271644) @@ -2,4 +2,4 @@ PASS if no crash or assertion failure. -x + Modified: trunk/Source/WebCore/ChangeLog (271643 => 271644) --- trunk/Source/WebCore/ChangeLog 2021-01-20 10:43:59 UTC (rev 271643) +++ trunk/Source/WebCore/ChangeLog 2021-01-20 10:59:39 UTC (rev 271644) @@ -1,3 +1,22 @@ +2021-01-18 Sergio Villar Senin + +[css-multicol] OOM with 1px height columns +https://bugs.webkit.org/show_bug.cgi?id=220490 + +
[webkit-changes] [271618] trunk
Title: [271618] trunk Revision 271618 Author svil...@igalia.com Date 2021-01-19 14:15:10 -0800 (Tue, 19 Jan 2021) Log Message REGRESSION(r266695) Range control with custom track width sized incorrectly https://bugs.webkit.org/show_bug.cgi?id=220608 Reviewed by Zalan Bujtas. Source/WebCore: Test: fast/forms/range/input-range-sizing-fixed-size.html In r266695 we modified the way min-{width|height}: auto was computed for flexbox elements. That broke the sizing of input range controls that were working under the assumption that min-{width|height} was 0. We have to force it in the UA CSS in order to keep the same behaviour. * css/html.css: (input[type="range"]::-webkit-slider-container, input[type="range"]::-webkit-media-slider-container): force min-width: 0. LayoutTests: New test case to verify that input range controls are sized correctly with specified widths. * fast/forms/range/input-range-sizing-fixed-size-expected.html: Added. * fast/forms/range/input-range-sizing-fixed-size.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/html.css Added Paths trunk/LayoutTests/fast/forms/range/input-range-sizing-fixed-size-expected.html trunk/LayoutTests/fast/forms/range/input-range-sizing-fixed-size.html Diff Modified: trunk/LayoutTests/ChangeLog (271617 => 271618) --- trunk/LayoutTests/ChangeLog 2021-01-19 22:11:09 UTC (rev 271617) +++ trunk/LayoutTests/ChangeLog 2021-01-19 22:15:10 UTC (rev 271618) @@ -1,3 +1,15 @@ +2021-01-19 Sergio Villar Senin + +REGRESSION(r266695) Range control with custom track width sized incorrectly +https://bugs.webkit.org/show_bug.cgi?id=220608 + +Reviewed by Zalan Bujtas. + +New test case to verify that input range controls are sized correctly with specified widths. + +* fast/forms/range/input-range-sizing-fixed-size-expected.html: Added. +* fast/forms/range/input-range-sizing-fixed-size.html: Added. + 2021-01-19 Devin Rousso Payment Request API - PaymentDetailsUpdate requires "total" Added: trunk/LayoutTests/fast/forms/range/input-range-sizing-fixed-size-expected.html (0 => 271618) --- trunk/LayoutTests/fast/forms/range/input-range-sizing-fixed-size-expected.html (rev 0) +++ trunk/LayoutTests/fast/forms/range/input-range-sizing-fixed-size-expected.html 2021-01-19 22:15:10 UTC (rev 271618) @@ -0,0 +1,2 @@ + + Added: trunk/LayoutTests/fast/forms/range/input-range-sizing-fixed-size.html (0 => 271618) --- trunk/LayoutTests/fast/forms/range/input-range-sizing-fixed-size.html (rev 0) +++ trunk/LayoutTests/fast/forms/range/input-range-sizing-fixed-size.html 2021-01-19 22:15:10 UTC (rev 271618) @@ -0,0 +1,7 @@ + + +input[type=range]::-webkit-slider-runnable-track { +width: 800px; +} + + Modified: trunk/Source/WebCore/ChangeLog (271617 => 271618) --- trunk/Source/WebCore/ChangeLog 2021-01-19 22:11:09 UTC (rev 271617) +++ trunk/Source/WebCore/ChangeLog 2021-01-19 22:15:10 UTC (rev 271618) @@ -1,3 +1,20 @@ +2021-01-19 Sergio Villar Senin + +REGRESSION(r266695) Range control with custom track width sized incorrectly +https://bugs.webkit.org/show_bug.cgi?id=220608 + +Reviewed by Zalan Bujtas. + +Test: fast/forms/range/input-range-sizing-fixed-size.html + +In r266695 we modified the way min-{width|height}: auto was computed for flexbox elements. That broke the sizing +of input range controls that were working under the assumption that min-{width|height} was 0. We have to force it +in the UA CSS in order to keep the same behaviour. + +* css/html.css: +(input[type="range"]::-webkit-slider-container, input[type="range"]::-webkit-media-slider-container): force +min-width: 0. + 2021-01-19 Zalan Bujtas [LFC][RenderTreeDump] Match empty RenderInline geometry Modified: trunk/Source/WebCore/css/html.css (271617 => 271618) --- trunk/Source/WebCore/css/html.css 2021-01-19 22:11:09 UTC (rev 271617) +++ trunk/Source/WebCore/css/html.css 2021-01-19 22:15:10 UTC (rev 271618) @@ -834,6 +834,7 @@ box-sizing: border-box; display: flex; align-contents: center; +min-width: 0; } input[type="range"]::-webkit-slider-runnable-track { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [271436] trunk
Title: [271436] trunk Revision 271436 Author svil...@igalia.com Date 2021-01-13 03:54:00 -0800 (Wed, 13 Jan 2021) Log Message REGRESSION(r268666) Incorrect vertical position inside grid items with padding https://bugs.webkit.org/show_bug.cgi?id=220524 Reviewed by Manuel Rego Casasnovas. Source/WebCore: In r268666 we sanitized and renamed the old overrideLogicalXXX sizes so that they store what they say. There was a mistake in one of those renames, in availableLogicalHeightForPercentageComputation() we were returning the border box size for the case of grid items. That's clearly wrong as we should return the content box size. That's why adding a padding to a grid item was causing their children to wrongly evaluate the available logical height. This fixes a WPT that was marked as failure. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::availableLogicalHeightForPercentageComputation const): Return the overridingContentLogicalHeight instead of the overridingLogicalHeight. LayoutTests: * TestExpectations: remove web-platform-tests/css/css-grid/grid-items/percentage-size-subitems-001.html from the list of image failures. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderBlock.cpp Diff Modified: trunk/LayoutTests/ChangeLog (271435 => 271436) --- trunk/LayoutTests/ChangeLog 2021-01-13 10:11:25 UTC (rev 271435) +++ trunk/LayoutTests/ChangeLog 2021-01-13 11:54:00 UTC (rev 271436) @@ -1,3 +1,13 @@ +2021-01-13 Sergio Villar Senin + +REGRESSION(r268666) Incorrect vertical position inside grid items with padding +https://bugs.webkit.org/show_bug.cgi?id=220524 + +Reviewed by Manuel Rego Casasnovas. + +* TestExpectations: remove web-platform-tests/css/css-grid/grid-items/percentage-size-subitems-001.html +from the list of image failures. + 2021-01-12 Antoine Quint REGRESSION (r267571): black line appears upon navigating back from apple.com shopping bag Modified: trunk/LayoutTests/TestExpectations (271435 => 271436) --- trunk/LayoutTests/TestExpectations 2021-01-13 10:11:25 UTC (rev 271435) +++ trunk/LayoutTests/TestExpectations 2021-01-13 11:54:00 UTC (rev 271436) @@ -1206,7 +1206,6 @@ webkit.org/b/216145 imported/w3c/web-platform-tests/css/css-grid/alignment/grid-item-no-aspect-ratio-stretch-8.html [ ImageOnlyFailure ] webkit.org/b/216145 imported/w3c/web-platform-tests/css/css-grid/alignment/grid-item-no-aspect-ratio-stretch-9.html [ ImageOnlyFailure ] webkit.org/b/216145 imported/w3c/web-platform-tests/css/css-grid/alignment/grid-item-no-aspect-ratio-stretch-10.html [ ImageOnlyFailure ] -webkit.org/b/191461 imported/w3c/web-platform-tests/css/css-grid/grid-items/percentage-size-subitems-001.html [ ImageOnlyFailure ] webkit.org/b/191463 imported/w3c/web-platform-tests/css/css-grid/grid-items/explicitly-sized-grid-item-as-table.html [ ImageOnlyFailure ] webkit.org/b/191627 imported/w3c/web-platform-tests/css/css-grid/alignment/grid-self-baseline-not-applied-if-sizing-cyclic-dependency-001.html [ Failure ] webkit.org/b/149890 fast/css-grid-layout/grid-shorthands-style-format.html [ Failure ] Modified: trunk/Source/WebCore/ChangeLog (271435 => 271436) --- trunk/Source/WebCore/ChangeLog 2021-01-13 10:11:25 UTC (rev 271435) +++ trunk/Source/WebCore/ChangeLog 2021-01-13 11:54:00 UTC (rev 271436) @@ -1,3 +1,22 @@ +2021-01-13 Sergio Villar Senin + +REGRESSION(r268666) Incorrect vertical position inside grid items with padding +https://bugs.webkit.org/show_bug.cgi?id=220524 + +Reviewed by Manuel Rego Casasnovas. + +In r268666 we sanitized and renamed the old overrideLogicalXXX sizes so that they store what they say. +There was a mistake in one of those renames, in availableLogicalHeightForPercentageComputation() we were +returning the border box size for the case of grid items. That's clearly wrong as we should return the +content box size. That's why adding a padding to a grid item was causing their children to wrongly +evaluate the available logical height. + +This fixes a WPT that was marked as failure. + +* rendering/RenderBlock.cpp: +(WebCore::RenderBlock::availableLogicalHeightForPercentageComputation const): Return the +overridingContentLogicalHeight instead of the overridingLogicalHeight. + 2021-01-12 Antoine Quint REGRESSION (r267571): black line appears upon navigating back from apple.com shopping bag Modified: trunk/Source/WebCore/rendering/RenderBlock.cpp (271435 => 271436) --- trunk/Source/WebCore/rendering/RenderBlock.cpp 2021-01-13 10:11:25 UTC (rev 271435) +++ trunk/Source/WebCore/rendering/RenderBlock.cpp 2021-01-13 11:54:00 UTC (rev 271436) @@ -3203,7 +3203,7 @@ if (stretchedFlexHeight) availableHeight = stretchedFlexHeight; else if (isGridItem() && hasOverridingLogicalHeight()) -
[webkit-changes] [271357] trunk/Source/WebCore
Title: [271357] trunk/Source/WebCore Revision 271357 Author svil...@igalia.com Date 2021-01-11 03:44:41 -0800 (Mon, 11 Jan 2021) Log Message [css-multicol] Restore placeholders on multicolumn children position changes. https://bugs.webkit.org/show_bug.cgi?id=218501 Reviewed by Zalan Bujtas. Whenever there is a placeholder in a multicolumn flow ("column-span: all") it must be ensured that the spanner associated to that placeholder is properly restored as a child of the multicolumn flow when the element with "column-span:all" is moved out of the multicolumn flow (for example by removing it, by making it out-of-flow or because an ancestor becomes another multicolumn flow). This was smoothly handled by the current code for the in-flow -> out-of-flow transition but not the other way around, i.e in the case of making the placeholder (or an ancestor) an absolutely positioned element. * rendering/updating/RenderTreeBuilder.cpp: (WebCore::RenderTreeBuilder::normalizeTreeAfterStyleChange): restore column spanners then the element becomes out-of-flow as it's removed from the multicolumn flow. * rendering/updating/RenderTreeBuilderMultiColumn.cpp: (WebCore::RenderTreeBuilder::MultiColumn::createFragmentedFlow): Call the newly created method restoreColumnSpannersForContainer(). (WebCore::RenderTreeBuilder::MultiColumn::restoreColumnSpannersForContainer): Refactored from createFragmentedFlow() as it's now used by normalizeTreeAfterStyleChange(). * rendering/updating/RenderTreeBuilderMultiColumn.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp trunk/Source/WebCore/rendering/updating/RenderTreeBuilderMultiColumn.cpp trunk/Source/WebCore/rendering/updating/RenderTreeBuilderMultiColumn.h Diff Modified: trunk/Source/WebCore/ChangeLog (271356 => 271357) --- trunk/Source/WebCore/ChangeLog 2021-01-11 11:15:28 UTC (rev 271356) +++ trunk/Source/WebCore/ChangeLog 2021-01-11 11:44:41 UTC (rev 271357) @@ -1,3 +1,28 @@ +2021-01-07 Sergio Villar Senin + +[css-multicol] Restore placeholders on multicolumn children position changes. +https://bugs.webkit.org/show_bug.cgi?id=218501 + +Reviewed by Zalan Bujtas. + +Whenever there is a placeholder in a multicolumn flow ("column-span: all") it must be ensured that the spanner +associated to that placeholder is properly restored as a child of the multicolumn flow when the element with +"column-span:all" is moved out of the multicolumn flow (for example by removing it, by making it out-of-flow +or because an ancestor becomes another multicolumn flow). + +This was smoothly handled by the current code for the in-flow -> out-of-flow transition but not the other way +around, i.e in the case of making the placeholder (or an ancestor) an absolutely positioned element. + +* rendering/updating/RenderTreeBuilder.cpp: +(WebCore::RenderTreeBuilder::normalizeTreeAfterStyleChange): restore column spanners then the element becomes +out-of-flow as it's removed from the multicolumn flow. +* rendering/updating/RenderTreeBuilderMultiColumn.cpp: +(WebCore::RenderTreeBuilder::MultiColumn::createFragmentedFlow): Call the newly created method +restoreColumnSpannersForContainer(). +(WebCore::RenderTreeBuilder::MultiColumn::restoreColumnSpannersForContainer): Refactored from createFragmentedFlow() +as it's now used by normalizeTreeAfterStyleChange(). +* rendering/updating/RenderTreeBuilderMultiColumn.h: + 2020-12-04 Sergio Villar Senin [css-multicol] Update fragment flow state on element insertion when element position changes Modified: trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp (271356 => 271357) --- trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp 2021-01-11 11:15:28 UTC (rev 271356) +++ trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp 2021-01-11 11:44:41 UTC (rev 271357) @@ -598,9 +598,18 @@ // Out of flow children of RenderMultiColumnFlow are not really part of the multicolumn flow. We need to ensure that changes in positioning like this // trigger insertions into the multicolumn flow. -if (auto* enclosingFragmentedFlow = parent.enclosingFragmentedFlow(); is(enclosingFragmentedFlow) && wasOutOfFlowPositioned && !isOutOfFlowPositioned) { -multiColumnBuilder().multiColumnDescendantInserted(downcast(*enclosingFragmentedFlow), renderer); -renderer.initializeFragmentedFlowStateOnInsertion(); +if (auto* enclosingFragmentedFlow = parent.enclosingFragmentedFlow(); is(enclosingFragmentedFlow)) { +auto movingIntoMulticolumn = wasOutOfFlowPositioned && !isOutOfFlowPositioned; +if (movingIntoMulticolumn) { +multiColumnBuilder().multiColumnDescendantInserted(downcast(*enclosingFragmentedFlow), renderer); +renderer.initializeFragmentedFlowStateOnInsertion(); +
[webkit-changes] [271356] trunk/Source/WebCore
Title: [271356] trunk/Source/WebCore Revision 271356 Author svil...@igalia.com Date 2021-01-11 03:15:28 -0800 (Mon, 11 Jan 2021) Log Message [css-multicol] Update fragment flow state on element insertion when element position changes https://bugs.webkit.org/show_bug.cgi?id=202805 Reviewed by Zalan Bujtas. Let's imagine the following scenario: The generated render tree is more or less the following: DIV |__RenderMultiColumnFlow |__DIV |__RenderMultiColumnFlow | |__RenderMultiColumnSpannerPlaceholder |__DIV |__RenderMultiColumnSet both and generate RenderMultiColumnFlows because they're multicolumn containers while the becomes a spanner and leaves a placeholder in the place where it's supposed to be as it's a "column-span:all". Note that is absolutely positioned so it isn't really part of the column flow of (there is no RenderMultiColumnSet for ). Now if the becomes a statically positioned container (i.e. style="position:static") then it should be inserted (actually its whole subtree) in the multicolumn flow. That insertion implies doing 2 things, first notify the RenderMultiColumnFlow of that a new child was inserted and secondly update the flow state of the subtree which starts in so they acknowledge as their enclosing fragment flow. The former was properly done. However the latter was not done at all, meaning that they would be treated as not belonging to any multicolumn flow when they actually did. * rendering/updating/RenderTreeBuilder.cpp: (WebCore::RenderTreeBuilder::childFlowStateChangesAndAffectsParentBlock): call initializeFragmentedFlowStateOnInsertion(). Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (271355 => 271356) --- trunk/Source/WebCore/ChangeLog 2021-01-11 10:31:00 UTC (rev 271355) +++ trunk/Source/WebCore/ChangeLog 2021-01-11 11:15:28 UTC (rev 271356) @@ -1,3 +1,38 @@ +2020-12-04 Sergio Villar Senin + +[css-multicol] Update fragment flow state on element insertion when element position changes +https://bugs.webkit.org/show_bug.cgi?id=202805 + +Reviewed by Zalan Bujtas. + +Let's imagine the following scenario: + + + + + +The generated render tree is more or less the following: + +DIV +|__RenderMultiColumnFlow + |__DIV + |__RenderMultiColumnFlow + | |__RenderMultiColumnSpannerPlaceholder + |__DIV + |__RenderMultiColumnSet + +both and generate RenderMultiColumnFlows because they're multicolumn containers while the becomes a spanner and leaves +a placeholder in the place where it's supposed to be as it's a "column-span:all". Note that is absolutely positioned so it isn't really +part of the column flow of (there is no RenderMultiColumnSet for ). Now if the becomes a statically positioned container +(i.e. style="position:static") then it should be inserted (actually its whole subtree) in the multicolumn flow. + +That insertion implies doing 2 things, first notify the RenderMultiColumnFlow of that a new child was inserted and secondly update the +flow state of the subtree which starts in so they acknowledge as their enclosing fragment flow. The former was properly done. +However the latter was not done at all, meaning that they would be treated as not belonging to any multicolumn flow when they actually did. + +* rendering/updating/RenderTreeBuilder.cpp: +(WebCore::RenderTreeBuilder::childFlowStateChangesAndAffectsParentBlock): call initializeFragmentedFlowStateOnInsertion(). + 2021-01-11 Xabier Rodriguez Calvar [GStreamer] Add support to build with native audio and video Modified: trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp (271355 => 271356) --- trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp 2021-01-11 10:31:00 UTC (rev 271355) +++ trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp 2021-01-11 11:15:28 UTC (rev 271356) @@ -705,6 +705,7 @@ if (auto* newEnclosingFragmentedFlow = newParent->enclosingFragmentedFlow(); is(newEnclosingFragmentedFlow) && currentEnclosingFragment != newEnclosingFragmentedFlow) { // Let the fragmented flow know that it has a new in-flow descendant. multiColumnBuilder().multiColumnDescendantInserted(downcast(*newEnclosingFragmentedFlow), child); +child.initializeFragmentedFlowStateOnInsertion(); } } } else { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [271288] trunk/Source/WebCore
Title: [271288] trunk/Source/WebCore Revision 271288 Author svil...@igalia.com Date 2021-01-08 01:59:25 -0800 (Fri, 08 Jan 2021) Log Message [WebXR] Initial implemention of device initialization/shutdown with OpenXR https://bugs.webkit.org/show_bug.cgi?id=216925 Reviewed by Darin Adler. Added a very basic initialization and shutdown processes of XR devices using OpenXR. So far we're just creating and destroying the XR session. Follow up patches will add the required machinery to get frame data from OpenXR. * Modules/webxr/WebXRSession.cpp: (WebCore::WebXRSession::WebXRSession): Call initializeTrackingAndRendering(). (WebCore::WebXRSession::~WebXRSession): Call shutdownTrackingAndRendering(). (WebCore::WebXRSession::shutdown): Ditto. * Modules/webxr/WebXRSystem.h: * platform/xr/PlatformXR.h: New virtual methods to initialize/shutdown devices. * platform/xr/openxr/PlatformXROpenXR.cpp: (PlatformXR::OpenXRDevice::OpenXRDevice): Initialize m_session. (PlatformXR::OpenXRDevice::~OpenXRDevice): Call shutdownTrackingAndRendering(). (PlatformXR::toXrViewConfigurationType): New method. Translates from SessionMode to XrViewConfigurationType. (PlatformXR::OpenXRDevice::initializeTrackingAndRendering): New method. Creates a session with a given mode. (PlatformXR::OpenXRDevice::resetSession): Destroys session. (PlatformXR::OpenXRDevice::shutdownTrackingAndRendering): * platform/xr/openxr/PlatformXROpenXR.h: * testing/WebFakeXRDevice.h: Added empty implementations for the new virtual methods. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/webxr/WebXRSession.cpp trunk/Source/WebCore/Modules/webxr/WebXRSystem.h trunk/Source/WebCore/platform/xr/PlatformXR.h trunk/Source/WebCore/platform/xr/openxr/PlatformXROpenXR.cpp trunk/Source/WebCore/platform/xr/openxr/PlatformXROpenXR.h trunk/Source/WebCore/testing/WebFakeXRDevice.h Diff Modified: trunk/Source/WebCore/ChangeLog (271287 => 271288) --- trunk/Source/WebCore/ChangeLog 2021-01-08 07:34:45 UTC (rev 271287) +++ trunk/Source/WebCore/ChangeLog 2021-01-08 09:59:25 UTC (rev 271288) @@ -1,3 +1,29 @@ +2020-09-24 Sergio Villar Senin + +[WebXR] Initial implemention of device initialization/shutdown with OpenXR +https://bugs.webkit.org/show_bug.cgi?id=216925 + +Reviewed by Darin Adler. + +Added a very basic initialization and shutdown processes of XR devices using OpenXR. So far we're just creating and destroying +the XR session. Follow up patches will add the required machinery to get frame data from OpenXR. + +* Modules/webxr/WebXRSession.cpp: +(WebCore::WebXRSession::WebXRSession): Call initializeTrackingAndRendering(). +(WebCore::WebXRSession::~WebXRSession): Call shutdownTrackingAndRendering(). +(WebCore::WebXRSession::shutdown): Ditto. +* Modules/webxr/WebXRSystem.h: +* platform/xr/PlatformXR.h: New virtual methods to initialize/shutdown devices. +* platform/xr/openxr/PlatformXROpenXR.cpp: +(PlatformXR::OpenXRDevice::OpenXRDevice): Initialize m_session. +(PlatformXR::OpenXRDevice::~OpenXRDevice): Call shutdownTrackingAndRendering(). +(PlatformXR::toXrViewConfigurationType): New method. Translates from SessionMode to XrViewConfigurationType. +(PlatformXR::OpenXRDevice::initializeTrackingAndRendering): New method. Creates a session with a given mode. +(PlatformXR::OpenXRDevice::resetSession): Destroys session. +(PlatformXR::OpenXRDevice::shutdownTrackingAndRendering): +* platform/xr/openxr/PlatformXROpenXR.h: +* testing/WebFakeXRDevice.h: Added empty implementations for the new virtual methods. + 2021-01-07 Zalan Bujtas paypal.com: text at the bottom of the page is not aligned properly Modified: trunk/Source/WebCore/Modules/webxr/WebXRSession.cpp (271287 => 271288) --- trunk/Source/WebCore/Modules/webxr/WebXRSession.cpp 2021-01-08 07:34:45 UTC (rev 271287) +++ trunk/Source/WebCore/Modules/webxr/WebXRSession.cpp 2021-01-08 09:59:25 UTC (rev 271288) @@ -57,12 +57,16 @@ , m_activeRenderState(WebXRRenderState::create(mode)) , m_animationTimer(*this, ::animationTimerFired) { -// FIXME: If no other features of the user agent have done so already, perform the necessary platform-specific steps to -// initialize the device's tracking and rendering capabilities, including showing any necessary instructions to the user. +m_device->initializeTrackingAndRendering(mode); + suspendIfNeeded(); } -WebXRSession::~WebXRSession() = default; +WebXRSession::~WebXRSession() +{ +if (!m_ended && m_device) +m_device->shutDownTrackingAndRendering(); +} XREnvironmentBlendMode WebXRSession::environmentBlendMode() const { @@ -329,6 +333,9 @@ // 6.1. Releasing exclusive access to the XR device if session is an immersive session. // 6.2. Deallocating any graphics resources acquired by session for presentation to the XR device.
[webkit-changes] [271130] trunk/Source/WebCore
Title: [271130] trunk/Source/WebCore Revision 271130 Author svil...@igalia.com Date 2021-01-04 04:56:42 -0800 (Mon, 04 Jan 2021) Log Message [css-multicol] Do not attach to multicolumn containers https://bugs.webkit.org/show_bug.cgi?id=218500 Reviewed by Zalan Bujtas. Whenever a is a multicolumn container, any child must be directly attached to the renderer instead of the RenderMultiColumnFlow created by the latter. That was not happening when the renderer of the DOM node for the was deleted and then recreated. The problem was that in those situations the parent and beforeChild arguments for RenderTreeBuilder::Block::attachIgnoringContinuation() call were not properly selected. This lead to a scenario were that method was wrongly using the special code path for tables. * rendering/updating/RenderTreeBuilderBlockFlow.cpp: (WebCore::RenderTreeBuilder::BlockFlow::attach): Add a special case for attaching a to a . Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/updating/RenderTreeBuilderBlockFlow.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (271129 => 271130) --- trunk/Source/WebCore/ChangeLog 2021-01-04 11:27:44 UTC (rev 271129) +++ trunk/Source/WebCore/ChangeLog 2021-01-04 12:56:42 UTC (rev 271130) @@ -1,3 +1,22 @@ +2020-12-14 Sergio Villar Senin + +[css-multicol] Do not attach to multicolumn containers +https://bugs.webkit.org/show_bug.cgi?id=218500 + +Reviewed by Zalan Bujtas. + +Whenever a is a multicolumn container, any child must be directly attached +to the renderer instead of the RenderMultiColumnFlow created by the latter. That was +not happening when the renderer of the DOM node for the was deleted and then recreated. + +The problem was that in those situations the parent and beforeChild arguments for +RenderTreeBuilder::Block::attachIgnoringContinuation() call were not properly selected. This +lead to a scenario were that method was wrongly using the special code path for tables. + +* rendering/updating/RenderTreeBuilderBlockFlow.cpp: +(WebCore::RenderTreeBuilder::BlockFlow::attach): Add a special case for attaching a to +a . + 2020-12-17 Sergio Villar Senin Intrinsic size not correctly stored for SVG images Modified: trunk/Source/WebCore/rendering/updating/RenderTreeBuilderBlockFlow.cpp (271129 => 271130) --- trunk/Source/WebCore/rendering/updating/RenderTreeBuilderBlockFlow.cpp 2021-01-04 11:27:44 UTC (rev 271129) +++ trunk/Source/WebCore/rendering/updating/RenderTreeBuilderBlockFlow.cpp 2021-01-04 12:56:42 UTC (rev 271130) @@ -39,8 +39,13 @@ void RenderTreeBuilder::BlockFlow::attach(RenderBlockFlow& parent, RenderPtr child, RenderObject* beforeChild) { -if (parent.multiColumnFlow() && (!parent.isFieldset() || !child->isLegend())) { -if (parent.isFieldset() && beforeChild && beforeChild->isLegend()) +if (parent.multiColumnFlow()) { +auto legendAvoidsMulticolumn = parent.isFieldset() && child->isLegend(); +if (legendAvoidsMulticolumn) +return m_builder.blockBuilder().attach(parent, WTFMove(child), nullptr); + +auto legendBeforeChildIsIncorrect = parent.isFieldset() && beforeChild && beforeChild->isLegend(); +if (legendBeforeChildIsIncorrect) return m_builder.blockBuilder().attach(*parent.multiColumnFlow(), WTFMove(child), nullptr); return m_builder.attach(*parent.multiColumnFlow(), WTFMove(child), beforeChild); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [271129] trunk
Title: [271129] trunk Revision 271129 Author svil...@igalia.com Date 2021-01-04 03:27:44 -0800 (Mon, 04 Jan 2021) Log Message Intrinsic size not correctly stored for SVG images https://bugs.webkit.org/show_bug.cgi?id=219981 Reviewed by Darin Adler. Source/WebCore: Intrinsic sizes were only stored in case the replaced element had an intrinsic size for both height and width. However it's pretty common for SVG images to only specify one of them and an aspect ratio. We should store it in those cases too as it'd be useful for some layout systems like flexbox. * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::computeAspectRatioInformationForRenderBox const): Replace isEmpty() by isZero() calls to allow incomplete intrinsic sizes to be stored. LayoutTests: * TestExpectations: Removed two flexbox aspect ratio tests that are now passing. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderReplaced.cpp Diff Modified: trunk/LayoutTests/ChangeLog (271128 => 271129) --- trunk/LayoutTests/ChangeLog 2021-01-04 10:34:26 UTC (rev 271128) +++ trunk/LayoutTests/ChangeLog 2021-01-04 11:27:44 UTC (rev 271129) @@ -1,3 +1,12 @@ +2020-12-17 Sergio Villar Senin + +Intrinsic size not correctly stored for SVG images +https://bugs.webkit.org/show_bug.cgi?id=219981 + +Reviewed by Darin Adler. + +* TestExpectations: Removed two flexbox aspect ratio tests that are now passing. + 2021-01-03 Rob Buis Use UTF-8 encoding for empty main resource loads Modified: trunk/LayoutTests/TestExpectations (271128 => 271129) --- trunk/LayoutTests/TestExpectations 2021-01-04 10:34:26 UTC (rev 271128) +++ trunk/LayoutTests/TestExpectations 2021-01-04 11:27:44 UTC (rev 271129) @@ -3918,11 +3918,9 @@ webkit.org/b/209080 imported/w3c/web-platform-tests/css/css-writing-modes/vertical-alignment-srl-040.xht [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-012.html [ ImageOnlyFailure ] -webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-013.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-015.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-017.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-007.html [ ImageOnlyFailure ] -webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-009.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-010.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013.html [ ImageOnlyFailure ] Modified: trunk/Source/WebCore/ChangeLog (271128 => 271129) --- trunk/Source/WebCore/ChangeLog 2021-01-04 10:34:26 UTC (rev 271128) +++ trunk/Source/WebCore/ChangeLog 2021-01-04 11:27:44 UTC (rev 271129) @@ -1,3 +1,18 @@ +2020-12-17 Sergio Villar Senin + +Intrinsic size not correctly stored for SVG images +https://bugs.webkit.org/show_bug.cgi?id=219981 + +Reviewed by Darin Adler. + +Intrinsic sizes were only stored in case the replaced element had an intrinsic size for both height and width. +However it's pretty common for SVG images to only specify one of them and an aspect ratio. We should store it +in those cases too as it'd be useful for some layout systems like flexbox. + +* rendering/RenderReplaced.cpp: +(WebCore::RenderReplaced::computeAspectRatioInformationForRenderBox const): Replace isEmpty() by isZero() calls to allow +incomplete intrinsic sizes to be stored. + 2021-01-04 Alicia Boya GarcÃa [GStreamer] More robust video size handling Modified: trunk/Source/WebCore/rendering/RenderReplaced.cpp (271128 => 271129) --- trunk/Source/WebCore/rendering/RenderReplaced.cpp 2021-01-04 10:34:26 UTC (rev 271128) +++ trunk/Source/WebCore/rendering/RenderReplaced.cpp 2021-01-04 11:27:44 UTC (rev 271129) @@ -404,7 +404,7 @@ // Update our intrinsic size to match what the content renderer has computed, so that when we // constrain the size below, the correct intrinsic size will be obtained for comparison against // min and max widths. -if (intrinsicRatio && !intrinsicSize.isEmpty()) +if (intrinsicRatio && !intrinsicSize.isZero()) m_intrinsicSize = LayoutSize(intrinsicSize); if (!isHorizontalWritingMode()) { @@ -414,7 +414,7 @@ } } else { computeIntrinsicRatioInformation(intrinsicSize, intrinsicRatio); -if (intrinsicRatio && !intrinsicSize.isEmpty()) +if (intrinsicRatio
[webkit-changes] [270617] trunk
Title: [270617] trunk Revision 270617 Author svil...@igalia.com Date 2020-12-10 01:21:48 -0800 (Thu, 10 Dec 2020) Log Message [css-flex] RenderFlexibleBox::computeMainSizeFromAspectRatioUsing() must obbey box-sizing https://bugs.webkit.org/show_bug.cgi?id=219690 Reviewed by Darin Adler. LayoutTests/imported/w3c: * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-005-expected.txt: Replaced one FAIL by PASS expectation. * web-platform-tests/css/css-flexbox/image-as-flexitem-size-007-expected.txt: Ditto. * web-platform-tests/css/css-flexbox/image-as-flexitem-size-007v-expected.txt: Ditto. Source/WebCore: The method was not handling the cases in which box-sizing was border-box and thus it was incorrectly using border and padding to compute sizes based on aspect ratios (the aspect ratio must be applied to content box). This fixes 3 subtests from the WPT test suite. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::computeMainSizeFromAspectRatioUsing const): Use a lambda to substract border and padding extent when box-sizing is border-box. (WebCore::RenderFlexibleBox::computeInnerFlexBaseSizeForChild): Do not substract border and padding because computeMainSizeFromAspectRatioUsing now always returns the content box size. Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-005-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-007-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-007v-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (270616 => 270617) --- trunk/LayoutTests/imported/w3c/ChangeLog 2020-12-10 08:41:43 UTC (rev 270616) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2020-12-10 09:21:48 UTC (rev 270617) @@ -1,3 +1,14 @@ +2020-12-09 Sergio Villar Senin + +[css-flex] RenderFlexibleBox::computeMainSizeFromAspectRatioUsing() must obbey box-sizing +https://bugs.webkit.org/show_bug.cgi?id=219690 + +Reviewed by Darin Adler. + +* web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-005-expected.txt: Replaced one FAIL by PASS expectation. +* web-platform-tests/css/css-flexbox/image-as-flexitem-size-007-expected.txt: Ditto. +* web-platform-tests/css/css-flexbox/image-as-flexitem-size-007v-expected.txt: Ditto. + 2020-12-09 Cathie Chen Support overscroll-behavior parsing Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-005-expected.txt (270616 => 270617) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-005-expected.txt 2020-12-10 08:41:43 UTC (rev 270616) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-005-expected.txt 2020-12-10 09:21:48 UTC (rev 270617) @@ -10,9 +10,7 @@ PASS img 1 -FAIL img 2 assert_equals: - -clientWidth expected 100 but got 150 +PASS img 2 PASS img 3 PASS img 4 Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-007-expected.txt (270616 => 270617) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-007-expected.txt 2020-12-10 08:41:43 UTC (rev 270616) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-007-expected.txt 2020-12-10 09:21:48 UTC (rev 270617) @@ -7,9 +7,7 @@ PASS .flexbox > img 1 PASS .flexbox > img 2 -FAIL .flexbox > img 3 assert_equals: - -width expected 32 but got 30 +PASS .flexbox > img 3 PASS .flexbox > img 4 PASS .flexbox > img 5 PASS .flexbox > img 6 Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-007v-expected.txt (270616 => 270617) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-007v-expected.txt 2020-12-10 08:41:43 UTC (rev 270616) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-007v-expected.txt 2020-12-10 09:21:48 UTC (rev 270617) @@ -7,9 +7,7 @@ PASS .flexbox > img 1 PASS .flexbox > img 2 -FAIL .flexbox > img 3 assert_equals: - -width expected 32 but got 30 +PASS .flexbox > img 3 PASS .flexbox > img 4 PASS .flexbox > img 5 PASS .flexbox > img 6 Modified: trunk/Source/WebCore/ChangeLog (270616 => 270617) --- trunk/Source/WebCore/ChangeLog 2020-12-10 08:41:43 UTC (rev 270616) +++ trunk/Source/WebCore/ChangeLog 2020-12-10 09:21:48 UTC (rev 270617) @@ -1,3 +1,21 @@ +2020-12-09 Sergio Villar Senin + +[css-flex] RenderFlexibleBox::computeMainSizeFromAspectRatioUsing() must obbey box-sizing +https://bugs.webkit.org/show_bug.cgi?id=219690 + +Reviewed by Darin Adler. + +The
[webkit-changes] [270580] trunk/Source/WebCore
Title: [270580] trunk/Source/WebCore Revision 270580 Author svil...@igalia.com Date 2020-12-09 08:15:48 -0800 (Wed, 09 Dec 2020) Log Message Multicolumn children becoming in-flow elements should be inserted into the multicolumn flow https://bugs.webkit.org/show_bug.cgi?id=218503 Reviewed by Zalan Bujtas. Out of flow children of a multicolumn container are not really part of the multicolumn flow. Making them in-flow (i.e. setting "position: static;") should trigger the code that inserts them into the MultiColumnFlowThread object of the multicolumn container. RenderTreeBuilder was handling this in-flow <-> out-of-flow changes just for the cases in which the inline status of an element was affecting the parent. * rendering/RenderMultiColumnFlow.cpp: (WebCore::RenderMultiColumnFlow::normalizeTreeAfterStyleChange): Insert renderer in the multicolumn flow thread whenever it becames in flow. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (270579 => 270580) --- trunk/Source/WebCore/ChangeLog 2020-12-09 16:05:07 UTC (rev 270579) +++ trunk/Source/WebCore/ChangeLog 2020-12-09 16:15:48 UTC (rev 270580) @@ -1,3 +1,17 @@ +2020-12-02 Sergio Villar Senin + +Multicolumn children becoming in-flow elements should be inserted into the multicolumn flow +https://bugs.webkit.org/show_bug.cgi?id=218503 + +Reviewed by Zalan Bujtas. + +Out of flow children of a multicolumn container are not really part of the multicolumn flow. Making them in-flow (i.e. setting "position: static;") +should trigger the code that inserts them into the MultiColumnFlowThread object of the multicolumn container. RenderTreeBuilder was handling this +in-flow <-> out-of-flow changes just for the cases in which the inline status of an element was affecting the parent. + +* rendering/RenderMultiColumnFlow.cpp: +(WebCore::RenderMultiColumnFlow::normalizeTreeAfterStyleChange): Insert renderer in the multicolumn flow thread whenever it becames in flow. + 2020-12-04 Sergio Villar Senin [css-flex] Implement 9.8.1 Definite and Indefinite Sizes Modified: trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp (270579 => 270580) --- trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp 2020-12-09 16:05:07 UTC (rev 270579) +++ trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp 2020-12-09 16:15:48 UTC (rev 270580) @@ -559,7 +559,7 @@ auto& parent = *renderer.parent(); bool wasFloating = oldStyle.isFloating(); -bool wasOufOfFlowPositioned = oldStyle.hasOutOfFlowPosition(); +bool wasOutOfFlowPositioned = oldStyle.hasOutOfFlowPosition(); bool isFloating = renderer.style().isFloating(); bool isOutOfFlowPositioned = renderer.style().hasOutOfFlowPosition(); bool startsAffectingParent = false; @@ -566,10 +566,10 @@ bool noLongerAffectsParent = false; if (is(parent)) -noLongerAffectsParent = (!wasFloating && isFloating) || (!wasOufOfFlowPositioned && isOutOfFlowPositioned); +noLongerAffectsParent = (!wasFloating && isFloating) || (!wasOutOfFlowPositioned && isOutOfFlowPositioned); if (is(parent) || is(parent)) { -startsAffectingParent = (wasFloating || wasOufOfFlowPositioned) && !isFloating && !isOutOfFlowPositioned; +startsAffectingParent = (wasFloating || wasOutOfFlowPositioned) && !isFloating && !isOutOfFlowPositioned; ASSERT(!startsAffectingParent || !noLongerAffectsParent); } @@ -595,6 +595,13 @@ move(downcast(parent), downcast(*renderer.previousSibling()), renderer, RenderTreeBuilder::NormalizeAfterInsertion::No); } } + +// Out of flow children of RenderMultiColumnFlow are not really part of the multicolumn flow. We need to ensure that changes in positioning like this +// trigger insertions into the multicolumn flow. +if (auto* enclosingFragmentedFlow = parent.enclosingFragmentedFlow(); is(enclosingFragmentedFlow) && wasOutOfFlowPositioned && !isOutOfFlowPositioned) { +multiColumnBuilder().multiColumnDescendantInserted(downcast(*enclosingFragmentedFlow), renderer); +renderer.initializeFragmentedFlowStateOnInsertion(); +} } void RenderTreeBuilder::makeChildrenNonInline(RenderBlock& parent, RenderObject* insertionPoint) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [270578] trunk
Title: [270578] trunk Revision 270578 Author svil...@igalia.com Date 2020-12-09 07:40:17 -0800 (Wed, 09 Dec 2020) Log Message [css-flex] Implement 9.8.1 Definite and Indefinite Sizes https://bugs.webkit.org/show_bug.cgi?id=219538 Reviewed by Manuel Rego Casasnovas. LayoutTests/imported/w3c: * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013-expected.txt: Replaced FAIL by PASS expectations. * web-platform-tests/css/css-flexbox/image-as-flexitem-size-003-expected.txt: Ditto. * web-platform-tests/css/css-flexbox/image-as-flexitem-size-003v-expected.txt: Ditto. * web-platform-tests/css/css-flexbox/image-as-flexitem-size-004-expected.txt: Ditto. * web-platform-tests/css/css-flexbox/image-as-flexitem-size-004v-expected.txt: Ditto. * web-platform-tests/css/css-sizing/percentage-height-in-flexbox.html: Updated expectation. Still failing. Source/WebCore: If a single-line flex container has a definite cross size, the automatic preferred outer cross size of any stretched flex items is the flex container's inner cross size (clamped to the flex item's min and max cross size) and is considered definite. Before that we were considering all automatic sizes as indefinite. This patch does not consider all the cases where the container cross size is definite but just when that size is fixed. Support for additional cases should be added in followup patches. This fixes 3 full tests plus 24 subtests in some other flexbox aspect ratio tests from the WPT suite. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::computeMainSizeFromAspectRatioUsing const): Use the container's cross size as the item's cross size. (WebCore::RenderFlexibleBox::childCrossSizeIsDefinite const): Consider automatic cross size inside a single line container with definite cross size as definite. LayoutTests: * TestExpectations: Unskipped 3 tests that are passing now. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-003-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-003v-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-004-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-004v-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/percentage-height-in-flexbox-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp Diff Modified: trunk/LayoutTests/ChangeLog (270577 => 270578) --- trunk/LayoutTests/ChangeLog 2020-12-09 13:47:34 UTC (rev 270577) +++ trunk/LayoutTests/ChangeLog 2020-12-09 15:40:17 UTC (rev 270578) @@ -1,3 +1,12 @@ +2020-12-04 Sergio Villar Senin + +[css-flex] Implement 9.8.1 Definite and Indefinite Sizes +https://bugs.webkit.org/show_bug.cgi?id=219538 + +Reviewed by Manuel Rego Casasnovas. + +* TestExpectations: Unskipped 3 tests that are passing now. + 2020-12-09 Sihui Liu Implement audio capture for SpeechRecognition on iOS Modified: trunk/LayoutTests/TestExpectations (270577 => 270578) --- trunk/LayoutTests/TestExpectations 2020-12-09 13:47:34 UTC (rev 270577) +++ trunk/LayoutTests/TestExpectations 2020-12-09 15:40:17 UTC (rev 270578) @@ -3912,7 +3912,6 @@ webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-013.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-015.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-017.html [ ImageOnlyFailure ] -webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-006.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-007.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-009.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-010.html [ ImageOnlyFailure ] @@ -3923,8 +3922,6 @@ webkit.org/b/210093 imported/w3c/web-platform-tests/css/css-flexbox/select-element-zero-height-002.html [ ImageOnlyFailure ] webkit.org/b/210144 imported/w3c/web-platform-tests/css/css-flexbox/anonymous-flex-item-005.html [ ImageOnlyFailure ] webkit.org/b/210478 imported/w3c/web-platform-tests/css/css-flexbox/percentage-heights-006.html [ ImageOnlyFailure ] -webkit.org/b/212046 imported/w3c/web-platform-tests/css/css-flexbox/flex-minimum-height-flex-items-005.xht [ ImageOnlyFailure ] -webkit.org/b/212046
[webkit-changes] [270288] trunk
Title: [270288] trunk Revision 270288 Author svil...@igalia.com Date 2020-12-01 01:21:49 -0800 (Tue, 01 Dec 2020) Log Message [css-flexbox] WebKit doesn't preserve aspect ratio when computing cross size of flexed images in auto-height flex container https://bugs.webkit.org/show_bug.cgi?id=209983 Reviewed by Darin Adler. LayoutTests/imported/w3c: * web-platform-tests/css/css-flexbox/flexitem-stretch-image-expected.txt: Replace FAIL by PASS expectations. Source/WebCore: Aspect ratio was not preserved in the cross axis because WebKit was stretching the items (as they're auto sized) without considering the aspect ratio. Instead of letting flexbox code deal with that we basically don't stretch them and let RenderReplaced compute the cross size based on the aspect ratio as it does with other elements that are not flex items. This allows us to pass 3 tests from the WPT test suite. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::needToStretchChildLogicalHeight const): Return false for replaced elements with aspect ratio. LayoutTests: * TestExpectations: Unskipped 2 tests that are working fine now * css3/flexbox/flexitem.html: Updated expectations. Aspect ratio must be preserved. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/css3/flexbox/flexitem.html trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexitem-stretch-image-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp Diff Modified: trunk/LayoutTests/ChangeLog (270287 => 270288) --- trunk/LayoutTests/ChangeLog 2020-12-01 08:42:50 UTC (rev 270287) +++ trunk/LayoutTests/ChangeLog 2020-12-01 09:21:49 UTC (rev 270288) @@ -1,3 +1,14 @@ +2020-12-01 Sergio Villar Senin + +[css-flexbox] WebKit doesn't preserve aspect ratio when computing cross size of flexed images in auto-height flex container +https://bugs.webkit.org/show_bug.cgi?id=209983 + + +Reviewed by Darin Adler. + +* TestExpectations: Unskipped 2 tests that are working fine now +* css3/flexbox/flexitem.html: Updated expectations. Aspect ratio must be preserved. + 2020-12-01 Diego Pino Garcia [WPE] Unreviewed test gardening. Update WPE baselines of baselines updated r238731. Modified: trunk/LayoutTests/TestExpectations (270287 => 270288) --- trunk/LayoutTests/TestExpectations 2020-12-01 08:42:50 UTC (rev 270287) +++ trunk/LayoutTests/TestExpectations 2020-12-01 09:21:49 UTC (rev 270288) @@ -3912,11 +3912,9 @@ webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-017.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-006.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-007.html [ ImageOnlyFailure ] -webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-008.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-009.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-010.html [ ImageOnlyFailure ] webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013.html [ ImageOnlyFailure ] -webkit.org/b/219343 imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-014.html [ ImageOnlyFailure ] webkit.org/b/145176 imported/w3c/web-platform-tests/css/css-flexbox/flexbox_align-items-stretch-3.html [ ImageOnlyFailure ] webkit.org/b/210093 imported/w3c/web-platform-tests/css/css-flexbox/select-element-zero-height-001.html [ ImageOnlyFailure ] Modified: trunk/LayoutTests/css3/flexbox/flexitem.html (270287 => 270288) --- trunk/LayoutTests/css3/flexbox/flexitem.html 2020-12-01 08:42:50 UTC (rev 270287) +++ trunk/LayoutTests/css3/flexbox/flexitem.html 2020-12-01 09:21:49 UTC (rev 270288) @@ -47,8 +47,8 @@ - + Modified: trunk/LayoutTests/imported/w3c/ChangeLog (270287 => 270288) --- trunk/LayoutTests/imported/w3c/ChangeLog 2020-12-01 08:42:50 UTC (rev 270287) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2020-12-01 09:21:49 UTC (rev 270288) @@ -1,3 +1,13 @@ +2020-12-01 Sergio Villar Senin + +[css-flexbox] WebKit doesn't preserve aspect ratio when computing cross size of flexed images in auto-height flex container +https://bugs.webkit.org/show_bug.cgi?id=209983 + + +Reviewed by Darin Adler. + +* web-platform-tests/css/css-flexbox/flexitem-stretch-image-expected.txt: Replace FAIL by PASS expectations. + 2020-11-30 Alex Christensen Allow blob URLs with fragments Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexitem-stretch-image-expected.txt
[webkit-changes] [270237] trunk/LayoutTests
Title: [270237] trunk/LayoutTests Revision 270237 Author svil...@igalia.com Date 2020-11-30 04:49:33 -0800 (Mon, 30 Nov 2020) Log Message [css-flex] Import flex-aspect-ratio-img-* tests https://bugs.webkit.org/show_bug.cgi?id=219344 Reviewed by Manuel Rego Casasnovas. LayoutTests/imported/w3c: * resources/import-expectations.json: * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-011-expected.txt: Updated. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-011.html: Ditto. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-012-expected.html: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-012.html: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-013-expected.html: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-013.html: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-014-expected.xht: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-014.html: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-015-expected.xht: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-015.html: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-016-expected.html: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-016.html: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-017-expected.txt: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-017.html: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-006-expected.html: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-006.html: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-007-expected.html: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-007.html: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-008-expected.html: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-008.html: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-009-expected.xht: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-009.html: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-010-expected.xht: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-010.html: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-011-expected.xht: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-011.html: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-012-expected.html: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-012.html: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013-expected.txt: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013.html: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-014-expected.html: Added. * web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-014.html: Added. * web-platform-tests/css/css-flexbox/w3c-import.log: LayoutTests: As part of the work to fix the images with aspect ratio handling when they're flex items, we're importing the latest additions to the WPT test suite related to that. A few of them work as expected but others require fixes. Note that one of the tests also updated their expectations and it's now failing now 2 subtests. * TestExpectations: Added tests that are not working as expected. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/resources/import-expectations.json trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-011-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-011.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/w3c-import.log Added Paths trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-012-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-012.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-013-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-013.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-014-expected.xht trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-014.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-015-expected.xht trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-015.html
[webkit-changes] [270116] trunk
Title: [270116] trunk Revision 270116 Author svil...@igalia.com Date 2020-11-20 08:09:32 -0800 (Fri, 20 Nov 2020) Log Message [css-flex] Images as flex items should use the overridingLogicalWidth when defined to compute the logical height https://bugs.webkit.org/show_bug.cgi?id=219195 Reviewed by Manuel Rego Casasnovas. LayoutTests/imported/w3c: Replaced 15 FAIL by PASS expectations. * web-platform-tests/css/css-flexbox/image-as-flexitem-size-001-expected.txt: * web-platform-tests/css/css-flexbox/image-as-flexitem-size-002v-expected.txt: * web-platform-tests/css/css-flexbox/image-as-flexitem-size-005-expected.txt: * web-platform-tests/css/css-flexbox/image-as-flexitem-size-006v-expected.txt: * web-platform-tests/css/css-flexbox/image-as-flexitem-size-007-expected.txt: Source/WebCore: This is the same fix than the one we did in r270073 but for the other axis. RenderReplaced should use the overridingLogicalWidth whenever defined instead of the specified logical width to compute the logical height using an intrinsic aspect ratio. The overriding width is set by flex containers that need to stretch/shrink their items. The current code was not considering this case and thus, the intrinsic (non-stretched) logical height was used to compute the logical width, meaning that the stretching set by the flexbox container was ignored. This patch allows WebKit to pass 15 subtests in already existing aspect ratio flexbox tests from WPT. * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::computeReplacedLogicalHeight const): Use the overriding logical width if defined in presence of a valid aspect ratio. Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-001-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-002v-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-005-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-006v-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-007-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderReplaced.cpp Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (270115 => 270116) --- trunk/LayoutTests/imported/w3c/ChangeLog 2020-11-20 15:45:47 UTC (rev 270115) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2020-11-20 16:09:32 UTC (rev 270116) @@ -1,3 +1,18 @@ +2020-11-20 Sergio Villar Senin + +[css-flex] Images as flex items should use the overridingLogicalWidth when defined to compute the logical height +https://bugs.webkit.org/show_bug.cgi?id=219195 + +Reviewed by Manuel Rego Casasnovas. + +Replaced 15 FAIL by PASS expectations. + +* web-platform-tests/css/css-flexbox/image-as-flexitem-size-001-expected.txt: +* web-platform-tests/css/css-flexbox/image-as-flexitem-size-002v-expected.txt: +* web-platform-tests/css/css-flexbox/image-as-flexitem-size-005-expected.txt: +* web-platform-tests/css/css-flexbox/image-as-flexitem-size-006v-expected.txt: +* web-platform-tests/css/css-flexbox/image-as-flexitem-size-007-expected.txt: + 2020-11-20 Chris Lord Enable font functions on OffscreenCanvas for main-thread Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-001-expected.txt (270115 => 270116) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-001-expected.txt 2020-11-20 15:45:47 UTC (rev 270115) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-001-expected.txt 2020-11-20 16:09:32 UTC (rev 270116) @@ -8,9 +8,7 @@ PASS .flexbox > img 1 PASS .flexbox > img 2 PASS .flexbox > img 3 -FAIL .flexbox > img 4 assert_equals: - -height expected 30 but got 16 +PASS .flexbox > img 4 PASS .flexbox > img 5 PASS .flexbox > img 6 PASS .flexbox > img 7 Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-002v-expected.txt (270115 => 270116) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-002v-expected.txt 2020-11-20 15:45:47 UTC (rev 270115) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-002v-expected.txt 2020-11-20 16:09:32 UTC (rev 270116) @@ -8,9 +8,7 @@ PASS .flexbox > img 1 PASS .flexbox > img 2 PASS .flexbox > img 3 -FAIL .flexbox > img 4 assert_equals: - -width expected 30 but got 16 +PASS .flexbox > img 4 PASS .flexbox > img 5 PASS .flexbox > img 6 PASS .flexbox > img 7 Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-005-expected.txt (270115 => 270116) ---
[webkit-changes] [270073] trunk
Title: [270073] trunk Revision 270073 Author svil...@igalia.com Date 2020-11-20 01:33:25 -0800 (Fri, 20 Nov 2020) Log Message [css-flex] Images as flex items should use the overridingLogicalHeight when defined to compute the logical width https://bugs.webkit.org/show_bug.cgi?id=218975 Reviewed by Manuel Rego Casasnovas. LayoutTests/imported/w3c: Replaced 19 FAIL by PASS expectations. * web-platform-tests/css/css-flexbox/image-as-flexitem-size-001v-expected.txt: * web-platform-tests/css/css-flexbox/image-as-flexitem-size-002-expected.txt: * web-platform-tests/css/css-flexbox/image-as-flexitem-size-005v-expected.txt: * web-platform-tests/css/css-flexbox/image-as-flexitem-size-006-expected.txt: * web-platform-tests/css/css-flexbox/image-as-flexitem-size-007v-expected.txt: Source/WebCore: RenderReplaced should use the overridingLogicalHeight whenever defined instead of the specified logical height to compute the logical width using an intrinsic aspect ratio. The overriding height is set by flex containers that need to stretch/shrink their items. The current code was not considering this case and thus, the intrinsic (non-stretched) logical height was used to compute the logical width, meaning that the stretching set by the flexbox container was ignored. Note that it isn't enough to check that there is an overriding height, we must also check that the replaced element has an intrinsic size. Replaced elements with intrinsic ratios but without intrinsic sizes are handled in a separate code path (it's actually undefined behaviour). That's why it isn't enough to verify that the element has an aspect ratio, because most SVG graphics actually have defined intrinsic ratios but not intrinsic sizes. This allows us to pass an additional 19 subtests in 5 flexbox WPT tests. * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::computeReplacedLogicalWidth const): Use the overriding logical height if defined in presence of a valid aspect ratio. Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-001v-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-002-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-005v-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-006-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-007v-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderReplaced.cpp Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (270072 => 270073) --- trunk/LayoutTests/imported/w3c/ChangeLog 2020-11-20 07:33:31 UTC (rev 270072) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2020-11-20 09:33:25 UTC (rev 270073) @@ -1,3 +1,18 @@ +2020-11-16 Sergio Villar Senin + +[css-flex] Images as flex items should use the overridingLogicalHeight when defined to compute the logical width +https://bugs.webkit.org/show_bug.cgi?id=218975 + +Reviewed by Manuel Rego Casasnovas. + +Replaced 19 FAIL by PASS expectations. + +* web-platform-tests/css/css-flexbox/image-as-flexitem-size-001v-expected.txt: +* web-platform-tests/css/css-flexbox/image-as-flexitem-size-002-expected.txt: +* web-platform-tests/css/css-flexbox/image-as-flexitem-size-005v-expected.txt: +* web-platform-tests/css/css-flexbox/image-as-flexitem-size-006-expected.txt: +* web-platform-tests/css/css-flexbox/image-as-flexitem-size-007v-expected.txt: + 2020-11-19 Chris Dumez Regression(r267865) Geolocation API's error callback should be nullable Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-001v-expected.txt (270072 => 270073) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-001v-expected.txt 2020-11-20 07:33:31 UTC (rev 270072) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-001v-expected.txt 2020-11-20 09:33:25 UTC (rev 270073) @@ -8,9 +8,7 @@ PASS .flexbox > img 1 PASS .flexbox > img 2 PASS .flexbox > img 3 -FAIL .flexbox > img 4 assert_equals: - -height expected 30 but got 16 +PASS .flexbox > img 4 PASS .flexbox > img 5 PASS .flexbox > img 6 PASS .flexbox > img 7 Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-002-expected.txt (270072 => 270073) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-002-expected.txt 2020-11-20 07:33:31 UTC (rev 270072) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/image-as-flexitem-size-002-expected.txt 2020-11-20 09:33:25 UTC (rev 270073) @@ -8,9 +8,7 @@ PASS .flexbox > img 1 PASS .flexbox > img 2 PASS .flexbox > img 3 -FAIL .flexbox >
[webkit-changes] [270018] trunk
Title: [270018] trunk Revision 270018 Author svil...@igalia.com Date 2020-11-19 00:40:50 -0800 (Thu, 19 Nov 2020) Log Message Nullptr crash in RenderObject::parent https://bugs.webkit.org/show_bug.cgi?id=218484 Reviewed by Ryosuke Niwa. Source/WebCore: Let's imagine the following scenario: BODY LI contenteditable=true DIV If the current visible selection is on DIV and we try to execute document.execCommand("InsertOrderedList") then the current code will first try to fix the orphaned LI before inserting a new list. Fixing the orphaned LI means that a new list tag must be created between BODY and LI. There is one caveat though, and is that the InsertNodeBeforeCommand requires that the parent of the new node (in this case the BODY) must be richly editable (something that is not happening in the example above). That's why we need to ensure that this precondition is met before trying to fix the orphaned list item. Test: fast/editing/insert-list-in-orphaned-list-item-crash.html * editing/InsertListCommand.cpp: (WebCore::InsertListCommand::fixOrphanedListChild): Early return if the parent is not richly editable. (WebCore::InsertListCommand::doApplyForSingleParagraph): Fixed a typo. LayoutTests: Added new test case. * fast/editing/insert-list-in-orphaned-list-item-crash-expected.txt: Added. * fast/editing/insert-list-in-orphaned-list-item-crash.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/editing/InsertListCommand.cpp Added Paths trunk/LayoutTests/fast/editing/insert-list-in-orphaned-list-item-crash-expected.txt trunk/LayoutTests/fast/editing/insert-list-in-orphaned-list-item-crash.html Diff Modified: trunk/LayoutTests/ChangeLog (270017 => 270018) --- trunk/LayoutTests/ChangeLog 2020-11-19 08:16:18 UTC (rev 270017) +++ trunk/LayoutTests/ChangeLog 2020-11-19 08:40:50 UTC (rev 270018) @@ -1,3 +1,16 @@ +2020-11-17 Sergio Villar Senin + +Nullptr crash in RenderObject::parent +https://bugs.webkit.org/show_bug.cgi?id=218484 + + +Reviewed by Ryosuke Niwa. + +Added new test case. + +* fast/editing/insert-list-in-orphaned-list-item-crash-expected.txt: Added. +* fast/editing/insert-list-in-orphaned-list-item-crash.html: Added. + 2020-11-19 Diego Pino Garcia [GLIB] Unreviewed test gardening. Move common GTK and WPE failures to GLIB. Added: trunk/LayoutTests/fast/editing/insert-list-in-orphaned-list-item-crash-expected.txt (0 => 270018) --- trunk/LayoutTests/fast/editing/insert-list-in-orphaned-list-item-crash-expected.txt (rev 0) +++ trunk/LayoutTests/fast/editing/insert-list-in-orphaned-list-item-crash-expected.txt 2020-11-19 08:40:50 UTC (rev 270018) @@ -0,0 +1 @@ +The test PASS if it does not crash. Property changes on: trunk/LayoutTests/fast/editing/insert-list-in-orphaned-list-item-crash-expected.txt ___ Added: svn:eol-style +LF \ No newline at end of property Added: trunk/LayoutTests/fast/editing/insert-list-in-orphaned-list-item-crash.html (0 => 270018) --- trunk/LayoutTests/fast/editing/insert-list-in-orphaned-list-item-crash.html (rev 0) +++ trunk/LayoutTests/fast/editing/insert-list-in-orphaned-list-item-crash.html 2020-11-19 08:40:50 UTC (rev 270018) @@ -0,0 +1,15 @@ + + +if (window.testRunner) +testRunner.dumpAsText(); +function test() { +document.getSelection().collapse(target);; +document.execCommand("insertOrderedList"); +} + + + + + +The test PASS if it does not crash. + Property changes on: trunk/LayoutTests/fast/editing/insert-list-in-orphaned-list-item-crash.html ___ Added: svn:eol-style +LF \ No newline at end of property Added: svn:mime-type +text/html \ No newline at end of property Modified: trunk/Source/WebCore/ChangeLog (270017 => 270018) --- trunk/Source/WebCore/ChangeLog 2020-11-19 08:16:18 UTC (rev 270017) +++ trunk/Source/WebCore/ChangeLog 2020-11-19 08:40:50 UTC (rev 270018) @@ -1,3 +1,30 @@ +2020-11-17 Sergio Villar Senin + +Nullptr crash in RenderObject::parent +https://bugs.webkit.org/show_bug.cgi?id=218484 + + +Reviewed by Ryosuke Niwa. + +Let's imagine the following scenario: + +BODY + LI contenteditable=true +DIV + +If the current visible selection is on DIV and we try to execute document.execCommand("InsertOrderedList") then +the current code will first try to fix the orphaned LI before inserting a new list. Fixing the orphaned +LI means that a new list tag must be created between BODY and LI. There is one caveat though, and is that the +InsertNodeBeforeCommand requires that the parent of the new node (in this case the BODY) must be richly editable +(something that is not happening in the example above).
[webkit-changes] [269954] trunk/Source/WebCore
Title: [269954] trunk/Source/WebCore Revision 269954 Author svil...@igalia.com Date 2020-11-18 07:03:19 -0800 (Wed, 18 Nov 2020) Log Message RenderTreeBuilderBlock using an incorrect anonymous parent to attach a new renderer https://bugs.webkit.org/show_bug.cgi?id=218505 Reviewed by Antti Koivisto. Let's consider the following simplified render tree: PARENT |___beforeChildAnonymousContainer |___hierarchy of anonymous blocks |___beforeChild When RenderTreeBuilderBlock is attaching a new renderer given PARENT and beforeChild, it first tries to attach it to the PARENT if beforeChild is a direct child of PARENT. Otherwise it assumes that beforeChild is the direct child of an anonymous block which is in between PARENT and beforeChild. However in some cases, as the one presented above, beforeChild might have a whole hierarchy of anonymous blocks in between. That's why we cannot assume that beforeChild->parent() is a direct child of PARENT. Instead we should use beforeChildAnonymousContainer as the parent of the new renderer. * rendering/updating/RenderTreeBuilderBlock.cpp: (WebCore::RenderTreeBuilder::Block::attachIgnoringContinuation): Use beforeChildAnonymousContainer instead of beforeChild->parent(). Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/updating/RenderTreeBuilderBlock.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (269953 => 269954) --- trunk/Source/WebCore/ChangeLog 2020-11-18 15:01:03 UTC (rev 269953) +++ trunk/Source/WebCore/ChangeLog 2020-11-18 15:03:19 UTC (rev 269954) @@ -1,3 +1,26 @@ +2020-11-17 Sergio Villar Senin + +RenderTreeBuilderBlock using an incorrect anonymous parent to attach a new renderer +https://bugs.webkit.org/show_bug.cgi?id=218505 + +Reviewed by Antti Koivisto. + +Let's consider the following simplified render tree: + +PARENT +|___beforeChildAnonymousContainer +|___hierarchy of anonymous blocks +|___beforeChild + +When RenderTreeBuilderBlock is attaching a new renderer given PARENT and beforeChild, it first tries to attach it to the PARENT +if beforeChild is a direct child of PARENT. Otherwise it assumes that beforeChild is the direct child of an anonymous block which is +in between PARENT and beforeChild. However in some cases, as the one presented above, beforeChild might have a whole hierarchy of +anonymous blocks in between. That's why we cannot assume that beforeChild->parent() is a direct child of PARENT. Instead we should use +beforeChildAnonymousContainer as the parent of the new renderer. + +* rendering/updating/RenderTreeBuilderBlock.cpp: +(WebCore::RenderTreeBuilder::Block::attachIgnoringContinuation): Use beforeChildAnonymousContainer instead of beforeChild->parent(). + 2020-11-18 Sam Weinig Address additional feedback from https://bugs.webkit.org/show_bug.cgi?id=218960 Modified: trunk/Source/WebCore/rendering/updating/RenderTreeBuilderBlock.cpp (269953 => 269954) --- trunk/Source/WebCore/rendering/updating/RenderTreeBuilderBlock.cpp 2020-11-18 15:01:03 UTC (rev 269953) +++ trunk/Source/WebCore/rendering/updating/RenderTreeBuilderBlock.cpp 2020-11-18 15:03:19 UTC (rev 269954) @@ -186,8 +186,8 @@ #endif ) { // Insert the child into the anonymous block box instead of here. -if (child->isInline() || beforeChild->parent()->firstChild() != beforeChild) -m_builder.attach(*beforeChild->parent(), WTFMove(child), beforeChild); +if (child->isInline() || beforeChildAnonymousContainer->firstChild() != beforeChild) +m_builder.attach(*beforeChildAnonymousContainer, WTFMove(child), beforeChild); else m_builder.attach(parent, WTFMove(child), beforeChild->parent()); return; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [269840] trunk/Source/WebCore
Title: [269840] trunk/Source/WebCore Revision 269840 Author svil...@igalia.com Date 2020-11-16 01:50:48 -0800 (Mon, 16 Nov 2020) Log Message [css-flex] Better naming from some methods https://bugs.webkit.org/show_bug.cgi?id=218745 Reviewed by Javier Fernandez. This patch improves the naming of several confusing methods. * hasOrthogonalFlow(): was too generic. It was basically checking that the flexbox container main size was not the child's inline size. So we renamed it to mainAxisIsChildInlineAxis() reverting the output. For most of the cases it was enough to negate the output of the method to have the same check, but in other cases we decided to swap the if-else blocks as it was more convenient. * {main|cross}AxisLengthIsDefinite(): the name was misleading because you don't know whether the method is evaluating the child's length or the container's (the flexbox). Replaced by child{Main|Cross}SizeIsDefinite(). * setOverrideMainAxisContentSizeForChild(): this had 2 problems. First it should use overriding instead of override. Second the size which is overriden is not the content size, it used to be but not anymore. No new tests as there is no change in functionality. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::firstLineBaseline const): (WebCore::RenderFlexibleBox::mainAxisIsChildInlineAxis const): Renamed from hasOrthogonalFlow(). Also the behaviour is now reversed from the original function. (WebCore::RenderFlexibleBox::childIntrinsicLogicalHeight const): (WebCore::RenderFlexibleBox::childIntrinsicLogicalWidth const): (WebCore::RenderFlexibleBox::crossAxisIntrinsicExtentForChild const): (WebCore::RenderFlexibleBox::mainAxisContentExtent): Early return instead of if-else block. (WebCore::RenderFlexibleBox::useChildAspectRatio const): (WebCore::RenderFlexibleBox::computeMainSizeFromAspectRatioUsing const): Use a single line for division operators. (WebCore::RenderFlexibleBox::childMainSizeIsDefinite const): Renamed from mainAxisLengthIsDefinite. (WebCore::RenderFlexibleBox::childCrossSizeIsDefinite const): Renamed from crossAxisLengthIsDefinite. (WebCore::RenderFlexibleBox::cacheChildMainSize): (WebCore::RenderFlexibleBox::computeInnerFlexBaseSizeForChild): (WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax): (WebCore::RenderFlexibleBox::crossSizeForPercentageResolution): (WebCore::RenderFlexibleBox::mainSizeForPercentageResolution): (WebCore::RenderFlexibleBox::childLogicalHeightForPercentageResolution): (WebCore::RenderFlexibleBox::adjustChildSizeForAspectRatioCrossAxisMinAndMax): (WebCore::RenderFlexibleBox::setOverridingMainSizeForChild): Renamed from setOverrideMainAxisContentSizeForChild. (WebCore::RenderFlexibleBox::alignmentForChild const): (WebCore::RenderFlexibleBox::childHasIntrinsicMainAxisSize const): (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild): (WebCore::RenderFlexibleBox::hasOrthogonalFlow const): Deleted. (WebCore::RenderFlexibleBox::mainAxisLengthIsDefinite const): Deleted. (WebCore::RenderFlexibleBox::crossAxisLengthIsDefinite const): Deleted. (WebCore::RenderFlexibleBox::setOverrideMainAxisContentSizeForChild): Deleted. * rendering/RenderFlexibleBox.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp trunk/Source/WebCore/rendering/RenderFlexibleBox.h Diff Modified: trunk/Source/WebCore/ChangeLog (269839 => 269840) --- trunk/Source/WebCore/ChangeLog 2020-11-16 09:27:23 UTC (rev 269839) +++ trunk/Source/WebCore/ChangeLog 2020-11-16 09:50:48 UTC (rev 269840) @@ -1,3 +1,51 @@ +2020-11-10 Sergio Villar Senin + +[css-flex] Better naming from some methods +https://bugs.webkit.org/show_bug.cgi?id=218745 + +Reviewed by Javier Fernandez. + +This patch improves the naming of several confusing methods. +* hasOrthogonalFlow(): was too generic. It was basically checking that the flexbox container main size was not the child's inline size. So we renamed +it to mainAxisIsChildInlineAxis() reverting the output. For most of the cases it was enough to negate the output of the method to have the same +check, but in other cases we decided to swap the if-else blocks as it was more convenient. +* {main|cross}AxisLengthIsDefinite(): the name was misleading because you don't know whether the method is evaluating the child's length +or the container's (the flexbox). Replaced by child{Main|Cross}SizeIsDefinite(). +* setOverrideMainAxisContentSizeForChild(): this had 2 problems. First it should use overriding instead of override. Second the size which is +overriden is not the content size, it used to be but not anymore. + +No new tests as there is no change in functionality. + +* rendering/RenderFlexibleBox.cpp: +(WebCore::RenderFlexibleBox::firstLineBaseline const): +(WebCore::RenderFlexibleBox::mainAxisIsChildInlineAxis const):
[webkit-changes] [269728] trunk
Title: [269728] trunk Revision 269728 Author svil...@igalia.com Date 2020-11-12 03:25:22 -0800 (Thu, 12 Nov 2020) Log Message Crash in RenderBox::overrideContainingBlockContentHeight() https://bugs.webkit.org/show_bug.cgi?id=218504 Reviewed by Zalan Bujtas. Source/WebCore: It should check the overriding widths map for vertical writing modes because it deals with logical sizes. Instead it was always checking the overriding heights map and thus giving incorrect results. Test: fast/flexbox/flex-column-vertical-rl-dynamic-child-crash.html * rendering/RenderBox.cpp: (WebCore::RenderBox::hasOverridingContainingBlockContentHeight const): Check gOverridingContainingBlockContentLogicalWidthMap for vertical writing modes. LayoutTests: * fast/flexbox/flex-column-vertical-rl-dynamic-child-crash-expected.txt: Added. * fast/flexbox/flex-column-vertical-rl-dynamic-child-crash.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderBox.cpp Added Paths trunk/LayoutTests/fast/flexbox/flex-column-vertical-rl-dynamic-child-crash-expected.txt trunk/LayoutTests/fast/flexbox/flex-column-vertical-rl-dynamic-child-crash.html Diff Modified: trunk/LayoutTests/ChangeLog (269727 => 269728) --- trunk/LayoutTests/ChangeLog 2020-11-12 11:10:39 UTC (rev 269727) +++ trunk/LayoutTests/ChangeLog 2020-11-12 11:25:22 UTC (rev 269728) @@ -1,3 +1,14 @@ +2020-11-12 Sergio Villar Senin + +Crash in RenderBox::overrideContainingBlockContentHeight() +https://bugs.webkit.org/show_bug.cgi?id=218504 + + +Reviewed by Zalan Bujtas. + +* fast/flexbox/flex-column-vertical-rl-dynamic-child-crash-expected.txt: Added. +* fast/flexbox/flex-column-vertical-rl-dynamic-child-crash.html: Added. + 2020-11-12 Zalan Bujtas Show legacy line layout visual coverage instead of "simple line" layout. Added: trunk/LayoutTests/fast/flexbox/flex-column-vertical-rl-dynamic-child-crash-expected.txt (0 => 269728) --- trunk/LayoutTests/fast/flexbox/flex-column-vertical-rl-dynamic-child-crash-expected.txt (rev 0) +++ trunk/LayoutTests/fast/flexbox/flex-column-vertical-rl-dynamic-child-crash-expected.txt 2020-11-12 11:25:22 UTC (rev 269728) @@ -0,0 +1,3 @@ +This test PASS if it does not crash or assert. + +XXX Property changes on: trunk/LayoutTests/fast/flexbox/flex-column-vertical-rl-dynamic-child-crash-expected.txt ___ Added: svn:eol-style +LF \ No newline at end of property Added: trunk/LayoutTests/fast/flexbox/flex-column-vertical-rl-dynamic-child-crash.html (0 => 269728) --- trunk/LayoutTests/fast/flexbox/flex-column-vertical-rl-dynamic-child-crash.html (rev 0) +++ trunk/LayoutTests/fast/flexbox/flex-column-vertical-rl-dynamic-child-crash.html 2020-11-12 11:25:22 UTC (rev 269728) @@ -0,0 +1,27 @@ + + +#relative { + position: relative; + bottom: 15%; + column-width: 1em; +} +#flex { +background: url(); + display: flex; + flex-flow: column; + writing-mode: vertical-rl; + } + + +if (window.testRunner) +testRunner.dumpAsText(); +function appendHeadToFlex() { +document.getElementById("flex").appendChild(document.head); +} + + +This test PASS if it does not crash or assert. + + XXX + + \ No newline at end of file Property changes on: trunk/LayoutTests/fast/flexbox/flex-column-vertical-rl-dynamic-child-crash.html ___ Added: svn:eol-style +LF \ No newline at end of property Added: svn:mime-type +text/html \ No newline at end of property Modified: trunk/Source/WebCore/ChangeLog (269727 => 269728) --- trunk/Source/WebCore/ChangeLog 2020-11-12 11:10:39 UTC (rev 269727) +++ trunk/Source/WebCore/ChangeLog 2020-11-12 11:25:22 UTC (rev 269728) @@ -1,3 +1,20 @@ +2020-11-12 Sergio Villar Senin + +Crash in RenderBox::overrideContainingBlockContentHeight() +https://bugs.webkit.org/show_bug.cgi?id=218504 + + +Reviewed by Zalan Bujtas. + +It should check the overriding widths map for vertical writing modes because it deals with logical sizes. Instead it was always checking the +overriding heights map and thus giving incorrect results. + +Test: fast/flexbox/flex-column-vertical-rl-dynamic-child-crash.html + +* rendering/RenderBox.cpp: +(WebCore::RenderBox::hasOverridingContainingBlockContentHeight const): Check gOverridingContainingBlockContentLogicalWidthMap +for vertical writing modes. + 2020-11-12 Zalan Bujtas Show legacy line layout visual coverage instead of "simple line" layout. Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (269727 => 269728) --- trunk/Source/WebCore/rendering/RenderBox.cpp 2020-11-12 11:10:39 UTC (rev 269727) +++ trunk/Source/WebCore/rendering/RenderBox.cpp 2020-11-12 11:25:22 UTC (rev 269728) @@ -1178,7
[webkit-changes] [269032] trunk/Source/WebCore
Title: [269032] trunk/Source/WebCore Revision 269032 Author svil...@igalia.com Date 2020-10-27 05:30:53 -0700 (Tue, 27 Oct 2020) Log Message [WebXR] Move OpenXR calls off the main thread https://bugs.webkit.org/show_bug.cgi?id=217752 Reviewed by Youenn Fablet. The OpenXR API is synchronous. Many of the calls involve dealing with external hardware devices meaning that they have to potential to block the main thread. They should be moved to a different thread in order to avoid that. The PlatformXR::Instance creates a WorkQueue which is going to be used by the OpenXR devices to issue OpenXR calls and also serialize them to ensure that they are executed sequentially. The OpenXRDevice's are created in the main thread anyway because we need to get weak pointers from them in the main thread. * Modules/webxr/WebXRSystem.cpp: (WebCore::WebXRSystem::ensureImmersiveXRDeviceIsSelected): Use a scoped exit to call callback. Also the Vector of immersive devices is now a pointer which might be null, meaning no available devices. * platform/xr/PlatformXR.h: Added a "using" for the Vector of devices. * platform/xr/openxr/PlatformXROpenXR.cpp: (PlatformXR::Instance::Impl::queue const): New getter returning the WorkQueue. (PlatformXR::Instance::Impl::enumerateApiLayerProperties const): Added an ASSERT. (PlatformXR::Instance::Impl::checkInstanceExtensionProperties const): Ditto. (PlatformXR::Instance::Impl::Impl): Create the OpenXR WorkQueue and dispatch a task to perform the OpenXR system initialization in the queue. (PlatformXR::Instance::Impl::~Impl): Delete the instance in the WorkQueue (PlatformXR::Instance::enumerateImmersiveXRDevices): Moved the code to a task in the WorkQueue. (PlatformXR::OpenXRDevice::OpenXRDevice): Ditto. Also added a completion handler to notify the caller about the end of the device initialization process. (PlatformXR::OpenXRDevice::collectSupportedSessionModes): Added an ASSERT. (PlatformXR::OpenXRDevice::collectConfigurationViews): Ditto. * platform/xr/openxr/PlatformXROpenXR.h: Added WorkQueue attribute and parameter to device constructor. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/webxr/WebXRSystem.cpp trunk/Source/WebCore/platform/xr/PlatformXR.h trunk/Source/WebCore/platform/xr/openxr/PlatformXROpenXR.cpp trunk/Source/WebCore/platform/xr/openxr/PlatformXROpenXR.h Diff Modified: trunk/Source/WebCore/ChangeLog (269031 => 269032) --- trunk/Source/WebCore/ChangeLog 2020-10-27 11:40:56 UTC (rev 269031) +++ trunk/Source/WebCore/ChangeLog 2020-10-27 12:30:53 UTC (rev 269032) @@ -1,3 +1,37 @@ +2020-10-15 Sergio Villar Senin + +[WebXR] Move OpenXR calls off the main thread +https://bugs.webkit.org/show_bug.cgi?id=217752 + +Reviewed by Youenn Fablet. + +The OpenXR API is synchronous. Many of the calls involve dealing with external hardware devices +meaning that they have to potential to block the main thread. They should be moved to a different +thread in order to avoid that. + +The PlatformXR::Instance creates a WorkQueue which is going to be used by the OpenXR devices to +issue OpenXR calls and also serialize them to ensure that they are executed sequentially. The +OpenXRDevice's are created in the main thread anyway because we need to get weak pointers from +them in the main thread. + +* Modules/webxr/WebXRSystem.cpp: +(WebCore::WebXRSystem::ensureImmersiveXRDeviceIsSelected): Use a scoped exit to call callback. Also +the Vector of immersive devices is now a pointer which might be null, meaning no available devices. +* platform/xr/PlatformXR.h: Added a "using" for the Vector of devices. +* platform/xr/openxr/PlatformXROpenXR.cpp: +(PlatformXR::Instance::Impl::queue const): New getter returning the WorkQueue. +(PlatformXR::Instance::Impl::enumerateApiLayerProperties const): Added an ASSERT. +(PlatformXR::Instance::Impl::checkInstanceExtensionProperties const): Ditto. +(PlatformXR::Instance::Impl::Impl): Create the OpenXR WorkQueue and dispatch a task to perform the +OpenXR system initialization in the queue. +(PlatformXR::Instance::Impl::~Impl): Delete the instance in the WorkQueue +(PlatformXR::Instance::enumerateImmersiveXRDevices): Moved the code to a task in the WorkQueue. +(PlatformXR::OpenXRDevice::OpenXRDevice): Ditto. Also added a completion handler to notify the caller +about the end of the device initialization process. +(PlatformXR::OpenXRDevice::collectSupportedSessionModes): Added an ASSERT. +(PlatformXR::OpenXRDevice::collectConfigurationViews): Ditto. +* platform/xr/openxr/PlatformXROpenXR.h: Added WorkQueue attribute and parameter to device constructor. + 2020-10-27 Xabier Rodriguez Calvar [EME][GStreamer] Fix logging in utilities Modified: trunk/Source/WebCore/Modules/webxr/WebXRSystem.cpp (269031
[webkit-changes] [268919] trunk/Source/WebCore
Title: [268919] trunk/Source/WebCore Revision 268919 Author svil...@igalia.com Date 2020-10-23 02:55:25 -0700 (Fri, 23 Oct 2020) Log Message Rename override sizes to overriding sizes https://bugs.webkit.org/show_bug.cgi?id=217898 Reviewed by Darin Adler. We've been traditionally using the word "override" to refer to those sizes that were explicitly set by layout systems like tables, flex or grid. However that's a grammatical mistake. override is a verb which does not work well as a noun. It'd be more correct to refer to them as "overriding" sizes. No new tests required as this is just a renaming. * WebCore.order: * rendering/ComplexLineLayout.cpp: (WebCore::ComplexLineLayout::updateRubyForJustifiedText): * rendering/GridLayoutFunctions.cpp: (WebCore::GridLayoutFunctions::hasOverridingContainingBlockContentSizeForChild): (WebCore::GridLayoutFunctions::overridingContainingBlockContentSizeForChild): (WebCore::GridLayoutFunctions::hasOverrideContainingBlockContentSizeForChild): Deleted. (WebCore::GridLayoutFunctions::overrideContainingBlockContentSizeForChild): Deleted. * rendering/GridLayoutFunctions.h: * rendering/GridTrackSizingAlgorithm.cpp: (WebCore::shouldClearOverridingContainingBlockContentSizeForChild): (WebCore::setOverridingContainingBlockContentSizeForChild): (WebCore::GridTrackSizingAlgorithmStrategy::logicalHeightForChild const): (WebCore::GridTrackSizingAlgorithmStrategy::minContentForChild const): (WebCore::GridTrackSizingAlgorithmStrategy::maxContentForChild const): (WebCore::GridTrackSizingAlgorithmStrategy::updateOverridingContainingBlockContentSizeForChild const): (WebCore::GridTrackSizingAlgorithmStrategy::minLogicalSizeForChild const): (WebCore::DefiniteSizeStrategy::minLogicalSizeForChild const): (WebCore::DefiniteSizeStrategy::minContentForChild const): (WebCore::shouldClearOverrideContainingBlockContentSizeForChild): Deleted. (WebCore::setOverrideContainingBlockContentSizeForChild): Deleted. (WebCore::GridTrackSizingAlgorithmStrategy::updateOverrideContainingBlockContentSizeForChild const): Deleted. * rendering/GridTrackSizingAlgorithm.h: * rendering/RenderBlock.cpp: (WebCore::RenderBlock::insertPositionedObject): (WebCore::RenderBlock::computeChildPreferredLogicalWidths const): (WebCore::RenderBlock::availableLogicalHeightForPercentageComputation const): * rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::fitBorderToLinesIfNeeded): * rendering/RenderBox.cpp: (WebCore::RenderBox::willBeDestroyed): (WebCore::RenderBox::styleDidChange): (WebCore::RenderBox::hasOverridingLogicalHeight const): (WebCore::RenderBox::hasOverridingLogicalWidth const): (WebCore::RenderBox::setOverridingLogicalHeight): (WebCore::RenderBox::setOverridingLogicalWidth): (WebCore::RenderBox::clearOverridingLogicalHeight): (WebCore::RenderBox::clearOverridingLogicalWidth): (WebCore::RenderBox::clearOverridingContentSize): (WebCore::RenderBox::overridingLogicalWidth const): (WebCore::RenderBox::overridingLogicalHeight const): (WebCore::RenderBox::overridingContainingBlockContentWidth const): (WebCore::RenderBox::overridingContainingBlockContentHeight const): (WebCore::RenderBox::hasOverridingContainingBlockContentWidth const): (WebCore::RenderBox::hasOverridingContainingBlockContentHeight const): (WebCore::RenderBox::overridingContainingBlockContentLogicalWidth const): (WebCore::RenderBox::overridingContainingBlockContentLogicalHeight const): (WebCore::RenderBox::hasOverridingContainingBlockContentLogicalWidth const): (WebCore::RenderBox::hasOverridingContainingBlockContentLogicalHeight const): (WebCore::RenderBox::setOverridingContainingBlockContentLogicalWidth): (WebCore::RenderBox::setOverridingContainingBlockContentLogicalHeight): (WebCore::RenderBox::clearOverridingContainingBlockContentSize): (WebCore::RenderBox::clearOverridingContainingBlockContentLogicalHeight): (WebCore::RenderBox::containingBlockLogicalWidthForContent const): (WebCore::RenderBox::containingBlockLogicalHeightForContent const): (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight const): (WebCore::RenderBox::computeLogicalWidthInFragment const): (WebCore::RenderBox::cacheIntrinsicContentLogicalHeightForFlexItem const): (WebCore::RenderBox::computeLogicalHeight const): (WebCore::RenderBox::computePercentageLogicalHeight const): (WebCore::RenderBox::computeReplacedLogicalHeightUsing const): (WebCore::RenderBox::availableLogicalHeightUsing const): (WebCore::RenderBox::containingBlockLogicalWidthForPositioned const): (WebCore::RenderBox::containingBlockLogicalHeightForPositioned const): (WebCore::RenderBox::hasOverrideLogicalHeight const): Deleted. (WebCore::RenderBox::hasOverrideLogicalWidth const): Deleted. (WebCore::RenderBox::setOverrideLogicalHeight): Deleted. (WebCore::RenderBox::setOverrideLogicalWidth): Deleted. (WebCore::RenderBox::clearOverrideLogicalHeight): Deleted. (WebCore::RenderBox::clearOverrideLogicalWidth): Deleted. (WebCore::RenderBox::clearOverrideContentSize): Deleted.