Closed Bug 1597378 Opened 5 years ago Closed 5 years ago

Create the new UI for the minimal popup/doorhanger

Categories

(DevTools :: Performance Tools (Profiler/Timeline), enhancement, P2)

enhancement

Tracking

(firefox75 fixed)

RESOLVED FIXED
Firefox 75
Tracking Status
firefox75 --- fixed

People

(Reporter: gregtatum, Assigned: gregtatum)

References

(Blocks 1 open bug)

Details

Attachments

(4 files, 1 obsolete file)

The new UX is much more simplified. In this bug, we can have a preffed off "hard break" in the codebase, and create a new popup/doorhanger that will interact nicely with the about:profiling page. It will not include the presets, nor the overhead information. However, it will support the profiler buttons, a link to the new about:profiler page.

Assignee: nobody → gtatum
Blocks: 1615431

The presets in recording-utils.js couldn't be shared via the ChromeUtils.import
mechanism. When they were in recording-utils.js they could only be loaded in
via the DevTools require() loader. This commit changes it so that they are
stored in a jsm, and are also injected to each UI interface where the
ChromeUtils.import function is available (only in the initializers).

Depends on D62911

This commit removes the old popup implementation, but does not implement the new one
yet. This is in a follow-up commit. The client is in a bit of an awkard state where
it is mid-transition to a new architecture. Some of the code comments and documentation
were updated to reflect the changes coming up.

Depends on D62912

This commit implements the actual UI changes. A follow-up commit adds the
tests for the changes. The CSS is a little bit awkard since it uses lots of
ID selectors rather than class selectors. I wanted to be able to write quick
selects, since it's selecting across the entire browser document. I feel
a little conflicted with the approach, as I would prefer to use classes in
general.

The panel.jsm.js file collects all of the UI handling changes rather than
having everything in menu-button.jsm.js, as the latter can get loaded
at startup. I'm not sure if it's completely worth the trouble of having
two files, as most of it should be pretty light.

This commit does not handle localization for the panel, as we should be moving
to Fluent. Rather than solve that here, I will follow-up with it in Bug 1599774.

Depends on D62913

This commit adds tests for the profiler popup, and migrates some of the
older ones to use about:profiling instead.

Depends on D62914

Attachment #9125858 - Attachment is obsolete: true
Pushed by gtatum@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/9b760d8fc1dc Change location of the presets; r=julienw https://hg.mozilla.org/integration/autoland/rev/4d1ff8bd4e64 Remove old popup implementation; r=julienw https://hg.mozilla.org/integration/autoland/rev/b2f0cf9a387e Create new UI for the profiler popup; r=julienw https://hg.mozilla.org/integration/autoland/rev/38c8db44b398 Migrate profiler popup tests; r=julienw
Flags: needinfo?(gtatum)
Pushed by gtatum@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/35da034acf03 Change location of the presets; r=julienw https://hg.mozilla.org/integration/autoland/rev/c65103d7bf0b Remove old popup implementation; r=julienw https://hg.mozilla.org/integration/autoland/rev/b802ce66aa59 Create new UI for the profiler popup; r=julienw https://hg.mozilla.org/integration/autoland/rev/cc21fa09b88d Migrate profiler popup tests; r=julienw
Flags: needinfo?(gtatum)
Pushed by gtatum@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/41f2f089537d Change location of the presets; r=julienw https://hg.mozilla.org/integration/autoland/rev/bee9d5fc55aa Remove old popup implementation; r=julienw https://hg.mozilla.org/integration/autoland/rev/2f59a08c4bef Create new UI for the profiler popup; r=julienw https://hg.mozilla.org/integration/autoland/rev/c6e4d7a385cc Migrate profiler popup tests; r=julienw
Regressions: 1619578

Is there a bug tracking making all this UI localizable? I was a bit surprised to find hardcoded English in the tree for this.

Flags: needinfo?(gtatum)

Yes, it's: https://bugzilla.mozilla.org/show_bug.cgi?id=1599774 which has a WIP patch attached to it.

For background, I started doing the localization in the initial patches, but the CustomizableUI didn't have Fluent in place as far as I could tell, and someone commented that I shouldn't be touching old localization files. I filed it as a follow-up, and still plan on doing the work. I spent a lot of time on this UI so far, so I'm catching up on some other projects before coming back to it. We still haven't opened up this UI path to a broader audience yet, and will have localization in place before we do. My approach was to achieve parity first with existing UI this was replacing, which also was not localized. It's definitely on my to-do list though.

Flags: needinfo?(gtatum)
See Also: → 1631919
Regressions: 1684660
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: