Closed Bug 1223751 Opened 4 years ago Closed 4 years ago

If the top level content document is assuming all frames are visible, subdocuments should be too

Categories

(Core :: Layout: Images, Video, and HTML Frames, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla48
Tracking Status
firefox48 --- fixed

People

(Reporter: seth, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Right now we can get in a nasty situation where we won't update frame visibility in subdocuments if the top level content document is assuming all frames are visible:

[23:22:25]  <seth>	*** nsPresShell 0x188446800: ScheduleFrameVisibilityUpdate
[23:22:25]  <seth>	***    - scheduling visibility update for root content doc with pres shell 0x180ad4000
[23:22:25]  <seth>	*** nsPresShell 0x180ad4000: ScheduleFrameVisibilityUpdate
[23:22:25]  <seth>	*** AssumeAllFramesVisible: yes, because we're a xul doc
[23:22:25]  <seth>	***    - early return because we're assuming all frames are visible
[23:23:02]  <seth>	so if the root content doc is a xul doc, we don't update frame visibility even for nested docs?
[23:31:20]  <seth>	this looks pretty bogus

That means that images in those subdocuments won't animated, and won't be locked, among other things.

Bug 1223747 eliminates the problem for XUL documents by no longer assuming that all images are visible in them, but there are still other kinds of documents like resource documents that we make this assumption for. We should prevent this problem from happening in those cases as well. The solution is to have AssumeAllFramesVisible() calls in subdocuments return true if the top level content document's pres shell is returning true for AssumeFramesVisible().
Attachment #8685970 - Flags: review?(tnikkel) → review+
This seems like something that would be good to get landed ASAP, as then any changes it causes can be easily tracked and noticed sooner.
https://hg.mozilla.org/integration/mozilla-inbound/rev/f1ee7dcaa1cb0002a4074ccab583a8e458257fe4
Bug 1223751 - Assume all frames are visible in subdocuments of a top level content document that's assuming all frames are visible. r=tn
https://hg.mozilla.org/mozilla-central/rev/f1ee7dcaa1cb
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla48
Product: Core → Core Graveyard
Product: Core Graveyard → Core
You need to log in before you can comment on or make changes to this bug.