Closed
Bug 1462375
Opened 7 years ago
Closed 6 years ago
uBlock causes 1.08ms uninterruptible reflow at resize@moz-extension://58e2758a-efad-4ad8-8551-36cb12e93495/js/popup.js:604:1
Categories
(WebExtensions :: Developer Outreach, defect)
Tracking
(Performance Impact:none, firefox62 affected)
People
(Reporter: geeknik, Unassigned)
References
(Blocks 1 open bug)
Details
(Whiteboard: [ohnoreflow][fxperf:-])
Here's the stack:
resize@moz-extension://58e2758a-efad-4ad8-8551-36cb12e93495/js/popup.js:604:1
Async*resizeAsync@moz-extension://58e2758a-efad-4ad8-8551-36cb12e93495/js/popup.js:617:23
EventListener.handleEvent*renderOnce@moz-extension://58e2758a-efad-4ad8-8551-36cb12e93495/js/popup.js:619:5
onDataReceived@moz-extension://58e2758a-efad-4ad8-8551-36cb12e93495/js/popup.js:1003:9
messageListener@moz-extension://58e2758a-efad-4ad8-8551-36cb12e93495/js/vapi-client.js:132:17
applySafeWithoutClone@resource://gre/modules/ExtensionCommon.jsm:234:16
addListener/asyncWithoutClone/<@resource://gre/modules/ExtensionCommon.jsm:1918:20
promise callback*asyncWithoutClone@resource://gre/modules/ExtensionCommon.jsm:1916:16
api/register/publicAPI.onMessage<@resource://gre/modules/ExtensionChild.jsm:200:13
receiveMessage@resource://gre/modules/ExtensionChild.jsm:259:11
_handleMessage/</<@resource://gre/modules/MessageChannel.jsm:912:19
_handleMessage/<@resource://gre/modules/MessageChannel.jsm:911:9
_handleMessage@resource://gre/modules/MessageChannel.jsm:909:7
receiveMessage/<@resource://gre/modules/MessageChannel.jsm:208:9
receiveMessage@resource://gre/modules/MessageChannel.jsm:201:5
MessageListener.receiveMessage*FilteringMessageManager@resource://gre/modules/MessageChannel.jsm:191:5
get@resource://gre/modules/MessageChannel.jsm:426:14
setupMessageManagers@resource://gre/modules/MessageChannel.jsm:653:7
init@jar:file:///home/geeknik/firefox/omni.ja!/components/extension-process-script.js:286:5
@jar:file:///home/geeknik/firefox/omni.ja!/components/extension-process-script.js:525:1
@data:,Components.classes['@mozilla.org/webextensions/extension-process-script;1'].getService():1:1
@resource://gre/modules/AddonManager.jsm:83:1
amManager@jar:file:///home/geeknik/firefox/omni.ja!/components/addonManager.js:43:3
createInstance@jar:file:///home/geeknik/firefox/omni.ja!/components/addonManager.js:254:22
Updated•7 years ago
|
Whiteboard: [ohnoreflow][qf][photon-performance] → [ohnoreflow][qf][fxperf]
Comment 1•6 years ago
|
||
Hey geeknik,
Can you tell me which add-on was showing the popup that caused this reflow? If you go to about:debugging, it should have an internal UUID of 58e2758a-efad-4ad8-8551-36cb12e93495.
Comment 2•6 years ago
|
||
Hm, I'm 99% sure this is uBlock:
https://github.com/gorhill/uBlock/blob/e5d5d9eaf6e6a7ebe0ff4e9e7de468b7a7e54f17/src/js/popup.js#L604
Tentatively moving this to Tech Evangelism, though I'm wondering why we're hitting this... aren't the panel contents supposed to be running OOP? Am I wrong on that, aswan?
Component: Untriaged → Add-ons
Flags: needinfo?(aswan)
Product: Firefox → Tech Evangelism
Summary: 1.08ms uninterruptible reflow at resize@moz-extension://58e2758a-efad-4ad8-8551-36cb12e93495/js/popup.js:604:1 → uBlock causes 1.08ms uninterruptible reflow at resize@moz-extension://58e2758a-efad-4ad8-8551-36cb12e93495/js/popup.js:604:1
Whiteboard: [ohnoreflow][qf][fxperf] → [ohnoreflow][qf-][fxperf:-]
Comment 3•6 years ago
|
||
(In reply to Mike Conley (:mconley) (:⚙️) (Catching up on needinfos / reviews) from comment #2)
> Tentatively moving this to Tech Evangelism, though I'm wondering why we're
> hitting this... aren't the panel contents supposed to be running OOP? Am I
> wrong on that, aswan?
Extension pages (including panel contents) are OOP on Windows and Mac, but not yet on Linux (bug 1357487). If this was observed on a platform where OOP should be enabled, I guess the first step would be to check the extensions.webextensions.remote preference and see if it was manually flipped to false for some reason.
Flags: needinfo?(aswan)
Comment 4•6 years ago
|
||
Looking at the file path to the omni.ja (/home/geeknik/firefox/omni.ja), it seems very likely this was running on Linux. Plus, I'm realizing now that this bug is already listed as targeting the Linux platform, so yay for my observation skills. Thanks!
Comment 5•6 years ago
|
||
So is there any action that needs to be taken on the uBlock side, or is it just a matter of waiting for OOP to make it to Linux?
Comment 6•6 years ago
|
||
(In reply to Jorge Villalobos [:jorgev] from comment #5)
> So is there any action that needs to be taken on the uBlock side, or is it
> just a matter of waiting for OOP to make it to Linux?
Moving the WebExtension OOP will help not jank the parent process by forcing a layout flush, but the add-on author can also accelerate that effort by avoiding the layout flush altogether (assuming this is possible).
Comment 7•6 years ago
|
||
The code involved is enable uBO to be rendered in a restricted viewport -- for examples on Firefox for Android or inside the overflow menu -- where uBO must fill the viewport rather than expect the viewport to adjust to the natural size of uBO's popup panel.[1]
Given the real issues this code fixes and given that the "issue" is "1.08ms uninterruptible reflow", and given that this code executes most likely only once when the popup is first displayed,[2] is this ~1ms really an actual issue?[3]
[1] https://github.com/gorhill/uBlock/issues/2809
[2] It will also execute on resize events (coalesced using a setTimeout), which shouldn't really occur for the popup panel.
[3] This 1ms represents probably a fraction of % of all else that needs to be done by uBO when the popup panel opens.
Comment 8•6 years ago
|
||
By the way, I am unable to reproduce this warning at the console on my side (also using Linux here).
Assignee | ||
Updated•6 years ago
|
Component: Add-ons → General
Product: Tech Evangelism → WebExtensions
Comment 9•6 years ago
|
||
The reporter is not accepting NI, so my question as to whether or not this is still an issue will rest here, and if this is surfaced by other uBlock users on Linux, then we can re-open or dupe this. Closing as Inactive.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → INACTIVE
Updated•6 years ago
|
Component: General → Developer Outreach
Updated•3 years ago
|
Performance Impact: --- → -
Whiteboard: [ohnoreflow][qf-][fxperf:-] → [ohnoreflow][fxperf:-]
You need to log in
before you can comment on or make changes to this bug.
Description
•