mask-position is not animatable

RESOLVED FIXED in Firefox 50

Status

()

defect
RESOLVED FIXED
3 years ago
2 years ago

People

(Reporter: u459114, Assigned: u459114)

Tracking

(Blocks 1 bug, {dev-doc-complete})

49 Branch
mozilla50
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox49 affected, firefox50 fixed)

Details

Attachments

(1 attachment)

Assignee

Description

3 years ago
Check what mstange asked in bug 1272970 comment 3, then found this regression.

mask-size and mask-position are both animatable before introducing nsChangeHint_UpdateBackgroundPosition.
Assignee

Updated

3 years ago
Depends on: 1258286
Assignee

Comment 1

3 years ago
Short term solution:
With the change in bug 1258286, update different hint base on layer type in nsStyleImageLayers::Layer::CalcDifference

Long term solution:
Bug 1234485, create a animated mask layer. Not totally be the same with bug bug 550426, but some logic can be shared. 

[1] https://hg.mozilla.org/mozilla-central/rev/e723928647d4
Assignee

Updated

3 years ago
Blocks: mask-image
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla49
Assignee

Updated

3 years ago
Attachment #8758672 - Flags: review?(cam)
Assignee

Comment 3

3 years ago
hi heycam,
this patch roll back behavior of mask animation before bug 550426 landed. in long term, we need bug 1234485 fixed to have smoother mask-position change animation
Attachment #8758672 - Flags: review?(cam) → review+
Comment on attachment 8758672 [details]
Bug 1273804 - Use nsChangeHint_RepaintFrame hint for position change of a mask layer

https://reviewboard.mozilla.org/r/56896/#review56204

Do you have a test that fails without this patch?  If so, that would be good to check in here too.

::: layout/style/nsStyleStruct.h:683
(Diff revision 1)
>      // whose root <svg> node has a viewBox.
>      bool RenderingMightDependOnPositioningAreaSizeChange() const;
>  
>      // Compute the change hint required by changes in just this layer.
> -    nsChangeHint CalcDifference(const Layer& aOther) const;
> +    nsChangeHint CalcDifference(const Layer& aOther,
> +                                nsChangeHint aPositionChangeHint) const;

Please add a comment that describes what aPositionChangeHint is used for.
Assignee

Comment 5

3 years ago
https://reviewboard.mozilla.org/r/56896/#review56204

Astley will create some in Bug 1273807 seperately.
Assignee

Comment 6

3 years ago
Comment on attachment 8758672 [details]
Bug 1273804 - Use nsChangeHint_RepaintFrame hint for position change of a mask layer

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/56896/diff/1-2/
Attachment #8758672 - Attachment description: MozReview Request: Bug 1273804 - Use nsChangeHint_RepaintFrame hint for position change of a mask layer → Bug 1273804 - Use nsChangeHint_RepaintFrame hint for position change of a mask layer

Comment 7

3 years ago
Pushed by cku@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/6e6e22da34de
Use nsChangeHint_RepaintFrame hint for position change of a mask layer r=heycam

Comment 8

3 years ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/6e6e22da34de
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
I have a question here, I think this landed in the 50 cycle, so the target milestone should be Mozilla49 instead of Mozilla50. Is this correct?
Flags: needinfo?(cbook)
(In reply to Jean-Yves Perrier [:teoli] from comment #9)
> I have a question here, I think this landed in the 50 cycle, so the target
> milestone should be Mozilla49 instead of Mozilla50. Is this correct?

hi,

yeah you are right, resetting this. thanks!
Flags: needinfo?(cbook)
Target Milestone: mozilla49 → mozilla50
Given it is only available in Nightly for the moment, I only made a comment there: https://developer.mozilla.org/en-US/Firefox/Releases/50#CSS
(the mask-position page indicates that the property is animatable)
You need to log in before you can comment on or make changes to this bug.