Closed Bug 1420312 Opened 2 years ago Closed 2 years ago

Flickering content on reveal.js

Categories

(Core :: Web Painting, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla59
Tracking Status
firefox58 --- fixed
firefox59 --- fixed

People

(Reporter: mattwoodrow, Assigned: mattwoodrow)

References

Details

Attachments

(1 file)

Attachment #8931544 - Flags: review?(mikokm)
Comment on attachment 8931544 [details] [diff] [review]
rebuild-transforms-more

Review of attachment 8931544 [details] [diff] [review]:
-----------------------------------------------------------------

LGTM.

::: layout/generic/nsFrame.cpp
@@ +2755,5 @@
>      // Save dirty rect on the builder to avoid being distorted for
>      // multiple transforms along the chain.
>      aBuilder->SavePreserves3DRect();
> +
> +    dirtyRect = visibleRect;

Comment here about this being needed for retained display list would be nice.

@@ +2756,5 @@
>      // multiple transforms along the chain.
>      aBuilder->SavePreserves3DRect();
> +
> +    dirtyRect = visibleRect;
> +    aBuilder->MarkFrameModifiedDuringBuilding(this);

Am I understanding the logic here correctly: we mark the frame modified so that the old display item does not get reused, and so that we skip overriding the dirty rect below?

@@ +2810,5 @@
>      inTransform = true;
>    }
>  
>    bool hasOverrideDirtyRect = false;
> +  if (HasOverrideDirtyRegion() && !aBuilder->InInvalidSubtree() && !IsFrameModified()) {

As this logic is getting more complicated, could you add a comment here to explain what this branch does?
Attachment #8931544 - Flags: review?(mikokm) → review+
Pushed by mwoodrow@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/d2aed3c609dc
Rebuild the entire visible area when we find preserve-3d content. r=miko
Pushed by mwoodrow@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/5489e0171799
Followup to only mark frame as modified during retained building, since otherwise it won't be restored.
https://hg.mozilla.org/mozilla-central/rev/d2aed3c609dc
https://hg.mozilla.org/mozilla-central/rev/5489e0171799
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla59
Comment on attachment 8931544 [details] [diff] [review]
rebuild-transforms-more

Approval Request Comment
[Feature/Bug causing the regression]: bug 1352499. This is code that is preffed off, but we want to run a shield study enabling the pref.
[User impact if declined]: None, preffed off code.
[Is this code covered by automated tests?]: Yes, when the pref is enabled.
[Has the fix been verified in Nightly?]: Yes
[Needs manual test from QE? If yes, steps to reproduce]: No
[List of other uplifts needed for the feature/fix]: None
[Is the change risky?]: No
[Why is the change risky/not risky?]: Code is preffed off.
[String changes made/needed]: None
Attachment #8931544 - Flags: approval-mozilla-beta?
Comment on attachment 8931544 [details] [diff] [review]
rebuild-transforms-more

Support retain display lists shield study which is pref-off now. Beta58+.
Attachment #8931544 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Depends on: 1567128
No longer depends on: 1567128
See Also: → 1567128
You need to log in before you can comment on or make changes to this bug.