backing out bugs 587574, 588540, 573103, 568634 to clear leaks, a=#developers

This commit is contained in:
Rob Campbell 2010-08-28 14:51:40 -03:00
parent c176716ced
commit 08f159e29c
18 changed files with 30 additions and 2175 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,132 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
<!ENTITY % webConsoleDTD SYSTEM "chrome://global/locale/webConsole.dtd" >
%webConsoleDTD;
]>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
-
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
- http://www.mozilla.org/MPL/
-
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
-
- The Original Code is DevTools WebConsole Code.
-
- The Initial Developer of the Original Code is
- Mozilla Foundation.
- Portions created by the Initial Developer are Copyright (C) 2010
- the Initial Developer. All Rights Reserved.
-
- Contributor(s):
- Joe Walker <jwalker@mozilla.com>
- Julian Viereck <jviereck@mozilla.com>
-
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
-
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link rel="stylesheet" href="chrome://global/skin/webConsole_networkPanel.css" type="text/css"/>
</head>
<body role="application">
<div id="header">
<span class="property-name">&networkPanel.requestURL;:</span>
<span class="property-value" id="headUrl"></span><br />
<span class="property-name">&networkPanel.requestMethod;:</span>
<span class="property-value" id="headMethod"></span><br />
<span class="property-name">&networkPanel.statusCode;:</span>
<span class="property-value" id="headStatus"></span>
</div>
<div class="group">
<h1>
&networkPanel.requestHeaders;
<span id="requestHeadersInfo" class="info"></span>
</h1>
<div class="property-header" id="requestHeadersContent"></div>
<div id="requestCookie" style="display:none">
<h1>&networkPanel.requestCookie;</h1>
<div class="property-header" id="requestCookieContent"></div>
</div>
<div id="requestBody" style="display:none">
<h1>&networkPanel.requestBody;</h1>
<div class="property-header" id="requestBodyContent"></div>
</div>
<div id="requestFormData" style="display:none">
<h1>&networkPanel.requestFormData;</h1>
<div class="property-header" id="requestFormDataContent"></div>
</div>
</div>
<div class="group" id="responseContainer" style="display:none">
<h1>
&networkPanel.responseHeaders;
<span id="responseHeadersInfo" class="info">&Delta;</span>
</h1>
<div class="property-header" id="responseHeadersContent"></div>
<div id="responseBody" style="display:none">
<h1>
&networkPanel.responseBody;
<span class="info" id="responseBodyInfo">&Delta;</span>
</h1>
<div class="property-header" id="responseBodyContent"></div>
</div>
<div id="responseBodyCached" style="display:none">
<h1>
&networkPanel.responseBodyCached;
<span class="info" id="responseBodyCachedInfo">&Delta;</span>
</h1>
<div class="property-header" id="responseBodyCachedContent"></div>
</div>
<div id="responseNoBody" style="display:none">
<h1>
&networkPanel.responseNoBody;
<span id="responseNoBodyInfo" class="info">&Delta;</span>
</h1>
</div>
<div id="responseImage" style="display:none">
<h1>
&networkPanel.responseImage;
<span id="responseImageInfo" class="info"></span>
</h1>
<div id="responseImageNodeDiv">
<img id="responseImageNode" />
</div>
</div>
<div id="responseImageCached" style="display:none">
<h1>
&networkPanel.responseImageCached;
<span id="responseImageCachedInfo" class="info"></span>
</h1>
<div id="responseImageNodeDiv">
<img id="responseImageCachedNode" />
</div>
</div>
</div>
</body>
</html>

View File

@ -45,13 +45,11 @@ include $(topsrcdir)/config/rules.mk
_BROWSER_TEST_FILES = \
browser_HUDServiceTestsAll.js \
browser_webconsole_netlogging.js \
$(NULL)
_BROWSER_TEST_PAGES = \
test-console.html \
test-network.html \
test-network-request.html \
test-mutation.html \
testscript.js \
test-filter.html \
@ -61,7 +59,6 @@ _BROWSER_TEST_PAGES = \
test-error.html \
test-duplicate-error.html \
test-image.png \
test-encoding-ISO-8859-1.html \
$(NULL)
libs:: $(_BROWSER_TEST_FILES)

View File

@ -70,10 +70,6 @@ const TEST_ERROR_URI = "http://example.com/browser/toolkit/components/console/hu
const TEST_DUPLICATE_ERROR_URI = "http://example.com/browser/toolkit/components/console/hudservice/tests/browser/test-duplicate-error.html";
const TEST_IMG = "http://example.com/browser/toolkit/components/console/hudservice/tests/browser/test-image.png";
const TEST_ENCODING_ISO_8859_1 = "http://example.com/browser/toolkit/components/console/hudservice/tests/browser/test-encoding-ISO-8859-1.html";
function noCacheUriSpec(aUriSpec) {
return aUriSpec + "?_=" + Date.now();
}
@ -573,348 +569,6 @@ function testConsoleHistory()
is (input.value, executeList[idxLast], "check history next idx:" + idxLast);
}
function testNetworkPanel()
{
function checkIsVisible(aPanel, aList) {
for (let id in aList) {
let node = aPanel.document.getElementById(id);
let isVisible = aList[id];
is(node.style.display, (isVisible ? "block" : "none"), id + " isVisible=" + isVisible);
}
}
function checkNodeContent(aPanel, aId, aContent) {
let node = aPanel.document.getElementById(aId);
if (node == null) {
ok(false, "Tried to access node " + aId + " that doesn't exist!");
}
else if (node.textContent.indexOf(aContent) != -1) {
ok(true, "checking content of " + aId);
}
else {
ok(false, "Got false value for " + aId + ": " + node.textContent + " doesn't have " + aContent);
}
}
function checkNodeKeyValue(aPanel, aId, aKey, aValue) {
let node = aPanel.document.getElementById(aId);
let testHTML = '<span xmlns="http://www.w3.org/1999/xhtml" class="property-name">' + aKey + ':</span>';
testHTML += '<span xmlns="http://www.w3.org/1999/xhtml" class="property-value">' + aValue + '</span>';
isnot(node.innerHTML.indexOf(testHTML), -1, "checking content of " + aId);
}
let testDriver;
function testGen() {
var httpActivity = {
url: "http://www.testpage.com",
method: "GET",
panels: [],
request: {
header: {
foo: "bar"
}
},
response: { },
timing: {
"REQUEST_HEADER": 0
}
};
let networkPanel = HUDService.openNetworkPanel(filterBox, httpActivity);
is (networkPanel, httpActivity.panels[0].get(), "Network panel stored on httpActivity object");
networkPanel.panel.addEventListener("load", function onLoad() {
networkPanel.panel.removeEventListener("load", onLoad, true);
testDriver.next();
}, true);
yield;
checkIsVisible(networkPanel, {
requestCookie: false,
requestFormData: false,
requestBody: false,
responseContainer: false,
responseBody: false,
responseNoBody: false,
responseImage: false,
responseImageCached: false
});
checkNodeContent(networkPanel, "header", "http://www.testpage.com");
checkNodeContent(networkPanel, "header", "GET");
checkNodeKeyValue(networkPanel, "requestHeadersContent", "foo", "bar");
// Test request body.
httpActivity.request.body = "hello world";
networkPanel.update();
checkIsVisible(networkPanel, {
requestBody: true,
requestFormData: false,
requestCookie: false,
responseContainer: false,
responseBody: false,
responseNoBody: false,
responseImage: false,
responseImageCached: false
});
checkNodeContent(networkPanel, "requestBodyContent", "hello world");
// Test response header.
httpActivity.timing.RESPONSE_HEADER = 1000;
httpActivity.response.status = "999 earthquake win";
httpActivity.response.header = {
leaveHouses: "true"
}
networkPanel.update();
checkIsVisible(networkPanel, {
requestBody: true,
requestFormData: false,
requestCookie: false,
responseContainer: true,
responseBody: false,
responseNoBody: false,
responseImage: false,
responseImageCached: false
});
checkNodeContent(networkPanel, "header", "999 earthquake win");
checkNodeKeyValue(networkPanel, "responseHeadersContent", "leaveHouses", "true");
checkNodeContent(networkPanel, "responseHeadersInfo", "1ms");
httpActivity.timing.RESPONSE_COMPLETE = 2500;
// This is necessary to show that the request is done.
httpActivity.timing.TRANSACTION_CLOSE = 2500;
networkPanel.update();
checkIsVisible(networkPanel, {
requestBody: true,
requestCookie: false,
requestFormData: false,
responseContainer: true,
responseBody: false,
responseNoBody: false,
responseImage: false,
responseImageCached: false
});
httpActivity.response.isDone = true;
networkPanel.update();
checkNodeContent(networkPanel, "responseNoBodyInfo", "2ms");
checkIsVisible(networkPanel, {
requestBody: true,
requestCookie: false,
responseContainer: true,
responseBody: false,
responseNoBody: true,
responseImage: false,
responseImageCached: false
});
networkPanel.panel.hidePopup();
// Second run: Test for cookies and response body.
httpActivity.request.header.Cookie = "foo=bar; hello=world";
httpActivity.response.body = "get out here";
networkPanel = HUDService.openNetworkPanel(filterBox, httpActivity);
is (networkPanel, httpActivity.panels[1].get(), "Network panel stored on httpActivity object");
networkPanel.panel.addEventListener("load", function onLoad() {
networkPanel.panel.removeEventListener("load", onLoad, true);
testDriver.next();
}, true);
yield;
checkIsVisible(networkPanel, {
requestBody: true,
requestFormData: false,
requestCookie: true,
responseContainer: true,
responseBody: true,
responseNoBody: false,
responseImage: false,
responseImageCached: false
});
checkNodeKeyValue(networkPanel, "requestCookieContent", "foo", "bar");
checkNodeKeyValue(networkPanel, "requestCookieContent", "hello", "world");
checkNodeContent(networkPanel, "responseBodyContent", "get out here");
checkNodeContent(networkPanel, "responseBodyInfo", "2ms");
networkPanel.panel.hidePopup();
// Check image request.
httpActivity.response.header["Content-Type"] = "image/png";
httpActivity.url = TEST_IMG;
networkPanel = HUDService.openNetworkPanel(filterBox, httpActivity);
networkPanel.panel.addEventListener("load", function onLoad() {
networkPanel.panel.removeEventListener("load", onLoad, true);
testDriver.next();
}, true);
yield;
checkIsVisible(networkPanel, {
requestBody: true,
requestFormData: false,
requestCookie: true,
responseContainer: true,
responseBody: false,
responseNoBody: false,
responseImage: true,
responseImageCached: false
});
let imgNode = networkPanel.document.getElementById("responseImageNode");
is(imgNode.getAttribute("src"), TEST_IMG, "Displayed image is correct");
function checkImageResponseInfo() {
checkNodeContent(networkPanel, "responseImageInfo", "2ms");
checkNodeContent(networkPanel, "responseImageInfo", "16x16px");
}
// Check if the image is loaded already.
if (imgNode.width == 0) {
imgNode.addEventListener("load", function onLoad() {
imgNode.removeEventListener("load", onLoad, false);
checkImageResponseInfo();
networkPanel.panel.hidePopup();
testDriver.next();
}, false);
// Wait until the image is loaded.
yield;
}
else {
checkImageResponseInfo();
networkPanel.panel.hidePopup();
}
// Check cached image request.
httpActivity.response.status = "HTTP/1.1 304 Not Modified";
networkPanel = HUDService.openNetworkPanel(filterBox, httpActivity);
networkPanel.panel.addEventListener("load", function onLoad() {
networkPanel.panel.removeEventListener("load", onLoad, true);
testDriver.next();
}, true);
yield;
checkIsVisible(networkPanel, {
requestBody: true,
requestFormData: false,
requestCookie: true,
responseContainer: true,
responseBody: false,
responseNoBody: false,
responseImage: false,
responseImageCached: true
});
let imgNode = networkPanel.document.getElementById("responseImageCachedNode");
is(imgNode.getAttribute("src"), TEST_IMG, "Displayed image is correct");
networkPanel.panel.hidePopup();
// Test sent form data.
httpActivity.request.body = [
"Content-Type: application/x-www-form-urlencoded\n" +
"Content-Length: 59\n" +
"name=rob&age=20"
].join("");
networkPanel = HUDService.openNetworkPanel(filterBox, httpActivity);
networkPanel.panel.addEventListener("load", function onLoad() {
networkPanel.panel.removeEventListener("load", onLoad, true);
testDriver.next();
}, true);
yield;
checkIsVisible(networkPanel, {
requestBody: false,
requestFormData: true,
requestCookie: true,
responseContainer: true,
responseBody: false,
responseNoBody: false,
responseImage: false,
responseImageCached: true
});
checkNodeKeyValue(networkPanel, "requestFormDataContent", "name", "rob");
checkNodeKeyValue(networkPanel, "requestFormDataContent", "age", "20");
networkPanel.panel.hidePopup();
// Test no space after Content-Type:
httpActivity.request.body = "Content-Type:application/x-www-form-urlencoded\n";
networkPanel = HUDService.openNetworkPanel(filterBox, httpActivity);
networkPanel.panel.addEventListener("load", function onLoad() {
networkPanel.panel.removeEventListener("load", onLoad, true);
testDriver.next();
}, true);
yield;
checkIsVisible(networkPanel, {
requestBody: false,
requestFormData: true,
requestCookie: true,
responseContainer: true,
responseBody: false,
responseNoBody: false,
responseImage: false,
responseImageCached: true
});
networkPanel.panel.hidePopup();
// Test cached data.
// Load a Latein-1 encoded page.
browser.addEventListener("load", function onLoad () {
browser.removeEventListener("load", onLoad, true);
httpActivity.charset = content.document.characterSet;
testDriver.next();
}, true);
content.location = TEST_ENCODING_ISO_8859_1;
yield;
httpActivity.url = TEST_ENCODING_ISO_8859_1;
httpActivity.response.header["Content-Type"] = "application/json";
httpActivity.response.body = "";
networkPanel = HUDService.openNetworkPanel(filterBox, httpActivity);
networkPanel.isDoneCallback = function NP_doneCallback() {
networkPanel.isDoneCallback = null;
checkIsVisible(networkPanel, {
requestBody: false,
requestFormData: true,
requestCookie: true,
responseContainer: true,
responseBody: false,
responseBodyCached: true,
responseNoBody: false,
responseImage: false,
responseImageCached: false
});
checkNodeContent(networkPanel, "responseBodyCachedContent", "<body>\u00fc\u00f6\u00E4</body>");
networkPanel.panel.hidePopup();
// Run the next test.
testErrorOnPageReload();
}
yield;
};
testDriver = testGen();
testDriver.next();
}
// test property provider
function testPropertyProvider()
{
@ -1175,7 +829,7 @@ function testPageReload() {
is(typeof console.error, "function", "console.error is a function");
is(typeof console.exception, "function", "console.exception is a function");
testNetworkPanel();
testErrorOnPageReload();
}, false);
content.location.reload();

View File

@ -1,185 +0,0 @@
/* vim:set ts=2 sw=2 sts=2 et: */
/* ***** BEGIN LICENSE BLOCK *****
* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/
*
* Contributor(s):
* Julian Viereck <jviereck@mozilla.com>
*
* ***** END LICENSE BLOCK ***** */
const Cc = Components.classes;
const Ci = Components.interfaces;
const Cu = Components.utils;
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
Cu.import("resource://gre/modules/HUDService.jsm");
const TEST_NETWORK_REQUEST_URI = "http://example.com/browser/toolkit/components/console/hudservice/tests/browser/test-network-request.html";
const TEST_IMG = "http://example.com/browser/toolkit/components/console/hudservice/tests/browser/test-image.png";
const TEST_DATA_JSON_CONTENT =
'{ id: "test JSON data", myArray: [ "foo", "bar", "baz", "biff" ] }';
var hud;
var hudId;
function testOpenWebConsole()
{
HUDService.activateHUDForContext(gBrowser.selectedTab);
is(HUDService.displaysIndex().length, 1, "WebConsole was opened");
hudId = HUDService.displaysIndex()[0];
hud = HUDService.getHeadsUpDisplay(hudId);
testNetworkLogging();
}
function finishTest() {
hud = null;
hudId = null;
let tab = gBrowser.selectedTab;
HUDService.deactivateHUDForContext(tab);
executeSoon(function() {
gBrowser.removeCurrentTab();
finish();
});
}
function testNetworkLogging()
{
var lastFinishedRequest = null;
HUDService.lastFinishedRequestCallback =
function requestDoneCallback(aHttpRequest)
{
lastFinishedRequest = aHttpRequest;
}
let browser = gBrowser.selectedBrowser;
let loggingGen;
// This generator function is used to step through the individual, async tests.
function loggingGeneratorFunc() {
browser.addEventListener("load", function onLoad () {
browser.removeEventListener("load", onLoad, true);
loggingGen.next();
}, true);
content.location = TEST_NETWORK_REQUEST_URI;
yield;
// Check if page load was logged correctly.
let httpActivity = lastFinishedRequest;
isnot(httpActivity, null, "Page load was logged");
is(httpActivity.url, TEST_NETWORK_REQUEST_URI,
"Logged network entry is page load");
is(httpActivity.method, "GET", "Method is correct");
is(httpActivity.request.body, undefined, "No request body sent");
// TODO: Figure out why the following test is failing on linux (bug 588533).
//
// If not linux, then run the test. On Linux it always fails.
if (navigator.platform.indexOf("Linux") != 0) {
ok(httpActivity.response.body.indexOf("<!DOCTYPE HTML>") == 0,
"Response body's beginning is okay");
}
// Start xhr-get test.
browser.contentWindow.wrappedJSObject.testXhrGet(loggingGen);
yield;
// Use executeSoon here as the xhr callback calls loggingGen.next() before
// the network observer detected that the request is completly done and the
// HUDService.lastFinishedRequest is set. executeSoon solves that problem.
executeSoon(function() {
// Check if xhr-get test was successful.
httpActivity = lastFinishedRequest;
isnot(httpActivity, null, "testXhrGet() was logged");
is(httpActivity.method, "GET", "Method is correct");
is(httpActivity.request.body, undefined, "No request body was sent");
is(httpActivity.response.body, TEST_DATA_JSON_CONTENT,
"Response is correct");
lastFinishedRequest = null;
loggingGen.next();
});
yield;
// Start xhr-post test.
browser.contentWindow.wrappedJSObject.testXhrPost(loggingGen);
yield;
executeSoon(function() {
// Check if xhr-post test was successful.
httpActivity = lastFinishedRequest;
isnot(httpActivity, null, "testXhrPost() was logged");
is(httpActivity.method, "POST", "Method is correct");
is(httpActivity.request.body, "Hello world!",
"Request body was logged");
is(httpActivity.response.body, TEST_DATA_JSON_CONTENT,
"Response is correct");
lastFinishedRequest = null
loggingGen.next();
});
yield;
// Start submit-form test. As the form is submitted, the page is loaded
// again. Bind to the DOMContentLoaded event to catch when this is done.
browser.addEventListener("load", function onLoad () {
browser.removeEventListener("load", onLoad, true);
loggingGen.next();
}, true);
browser.contentWindow.wrappedJSObject.testSubmitForm();
yield;
// Check if submitting the form was logged successful.
httpActivity = lastFinishedRequest;
isnot(httpActivity, null, "testSubmitForm() was logged");
is(httpActivity.method, "POST", "Method is correct");
isnot(httpActivity.request.body.indexOf(
"Content-Type: application/x-www-form-urlencoded"), -1,
"Content-Type is correct");
isnot(httpActivity.request.body.indexOf(
"Content-Length: 20"), -1, "Content-length is correct");
isnot(httpActivity.request.body.indexOf(
"name=foo+bar&age=144"), -1, "Form data is correct");
ok(httpActivity.response.body.indexOf("<!DOCTYPE HTML>") == 0,
"Response body's beginning is okay");
lastFinishedRequest = null
// Open the NetworkPanel. The functionality of the NetworkPanel is tested
// within the testNetworkPanel() function.
let filterBox = hud.querySelectorAll(".hud-filter-box")[0];
let networkPanel = HUDService.openNetworkPanel(filterBox, httpActivity);
is (networkPanel, httpActivity.panels[0].get(), "Network panel stored on httpActivity object");
networkPanel.panel.addEventListener("load", function onLoad() {
networkPanel.panel.removeEventListener("load", onLoad, true);
ok(true, "NetworkPanel was opened");
networkPanel.panel.hidePopup();
// All tests are done. Shutdown.
browser = null;
lastFinishedRequest = null;
HUDService.lastFinishedRequestCallback = null;
finishTest();
}, true);
}
loggingGen = loggingGeneratorFunc();
loggingGen.next();
}
function test()
{
waitForExplicitFinish();
gBrowser.selectedTab = gBrowser.addTab();
gBrowser.selectedBrowser.addEventListener("load", function() {
gBrowser.selectedBrowser.removeEventListener("load", arguments.callee, true);
waitForFocus(testOpenWebConsole, content);
}, true);
content.location = "data:text/html,WebConsole network logging tests";
}

View File

@ -1 +1 @@
{ id: "test JSON data", myArray: [ "foo", "bar", "baz", "biff" ] }
{ id: "test JSON data", myArray: [ "foo", "bar", "baz", "biff" ] }

View File

@ -1,7 +0,0 @@
<!DOCTYPE HTML>
<html>
<head>
<meta charset="ISO-8859-1">
</head>
<body>üöä</body>
</html>

View File

@ -1,38 +0,0 @@
<!DOCTYPE HTML>
<html dir="ltr" xml:lang="en-US" lang="en-US"><head>
<title>Console HTTP test page</title>
<script type="text/javascript">
function makeXhr(aMethod, aUrl, aRequestBody, aTestGenerator) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open(aMethod, aUrl, true);
xmlhttp.onreadystatechange = function (aEvt) {
if (xmlhttp.readyState == 4) {
aTestGenerator.next();
}
};
xmlhttp.send(aRequestBody);
}
function testXhrGet(aTestGenerator) {
makeXhr('get', 'test-data.json', null, aTestGenerator);
}
function testXhrPost(aTestGenerator) {
makeXhr('post', 'test-data.json', "Hello world!", aTestGenerator);
}
function testSubmitForm() {
document.getElementsByTagName("form")[0].submit();
}
</script>
</head>
<body>
<h1>Heads Up Display HTTP Logging Testpage</h1>
<h2>This page is used to test the HTTP logging.</h2>
<form action="http://example.com/browser/toolkit/components/console/hudservice/tests/browser/test-network-request.html" method="post">
<input name="name" type="text" value="foo bar"><br>
<input name="age" type="text" value="144"><br>
</form>
</body>
</html>

View File

@ -1,6 +1,5 @@
toolkit.jar:
*+ content/global/console.js (content/console.js)
*+ content/global/console.xul (content/console.xul)
+ content/global/NetworkPanel.xhtml (hudservice/NetworkPanel.xhtml)
+ content/global/console.css (content/console.css)
+ content/global/consoleBindings.xml (content/consoleBindings.xml)

View File

@ -63,39 +63,3 @@ jsPropertyTitle=Object Inspector
jsPropertyInspectTitle=Inspect: %S
copyCmd.label=Copy
copyCmd.accesskey=C
# LOCALIZATION NOTE (networkUrlWithStatus):
#
# When the HTTP request is started only the URL of the request is printed to the
# WebConsole. As the response status of the HTTP request arrives, the URL string
# is replaced by this string (the response status can look like `HTTP/1.1 200 OK`).
# The bracket is not closed to mark that this request is not done by now. As the
# request is finished (the HTTP connection is closed) this string is replaced
# by `networkUrlWithStatusAndDuration` which has a closing the braket.
#
# %1$S = URL of network request
# %2$S = response status code from the server (e.g. `HTTP/1.1 200 OK`)
networkUrlWithStatus=%1$S [%2$S
# LOCALIZATION NOTE (networkUrlWithStatusAndDuration):
#
# When the HTTP request is finished (the HTTP connection is closed) this string
# replaces the former `networkUrlWithStatus` string in the WebConsole.
#
# %1$S = URL of network request
# %2$S = response status code from the server (e.g. `HTTP/1.1 200 OK`)
# %3$S = duration for the complete network request in milliseconds
networkUrlWithStatusAndDuration=%1$S [%2$S %3$Sms]
NetworkPanel.label=Inspect Network Request
# LOCALIZATION NOTE (NetworkPanel.deltaDurationMS):
#
# This string is used to show the duration between two network events (e.g
# request and respones header or response header and response body).
NetworkPanel.durationMS=%Sms
# LOCALIZATION NOTE (NetworkPanel.imageSizeDeltaDurationMS):
# This string is used to show the duration between the response header and the
# response body event. It also shows the size of the received or cached image.
#
# The first %S is replace by the width of the inspected image.
# The second %S is replaced by the height of the inspected image.
# The third %S is replaced by the duration between the response header and the
# response body event.
NetworkPanel.imageSizeDeltaDurationMS=%Sx%Spx, Δ%Sms

View File

@ -1,15 +0,0 @@
<!ENTITY networkPanel.requestURL "Request URL">
<!ENTITY networkPanel.requestMethod "Request Method">
<!ENTITY networkPanel.statusCode "Status Code">
<!ENTITY networkPanel.requestHeaders "Request Headers">
<!ENTITY networkPanel.requestCookie "Sent Cookie">
<!ENTITY networkPanel.requestBody "Request Body">
<!ENTITY networkPanel.requestFormData "Sent Form Data">
<!ENTITY networkPanel.responseHeaders "Response Headers">
<!ENTITY networkPanel.responseBody "Response Body">
<!ENTITY networkPanel.responseBodyCached "Cached Data">
<!ENTITY networkPanel.responseNoBody "No Response Body">
<!ENTITY networkPanel.responseImage "Received Image">
<!ENTITY networkPanel.responseImageCached "Cached Image">

View File

@ -37,7 +37,6 @@
+ locale/@AB_CD@/global/finddialog.properties (%chrome/global/finddialog.properties)
locale/@AB_CD@/global/globalKeys.dtd (%chrome/global/globalKeys.dtd)
+ locale/@AB_CD@/global/headsUpDisplay.properties (%chrome/global/headsUpDisplay.properties)
+ locale/@AB_CD@/global/webConsole.dtd (%chrome/global/webConsole.dtd)
+ locale/@AB_CD@/global/intl.css (%chrome/global/intl.css)
+ locale/@AB_CD@/global/intl.properties (%chrome/global/intl.properties)
+ locale/@AB_CD@/global/keys.properties (%chrome/global/keys.properties)

View File

@ -28,7 +28,6 @@ toolkit.jar:
+ skin/classic/global/toolbarbutton.css
+ skin/classic/global/tree.css
+ skin/classic/global/webConsole.css
+ skin/classic/global/webConsole_networkPanel.css
+ skin/classic/global/alerts/alert.css (alerts/alert.css)
+ skin/classic/global/console/console.css (console/console.css)
+ skin/classic/global/console/console.png (console/console.png)

View File

@ -1,108 +0,0 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is DevTools code
*
* The Initial Developer of the Original Code is
* Mozilla Corporation
* Portions created by the Initial Developer are Copyright (C) 2010
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Joe Walker <jwalker@mozilla.com>
* Julian Viereck <jviereck@mozilla.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
body {
font-family: Lucida Grande, sans-serif;
font-size: 11px;
background: #EEE;
}
div#header {
padding: 5px;
overflow-x:auto;
}
h1 {
font-size: 13px;
padding: 2px 10px;
margin: 0px;
background: -moz-linear-gradient(top, #BBB, #999);
-moz-border-radius: 2px;
text-shadow: #FFF 0px 1px 0px;
}
h1 .info {
font-size: 11px;
float: right;
color: #333;
padding-right: 3px;
}
div.property-header {
padding: 2px 5px;
background: -moz-linear-gradient(top, #FFF, #F8F8F8);
color: #333;
max-height: 330px;
overflow-y: auto;
overflow-x: auto;
white-space: pre-wrap;
}
span.property-name {
font-size: 11px;
font-weight: bold;
padding-right: 4px;
color: #000;
}
span.property-value {
padding-right: 5px;
font-size: 11px;
}
div.group {
margin-top: 10px;
}
div.group, div#header {
background: #FFF;
border-color: #E1E1E1;
border-style: solid;
border-width: 1px;
-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
-moz-border-radius: 4px 4px 4px 4px;
}
img#responseImageNode {
-moz-box-shadow: rgba(0,0,0,0.2) 0px 3px 5px;
max-width: 100%;
}
#responseImageNodeDiv {
padding: 5px;
}

View File

@ -50,7 +50,6 @@ toolkit.jar:
skin/classic/global/tree.css
* skin/classic/global/viewbuttons.css
* skin/classic/global/webConsole.css
* skin/classic/global/webConsole_networkPanel.css
skin/classic/global/wizard.css
skin/classic/global/arrow/arrow-dn-dis.gif (arrow/arrow-dn-dis.gif)
skin/classic/global/arrow/arrow-dn-dis.png (arrow/arrow-dn-dis.png)

View File

@ -1,108 +0,0 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is DevTools code
*
* The Initial Developer of the Original Code is
* Mozilla Corporation
* Portions created by the Initial Developer are Copyright (C) 2010
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Joe Walker <jwalker@mozilla.com>
* Julian Viereck <jviereck@mozilla.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
body {
font-family: Lucida Grande, sans-serif;
font-size: 11px;
background: #EEE;
}
div#header {
padding: 5px;
overflow-x:auto;
}
h1 {
font-size: 13px;
padding: 2px 10px;
margin: 0px;
background: -moz-linear-gradient(top, #BBB, #999);
-moz-border-radius: 2px;
text-shadow: #FFF 0px 1px 0px;
}
h1 .info {
font-size: 11px;
float: right;
color: #333;
padding-right: 3px;
}
div.property-header {
padding: 2px 5px;
background: -moz-linear-gradient(top, #FFF, #F8F8F8);
color: #333;
max-height: 330px;
overflow-y: auto;
overflow-x: auto;
white-space: pre-wrap;
}
span.property-name {
font-size: 11px;
font-weight: bold;
padding-right: 4px;
color: #000;
}
span.property-value {
padding-right: 5px;
font-size: 11px;
}
div.group {
margin-top: 10px;
}
div.group, div#header {
background: #FFF;
border-color: #E1E1E1;
border-style: solid;
border-width: 1px;
-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
-moz-border-radius: 4px 4px 4px 4px;
}
img#responseImageNode {
-moz-box-shadow: rgba(0,0,0,0.2) 0px 3px 5px;
max-width: 100%;
}
#responseImageNodeDiv {
padding: 5px;
}

View File

@ -54,7 +54,6 @@ toolkit.jar:
skin/classic/global/toolbarbutton.css
skin/classic/global/tree.css
* skin/classic/global/webConsole.css
* skin/classic/global/webConsole_networkPanel.css
skin/classic/global/wizard.css
skin/classic/global/alerts/alert.css (alerts/alert.css)
skin/classic/global/arrow/arrow-dn.gif (arrow/arrow-dn.gif)
@ -223,7 +222,6 @@ toolkit.jar:
* skin/classic/aero/global/toolbarbutton.css (toolbarbutton-aero.css)
* skin/classic/aero/global/tree.css (tree-aero.css)
* skin/classic/aero/global/webConsole.css
* skin/classic/global/webConsole_networkPanel.css
skin/classic/aero/global/wizard.css
skin/classic/aero/global/alerts/alert.css (alerts/alert.css)
skin/classic/aero/global/arrow/arrow-dn.gif (arrow/arrow-dn.gif)

View File

@ -1,108 +0,0 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is DevTools code
*
* The Initial Developer of the Original Code is
* Mozilla Corporation
* Portions created by the Initial Developer are Copyright (C) 2010
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Joe Walker <jwalker@mozilla.com>
* Julian Viereck <jviereck@mozilla.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
body {
font-family: Lucida Grande, sans-serif;
font-size: 11px;
background: #EEE;
}
div#header {
padding: 5px;
overflow-x:auto;
}
h1 {
font-size: 13px;
padding: 2px 10px;
margin: 0px;
background: -moz-linear-gradient(top, #BBB, #999);
-moz-border-radius: 2px;
text-shadow: #FFF 0px 1px 0px;
}
h1 .info {
font-size: 11px;
float: right;
color: #333;
padding-right: 3px;
}
div.property-header {
padding: 2px 5px;
background: -moz-linear-gradient(top, #FFF, #F8F8F8);
color: #333;
max-height: 330px;
overflow-y: auto;
overflow-x: auto;
white-space: pre-wrap;
}
span.property-name {
font-size: 11px;
font-weight: bold;
padding-right: 4px;
color: #000;
}
span.property-value {
padding-right: 5px;
font-size: 11px;
}
div.group {
margin-top: 10px;
}
div.group, div#header {
background: #FFF;
border-color: #E1E1E1;
border-style: solid;
border-width: 1px;
-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
-moz-border-radius: 4px 4px 4px 4px;
}
img#responseImageNode {
-moz-box-shadow: rgba(0,0,0,0.2) 0px 3px 5px;
max-width: 100%;
}
#responseImageNodeDiv {
padding: 5px;
}