New issue
Advanced search Search tips

Issue 726125 link

Starred by 18 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature

Blocked on: View detail
issue 804600
issue 831502

Blocking:
issue 6606


Participants' hotlists:
layout-backlog


Sign in to add a comment

Implement CSS Layout API

Project Member Reported by e...@chromium.org, May 24 2017

Issue description

The layout stage of CSS is responsible for generating and positioning fragments from the box tree.
The CSS Custom Layout specification describes an API which allows developers to layout a box in response to computed style and box tree changes.

Links:
Draft spec: https://drafts.css-houdini.org/css-layout-api/
Public standards discussion: https://github.com/w3c/css-houdini-drafts/labels/css-layout-api-1

Support in other browsers:
Internet Explorer: not implemented
Firefox: not implemented
Safari: not implemented

 

Comment 1 by e...@chromium.org, May 24 2017

Blocking: 6606

Comment 2 by e...@chromium.org, May 24 2017

Description: Show this description

Comment 3 by e...@chromium.org, Aug 30 2017

 Issue 688549  has been merged into this issue.

Comment 4 by kojii@chromium.org, Jan 10 2018

Cc: kojii@chromium.org
Project Member

Comment 5 by bugdroid1@chromium.org, Jan 17 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/613c12bf670cbe0577064f1474314d171c4dbd65

commit 613c12bf670cbe0577064f1474314d171c4dbd65
Author: Ian Kilpatrick <ikilpatrick@chromium.org>
Date: Wed Jan 17 03:22:35 2018

[css-layout-api] Add CSS.layoutWorklet, and initial files.

This is a very simple patch which adds the CSS.layoutWorklet attribute.

It doesn't implement the LayoutWorkletGlobalScope yet, so:
CSS.layoutWorklet.addModule() will currently crash.

This also adds a new OWNERS & README.md under core/layout/csslayout,
and a new runtime enabled feature - CSSLayoutAPI.

Bug: 726125
Change-Id: I5ed89b3a43786a6ed5ea94d4e2aa016988bc5bb0
Reviewed-on: https://chromium-review.googlesource.com/862986
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Cr-Commit-Position: refs/heads/master@{#529568}
[modify] https://crrev.com/613c12bf670cbe0577064f1474314d171c4dbd65/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/613c12bf670cbe0577064f1474314d171c4dbd65/third_party/WebKit/Source/core/core_idl_files.gni
[modify] https://crrev.com/613c12bf670cbe0577064f1474314d171c4dbd65/third_party/WebKit/Source/core/layout/BUILD.gn
[add] https://crrev.com/613c12bf670cbe0577064f1474314d171c4dbd65/third_party/WebKit/Source/core/layout/custom/CSSLayoutWorklet.cpp
[add] https://crrev.com/613c12bf670cbe0577064f1474314d171c4dbd65/third_party/WebKit/Source/core/layout/custom/CSSLayoutWorklet.h
[add] https://crrev.com/613c12bf670cbe0577064f1474314d171c4dbd65/third_party/WebKit/Source/core/layout/custom/CSSLayoutWorklet.idl
[add] https://crrev.com/613c12bf670cbe0577064f1474314d171c4dbd65/third_party/WebKit/Source/core/layout/custom/LayoutWorklet.cpp
[add] https://crrev.com/613c12bf670cbe0577064f1474314d171c4dbd65/third_party/WebKit/Source/core/layout/custom/LayoutWorklet.h
[add] https://crrev.com/613c12bf670cbe0577064f1474314d171c4dbd65/third_party/WebKit/Source/core/layout/custom/OWNERS
[add] https://crrev.com/613c12bf670cbe0577064f1474314d171c4dbd65/third_party/WebKit/Source/core/layout/custom/README.md
[modify] https://crrev.com/613c12bf670cbe0577064f1474314d171c4dbd65/third_party/WebKit/Source/platform/runtime_enabled_features.json5

Project Member

Comment 6 by bugdroid1@chromium.org, Jan 17 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/179582f6479b46c304fe6c78d31d88d131a50fa8

commit 179582f6479b46c304fe6c78d31d88d131a50fa8
Author: Ian Kilpatrick <ikilpatrick@chromium.org>
Date: Wed Jan 17 23:55:51 2018

[css-layout-api] Adds LayoutWorkletGlobalScope and proxy.

Additionally adds relevant tests.
After this patch CSS.layoutWorklet.addModule() should work correctly.

This is effectively a clone of PaintWorkletGlobalScope & related
classes.

Bug: 726125
Change-Id: If4fef01fb518b0e549f05d91407699f249924ce1
Reviewed-on: https://chromium-review.googlesource.com/869467
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#529955}
[add] https://crrev.com/179582f6479b46c304fe6c78d31d88d131a50fa8/third_party/WebKit/LayoutTests/external/wpt/worklets/layout-worklet-credentials.https.html
[add] https://crrev.com/179582f6479b46c304fe6c78d31d88d131a50fa8/third_party/WebKit/LayoutTests/external/wpt/worklets/layout-worklet-csp.https.html
[add] https://crrev.com/179582f6479b46c304fe6c78d31d88d131a50fa8/third_party/WebKit/LayoutTests/external/wpt/worklets/layout-worklet-import.https.html
[add] https://crrev.com/179582f6479b46c304fe6c78d31d88d131a50fa8/third_party/WebKit/LayoutTests/external/wpt/worklets/layout-worklet-referrer.https-expected.txt
[add] https://crrev.com/179582f6479b46c304fe6c78d31d88d131a50fa8/third_party/WebKit/LayoutTests/external/wpt/worklets/layout-worklet-referrer.https.html
[add] https://crrev.com/179582f6479b46c304fe6c78d31d88d131a50fa8/third_party/WebKit/LayoutTests/external/wpt/worklets/layout-worklet-service-worker-interception.https.html
[modify] https://crrev.com/179582f6479b46c304fe6c78d31d88d131a50fa8/third_party/WebKit/LayoutTests/external/wpt/worklets/resources/worklet-test-utils.js
[modify] https://crrev.com/179582f6479b46c304fe6c78d31d88d131a50fa8/third_party/WebKit/LayoutTests/http/tests/worklet/import-on-insecure-context.html
[add] https://crrev.com/179582f6479b46c304fe6c78d31d88d131a50fa8/third_party/WebKit/LayoutTests/http/tests/worklet/layout-worklet-csp-eval-expected.txt
[add] https://crrev.com/179582f6479b46c304fe6c78d31d88d131a50fa8/third_party/WebKit/LayoutTests/http/tests/worklet/layout-worklet-csp-eval.html
[modify] https://crrev.com/179582f6479b46c304fe6c78d31d88d131a50fa8/third_party/WebKit/LayoutTests/http/tests/worklet/resources/worklet-test-utils.js
[modify] https://crrev.com/179582f6479b46c304fe6c78d31d88d131a50fa8/third_party/WebKit/Source/bindings/core/v8/V8Initializer.cpp
[modify] https://crrev.com/179582f6479b46c304fe6c78d31d88d131a50fa8/third_party/WebKit/Source/bindings/scripts/v8_utilities.py
[modify] https://crrev.com/179582f6479b46c304fe6c78d31d88d131a50fa8/third_party/WebKit/Source/core/core_idl_files.gni
[modify] https://crrev.com/179582f6479b46c304fe6c78d31d88d131a50fa8/third_party/WebKit/Source/core/dom/ExecutionContext.h
[modify] https://crrev.com/179582f6479b46c304fe6c78d31d88d131a50fa8/third_party/WebKit/Source/core/layout/BUILD.gn
[modify] https://crrev.com/179582f6479b46c304fe6c78d31d88d131a50fa8/third_party/WebKit/Source/core/layout/custom/LayoutWorklet.cpp
[add] https://crrev.com/179582f6479b46c304fe6c78d31d88d131a50fa8/third_party/WebKit/Source/core/layout/custom/LayoutWorkletGlobalScope.cpp
[add] https://crrev.com/179582f6479b46c304fe6c78d31d88d131a50fa8/third_party/WebKit/Source/core/layout/custom/LayoutWorkletGlobalScope.h
[add] https://crrev.com/179582f6479b46c304fe6c78d31d88d131a50fa8/third_party/WebKit/Source/core/layout/custom/LayoutWorkletGlobalScope.idl
[add] https://crrev.com/179582f6479b46c304fe6c78d31d88d131a50fa8/third_party/WebKit/Source/core/layout/custom/LayoutWorkletGlobalScopeProxy.cpp
[add] https://crrev.com/179582f6479b46c304fe6c78d31d88d131a50fa8/third_party/WebKit/Source/core/layout/custom/LayoutWorkletGlobalScopeProxy.h
[modify] https://crrev.com/179582f6479b46c304fe6c78d31d88d131a50fa8/third_party/WebKit/Source/core/loader/modulescript/ModuleScriptLoaderTest.cpp
[modify] https://crrev.com/179582f6479b46c304fe6c78d31d88d131a50fa8/third_party/WebKit/Source/core/workers/MainThreadWorkletGlobalScope.cpp
[modify] https://crrev.com/179582f6479b46c304fe6c78d31d88d131a50fa8/third_party/WebKit/Source/core/workers/MainThreadWorkletGlobalScope.h
[modify] https://crrev.com/179582f6479b46c304fe6c78d31d88d131a50fa8/third_party/WebKit/Source/core/workers/MainThreadWorkletTest.cpp
[modify] https://crrev.com/179582f6479b46c304fe6c78d31d88d131a50fa8/third_party/WebKit/Source/modules/csspaint/PaintWorkletGlobalScope.cpp
[modify] https://crrev.com/179582f6479b46c304fe6c78d31d88d131a50fa8/third_party/WebKit/Source/modules/csspaint/PaintWorkletGlobalScope.h
[modify] https://crrev.com/179582f6479b46c304fe6c78d31d88d131a50fa8/third_party/WebKit/Source/modules/csspaint/PaintWorkletGlobalScopeProxy.cpp

Blockedon: 804600
Project Member

Comment 8 by bugdroid1@chromium.org, Jan 27 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fd01ef08b75de718ff8c6beeaa8e04142b464087

commit fd01ef08b75de718ff8c6beeaa8e04142b464087
Author: Ian Kilpatrick <ikilpatrick@chromium.org>
Date: Sat Jan 27 05:40:05 2018

[css-layout-api] Implement LayoutWorkletGlobalScope#registerLayout

This parses the class, and creates the appropriate CSSLayoutDefinition,
and DocumentLayoutDefinitions.

The tests aren't wpt compatible tests, as there aren't any side-effects
that we can measure yet, to verify the correctness of the parsing.
So I've added them as unit tests at the moment.

Bug: 726125
Change-Id: I6aecd77e5b47d00567eb3636226b3aa4ae7cbc5a
Reviewed-on: https://chromium-review.googlesource.com/874716
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Reviewed-by: Christian Biesinger <cbiesinger@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#532163}
[modify] https://crrev.com/fd01ef08b75de718ff8c6beeaa8e04142b464087/third_party/WebKit/Source/core/BUILD.gn
[modify] https://crrev.com/fd01ef08b75de718ff8c6beeaa8e04142b464087/third_party/WebKit/Source/core/layout/BUILD.gn
[add] https://crrev.com/fd01ef08b75de718ff8c6beeaa8e04142b464087/third_party/WebKit/Source/core/layout/custom/CSSLayoutDefinition.cpp
[add] https://crrev.com/fd01ef08b75de718ff8c6beeaa8e04142b464087/third_party/WebKit/Source/core/layout/custom/CSSLayoutDefinition.h
[add] https://crrev.com/fd01ef08b75de718ff8c6beeaa8e04142b464087/third_party/WebKit/Source/core/layout/custom/DocumentLayoutDefinition.cpp
[add] https://crrev.com/fd01ef08b75de718ff8c6beeaa8e04142b464087/third_party/WebKit/Source/core/layout/custom/DocumentLayoutDefinition.h
[modify] https://crrev.com/fd01ef08b75de718ff8c6beeaa8e04142b464087/third_party/WebKit/Source/core/layout/custom/LayoutWorklet.cpp
[modify] https://crrev.com/fd01ef08b75de718ff8c6beeaa8e04142b464087/third_party/WebKit/Source/core/layout/custom/LayoutWorklet.h
[modify] https://crrev.com/fd01ef08b75de718ff8c6beeaa8e04142b464087/third_party/WebKit/Source/core/layout/custom/LayoutWorkletGlobalScope.cpp
[modify] https://crrev.com/fd01ef08b75de718ff8c6beeaa8e04142b464087/third_party/WebKit/Source/core/layout/custom/LayoutWorkletGlobalScope.h
[modify] https://crrev.com/fd01ef08b75de718ff8c6beeaa8e04142b464087/third_party/WebKit/Source/core/layout/custom/LayoutWorkletGlobalScope.idl
[modify] https://crrev.com/fd01ef08b75de718ff8c6beeaa8e04142b464087/third_party/WebKit/Source/core/layout/custom/LayoutWorkletGlobalScopeProxy.cpp
[modify] https://crrev.com/fd01ef08b75de718ff8c6beeaa8e04142b464087/third_party/WebKit/Source/core/layout/custom/LayoutWorkletGlobalScopeProxy.h
[add] https://crrev.com/fd01ef08b75de718ff8c6beeaa8e04142b464087/third_party/WebKit/Source/core/layout/custom/LayoutWorkletTest.cpp
[modify] https://crrev.com/fd01ef08b75de718ff8c6beeaa8e04142b464087/third_party/WebKit/Source/modules/csspaint/CSSPaintImageGeneratorImpl.cpp
[modify] https://crrev.com/fd01ef08b75de718ff8c6beeaa8e04142b464087/third_party/WebKit/Source/modules/csspaint/PaintWorklet.cpp
[modify] https://crrev.com/fd01ef08b75de718ff8c6beeaa8e04142b464087/third_party/WebKit/Source/modules/csspaint/PaintWorklet.h
[modify] https://crrev.com/fd01ef08b75de718ff8c6beeaa8e04142b464087/third_party/WebKit/Source/modules/csspaint/PaintWorkletGlobalScope.cpp

Project Member

Comment 9 by bugdroid1@chromium.org, Jan 29 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c5a138319fc1ffded673514d98562ef356ec6a08

commit c5a138319fc1ffded673514d98562ef356ec6a08
Author: Ian Kilpatrick <ikilpatrick@chromium.org>
Date: Mon Jan 29 04:09:57 2018

[css-layout-api] Add parsing for display: layout(foo)

This adds the ability for display to accept two new functions
layout() and inline-layout().

I was careful to keep the bits for all the typical display types on the
ComputedStyleBase object, hence the display property now is a primitive
type. The name of the custom layout is defined as an extra field.

As a result of this split, (display now not just accepting a keyword)
the display property doesn't use as much auto generated code now. I.e.
EDisplay is not automatically generated.

Currently inline-layout(foo) isn't to spec, as there needs to be
separate work to change display into a two keyword longhand property.
I.e. https://drafts.csswg.org/css-display/#the-display-properties

I've filed bug: crbug.com/804600 to track this.

Bug: 726125
Change-Id: I36f6131b5c8308a97639f4813cebd3eb7ceb45ad
Reviewed-on: https://chromium-review.googlesource.com/879135
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Reviewed-by: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#532319}
[add] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/OWNERS
[add] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/at-supports-rule.https.html
[add] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/computed-style-layout-function.https.html
[add] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/inline-style-layout-function.https.html
[add] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/supports.https.html
[add] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/LayoutTests/http/tests/csslayout/at-supports-rule-insecure-context.html
[add] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/LayoutTests/http/tests/csslayout/at-supports-rule-secure-context.html
[add] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/LayoutTests/http/tests/csslayout/computed-style-inline-layout-function.https.html
[add] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/LayoutTests/http/tests/csslayout/dynamic-parse-insecure-context.html
[add] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/LayoutTests/http/tests/csslayout/dynamic-parse-secure-context.html
[add] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/LayoutTests/http/tests/csslayout/inline-style-inline-layout-function.https.html
[add] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/LayoutTests/http/tests/csslayout/parse-insecure-context.html
[add] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/LayoutTests/http/tests/csslayout/parse-secure-context.html
[add] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/LayoutTests/http/tests/csslayout/supports-insecure-context.html
[add] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/LayoutTests/http/tests/csslayout/supports-secure-context.html
[modify] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/Source/build/scripts/core/css/properties/templates/CSSProperty.h.tmpl
[modify] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/Source/core/css/BUILD.gn
[add] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/Source/core/css/CSSLayoutFunctionValue.cpp
[add] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/Source/core/css/CSSLayoutFunctionValue.h
[modify] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/Source/core/css/CSSValue.cpp
[modify] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/Source/core/css/CSSValue.h
[modify] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/Source/core/css/CSSValueIDMappings.h
[modify] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/Source/core/css/CSSValueKeywords.json5
[modify] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/Source/core/css/parser/CSSParserFastPaths.cpp
[modify] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/Source/core/css/parser/CSSParserFastPaths.h
[modify] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/Source/core/css/parser/CSSPropertyParserHelpers.cpp
[modify] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/Source/core/css/properties/longhands/DisplayCustom.cpp
[modify] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp
[modify] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp
[modify] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/Source/core/html/HTMLSummaryElement.cpp
[modify] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/Source/core/layout/LayoutObject.cpp
[modify] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/c5a138319fc1ffded673514d98562ef356ec6a08/third_party/WebKit/Source/modules/exported/WebAXObject.cpp

Project Member

Comment 10 by bugdroid1@chromium.org, Jan 31 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cda351aa30c38623949a5f528e9425e01a82c697

commit cda351aa30c38623949a5f528e9425e01a82c697
Author: Ian Kilpatrick <ikilpatrick@chromium.org>
Date: Wed Jan 31 21:41:28 2018

[worklets][css-layout-api] Followup cleanups from haraken@ review.

From: https://chromium-review.googlesource.com/c/chromium/src/+/874716

There should be no functional changes from this patch.

Bug: 726125
Change-Id: Icd301aaa5b61bb2020f87009c982ce7036241154
Reviewed-on: https://chromium-review.googlesource.com/890725
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533423}
[modify] https://crrev.com/cda351aa30c38623949a5f528e9425e01a82c697/third_party/WebKit/Source/core/layout/custom/CSSLayoutDefinition.h
[modify] https://crrev.com/cda351aa30c38623949a5f528e9425e01a82c697/third_party/WebKit/Source/core/layout/custom/DocumentLayoutDefinition.h
[modify] https://crrev.com/cda351aa30c38623949a5f528e9425e01a82c697/third_party/WebKit/Source/core/layout/custom/LayoutWorklet.h
[modify] https://crrev.com/cda351aa30c38623949a5f528e9425e01a82c697/third_party/WebKit/Source/core/layout/custom/LayoutWorkletGlobalScope.cpp
[modify] https://crrev.com/cda351aa30c38623949a5f528e9425e01a82c697/third_party/WebKit/Source/core/layout/custom/LayoutWorkletGlobalScope.h
[modify] https://crrev.com/cda351aa30c38623949a5f528e9425e01a82c697/third_party/WebKit/Source/modules/animationworklet/AnimationWorkletGlobalScope.cpp
[modify] https://crrev.com/cda351aa30c38623949a5f528e9425e01a82c697/third_party/WebKit/Source/modules/animationworklet/AnimationWorkletGlobalScope.h
[modify] https://crrev.com/cda351aa30c38623949a5f528e9425e01a82c697/third_party/WebKit/Source/modules/csspaint/DocumentPaintDefinition.h
[modify] https://crrev.com/cda351aa30c38623949a5f528e9425e01a82c697/third_party/WebKit/Source/modules/csspaint/PaintWorklet.h
[modify] https://crrev.com/cda351aa30c38623949a5f528e9425e01a82c697/third_party/WebKit/Source/modules/csspaint/PaintWorkletGlobalScope.cpp
[modify] https://crrev.com/cda351aa30c38623949a5f528e9425e01a82c697/third_party/WebKit/Source/modules/csspaint/PaintWorkletGlobalScope.h

Project Member

Comment 11 by bugdroid1@chromium.org, Feb 9 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9b9e74608d19809ace283aaf4c1b3fb8ed9fdf69

commit 9b9e74608d19809ace283aaf4c1b3fb8ed9fdf69
Author: Ian Kilpatrick <ikilpatrick@chromium.org>
Date: Fri Feb 09 22:43:11 2018

[css-layout-api] Adds LayoutCustom object, and changes box-tree.

This adds a stub class for "LayoutCustom". This contains no additional
logic yet to perform custom layout.

This *does* change how the box-tree is constructed.
 - display: layout(foo) is considered a new FC in all circumstances.
 - Depending of if "foo" has been registered, the children may/may-not
   become new FCs also.

Additionally this has the appropriate logic when a new layout class is
registered to trigger a reattachment of the layout tree.

Bug: 726125
Change-Id: I0e555c9f10afdfa314ce41f96b0636651e91cb7f
Reviewed-on: https://chromium-review.googlesource.com/889685
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Reviewed-by: Darren Shen <shend@chromium.org>
Reviewed-by: nainar <nainar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#535858}
[add] https://crrev.com/9b9e74608d19809ace283aaf4c1b3fb8ed9fdf69/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/box-tree-registered-ref.html
[add] https://crrev.com/9b9e74608d19809ace283aaf4c1b3fb8ed9fdf69/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/box-tree-registered.https.html
[add] https://crrev.com/9b9e74608d19809ace283aaf4c1b3fb8ed9fdf69/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/box-tree-unregistered-ref.html
[add] https://crrev.com/9b9e74608d19809ace283aaf4c1b3fb8ed9fdf69/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/box-tree-unregistered.https.html
[modify] https://crrev.com/9b9e74608d19809ace283aaf4c1b3fb8ed9fdf69/third_party/WebKit/Source/core/css/ComputedStyleDiffFunctions.json5
[modify] https://crrev.com/9b9e74608d19809ace283aaf4c1b3fb8ed9fdf69/third_party/WebKit/Source/core/layout/BUILD.gn
[modify] https://crrev.com/9b9e74608d19809ace283aaf4c1b3fb8ed9fdf69/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp
[modify] https://crrev.com/9b9e74608d19809ace283aaf4c1b3fb8ed9fdf69/third_party/WebKit/Source/core/layout/LayoutBox.cpp
[modify] https://crrev.com/9b9e74608d19809ace283aaf4c1b3fb8ed9fdf69/third_party/WebKit/Source/core/layout/LayoutBox.h
[modify] https://crrev.com/9b9e74608d19809ace283aaf4c1b3fb8ed9fdf69/third_party/WebKit/Source/core/layout/LayoutObject.cpp
[modify] https://crrev.com/9b9e74608d19809ace283aaf4c1b3fb8ed9fdf69/third_party/WebKit/Source/core/layout/LayoutObject.h
[add] https://crrev.com/9b9e74608d19809ace283aaf4c1b3fb8ed9fdf69/third_party/WebKit/Source/core/layout/custom/LayoutCustom.cpp
[add] https://crrev.com/9b9e74608d19809ace283aaf4c1b3fb8ed9fdf69/third_party/WebKit/Source/core/layout/custom/LayoutCustom.h
[modify] https://crrev.com/9b9e74608d19809ace283aaf4c1b3fb8ed9fdf69/third_party/WebKit/Source/core/layout/custom/LayoutWorklet.cpp
[modify] https://crrev.com/9b9e74608d19809ace283aaf4c1b3fb8ed9fdf69/third_party/WebKit/Source/core/layout/custom/LayoutWorklet.h
[modify] https://crrev.com/9b9e74608d19809ace283aaf4c1b3fb8ed9fdf69/third_party/WebKit/Source/core/layout/custom/LayoutWorkletGlobalScope.cpp
[modify] https://crrev.com/9b9e74608d19809ace283aaf4c1b3fb8ed9fdf69/third_party/WebKit/Source/core/layout/custom/LayoutWorkletGlobalScope.h
[modify] https://crrev.com/9b9e74608d19809ace283aaf4c1b3fb8ed9fdf69/third_party/WebKit/Source/core/layout/custom/LayoutWorkletGlobalScopeProxy.cpp
[modify] https://crrev.com/9b9e74608d19809ace283aaf4c1b3fb8ed9fdf69/third_party/WebKit/Source/core/layout/custom/LayoutWorkletGlobalScopeProxy.h
[add] https://crrev.com/9b9e74608d19809ace283aaf4c1b3fb8ed9fdf69/third_party/WebKit/Source/core/layout/custom/PendingLayoutRegistry.cpp
[add] https://crrev.com/9b9e74608d19809ace283aaf4c1b3fb8ed9fdf69/third_party/WebKit/Source/core/layout/custom/PendingLayoutRegistry.h
[modify] https://crrev.com/9b9e74608d19809ace283aaf4c1b3fb8ed9fdf69/third_party/WebKit/Source/core/style/ComputedStyle.cpp

Project Member

Comment 12 by bugdroid1@chromium.org, Feb 16 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8f09455de2ae547131c8606018e4b4dcfb5dc691

commit 8f09455de2ae547131c8606018e4b4dcfb5dc691
Author: Ian Kilpatrick <ikilpatrick@chromium.org>
Date: Fri Feb 16 19:15:47 2018

[css-layout-api] Implement the guts of the javascript layout runner.

This implements the hooks from the LayoutCustom object into a web
developer defined layout class.

See: https://drafts.css-houdini.org/css-layout-api/#invoke-a-layout-callback

Currently the only useful thing this does to allow the web developer to
return an "auto" block-size, e.g.

registerLayout('foo', class {
  *intrinsicSizes() {}
  *layout() {
    return { autoBlockSize: Math.random() * 100; } // FUN!
  }
});

The engine calculates the inline-size, and adjusts the block-size for the
web developer. This is a simplification on the current API as spec'd but
we'll see what the HoudiniTF thinks of this approach.

The other large behaviour change is appropriate "fallback" handling when
something goes wrong. See "fallback" tests.

Bug: 726125
Change-Id: I08cd2e439f4321bd534a4e3f7222fbdb898e1785
Reviewed-on: https://chromium-review.googlesource.com/917423
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Christian Biesinger <cbiesinger@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537371}
[add] https://crrev.com/8f09455de2ae547131c8606018e4b4dcfb5dc691/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/auto-block-size-absolute-ref.html
[add] https://crrev.com/8f09455de2ae547131c8606018e4b4dcfb5dc691/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/auto-block-size-absolute.https.html
[add] https://crrev.com/8f09455de2ae547131c8606018e4b4dcfb5dc691/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/auto-block-size-flex-ref.html
[add] https://crrev.com/8f09455de2ae547131c8606018e4b4dcfb5dc691/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/auto-block-size-flex.https.html
[add] https://crrev.com/8f09455de2ae547131c8606018e4b4dcfb5dc691/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/auto-block-size-floats-ref.html
[add] https://crrev.com/8f09455de2ae547131c8606018e4b4dcfb5dc691/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/auto-block-size-floats.https.html
[add] https://crrev.com/8f09455de2ae547131c8606018e4b4dcfb5dc691/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/auto-block-size-inflow-ref.html
[add] https://crrev.com/8f09455de2ae547131c8606018e4b4dcfb5dc691/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/auto-block-size-inflow.https.html
[add] https://crrev.com/8f09455de2ae547131c8606018e4b4dcfb5dc691/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/auto-block-size-negative-ref.html
[add] https://crrev.com/8f09455de2ae547131c8606018e4b4dcfb5dc691/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/auto-block-size-negative.https.html
[add] https://crrev.com/8f09455de2ae547131c8606018e4b4dcfb5dc691/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/fallback-constructor-error.https.html
[add] https://crrev.com/8f09455de2ae547131c8606018e4b4dcfb5dc691/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/fallback-layout-error.https.html
[add] https://crrev.com/8f09455de2ae547131c8606018e4b4dcfb5dc691/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/fallback-layout-return.https.html
[add] https://crrev.com/8f09455de2ae547131c8606018e4b4dcfb5dc691/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/fallback-ref.html
[modify] https://crrev.com/8f09455de2ae547131c8606018e4b4dcfb5dc691/third_party/WebKit/Source/core/core_idl_files.gni
[modify] https://crrev.com/8f09455de2ae547131c8606018e4b4dcfb5dc691/third_party/WebKit/Source/core/layout/custom/CSSLayoutDefinition.cpp
[modify] https://crrev.com/8f09455de2ae547131c8606018e4b4dcfb5dc691/third_party/WebKit/Source/core/layout/custom/CSSLayoutDefinition.h
[add] https://crrev.com/8f09455de2ae547131c8606018e4b4dcfb5dc691/third_party/WebKit/Source/core/layout/custom/FragmentResultOptions.idl
[modify] https://crrev.com/8f09455de2ae547131c8606018e4b4dcfb5dc691/third_party/WebKit/Source/core/layout/custom/LayoutCustom.cpp
[modify] https://crrev.com/8f09455de2ae547131c8606018e4b4dcfb5dc691/third_party/WebKit/Source/core/layout/custom/LayoutCustom.h
[modify] https://crrev.com/8f09455de2ae547131c8606018e4b4dcfb5dc691/third_party/WebKit/Source/core/layout/custom/LayoutWorklet.cpp
[modify] https://crrev.com/8f09455de2ae547131c8606018e4b4dcfb5dc691/third_party/WebKit/Source/core/layout/custom/LayoutWorklet.h
[modify] https://crrev.com/8f09455de2ae547131c8606018e4b4dcfb5dc691/third_party/WebKit/Source/core/layout/custom/LayoutWorkletGlobalScopeProxy.cpp
[modify] https://crrev.com/8f09455de2ae547131c8606018e4b4dcfb5dc691/third_party/WebKit/Source/core/layout/custom/LayoutWorkletGlobalScopeProxy.h

Project Member

Comment 13 by bugdroid1@chromium.org, Feb 17 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a529c8766328fe8a8137cd50ad8b47c6644b79df

commit a529c8766328fe8a8137cd50ad8b47c6644b79df
Author: Ian Kilpatrick <ikilpatrick@chromium.org>
Date: Sat Feb 17 05:45:19 2018

[css-layout-api] Expose TypedOM to LayoutWorklet.

Bug: 726125
Change-Id: Ieb60376042e6caaa82c9aab005a41ce626bdb33b
Reviewed-on: https://chromium-review.googlesource.com/923378
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: nainar <nainar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537534}
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/LayoutTests/http/tests/worklet/webexposed/global-interface-listing-paint-worklet-expected.txt
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/Source/core/css/cssom/CSSImageValue.idl
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/Source/core/css/cssom/CSSKeywordValue.idl
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/Source/core/css/cssom/CSSMathInvert.idl
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/Source/core/css/cssom/CSSMathMax.idl
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/Source/core/css/cssom/CSSMathMin.idl
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/Source/core/css/cssom/CSSMathNegate.idl
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/Source/core/css/cssom/CSSMathProduct.idl
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/Source/core/css/cssom/CSSMathSum.idl
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/Source/core/css/cssom/CSSMathValue.idl
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/Source/core/css/cssom/CSSMatrixComponent.idl
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/Source/core/css/cssom/CSSNumericArray.idl
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/Source/core/css/cssom/CSSNumericType.idl
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/Source/core/css/cssom/CSSNumericValue.idl
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/Source/core/css/cssom/CSSPerspective.idl
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/Source/core/css/cssom/CSSPositionValue.idl
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/Source/core/css/cssom/CSSResourceValue.idl
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/Source/core/css/cssom/CSSRotate.idl
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/Source/core/css/cssom/CSSScale.idl
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/Source/core/css/cssom/CSSSkew.idl
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/Source/core/css/cssom/CSSSkewX.idl
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/Source/core/css/cssom/CSSStyleValue.idl
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/Source/core/css/cssom/CSSTransformComponent.idl
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/Source/core/css/cssom/CSSTransformValue.idl
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/Source/core/css/cssom/CSSTranslate.idl
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/Source/core/css/cssom/CSSURLImageValue.idl
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/Source/core/css/cssom/CSSUnitValue.idl
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/Source/core/css/cssom/CSSUnparsedValue.idl
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/Source/core/css/cssom/CSSVariableReferenceValue.idl
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/Source/core/css/cssom/StylePropertyMap.idl
[modify] https://crrev.com/a529c8766328fe8a8137cd50ad8b47c6644b79df/third_party/WebKit/Source/core/css/cssom/StylePropertyMapReadOnly.idl

Project Member

Comment 14 by bugdroid1@chromium.org, Feb 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/014a10ecab7d4a1af5f308588bf9ad50ea8814cb

commit 014a10ecab7d4a1af5f308588bf9ad50ea8814cb
Author: Ian Kilpatrick <ikilpatrick@chromium.org>
Date: Thu Feb 22 00:08:42 2018

[css-layout-api] Populate styleMap and give to layout function.

This adds both style-invalidation for the LayoutCustom object, as well
as giving the populated StylePropertyMapReadOnly to the layout()
function.

ComputedStyle::DiffNeedsFullLayout now needs a Document in order to look
up the DocumentLayoutDefinition, to see which properties need to checked
for change.

Bug: 726125
Change-Id: Ie462cb624ba413c796131433ea4eae9bb9f3ec13
Reviewed-on: https://chromium-review.googlesource.com/926906
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#538268}
[add] https://crrev.com/014a10ecab7d4a1af5f308588bf9ad50ea8814cb/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/style-map-multi-ref.html
[add] https://crrev.com/014a10ecab7d4a1af5f308588bf9ad50ea8814cb/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/style-map-multi.https.html
[add] https://crrev.com/014a10ecab7d4a1af5f308588bf9ad50ea8814cb/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/style-map-ref.html
[add] https://crrev.com/014a10ecab7d4a1af5f308588bf9ad50ea8814cb/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/style-map.https.html
[modify] https://crrev.com/014a10ecab7d4a1af5f308588bf9ad50ea8814cb/third_party/WebKit/Source/core/editing/commands/SimplifyMarkupCommand.cpp
[modify] https://crrev.com/014a10ecab7d4a1af5f308588bf9ad50ea8814cb/third_party/WebKit/Source/core/layout/LayoutObject.cpp
[modify] https://crrev.com/014a10ecab7d4a1af5f308588bf9ad50ea8814cb/third_party/WebKit/Source/core/layout/custom/CSSLayoutDefinition.cpp
[modify] https://crrev.com/014a10ecab7d4a1af5f308588bf9ad50ea8814cb/third_party/WebKit/Source/core/layout/custom/CSSLayoutDefinition.h
[modify] https://crrev.com/014a10ecab7d4a1af5f308588bf9ad50ea8814cb/third_party/WebKit/Source/core/layout/custom/LayoutCustom.cpp
[modify] https://crrev.com/014a10ecab7d4a1af5f308588bf9ad50ea8814cb/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/014a10ecab7d4a1af5f308588bf9ad50ea8814cb/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member

Comment 15 by bugdroid1@chromium.org, Feb 28 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2db738684229dc0dbd4f095f17c6e535c001faa5

commit 2db738684229dc0dbd4f095f17c6e535c001faa5
Author: Ian Kilpatrick <ikilpatrick@chromium.org>
Date: Wed Feb 28 18:55:48 2018

[css-layout-api] Change FilteredComputedStyleMap to Prepopulated.

This changes the filtered computed-style-map to being pre-populated.

This shouldn't have any performance difference for the paint api, but
should have increased performance for the layout api.

Additionally this allows style for anonymous boxes to exist. Before we
always had a Node->ComputedStyleMap, however with the layout api it is
possible for access the style for an anonymous box.

Bug: 726125
Change-Id: I2820001f158ac0938a277af491a05f1a72b8c734
Reviewed-on: https://chromium-review.googlesource.com/937905
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539908}
[modify] https://crrev.com/2db738684229dc0dbd4f095f17c6e535c001faa5/third_party/WebKit/Source/core/BUILD.gn
[modify] https://crrev.com/2db738684229dc0dbd4f095f17c6e535c001faa5/third_party/WebKit/Source/core/css/BUILD.gn
[delete] https://crrev.com/787994ad617d5b06ad340de236ebeb9d18795f93/third_party/WebKit/Source/core/css/cssom/FilteredComputedStylePropertyMap.cpp
[delete] https://crrev.com/787994ad617d5b06ad340de236ebeb9d18795f93/third_party/WebKit/Source/core/css/cssom/FilteredComputedStylePropertyMap.h
[add] https://crrev.com/2db738684229dc0dbd4f095f17c6e535c001faa5/third_party/WebKit/Source/core/css/cssom/PrepopulatedComputedStylePropertyMap.cpp
[add] https://crrev.com/2db738684229dc0dbd4f095f17c6e535c001faa5/third_party/WebKit/Source/core/css/cssom/PrepopulatedComputedStylePropertyMap.h
[rename] https://crrev.com/2db738684229dc0dbd4f095f17c6e535c001faa5/third_party/WebKit/Source/core/css/cssom/PrepopulatedComputedStylePropertyMapTest.cpp
[modify] https://crrev.com/2db738684229dc0dbd4f095f17c6e535c001faa5/third_party/WebKit/Source/core/css/properties/ComputedStyleUtils.cpp
[modify] https://crrev.com/2db738684229dc0dbd4f095f17c6e535c001faa5/third_party/WebKit/Source/core/layout/custom/CSSLayoutDefinition.cpp
[modify] https://crrev.com/2db738684229dc0dbd4f095f17c6e535c001faa5/third_party/WebKit/Source/modules/csspaint/CSSPaintDefinition.cpp

Project Member

Comment 16 by bugdroid1@chromium.org, Feb 28 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1f9508a413a9234e7aa3504edbae538081200532

commit 1f9508a413a9234e7aa3504edbae538081200532
Author: Ian Kilpatrick <ikilpatrick@chromium.org>
Date: Wed Feb 28 19:41:59 2018

[css-layout-api] Populate children, and pass into layout() function

This introduces the LayoutChild API surface, (which only has a styleMap
accessor currently).

Each LayoutBox which is a child of a LayoutCustom will hold onto a
LayoutChild object, acting as the script interface for the web
developer.

Bug: 726125
Change-Id: Iecdb01a38c0712dcda063b485c4207bde59f3995
Reviewed-on: https://chromium-review.googlesource.com/933092
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539928}
[add] https://crrev.com/1f9508a413a9234e7aa3504edbae538081200532/third_party/WebKit/LayoutTests/external/wpt/common/arrays.js
[modify] https://crrev.com/1f9508a413a9234e7aa3504edbae538081200532/third_party/WebKit/LayoutTests/external/wpt/common/worklet-reftest.js
[modify] https://crrev.com/1f9508a413a9234e7aa3504edbae538081200532/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/box-tree-registered.https.html
[add] https://crrev.com/1f9508a413a9234e7aa3504edbae538081200532/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/layout-child-absolute.https.html
[add] https://crrev.com/1f9508a413a9234e7aa3504edbae538081200532/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/layout-child-before-after.https.html
[add] https://crrev.com/1f9508a413a9234e7aa3504edbae538081200532/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/layout-child-fixed.https.html
[add] https://crrev.com/1f9508a413a9234e7aa3504edbae538081200532/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/layout-child-float.https.html
[add] https://crrev.com/1f9508a413a9234e7aa3504edbae538081200532/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/layout-child-inflow.https.html
[add] https://crrev.com/1f9508a413a9234e7aa3504edbae538081200532/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/layout-child-inlines.https.html
[add] https://crrev.com/1f9508a413a9234e7aa3504edbae538081200532/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/layout-child-ref.html
[add] https://crrev.com/1f9508a413a9234e7aa3504edbae538081200532/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/layout-child-text.https.html
[add] https://crrev.com/1f9508a413a9234e7aa3504edbae538081200532/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/support/layout-child-worklet.js
[modify] https://crrev.com/1f9508a413a9234e7aa3504edbae538081200532/third_party/WebKit/Source/core/core_idl_files.gni
[modify] https://crrev.com/1f9508a413a9234e7aa3504edbae538081200532/third_party/WebKit/Source/core/css/ComputedStyleExtraFields.json5
[modify] https://crrev.com/1f9508a413a9234e7aa3504edbae538081200532/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp
[modify] https://crrev.com/1f9508a413a9234e7aa3504edbae538081200532/third_party/WebKit/Source/core/layout/BUILD.gn
[modify] https://crrev.com/1f9508a413a9234e7aa3504edbae538081200532/third_party/WebKit/Source/core/layout/LayoutBox.cpp
[modify] https://crrev.com/1f9508a413a9234e7aa3504edbae538081200532/third_party/WebKit/Source/core/layout/LayoutBox.h
[modify] https://crrev.com/1f9508a413a9234e7aa3504edbae538081200532/third_party/WebKit/Source/core/layout/custom/CSSLayoutDefinition.cpp
[add] https://crrev.com/1f9508a413a9234e7aa3504edbae538081200532/third_party/WebKit/Source/core/layout/custom/CustomLayoutChild.cpp
[add] https://crrev.com/1f9508a413a9234e7aa3504edbae538081200532/third_party/WebKit/Source/core/layout/custom/CustomLayoutChild.h
[add] https://crrev.com/1f9508a413a9234e7aa3504edbae538081200532/third_party/WebKit/Source/core/layout/custom/LayoutChild.idl
[modify] https://crrev.com/1f9508a413a9234e7aa3504edbae538081200532/third_party/WebKit/Source/core/layout/custom/LayoutCustom.cpp
[modify] https://crrev.com/1f9508a413a9234e7aa3504edbae538081200532/third_party/WebKit/Source/core/layout/custom/LayoutCustom.h
[modify] https://crrev.com/1f9508a413a9234e7aa3504edbae538081200532/third_party/WebKit/Source/core/style/ComputedStyle.cpp
[modify] https://crrev.com/1f9508a413a9234e7aa3504edbae538081200532/third_party/WebKit/Source/core/style/ComputedStyle.h

Project Member

Comment 17 by bugdroid1@chromium.org, Mar 26 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0a39ca47d4d6b62b463d519c36c4cec6313a96e4

commit 0a39ca47d4d6b62b463d519c36c4cec6313a96e4
Author: Ian Kilpatrick <ikilpatrick@chromium.org>
Date: Mon Mar 26 18:31:07 2018

[css-layout-api] Allow LayoutChild(ren) to be laid out.

This allows a LayoutChild to have layout performed on it, which will
return a Fragment - with the correct inline and block sizes.

These Fragments cannot be positioned yet, (next patch).

The LayoutChild will be laid out with an available inline/block size of
zero by default, and optionally can accept a fixed-inline/block size,
which it must respect.

Bug: 726125
Change-Id: Ie4386b8f6cd6ccec3f9e52ff332322101058836d
Reviewed-on: https://chromium-review.googlesource.com/962870
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545845}
[modify] https://crrev.com/0a39ca47d4d6b62b463d519c36c4cec6313a96e4/third_party/WebKit/LayoutTests/external/wpt/common/worklet-reftest.js
[add] https://crrev.com/0a39ca47d4d6b62b463d519c36c4cec6313a96e4/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/fallback-layout-invalid-child.https.html
[add] https://crrev.com/0a39ca47d4d6b62b463d519c36c4cec6313a96e4/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/fallback-layout-invalid-fragment-request.https.html
[add] https://crrev.com/0a39ca47d4d6b62b463d519c36c4cec6313a96e4/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/fallback-layout-invalid-fragment.https.html
[add] https://crrev.com/0a39ca47d4d6b62b463d519c36c4cec6313a96e4/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/perform-child-layout-fixed-block-size-vrl.https.html
[add] https://crrev.com/0a39ca47d4d6b62b463d519c36c4cec6313a96e4/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/perform-child-layout-fixed-block-size.https.html
[add] https://crrev.com/0a39ca47d4d6b62b463d519c36c4cec6313a96e4/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/perform-child-layout-fixed-inline-size-vrl.https.html
[add] https://crrev.com/0a39ca47d4d6b62b463d519c36c4cec6313a96e4/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/perform-child-layout-fixed-inline-size.https.html
[add] https://crrev.com/0a39ca47d4d6b62b463d519c36c4cec6313a96e4/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/support/layout-child-fixed-sizes-worklet.js
[modify] https://crrev.com/0a39ca47d4d6b62b463d519c36c4cec6313a96e4/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/support/layout-child-worklet.js
[modify] https://crrev.com/0a39ca47d4d6b62b463d519c36c4cec6313a96e4/third_party/WebKit/Source/bindings/core/v8/DictionaryIterator.cpp
[modify] https://crrev.com/0a39ca47d4d6b62b463d519c36c4cec6313a96e4/third_party/WebKit/Source/bindings/core/v8/DictionaryIterator.h
[modify] https://crrev.com/0a39ca47d4d6b62b463d519c36c4cec6313a96e4/third_party/WebKit/Source/core/core_idl_files.gni
[modify] https://crrev.com/0a39ca47d4d6b62b463d519c36c4cec6313a96e4/third_party/WebKit/Source/core/layout/BUILD.gn
[modify] https://crrev.com/0a39ca47d4d6b62b463d519c36c4cec6313a96e4/third_party/WebKit/Source/core/layout/LayoutBox.cpp
[modify] https://crrev.com/0a39ca47d4d6b62b463d519c36c4cec6313a96e4/third_party/WebKit/Source/core/layout/custom/CSSLayoutDefinition.cpp
[modify] https://crrev.com/0a39ca47d4d6b62b463d519c36c4cec6313a96e4/third_party/WebKit/Source/core/layout/custom/CSSLayoutDefinition.h
[modify] https://crrev.com/0a39ca47d4d6b62b463d519c36c4cec6313a96e4/third_party/WebKit/Source/core/layout/custom/CustomLayoutChild.cpp
[modify] https://crrev.com/0a39ca47d4d6b62b463d519c36c4cec6313a96e4/third_party/WebKit/Source/core/layout/custom/CustomLayoutChild.h
[add] https://crrev.com/0a39ca47d4d6b62b463d519c36c4cec6313a96e4/third_party/WebKit/Source/core/layout/custom/CustomLayoutConstraintsOptions.idl
[add] https://crrev.com/0a39ca47d4d6b62b463d519c36c4cec6313a96e4/third_party/WebKit/Source/core/layout/custom/CustomLayoutFragment.cpp
[add] https://crrev.com/0a39ca47d4d6b62b463d519c36c4cec6313a96e4/third_party/WebKit/Source/core/layout/custom/CustomLayoutFragment.h
[add] https://crrev.com/0a39ca47d4d6b62b463d519c36c4cec6313a96e4/third_party/WebKit/Source/core/layout/custom/CustomLayoutFragmentRequest.cpp
[add] https://crrev.com/0a39ca47d4d6b62b463d519c36c4cec6313a96e4/third_party/WebKit/Source/core/layout/custom/CustomLayoutFragmentRequest.h
[modify] https://crrev.com/0a39ca47d4d6b62b463d519c36c4cec6313a96e4/third_party/WebKit/Source/core/layout/custom/FragmentResultOptions.idl
[modify] https://crrev.com/0a39ca47d4d6b62b463d519c36c4cec6313a96e4/third_party/WebKit/Source/core/layout/custom/LayoutChild.idl
[modify] https://crrev.com/0a39ca47d4d6b62b463d519c36c4cec6313a96e4/third_party/WebKit/Source/core/layout/custom/LayoutCustom.cpp
[modify] https://crrev.com/0a39ca47d4d6b62b463d519c36c4cec6313a96e4/third_party/WebKit/Source/core/layout/custom/LayoutCustom.h
[add] https://crrev.com/0a39ca47d4d6b62b463d519c36c4cec6313a96e4/third_party/WebKit/Source/core/layout/custom/LayoutFragment.idl
[add] https://crrev.com/0a39ca47d4d6b62b463d519c36c4cec6313a96e4/third_party/WebKit/Source/core/layout/custom/LayoutFragmentRequest.idl

Project Member

Comment 18 by bugdroid1@chromium.org, Mar 27 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5aba54d93514567262df30d0dbba0cee712f6da5

commit 5aba54d93514567262df30d0dbba0cee712f6da5
Author: Ian Kilpatrick <ikilpatrick@chromium.org>
Date: Tue Mar 27 04:55:48 2018

[css-layout-api] Allow developers to position fragments.

This implements the LayoutFragment.inlineOffset and
LayoutFragment.blockOffset attributes.

The tests added simply re-create the reference by setting these two
attributes in different text directions and writing modes.

Change-Id: I1865403ca12e3b174738ee93320eae5ba16ac292
Bug: 726125
Reviewed-on: https://chromium-review.googlesource.com/971832
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546018}
[add] https://crrev.com/5aba54d93514567262df30d0dbba0cee712f6da5/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/position-fragment-htb-ltr.https.html
[add] https://crrev.com/5aba54d93514567262df30d0dbba0cee712f6da5/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/position-fragment-htb-rtl.https.html
[add] https://crrev.com/5aba54d93514567262df30d0dbba0cee712f6da5/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/position-fragment-ref.html
[add] https://crrev.com/5aba54d93514567262df30d0dbba0cee712f6da5/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/position-fragment-vlr-ltr.https.html
[add] https://crrev.com/5aba54d93514567262df30d0dbba0cee712f6da5/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/position-fragment-vlr-rtl.https.html
[add] https://crrev.com/5aba54d93514567262df30d0dbba0cee712f6da5/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/position-fragment-vrl-ltr.https.html
[add] https://crrev.com/5aba54d93514567262df30d0dbba0cee712f6da5/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/position-fragment-vrl-rtl.https.html
[add] https://crrev.com/5aba54d93514567262df30d0dbba0cee712f6da5/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/support/layout-position-child-worklet.js
[modify] https://crrev.com/5aba54d93514567262df30d0dbba0cee712f6da5/third_party/WebKit/Source/core/layout/custom/CustomLayoutFragment.h
[modify] https://crrev.com/5aba54d93514567262df30d0dbba0cee712f6da5/third_party/WebKit/Source/core/layout/custom/CustomLayoutFragmentRequest.cpp
[modify] https://crrev.com/5aba54d93514567262df30d0dbba0cee712f6da5/third_party/WebKit/Source/core/layout/custom/LayoutCustom.cpp
[modify] https://crrev.com/5aba54d93514567262df30d0dbba0cee712f6da5/third_party/WebKit/Source/core/layout/custom/LayoutFragment.idl
[modify] https://crrev.com/5aba54d93514567262df30d0dbba0cee712f6da5/third_party/WebKit/Source/platform/LayoutUnit.h

Project Member

Comment 19 by bugdroid1@chromium.org, Mar 28 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e355a2a9cde0b850090f700e18649070dd599785

commit e355a2a9cde0b850090f700e18649070dd599785
Author: Ian Kilpatrick <ikilpatrick@chromium.org>
Date: Wed Mar 28 04:15:04 2018

[css-layout-api] Implementation of LayoutConstraints#fixedInlineSize.

This adds the bare bones for the LayoutConstraints object. It just
handles the fixedInlineSize parameter. I expect the information in
this object after the next F2F.

The layout for the test will simply output an autoBlockSize of 100, if
the fixedInlineSize is 100. The tests impose various conditions in
how this can occur, but is certainly not exhaustive.

Change-Id: I6be4a7b77d7b737c778dc2de8b235035b8d3fa22
Bug: 726125
Reviewed-on: https://chromium-review.googlesource.com/981517
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546393}
[add] https://crrev.com/e355a2a9cde0b850090f700e18649070dd599785/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-inline-size-absolute-left-right.https.html
[add] https://crrev.com/e355a2a9cde0b850090f700e18649070dd599785/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-inline-size-absolute-top-bottom-vrl.https.html
[add] https://crrev.com/e355a2a9cde0b850090f700e18649070dd599785/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-inline-size-block-auto-avoid-floats-vlr.https.html
[add] https://crrev.com/e355a2a9cde0b850090f700e18649070dd599785/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-inline-size-block-auto-avoid-floats.https.html
[add] https://crrev.com/e355a2a9cde0b850090f700e18649070dd599785/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-inline-size-block-auto-vlr.https.html
[add] https://crrev.com/e355a2a9cde0b850090f700e18649070dd599785/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-inline-size-block-auto.https.html
[add] https://crrev.com/e355a2a9cde0b850090f700e18649070dd599785/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-inline-size-fixed-vrl.https.html
[add] https://crrev.com/e355a2a9cde0b850090f700e18649070dd599785/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-inline-size-fixed.https.html
[add] https://crrev.com/e355a2a9cde0b850090f700e18649070dd599785/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-inline-size-flex-grow-column-vrl.https.html
[add] https://crrev.com/e355a2a9cde0b850090f700e18649070dd599785/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-inline-size-flex-grow.https.html
[add] https://crrev.com/e355a2a9cde0b850090f700e18649070dd599785/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-inline-size-grid.https.html
[add] https://crrev.com/e355a2a9cde0b850090f700e18649070dd599785/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-inline-size-percentage-vlr.https.html
[add] https://crrev.com/e355a2a9cde0b850090f700e18649070dd599785/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-inline-size-percentage.https.html
[add] https://crrev.com/e355a2a9cde0b850090f700e18649070dd599785/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-inline-size-ref.html
[add] https://crrev.com/e355a2a9cde0b850090f700e18649070dd599785/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/support/constraints-fixed-inline-size.js
[modify] https://crrev.com/e355a2a9cde0b850090f700e18649070dd599785/third_party/WebKit/Source/core/core_idl_files.gni
[modify] https://crrev.com/e355a2a9cde0b850090f700e18649070dd599785/third_party/WebKit/Source/core/layout/BUILD.gn
[modify] https://crrev.com/e355a2a9cde0b850090f700e18649070dd599785/third_party/WebKit/Source/core/layout/custom/CSSLayoutDefinition.cpp
[add] https://crrev.com/e355a2a9cde0b850090f700e18649070dd599785/third_party/WebKit/Source/core/layout/custom/CustomLayoutConstraints.h
[add] https://crrev.com/e355a2a9cde0b850090f700e18649070dd599785/third_party/WebKit/Source/core/layout/custom/LayoutConstraints.idl

Project Member

Comment 20 by bugdroid1@chromium.org, Mar 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9bc767516f51ba916f54663fc19dd3e12aa61f91

commit 9bc767516f51ba916f54663fc19dd3e12aa61f91
Author: Ian Kilpatrick <ikilpatrick@chromium.org>
Date: Fri Mar 30 02:44:55 2018

[css-layout-api] Change TraceWrapperV8Reference to ScopedPersistent.

The ownership chain for the instance_ variable looks like:
LayoutCustom -> CSSLayoutDefinition::Instance -> v8::Object (instance_).

As LayoutCustom isn't a ScriptWrappable (lifetime is manually controlled)
using the TraceWrapperV8Reference was the wrong thing to do there.

Changed to ScopedPersistent.

Bug: 726125
Change-Id: I452a44e6914d042ca12f3bce3f8bce4a068bba5d
Reviewed-on: https://chromium-review.googlesource.com/986986
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547081}
[modify] https://crrev.com/9bc767516f51ba916f54663fc19dd3e12aa61f91/third_party/WebKit/Source/core/layout/custom/CSSLayoutDefinition.cpp
[modify] https://crrev.com/9bc767516f51ba916f54663fc19dd3e12aa61f91/third_party/WebKit/Source/core/layout/custom/CSSLayoutDefinition.h

Blockedon: 831502
Project Member

Comment 22 by bugdroid1@chromium.org, May 24 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9858d76f45443c63645b4beec46882ca18b318fe

commit 9858d76f45443c63645b4beec46882ca18b318fe
Author: Ian Kilpatrick <ikilpatrick@chromium.org>
Date: Thu May 24 20:16:28 2018

[css-layout-api] Adds ability to set available sizes on children.

This adds the availableInlineSize, availableBlockSize, to the layout
constriants options dictionary.

This also makes the children "shrink-to-fit" if they are inside a
custom layout pass. Additional logic was needed to *not* "shrink-to-fit"
children during the layout fallback if any occurred, so
LayoutCustomPhaseScope was added to handle this.

The tests that were added test a new BFC with inline children to
see if shrink to fitting works as expected.

Bug: 726125
Change-Id: Ic86d51579b680d871c66040f54e532bc47d79979
Reviewed-on: https://chromium-review.googlesource.com/1069252
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#561602}
[add] https://crrev.com/9858d76f45443c63645b4beec46882ca18b318fe/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/perform-child-layout-available-inline-size-htb-htb.https.html
[add] https://crrev.com/9858d76f45443c63645b4beec46882ca18b318fe/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/perform-child-layout-available-inline-size-htb-vrl.https.html
[add] https://crrev.com/9858d76f45443c63645b4beec46882ca18b318fe/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/perform-child-layout-available-inline-size-vrl-htb.https.html
[add] https://crrev.com/9858d76f45443c63645b4beec46882ca18b318fe/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/perform-child-layout-available-inline-size-vrl-vrl.https.html
[modify] https://crrev.com/9858d76f45443c63645b4beec46882ca18b318fe/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/perform-child-layout-fixed-block-size-vrl.https.html
[modify] https://crrev.com/9858d76f45443c63645b4beec46882ca18b318fe/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/perform-child-layout-fixed-block-size.https.html
[modify] https://crrev.com/9858d76f45443c63645b4beec46882ca18b318fe/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/perform-child-layout-fixed-inline-size-vrl.https.html
[modify] https://crrev.com/9858d76f45443c63645b4beec46882ca18b318fe/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/perform-child-layout-fixed-inline-size.https.html
[rename] https://crrev.com/9858d76f45443c63645b4beec46882ca18b318fe/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/support/layout-child-sizes-worklet.js
[modify] https://crrev.com/9858d76f45443c63645b4beec46882ca18b318fe/third_party/blink/renderer/core/layout/custom/custom_layout_constraints_options.idl
[modify] https://crrev.com/9858d76f45443c63645b4beec46882ca18b318fe/third_party/blink/renderer/core/layout/custom/custom_layout_fragment_request.cc
[modify] https://crrev.com/9858d76f45443c63645b4beec46882ca18b318fe/third_party/blink/renderer/core/layout/custom/layout_custom.cc
[modify] https://crrev.com/9858d76f45443c63645b4beec46882ca18b318fe/third_party/blink/renderer/core/layout/custom/layout_custom.h
[modify] https://crrev.com/9858d76f45443c63645b4beec46882ca18b318fe/third_party/blink/renderer/core/layout/layout_box.cc
[modify] https://crrev.com/9858d76f45443c63645b4beec46882ca18b318fe/third_party/blink/renderer/core/layout/layout_box.h

Project Member

Comment 23 by bugdroid1@chromium.org, May 31 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ac407b7edeef126a7ff9173ce086e1705692bd10

commit ac407b7edeef126a7ff9173ce086e1705692bd10
Author: Ian Kilpatrick <ikilpatrick@chromium.org>
Date: Thu May 31 15:13:13 2018

[css-layout-api] Allow passing of serialized data between parent<->child.

This allow arbitary parent<->child communation during layout. A parent
can send data to a child via:

// parent
const fragment = yield child.layoutNextFragment({data});

// child
*layout(children, edges, constraints, style) {
  const data = constraints.data; // receive data.
}

And child to parent via:

// child
*layout() {
  return {data};
}

// parent
const fragment = yield child.layoutNextFragment();
const data = fragment.data; // receive data.

As the parent and child layouts may be invoked in different worklet
global scopes, and don't allow data shared, the serialization of data
uses "kForStorage" which means that SharedArrayBuffers aren't allowed
in the serialization.

Serialization also occurs so that we are able to cache results.

Bug: 726125
Change-Id: Ib7e81b5778cef3af2c2f8a1ccef749f1d2ba4dfa
Reviewed-on: https://chromium-review.googlesource.com/1072150
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#563235}
[add] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-data-function-failure.https.html
[add] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-data-sab-failure.https.html
[add] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-data.https.html
[add] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/fragment-data-function-failure.https.html
[add] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/fragment-data-immutable.https.html
[add] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/fragment-data-sab-failure.https.html
[add] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/fragment-data.https.html
[rename] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/green-square-ref.html
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/layout-child-absolute.https.html
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/layout-child-before-after.https.html
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/layout-child-fixed.https.html
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/layout-child-float.https.html
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/layout-child-inflow.https.html
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/layout-child-inlines.https.html
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/layout-child-text.https.html
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/perform-child-layout-available-inline-size-htb-htb.https.html
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/perform-child-layout-available-inline-size-htb-vrl.https.html
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/perform-child-layout-available-inline-size-vrl-htb.https.html
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/perform-child-layout-available-inline-size-vrl-vrl.https.html
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/perform-child-layout-fixed-block-size-vrl.https.html
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/perform-child-layout-fixed-block-size.https.html
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/perform-child-layout-fixed-inline-size-vrl.https.html
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/perform-child-layout-fixed-inline-size.https.html
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/blink/renderer/core/layout/BUILD.gn
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/blink/renderer/core/layout/custom/css_layout_definition.cc
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/blink/renderer/core/layout/custom/css_layout_definition.h
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/blink/renderer/core/layout/custom/custom_layout_child.cc
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/blink/renderer/core/layout/custom/custom_layout_child.h
[add] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/blink/renderer/core/layout/custom/custom_layout_constraints.cc
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/blink/renderer/core/layout/custom/custom_layout_constraints.h
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/blink/renderer/core/layout/custom/custom_layout_constraints_options.idl
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/blink/renderer/core/layout/custom/custom_layout_fragment.cc
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/blink/renderer/core/layout/custom/custom_layout_fragment.h
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/blink/renderer/core/layout/custom/custom_layout_fragment_request.cc
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/blink/renderer/core/layout/custom/custom_layout_fragment_request.h
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/blink/renderer/core/layout/custom/fragment_result_options.idl
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/blink/renderer/core/layout/custom/layout_child.idl
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/blink/renderer/core/layout/custom/layout_constraints.idl
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/blink/renderer/core/layout/custom/layout_custom.cc
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/blink/renderer/core/layout/custom/layout_custom.h
[modify] https://crrev.com/ac407b7edeef126a7ff9173ce086e1705692bd10/third_party/blink/renderer/core/layout/custom/layout_fragment.idl

Project Member

Comment 24 by bugdroid1@chromium.org, Jun 1 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/763866b6b9792b95aa4008c9665d9cce8ce5ed16

commit 763866b6b9792b95aa4008c9665d9cce8ce5ed16
Author: Ian Kilpatrick <ikilpatrick@chromium.org>
Date: Fri Jun 01 16:23:10 2018

[css-layout-api] Adds passing of LayoutConstraints#fixedBlockSize.

This passes a fixed block size constraint into the layout function if:
 - It has a fixed/percentage/calc block-size.
 - The abs-pos constraints will make a fixed block size.
 - It is a quirky body/document (which stretches to fit the viewport).
 - It has a fixed block-size constraint from a parent layout.

The tests all behave the same way. The layout which we are interested
in testing looks at the received fixedBlockSize, and if correct performs
layout on the only child with a 100x100 fixed size.

Bug: 726125
Change-Id: I4eec86a843d58a791c9df071e16b71bf2f5d80ee
Reviewed-on: https://chromium-review.googlesource.com/1073636
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#563668}
[add] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-block-size-absolute-left-right-vrl.https.html
[add] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-block-size-absolute-none.https.html
[add] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-block-size-absolute-top-bottom.https.html
[add] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-block-size-block-none-vrl.https.html
[add] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-block-size-block-none.https.html
[add] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-block-size-fixed-max.https.html
[add] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-block-size-fixed-min.https.html
[add] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-block-size-fixed-vrl.https.html
[add] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-block-size-fixed.https.html
[add] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-block-size-flex-basis-vrl.https.html
[add] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-block-size-flex-column-basis.https.html
[add] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-block-size-flex-column-grow.https.html
[add] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-block-size-flex-column-none.https.html
[add] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-block-size-flex-column-stretch-vrl.https.html
[add] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-block-size-flex-grow-vrl.https.html
[add] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-block-size-flex-none.https.html
[add] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-block-size-flex-percentage-indefinite.https.html
[add] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-block-size-flex-stretch-max.https.html
[add] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-block-size-flex-stretch.https.html
[add] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-block-size-grid-none.https.html
[add] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-block-size-grid-stretch-max.https.html
[add] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-block-size-grid-stretch.https.html
[add] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-block-size-grid-vrl.https.html
[add] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-block-size-percentage-indefinite.https.html
[add] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-block-size-percentage-vrl.https.html
[add] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-block-size-percentage.https.html
[add] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-block-size-quirky-body.https.html
[add] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/support/constraints-fixed-block-size-quirky-body-iframe.html
[add] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/support/constraints-fixed-block-size.js
[modify] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/blink/renderer/core/layout/custom/css_layout_definition.cc
[modify] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/blink/renderer/core/layout/custom/custom_layout_constraints.cc
[modify] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/blink/renderer/core/layout/custom/custom_layout_constraints.h
[modify] https://crrev.com/763866b6b9792b95aa4008c9665d9cce8ce5ed16/third_party/blink/renderer/core/layout/custom/layout_constraints.idl

Project Member

Comment 25 by bugdroid1@chromium.org, Sep 18

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/50dec7d974179d154e08a57902d8fa4e2af98faf

commit 50dec7d974179d154e08a57902d8fa4e2af98faf
Author: Ian Kilpatrick <ikilpatrick@chromium.org>
Date: Tue Sep 18 20:38:13 2018

[css-layout-api] Add test for percentage height in quirks mode.

Adds a test to verify that constraints.fixedBlockSize is set to the
correct value, in quirks mode, with a percentage block-size.

Bug: 	726125
Change-Id: I97a1e946cdbb4443d70803bfd4ace7f8d3df2ce1
Reviewed-on: https://chromium-review.googlesource.com/1231385
Reviewed-by: Aleks Totic <atotic@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#592181}
[add] https://crrev.com/50dec7d974179d154e08a57902d8fa4e2af98faf/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/constraints-fixed-block-size-percentage-quirks-mode.https.html

Project Member

Comment 26 by bugdroid1@chromium.org, Sep 21

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e4e2bb3aafcdfd4f0ff2b8f3fb33ce211f274435

commit e4e2bb3aafcdfd4f0ff2b8f3fb33ce211f274435
Author: Ian Kilpatrick <ikilpatrick@chromium.org>
Date: Fri Sep 21 17:06:34 2018

[css-layout-api] Move perform-child-layout tests to child-constraints

As above, move similar tests into subdirectory, and apply minor
documentation cleanups.

Adds two new tests checking that setting an invalid (negative) available
size, clamps it to zero.

Bug: 726125
Change-Id: Id5bdfa25970a4e4bfe359377b88176043ab1f6c3
Reviewed-on: https://chromium-review.googlesource.com/1236266
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Aleks Totic <atotic@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593236}
[rename] https://crrev.com/e4e2bb3aafcdfd4f0ff2b8f3fb33ce211f274435/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/child-constraints/available-block-size-htb-vrl.https.html
[add] https://crrev.com/e4e2bb3aafcdfd4f0ff2b8f3fb33ce211f274435/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/child-constraints/available-block-size-invalid.https.html
[rename] https://crrev.com/e4e2bb3aafcdfd4f0ff2b8f3fb33ce211f274435/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/child-constraints/available-block-size-vrl-htb.https.html
[rename] https://crrev.com/e4e2bb3aafcdfd4f0ff2b8f3fb33ce211f274435/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/child-constraints/available-inline-size-htb-htb.https.html
[add] https://crrev.com/e4e2bb3aafcdfd4f0ff2b8f3fb33ce211f274435/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/child-constraints/available-inline-size-invalid.https.html
[rename] https://crrev.com/e4e2bb3aafcdfd4f0ff2b8f3fb33ce211f274435/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/child-constraints/available-inline-size-vrl-vrl.https.html
[rename] https://crrev.com/e4e2bb3aafcdfd4f0ff2b8f3fb33ce211f274435/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/child-constraints/fixed-block-size-vrl.https.html
[rename] https://crrev.com/e4e2bb3aafcdfd4f0ff2b8f3fb33ce211f274435/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/child-constraints/fixed-block-size.https.html
[rename] https://crrev.com/e4e2bb3aafcdfd4f0ff2b8f3fb33ce211f274435/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/child-constraints/fixed-inline-size-vrl.https.html
[rename] https://crrev.com/e4e2bb3aafcdfd4f0ff2b8f3fb33ce211f274435/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/child-constraints/fixed-inline-size.https.html

Project Member

Comment 27 by bugdroid1@chromium.org, Oct 15

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/980bc9b6532b0980721c123fa29fa561bc503f91

commit 980bc9b6532b0980721c123fa29fa561bc503f91
Author: Ian Kilpatrick <ikilpatrick@chromium.org>
Date: Mon Oct 15 17:57:23 2018

[css-layout-api] Add LayoutEdges.

This allows web developers to access pre-computed sizes for the border,
scrollbar, and padding "edges".

This adds two types of tests:
1) Uses the standard "green box" approach of testing the script values
   match what is expected.
2) Positions four children at each corner (using edges) are positioned
   the same as using an abs-pos technique.

Bug: 726125
Change-Id: I3b53be9b44989d919cb657d4eabc6d3a1a79181b
Reviewed-on: https://chromium-review.googlesource.com/c/1252776
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Aleks Totic <atotic@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#599680}
[add] https://crrev.com/980bc9b6532b0980721c123fa29fa561bc503f91/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/all-ref.html
[add] https://crrev.com/980bc9b6532b0980721c123fa29fa561bc503f91/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/all.https.html
[add] https://crrev.com/980bc9b6532b0980721c123fa29fa561bc503f91/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/border-htb-rtl.https.html
[add] https://crrev.com/980bc9b6532b0980721c123fa29fa561bc503f91/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/border-htb.https.html
[add] https://crrev.com/980bc9b6532b0980721c123fa29fa561bc503f91/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/border-vlr-rtl.https.html
[add] https://crrev.com/980bc9b6532b0980721c123fa29fa561bc503f91/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/border-vlr.https.html
[add] https://crrev.com/980bc9b6532b0980721c123fa29fa561bc503f91/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/border-vrl-rtl.https.html
[add] https://crrev.com/980bc9b6532b0980721c123fa29fa561bc503f91/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/border-vrl.https.html
[add] https://crrev.com/980bc9b6532b0980721c123fa29fa561bc503f91/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/padding-htb-rtl.https.html
[add] https://crrev.com/980bc9b6532b0980721c123fa29fa561bc503f91/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/padding-htb.https.html
[add] https://crrev.com/980bc9b6532b0980721c123fa29fa561bc503f91/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/padding-vlr-rtl.https.html
[add] https://crrev.com/980bc9b6532b0980721c123fa29fa561bc503f91/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/padding-vlr.https.html
[add] https://crrev.com/980bc9b6532b0980721c123fa29fa561bc503f91/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/padding-vrl-rtl.https.html
[add] https://crrev.com/980bc9b6532b0980721c123fa29fa561bc503f91/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/padding-vrl.https.html
[add] https://crrev.com/980bc9b6532b0980721c123fa29fa561bc503f91/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/scrollbar-ref.html
[add] https://crrev.com/980bc9b6532b0980721c123fa29fa561bc503f91/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/scrollbar.https.html
[add] https://crrev.com/980bc9b6532b0980721c123fa29fa561bc503f91/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/support/edges.js
[modify] https://crrev.com/980bc9b6532b0980721c123fa29fa561bc503f91/third_party/blink/renderer/core/core_idl_files.gni
[modify] https://crrev.com/980bc9b6532b0980721c123fa29fa561bc503f91/third_party/blink/renderer/core/layout/BUILD.gn
[modify] https://crrev.com/980bc9b6532b0980721c123fa29fa561bc503f91/third_party/blink/renderer/core/layout/custom/css_layout_definition.cc
[add] https://crrev.com/980bc9b6532b0980721c123fa29fa561bc503f91/third_party/blink/renderer/core/layout/custom/custom_layout_edges.cc
[add] https://crrev.com/980bc9b6532b0980721c123fa29fa561bc503f91/third_party/blink/renderer/core/layout/custom/custom_layout_edges.h
[add] https://crrev.com/980bc9b6532b0980721c123fa29fa561bc503f91/third_party/blink/renderer/core/layout/custom/layout_edges.idl
[modify] https://crrev.com/980bc9b6532b0980721c123fa29fa561bc503f91/third_party/blink/renderer/core/layout/layout_box_model_object.h

Project Member

Comment 28 by bugdroid1@chromium.org, Oct 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a7ff5c099bb69d7eef5467268877cb11cdd1d838

commit a7ff5c099bb69d7eef5467268877cb11cdd1d838
Author: Findit <findit-for-me@appspot.gserviceaccount.com>
Date: Tue Oct 16 06:17:13 2018

Revert "[css-layout-api] Add LayoutEdges."

This reverts commit 980bc9b6532b0980721c123fa29fa561bc503f91.

Reason for revert:

Findit (https://goo.gl/kROfz5) identified CL at revision 599680 as the
culprit for flakes in the build cycles as shown on:
https://findit-for-me.appspot.com/waterfall/flake/flake-culprit?key=ag9zfmZpbmRpdC1mb3ItbWVyQwsSDEZsYWtlQ3VscHJpdCIxY2hyb21pdW0vOTgwYmM5YjY1MzJiMDk4MDcyMWMxMjNmYTI5ZmE1NjFiYzUwM2Y5MQw

Sample Failed Build: https://ci.chromium.org/buildbot/chromium.mac/Mac10.10%20Tests/35414

Sample Failed Step: webkit_layout_tests on (none) GPU on Mac on Mac-10.10.5

Sample Flaky Test: external/wpt/css/css-layout-api/edges/scrollbar.https.html

Original change's description:
> [css-layout-api] Add LayoutEdges.
> 
> This allows web developers to access pre-computed sizes for the border,
> scrollbar, and padding "edges".
> 
> This adds two types of tests:
> 1) Uses the standard "green box" approach of testing the script values
>    match what is expected.
> 2) Positions four children at each corner (using edges) are positioned
>    the same as using an abs-pos technique.
> 
> Bug: 726125
> Change-Id: I3b53be9b44989d919cb657d4eabc6d3a1a79181b
> Reviewed-on: https://chromium-review.googlesource.com/c/1252776
> Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
> Reviewed-by: Aleks Totic <atotic@chromium.org>
> Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#599680}

Change-Id: Ib4f9cb3e51daa57412d31cff71cbf0a3fe15cab9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 726125,  895731 
Reviewed-on: https://chromium-review.googlesource.com/c/1282724
Cr-Commit-Position: refs/heads/master@{#599889}
[delete] https://crrev.com/d6daeef22be35dd14764da5d6078c50315124922/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/all-ref.html
[delete] https://crrev.com/d6daeef22be35dd14764da5d6078c50315124922/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/all.https.html
[delete] https://crrev.com/d6daeef22be35dd14764da5d6078c50315124922/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/border-htb-rtl.https.html
[delete] https://crrev.com/d6daeef22be35dd14764da5d6078c50315124922/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/border-htb.https.html
[delete] https://crrev.com/d6daeef22be35dd14764da5d6078c50315124922/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/border-vlr-rtl.https.html
[delete] https://crrev.com/d6daeef22be35dd14764da5d6078c50315124922/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/border-vlr.https.html
[delete] https://crrev.com/d6daeef22be35dd14764da5d6078c50315124922/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/border-vrl-rtl.https.html
[delete] https://crrev.com/d6daeef22be35dd14764da5d6078c50315124922/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/border-vrl.https.html
[delete] https://crrev.com/d6daeef22be35dd14764da5d6078c50315124922/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/padding-htb-rtl.https.html
[delete] https://crrev.com/d6daeef22be35dd14764da5d6078c50315124922/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/padding-htb.https.html
[delete] https://crrev.com/d6daeef22be35dd14764da5d6078c50315124922/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/padding-vlr-rtl.https.html
[delete] https://crrev.com/d6daeef22be35dd14764da5d6078c50315124922/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/padding-vlr.https.html
[delete] https://crrev.com/d6daeef22be35dd14764da5d6078c50315124922/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/padding-vrl-rtl.https.html
[delete] https://crrev.com/d6daeef22be35dd14764da5d6078c50315124922/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/padding-vrl.https.html
[delete] https://crrev.com/d6daeef22be35dd14764da5d6078c50315124922/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/scrollbar-ref.html
[delete] https://crrev.com/d6daeef22be35dd14764da5d6078c50315124922/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/edges/scrollbar.https.html
[delete] https://crrev.com/d6daeef22be35dd14764da5d6078c50315124922/third_party/WebKit/LayoutTests/external/wpt/css/css-layout-api/support/edges.js
[modify] https://crrev.com/a7ff5c099bb69d7eef5467268877cb11cdd1d838/third_party/blink/renderer/core/core_idl_files.gni
[modify] https://crrev.com/a7ff5c099bb69d7eef5467268877cb11cdd1d838/third_party/blink/renderer/core/layout/BUILD.gn
[modify] https://crrev.com/a7ff5c099bb69d7eef5467268877cb11cdd1d838/third_party/blink/renderer/core/layout/custom/css_layout_definition.cc
[delete] https://crrev.com/d6daeef22be35dd14764da5d6078c50315124922/third_party/blink/renderer/core/layout/custom/custom_layout_edges.cc
[delete] https://crrev.com/d6daeef22be35dd14764da5d6078c50315124922/third_party/blink/renderer/core/layout/custom/custom_layout_edges.h
[delete] https://crrev.com/d6daeef22be35dd14764da5d6078c50315124922/third_party/blink/renderer/core/layout/custom/layout_edges.idl
[modify] https://crrev.com/a7ff5c099bb69d7eef5467268877cb11cdd1d838/third_party/blink/renderer/core/layout/layout_box_model_object.h

 Issue 895753  has been merged into this issue.

Sign in to add a comment