Closed Bug 1218646 Opened 4 years ago Closed 4 years ago

Animations should run on compositor partially even if the animations have buggy transform properties.

Categories

(Core :: DOM: Animation, defect)

Other Branch
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla46
Tracking Status
firefox46 --- fixed

People

(Reporter: hiro, Assigned: hiro)

Details

Attachments

(1 file, 1 obsolete file)

From bug 1216030#c42:

.fixed-rotation {
  transform: rotate(45deg) !important;
}

#target {
  width: 150px; height: 150px;
  position: absolute;
  left: 200px; top: 200px;
  animation: rotate-opacity linear 1s infinite;
  background-color: red;
  backface-visibility: hidden;
}

@keyframes rotate-opacity {
  from {
    opacity: 1;
    transform: rotate(0deg);
  }
  to {
    opacity: 0;
    transform: rotate(360deg);
  }
}

</style>
<div id="target" class="fixed-rotation"></div>

In above case, the opacity animation can ideally be run on compositor but it isn't now.

I am not sure DOM:Animation is the right component for this issue.
Another example I am concerned is:

.fixed-position {
  left: 100px ! important;
}
#target {
  position: absolute;
  width: 100px; height: 100px;
  animation: rotate-left linear 1s infinite;
  background-color: red;
}

@keyframes rotate-left {
  from {
    left: 100px;
    transform: rotate(0deg);
  }
  to {
    left: 200px;
    transform: rotate(360deg);
  }
}

</style>
<div id="target" class="fixed-position"></div>

This case is not fixed by attachment 8679223 [details] [diff] [review] because mWinsInCascade is not set to false for left property.
Attachment #8679223 - Attachment is obsolete: true
Comment on attachment 8700992 [details]
MozReview Request: Bug 1218646 - Skip to check whether property can run on compositor or not if mWinsInCascade is false. r?birtles

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/28851/diff/1-2/
Attachment #8700992 - Flags: review?(bbirtles)
Attachment #8700992 - Flags: review?(bbirtles) → review+
Comment on attachment 8700992 [details]
MozReview Request: Bug 1218646 - Skip to check whether property can run on compositor or not if mWinsInCascade is false. r?birtles

https://reviewboard.mozilla.org/r/28851/#review25845

r=birtles with the following comments address (Nit: you should use just 'birtles' instead of 'bbirtles', thanks!)

::: dom/animation/KeyframeEffect.cpp:2041
(Diff revision 1)
> +    if (!property.mWinsInCascade) {

We should add a comment such as:

// If a property is overridden in the CSS cascade, it should not block other animations from running on the compositor.

::: dom/animation/test/chrome/test_running_on_compositor.html:280
(Diff revision 1)
> +       + ' restrictions but the latter property loses to !importan rules');

This might be more a little more clear as,

"If an animation has a property that can run on the compositor and a property that cannot (due to Gecko limitations) but where the latter property is overridden in the CSS cascade, the animation should still report that it is running on the compositor."

::: dom/animation/test/chrome/test_running_on_compositor.html:284
(Diff revision 1)
> +   'of Gecko restrictions but the latter property loses to !importan rules');

'isRunningOnCompositor is true when a property that would otherwise block running on the compositor is overridden in the CSS cascade'
Comment on attachment 8700992 [details]
MozReview Request: Bug 1218646 - Skip to check whether property can run on compositor or not if mWinsInCascade is false. r?birtles

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/28851/diff/1-2/
Attachment #8700992 - Attachment description: MozReview Request: Bug 1218646 - Skip to check whether property can run on compositor or not if mWinsInCascade is false. r?bbirtles → MozReview Request: Bug 1218646 - Skip to check whether property can run on compositor or not if mWinsInCascade is false. r?birtles
Comment on attachment 8700992 [details]
MozReview Request: Bug 1218646 - Skip to check whether property can run on compositor or not if mWinsInCascade is false. r?birtles

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/28851/diff/2-3/
https://hg.mozilla.org/mozilla-central/rev/aa1170c26741
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla46
You need to log in before you can comment on or make changes to this bug.