diff --git a/browser/app/blocklist.xml b/browser/app/blocklist.xml
index cb4478830b11..e69de29bb2d1 100644
--- a/browser/app/blocklist.xml
+++ b/browser/app/blocklist.xml
@@ -1,213 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- WINNT 6.1
- 0x10de
-
- 0x0a6c
-
- DIRECT2D
- BLOCKED_DRIVER_VERSION
- 8.17.12.5896
- LESS_THAN_OR_EQUAL
-
-
- WINNT 6.1
- 0x10de
-
- 0x0a6c
-
- DIRECT3D_9_LAYERS
- BLOCKED_DRIVER_VERSION
- 8.17.12.5896
- LESS_THAN_OR_EQUAL
-
-
- WINNT 5.1
- 0x10de
- DIRECT3D_9_LAYERS
- BLOCKED_DRIVER_VERSION
- 7.0.0.0
- GREATER_THAN_OR_EQUAL
-
-
-
-
-
\ No newline at end of file
diff --git a/browser/base/content/NetworkPrioritizer.jsm b/browser/base/content/NetworkPrioritizer.jsm
index 69f0ff3f1b1a..97cbcdd81432 100644
--- a/browser/base/content/NetworkPrioritizer.jsm
+++ b/browser/base/content/NetworkPrioritizer.jsm
@@ -97,13 +97,13 @@ function _handleEvent(aEvent) {
// Methods that impact a browser. Put into single object for organization.
let BrowserHelper = {
- onOpen: function(aBrowser) {
+ onOpen: function NP_BH_onOpen(aBrowser) {
// If the tab is in the focused window, leave priority as it is
if (aBrowser.ownerDocument.defaultView != _lastFocusedWindow)
this.decreasePriority(aBrowser);
},
- onSelect: function(aBrowser) {
+ onSelect: function NP_BH_onSelect(aBrowser) {
let windowEntry = WindowHelper.getEntry(aBrowser.ownerDocument.defaultView);
if (windowEntry.lastSelectedBrowser)
this.decreasePriority(windowEntry.lastSelectedBrowser);
@@ -113,16 +113,16 @@ let BrowserHelper = {
},
// Auxiliary methods
- getLoadgroup: function(aBrowser) {
+ getLoadgroup: function NP_BH_getLoadgroup(aBrowser) {
return aBrowser.webNavigation.QueryInterface(Ci.nsIDocumentLoader)
.loadGroup.QueryInterface(Ci.nsISupportsPriority);
},
- increasePriority: function(aBrowser) {
+ increasePriority: function NP_BH_increasePriority(aBrowser) {
this.getLoadgroup(aBrowser).adjustPriority(PRIORITY_DELTA);
},
- decreasePriority: function(aBrowser) {
+ decreasePriority: function NP_BH_decreasePriority(aBrowser) {
this.getLoadgroup(aBrowser).adjustPriority(PRIORITY_DELTA * -1);
}
};
@@ -130,7 +130,7 @@ let BrowserHelper = {
// Methods that impact a window. Put into single object for organization.
let WindowHelper = {
- addWindow: function(aWindow) {
+ addWindow: function NP_WH_addWindow(aWindow) {
// Build internal data object
_windows.push({ window: aWindow, lastSelectedBrowser: null });
@@ -153,7 +153,7 @@ let WindowHelper = {
BrowserHelper.onSelect(aWindow.gBrowser.selectedBrowser);
},
- removeWindow: function(aWindow) {
+ removeWindow: function NP_WH_removeWindow(aWindow) {
if (aWindow == _lastFocusedWindow)
_lastFocusedWindow = null;
@@ -169,7 +169,7 @@ let WindowHelper = {
});
},
- onActivate: function(aWindow, aHasFocus) {
+ onActivate: function NP_WH_onActivate(aWindow, aHasFocus) {
// If this window was the last focused window, we don't need to do anything
if (aWindow == _lastFocusedWindow)
return;
@@ -181,7 +181,7 @@ let WindowHelper = {
this.increasePriority(aWindow);
},
- handleFocusedWindow: function(aWindow) {
+ handleFocusedWindow: function NP_WH_handleFocusedWindow(aWindow) {
// If we have a last focused window, we need to deprioritize it first
if (_lastFocusedWindow)
this.decreasePriority(_lastFocusedWindow);
@@ -191,23 +191,23 @@ let WindowHelper = {
},
// Auxiliary methods
- increasePriority: function(aWindow) {
+ increasePriority: function NP_WH_increasePriority(aWindow) {
aWindow.gBrowser.browsers.forEach(function(aBrowser) {
BrowserHelper.increasePriority(aBrowser);
});
},
- decreasePriority: function(aWindow) {
+ decreasePriority: function NP_WH_decreasePriority(aWindow) {
aWindow.gBrowser.browsers.forEach(function(aBrowser) {
BrowserHelper.decreasePriority(aBrowser);
});
},
- getEntry: function(aWindow) {
+ getEntry: function NP_WH_getEntry(aWindow) {
return _windows[this.getEntryIndex(aWindow)];
},
- getEntryIndex: function(aWindow) {
+ getEntryIndex: function NP_WH_getEntryAtIndex(aWindow) {
// Assumes that every object has a unique window & it's in the array
for (let i = 0; i < _windows.length; i++)
if (_windows[i].window == aWindow)
diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
index d803ba6308e5..3478c212edcb 100644
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -355,6 +355,9 @@ const gSessionHistoryObserver = {
var fwdCommand = document.getElementById("Browser:Forward");
fwdCommand.setAttribute("disabled", "true");
+ // Hide session restore button on about:home
+ window.messageManager.sendAsyncMessage("Browser:HideSessionRestoreButton");
+
if (gURLBar) {
// Clear undo history of the URL bar
gURLBar.editor.transactionManager.clear()
diff --git a/browser/base/content/content.js b/browser/base/content/content.js
index e69425aaa312..289051470012 100644
--- a/browser/base/content/content.js
+++ b/browser/base/content/content.js
@@ -51,3 +51,13 @@ addMessageListener("WebNavigation:LoadURI", function (message) {
webNavigation.loadURI(message.json.uri, flags, null, null, null);
});
+
+addMessageListener("Browser:HideSessionRestoreButton", function (message) {
+ // Hide session restore button on about:home
+ let doc = content.document;
+ let container;
+ if (doc.documentURI.toLowerCase() == "about:home" &&
+ (container = doc.getElementById("sessionRestoreContainer"))){
+ container.hidden = true;
+ }
+});
diff --git a/browser/components/sessionstore/src/nsSessionStore.js b/browser/components/sessionstore/src/nsSessionStore.js
index 63d86b17e579..3a16e04c16b3 100644
--- a/browser/components/sessionstore/src/nsSessionStore.js
+++ b/browser/components/sessionstore/src/nsSessionStore.js
@@ -185,7 +185,7 @@ SessionStoreService.prototype = {
// xul:tab attributes to (re)store (extensions might want to hook in here);
// the favicon is always saved for the about:sessionrestore page
- xulAttributes: ["image"],
+ xulAttributes: {"image": true},
// set default load state
_loadState: STATE_STOPPED,
@@ -498,6 +498,7 @@ SessionStoreService.prototype = {
// quit-application notification so the browser is about to exit.
if (this._loadState == STATE_QUITTING)
return;
+ this._lastSessionState = null;
let openWindows = {};
this._forEachBrowserWindow(function(aWindow) {
Array.forEach(aWindow.gBrowser.tabs, function(aTab) {
@@ -1426,10 +1427,10 @@ SessionStoreService.prototype = {
},
persistTabAttribute: function sss_persistTabAttribute(aName) {
- if (this.xulAttributes.indexOf(aName) != -1)
+ if (aName in this.xulAttributes)
return; // this attribute is already being tracked
- this.xulAttributes.push(aName);
+ this.xulAttributes[aName] = true;
this.saveStateDelayed();
},
@@ -1736,12 +1737,10 @@ SessionStoreService.prototype = {
else if (tabData.disallow)
delete tabData.disallow;
- if (this.xulAttributes.length > 0) {
- tabData.attributes = {};
- Array.forEach(aTab.attributes, function(aAttr) {
- if (this.xulAttributes.indexOf(aAttr.name) > -1)
- tabData.attributes[aAttr.name] = aAttr.value;
- }, this);
+ tabData.attributes = {};
+ for (let name in this.xulAttributes) {
+ if (aTab.hasAttribute(name))
+ tabData.attributes[name] = aTab.getAttribute(name);
}
if (aTab.__SS_extdata)
@@ -2748,6 +2747,9 @@ SessionStoreService.prototype = {
else
tabbrowser.showTab(tab);
+ for (let name in tabData.attributes)
+ this.xulAttributes[name] = true;
+
tabData._tabStillLoading = true;
// keep the data around to prevent dataloss in case
@@ -2863,9 +2865,8 @@ SessionStoreService.prototype = {
CAPABILITIES.forEach(function(aCapability) {
browser.docShell["allow" + aCapability] = disallow.indexOf(aCapability) == -1;
});
- Array.filter(tab.attributes, function(aAttr) {
- return (_this.xulAttributes.indexOf(aAttr.name) > -1);
- }).forEach(tab.removeAttribute, tab);
+ for (let name in this.xulAttributes)
+ tab.removeAttribute(name);
for (let name in tabData.attributes)
tab.setAttribute(name, tabData.attributes[name]);
diff --git a/build/mobile/remoteautomation.py b/build/mobile/remoteautomation.py
index acc16ed5b95d..de38525ecff7 100644
--- a/build/mobile/remoteautomation.py
+++ b/build/mobile/remoteautomation.py
@@ -79,6 +79,12 @@ class RemoteAutomation(Automation):
if env is None:
env = {}
+ # Except for the mochitest results table hiding option, which isn't
+ # passed to runtestsremote.py as an actual option, but through the
+ # MOZ_CRASHREPORTER_DISABLE environment variable.
+ if 'MOZ_HIDE_RESULTS_TABLE' in os.environ:
+ env['MOZ_HIDE_RESULTS_TABLE'] = os.environ['MOZ_HIDE_RESULTS_TABLE']
+
if crashreporter:
env['MOZ_CRASHREPORTER_NO_REPORT'] = '1'
env['MOZ_CRASHREPORTER'] = '1'
diff --git a/configure.in b/configure.in
index 10f25ee8f4ed..76012b51c47a 100644
--- a/configure.in
+++ b/configure.in
@@ -7549,7 +7549,7 @@ else
dnl Look for a broken crtdll.obj
WIN32_CRTDLL_FULLPATH=`lib -nologo -list $WIN32_CRT_LIBS | grep crtdll\\.obj`
lib -NOLOGO -OUT:crtdll.obj $WIN32_CRT_LIBS -EXTRACT:$WIN32_CRTDLL_FULLPATH
- if grep -q __imp__\{0,1\}free crtdll.obj; then
+ if grep -q '__imp__\{0,1\}free' crtdll.obj; then
MOZ_MEMORY_LDFLAGS='-MANIFEST:NO -LIBPATH:$(DIST)/lib -NODEFAULTLIB:msvcrt -NODEFAULTLIB:msvcrtd -NODEFAULTLIB:msvcprt -NODEFAULTLIB:msvcprtd -DEFAULTLIB:mozcrt'
else
MOZ_MEMORY_LDFLAGS='$(DIST)/../memory/jemalloc/jemalloc.lib'
diff --git a/docshell/resources/content/netError.xhtml b/docshell/resources/content/netError.xhtml
index aecc59507031..459b709ddbcb 100644
--- a/docshell/resources/content/netError.xhtml
+++ b/docshell/resources/content/netError.xhtml
@@ -392,7 +392,7 @@
-
+
diff --git a/dom/base/nsJSEnvironment.cpp b/dom/base/nsJSEnvironment.cpp
index 1f5dd787b7df..d73afc0670d8 100644
--- a/dom/base/nsJSEnvironment.cpp
+++ b/dom/base/nsJSEnvironment.cpp
@@ -1623,6 +1623,8 @@ nsJSContext::ExecuteScript(void *aScriptObject,
// If all went well, convert val to a string (XXXbe unless undefined?).
rv = JSValueToAString(mContext, val, aRetValue, aIsUndefined);
} else {
+ ReportPendingException();
+
if (aIsUndefined) {
*aIsUndefined = PR_TRUE;
}
diff --git a/testing/mochitest/runtests.py b/testing/mochitest/runtests.py
index 4364c4be1237..22a23114f607 100644
--- a/testing/mochitest/runtests.py
+++ b/testing/mochitest/runtests.py
@@ -536,13 +536,14 @@ class Mochitest(object):
return browserEnv
- def buildURLOptions(self, options):
+ def buildURLOptions(self, options, env):
""" Add test control options from the command line to the url
URL parameters to test URL:
autorun -- kick off tests automatically
closeWhenDone -- runs quit.js after tests
+ hideResultsTable -- hides the table of individual test results
logFile -- logs test run to an absolute path
totalChunks -- how many chunks to split tests into
thisChunk -- which chunk to run
@@ -574,6 +575,8 @@ class Mochitest(object):
self.urlOpts.append("chunkByDir=%d" % options.chunkByDir)
if options.shuffle:
self.urlOpts.append("shuffle=1")
+ if "MOZ_HIDE_RESULTS_TABLE" in env and env["MOZ_HIDE_RESULTS_TABLE"] == "1":
+ self.urlOpts.append("hideResultsTable=1")
if options.loops:
self.urlOpts.append("loops=%d" % options.loops)
if os.path.isfile(self.oldcwd + self.TEST_PATH + options.testPath) and options.loops > 0:
@@ -633,7 +636,7 @@ class Mochitest(object):
self.startWebSocketServer(options, debuggerInfo)
testURL = self.buildTestPath(options)
- self.buildURLOptions(options)
+ self.buildURLOptions(options, browserEnv)
if len(self.urlOpts) > 0:
testURL += "?" + "&".join(self.urlOpts)
@@ -716,6 +719,9 @@ class Mochitest(object):
elif (options.a11y):
testRoot = 'a11y'
+ if "MOZ_HIDE_RESULTS_TABLE" in os.environ and os.environ["MOZ_HIDE_RESULTS_TABLE"] == "1":
+ options.hideResultsTable = True
+
#TODO: when we upgrade to python 2.6, just use json.dumps(options.__dict__)
content = "{"
content += '"testRoot": "%s", ' % (testRoot)
diff --git a/testing/mochitest/runtestsremote.py b/testing/mochitest/runtestsremote.py
index 312b7b1fed6d..00925a828c66 100644
--- a/testing/mochitest/runtestsremote.py
+++ b/testing/mochitest/runtestsremote.py
@@ -279,11 +279,11 @@ class MochiRemote(Mochitest):
options.profilePath = self.remoteProfile
return manifest
- def buildURLOptions(self, options):
+ def buildURLOptions(self, options, env):
self.localLog = options.logFile
options.logFile = self.remoteLog
options.profilePath = self.localProfile
- retVal = Mochitest.buildURLOptions(self, options)
+ retVal = Mochitest.buildURLOptions(self, options, env)
#we really need testConfig.js (for browser chrome)
if self._dm.pushDir(options.profilePath, self.remoteProfile) == None:
raise devicemanager.FileError("Unable to copy profile to device.")
diff --git a/testing/mochitest/server.js b/testing/mochitest/server.js
index f6372a11ab17..8cf5d2b9ed6a 100644
--- a/testing/mochitest/server.js
+++ b/testing/mochitest/server.js
@@ -604,6 +604,8 @@ function testListing(metadata, response)
var [links, count] = list(metadata.path,
metadata.getProperty("directory"),
true);
+ var table_class = metadata.queryString.indexOf("hideResultsTable=1") > -1 ? "invisible": "";
+
dumpn("count: " + count);
var tests = jsonArrayOfTestFiles(links);
response.write(
@@ -658,7 +660,7 @@ function testListing(metadata, response)
BR()
),
- TABLE({cellpadding: 0, cellspacing: 0, id: "test-table"},
+ TABLE({cellpadding: 0, cellspacing: 0, class: table_class, id: "test-table"},
TR(TD("Passed"), TD("Failed"), TD("Todo"), TD("Test Files")),
linksToTableRows(links, 0)
),
diff --git a/testing/testsuite-targets.mk b/testing/testsuite-targets.mk
index 34cbbfceaa99..c5981144829d 100644
--- a/testing/testsuite-targets.mk
+++ b/testing/testsuite-targets.mk
@@ -83,10 +83,10 @@ endif
mochitest-remote: DM_TRANS?=adb
mochitest-remote:
- if test -f ${MOZ_HOST_BIN}/xpcshell && [ "${TEST_DEVICE}" != "usb" -o "$(DM_TRANS)" = "adb" ]; \
+ @if test -f ${MOZ_HOST_BIN}/xpcshell && [ "${TEST_DEVICE}" != "usb" -o "$(DM_TRANS)" = "adb" ]; \
then $(RUN_MOCHITEST_REMOTE); \
else \
- @echo "please prepare your host with environment variables for TEST_DEVICE and MOZ_HOST_BIN"; \
+ echo "please prepare your host with environment variables for TEST_DEVICE and MOZ_HOST_BIN"; \
fi
mochitest-plain:
diff --git a/toolkit/mozapps/extensions/test/browser/browser_bug586574.js b/toolkit/mozapps/extensions/test/browser/browser_bug586574.js
index 3b32aada190e..41c0c9653ab2 100644
--- a/toolkit/mozapps/extensions/test/browser/browser_bug586574.js
+++ b/toolkit/mozapps/extensions/test/browser/browser_bug586574.js
@@ -10,6 +10,7 @@ var gManagerWindow;
var gProvider;
var gUtilsBtn;
+var gUtilsMenu;
var gDropdownMenu;
var gSetDefault;
var gResetToAutomatic;
diff --git a/toolkit/themes/gnomestripe/global/webConsole.css b/toolkit/themes/gnomestripe/global/webConsole.css
index 9c7c7a7d4ab6..3bd77d9eaaf3 100644
--- a/toolkit/themes/gnomestripe/global/webConsole.css
+++ b/toolkit/themes/gnomestripe/global/webConsole.css
@@ -106,7 +106,6 @@
margin: 2px 0;
padding-left: 4px;
padding-right: 4px;
- width: 1em;
color: white;
background-color: red;
border-radius: 40px;
diff --git a/toolkit/themes/pinstripe/global/webConsole.css b/toolkit/themes/pinstripe/global/webConsole.css
index bb323f7ecaea..db1fe9b60fdf 100644
--- a/toolkit/themes/pinstripe/global/webConsole.css
+++ b/toolkit/themes/pinstripe/global/webConsole.css
@@ -109,7 +109,6 @@
margin: 2px 0;
padding-left: 4px;
padding-right: 4px;
- width: 1em;
color: white;
background-color: red;
border-radius: 40px;
diff --git a/toolkit/themes/winstripe/global/webConsole.css b/toolkit/themes/winstripe/global/webConsole.css
index 1b241823c7b8..d15dde35ab4a 100644
--- a/toolkit/themes/winstripe/global/webConsole.css
+++ b/toolkit/themes/winstripe/global/webConsole.css
@@ -105,7 +105,6 @@
margin: 2px 0;
padding-left: 4px;
padding-right: 4px;
- width: 1em;
color: white;
background-color: red;
border-radius: 40px;
diff --git a/widget/src/qt/nsClipboard.cpp b/widget/src/qt/nsClipboard.cpp
index 40f84f0b475f..f729c893718a 100644
--- a/widget/src/qt/nsClipboard.cpp
+++ b/widget/src/qt/nsClipboard.cpp
@@ -436,9 +436,6 @@ nsClipboard::HasDataMatchingFlavors(const char** aFlavorList, PRUint32 aLength,
const QMimeData *mimeData = cb->mimeData();
const char *flavor=NULL;
QStringList formats = mimeData->formats();
- // Temp QString for comparison
- QString utf8text("text/plain;charset=utf-8");
- // And is there matching flavor?
for (PRUint32 i = 0; i < aLength; ++i)
{
flavor = aFlavorList[i];
@@ -451,10 +448,10 @@ nsClipboard::HasDataMatchingFlavors(const char** aFlavorList, PRUint32 aLength,
NS_WARNING("DO NOT USE THE text/plain DATA FLAVOR ANY MORE. USE text/unicode INSTEAD");
}
- // QClipboard says it has text/plain;charset=utf-8 data, mozilla wants to
- // know if the data is text/unicode -> interpret text/plain;charset=utf-8 to text/unicode
+ // QClipboard says it has text/plain, mozilla wants to
+ // know if the data is text/unicode -> interpret text/plain to text/unicode
if (formats.contains(qflavor) ||
- ((strcmp(flavor, kUnicodeMime) == 0) && formats.contains(utf8text)))
+ strcmp(flavor, kUnicodeMime) == 0)
{
// A match has been found, return'
*_retval = PR_TRUE;