Closed
Bug 1355732
Opened 8 years ago
Closed 8 years ago
stylo: Make column-* animatable
Categories
(Core :: CSS Parsing and Computation, enhancement, P2)
Core
CSS Parsing and Computation
Tracking
()
RESOLVED
FIXED
mozilla55
Tracking | Status | |
---|---|---|
firefox55 | --- | fixed |
People
(Reporter: mantaroh, Assigned: mantaroh)
References
Details
Attachments
(2 files, 4 obsolete files)
Next, we will make column-* properties animatable (i.e. column-width / column-count / column-gap).
I think that...
The column-width is LengthOrAuto type, so we can make animatable changing to animation type.
The column-count is IntegerOrAuto type, we will need to implement predefined_types[1].
The column-gap is LengthOrNormal type, we will need to implement Normal interpolate function.
Updated•8 years ago
|
Priority: -- → P2
Assignee | ||
Comment 1•8 years ago
|
||
Try :
https://treeherder.mozilla.org/#/jobs?repo=try&revision=8c9e82cd830c40a90c468ceae379475fc6092af2
The column-count is different from other properties. We will need to specified this type as predefined_types, however this type is not coordinate_type or length type simple type, so we can't use exist macro(like impl_sytle_coord or imple_simple). [1]
[1] https://dxr.mozilla.org/mozilla-central/rev/abf145ebd05fe105efbc78b761858c34f7690154/servo/components/style/properties/gecko.mako.rs#641
Assignee: nobody → mantaroh
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment 4•8 years ago
|
||
mozreview-review |
Comment on attachment 8857832 [details]
Bug 1355732 part 1 - Make column-* animatable on stylo.
https://reviewboard.mozilla.org/r/129854/#review132426
There are no clone_column_gap() and clone_column_width(). Does it mean we have no glue codes for thoese properties?
::: servo/components/style/properties/gecko.mako.rs:3507
(Diff revision 1)
>
> ${impl_simple_copy('column_count', 'mColumnCount')}
>
> + pub fn clone_column_count(&self) -> longhands::column_count::computed_value::T {
> + use gecko_bindings::structs::NS_STYLE_COLUMN_COUNT_AUTO;
> + if self.gecko.mColumnCount != NS_STYLE_COLUMN_COUNT_AUTO {
gecko.mColumnCount is uint32_t, whereas Integer is i32. So it's worth adding debug_assert!() to check mColumnCount is less than <i32>::max_value()?
Comment 5•8 years ago
|
||
mozreview-review |
Comment on attachment 8857833 [details]
Bug 1355732 Enable web platform tests of column-* properties animation.
https://reviewboard.mozilla.org/r/129856/#review132454
Brian told me that getComputedStyle() for 'normal' of column-gap should return 'normal'. So, you don't need to add getNormalValue() function here. Please file a bug for this issue and let's mark FAIL for now.
::: testing/web-platform/tests/web-animations/animation-model/animation-types/property-types.js:226
(Diff revision 1)
> + testAddition: function(property, setup) {
> + test(function(t) {
> + var idlName = propertyToIDL(property);
> + var target = createTestElement(t, setup);
> + target.style[idlName] = 1;
> + var animation = target.animate({ [idlName]: [0, 2] },
Does this test work as expected? It seems to me that '0' is not a positive integer.
Assignee | ||
Comment 6•8 years ago
|
||
mozreview-review-reply |
Comment on attachment 8857832 [details]
Bug 1355732 part 1 - Make column-* animatable on stylo.
https://reviewboard.mozilla.org/r/129854/#review132426
Thanks.
I believe that the properties which using the predefined_type helper have clone function. This clone function will generate by mako template.[1]
[1] https://dxr.mozilla.org/mozilla-central/rev/f40e24f40b4c4556944c762d4764eace261297f5/servo/components/style/properties/data.py#154
Assignee | ||
Comment 7•8 years ago
|
||
mozreview-review-reply |
Comment on attachment 8857833 [details]
Bug 1355732 Enable web platform tests of column-* properties animation.
https://reviewboard.mozilla.org/r/129856/#review132454
Thanks for information.
I filed as bug 1356241.
Comment 8•8 years ago
|
||
(In reply to Mantaroh Yoshinaga[:mantaroh] from comment #6)
> Comment on attachment 8857832 [details]
> Bug 1355732 part 1 - Make column-* animatable on stylo.
>
> https://reviewboard.mozilla.org/r/129854/#review132426
>
> Thanks.
>
> I believe that the properties which using the predefined_type helper have
> clone function. This clone function will generate by mako template.[1]
That's really interesting. We implemented clone_column_count() and column-count is also using predefined_type(). What's the difference?
Assignee | ||
Comment 9•8 years ago
|
||
(In reply to Hiroyuki Ikezoe (:hiro) from comment #8)
> (In reply to Mantaroh Yoshinaga[:mantaroh] from comment #6)
> > Comment on attachment 8857832 [details]
> > Bug 1355732 part 1 - Make column-* animatable on stylo.
> >
> > https://reviewboard.mozilla.org/r/129854/#review132426
> >
> > Thanks.
> >
> > I believe that the properties which using the predefined_type helper have
> > clone function. This clone function will generate by mako template.[1]
>
> That's really interesting. We implemented clone_column_count() and
> column-count is also using predefined_type(). What's the difference?
I think that we specified the column-count as skipped longhand[1].
[1] https://dxr.mozilla.org/mozilla-central/rev/ce69b6e1773e9e0d0a190ce899f34b1658e66ca4/servo/components/style/properties/gecko.mako.rs#3586
So I think that this property couldn't generate clone_* function.
If we remove this skip code, we will need to implement IntegerOrAuto types[2].
[2] https://dxr.mozilla.org/mozilla-central/rev/ce69b6e1773e9e0d0a190ce899f34b1658e66ca4/servo/components/style/properties/gecko.mako.rs#673,689
We use this type on z-index and column-count only.
Comment 10•8 years ago
|
||
Oh, that's good to know. I did not notice that CoordDataValue implements Clone trait. We could use it for some other gecko's struct to simplify glues.
Comment 11•8 years ago
|
||
mozreview-review |
Comment on attachment 8857832 [details]
Bug 1355732 part 1 - Make column-* animatable on stylo.
https://reviewboard.mozilla.org/r/129854/#review133230
r=me with debug_assert().
Attachment #8857832 -
Flags: review?(hikezoe) → review+
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Assignee | ||
Comment 14•8 years ago
|
||
mozreview-review-reply |
Comment on attachment 8857832 [details]
Bug 1355732 part 1 - Make column-* animatable on stylo.
https://reviewboard.mozilla.org/r/129854/#review133230
Thank, hiro,
I added the debug_assert.
Comment 15•8 years ago
|
||
mozreview-review |
Comment on attachment 8857833 [details]
Bug 1355732 Enable web platform tests of column-* properties animation.
https://reviewboard.mozilla.org/r/129856/#review133262
Thanks for doing this!
::: testing/web-platform/tests/web-animations/animation-model/animation-types/property-list.js:405
(Diff revision 2)
> }
> },
> 'column-width': {
> // https://drafts.csswg.org/css-multicol/#propdef-column-width
> types: [ 'length',
> - { type: 'discrete', options: [ [ 'auto', '1px' ] ] }
> + { type: 'discrete', options: [ [ 'auto', '100px' ] ] }
I wonder why we can't use '1px' here.
::: testing/web-platform/tests/web-animations/animation-model/animation-types/property-types.js:5
(Diff revision 2)
> const discreteType = {
> testInterpolation: function(property, setup, options) {
> options.forEach(function(keyframes) {
> var [ from, to ] = keyframes;
> - test(function(t) {
> - var idlName = propertyToIDL(property);
> + var idlName = propertyToIDL(property);
I guess we can move this propertyToIDL() outside of options.forEach()?
That's being said, I'd prefer to do such refactoring in a separate bugs for other types altogether.
::: testing/web-platform/tests/web-animations/animation-model/animation-types/property-types.js:55
(Diff revision 2)
>
> testAddition: function(property, setup, options) {
> options.forEach(function(keyframes) {
> var [ from, to ] = keyframes;
> - test(function(t) {
> - var idlName = propertyToIDL(property);
> + var idlName = propertyToIDL(property);
Likewise here.
Attachment #8857833 -
Flags: review?(hikezoe) → review+
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Assignee | ||
Comment 18•8 years ago
|
||
mozreview-review-reply |
Comment on attachment 8857833 [details]
Bug 1355732 Enable web platform tests of column-* properties animation.
https://reviewboard.mozilla.org/r/129856/#review133262
Thanks, hiro.
Sorry, I forgot adding meta ini file for the additional-per-property.
Assignee | ||
Comment 19•8 years ago
|
||
I sent the PR: https://github.com/servo/servo/pull/16494.
Comment hidden (mozreview-request) |
Assignee | ||
Updated•8 years ago
|
Attachment #8857832 -
Attachment is obsolete: true
Assignee | ||
Comment 21•8 years ago
|
||
This rebased patch contain an unnecessary file description in MANIFEST.json.
Comment hidden (mozreview-request) |
Comment 23•8 years ago
|
||
We're sorry, Autoland could not rebase your commits for you automatically. Please manually rebase your commits and try again.
hg error in cmd: hg rebase -s bbefc8b5f404 -d 92f94fc0993b: rebasing 390344:bbefc8b5f404 "Bug 1355732 part 2 - Enable w-p-t of column-* properties. r=hiro" (tip)
merging testing/web-platform/meta/MANIFEST.json
merging testing/web-platform/tests/web-animations/animation-model/animation-types/property-list.js
merging testing/web-platform/tests/web-animations/animation-model/animation-types/property-types.js
warning: conflicts while merging testing/web-platform/meta/MANIFEST.json! (edit, then use 'hg resolve --mark')
warning: conflicts while merging testing/web-platform/tests/web-animations/animation-model/animation-types/property-list.js! (edit, then use 'hg resolve --mark')
unresolved conflicts (see hg resolve, then hg rebase --continue)
Comment hidden (mozreview-request) |
Assignee | ||
Comment 25•8 years ago
|
||
(In reply to Mantaroh Yoshinaga[:mantaroh] from comment #24)
> Comment on attachment 8857833 [details]
> Bug 1355732 Enable web platform tests of column-* properties animation.
>
> Review request updated; see interdiff:
> https://reviewboard.mozilla.org/r/129856/diff/5-6/
I rebase this patch and changed the commit message.
Comment 26•8 years ago
|
||
Pushed by mantaroh@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/140d33b3fbe2
Enable web platform tests of column-* properties animation. r=hiro
Comment 27•8 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 8 years ago
status-firefox55:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
Comment 28•8 years ago
|
||
Backout by cbook@mozilla.com:
https://hg.mozilla.org/mozilla-central/rev/932eb823a7d4
Backed out changeset 140d33b3fbe2
Assignee | ||
Comment 29•8 years ago
|
||
Hi Tomcat,
I really appreciate what you've checked this tree result.
I have a question about this back out. This was back out with bug 1290951. Is this back out related with bug 1357437?
In the tree result, it looks passing the web-platform-test (wpt10). [1]
[1] https://treeherder.mozilla.org/#/jobs?repo=mozilla-central&revision=2458112439037abae9e72fc0612b75fe7a82344d
Thanks.
Flags: needinfo?(cbook)
Comment 30•8 years ago
|
||
I think this is an accident, so create a PR to fix this (column-count).
Comment 31•8 years ago
|
||
(In reply to Boris Chiou [:boris] from comment #30)
> Created attachment 8859836 [details] [review]
> Servo PR, #16536
>
> I think this is an accident, so create a PR to fix this (column-count).
Yeah, revision 2 did change the animation_type for coumn-count, but revision 3 didn't.
Assignee | ||
Comment 32•8 years ago
|
||
(In reply to Boris Chiou [:boris] from comment #30)
> Created attachment 8859836 [details] [review]
> Servo PR, #16536
>
> I think this is an accident, so create a PR to fix this (column-count).
Thanks boris,
Sorry, I removed column-count's animation type by mistake when addressing patch.
Assignee | ||
Updated•8 years ago
|
Flags: needinfo?(cbook)
Updated•8 years ago
|
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Assignee | ||
Comment 33•8 years ago
|
||
Sorry, I've forgot land this test patch.
I rebased this patch, and try it:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=f15f8989832a943eef8eb61ec98da439f94f1bc3
Attachment #8857833 -
Attachment is obsolete: true
Attachment #8863289 -
Flags: review+
Comment 34•8 years ago
|
||
Please drop the checks at 0ms and at 1000ms for interpolation tests. Jeremy already drop them in bug 1359786.
Thanks!
Assignee | ||
Comment 35•8 years ago
|
||
(In reply to Hiroyuki Ikezoe (:hiro) from comment #34)
> Please drop the checks at 0ms and at 1000ms for interpolation tests. Jeremy
> already drop them in bug 1359786.
> Thanks!
Thank you for poiting it. I addressed remove the test of 0ms and 100ms.
https://treeherder.mozilla.org/#/jobs?repo=try&revision=3ec79cc04d3f624ffc309323d18d8b3d17f77402
Attachment #8863300 -
Flags: review+
Assignee | ||
Updated•8 years ago
|
Attachment #8863289 -
Attachment is obsolete: true
Assignee | ||
Comment 37•8 years ago
|
||
(In reply to Hiroyuki Ikezoe (:hiro) from comment #36)
> Would you mind landing the test case?
Oh, sorry, I'll land it.
(This patch is conflicted to m-c, so I rebased it.)
https://treeherder.mozilla.org/#/jobs?repo=try&revision=fda44b8e835f4d36dbd227ab67918080dfcc4828
Flags: needinfo?(mantaroh)
Attachment #8863635 -
Flags: review+
Assignee | ||
Updated•8 years ago
|
Attachment #8863300 -
Attachment is obsolete: true
Comment 38•8 years ago
|
||
Pushed by mantaroh@gmail.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/8d515d9bc0fd
Enable web platform tests of column-* properties animation. r=hiro
Comment 39•8 years ago
|
||
bugherder |
Status: REOPENED → RESOLVED
Closed: 8 years ago → 8 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•