Closed Bug 1360028 Opened 7 years ago Closed 21 days ago

0.99ms uninterruptible reflow at showNotification@chrome://browser/content/browser-addons.js:412:22

Categories

(WebExtensions :: Frontend, defect, P2)

defect

Tracking

(Performance Impact:low, firefox126 fixed)

RESOLVED FIXED
126 Branch
Performance Impact low
Tracking Status
firefox126 --- fixed

People

(Reporter: rjward0, Assigned: dao)

References

(Blocks 1 open bug)

Details

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

Attachments

(1 file)

Here's the stack:

showNotification@chrome://browser/content/browser-addons.js:412:22
observe@chrome://browser/content/browser-addons.js:433:7
installNotifyObservers@resource://gre/modules/AddonManager.jsm:2003:5
setupPromptHandler/install.promptHandler/<@resource://gre/modules/AddonManager.jsm:2837:11
Promise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:390:5
setupPromptHandler/install.promptHandler@resource://gre/modules/AddonManager.jsm:2772:37
checkPrompt/<@resource://gre/modules/addons/XPIProvider.jsm:5754:17
TaskImpl_run@resource://gre/modules/Task.jsm:319:42
TaskImpl@resource://gre/modules/Task.jsm:277:3
asyncFunction@resource://gre/modules/Task.jsm:252:14
Task_spawn@resource://gre/modules/Task.jsm:166:12
checkPrompt@resource://gre/modules/addons/XPIProvider.jsm:5745:5
install@resource://gre/modules/addons/XPIProvider.jsm:5476:7
install@resource://gre/modules/addons/XPIProvider.jsm:6256:7
downloadCompleted/<@resource://gre/modules/addons/XPIProvider.jsm:6572:9
makeSafe/<@resource://gre/modules/addons/XPIProvider.jsm -> resource://gre/modules/addons/XPIProviderUtils.js:175:17
completeAddon@resource://gre/modules/addons/XPIProvider.jsm -> resource://gre/modules/addons/XPIProviderUtils.js:164:5
getAddon@resource://gre/modules/addons/AddonRepository.jsm:562:7
this.AddonRepository.getCachedAddonByID<@resource://gre/modules/addons/AddonRepository.jsm:574:5
TaskImpl_run@resource://gre/modules/Task.jsm:319:42
TaskImpl@resource://gre/modules/Task.jsm:277:3
asyncFunction@resource://gre/modules/Task.jsm:252:14
getRepositoryAddon@resource://gre/modules/addons/XPIProvider.jsm -> resource://gre/modules/addons/XPIProviderUtils.js:166:3
getAddon/<@resource://gre/modules/addons/XPIProvider.jsm -> resource://gre/modules/addons/XPIProviderUtils.js:1073:9
process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:922:23
walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:806:7
Promise*scheduleWalkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:739:11
schedulePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:770:7
completePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:707:7
get _worker/worker.onmessage@resource://gre/modules/PromiseWorker.jsm:231:9
EventHandlerNonNull*get _worker@resource://gre/modules/PromiseWorker.jsm:217:5
postMessage@resource://gre/modules/PromiseWorker.jsm:291:9
TaskImpl_run@resource://gre/modules/Task.jsm:319:42
process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:922:23
walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:806:7
Promise*scheduleWalkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:739:11
schedulePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:770:7
Promise.prototype.then@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:455:5
push@resource://gre/modules/osfile/osfile_async_front.jsm:375:19
post@resource://gre/modules/osfile/osfile_async_front.jsm:407:12
makeDir@resource://gre/modules/osfile/osfile_async_front.jsm:1044:10
saveAbortedSessionPing@resource://gre/modules/TelemetryStorage.jsm:1717:11
async*saveAbortedSessionPing@resource://gre/modules/TelemetryStorage.jsm:316:12
saveAbortedSessionPing@resource://gre/modules/TelemetryController.jsm:620:12
saveAbortedSessionPing@resource://gre/modules/TelemetryController.jsm:263:12
_saveAbortedSessionPing@resource://gre/modules/TelemetrySession.jsm:2170:12
_saveAbortedPing@resource://gre/modules/TelemetrySession.jsm:406:12
_schedulerTickLogic@resource://gre/modules/TelemetrySession.jsm:495:14
_onSchedulerTick@resource://gre/modules/TelemetrySession.jsm:451:17
_rescheduleTimeout/this._schedulerTimer<@resource://gre/modules/TelemetrySession.jsm:363:44
setTimeout_timer@resource://gre/modules/Timer.jsm:30:5
Flags: qe-verify?
Priority: -- → P2
Component: Untriaged → General
Whiteboard: [ohnoreflow][qf][photon-performance] → [ohnoreflow][qf:p1][photon-performance]
Priority: P2 → P3
Whiteboard: [ohnoreflow][qf:p1][photon-performance] → [ohnoreflow][qf:p1][reserve-photon-performance]
Flags: qe-verify? → qe-verify-
Whiteboard: [ohnoreflow][qf:p1][reserve-photon-performance] → [ohnoreflow][qf:p2][reserve-photon-performance]
Priority: P3 → P4
Keywords: perf
Still appears to be here:

https://searchfox.org/mozilla-central/rev/9f3bd430c2b132c86c46126a0548661de876799a/browser/base/content/browser-addons.js#414-418
Whiteboard: [ohnoreflow][qf:p2][reserve-photon-performance] → [ohnoreflow][qf:p1][reserve-photon-performance]
Whiteboard: [ohnoreflow][qf:p1][reserve-photon-performance] → [ohnoreflow][qf:i60][qf:p1][reserve-photon-performance]
Whiteboard: [ohnoreflow][qf:i60][qf:p1][reserve-photon-performance] → [ohnoreflow][qf:f60][qf:p1][reserve-photon-performance]
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][fxperf]
This reflow is pretty rare, according to my read here. It'll only happen when installing an add-on, which is a rare event.
Whiteboard: [ohnoreflow][qf:f61][qf:p1][fxperf] → [ohnoreflow][qf:f63][qf:p3][fxperf:p3]
Performance Impact: --- → P3
Whiteboard: [ohnoreflow][qf:f63][qf:p3][fxperf:p3] → [ohnoreflow][fxperf:p3]
Severity: normal → S3
Severity: S3 → --
Component: General → Frontend
Priority: P4 → --
Product: Firefox → WebExtensions
Assignee: nobody → dao+bmo
Status: NEW → ASSIGNED
Severity: -- → S4
Priority: -- → P2
Pushed by dgottwald@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/315bfe14fe3f
Use getBoundsWithoutFlushing instead of getBoundingClientRect on addon-progress-notification to set the min-height of the addon-install-confirmation notifaction. r=willdurand
Status: ASSIGNED → RESOLVED
Closed: 21 days ago
Resolution: --- → FIXED
Target Milestone: --- → 126 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: