Bug 1956782. Add CSP to layoutdebug.xhtml r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D243308
This commit is contained in:
@@ -1284,6 +1284,7 @@ static nsLiteralCString sStyleSrcUnsafeInlineAllowList[] = {
|
||||
"chrome://gfxsanity/content/sanitytest.html"_ns,
|
||||
"chrome://global/content/commonDialog.xhtml"_ns,
|
||||
"chrome://global/content/resetProfileProgress.xhtml"_ns,
|
||||
"chrome://layoutdebug/content/layoutdebug.xhtml"_ns,
|
||||
"chrome://mozapps/content/downloads/unknownContentType.xhtml"_ns,
|
||||
"chrome://mozapps/content/handling/appChooser.xhtml"_ns,
|
||||
"chrome://mozapps/content/preferences/changemp.xhtml"_ns,
|
||||
@@ -1960,7 +1961,6 @@ void nsContentSecurityUtils::AssertChromePageHasCSP(Document* aDocument) {
|
||||
"chrome://global/content/megalist/megalist.html"_ns,
|
||||
"chrome://global/content/selectDialog.xhtml"_ns,
|
||||
"chrome://global/content/win.xhtml"_ns,
|
||||
"chrome://layoutdebug/content/layoutdebug.xhtml"_ns,
|
||||
// Test files
|
||||
"chrome://mochikit/"_ns,
|
||||
"chrome://mochitests/"_ns,
|
||||
|
||||
@@ -339,6 +339,115 @@ const TabCrashedObserver = {
|
||||
};
|
||||
|
||||
function OnLDBLoad() {
|
||||
window.addEventListener("close", event => OnLDBBeforeUnload(event));
|
||||
window.addEventListener("unload", OnLDBUnload);
|
||||
document
|
||||
.getElementById("tasksCommands")
|
||||
.addEventListener("command", event => {
|
||||
switch (event.target.id) {
|
||||
case "cmd_open":
|
||||
openFile();
|
||||
break;
|
||||
case "cmd_close":
|
||||
window.close();
|
||||
break;
|
||||
case "cmd_focusURLBar":
|
||||
focusURLBar();
|
||||
break;
|
||||
case "cmd_reload":
|
||||
gBrowser.reload();
|
||||
break;
|
||||
case "cmd_dumpContent":
|
||||
gDebugger.dumpContent();
|
||||
break;
|
||||
case "cmd_dumpFrames":
|
||||
gDebugger.dumpFrames();
|
||||
break;
|
||||
case "cmd_dumpFramesInCSSPixels":
|
||||
gDebugger.dumpFramesInCSSPixels();
|
||||
break;
|
||||
case "cmd_dumpTextRuns":
|
||||
gDebugger.dumpTextRuns();
|
||||
break;
|
||||
case "cmd_openDevTools":
|
||||
gDebugger.openDevTools();
|
||||
break;
|
||||
default:
|
||||
// Default means that we are not handling a command so we should
|
||||
// probably let people know.
|
||||
throw new Error("Unhandled command event");
|
||||
}
|
||||
});
|
||||
document
|
||||
.getElementById("layoutdebug-toggle-menu")
|
||||
.addEventListener("command", event => {
|
||||
toggle(event.target);
|
||||
});
|
||||
document
|
||||
.getElementById("layoutdebug-dump-menu")
|
||||
.addEventListener("command", event => {
|
||||
switch (event.target.id) {
|
||||
case "menu_processIDs":
|
||||
gDebugger.dumpProcessIDs();
|
||||
break;
|
||||
case "menu_dumpContent":
|
||||
gDebugger.dumpContent();
|
||||
break;
|
||||
case "menu_dumpFrames":
|
||||
gDebugger.dumpFrames();
|
||||
break;
|
||||
case "menu_dumpFramesInCSSPixels":
|
||||
gDebugger.dumpFramesInCSSPixels();
|
||||
break;
|
||||
case "menu_dumpTextRuns":
|
||||
gDebugger.dumTextRuns();
|
||||
break;
|
||||
case "menu_dumpViews":
|
||||
gDebugger.dumpViews();
|
||||
break;
|
||||
case "menu_dumpCounterManager":
|
||||
gDebugger.dumpCounterManager();
|
||||
break;
|
||||
case "menu_dumpStyleSheets":
|
||||
gDebugger.dumpStyleSheets();
|
||||
break;
|
||||
case "menu_dumpMatchedRules":
|
||||
gDebugger.dumpMatchedRules();
|
||||
break;
|
||||
case "menu_dumpComputedStyles":
|
||||
gDebugger.dumpComputedStyles();
|
||||
break;
|
||||
case "menu_dumpReflowStats":
|
||||
gDebugger.dumpReflowStats();
|
||||
break;
|
||||
default:
|
||||
// Default means that we are not handling a command so we should
|
||||
// probably let people know.
|
||||
throw new Error("Unhandled command event");
|
||||
}
|
||||
});
|
||||
document.getElementById("nav-toolbar").addEventListener("command", event => {
|
||||
switch (event.target.id) {
|
||||
case "back-button":
|
||||
gBrowser.goBack();
|
||||
break;
|
||||
case "forward-button":
|
||||
gBrowser.goForward();
|
||||
break;
|
||||
case "stop-button":
|
||||
gBrowser.stop();
|
||||
break;
|
||||
default:
|
||||
// Default means that we are not handling a command so we should
|
||||
// probably let people know.
|
||||
throw new Error("Unhandled command event");
|
||||
}
|
||||
});
|
||||
document.getElementById("urlbar").addEventListener("keypress", event => {
|
||||
if (event.key == "Enter") {
|
||||
go();
|
||||
}
|
||||
});
|
||||
gBrowser = document.getElementById("browser");
|
||||
gURLBar = document.getElementById("urlbar");
|
||||
|
||||
@@ -550,3 +659,5 @@ function go() {
|
||||
loadStringURI(gURLBar.value);
|
||||
gBrowser.focus();
|
||||
}
|
||||
|
||||
window.addEventListener("load", OnLDBLoad);
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
|
||||
|
||||
<?csp default-src chrome:; style-src chrome: 'unsafe-inline'; ?>
|
||||
|
||||
<!DOCTYPE window>
|
||||
|
||||
<!--
|
||||
@@ -24,9 +26,6 @@
|
||||
align="stretch"
|
||||
data-l10n-id="layoutdebug-main-window"
|
||||
windowtype="mozapp:layoutdebug"
|
||||
onload="OnLDBLoad();"
|
||||
onclose="OnLDBBeforeUnload(event);"
|
||||
onunload="OnLDBUnload();"
|
||||
width="1024"
|
||||
height="768"
|
||||
screenX="4"
|
||||
@@ -41,18 +40,15 @@
|
||||
<script src="chrome://layoutdebug/content/layoutdebug.js" />
|
||||
|
||||
<commandset id="tasksCommands">
|
||||
<command id="cmd_open" oncommand="openFile();" />
|
||||
<command id="cmd_close" oncommand="window.close();" />
|
||||
<command id="cmd_focusURLBar" oncommand="focusURLBar();" />
|
||||
<command id="cmd_reload" oncommand="gBrowser.reload();" />
|
||||
<command id="cmd_dumpContent" oncommand="gDebugger.dumpContent();" />
|
||||
<command id="cmd_dumpFrames" oncommand="gDebugger.dumpFrames();" />
|
||||
<command
|
||||
id="cmd_dumpFramesInCSSPixels"
|
||||
oncommand="gDebugger.dumpFramesInCSSPixels();"
|
||||
/>
|
||||
<command id="cmd_dumpTextRuns" oncommand="gDebugger.dumpTextRuns();" />
|
||||
<command id="cmd_openDevTools" oncommand="gDebugger.openDevTools();" />
|
||||
<command id="cmd_open" />
|
||||
<command id="cmd_close" />
|
||||
<command id="cmd_focusURLBar" />
|
||||
<command id="cmd_reload" />
|
||||
<command id="cmd_dumpContent" />
|
||||
<command id="cmd_dumpFrames" />
|
||||
<command id="cmd_dumpFramesInCSSPixels" />
|
||||
<command id="cmd_dumpTextRuns" />
|
||||
<command id="cmd_openDevTools" />
|
||||
</commandset>
|
||||
|
||||
<keyset id="tasksKeys">
|
||||
@@ -115,120 +111,104 @@
|
||||
/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menu data-l10n-id="layoutdebug-toggle-menu">
|
||||
<menu
|
||||
id="layoutdebug-toggle-menu"
|
||||
data-l10n-id="layoutdebug-toggle-menu"
|
||||
>
|
||||
<menupopup>
|
||||
<menuitem
|
||||
type="checkbox"
|
||||
id="menu_paintDumping"
|
||||
data-l10n-id="layoutdebug-paint-dumping"
|
||||
oncommand="toggle(this);"
|
||||
/>
|
||||
<menuitem
|
||||
type="checkbox"
|
||||
id="menu_invalidateDumping"
|
||||
data-l10n-id="layoutdebug-invalidate-dumping"
|
||||
oncommand="toggle(this);"
|
||||
/>
|
||||
<menuseparator />
|
||||
<menuitem
|
||||
type="checkbox"
|
||||
id="menu_eventDumping"
|
||||
data-l10n-id="layoutdebug-event-dumping"
|
||||
oncommand="toggle(this);"
|
||||
/>
|
||||
<menuitem
|
||||
type="checkbox"
|
||||
id="menu_motionEventDumping"
|
||||
data-l10n-id="layoutdebug-motion-event-dumping"
|
||||
oncommand="toggle(this);"
|
||||
/>
|
||||
<menuitem
|
||||
type="checkbox"
|
||||
id="menu_crossingEventDumping"
|
||||
data-l10n-id="layoutdebug-crossing-event-dumping"
|
||||
oncommand="toggle(this);"
|
||||
/>
|
||||
<menuseparator />
|
||||
<menuitem
|
||||
type="checkbox"
|
||||
id="menu_reflowCounts"
|
||||
data-l10n-id="layoutdebug-reflow-counts"
|
||||
oncommand="toggle(this);"
|
||||
/>
|
||||
<menuitem
|
||||
type="checkbox"
|
||||
id="menu_pagedMode"
|
||||
data-l10n-id="layoutdebug-paged-mode"
|
||||
oncommand="toggle(this);"
|
||||
/>
|
||||
<menuseparator />
|
||||
<menuitem
|
||||
type="checkbox"
|
||||
id="menu_deterministicFrameDumping"
|
||||
data-l10n-id="layoutdebug-deterministic-frame-dumping"
|
||||
oncommand="toggle(this);"
|
||||
/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menu data-l10n-id="layoutdebug-dump-menu">
|
||||
<menu id="layoutdebug-dump-menu" data-l10n-id="layoutdebug-dump-menu">
|
||||
<menupopup>
|
||||
<menuitem
|
||||
id="menu_processIDs"
|
||||
label="Process IDs"
|
||||
accesskey="P"
|
||||
oncommand="gDebugger.dumpProcessIDs();"
|
||||
/>
|
||||
<menuitem
|
||||
id="menu_dumpContent"
|
||||
data-l10n-id="layoutdebug-dump-content"
|
||||
oncommand="gDebugger.dumpContent();"
|
||||
/>
|
||||
<menuitem
|
||||
id="menu_dumpFrames"
|
||||
data-l10n-id="layoutdebug-dump-frames"
|
||||
oncommand="gDebugger.dumpFrames();"
|
||||
/>
|
||||
<menuitem
|
||||
id="menu_dumpFramesInCSSPixels"
|
||||
data-l10n-id="layoutdebug-dump-frames-in-css-pixels"
|
||||
oncommand="gDebugger.dumpFramesInCSSPixels();"
|
||||
/>
|
||||
<menuitem
|
||||
id="menu_dumpTextRuns"
|
||||
data-l10n-id="layoutdebug-dump-text-runs"
|
||||
oncommand="gDebugger.dumpTextRuns();"
|
||||
/>
|
||||
<menuitem
|
||||
id="menu_dumpViews"
|
||||
data-l10n-id="layoutdebug-dump-views"
|
||||
oncommand="gDebugger.dumpViews();"
|
||||
/>
|
||||
<menuitem
|
||||
id="menu_dumpCounterManager"
|
||||
data-l10n-id="layoutdebug-dump-counter-manager"
|
||||
oncommand="gDebugger.dumpCounterManager();"
|
||||
/>
|
||||
<menuseparator />
|
||||
<menuitem
|
||||
id="menu_dumpStyleSheets"
|
||||
data-l10n-id="layoutdebug-dump-style-sheets"
|
||||
oncommand="gDebugger.dumpStyleSheets();"
|
||||
/>
|
||||
<menuitem
|
||||
id="menu_dumpMatchedRules"
|
||||
data-l10n-id="layoutdebug-dump-matched-rules"
|
||||
oncommand="gDebugger.dumpMatchedRules();"
|
||||
/>
|
||||
<menuitem
|
||||
id="menu_dumpComputedStyles"
|
||||
data-l10n-id="layoutdebug-dump-computed-styles"
|
||||
oncommand="gDebugger.dumpComputedStyles();"
|
||||
/>
|
||||
<menuseparator />
|
||||
<menuitem
|
||||
id="menu_dumpReflowStats"
|
||||
data-l10n-id="layoutdebug-dump-reflow-stats"
|
||||
oncommand="gDebugger.dumpReflowStats();"
|
||||
/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
@@ -237,18 +217,16 @@
|
||||
</menubar>
|
||||
</toolbar>
|
||||
|
||||
<toolbar>
|
||||
<toolbar id="nav-toolbar">
|
||||
<toolbarbutton
|
||||
id="back-button"
|
||||
class="toolbarbutton-1"
|
||||
data-l10n-id="layoutdebug-back-button"
|
||||
oncommand="gBrowser.goBack();"
|
||||
/>
|
||||
<toolbarbutton
|
||||
id="forward-button"
|
||||
class="toolbarbutton-1"
|
||||
data-l10n-id="layoutdebug-forward-button"
|
||||
oncommand="gBrowser.goForward();"
|
||||
/>
|
||||
<toolbarbutton
|
||||
id="reload-button"
|
||||
@@ -260,14 +238,9 @@
|
||||
id="stop-button"
|
||||
class="toolbarbutton-1"
|
||||
data-l10n-id="layoutdebug-stop-button"
|
||||
oncommand="gBrowser.stop();"
|
||||
/>
|
||||
|
||||
<html:input
|
||||
id="urlbar"
|
||||
style="flex: 1"
|
||||
onkeypress="if (event.keyCode == 13) go();"
|
||||
/>
|
||||
<html:input id="urlbar" style="flex: 1" />
|
||||
</toolbar>
|
||||
</toolbox>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user