diff --git a/browser/base/content/webext-panels.js b/browser/base/content/webext-panels.js
index 74586ead0621..6ea706faed46 100644
--- a/browser/base/content/webext-panels.js
+++ b/browser/base/content/webext-panels.js
@@ -5,28 +5,60 @@
XPCOMUtils.defineLazyModuleGetter(this, "ExtensionParent",
"resource://gre/modules/ExtensionParent.jsm");
+Cu.import("resource://gre/modules/ExtensionUtils.jsm");
+
+var {
+ promiseEvent,
+} = ExtensionUtils;
+
+const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
+
+function getBrowser(sidebar) {
+ let browser = document.getElementById("webext-panels-browser");
+ if (browser) {
+ return Promise.resolve(browser);
+ }
+
+ browser = document.createElementNS(XUL_NS, "browser");
+ browser.setAttribute("id", "webext-panels-browser");
+ browser.setAttribute("type", "content");
+ browser.setAttribute("flex", "1");
+ browser.setAttribute("disableglobalhistory", "true");
+ browser.setAttribute("webextension-view-type", "sidebar");
+ browser.setAttribute("context", "contentAreaContextMenu");
+ browser.setAttribute("tooltip", "aHTMLTooltip");
+ browser.setAttribute("onclick", "window.parent.contentAreaClick(event, true);");
+
+ let readyPromise;
+ if (sidebar.remote) {
+ browser.setAttribute("remote", "true");
+ browser.setAttribute("remoteType",
+ E10SUtils.getRemoteTypeForURI(sidebar.uri, true,
+ E10SUtils.EXTENSION_REMOTE_TYPE));
+ readyPromise = promiseEvent(browser, "XULFrameLoaderCreated");
+ } else {
+ readyPromise = Promise.resolve();
+ }
+ document.documentElement.appendChild(browser);
+
+ return readyPromise.then(() => {
+ browser.messageManager.loadFrameScript("chrome://browser/content/content.js", false);
+ ExtensionParent.apiManager.emit("extension-browser-inserted", browser);
+ return browser;
+ });
+}
function loadWebPanel() {
let sidebarURI = new URL(location);
- let uri = sidebarURI.searchParams.get("panel");
- let remote = sidebarURI.searchParams.get("remote");
- let browser = document.getElementById("webext-panels-browser");
- if (remote) {
- let remoteType = E10SUtils.getRemoteTypeForURI(uri, true,
- E10SUtils.EXTENSION_REMOTE_TYPE);
- browser.setAttribute("remote", "true");
- browser.setAttribute("remoteType", remoteType);
- } else {
- browser.removeAttribute("remote");
- browser.removeAttribute("remoteType");
- }
- browser.loadURI(uri);
+ let sidebar = {
+ uri: sidebarURI.searchParams.get("panel"),
+ remote: sidebarURI.searchParams.get("remote"),
+ };
+ getBrowser(sidebar).then(browser => {
+ browser.loadURI(sidebar.uri);
+ });
}
function load() {
- let browser = document.getElementById("webext-panels-browser");
- browser.messageManager.loadFrameScript("chrome://browser/content/content.js", true);
- ExtensionParent.apiManager.emit("extension-browser-inserted", browser);
-
this.loadWebPanel();
}
diff --git a/browser/base/content/webext-panels.xul b/browser/base/content/webext-panels.xul
index 35e8eb0f2619..57be52ffa549 100644
--- a/browser/base/content/webext-panels.xul
+++ b/browser/base/content/webext-panels.xul
@@ -65,9 +65,4 @@
-
diff --git a/browser/components/extensions/ext-browsingData.js b/browser/components/extensions/ext-browsingData.js
index cb99d2123109..a927b42682cd 100644
--- a/browser/components/extensions/ext-browsingData.js
+++ b/browser/components/extensions/ext-browsingData.js
@@ -187,21 +187,24 @@ extensions.registerSchemaAPI("browsingData", "addon_parent", context => {
// since will be the start of what is returned by Sanitizer.getClearRange
// divided by 1000 to convert to ms.
- let since = Sanitizer.getClearRange()[0] / 1000;
+ // If Sanitizer.getClearRange returns undefined that means the range is
+ // currently "Everything", so we should set since to 0.
+ let clearRange = Sanitizer.getClearRange();
+ let since = clearRange ? clearRange[0] / 1000 : 0;
let options = {since};
let dataToRemove = {};
let dataRemovalPermitted = {};
for (let item of PREF_LIST) {
- dataToRemove[item] = Preferences.get(`${PREF_DOMAIN}${item}`);
+ // The property formData needs a different case than the
+ // formdata preference.
+ const name = item === "formdata" ? "formData" : item;
+ dataToRemove[name] = Preferences.get(`${PREF_DOMAIN}${item}`);
// Firefox doesn't have the same concept of dataRemovalPermitted
// as Chrome, so it will always be true.
- dataRemovalPermitted[item] = true;
+ dataRemovalPermitted[name] = true;
}
- // formData has a different case than the pref formdata.
- dataToRemove.formData = Preferences.get(`${PREF_DOMAIN}formdata`);
- dataRemovalPermitted.formData = true;
return Promise.resolve({options, dataToRemove, dataRemovalPermitted});
},
diff --git a/browser/components/extensions/ext-utils.js b/browser/components/extensions/ext-utils.js
index 3ff88cd0545c..2bfe44f75163 100644
--- a/browser/components/extensions/ext-utils.js
+++ b/browser/components/extensions/ext-utils.js
@@ -544,8 +544,9 @@ class Tab extends TabBase {
if (extension.tabManager.hasTabPermission(tabData)) {
let entries = tabData.state ? tabData.state.entries : tabData.entries;
- result.url = entries[0].url;
- result.title = entries[0].title;
+ let entry = entries[entries.length - 1];
+ result.url = entry.url;
+ result.title = entry.title;
if (tabData.image) {
result.favIconUrl = tabData.image;
}
diff --git a/browser/components/extensions/test/browser/browser_ext_sessions_getRecentlyClosed.js b/browser/components/extensions/test/browser/browser_ext_sessions_getRecentlyClosed.js
index 413f7bde601f..546753b6f84b 100644
--- a/browser/components/extensions/test/browser/browser_ext_sessions_getRecentlyClosed.js
+++ b/browser/components/extensions/test/browser/browser_ext_sessions_getRecentlyClosed.js
@@ -95,3 +95,36 @@ add_task(function* test_sessions_get_recently_closed() {
yield extension.unload();
});
+
+add_task(function* test_sessions_get_recently_closed_navigated() {
+ function background() {
+ browser.sessions.getRecentlyClosed({maxResults: 1}).then(recentlyClosed => {
+ let tab = recentlyClosed[0].window.tabs[0];
+ browser.test.assertEq("http://example.com/", tab.url,
+ "Tab in closed window has the expected url.");
+ browser.test.assertTrue(tab.title.includes("mochitest index"),
+ "Tab in closed window has the expected title.");
+ browser.test.notifyPass("getRecentlyClosed with navigation");
+ });
+ }
+
+ let extension = ExtensionTestUtils.loadExtension({
+ manifest: {
+ permissions: ["sessions", "tabs"],
+ },
+ background,
+ });
+
+ // Test with a window with navigation history.
+ let win = yield BrowserTestUtils.openNewBrowserWindow();
+ for (let url of ["about:robots", "about:mozilla", "http://example.com/"]) {
+ yield BrowserTestUtils.loadURI(win.gBrowser.selectedBrowser, url);
+ yield BrowserTestUtils.browserLoaded(win.gBrowser.selectedBrowser);
+ }
+
+ yield BrowserTestUtils.closeWindow(win);
+
+ yield extension.startup();
+ yield extension.awaitFinish();
+ yield extension.unload();
+});
diff --git a/browser/components/extensions/test/browser/browser_ext_sidebarAction.js b/browser/components/extensions/test/browser/browser_ext_sidebarAction.js
index e6fb985f3e29..1e27fb082b38 100644
--- a/browser/components/extensions/test/browser/browser_ext_sidebarAction.js
+++ b/browser/components/extensions/test/browser/browser_ext_sidebarAction.js
@@ -126,6 +126,49 @@ add_task(function* sidebar_empty_panel() {
yield extension.unload();
});
+add_task(function* sidebar_tab_query_bug_1340739() {
+ let data = {
+ manifest: {
+ "permissions": [
+ "tabs",
+ ],
+ "sidebar_action": {
+ "default_panel": "sidebar.html",
+ },
+ },
+ useAddonManager: "temporary",
+ files: {
+ "sidebar.html": `
+
+
+
+
+
+
+ A Test Sidebar
+
+ `,
+ "sidebar.js": function() {
+ Promise.all([
+ browser.tabs.query({}).then((tabs) => {
+ browser.test.assertEq(1, tabs.length, "got tab without currentWindow");
+ }),
+ browser.tabs.query({currentWindow: true}).then((tabs) => {
+ browser.test.assertEq(1, tabs.length, "got tab with currentWindow");
+ }),
+ ]).then(() => {
+ browser.test.sendMessage("sidebar");
+ });
+ },
+ },
+ };
+
+ let extension = ExtensionTestUtils.loadExtension(data);
+ yield extension.startup();
+ yield extension.awaitMessage("sidebar");
+ yield extension.unload();
+});
+
add_task(function* cleanup() {
// This is set on initial sidebar install.
Services.prefs.clearUserPref("extensions.sidebar-button.shown");
diff --git a/browser/components/extensions/test/xpcshell/test_ext_browsingData_settings.js b/browser/components/extensions/test/xpcshell/test_ext_browsingData_settings.js
index 68ed74d05ea2..a641db7f2d16 100644
--- a/browser/components/extensions/test/xpcshell/test_ext_browsingData_settings.js
+++ b/browser/components/extensions/test/xpcshell/test_ext_browsingData_settings.js
@@ -2,12 +2,15 @@
/* vim: set sts=2 sw=2 et tw=80: */
"use strict";
+XPCOMUtils.defineLazyModuleGetter(this, "Preferences",
+ "resource://gre/modules/Preferences.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "Sanitizer",
"resource:///modules/Sanitizer.jsm");
const PREF_DOMAIN = "privacy.cpd.";
+const SETTINGS_LIST = ["cache", "cookies", "history", "formData", "downloads"].sort();
-add_task(function* testSettings() {
+add_task(function* testSettingsProperties() {
function background() {
browser.test.onMessage.addListener(msg => {
browser.browsingData.settings().then(settings => {
@@ -25,21 +28,19 @@ add_task(function* testSettings() {
yield extension.startup();
- let branch = Services.prefs.getBranch(PREF_DOMAIN);
-
extension.sendMessage("settings");
let settings = yield extension.awaitMessage("settings");
- let since = Sanitizer.getClearRange()[0] / 1000;
-
- // Because it is based on the current timestamp, we cannot know the exact
- // value to expect for since, so allow a 10s variance.
- ok(Math.abs(settings.options.since - since) < 10000,
- "settings.options contains the expected since value.");
+ // Verify that we get the keys back we expect.
+ deepEqual(Object.keys(settings.dataToRemove).sort(), SETTINGS_LIST,
+ "dataToRemove contains expected properties.");
+ deepEqual(Object.keys(settings.dataRemovalPermitted).sort(), SETTINGS_LIST,
+ "dataToRemove contains expected properties.");
let dataTypeSet = settings.dataToRemove;
for (let key of Object.keys(dataTypeSet)) {
- equal(branch.getBoolPref(key.toLowerCase()), dataTypeSet[key], `${key} property of dataToRemove matches the expected pref.`);
+ equal(Preferences.get(`${PREF_DOMAIN}${key.toLowerCase()}`), dataTypeSet[key],
+ `${key} property of dataToRemove matches the expected pref.`);
}
dataTypeSet = settings.dataRemovalPermitted;
@@ -48,29 +49,69 @@ add_task(function* testSettings() {
}
// Explicitly set a pref to both true and false and then check.
- const SINGLE_PREF = "cache";
+ const SINGLE_OPTION = "cache";
+ const SINGLE_PREF = "privacy.cpd.cache";
do_register_cleanup(() => {
- branch.clearUserPref(SINGLE_PREF);
+ Preferences.reset(SINGLE_PREF);
});
- branch.setBoolPref(SINGLE_PREF, true);
+ Preferences.set(SINGLE_PREF, true);
extension.sendMessage("settings");
settings = yield extension.awaitMessage("settings");
+ equal(settings.dataToRemove[SINGLE_OPTION], true, "Preference that was set to true returns true.");
- equal(settings.dataToRemove[SINGLE_PREF], true, "Preference that was set to true returns true.");
-
- branch.setBoolPref(SINGLE_PREF, false);
+ Preferences.set(SINGLE_PREF, false);
extension.sendMessage("settings");
settings = yield extension.awaitMessage("settings");
-
- equal(settings.dataToRemove[SINGLE_PREF], false, "Preference that was set to false returns false.");
-
- do_register_cleanup(() => {
- branch.clearUserPref(SINGLE_PREF);
- });
+ equal(settings.dataToRemove[SINGLE_OPTION], false, "Preference that was set to false returns false.");
+
+ yield extension.unload();
+});
+
+add_task(function* testSettingsSince() {
+ const TIMESPAN_PREF = "privacy.sanitize.timeSpan";
+ const TEST_DATA = {
+ TIMESPAN_5MIN: Date.now() - 5 * 60 * 1000,
+ TIMESPAN_HOUR: Date.now() - 60 * 60 * 1000,
+ TIMESPAN_2HOURS: Date.now() - 2 * 60 * 60 * 1000,
+ TIMESPAN_EVERYTHING: 0,
+ };
+
+ function background() {
+ browser.test.onMessage.addListener(msg => {
+ browser.browsingData.settings().then(settings => {
+ browser.test.sendMessage("settings", settings);
+ });
+ });
+ }
+
+ let extension = ExtensionTestUtils.loadExtension({
+ background,
+ manifest: {
+ permissions: ["browsingData"],
+ },
+ });
+
+ yield extension.startup();
+
+ do_register_cleanup(() => {
+ Preferences.reset(TIMESPAN_PREF);
+ });
+
+ for (let timespan in TEST_DATA) {
+ Preferences.set(TIMESPAN_PREF, Sanitizer[timespan]);
+
+ extension.sendMessage("settings");
+ let settings = yield extension.awaitMessage("settings");
+
+ // Because it is based on the current timestamp, we cannot know the exact
+ // value to expect for since, so allow a 10s variance.
+ ok(Math.abs(settings.options.since - TEST_DATA[timespan]) < 10000,
+ "settings.options contains the expected since value.");
+ }
yield extension.unload();
});
diff --git a/browser/locales/en-US/chrome/browser/browser.properties b/browser/locales/en-US/chrome/browser/browser.properties
index 134969d62429..a8e3da7a8eb4 100644
--- a/browser/locales/en-US/chrome/browser/browser.properties
+++ b/browser/locales/en-US/chrome/browser/browser.properties
@@ -91,6 +91,7 @@ webextPerms.description.history=Access browsing history
# %S will be replaced with the name of the application
webextPerms.description.nativeMessaging=Exchange messages with programs other than %S
webextPerms.description.notifications=Display notifications to you
+webextPerms.description.privacy=Read and modify privacy settings
webextPerms.description.sessions=Access recently closed tabs
webextPerms.description.tabs=Access browser tabs
webextPerms.description.topSites=Access browsing history
diff --git a/config/check_spidermonkey_style.py b/config/check_spidermonkey_style.py
index fdbb07674a37..c0f722894b26 100644
--- a/config/check_spidermonkey_style.py
+++ b/config/check_spidermonkey_style.py
@@ -88,6 +88,7 @@ included_inclnames_to_ignore = set([
'unicode/udat.h', # ICU
'unicode/udatpg.h', # ICU
'unicode/uenum.h', # ICU
+ 'unicode/uloc.h', # ICU
'unicode/unorm2.h', # ICU
'unicode/unum.h', # ICU
'unicode/unumsys.h', # ICU
diff --git a/devtools/client/netmonitor/components/request-list-content.js b/devtools/client/netmonitor/components/request-list-content.js
index d176c9c88eeb..a6afa89ee31f 100644
--- a/devtools/client/netmonitor/components/request-list-content.js
+++ b/devtools/client/netmonitor/components/request-list-content.js
@@ -158,9 +158,9 @@ const RequestListContent = createClass({
return false;
}
- if (requestItem.responseContent && target.closest(".requests-menu-icon-and-file")) {
+ if (requestItem.responseContent && target.closest(".requests-list-icon-and-file")) {
return setTooltipImageContent(tooltip, itemEl, requestItem);
- } else if (requestItem.cause && target.closest(".requests-menu-cause-stack")) {
+ } else if (requestItem.cause && target.closest(".requests-list-cause-stack")) {
return setTooltipStackTraceContent(tooltip, requestItem);
}
@@ -237,7 +237,7 @@ const RequestListContent = createClass({
return (
div({
ref: "contentEl",
- className: "requests-menu-contents",
+ className: "requests-list-contents",
tabIndex: 0,
onKeyDown: this.onKeyDown,
},
diff --git a/devtools/client/netmonitor/components/request-list-empty.js b/devtools/client/netmonitor/components/request-list-empty.js
index b089b1db7054..8ddd1f1916bc 100644
--- a/devtools/client/netmonitor/components/request-list-empty.js
+++ b/devtools/client/netmonitor/components/request-list-empty.js
@@ -31,15 +31,13 @@ const RequestListEmptyNotice = createClass({
render() {
return div(
{
- id: "requests-menu-empty-notice",
- className: "request-list-empty-notice",
+ className: "requests-list-empty-notice",
},
- div({ id: "notice-reload-message" },
+ div({ className: "notice-reload-message" },
span(null, L10N.getStr("netmonitor.reloadNotice1")),
button(
{
- id: "requests-menu-reload-notice-button",
- className: "devtools-button",
+ className: "devtools-toolbarbutton requests-list-reload-notice-button",
"data-standalone": true,
onClick: this.props.onReloadClick,
},
@@ -47,12 +45,11 @@ const RequestListEmptyNotice = createClass({
),
span(null, L10N.getStr("netmonitor.reloadNotice3"))
),
- div({ id: "notice-perf-message" },
+ div({ className: "notice-perf-message" },
span(null, L10N.getStr("netmonitor.perfNotice1")),
button({
- id: "requests-menu-perf-notice-button",
title: L10N.getStr("netmonitor.perfNotice3"),
- className: "devtools-button",
+ className: "devtools-button requests-list-perf-notice-button",
"data-standalone": true,
onClick: this.props.onPerfClick,
}),
diff --git a/devtools/client/netmonitor/components/request-list-header.js b/devtools/client/netmonitor/components/request-list-header.js
index e45e24aa7a70..24362dbb129d 100644
--- a/devtools/client/netmonitor/components/request-list-header.js
+++ b/devtools/client/netmonitor/components/request-list-header.js
@@ -78,8 +78,8 @@ const RequestListHeader = createClass({
const { sort, scale, waterfallWidth, onHeaderClick } = this.props;
return div(
- { id: "requests-menu-toolbar", className: "devtools-toolbar" },
- div({ id: "toolbar-labels" },
+ { className: "devtools-toolbar requests-list-toolbar" },
+ div({ className: "toolbar-labels" },
HEADERS.map(header => {
const name = header.name;
const boxName = header.boxName || name;
@@ -96,8 +96,8 @@ const RequestListHeader = createClass({
return div(
{
- id: `requests-menu-${boxName}-header-box`,
- className: `requests-menu-header requests-menu-${boxName}`,
+ id: `requests-list-${boxName}-header-box`,
+ className: `requests-list-header requests-list-${boxName}`,
key: name,
ref: "header",
// Used to style the next column.
@@ -105,8 +105,8 @@ const RequestListHeader = createClass({
},
button(
{
- id: `requests-menu-${name}-button`,
- className: `requests-menu-header-button requests-menu-${name}`,
+ id: `requests-list-${name}-button`,
+ className: `requests-list-header-button requests-list-${name}`,
"data-sorted": sorted,
title: sortedTitle,
onClick: () => onHeaderClick(name),
@@ -163,7 +163,7 @@ function waterfallDivisionLabels(waterfallWidth, scale) {
labels.push(div(
{
key: labels.length,
- className: "requests-menu-timings-division",
+ className: "requests-list-timings-division",
"data-division-scale": divisionScale,
style: { width }
},
@@ -175,11 +175,11 @@ function waterfallDivisionLabels(waterfallWidth, scale) {
}
function WaterfallLabel(waterfallWidth, scale, label) {
- let className = "button-text requests-menu-waterfall-label-wrapper";
+ let className = "button-text requests-list-waterfall-label-wrapper";
if (waterfallWidth != null && scale != null) {
label = waterfallDivisionLabels(waterfallWidth, scale);
- className += " requests-menu-waterfall-visible";
+ className += " requests-list-waterfall-visible";
}
return div({ className }, label);
diff --git a/devtools/client/netmonitor/components/request-list-item.js b/devtools/client/netmonitor/components/request-list-item.js
index 75cecf850533..2c6aa1dce051 100644
--- a/devtools/client/netmonitor/components/request-list-item.js
+++ b/devtools/client/netmonitor/components/request-list-item.js
@@ -175,9 +175,9 @@ const StatusColumn = createFactory(createClass({
}
return (
- div({ className: "requests-menu-subitem requests-menu-status", title },
- div({ className: "requests-menu-status-icon", "data-code": code }),
- span({ className: "subitem-label requests-menu-status-code" }, status),
+ div({ className: "requests-list-subitem requests-list-status", title },
+ div({ className: "requests-list-status-icon", "data-code": code }),
+ span({ className: "subitem-label requests-list-status-code" }, status)
)
);
}
@@ -197,8 +197,8 @@ const MethodColumn = createFactory(createClass({
render() {
const { method } = this.props.item;
return (
- div({ className: "requests-menu-subitem requests-menu-method-box" },
- span({ className: "subitem-label requests-menu-method" }, method)
+ div({ className: "requests-list-subitem requests-list-method-box" },
+ span({ className: "subitem-label requests-list-method" }, method)
)
);
}
@@ -224,15 +224,15 @@ const FileColumn = createFactory(createClass({
const { urlDetails, responseContentDataUri } = this.props.item;
return (
- div({ className: "requests-menu-subitem requests-menu-icon-and-file" },
+ div({ className: "requests-list-subitem requests-list-icon-and-file" },
img({
- className: "requests-menu-icon",
+ className: "requests-list-icon",
src: responseContentDataUri,
hidden: !responseContentDataUri,
"data-type": responseContentDataUri ? "thumbnail" : undefined,
}),
div({
- className: "subitem-label requests-menu-file",
+ className: "subitem-label requests-list-file",
title: urlDetails.unicodeUrl,
},
urlDetails.baseNameWithQuery,
@@ -277,13 +277,13 @@ const DomainColumn = createFactory(createClass({
let title = urlDetails.host + (remoteAddress ? ` (${remoteAddress})` : "");
return (
- div({ className: "requests-menu-subitem requests-menu-security-and-domain" },
+ div({ className: "requests-list-subitem requests-list-security-and-domain" },
div({
className: iconClassList.join(" "),
title: iconTitle,
onClick: onSecurityIconClick,
}),
- span({ className: "subitem-label requests-menu-domain", title }, urlDetails.host),
+ span({ className: "subitem-label requests-list-domain", title }, urlDetails.host),
)
);
}
@@ -316,11 +316,11 @@ const CauseColumn = createFactory(createClass({
return (
div({
- className: "requests-menu-subitem requests-menu-cause",
+ className: "requests-list-subitem requests-list-cause",
title: causeUri,
},
span({
- className: "requests-menu-cause-stack",
+ className: "requests-list-cause-stack",
hidden: !causeHasStack,
}, "JS"),
span({ className: "subitem-label" }, causeType),
@@ -356,7 +356,7 @@ const TypeColumn = createFactory(createClass({
return (
div({
- className: "requests-menu-subitem requests-menu-type",
+ className: "requests-list-subitem requests-list-type",
title: mimeType,
},
span({ className: "subitem-label" }, abbrevType),
@@ -401,7 +401,7 @@ const TransferredSizeColumn = createFactory(createClass({
return (
div({
- className: "requests-menu-subitem requests-menu-transferred",
+ className: "requests-list-subitem requests-list-transferred",
title: text,
},
span({ className }, text),
@@ -431,7 +431,7 @@ const ContentSizeColumn = createFactory(createClass({
return (
div({
- className: "requests-menu-subitem subitem-label requests-menu-size",
+ className: "requests-list-subitem subitem-label requests-list-size",
title: text,
},
span({ className: "subitem-label" }, text),
@@ -464,9 +464,9 @@ const WaterfallColumn = createFactory(createClass({
const { item, firstRequestStartedMillis } = this.props;
return (
- div({ className: "requests-menu-subitem requests-menu-waterfall" },
+ div({ className: "requests-list-subitem requests-list-waterfall" },
div({
- className: "requests-menu-timings",
+ className: "requests-list-timings",
style: {
paddingInlineStart: `${item.startedMillis - firstRequestStartedMillis}px`,
},
@@ -499,7 +499,7 @@ function timingBoxes(item) {
if (width > 0) {
boxes.push(div({
key,
- className: "requests-menu-timings-box " + key,
+ className: "requests-list-timings-box " + key,
style: { width }
}));
}
@@ -510,8 +510,8 @@ function timingBoxes(item) {
let text = L10N.getFormatStr("networkMenu.totalMS", totalTime);
boxes.push(div({
key: "total",
- className: "requests-menu-timings-total",
- title: text,
+ className: "requests-list-timings-total",
+ title: text
}, text));
}
diff --git a/devtools/client/netmonitor/components/toolbar.js b/devtools/client/netmonitor/components/toolbar.js
index cf5fc827bc66..71111b8ee369 100644
--- a/devtools/client/netmonitor/components/toolbar.js
+++ b/devtools/client/netmonitor/components/toolbar.js
@@ -96,12 +96,11 @@ const Toolbar = createClass({
.replace("#4", getFormattedTime(millis));
let buttons = requestFilterTypes.map(([type, checked]) => {
- let classList = ["devtools-button"];
+ let classList = ["devtools-button", `requests-list-filter-${type}-button`];
checked && classList.push("checked");
return (
button({
- id: `requests-menu-filter-${type}-button`,
className: classList.join(" "),
key: type,
onClick: this.toggleRequestFilterType,
@@ -118,17 +117,15 @@ const Toolbar = createClass({
span({ className: "devtools-toolbar devtools-toolbar-container" },
span({ className: "devtools-toolbar-group" },
button({
- id: "requests-menu-clear-button",
- className: "devtools-button devtools-clear-icon",
+ className: "devtools-button devtools-clear-icon requests-list-clear-button",
title: TOOLBAR_CLEAR,
onClick: clearRequests,
}),
- div({ id: "requests-menu-filter-buttons" }, buttons),
+ div({ id: "requests-list-filter-buttons" }, buttons),
),
span({ className: "devtools-toolbar-group" },
button({
- id: "requests-menu-network-summary-button",
- className: "devtools-button",
+ className: "devtools-button requests-list-network-summary-button",
title: count ? text : L10N.getStr("netmonitor.toolbar.perf"),
onClick: openStatistics,
},
diff --git a/devtools/client/netmonitor/request-list-context-menu.js b/devtools/client/netmonitor/request-list-context-menu.js
index 0bc0f742d217..a7762acce277 100644
--- a/devtools/client/netmonitor/request-list-context-menu.js
+++ b/devtools/client/netmonitor/request-list-context-menu.js
@@ -50,7 +50,7 @@ RequestListContextMenu.prototype = {
let menu = new Menu();
menu.append(new MenuItem({
- id: "request-menu-context-copy-url",
+ id: "request-list-context-copy-url",
label: L10N.getStr("netmonitor.context.copyUrl"),
accesskey: L10N.getStr("netmonitor.context.copyUrl.accesskey"),
visible: !!selectedRequest,
@@ -58,7 +58,7 @@ RequestListContextMenu.prototype = {
}));
menu.append(new MenuItem({
- id: "request-menu-context-copy-url-params",
+ id: "request-list-context-copy-url-params",
label: L10N.getStr("netmonitor.context.copyUrlParams"),
accesskey: L10N.getStr("netmonitor.context.copyUrlParams.accesskey"),
visible: !!(selectedRequest && getUrlQuery(selectedRequest.url)),
@@ -66,7 +66,7 @@ RequestListContextMenu.prototype = {
}));
menu.append(new MenuItem({
- id: "request-menu-context-copy-post-data",
+ id: "request-list-context-copy-post-data",
label: L10N.getStr("netmonitor.context.copyPostData"),
accesskey: L10N.getStr("netmonitor.context.copyPostData.accesskey"),
visible: !!(selectedRequest && selectedRequest.requestPostData),
@@ -74,7 +74,7 @@ RequestListContextMenu.prototype = {
}));
menu.append(new MenuItem({
- id: "request-menu-context-copy-as-curl",
+ id: "request-list-context-copy-as-curl",
label: L10N.getStr("netmonitor.context.copyAsCurl"),
accesskey: L10N.getStr("netmonitor.context.copyAsCurl.accesskey"),
visible: !!selectedRequest,
@@ -87,7 +87,7 @@ RequestListContextMenu.prototype = {
}));
menu.append(new MenuItem({
- id: "request-menu-context-copy-request-headers",
+ id: "request-list-context-copy-request-headers",
label: L10N.getStr("netmonitor.context.copyRequestHeaders"),
accesskey: L10N.getStr("netmonitor.context.copyRequestHeaders.accesskey"),
visible: !!(selectedRequest && selectedRequest.requestHeaders),
@@ -95,7 +95,7 @@ RequestListContextMenu.prototype = {
}));
menu.append(new MenuItem({
- id: "response-menu-context-copy-response-headers",
+ id: "response-list-context-copy-response-headers",
label: L10N.getStr("netmonitor.context.copyResponseHeaders"),
accesskey: L10N.getStr("netmonitor.context.copyResponseHeaders.accesskey"),
visible: !!(selectedRequest && selectedRequest.responseHeaders),
@@ -103,7 +103,7 @@ RequestListContextMenu.prototype = {
}));
menu.append(new MenuItem({
- id: "request-menu-context-copy-response",
+ id: "request-list-context-copy-response",
label: L10N.getStr("netmonitor.context.copyResponse"),
accesskey: L10N.getStr("netmonitor.context.copyResponse.accesskey"),
visible: !!(selectedRequest &&
@@ -114,7 +114,7 @@ RequestListContextMenu.prototype = {
}));
menu.append(new MenuItem({
- id: "request-menu-context-copy-image-as-data-uri",
+ id: "request-list-context-copy-image-as-data-uri",
label: L10N.getStr("netmonitor.context.copyImageAsDataUri"),
accesskey: L10N.getStr("netmonitor.context.copyImageAsDataUri.accesskey"),
visible: !!(selectedRequest &&
@@ -129,7 +129,7 @@ RequestListContextMenu.prototype = {
}));
menu.append(new MenuItem({
- id: "request-menu-context-copy-all-as-har",
+ id: "request-list-context-copy-all-as-har",
label: L10N.getStr("netmonitor.context.copyAllAsHar"),
accesskey: L10N.getStr("netmonitor.context.copyAllAsHar.accesskey"),
visible: this.sortedRequests.size > 0,
@@ -137,7 +137,7 @@ RequestListContextMenu.prototype = {
}));
menu.append(new MenuItem({
- id: "request-menu-context-save-all-as-har",
+ id: "request-list-context-save-all-as-har",
label: L10N.getStr("netmonitor.context.saveAllAsHar"),
accesskey: L10N.getStr("netmonitor.context.saveAllAsHar.accesskey"),
visible: this.sortedRequests.size > 0,
@@ -150,7 +150,7 @@ RequestListContextMenu.prototype = {
}));
menu.append(new MenuItem({
- id: "request-menu-context-resend",
+ id: "request-list-context-resend",
label: L10N.getStr("netmonitor.context.editAndResend"),
accesskey: L10N.getStr("netmonitor.context.editAndResend.accesskey"),
visible: !!(window.NetMonitorController.supportsCustomRequest &&
@@ -164,7 +164,7 @@ RequestListContextMenu.prototype = {
}));
menu.append(new MenuItem({
- id: "request-menu-context-newtab",
+ id: "request-list-context-newtab",
label: L10N.getStr("netmonitor.context.newTab"),
accesskey: L10N.getStr("netmonitor.context.newTab.accesskey"),
visible: !!selectedRequest,
@@ -172,7 +172,7 @@ RequestListContextMenu.prototype = {
}));
menu.append(new MenuItem({
- id: "request-menu-context-perf",
+ id: "request-list-context-perf",
label: L10N.getStr("netmonitor.context.perfTools"),
accesskey: L10N.getStr("netmonitor.context.perfTools.accesskey"),
visible: !!window.NetMonitorController.supportsPerfStats,
diff --git a/devtools/client/netmonitor/request-list-tooltip.js b/devtools/client/netmonitor/request-list-tooltip.js
index 9ebba990578d..1a6d1900f336 100644
--- a/devtools/client/netmonitor/request-list-tooltip.js
+++ b/devtools/client/netmonitor/request-list-tooltip.js
@@ -32,7 +32,7 @@ async function setTooltipImageContent(tooltip, itemEl, requestItem) {
let options = { maxDim, naturalWidth, naturalHeight };
setImageTooltip(tooltip, tooltip.doc, src, options);
- return itemEl.querySelector(".requests-menu-icon");
+ return itemEl.querySelector(".requests-list-icon");
}
async function setTooltipStackTraceContent(tooltip, requestItem) {
diff --git a/devtools/client/netmonitor/shared/components/headers-panel.js b/devtools/client/netmonitor/shared/components/headers-panel.js
index 1108ec227f20..7ab65b5461f4 100644
--- a/devtools/client/netmonitor/shared/components/headers-panel.js
+++ b/devtools/client/netmonitor/shared/components/headers-panel.js
@@ -178,7 +178,7 @@ const HeadersPanel = createClass({
className: "tabpanel-summary-label headers-summary-label",
}, SUMMARY_STATUS),
div({
- className: "requests-menu-status-icon",
+ className: "requests-list-status-icon",
"data-code": code,
}),
input({
diff --git a/devtools/client/netmonitor/shared/components/timings-panel.js b/devtools/client/netmonitor/shared/components/timings-panel.js
index 44b3e6d6197f..53d63eebac2f 100644
--- a/devtools/client/netmonitor/shared/components/timings-panel.js
+++ b/devtools/client/netmonitor/shared/components/timings-panel.js
@@ -40,20 +40,20 @@ function TimingsPanel({
span({ className: "tabpanel-summary-label timings-label" },
L10N.getStr(`netmonitor.timings.${type}`)
),
- div({ className: "requests-menu-timings-container" },
+ div({ className: "requests-list-timings-container" },
span({
- className: "requests-menu-timings-offset",
+ className: "requests-list-timings-offset",
style: {
width: `calc(${offsetScale} * (100% - ${TIMINGS_END_PADDING})`,
},
}),
span({
- className: `requests-menu-timings-box ${type}`,
+ className: `requests-list-timings-box ${type}`,
style: {
width: `calc(${timelineScale} * (100% - ${TIMINGS_END_PADDING}))`,
},
}),
- span({ className: "requests-menu-timings-total" },
+ span({ className: "requests-list-timings-total" },
L10N.getFormatStr("networkMenu.totalMS", timings[type])
)
),
diff --git a/devtools/client/netmonitor/test/browser_net_accessibility-02.js b/devtools/client/netmonitor/test/browser_net_accessibility-02.js
index 7e4523698259..1fa389e20d23 100644
--- a/devtools/client/netmonitor/test/browser_net_accessibility-02.js
+++ b/devtools/client/netmonitor/test/browser_net_accessibility-02.js
@@ -36,7 +36,7 @@ add_task(function* () {
});
yield wait;
- document.querySelector(".requests-menu-contents").focus();
+ document.querySelector(".requests-list-contents").focus();
check(-1, false);
diff --git a/devtools/client/netmonitor/test/browser_net_autoscroll.js b/devtools/client/netmonitor/test/browser_net_autoscroll.js
index c0bcf3d32e69..bdafc8aa4274 100644
--- a/devtools/client/netmonitor/test/browser_net_autoscroll.js
+++ b/devtools/client/netmonitor/test/browser_net_autoscroll.js
@@ -16,7 +16,7 @@ add_task(function* () {
// Wait until the first request makes the empty notice disappear
yield waitForRequestListToAppear();
- let requestsContainer = document.querySelector(".requests-menu-contents");
+ let requestsContainer = document.querySelector(".requests-list-contents");
ok(requestsContainer, "Container element exists as expected.");
// (1) Check that the scroll position is maintained at the bottom
@@ -57,7 +57,7 @@ add_task(function* () {
function waitForRequestListToAppear() {
info("Waiting until the empty notice disappears and is replaced with the list");
- return waitUntil(() => !!document.querySelector(".requests-menu-contents"));
+ return waitUntil(() => !!document.querySelector(".requests-list-contents"));
}
function* waitForRequestsToOverflowContainer() {
diff --git a/devtools/client/netmonitor/test/browser_net_cause.js b/devtools/client/netmonitor/test/browser_net_cause.js
index 756f6a7d223c..ea353925d728 100644
--- a/devtools/client/netmonitor/test/browser_net_cause.js
+++ b/devtools/client/netmonitor/test/browser_net_cause.js
@@ -145,7 +145,7 @@ add_task(function* () {
// Sort the requests by cause and check the order
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-cause-button"));
+ document.querySelector("#requests-list-cause-button"));
let expectedOrder = EXPECTED_REQUESTS.map(r => r.causeType).sort();
expectedOrder.forEach((expectedCause, i) => {
const cause = getSortedRequests(gStore.getState()).get(i).cause.type;
diff --git a/devtools/client/netmonitor/test/browser_net_clear.js b/devtools/client/netmonitor/test/browser_net_clear.js
index 11e5702d9502..15a38005928b 100644
--- a/devtools/client/netmonitor/test/browser_net_clear.js
+++ b/devtools/client/netmonitor/test/browser_net_clear.js
@@ -16,7 +16,7 @@ add_task(function* () {
let { EVENTS } = windowRequire("devtools/client/netmonitor/constants");
let detailsPane = document.querySelector("#details-pane");
let detailsPanelToggleButton = document.querySelector(".network-details-panel-toggle");
- let clearButton = document.querySelector("#requests-menu-clear-button");
+ let clearButton = document.querySelector(".requests-list-clear-button");
gStore.dispatch(Actions.batchEnable(false));
diff --git a/devtools/client/netmonitor/test/browser_net_copy_as_curl.js b/devtools/client/netmonitor/test/browser_net_copy_as_curl.js
index dd1ed13e6f45..1267d7e2f3f5 100644
--- a/devtools/client/netmonitor/test/browser_net_copy_as_curl.js
+++ b/devtools/client/netmonitor/test/browser_net_copy_as_curl.js
@@ -59,7 +59,7 @@ add_task(function* () {
// Context menu is appending in XUL document, we must select it from
// toolbox.doc
monitor.toolbox.doc
- .querySelector("#request-menu-context-copy-as-curl").click();
+ .querySelector("#request-list-context-copy-as-curl").click();
}, function validate(result) {
if (typeof result !== "string") {
return false;
diff --git a/devtools/client/netmonitor/test/browser_net_copy_headers.js b/devtools/client/netmonitor/test/browser_net_copy_headers.js
index 0fcf53efdd68..fb41c1728311 100644
--- a/devtools/client/netmonitor/test/browser_net_copy_headers.js
+++ b/devtools/client/netmonitor/test/browser_net_copy_headers.js
@@ -44,7 +44,7 @@ add_task(function* () {
// Context menu is appending in XUL document, we must select it from
// toolbox.doc
monitor.toolbox.doc
- .querySelector("#request-menu-context-copy-request-headers").click();
+ .querySelector("#request-list-context-copy-request-headers").click();
}, function validate(result) {
// Sometimes, a "Cookie" header is left over from other tests. Remove it:
result = String(result).replace(/Cookie: [^\n]+\n/, "");
@@ -69,7 +69,7 @@ add_task(function* () {
// Context menu is appending in XUL document, we must select it from
// _oolbox.doc
monitor.toolbox.doc
- .querySelector("#response-menu-context-copy-response-headers").click();
+ .querySelector("#response-list-context-copy-response-headers").click();
}, function validate(result) {
// Fake the "Last-Modified" and "Date" headers because they will vary:
result = String(result)
diff --git a/devtools/client/netmonitor/test/browser_net_copy_image_as_data_uri.js b/devtools/client/netmonitor/test/browser_net_copy_image_as_data_uri.js
index f1d2c042a446..6beb81aa3a1a 100644
--- a/devtools/client/netmonitor/test/browser_net_copy_image_as_data_uri.js
+++ b/devtools/client/netmonitor/test/browser_net_copy_image_as_data_uri.js
@@ -28,8 +28,8 @@ add_task(function* () {
// Context menu is appending in XUL document, we must select it from
// toolbox.doc
monitor.toolbox.doc
- .querySelector("#request-menu-context-copy-image-as-data-uri").click();
- }, TEST_IMAGE_DATA_URI);
+ .querySelector("#request-list-context-copy-image-as-data-uri").click();
+ }, TEST_IMAGE_DATA_URI);
ok(true, "Clipboard contains the currently selected image as data uri.");
diff --git a/devtools/client/netmonitor/test/browser_net_copy_params.js b/devtools/client/netmonitor/test/browser_net_copy_params.js
index 354177d13e7b..96a3fbada4dc 100644
--- a/devtools/client/netmonitor/test/browser_net_copy_params.js
+++ b/devtools/client/netmonitor/test/browser_net_copy_params.js
@@ -63,7 +63,7 @@ add_task(function* () {
EventUtils.sendMouseEvent({ type: "contextmenu" },
document.querySelectorAll(".request-list-item")[index]);
let copyUrlParamsNode = monitor.toolbox.doc
- .querySelector("#request-menu-context-copy-url-params");
+ .querySelector("#request-list-context-copy-url-params");
is(!!copyUrlParamsNode, !hidden,
"The \"Copy URL Parameters\" context menu item should" + (hidden ? " " : " not ") +
"be hidden.");
@@ -76,7 +76,7 @@ add_task(function* () {
document.querySelectorAll(".request-list-item")[index]);
yield waitForClipboardPromise(function setup() {
monitor.toolbox.doc
- .querySelector("#request-menu-context-copy-url-params").click();
+ .querySelector("#request-list-context-copy-url-params").click();
}, queryString);
ok(true, "The url query string copied from the selected item is correct.");
}
@@ -87,7 +87,7 @@ add_task(function* () {
EventUtils.sendMouseEvent({ type: "contextmenu" },
document.querySelectorAll(".request-list-item")[index]);
let copyPostDataNode = monitor.toolbox.doc
- .querySelector("#request-menu-context-copy-post-data");
+ .querySelector("#request-list-context-copy-post-data");
is(!!copyPostDataNode, !hidden,
"The \"Copy POST Data\" context menu item should" + (hidden ? " " : " not ") +
"be hidden.");
@@ -100,7 +100,7 @@ add_task(function* () {
document.querySelectorAll(".request-list-item")[index]);
yield waitForClipboardPromise(function setup() {
monitor.toolbox.doc
- .querySelector("#request-menu-context-copy-post-data").click();
+ .querySelector("#request-list-context-copy-post-data").click();
}, postData);
ok(true, "The post data string copied from the selected item is correct.");
}
diff --git a/devtools/client/netmonitor/test/browser_net_copy_response.js b/devtools/client/netmonitor/test/browser_net_copy_response.js
index 8ea68090f6b6..510b1653a9d7 100644
--- a/devtools/client/netmonitor/test/browser_net_copy_response.js
+++ b/devtools/client/netmonitor/test/browser_net_copy_response.js
@@ -30,7 +30,7 @@ add_task(function* () {
// Context menu is appending in XUL document, we must select it from
// toolbox.doc
monitor.toolbox.doc
- .querySelector("#request-menu-context-copy-response").click();
+ .querySelector("#request-list-context-copy-response").click();
}, EXPECTED_RESULT);
yield teardown(monitor);
diff --git a/devtools/client/netmonitor/test/browser_net_copy_svg_image_as_data_uri.js b/devtools/client/netmonitor/test/browser_net_copy_svg_image_as_data_uri.js
index e01355f95600..d0d3398ac533 100644
--- a/devtools/client/netmonitor/test/browser_net_copy_svg_image_as_data_uri.js
+++ b/devtools/client/netmonitor/test/browser_net_copy_svg_image_as_data_uri.js
@@ -30,7 +30,7 @@ add_task(function* () {
// Context menu is appending in XUL document, we must select it from
// toolbox.doc
monitor.toolbox.doc
- .querySelector("#request-menu-context-copy-image-as-data-uri").click();
+ .querySelector("#request-list-context-copy-image-as-data-uri").click();
}, function check(text) {
return text.startsWith("data:") && !/undefined/.test(text);
});
diff --git a/devtools/client/netmonitor/test/browser_net_copy_url.js b/devtools/client/netmonitor/test/browser_net_copy_url.js
index f8c8005b799b..e7ecacc3d45c 100644
--- a/devtools/client/netmonitor/test/browser_net_copy_url.js
+++ b/devtools/client/netmonitor/test/browser_net_copy_url.js
@@ -31,7 +31,7 @@ add_task(function* () {
// Context menu is appending in XUL document, we must select it from
// toolbox.doc
monitor.toolbox.doc
- .querySelector("#request-menu-context-copy-url").click();
+ .querySelector("#request-list-context-copy-url").click();
}, requestItem.url);
yield teardown(monitor);
diff --git a/devtools/client/netmonitor/test/browser_net_filter-01.js b/devtools/client/netmonitor/test/browser_net_filter-01.js
index 4f0b0ac2d4bc..53e77694d017 100644
--- a/devtools/client/netmonitor/test/browser_net_filter-01.js
+++ b/devtools/client/netmonitor/test/browser_net_filter-01.js
@@ -166,93 +166,94 @@ add_task(function* () {
testContents([1, 1, 1, 1, 1, 1, 1, 1, 1]);
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-html-button"));
+ document.querySelector(".requests-list-filter-html-button"));
testFilterButtons(monitor, "html");
testContents([1, 0, 0, 0, 0, 0, 0, 0, 0]);
// Reset filters
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-all-button"));
+ document.querySelector(".requests-list-filter-all-button"));
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-css-button"));
+ document.querySelector(".requests-list-filter-css-button"));
testFilterButtons(monitor, "css");
testContents([0, 1, 0, 0, 0, 0, 0, 0, 0]);
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-all-button"));
+ document.querySelector(".requests-list-filter-all-button"));
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-js-button"));
+ document.querySelector(".requests-list-filter-js-button"));
testFilterButtons(monitor, "js");
testContents([0, 0, 1, 0, 0, 0, 0, 0, 0]);
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-all-button"));
+ document.querySelector(".requests-list-filter-all-button"));
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-xhr-button"));
+ document.querySelector(".requests-list-filter-xhr-button"));
testFilterButtons(monitor, "xhr");
testContents([1, 1, 1, 1, 1, 1, 1, 1, 0]);
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-all-button"));
+ document.querySelector(".requests-list-filter-all-button"));
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-fonts-button"));
+ document.querySelector(".requests-list-filter-fonts-button"));
testFilterButtons(monitor, "fonts");
testContents([0, 0, 0, 1, 0, 0, 0, 0, 0]);
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-all-button"));
+ document.querySelector(".requests-list-filter-all-button"));
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-images-button"));
+ document.querySelector(".requests-list-filter-images-button"));
testFilterButtons(monitor, "images");
testContents([0, 0, 0, 0, 1, 0, 0, 0, 0]);
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-all-button"));
+ document.querySelector(".requests-list-filter-all-button"));
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-media-button"));
+ document.querySelector(".requests-list-filter-media-button"));
testFilterButtons(monitor, "media");
testContents([0, 0, 0, 0, 0, 1, 1, 0, 0]);
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-all-button"));
+ document.querySelector(".requests-list-filter-all-button"));
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-flash-button"));
+ document.querySelector(".requests-list-filter-flash-button"));
testFilterButtons(monitor, "flash");
testContents([0, 0, 0, 0, 0, 0, 0, 1, 0]);
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-all-button"));
+ document.querySelector(".requests-list-filter-all-button"));
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-ws-button"));
+ document.querySelector(".requests-list-filter-ws-button"));
testFilterButtons(monitor, "ws");
testContents([0, 0, 0, 0, 0, 0, 0, 0, 1]);
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-all-button"));
+ document.querySelector(".requests-list-filter-all-button"));
+
testFilterButtons(monitor, "all");
testContents([1, 1, 1, 1, 1, 1, 1, 1, 1]);
// Text in filter box that matches nothing should hide all.
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-all-button"));
+ document.querySelector(".requests-list-filter-all-button"));
setFreetextFilter("foobar");
testContents([0, 0, 0, 0, 0, 0, 0, 0, 0]);
// Text in filter box that matches should filter out everything else.
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-all-button"));
+ document.querySelector(".requests-list-filter-all-button"));
setFreetextFilter("sample");
testContents([1, 1, 1, 0, 0, 0, 0, 0, 0]);
// Text in filter box that matches should filter out everything else.
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-all-button"));
+ document.querySelector(".requests-list-filter-all-button"));
setFreetextFilter("SAMPLE");
testContents([1, 1, 1, 0, 0, 0, 0, 0, 0]);
// Test negative filtering (only show unmatched items)
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-all-button"));
+ document.querySelector(".requests-list-filter-all-button"));
setFreetextFilter("-sample");
testContents([0, 0, 0, 1, 1, 1, 1, 1, 1]);
@@ -261,9 +262,9 @@ add_task(function* () {
// Enable filtering for html and css; should show request of both type.
setFreetextFilter("");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-html-button"));
+ document.querySelector(".requests-list-filter-html-button"));
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-css-button"));
+ document.querySelector(".requests-list-filter-css-button"));
testFilterButtonsCustom(monitor, [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0]);
testContents([1, 1, 0, 0, 0, 0, 0, 0, 0]);
@@ -273,35 +274,35 @@ add_task(function* () {
testContents([1, 1, 0, 0, 0, 0, 0, 0, 0]);
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-flash-button"));
+ document.querySelector(".requests-list-filter-flash-button"));
setFreetextFilter("");
testFilterButtonsCustom(monitor, [0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0]);
testContents([1, 1, 0, 0, 0, 0, 0, 1, 0]);
// Disable some filters. Only one left active.
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-css-button"));
+ document.querySelector(".requests-list-filter-css-button"));
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-flash-button"));
+ document.querySelector(".requests-list-filter-flash-button"));
testFilterButtons(monitor, "html");
testContents([1, 0, 0, 0, 0, 0, 0, 0, 0]);
// Disable last active filter. Should toggle to all.
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-html-button"));
+ document.querySelector(".requests-list-filter-html-button"));
testFilterButtons(monitor, "all");
testContents([1, 1, 1, 1, 1, 1, 1, 1, 1]);
// Enable few filters and click on all. Only "all" should be checked.
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-html-button"));
+ document.querySelector(".requests-list-filter-html-button"));
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-css-button"));
+ document.querySelector(".requests-list-filter-css-button"));
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-ws-button"));
+ document.querySelector(".requests-list-filter-ws-button"));
testFilterButtonsCustom(monitor, [0, 1, 1, 0, 0, 0, 0, 0, 0, 1]);
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-all-button"));
+ document.querySelector(".requests-list-filter-all-button"));
testFilterButtons(monitor, "all");
testContents([1, 1, 1, 1, 1, 1, 1, 1, 1]);
diff --git a/devtools/client/netmonitor/test/browser_net_filter-02.js b/devtools/client/netmonitor/test/browser_net_filter-02.js
index 4b3cdf92ab4b..39e466960964 100644
--- a/devtools/client/netmonitor/test/browser_net_filter-02.js
+++ b/devtools/client/netmonitor/test/browser_net_filter-02.js
@@ -166,7 +166,7 @@ add_task(function* () {
info("Testing html filtering.");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-html-button"));
+ document.querySelector(".requests-list-filter-html-button"));
testFilterButtons(monitor, "html");
testContents([1, 0, 0, 0, 0, 0, 0, 0, 0]);
@@ -191,7 +191,7 @@ add_task(function* () {
info("Resetting filters.");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-all-button"));
+ document.querySelector(".requests-list-filter-all-button"));
testFilterButtons(monitor, "all");
testContents([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]);
diff --git a/devtools/client/netmonitor/test/browser_net_filter-03.js b/devtools/client/netmonitor/test/browser_net_filter-03.js
index 3421450bc3b6..e445afb9d4a1 100644
--- a/devtools/client/netmonitor/test/browser_net_filter-03.js
+++ b/devtools/client/netmonitor/test/browser_net_filter-03.js
@@ -64,13 +64,13 @@ add_task(function* () {
info("Sorting by size, ascending.");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-size-button"));
+ document.querySelector("#requests-list-size-button"));
testFilterButtons(monitor, "all");
testContents([6, 4, 5, 0, 1, 2, 3], 7, 6);
info("Testing html filtering.");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-html-button"));
+ document.querySelector(".requests-list-filter-html-button"));
testFilterButtons(monitor, "html");
testContents([6, 4, 5, 0, 1, 2, 3], 1, 6);
@@ -98,9 +98,9 @@ add_task(function* () {
function resetSorting() {
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-waterfall-button"));
+ document.querySelector("#requests-list-waterfall-button"));
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-size-button"));
+ document.querySelector("#requests-list-size-button"));
}
function getSelectedIndex(state) {
diff --git a/devtools/client/netmonitor/test/browser_net_footer-summary.js b/devtools/client/netmonitor/test/browser_net_footer-summary.js
index 7eaada4c2943..852c2f0a3392 100644
--- a/devtools/client/netmonitor/test/browser_net_footer-summary.js
+++ b/devtools/client/netmonitor/test/browser_net_footer-summary.js
@@ -40,7 +40,7 @@ add_task(function* () {
let buttons = ["html", "css", "js", "xhr", "fonts", "images", "media", "flash"];
for (let button of buttons) {
- let buttonEl = document.querySelector(`#requests-menu-filter-${button}-button`);
+ let buttonEl = document.querySelector(`.requests-list-filter-${button}-button`);
EventUtils.sendMouseEvent({ type: "click" }, buttonEl);
testStatus();
}
@@ -49,8 +49,8 @@ add_task(function* () {
yield teardown(monitor);
function testStatus() {
- let value = document.querySelector("#requests-menu-network-summary-button").textContent;
- info("Current summary: " + value);
+ let value = document.querySelector(".requests-list-network-summary-button").textContent;
+ info("Current summary: " + value);
let state = gStore.getState();
let totalRequestsCount = state.requests.requests.size;
diff --git a/devtools/client/netmonitor/test/browser_net_icon-preview.js b/devtools/client/netmonitor/test/browser_net_icon-preview.js
index f9b2d13dc38f..ac872f2f63ab 100644
--- a/devtools/client/netmonitor/test/browser_net_icon-preview.js
+++ b/devtools/client/netmonitor/test/browser_net_icon-preview.js
@@ -62,11 +62,11 @@ add_task(function* () {
}
function checkImageThumbnail() {
- is(document.querySelectorAll(".requests-menu-icon[data-type=thumbnail]").length, 1,
+ is(document.querySelectorAll(".requests-list-icon[data-type=thumbnail]").length, 1,
"There should be only one image request with a thumbnail displayed.");
- is(document.querySelector(".requests-menu-icon[data-type=thumbnail]").src, TEST_IMAGE_DATA_URI,
- "The image requests-menu-icon thumbnail is displayed correctly.");
- is(document.querySelector(".requests-menu-icon[data-type=thumbnail]").hidden, false,
- "The image requests-menu-icon thumbnail should not be hidden.");
+ is(document.querySelector(".requests-list-icon[data-type=thumbnail]").src, TEST_IMAGE_DATA_URI,
+ "The image requests-list-icon thumbnail is displayed correctly.");
+ is(document.querySelector(".requests-list-icon[data-type=thumbnail]").hidden, false,
+ "The image requests-list-icon thumbnail should not be hidden.");
}
});
diff --git a/devtools/client/netmonitor/test/browser_net_image-tooltip.js b/devtools/client/netmonitor/test/browser_net_image-tooltip.js
index 56604e57d659..43c031e37bd1 100644
--- a/devtools/client/netmonitor/test/browser_net_image-tooltip.js
+++ b/devtools/client/netmonitor/test/browser_net_image-tooltip.js
@@ -55,7 +55,7 @@ add_task(function* test() {
document.querySelectorAll(".request-list-item")[1]);
info("Checking if the image thumbnail is hidden when mouse leaves the menu widget");
- let requestsListContents = document.querySelector(".requests-menu-contents");
+ let requestsListContents = document.querySelector(".requests-list-contents");
EventUtils.synthesizeMouse(requestsListContents, 0, 0, { type: "mouseout" }, monitor.panelWin);
yield waitUntil(() => !toolboxDoc.querySelector(".tooltip-container.tooltip-visible"));
@@ -72,7 +72,7 @@ add_task(function* test() {
* with the expected content.
*/
function* showTooltipAndVerify(toolboxDoc, target) {
- let anchor = target.querySelector(".requests-menu-file");
+ let anchor = target.querySelector(".requests-list-file");
yield showTooltipOn(toolboxDoc, anchor);
info("Tooltip was successfully opened for the image request.");
@@ -95,7 +95,7 @@ add_task(function* test() {
*/
function* hideTooltipAndVerify(toolboxDoc, target) {
// Hovering over the "method" column hides the tooltip.
- let anchor = target.querySelector(".requests-menu-method");
+ let anchor = target.querySelector(".requests-list-method");
let win = anchor.ownerDocument.defaultView;
EventUtils.synthesizeMouseAtCenter(anchor, { type: "mousemove" }, win);
diff --git a/devtools/client/netmonitor/test/browser_net_open_request_in_tab.js b/devtools/client/netmonitor/test/browser_net_open_request_in_tab.js
index e3d5ba4d5632..842efb7df23a 100644
--- a/devtools/client/netmonitor/test/browser_net_open_request_in_tab.js
+++ b/devtools/client/netmonitor/test/browser_net_open_request_in_tab.js
@@ -35,7 +35,7 @@ add_task(function* () {
// Context menu is appending in XUL document, we must select it from
// toolbox.doc
monitor.toolbox.doc
- .querySelector("#request-menu-context-newtab").click();
+ .querySelector("#request-list-context-newtab").click();
yield onTabOpen;
ok(true, "A new tab has been opened");
diff --git a/devtools/client/netmonitor/test/browser_net_reload-button.js b/devtools/client/netmonitor/test/browser_net_reload-button.js
index b42bb42021c1..b8f910f113ff 100644
--- a/devtools/client/netmonitor/test/browser_net_reload-button.js
+++ b/devtools/client/netmonitor/test/browser_net_reload-button.js
@@ -15,7 +15,7 @@ add_task(function* () {
let wait = waitForNetworkEvents(monitor, 1);
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-reload-notice-button"));
+ document.querySelector(".requests-list-reload-notice-button"));
yield wait;
is(document.querySelectorAll(".request-list-item").length, 1,
diff --git a/devtools/client/netmonitor/test/browser_net_reload-markers.js b/devtools/client/netmonitor/test/browser_net_reload-markers.js
index 0c6efa53d513..1a7953b9cb01 100644
--- a/devtools/client/netmonitor/test/browser_net_reload-markers.js
+++ b/devtools/client/netmonitor/test/browser_net_reload-markers.js
@@ -12,8 +12,7 @@ add_task(function* () {
info("Starting test... ");
let { document, windowRequire } = monitor.panelWin;
- let { EVENTS } = windowRequire("devtools/client/netmonitor/constants");
- let button = document.querySelector("#requests-menu-reload-notice-button");
+ let button = document.querySelector(".requests-list-reload-notice-button");
button.click();
let markers = [];
diff --git a/devtools/client/netmonitor/test/browser_net_security-icon-click.js b/devtools/client/netmonitor/test/browser_net_security-icon-click.js
index 15211324c28a..5464e1499e1a 100644
--- a/devtools/client/netmonitor/test/browser_net_security-icon-click.js
+++ b/devtools/client/netmonitor/test/browser_net_security-icon-click.js
@@ -32,7 +32,7 @@ add_task(function* () {
info("Sorting the items by filename.");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-file-button"));
+ document.querySelector("#requests-list-file-button"));
info("Testing that security icon can be clicked after the items were sorted.");
diff --git a/devtools/client/netmonitor/test/browser_net_security-state.js b/devtools/client/netmonitor/test/browser_net_security-state.js
index 27476e2d5449..2d937cf25b72 100644
--- a/devtools/client/netmonitor/test/browser_net_security-state.js
+++ b/devtools/client/netmonitor/test/browser_net_security-state.js
@@ -29,8 +29,8 @@ add_task(function* () {
yield performRequests();
for (let subitemNode of Array.from(document.querySelectorAll(
- "requests-menu-subitem.requests-menu-security-and-domain"))) {
- let domain = subitemNode.querySelector(".requests-menu-domain").textContent;
+ "requests-list-subitem.requests-list-security-and-domain"))) {
+ let domain = subitemNode.querySelector(".requests-list-domain").textContent;
info("Found a request to " + domain);
ok(domain in EXPECTED_SECURITY_STATES, "Domain " + domain + " was expected.");
diff --git a/devtools/client/netmonitor/test/browser_net_simple-request-details.js b/devtools/client/netmonitor/test/browser_net_simple-request-details.js
index bdc40585e70b..43d119111096 100644
--- a/devtools/client/netmonitor/test/browser_net_simple-request-details.js
+++ b/devtools/client/netmonitor/test/browser_net_simple-request-details.js
@@ -245,27 +245,27 @@ add_task(function* () {
is(tabEl.getAttribute("selected"), "true",
"The timings tab in the network details pane should be selected.");
- ok(tabpanel.querySelector("#timings-summary-blocked .requests-menu-timings-total")
+ ok(tabpanel.querySelector("#timings-summary-blocked .requests-list-timings-total")
.getAttribute("value").match(/[0-9]+/),
"The blocked timing info does not appear to be correct.");
- ok(tabpanel.querySelector("#timings-summary-dns .requests-menu-timings-total")
+ ok(tabpanel.querySelector("#timings-summary-dns .requests-list-timings-total")
.getAttribute("value").match(/[0-9]+/),
"The dns timing info does not appear to be correct.");
- ok(tabpanel.querySelector("#timings-summary-connect .requests-menu-timings-total")
+ ok(tabpanel.querySelector("#timings-summary-connect .requests-list-timings-total")
.getAttribute("value").match(/[0-9]+/),
"The connect timing info does not appear to be correct.");
- ok(tabpanel.querySelector("#timings-summary-send .requests-menu-timings-total")
+ ok(tabpanel.querySelector("#timings-summary-send .requests-list-timings-total")
.getAttribute("value").match(/[0-9]+/),
"The send timing info does not appear to be correct.");
- ok(tabpanel.querySelector("#timings-summary-wait .requests-menu-timings-total")
+ ok(tabpanel.querySelector("#timings-summary-wait .requests-list-timings-total")
.getAttribute("value").match(/[0-9]+/),
"The wait timing info does not appear to be correct.");
- ok(tabpanel.querySelector("#timings-summary-receive .requests-menu-timings-total")
+ ok(tabpanel.querySelector("#timings-summary-receive .requests-list-timings-total")
.getAttribute("value").match(/[0-9]+/),
"The receive timing info does not appear to be correct.");
}
diff --git a/devtools/client/netmonitor/test/browser_net_simple-request.js b/devtools/client/netmonitor/test/browser_net_simple-request.js
index f7051c16ddee..b43a9e9d7495 100644
--- a/devtools/client/netmonitor/test/browser_net_simple-request.js
+++ b/devtools/client/netmonitor/test/browser_net_simple-request.js
@@ -29,7 +29,7 @@ add_task(function* () {
is(document.querySelector(".network-details-panel-toggle").hasAttribute("disabled"),
true,
"The pane toggle button should be disabled when the frontend is opened.");
- ok(document.querySelector("#requests-menu-empty-notice"),
+ ok(document.querySelector(".requests-list-empty-notice"),
"An empty notice should be displayed when the frontend is opened.");
is(gStore.getState().requests.requests.size, 0,
"The requests menu should be empty when the frontend is opened.");
@@ -41,7 +41,7 @@ add_task(function* () {
is(document.querySelector(".network-details-panel-toggle").hasAttribute("disabled"),
false,
"The pane toggle button should be enabled after the first request.");
- ok(!document.querySelector("#requests-menu-empty-notice"),
+ ok(!document.querySelector(".requests-list-empty-notice"),
"The empty notice should be hidden after the first request.");
is(gStore.getState().requests.requests.size, 1,
"The requests menu should not be empty after the first request.");
@@ -53,7 +53,7 @@ add_task(function* () {
is(document.querySelector(".network-details-panel-toggle").hasAttribute("disabled"),
false,
"The pane toggle button should be still be enabled after a reload.");
- ok(!document.querySelector("#requests-menu-empty-notice"),
+ ok(!document.querySelector(".requests-list-empty-notice"),
"The empty notice should be still hidden after a reload.");
is(gStore.getState().requests.requests.size, 1,
"The requests menu should not be empty after a reload.");
@@ -65,7 +65,7 @@ add_task(function* () {
is(document.querySelector(".network-details-panel-toggle").hasAttribute("disabled"),
true,
"The pane toggle button should be disabled when after clear.");
- ok(document.querySelector("#requests-menu-empty-notice"),
+ ok(document.querySelector(".requests-list-empty-notice"),
"An empty notice should be displayed again after clear.");
is(gStore.getState().requests.requests.size, 0,
"The requests menu should be empty after clear.");
diff --git a/devtools/client/netmonitor/test/browser_net_sort-01.js b/devtools/client/netmonitor/test/browser_net_sort-01.js
index 657347af8dda..ab746055ebb6 100644
--- a/devtools/client/netmonitor/test/browser_net_sort-01.js
+++ b/devtools/client/netmonitor/test/browser_net_sort-01.js
@@ -66,7 +66,7 @@ add_task(function* () {
info("Testing status sort, ascending.");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-status-button"));
+ document.querySelector("#requests-list-status-button"));
testHeaders("status", "ascending");
testContents([0, 1, 2, 3, 4], 0);
@@ -81,7 +81,7 @@ add_task(function* () {
info("Testing status sort, descending.");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-status-button"));
+ document.querySelector("#requests-list-status-button"));
testHeaders("status", "descending");
testContents([9, 8, 7, 6, 5, 4, 3, 2, 1, 0], 9);
@@ -96,13 +96,13 @@ add_task(function* () {
info("Testing status sort yet again, ascending.");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-status-button"));
+ document.querySelector("#requests-list-status-button"));
testHeaders("status", "ascending");
testContents([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], 0);
info("Testing status sort yet again, descending.");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-status-button"));
+ document.querySelector("#requests-list-status-button"));
testHeaders("status", "descending");
testContents([14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0], 14);
@@ -110,8 +110,8 @@ add_task(function* () {
function testHeaders(sortType, direction) {
let doc = monitor.panelWin.document;
- let target = doc.querySelector("#requests-menu-" + sortType + "-button");
- let headers = doc.querySelectorAll(".requests-menu-header-button");
+ let target = doc.querySelector("#requests-list-" + sortType + "-button");
+ let headers = doc.querySelectorAll(".requests-list-header-button");
for (let header of headers) {
if (header != target) {
diff --git a/devtools/client/netmonitor/test/browser_net_sort-02.js b/devtools/client/netmonitor/test/browser_net_sort-02.js
index 3cc2abd46042..83f98b35ee21 100644
--- a/devtools/client/netmonitor/test/browser_net_sort-02.js
+++ b/devtools/client/netmonitor/test/browser_net_sort-02.js
@@ -66,127 +66,127 @@ add_task(function* () {
info("Testing status sort, ascending.");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-status-button"));
+ document.querySelector("#requests-list-status-button"));
testHeaders("status", "ascending");
testContents([0, 1, 2, 3, 4]);
info("Testing status sort, descending.");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-status-button"));
+ document.querySelector("#requests-list-status-button"));
testHeaders("status", "descending");
testContents([4, 3, 2, 1, 0]);
info("Testing status sort, ascending. Checking sort loops correctly.");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-status-button"));
+ document.querySelector("#requests-list-status-button"));
testHeaders("status", "ascending");
testContents([0, 1, 2, 3, 4]);
info("Testing method sort, ascending.");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-method-button"));
+ document.querySelector("#requests-list-method-button"));
testHeaders("method", "ascending");
testContents([0, 1, 2, 3, 4]);
info("Testing method sort, descending.");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-method-button"));
+ document.querySelector("#requests-list-method-button"));
testHeaders("method", "descending");
testContents([4, 3, 2, 1, 0]);
info("Testing method sort, ascending. Checking sort loops correctly.");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-method-button"));
+ document.querySelector("#requests-list-method-button"));
testHeaders("method", "ascending");
testContents([0, 1, 2, 3, 4]);
info("Testing file sort, ascending.");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-file-button"));
+ document.querySelector("#requests-list-file-button"));
testHeaders("file", "ascending");
testContents([0, 1, 2, 3, 4]);
info("Testing file sort, descending.");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-file-button"));
+ document.querySelector("#requests-list-file-button"));
testHeaders("file", "descending");
testContents([4, 3, 2, 1, 0]);
info("Testing file sort, ascending. Checking sort loops correctly.");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-file-button"));
+ document.querySelector("#requests-list-file-button"));
testHeaders("file", "ascending");
testContents([0, 1, 2, 3, 4]);
info("Testing type sort, ascending.");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-type-button"));
+ document.querySelector("#requests-list-type-button"));
testHeaders("type", "ascending");
testContents([0, 1, 2, 3, 4]);
info("Testing type sort, descending.");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-type-button"));
+ document.querySelector("#requests-list-type-button"));
testHeaders("type", "descending");
testContents([4, 3, 2, 1, 0]);
info("Testing type sort, ascending. Checking sort loops correctly.");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-type-button"));
+ document.querySelector("#requests-list-type-button"));
testHeaders("type", "ascending");
testContents([0, 1, 2, 3, 4]);
info("Testing transferred sort, ascending.");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-transferred-button"));
+ document.querySelector("#requests-list-transferred-button"));
testHeaders("transferred", "ascending");
testContents([0, 1, 2, 3, 4]);
info("Testing transferred sort, descending.");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-transferred-button"));
+ document.querySelector("#requests-list-transferred-button"));
testHeaders("transferred", "descending");
testContents([4, 3, 2, 1, 0]);
info("Testing transferred sort, ascending. Checking sort loops correctly.");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-transferred-button"));
+ document.querySelector("#requests-list-transferred-button"));
testHeaders("transferred", "ascending");
testContents([0, 1, 2, 3, 4]);
info("Testing size sort, ascending.");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-size-button"));
+ document.querySelector("#requests-list-size-button"));
testHeaders("size", "ascending");
testContents([0, 1, 2, 3, 4]);
info("Testing size sort, descending.");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-size-button"));
+ document.querySelector("#requests-list-size-button"));
testHeaders("size", "descending");
testContents([4, 3, 2, 1, 0]);
info("Testing size sort, ascending. Checking sort loops correctly.");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-size-button"));
+ document.querySelector("#requests-list-size-button"));
testHeaders("size", "ascending");
testContents([0, 1, 2, 3, 4]);
info("Testing waterfall sort, ascending.");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-waterfall-button"));
+ document.querySelector("#requests-list-waterfall-button"));
testHeaders("waterfall", "ascending");
testContents([0, 2, 4, 3, 1]);
info("Testing waterfall sort, descending.");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-waterfall-button"));
+ document.querySelector("#requests-list-waterfall-button"));
testHeaders("waterfall", "descending");
testContents([4, 2, 0, 1, 3]);
info("Testing waterfall sort, ascending. Checking sort loops correctly.");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-waterfall-button"));
+ document.querySelector("#requests-list-waterfall-button"));
testHeaders("waterfall", "ascending");
testContents([0, 2, 4, 3, 1]);
@@ -201,8 +201,8 @@ add_task(function* () {
function testHeaders(sortType, direction) {
let doc = monitor.panelWin.document;
- let target = doc.querySelector("#requests-menu-" + sortType + "-button");
- let headers = doc.querySelectorAll(".requests-menu-header-button");
+ let target = doc.querySelector("#requests-list-" + sortType + "-button");
+ let headers = doc.querySelectorAll(".requests-list-header-button");
for (let header of headers) {
if (header != target) {
diff --git a/devtools/client/netmonitor/test/browser_net_statistics-02.js b/devtools/client/netmonitor/test/browser_net_statistics-02.js
index 10a3988e9a45..65d1e8b06a74 100644
--- a/devtools/client/netmonitor/test/browser_net_statistics-02.js
+++ b/devtools/client/netmonitor/test/browser_net_statistics-02.js
@@ -17,15 +17,15 @@ add_task(function* () {
let Actions = windowRequire("devtools/client/netmonitor/actions/index");
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-html-button"));
+ document.querySelector(".requests-list-filter-html-button"));
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-css-button"));
+ document.querySelector(".requests-list-filter-css-button"));
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-js-button"));
+ document.querySelector(".requests-list-filter-js-button"));
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-ws-button"));
+ document.querySelector(".requests-list-filter-ws-button"));
EventUtils.sendMouseEvent({ type: "click" },
- document.querySelector("#requests-menu-filter-other-button"));
+ document.querySelector(".requests-list-filter-other-button"));
testFilterButtonsCustom(monitor, [0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1]);
info("The correct filtering predicates are used before entering perf. analysis mode.");
diff --git a/devtools/client/netmonitor/test/browser_net_status-codes.js b/devtools/client/netmonitor/test/browser_net_status-codes.js
index aca5119e7be8..088e69337de3 100644
--- a/devtools/client/netmonitor/test/browser_net_status-codes.js
+++ b/devtools/client/netmonitor/test/browser_net_status-codes.js
@@ -165,7 +165,7 @@ add_task(function* () {
is(summaryValues[0].value, uri, "The url summary value is incorrect.");
is(summaryValues[1].value, method, "The method summary value is incorrect.");
- is(panel.querySelector(".requests-menu-status-icon").dataset.code, status,
+ is(panel.querySelector(".requests-list-status-icon").dataset.code, status,
"The status summary code is incorrect.");
is(summaryValues[3].value, status + " " + statusText,
"The status summary value is incorrect.");
diff --git a/devtools/client/netmonitor/test/browser_net_timeline_ticks.js b/devtools/client/netmonitor/test/browser_net_timeline_ticks.js
index 14bfd046e87e..7a15bf9e765f 100644
--- a/devtools/client/netmonitor/test/browser_net_timeline_ticks.js
+++ b/devtools/client/netmonitor/test/browser_net_timeline_ticks.js
@@ -19,14 +19,14 @@ add_task(function* () {
// Disable transferred size column support for this test.
// Without this, the waterfall only has enough room for one division, which
// would remove most of the value of this test.
- // $("#requests-menu-transferred-header-box").hidden = true;
- // $("#requests-menu-item-template .requests-menu-transferred").hidden = true;
+ // $("#requests-list-transferred-header-box").hidden = true;
+ // $("#requests-list-item-template .requests-list-transferred").hidden = true;
RequestsMenu.lazyUpdate = false;
- ok($("#requests-menu-waterfall-label"),
+ ok($("#requests-list-waterfall-label"),
"An timeline label should be displayed when the frontend is opened.");
- ok($all(".requests-menu-timings-division").length == 0,
+ ok($all(".requests-list-timings-division").length == 0,
"No tick labels should be displayed when the frontend is opened.");
ok(!RequestsMenu._canvas, "No canvas should be created when the frontend is opened.");
@@ -41,12 +41,12 @@ add_task(function* () {
NetMonitorController.NetworkEventsHandler.clearMarkers();
RequestsMenu._flushWaterfallViews(true);
- ok(!$("#requests-menu-waterfall-label"),
+ ok(!$("#requests-list-waterfall-label"),
"The timeline label should be hidden after the first request.");
- ok($all(".requests-menu-timings-division").length >= 3,
+ ok($all(".requests-list-timings-division").length >= 3,
"There should be at least 3 tick labels in the network requests header.");
- let timingDivisionEls = $all(".requests-menu-timings-division");
+ let timingDivisionEls = $all(".requests-list-timings-division");
is(timingDivisionEls[0].textContent, L10N.getFormatStr("networkMenu.millisecond", 0),
"The first tick label has correct value");
is(timingDivisionEls[1].textContent, L10N.getFormatStr("networkMenu.millisecond", 80),
diff --git a/devtools/client/netmonitor/test/browser_net_timing-division.js b/devtools/client/netmonitor/test/browser_net_timing-division.js
index 1d9cf182e912..d6b174ba4e66 100644
--- a/devtools/client/netmonitor/test/browser_net_timing-division.js
+++ b/devtools/client/netmonitor/test/browser_net_timing-division.js
@@ -25,11 +25,11 @@ add_task(function* () {
yield wait;
let milDivs = document.querySelectorAll(
- ".requests-menu-timings-division[data-division-scale=millisecond]");
+ ".requests-list-timings-division[data-division-scale=millisecond]");
let secDivs = document.querySelectorAll(
- ".requests-menu-timings-division[data-division-scale=second]");
+ ".requests-list-timings-division[data-division-scale=second]");
let minDivs = document.querySelectorAll(
- ".requests-menu-timings-division[data-division-scale=minute]");
+ ".requests-list-timings-division[data-division-scale=minute]");
info("Number of millisecond divisions: " + milDivs.length);
info("Number of second divisions: " + secDivs.length);
diff --git a/devtools/client/netmonitor/test/components/filter-buttons.test.js b/devtools/client/netmonitor/test/components/filter-buttons.test.js
index 557b3c9afeac..65081ffeb75c 100644
--- a/devtools/client/netmonitor/test/components/filter-buttons.test.js
+++ b/devtools/client/netmonitor/test/components/filter-buttons.test.js
@@ -94,8 +94,8 @@ function asExpected(wrapper, expectTypes, description) {
let className = expectTypes[type] ?
"devtools-button checked" : "devtools-button";
it(`'${type}' button is ${checked} ${description}`, () => {
- expect(wrapper.find(`#requests-menu-filter-${type}-button`).html())
- .toBe(``);
});
}
diff --git a/devtools/client/netmonitor/test/head.js b/devtools/client/netmonitor/test/head.js
index 29a75bb32fba..13585517ca28 100644
--- a/devtools/client/netmonitor/test/head.js
+++ b/devtools/client/netmonitor/test/head.js
@@ -275,32 +275,32 @@ function verifyRequestItemTarget(document, requestList, requestItem, aMethod,
is(requestItem.url, aUrl, "The attached url is correct.");
}
- is(target.querySelector(".requests-menu-method").textContent,
+ is(target.querySelector(".requests-list-method").textContent,
aMethod, "The displayed method is correct.");
if (fuzzyUrl) {
- ok(target.querySelector(".requests-menu-file").textContent.startsWith(
+ ok(target.querySelector(".requests-list-file").textContent.startsWith(
name + (query ? "?" + query : "")), "The displayed file is correct.");
- ok(target.querySelector(".requests-menu-file").getAttribute("title").startsWith(unicodeUrl),
+ ok(target.querySelector(".requests-list-file").getAttribute("title").startsWith(unicodeUrl),
"The tooltip file is correct.");
} else {
- is(target.querySelector(".requests-menu-file").textContent,
+ is(target.querySelector(".requests-list-file").textContent,
name + (query ? "?" + query : ""), "The displayed file is correct.");
- is(target.querySelector(".requests-menu-file").getAttribute("title"),
+ is(target.querySelector(".requests-list-file").getAttribute("title"),
unicodeUrl, "The tooltip file is correct.");
}
- is(target.querySelector(".requests-menu-domain").textContent,
+ is(target.querySelector(".requests-list-domain").textContent,
hostPort, "The displayed domain is correct.");
let domainTooltip = hostPort + (remoteAddress ? " (" + remoteAddress + ")" : "");
- is(target.querySelector(".requests-menu-domain").getAttribute("title"),
+ is(target.querySelector(".requests-list-domain").getAttribute("title"),
domainTooltip, "The tooltip domain is correct.");
if (status !== undefined) {
- let value = target.querySelector(".requests-menu-status-icon").getAttribute("data-code");
- let codeValue = target.querySelector(".requests-menu-status-code").textContent;
- let tooltip = target.querySelector(".requests-menu-status").getAttribute("title");
+ let value = target.querySelector(".requests-list-status-icon").getAttribute("data-code");
+ let codeValue = target.querySelector(".requests-list-status-code").textContent;
+ let tooltip = target.querySelector(".requests-list-status").getAttribute("title");
info("Displayed status: " + value);
info("Displayed code: " + codeValue);
info("Tooltip status: " + tooltip);
@@ -309,40 +309,40 @@ function verifyRequestItemTarget(document, requestList, requestItem, aMethod,
is(tooltip, status + " " + statusText, "The tooltip status is correct.");
}
if (cause !== undefined) {
- let value = target.querySelector(".requests-menu-cause > .subitem-label").textContent;
- let tooltip = target.querySelector(".requests-menu-cause").getAttribute("title");
+ let value = target.querySelector(".requests-list-cause > .subitem-label").textContent;
+ let tooltip = target.querySelector(".requests-list-cause").getAttribute("title");
info("Displayed cause: " + value);
info("Tooltip cause: " + tooltip);
is(value, cause.type, "The displayed cause is correct.");
is(tooltip, cause.loadingDocumentUri, "The tooltip cause is correct.")
}
if (type !== undefined) {
- let value = target.querySelector(".requests-menu-type").textContent;
- let tooltip = target.querySelector(".requests-menu-type").getAttribute("title");
+ let value = target.querySelector(".requests-list-type").textContent;
+ let tooltip = target.querySelector(".requests-list-type").getAttribute("title");
info("Displayed type: " + value);
info("Tooltip type: " + tooltip);
is(value, type, "The displayed type is correct.");
is(tooltip, fullMimeType, "The tooltip type is correct.");
}
if (transferred !== undefined) {
- let value = target.querySelector(".requests-menu-transferred").textContent;
- let tooltip = target.querySelector(".requests-menu-transferred").getAttribute("title");
+ let value = target.querySelector(".requests-list-transferred").textContent;
+ let tooltip = target.querySelector(".requests-list-transferred").getAttribute("title");
info("Displayed transferred size: " + value);
info("Tooltip transferred size: " + tooltip);
is(value, transferred, "The displayed transferred size is correct.");
is(tooltip, transferred, "The tooltip transferred size is correct.");
}
if (size !== undefined) {
- let value = target.querySelector(".requests-menu-size").textContent;
- let tooltip = target.querySelector(".requests-menu-size").getAttribute("title");
+ let value = target.querySelector(".requests-list-size").textContent;
+ let tooltip = target.querySelector(".requests-list-size").getAttribute("title");
info("Displayed size: " + value);
info("Tooltip size: " + tooltip);
is(value, size, "The displayed size is correct.");
is(tooltip, size, "The tooltip size is correct.");
}
if (time !== undefined) {
- let value = target.querySelector(".requests-menu-timings-total").textContent;
- let tooltip = target.querySelector(".requests-menu-timings-total").getAttribute("title");
+ let value = target.querySelector(".requests-list-timings-total").textContent;
+ let tooltip = target.querySelector(".requests-list-timings-total").getAttribute("title");
info("Displayed time: " + value);
info("Tooltip time: " + tooltip);
ok(~~(value.match(/[0-9]+/)) >= 0, "The displayed time is correct.");
@@ -385,9 +385,9 @@ function waitFor(subject, eventName) {
*/
function testFilterButtons(monitor, filterType) {
let doc = monitor.panelWin.document;
- let target = doc.querySelector("#requests-menu-filter-" + filterType + "-button");
+ let target = doc.querySelector(".requests-list-filter-" + filterType + "-button");
ok(target, `Filter button '${filterType}' was found`);
- let buttons = [...doc.querySelectorAll("#requests-menu-filter-buttons button")];
+ let buttons = [...doc.querySelectorAll("#requests-list-filter-buttons button")];
ok(buttons.length > 0, "More than zero filter buttons were found");
// Only target should be checked.
@@ -405,7 +405,7 @@ function testFilterButtons(monitor, filterType) {
*/
function testFilterButtonsCustom(aMonitor, aIsChecked) {
let doc = aMonitor.panelWin.document;
- let buttons = doc.querySelectorAll("#requests-menu-filter-buttons button");
+ let buttons = doc.querySelectorAll("#requests-list-filter-buttons button");
for (let i = 0; i < aIsChecked.length; i++) {
let button = buttons[i];
if (aIsChecked[i]) {
diff --git a/devtools/client/themes/netmonitor.css b/devtools/client/themes/netmonitor.css
index 250bdc46dc6f..afd9b8fe8773 100644
--- a/devtools/client/themes/netmonitor.css
+++ b/devtools/client/themes/netmonitor.css
@@ -11,7 +11,7 @@
box-sizing: border-box;
}
-#toolbar-labels {
+.toolbar-labels {
overflow: hidden;
display: flex;
flex: auto;
@@ -96,22 +96,22 @@
font-size: 120%;
}
-#notice-perf-message {
+.notice-perf-message {
margin-top: 2px;
}
-#requests-menu-perf-notice-button {
+.requests-list-perf-notice-button {
min-width: 30px;
min-height: 26px;
margin: 0 5px;
vertical-align: middle;
}
-#requests-menu-perf-notice-button::before {
+.requests-list-perf-notice-button::before {
background-image: url(images/profiler-stopwatch.svg);
}
-#requests-menu-reload-notice-button {
+.requests-list-reload-notice-button {
font-size: inherit;
min-height: 26px;
margin: 0 5px;
@@ -119,21 +119,21 @@
/* Network requests table */
-#requests-menu-toolbar {
+.requests-list-toolbar {
display: flex;
padding: 0;
}
-#requests-menu-filter-buttons {
+.requests-list-filter-buttons {
display: flex;
flex-wrap: nowrap;
}
-.theme-firebug #requests-menu-toolbar {
+.theme-firebug .requests-list-toolbar {
height: 19px !important;
}
-.requests-menu-contents {
+.requests-list-contents {
display: flex;
flex-direction: column;
overflow-x: hidden;
@@ -142,7 +142,7 @@
--timings-rev-scale: 1;
}
-.requests-menu-subitem {
+.requests-list-subitem {
display: flex;
flex: none;
box-sizing: border-box;
@@ -157,12 +157,12 @@
text-overflow: ellipsis;
}
-.requests-menu-header {
+.requests-list-header {
display: flex;
flex: none;
}
-.requests-menu-header-button {
+.requests-list-header-button {
display: flex;
align-items: center;
flex: auto;
@@ -187,27 +187,27 @@
font-weight: inherit !important;
}
-.requests-menu-header-button::-moz-focus-inner {
+.requests-list-header-button::-moz-focus-inner {
border: 0;
padding: 0;
}
-.requests-menu-header:first-child .requests-menu-header-button {
+.requests-list-header:first-child .requests-list-header-button {
border-width: 0;
}
-.requests-menu-header-button:hover {
+.requests-list-header-button:hover {
background-color: rgba(0, 0, 0, 0.1);
}
-.requests-menu-header-button > .button-text {
+.requests-list-header-button > .button-text {
flex: auto;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
-.requests-menu-header-button > .button-icon {
+.requests-list-header-button > .button-icon {
flex: none;
height: 4px;
margin-inline-start: 3px;
@@ -215,32 +215,32 @@
width: 7px;
}
-.requests-menu-header-button[data-sorted=ascending] > .button-icon {
+.requests-list-header-button[data-sorted=ascending] > .button-icon {
background-image: var(--sort-ascending-image);
}
-.requests-menu-header-button[data-sorted=descending] > .button-icon {
+.requests-list-header-button[data-sorted=descending] > .button-icon {
background-image: var(--sort-descending-image);
}
-.requests-menu-waterfall-label-wrapper {
+.requests-list-waterfall-label-wrapper {
display: flex;
}
-.requests-menu-header-button[data-sorted],
-.requests-menu-header-button[data-sorted]:hover {
+.requests-list-header-button[data-sorted],
+.requests-list-header-button[data-sorted]:hover {
background-color: var(--theme-selection-background);
color: var(--theme-selection-color);
}
-.requests-menu-header-button[data-sorted],
-.requests-menu-header[data-active] + .requests-menu-header .requests-menu-header-button {
+.requests-list-header-button[data-sorted],
+.requests-list-header[data-active] + .requests-list-header .requests-list-header-button {
border-image: linear-gradient(var(--theme-splitter-color), var(--theme-splitter-color)) 1 1;
}
/* Firebug theme support for Network panel header */
-.theme-firebug .requests-menu-header {
+.theme-firebug .requests-list-header {
padding: 0 !important;
font-weight: bold;
background: linear-gradient(rgba(255, 255, 255, 0.05),
@@ -248,24 +248,24 @@
#C8D2DC;
}
-.theme-firebug .requests-menu-header-button {
+.theme-firebug .requests-list-header-button {
min-height: 17px;
}
-.theme-firebug .requests-menu-header-button > .button-icon {
+.theme-firebug .requests-list-header-button > .button-icon {
height: 7px;
}
-.theme-firebug .requests-menu-header-button[data-sorted] {
+.theme-firebug .requests-list-header-button[data-sorted] {
background-color: #AAC3DC;
}
-:root[platform="linux"].theme-firebug .requests-menu-header-button[data-sorted] {
+:root[platform="linux"].theme-firebug .requests-list-header-button[data-sorted] {
background-color: #FAC8AF !important;
color: inherit !important;
}
-.theme-firebug .requests-menu-header:hover:active {
+.theme-firebug .requests-list-header:hover:active {
background-image: linear-gradient(rgba(0, 0, 0, 0.1),
transparent);
}
@@ -273,35 +273,35 @@
/* Network requests table: specific column dimensions */
-.requests-menu-status {
+.requests-list-status {
max-width: 6em;
text-align: center;
width: 10vw;
}
-.requests-menu-method,
-.requests-menu-method-box {
+.requests-list-method,
+.requests-list-method-box {
max-width: 7em;
text-align: center;
width: 10vw;
}
-.requests-menu-icon-and-file {
+.requests-list-icon-and-file {
width: 22vw;
}
-.requests-menu-icon {
+.requests-list-icon {
background: transparent;
width: 15px;
height: 15px;
margin-inline-end: 4px;
}
-.requests-menu-icon {
+.requests-list-icon {
outline: 1px solid var(--table-splitter-color);
}
-.requests-menu-security-and-domain {
+.requests-list-security-and-domain {
width: 14vw;
}
@@ -336,25 +336,25 @@
background-image: url(chrome://devtools/skin/images/globe.svg);
}
-.requests-menu-type,
-.requests-menu-size {
+.requests-list-type,
+.requests-list-size {
max-width: 6em;
width: 8vw;
justify-content: center;
}
-.requests-menu-transferred {
+.requests-list-transferred {
max-width: 8em;
width: 8vw;
justify-content: center;
}
-.requests-menu-cause {
+.requests-list-cause {
max-width: 8em;
width: 8vw;
}
-.requests-menu-cause-stack {
+.requests-list-cause-stack {
background-color: var(--theme-body-color-alt);
color: var(--theme-body-background);
font-size: 8px;
@@ -367,19 +367,19 @@
-moz-user-select: none;
}
-.request-list-item.selected .requests-menu-transferred.theme-comment {
+.request-list-item.selected .requests-list-transferred.theme-comment {
color: var(--theme-selection-color);
}
/* Network requests table: status codes */
-.requests-menu-status-code {
+.requests-list-status-code {
margin-inline-start: 3px !important;
width: 3em;
margin-inline-end: -3em !important;
}
-.requests-menu-status-icon {
+.requests-list-status-icon {
background: #fff;
height: 10px;
width: 10px;
@@ -390,29 +390,29 @@
box-sizing: border-box;
}
-.request-list-item.selected .requests-menu-status-icon {
+.request-list-item.selected .requests-list-status-icon {
filter: brightness(1.3);
}
-.requests-menu-status-icon:not([data-code]) {
+.requests-list-status-icon:not([data-code]) {
background-color: var(--theme-content-color2);
}
-.requests-menu-status-icon[data-code="cached"] {
+.requests-list-status-icon[data-code="cached"] {
border: 2px solid var(--theme-content-color2);
background-color: transparent;
}
-.requests-menu-status-icon[data-code^="1"] {
+.requests-list-status-icon[data-code^="1"] {
background-color: var(--theme-highlight-blue);
}
-.requests-menu-status-icon[data-code^="2"] {
+.requests-list-status-icon[data-code^="2"] {
background-color: var(--theme-highlight-green);
}
/* 3xx are triangles */
-.requests-menu-status-icon[data-code^="3"] {
+.requests-list-status-icon[data-code^="3"] {
background-color: transparent;
width: 0;
height: 0;
@@ -423,12 +423,12 @@
}
/* 4xx and 5xx are squares - error codes */
-.requests-menu-status-icon[data-code^="4"] {
+.requests-list-status-icon[data-code^="4"] {
background-color: var(--theme-highlight-red);
border-radius: 0; /* squares */
}
-.requests-menu-status-icon[data-code^="5"] {
+.requests-list-status-icon[data-code^="5"] {
background-color: var(--theme-highlight-pink);
border-radius: 0;
transform: rotate(45deg);
@@ -436,16 +436,16 @@
/* Network requests table: waterfall header */
-.requests-menu-waterfall {
+.requests-list-waterfall {
flex: auto;
padding-inline-start: 0;
}
-.requests-menu-waterfall-label-wrapper:not(.requests-menu-waterfall-visible) {
+.requests-list-waterfall-label-wrapper:not(.requests-list-waterfall-visible) {
padding-inline-start: 16px;
}
-.requests-menu-timings-division {
+.requests-list-timings-division {
padding-top: 2px;
padding-inline-start: 4px;
font-size: 75%;
@@ -457,34 +457,34 @@
flex: initial;
}
-.requests-menu-timings-division:not(:first-child) {
+.requests-list-timings-division:not(:first-child) {
border-inline-start: 1px dashed;
}
-.requests-menu-timings-division:-moz-locale-dir(ltr) {
+.requests-list-timings-division:-moz-locale-dir(ltr) {
transform-origin: left center;
}
-.requests-menu-timings-division:-moz-locale-dir(rtl) {
+.requests-list-timings-division:-moz-locale-dir(rtl) {
transform-origin: right center;
}
-.theme-dark .requests-menu-timings-division {
+.theme-dark .requests-list-timings-division {
border-inline-start-color: #5a6169 !important;
}
-.theme-light .requests-menu-timings-division {
+.theme-light .requests-list-timings-division {
border-inline-start-color: #585959 !important;
}
-.requests-menu-timings-division[data-division-scale=second],
-.requests-menu-timings-division[data-division-scale=minute] {
+.requests-list-timings-division[data-division-scale=second],
+.requests-list-timings-division[data-division-scale=minute] {
font-weight: 600;
}
/* Network requests table: waterfall items */
-.requests-menu-subitem.requests-menu-waterfall {
+.requests-list-subitem.requests-list-waterfall {
padding-inline-start: 0;
padding-inline-end: 4px;
/* Background created on a