Open Bug 1358405 Opened 9 years ago Updated 2 years ago

13.97ms uninterruptible reflow at getComputedURL@chrome://browser/content/nsContextMenu.js:979:15

Categories

(Firefox :: Menus, defect, P4)

defect

Tracking

()

Performance Impact low

People

(Reporter: bugzilla, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: perf, perf:frontend, Whiteboard: [ohnoreflow])

Here's the stack: getComputedURL@chrome://browser/content/nsContextMenu.js:979:15 _setTargetForNodesWithChildren@chrome://browser/content/nsContextMenu.js:890:24 setTarget@chrome://browser/content/nsContextMenu.js:722:5 CM_initMenu@chrome://browser/content/nsContextMenu.js:70:5 nsContextMenu@chrome://browser/content/nsContextMenu.js:63:3 onpopupshowing@chrome://browser/content/browser.xul:1:119
Flags: qe-verify?
Priority: -- → P2
This is the code deciding if the element the user right clicked on to open the context menu has a background image: http://searchfox.org/mozilla-central/rev/7aa21f3b531ddee90a353215bd86e97d6974e25b/browser/base/content/nsContextMenu.js#890 I think this is another case where we would need a getComputedStyleWithoutFlushing.
Depends on: 1358495
Component: Untriaged → Menus
Whiteboard: [ohnoreflow][qf][photon-performance] → [ohnoreflow][qf:p1][photon-performance]
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]
Priority: P3 → P4
Keywords: perf
Since bug 1360406, the flush has been moved into the content process in ContextMenu.jsm: https://searchfox.org/mozilla-central/rev/9f3bd430c2b132c86c46126a0548661de876799a/browser/modules/ContextMenu.jsm#384 It's still not great to flush like this, but thankfully, bug 1360406 made context menu handling async-y, which means that it should be possible to wait for the "natural" flush before returning the result to the parent. Still, seeing as how this shouldn't really affect front-end performance (except in the rare cases where we're opening up context menu items on pages loaded in the parent process), I'm going to make this a qf:p3.
Whiteboard: [ohnoreflow][qf:p2][reserve-photon-performance] → [ohnoreflow][qf:p3][reserve-photon-performance]
Whiteboard: [ohnoreflow][qf:p3][reserve-photon-performance] → [ohnoreflow][qf:p3][reserve-photon-performance] [fxperf]
Whiteboard: [ohnoreflow][qf:p3][reserve-photon-performance] [fxperf] → [ohnoreflow][qf:p3][reserve-photon-performance] [fxperf:p3]
Whiteboard: [ohnoreflow][qf:p3][reserve-photon-performance] [fxperf:p3] → [ohnoreflow][qf:p3][fxperf:p3]
Performance Impact: --- → P3
Whiteboard: [ohnoreflow][qf:p3][fxperf:p3] → [ohnoreflow][fxperf:p3]
Severity: normal → S3
Keywords: perf:frontend
Whiteboard: [ohnoreflow][fxperf:p3] → [ohnoreflow]
You need to log in before you can comment on or make changes to this bug.