Large chrome ThebesLayer in standard Firefox window

RESOLVED FIXED in mozilla2.0b11

Status

()

RESOLVED FIXED
8 years ago
8 years ago

People

(Reporter: roc, Assigned: roc)

Tracking

(Depends on: 1 bug)

Trunk
mozilla2.0b11
x86
Windows 7
Points:
---
Dependency tree / graph
Bug Flags:
in-testsuite +

Firefox Tracking Flags

(blocking2.0 final+)

Details

Attachments

(3 attachments)

A display list dump looks like this:
D3D9LayerManager (0x7a83890)
  D3D9ContainerLayer (0xc5c6d48) [visible=< (x=0, y=0, w=1107, h=841); >] [metrics={ viewport=(w=1107, h=841) viewportScroll=(x=0, y=0) displayport=(x=0, y=0, w=0, h=0) }]
    D3D9ThebesLayer (0xc28df58) [visible=< (x=0, y=0, w=1107, h=841); >] [valid=< (x=0, y=0, w=1107, h=841); >]
    D3D9ContainerLayer (0xc5c6ea0) [clip=(x=0, y=0, w=1107, h=841)] [visible=< (x=0, y=96, w=1, h=744); >]
      D3D9ThebesLayer (0xc28dc68) [clip=(x=0, y=0, w=0, h=0)]
      D3D9ColorLayer (0xc5c6ff8) [clip=(x=0, y=96, w=1, h=744)] [visible=< (x=0, y=96, w=1, h=744); >] [color=rgba(26, 26, 26, 0.4)]
    D3D9ContainerLayer (0x168190b0) [clip=(x=1, y=96, w=1105, h=744)] [visible=< (x=1, y=96, w=1105, h=744); >] [opaqueContent]
      D3D9ThebesLayer (0x14916220) [transform=[ 1 0; 0 1; 1 96; ]] [visible=< (x=0, y=0, w=1105, h=744); >] [opaqueContent] [valid=< (x=0, y=0, w=1105, h=744); >]
    D3D9ContainerLayer (0xc5c72a8) [clip=(x=0, y=0, w=1107, h=841)] [visible=< (x=1106, y=96, w=1, h=744); >]
      D3D9ThebesLayer (0xc28f270) [clip=(x=0, y=0, w=0, h=0)]
      D3D9ColorLayer (0xc5c7400) [clip=(x=1106, y=96, w=1, h=744)] [visible=< (x=1106, y=96, w=1, h=744); >] [color=rgba(26, 26, 26, 0.4)]
    D3D9ContainerLayer (0xc5c7558) [clip=(x=0, y=0, w=1107, h=841)] [visible=< (x=0, y=840, w=1107, h=1); >]
      D3D9ThebesLayer (0xc28d978) [visible=< (x=0, y=840, w=1107, h=1); >] [valid=< (x=0, y=840, w=1107, h=1
<cut off>

ThebesLayer 0xc28df58 is unnecessarily large. It turns out to be due to an nsDisplaySolidColor item for the root of the chrome document. I don't know why this didn't bite us before.
Created attachment 503450 [details] [diff] [review]
Part 1: avoid zero-alpha nsDisplaySolidColors
Attachment #503450 - Flags: review?(tnikkel)
Created attachment 503451 [details] [diff] [review]
Part 2: don't let -moz-win-(borderless-)glass display items bloat out our ThebesLayers
Attachment #503451 - Flags: review?(tnikkel)
Created attachment 503459 [details] [diff] [review]
Part 3: test

This should catch any more regressions of oversized layers in the Firefox window. I've made the content document have scrollbars so we're also testing the code that makes scrollbars get their own layer so we don't have a massive layer for them.
Attachment #503459 - Flags: review?(tnikkel)
Attachment #503450 - Flags: review?(tnikkel) → review+
Attachment #503451 - Flags: review?(tnikkel) → review+
Comment on attachment 503459 [details] [diff] [review]
Part 3: test

Neat.
Attachment #503459 - Flags: review?(tnikkel) → review+
Whiteboard: [needs landing]
blocking2.0: --- → final+
http://hg.mozilla.org/mozilla-central/rev/653d6fb3e557
http://hg.mozilla.org/mozilla-central/rev/4ed9ac3db848

still need to check in the test
Status: NEW → RESOLVED
Last Resolved: 8 years ago
Flags: in-testsuite?
Resolution: --- → FIXED
Whiteboard: [needs landing]
Depends on: 632408
Target Milestone: --- → mozilla2.0b11
Version: unspecified → Trunk

Updated

8 years ago
Depends on: 648483
You need to log in before you can comment on or make changes to this bug.