Closed Bug 1237102 Opened 4 years ago Closed 3 years ago

Changes to innerText inside of an "opacity:0" element cause invalidations, but *only if* there is a flash-flavored <object> tag on the page

Categories

(Core :: Layout, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla51
Tracking Status
firefox51 --- fixed

People

(Reporter: dholbert, Assigned: mattwoodrow)

References

(Blocks 1 open bug)

Details

Attachments

(3 files)

Attached file testcase 1
STR:
 1. Enable paint flashing. ( nglayout.debug.paint_flashing )
 2. Load attached testcase.


ACTUAL RESULTS:
The area above the text gets invalidated (repainted in a different
paint-flashing color) every 500ms, from the periodic innerText tweak.

EXPECTED RESULTS: No invalidation, since the periodic innerText tweak is
happening inside a fixed-size element with "opacity:0".

Note that I get EXPECTED RESULTS if I remove the <object> or its flash-flavored "type" attribute from the page...
Here's a reference case, which is only different from the testcase in that I cleared the <object> "type" attribute.  This gives me EXPECTED RESULTS (no flashing).
Also: I can get EXPECTED RESULTS when viewing the testcase, if I click the plugin icon at the left of the URLbar and press the button to block flash.
We had code to avoid invalidations within opacity:0 subtrees, but we skip it if we're computing plugin geometry.

This makes us able to handle both.
Assignee: nobody → matt.woodrow
Attachment #8777663 - Flags: review?(tnikkel)
Attachment #8777663 - Flags: review?(tnikkel) → review+
Pushed by mwoodrow@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/911fc6cbfad0
Make sure we don't generate invalidations for children of opacity:0 frames, even when plugins are present. r=tnikkel
https://hg.mozilla.org/mozilla-central/rev/911fc6cbfad0
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla51
You need to log in before you can comment on or make changes to this bug.