зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1741716 - Change the preset to Firefox when profiler popup is activated through web channel r=julienw
Differential Revision: https://phabricator.services.mozilla.com/D131436
This commit is contained in:
Родитель
d4f3d0994e
Коммит
fea7d30107
|
@ -666,6 +666,13 @@ async function getResponseForMessage(request, browser) {
|
|||
// Ensure the widget is enabled.
|
||||
Services.prefs.setBoolPref(POPUP_FEATURE_FLAG_PREF, true);
|
||||
|
||||
// Force the preset to be "firefox-platform" if we enable the menu button
|
||||
// via web channel. If user goes through profiler.firefox.com to enable
|
||||
// it, it means that either user is a platform developer or filing a bug
|
||||
// report for performance engineers to look at.
|
||||
const supportedFeatures = Services.profiler.GetFeatures();
|
||||
changePreset("aboutprofiling", "firefox-platform", supportedFeatures);
|
||||
|
||||
// Enable the profiler menu button.
|
||||
const { ProfilerMenuButton } = lazy.ProfilerMenuButton();
|
||||
ProfilerMenuButton.addToNavbar(ownerDocument);
|
||||
|
|
|
@ -31,6 +31,8 @@ https_first_disabled = true
|
|||
[browser_devtools-record-discard.js]
|
||||
[browser_webchannel-enable-menu-button.js]
|
||||
https_first_disabled = true
|
||||
[browser_webchannel-enable-menu-button-preset.js]
|
||||
https_first_disabled = true
|
||||
[browser_popup-profiler-states.js]
|
||||
https_first_disabled = true
|
||||
[browser_popup-record-capture.js]
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
"use strict";
|
||||
|
||||
add_task(async function test() {
|
||||
info(
|
||||
"Test the WebChannel mechanism that it changes the preset to firefox-platform"
|
||||
);
|
||||
await makeSureProfilerPopupIsDisabled();
|
||||
const supportedFeatures = Services.profiler.GetFeatures();
|
||||
|
||||
// This test assumes that the Web Developer preset is set by default, which is
|
||||
// not the case on Nightly and custom builds.
|
||||
BackgroundJSM.changePreset(
|
||||
"aboutprofiling",
|
||||
"web-developer",
|
||||
supportedFeatures
|
||||
);
|
||||
|
||||
await withAboutProfiling(async document => {
|
||||
const webdevPreset = document.querySelector("input[value=web-developer]");
|
||||
const firefoxPreset = await document.querySelector(
|
||||
"input[value=firefox-platform]"
|
||||
);
|
||||
|
||||
// Check the presets now to make sure web-developer is selected right now.
|
||||
ok(webdevPreset.checked, "By default the Web Developer preset is checked.");
|
||||
ok(
|
||||
!firefoxPreset.checked,
|
||||
"By default the Firefox Platform preset is not checked."
|
||||
);
|
||||
|
||||
// Enable the profiler menu button with web channel.
|
||||
await withWebChannelTestDocument(async browser => {
|
||||
await waitForTabTitle("WebChannel Page Ready");
|
||||
await waitForProfilerMenuButton();
|
||||
ok(true, "The profiler menu button was enabled by the WebChannel.");
|
||||
});
|
||||
|
||||
// firefox-platform preset should be selected now.
|
||||
ok(
|
||||
!webdevPreset.checked,
|
||||
"Web Developer preset should not be checked anymore."
|
||||
);
|
||||
ok(
|
||||
firefoxPreset.checked,
|
||||
"Firefox Platform preset should now be checked after enabling the popup with web channel."
|
||||
);
|
||||
});
|
||||
});
|
Загрузка…
Ссылка в новой задаче