0.92ms uninterruptible reflow at PopupNotifications_showPanel@resource://gre/modules/PopupNotifications.jsm:932:9

NEW
Unassigned

Status

()

defect
P4
normal
2 years ago
5 months ago

People

(Reporter: rjward0, Unassigned)

Tracking

(Blocks 1 bug, {perf})

unspecified
Points:
---
Dependency tree / graph
Bug Flags:
qe-verify -

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [ohnoreflow][qf:p3][fxperf:p3])

Reporter

Description

2 years ago
Here's the stack:

PopupNotifications_showPanel@resource://gre/modules/PopupNotifications.jsm:932:9
PopupNotifications_update@resource://gre/modules/PopupNotifications.jsm:1097:9
anchorVisibilityChange@resource://gre/modules/PopupNotifications.jsm:579:7
PopupNotifications_locationChange@resource://gre/modules/PopupNotifications.jsm:560:7
onLocationChange@chrome://browser/content/browser.js:5084:7
callListeners@chrome://browser/content/tabbrowser.xml:492:24
_callProgressListeners@chrome://browser/content/tabbrowser.xml:513:13
_callProgressListeners@chrome://browser/content/tabbrowser.xml:563:22
onLocationChange@chrome://browser/content/tabbrowser.xml:845:17
_callProgressListeners@resource://gre/modules/RemoteWebProgress.jsm:179:11
receiveMessage@resource://gre/modules/RemoteWebProgress.jsm:265:7
Flags: qe-verify?
Priority: -- → P2
http://searchfox.org/mozilla-central/rev/baf47b352e873d4516d7656186d6d7c7447d3873/toolkit/modules/PopupNotifications.jsm#931

    // If the anchor element is hidden or null, fall back to the identity icon.
    if (!anchorElement || (anchorElement.boxObject.height == 0 &&
                           anchorElement.boxObject.width == 0)) {

I hope this test would still work with a getBoundsWithoutFlushing call instead, but I'm not sure how to verify that there's no edge case this would break.
Component: Untriaged → Notifications and Alerts
Product: Firefox → Toolkit
Duplicate of this bug: 1360030
Whiteboard: [ohnoreflow][qf][photon-performance] → [ohnoreflow][qf:p1][photon-performance]
(In reply to Florian Quèze [:florian] [:flo] from comment #1)
> http://searchfox.org/mozilla-central/rev/
> baf47b352e873d4516d7656186d6d7c7447d3873/toolkit/modules/PopupNotifications.
> jsm#931
> 
>     // If the anchor element is hidden or null, fall back to the identity
> icon.
>     if (!anchorElement || (anchorElement.boxObject.height == 0 &&
>                            anchorElement.boxObject.width == 0)) {
> 
> I hope this test would still work with a getBoundsWithoutFlushing call
> instead, but I'm not sure how to verify that there's no edge case this would
> break.

FWIW I think this needs the flushing to check if the anchor elements are visible. Maybe there's another way to do it but I don't think we can simply substitute with getBoundsWithoutFlushing here.
Flags: qe-verify? → qe-verify-
Priority: P2 → P3
Whiteboard: [ohnoreflow][qf:p1][photon-performance] → [ohnoreflow][qf:p1][reserve-photon-performance]
Whiteboard: [ohnoreflow][qf:p1][reserve-photon-performance] → [ohnoreflow][qf:p2][reserve-photon-performance]
Duplicate of this bug: 1383445
Priority: P3 → P4
Keywords: perf
I can still reproduce this by visiting a page that opens up a permission panel - example, GeoLocation.
Whiteboard: [ohnoreflow][qf:p2][reserve-photon-performance] → [ohnoreflow][qf:p1][reserve-photon-performance]

Updated

2 years ago
Whiteboard: [ohnoreflow][qf:p1][reserve-photon-performance] → [ohnoreflow][qf:i60][qf:p1][reserve-photon-performance]

Updated

a year ago
Whiteboard: [ohnoreflow][qf:i60][qf:p1][reserve-photon-performance] → [ohnoreflow][qf:f60][qf:p1][reserve-photon-performance]

Updated

a year ago
Whiteboard: [ohnoreflow][qf:f60][qf:p1][reserve-photon-performance] → [ohnoreflow][qf:f61][qf:p1][reserve-photon-performance]
Whiteboard: [ohnoreflow][qf:f61][qf:p1][reserve-photon-performance] → [ohnoreflow][qf:f61][qf:p1][reserve-photon-performance] [fxperf]
Whiteboard: [ohnoreflow][qf:f61][qf:p1][reserve-photon-performance] [fxperf] → [ohnoreflow][qf:f61][qf:p1][fxperf]
Whiteboard: [ohnoreflow][qf:f61][qf:p1][fxperf] → [ohnoreflow][qf:f61][qf:p1][fxperf:p2]
Whiteboard: [ohnoreflow][qf:f61][qf:p1][fxperf:p2] → [ohnoreflow][qf:f64][qf:p3][fxperf:p2]

Updated

a year ago
Whiteboard: [ohnoreflow][qf:f64][qf:p3][fxperf:p2] → [ohnoreflow][qf:p3:f64][fxperf:p2]

Updated

7 months ago
Whiteboard: [ohnoreflow][qf:p3:f64][fxperf:p2] → [ohnoreflow][qf:p3][fxperf:p2]
(not startup related: fxperf:p2 -> fxperf:p3)
Whiteboard: [ohnoreflow][qf:p3][fxperf:p2] → [ohnoreflow][qf:p3][fxperf:p3]
You need to log in before you can comment on or make changes to this bug.