Closed Bug 1273804 Opened 8 years ago Closed 8 years ago

mask-position is not animatable

Categories

(Core :: Layout, defect)

49 Branch
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla50
Tracking Status
firefox49 --- affected
firefox50 --- fixed

People

(Reporter: u459114, Assigned: u459114)

References

(Blocks 1 open bug)

Details

(Keywords: dev-doc-complete)

Attachments

(1 file)

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.
Depends on: 1258286
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
Blocks: mask-image
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla49
Attachment #8758672 - Flags: review?(cam)
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.
https://reviewboard.mozilla.org/r/56896/#review56204

Astley will create some in Bug 1273807 seperately.
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
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
https://hg.mozilla.org/mozilla-central/rev/6e6e22da34de
Status: ASSIGNED → RESOLVED
Closed: 8 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.

Attachment

General

Creator:
Created:
Updated:
Size: