Closed Bug 1945944 Opened 14 days ago Closed 11 days ago

Add a mode to frame tree dumps to avoid printing addresses and other non-deterministic information

Categories

(Core :: Layout, enhancement)

enhancement

Tracking

()

RESOLVED FIXED
137 Branch
Tracking Status
firefox137 --- fixed

People

(Reporter: emilio, Assigned: dshin)

References

Details

Attachments

(3 files)

Idea would be to make it easy to diff frame tree dumps (right now you need to manually strip addresses and hope you get them all).

Assignee: nobody → dshin

Are we planning to strip all the addresses, including frame (parent and continuation chain), content, and style? For example, I'd imaging something like these in a blank layout debugger.

Frames (app units): <-- this is what we have

Viewport(-1)@7f8d3f588020 [view=7f8d4032b6d0] (x=0, y=0, w=61440, h=41280) [cs=7f8d3f542b08:-moz-viewport] <
  ScrollContainer(html)(-1)@7f8d3f5881b8 parent=7f8d3f588020 (x=0, y=0, w=61440, h=41280) [content=7f8d3d703040] [cs=7f8d66089708:-moz-viewport-scroll] <
    ScrollbarFrame(scrollbar)(-1)@7f8d3f588460 parent=7f8d3f5881b8 next=7f8d3f5886d8 (x=0, y=0, w=0, h=0) [content=7f8d3d7031f0] [cs=7f8d3f545808] <
      SliderFrame(slider)(-1)@7f8d3f588560 parent=7f8d3f588460 (x=0, y=0, w=0, h=0) [content=7f8d3d7033a0] [cs=7f8d3f545a08] <
        Frame(thumb)(0)@7f8d3f588660 parent=7f8d3f588560 (x=0, y=0, w=2400, h=0) [content=7f8d3d704030] [cs=7f8d3f544308]
      >
    >
    ScrollbarFrame(scrollbar)(-1)@7f8d3f5886d8 parent=7f8d3f5881b8 next=7f8d3f588950 (x=0, y=0, w=0, h=0) [content=7f8d3d703280] [cs=7f8d3f544408] <
      SliderFrame(slider)(-1)@7f8d3f5887d8 parent=7f8d3f5886d8 (x=0, y=0, w=0, h=0) [content=7f8d3d703430] [cs=7f8d3f545b08] <
        Frame(thumb)(0)@7f8d3f5888d8 parent=7f8d3f5887d8 (x=0, y=0, w=0, h=2400) [content=7f8d3d7040e0] [cs=7f8d3f544c08]
      >
    >
    Frame(scrollcorner)(-1)@7f8d3f588950 parent=7f8d3f5881b8 next=7f8d3f5880d8 (x=61440, y=41280, w=0, h=0) [content=7f8d3d703310] [cs=7f8d3f545108]
    Canvas(html)(-1)@7f8d3f5880d8 parent=7f8d3f5881b8 (x=0, y=0, w=61440, h=41280) [content=7f8d3d703040] [cs=7f8d3f543308:-moz-scrolled-canvas] <
      Block(html)(-1)@7f8d3f5889c8 parent=7f8d3f5880d8 (x=0, y=0, w=61440, h=480) [content=7f8d3d703040,displayport] [cs=7f8d3f543708] <
        line@7f8d3f588b58 count=1 state=block,clean,prevmarginclean,not-impacted,not-wrapped,no-break,clear-before:none,clear-after:nonebm=480 (x=480, y=0, w=60480, h=0) ink-overflow=(x=480, y=480, w=60480, h=0) scr-overflow=(x=480, y=480, w=60480, h=0) <
          Block(body)(1)@7f8d3f588a90 parent=7f8d3f5889c8 (x=480, y=480, w=60480, h=0) [content=7f8d3d703160] [cs=7f8d3f542f08] <
          >
        >
      >
    >
  >
>

Frames (No Address, app unit)

Viewport(-1) (x=0, y=0, w=61440, h=41280) [-moz-viewport] <
  ScrollContainer(html)(-1) (x=0, y=0, w=61440, h=41280) [-moz-viewport-scroll] <
    ScrollbarFrame(scrollbar)(-1) (x=0, y=0, w=0, h=0) <
      SliderFrame(slider)(-1) (x=0, y=0, w=0, h=0) <
        Frame(thumb)(0) (x=0, y=0, w=2400, h=0) 
      >
    >
    ScrollbarFrame(scrollbar)(-1) (x=0, y=0, w=0, h=0) <
      SliderFrame(slider)(-1) (x=0, y=0, w=0, h=0) <
        Frame(thumb)(0) (x=0, y=0, w=0, h=2400)
      >
    >
    Frame(scrollcorner)(-1) (x=61440, y=41280, w=0, h=0)
    Canvas(html)(-1) (x=0, y=0, w=61440, h=41280) [-moz-scrolled-canvas] <
      Block(html)(-1) (x=0, y=0, w=61440, h=480) [displayport] <
        line count=1 state=block,clean,prevmarginclean,not-impacted,not-wrapped,no-break,clear-before:none,clear-after:nonebm=480 (x=480, y=0, w=60480, h=0) ink-overflow=(x=480, y=480, w=60480, h=0) scr-overflow=(x=480, y=480, w=60480, h=0) <
          Block(body)(1) (x=480, y=480, w=60480, h=0) <
          >
        >
      >
    >
  >
>

That's needed for useful diffing, so yeah, I think so :)

Attachment #9463911 - Attachment description: Bug 1945944: Add flag to dump frame tree without non-deterministic information for diffing. r=#layout → Bug 1945944: Add flag to dump frame tree with only deterministic information for diffing. r=#layout
Pushed by dshin@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/fa0df14ef305 Add flag to dump frame tree with only deterministic information for diffing. r=layout-reviewers,emilio https://hg.mozilla.org/integration/autoland/rev/ba6fe2bb2240 Add toggle for deterministic frame dumping in layout debug mode. r=layout-reviewers,fluent-reviewers,emilio,bolsson https://hg.mozilla.org/integration/autoland/rev/10d15220f267 Add layout debugger startup option to turn on deterministic frame dumping by default. r=layout-reviewers,emilio https://hg.mozilla.org/integration/autoland/rev/55244c12f438 apply code formatting via Lando
Blocks: 1946527
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: