diff options
author | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-01-29 09:40:44 +0100 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-01-29 09:40:44 +0100 |
commit | 1a04d73a129926d54e13ac9d947062b221f0bacd (patch) | |
tree | f7bb70c9928ad16a56e2532f9d98aece61dbe1c4 /toolkit | |
parent | 1f9ab3a6e6e3f1e79b482c0540c98859bbc71350 (diff) | |
parent | 7f992d50e417b0c2f18259ce2353e3ead4870694 (diff) | |
download | UXP-1a04d73a129926d54e13ac9d947062b221f0bacd.tar UXP-1a04d73a129926d54e13ac9d947062b221f0bacd.tar.gz UXP-1a04d73a129926d54e13ac9d947062b221f0bacd.tar.lz UXP-1a04d73a129926d54e13ac9d947062b221f0bacd.tar.xz UXP-1a04d73a129926d54e13ac9d947062b221f0bacd.zip |
Merge branch 'master' into cycle_collector-work
Diffstat (limited to 'toolkit')
-rw-r--r-- | toolkit/components/perfmonitoring/nsPerformanceStats.cpp | 11 | ||||
-rw-r--r-- | toolkit/components/perfmonitoring/nsPerformanceStats.h | 2 | ||||
-rw-r--r-- | toolkit/mozapps/extensions/content/extensions.xml | 14 |
3 files changed, 10 insertions, 17 deletions
diff --git a/toolkit/components/perfmonitoring/nsPerformanceStats.cpp b/toolkit/components/perfmonitoring/nsPerformanceStats.cpp index 6c470356a..59d84ced1 100644 --- a/toolkit/components/perfmonitoring/nsPerformanceStats.cpp +++ b/toolkit/components/perfmonitoring/nsPerformanceStats.cpp @@ -1082,6 +1082,9 @@ nsPerformanceStatsService::GetPerformanceGroups(JSContext* cx, return false; } + // Returning a vector that is too large would cause allocations all over the + // place in the JS engine. We want to be sure that all data is stored inline. + MOZ_ASSERT(out.length() <= out.sMaxInlineStorage); return true; } @@ -1310,8 +1313,12 @@ nsPerformanceStatsService::GetResources(uint64_t* userTime, void nsPerformanceStatsService::NotifyJankObservers(const mozilla::Vector<uint64_t>& aPreviousJankLevels) { - GroupVector alerts; - mPendingAlerts.swap(alerts); + + // The move operation is generally constant time, unless + // `mPendingAlerts.length()` is very small, in which case it's fast anyway. + GroupVector alerts(Move(mPendingAlerts)); + mPendingAlerts = GroupVector(); // Reconstruct after `Move`. + if (!mPendingAlertsCollector) { // We are shutting down. return; diff --git a/toolkit/components/perfmonitoring/nsPerformanceStats.h b/toolkit/components/perfmonitoring/nsPerformanceStats.h index 6902c840d..661a78a1a 100644 --- a/toolkit/components/perfmonitoring/nsPerformanceStats.h +++ b/toolkit/components/perfmonitoring/nsPerformanceStats.h @@ -19,7 +19,7 @@ class nsPerformanceGroup; class nsPerformanceGroupDetails; -typedef mozilla::Vector<RefPtr<nsPerformanceGroup>> GroupVector; +typedef mozilla::Vector<RefPtr<nsPerformanceGroup>, 8> GroupVector; /** * A data structure for registering observers interested in diff --git a/toolkit/mozapps/extensions/content/extensions.xml b/toolkit/mozapps/extensions/content/extensions.xml index cbd05bfa9..9c8fda8ed 100644 --- a/toolkit/mozapps/extensions/content/extensions.xml +++ b/toolkit/mozapps/extensions/content/extensions.xml @@ -941,10 +941,6 @@ #endif oncommand="document.getBindingParent(this).showPreferences();"/> <!-- label="&cmd.debugAddon.label;" --> - <xul:button anonid="debug-btn" class="addon-control debug" - label="&cmd.debugAddon.label;" - oncommand="document.getBindingParent(this).debug();"/> - <xul:button anonid="enable-btn" class="addon-control enable" label="&cmd.enableAddon.label;" oncommand="document.getBindingParent(this).userDisabled = false;"/> @@ -1087,10 +1083,6 @@ document.getAnonymousElementByAttribute(this, "anonid", "enable-btn"); </field> - <field name="_debugBtn"> - document.getAnonymousElementByAttribute(this, "anonid", - "debug-btn"); - </field> <field name="_disableBtn"> document.getAnonymousElementByAttribute(this, "anonid", "disable-btn"); @@ -1430,12 +1422,6 @@ this.mAddon.install.state != AddonManager.STATE_INSTALLED); this._showStatus(showProgress ? "progress" : "none"); - let debuggable = this.mAddon.isDebuggable && - Services.prefs.getBoolPref('devtools.chrome.enabled') && - Services.prefs.getBoolPref('devtools.debugger.remote-enabled'); - - this._debugBtn.disabled = this._debugBtn.hidden = !debuggable - if (this.mAddon.type == "experiment") { this.removeAttribute("notification"); let prefix = "experiment."; |