From ac06b3a3f73d8873cea7d591b5b6e4f6e47d7a1d Mon Sep 17 00:00:00 2001 From: Tim Taubert Date: Thu, 26 Jul 2012 13:52:15 +0200 Subject: [PATCH 1/7] Bug 774811 - Thumbnail_capture causes 125ms of jank during load of webgl aquarium; r=dao --- browser/components/thumbnails/PageThumbs.jsm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/browser/components/thumbnails/PageThumbs.jsm b/browser/components/thumbnails/PageThumbs.jsm index 09d383ba9af..871b159e83d 100644 --- a/browser/components/thumbnails/PageThumbs.jsm +++ b/browser/components/thumbnails/PageThumbs.jsm @@ -137,7 +137,12 @@ let PageThumbs = { telemetry.getHistogramById("FX_THUMBNAILS_CAPTURE_TIME_MS") .add(new Date() - telemetryCaptureTime); - canvas.mozFetchAsStream(aCallback, this.contentType); + // Fetch the canvas data on the next event loop tick so that we allow + // some event processing in between drawing to the canvas and encoding + // its data. We want to block the UI as short as possible. See bug 744100. + Services.tm.currentThread.dispatch(function () { + canvas.mozFetchAsStream(aCallback, this.contentType); + }.bind(this), Ci.nsIThread.DISPATCH_NORMAL); }, /** From 059ec2c88f34858000bde0d2af9ffb9c0bce5371 Mon Sep 17 00:00:00 2001 From: Tim Taubert Date: Thu, 26 Jul 2012 15:20:28 +0200 Subject: [PATCH 2/7] Bug 631956 - Intermittent browser_522545.js | sessionstore got correct userTypedValue; r=froydnj --- .../sessionstore/test/browser_522545.js | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/browser/components/sessionstore/test/browser_522545.js b/browser/components/sessionstore/test/browser_522545.js index 50d6be4becf..ac05865de56 100644 --- a/browser/components/sessionstore/test/browser_522545.js +++ b/browser/components/sessionstore/test/browser_522545.js @@ -198,20 +198,24 @@ function test() { event.initEvent("input", true, false); gURLBar.dispatchEvent(event); - executeSoon(function() { - is(browser.userTypedValue, "example.org", - "userTypedValue was set when changing gURLBar.value"); - is(browser.userTypedClear, 0, - "userTypedClear was not changed when changing gURLBar.value"); + browser.addEventListener("load", function onLoad() { + browser.removeEventListener("load", onLoad, true); - // Now make sure ss gets these values too - let newState = JSON.parse(ss.getBrowserState()); - is(newState.windows[0].tabs[0].userTypedValue, "example.org", - "sessionstore got correct userTypedValue"); - is(newState.windows[0].tabs[0].userTypedClear, 0, - "sessionstore got correct userTypedClear"); - runNextTest(); - }); + executeSoon(function () { + is(browser.userTypedValue, "example.org", + "userTypedValue was set when changing gURLBar.value"); + is(browser.userTypedClear, 0, + "userTypedClear was not changed when changing gURLBar.value"); + + // Now make sure ss gets these values too + let newState = JSON.parse(ss.getBrowserState()); + is(newState.windows[0].tabs[0].userTypedValue, "example.org", + "sessionstore got correct userTypedValue"); + is(newState.windows[0].tabs[0].userTypedClear, 0, + "sessionstore got correct userTypedClear"); + runNextTest(); + }); + }, true); }); } From 0c526246f6b9a59252f8caeda7ecc278c77f99bd Mon Sep 17 00:00:00 2001 From: Heather Arthur Date: Thu, 26 Jul 2012 22:47:39 +0100 Subject: [PATCH 3/7] Bug 741576 - Style tweaks for Computed view; r=paul --- browser/devtools/styleinspector/csshtmltree.xul | 6 +++--- .../styleinspector/test/browser_bug589375_keybindings.js | 1 + browser/themes/gnomestripe/devtools/csshtmltree.css | 2 +- browser/themes/pinstripe/devtools/csshtmltree.css | 2 +- browser/themes/winstripe/devtools/csshtmltree.css | 2 +- 5 files changed, 7 insertions(+), 6 deletions(-) diff --git a/browser/devtools/styleinspector/csshtmltree.xul b/browser/devtools/styleinspector/csshtmltree.xul index 216ffa30b7a..cd78089df8f 100644 --- a/browser/devtools/styleinspector/csshtmltree.xul +++ b/browser/devtools/styleinspector/csshtmltree.xul @@ -53,12 +53,12 @@ To visually debug the templates without running firefox, alter the display:none -->
- +
diff --git a/browser/devtools/styleinspector/test/browser_bug589375_keybindings.js b/browser/devtools/styleinspector/test/browser_bug589375_keybindings.js index 0e8bacbfbd0..d3728170d56 100644 --- a/browser/devtools/styleinspector/test/browser_bug589375_keybindings.js +++ b/browser/devtools/styleinspector/test/browser_bug589375_keybindings.js @@ -69,6 +69,7 @@ function SI_test() info("search filter is focused"); info("tabbing to property expander node"); EventUtils.synthesizeKey("VK_TAB", {}, iframe.contentWindow); + EventUtils.synthesizeKey("VK_TAB", {}, iframe.contentWindow); }); info("Making sure that the style inspector panel is focused"); diff --git a/browser/themes/gnomestripe/devtools/csshtmltree.css b/browser/themes/gnomestripe/devtools/csshtmltree.css index 68230a1554d..5ac2864f670 100644 --- a/browser/themes/gnomestripe/devtools/csshtmltree.css +++ b/browser/themes/gnomestripe/devtools/csshtmltree.css @@ -9,7 +9,7 @@ } .property-header { - padding: 5px 0; + padding: 2px 0; white-space: nowrap; vertical-align: text-top; } diff --git a/browser/themes/pinstripe/devtools/csshtmltree.css b/browser/themes/pinstripe/devtools/csshtmltree.css index 54b775fb075..359183bcedd 100644 --- a/browser/themes/pinstripe/devtools/csshtmltree.css +++ b/browser/themes/pinstripe/devtools/csshtmltree.css @@ -9,7 +9,7 @@ } .property-header { - padding: 5px 0; + padding: 2px 0; white-space: nowrap; vertical-align: text-top; } diff --git a/browser/themes/winstripe/devtools/csshtmltree.css b/browser/themes/winstripe/devtools/csshtmltree.css index deca625ab92..938f4218a0e 100644 --- a/browser/themes/winstripe/devtools/csshtmltree.css +++ b/browser/themes/winstripe/devtools/csshtmltree.css @@ -9,7 +9,7 @@ } .property-header { - padding: 5px 0; + padding: 2px 0; white-space: nowrap; vertical-align: text-top; } From fe7022b75726578ba4ed03cf9704eeac56a47fc3 Mon Sep 17 00:00:00 2001 From: Michael Ratcliffe Date: Wed, 25 Jul 2012 18:34:34 +0100 Subject: [PATCH 4/7] Bug 777355 - Move Console.jsm somewhere into toolkit to fix comm-central's busted XPCShell tests.; r=rcampbell --HG-- rename : browser/devtools/shared/Console.jsm => toolkit/devtools/Console.jsm --- browser/devtools/commandline/GcliCommands.jsm | 2 +- browser/devtools/commandline/gcli.jsm | 4 ++-- .../devtools/commandline/test/browser_gcli_integrate.js | 2 +- browser/devtools/commandline/test/browser_gcli_pref.js | 2 +- browser/devtools/commandline/test/browser_gcli_settings.js | 2 +- browser/devtools/commandline/test/browser_gcli_web.js | 4 ++-- browser/devtools/commandline/test/head.js | 2 +- browser/devtools/shared/DeveloperToolbar.jsm | 2 +- browser/devtools/shared/test/browser_require_basic.js | 2 +- browser/devtools/shared/test/head.js | 2 +- {browser/devtools/shared => toolkit/devtools}/Console.jsm | 0 toolkit/devtools/Makefile.in | 7 +++---- toolkit/devtools/Require.jsm | 2 +- toolkit/devtools/sourcemap/SourceMap.jsm | 2 +- toolkit/devtools/sourcemap/tests/unit/Utils.jsm | 2 +- 15 files changed, 18 insertions(+), 19 deletions(-) rename {browser/devtools/shared => toolkit/devtools}/Console.jsm (100%) diff --git a/browser/devtools/commandline/GcliCommands.jsm b/browser/devtools/commandline/GcliCommands.jsm index f14c479b558..738ee6a92b0 100644 --- a/browser/devtools/commandline/GcliCommands.jsm +++ b/browser/devtools/commandline/GcliCommands.jsm @@ -24,7 +24,7 @@ XPCOMUtils.defineLazyModuleGetter(this, "LayoutHelpers", "resource:///modules/devtools/LayoutHelpers.jsm"); XPCOMUtils.defineLazyModuleGetter(this, "console", - "resource:///modules/devtools/Console.jsm"); + "resource://gre/modules/devtools/Console.jsm"); XPCOMUtils.defineLazyModuleGetter(this, "AddonManager", "resource://gre/modules/AddonManager.jsm"); diff --git a/browser/devtools/commandline/gcli.jsm b/browser/devtools/commandline/gcli.jsm index 1729af37437..f0a8d21bb75 100644 --- a/browser/devtools/commandline/gcli.jsm +++ b/browser/devtools/commandline/gcli.jsm @@ -26,8 +26,8 @@ var EXPORTED_SYMBOLS = [ "gcli" ]; -Components.utils.import("resource://gre/modules/Require.jsm"); -Components.utils.import("resource:///modules/devtools/Console.jsm"); +Components.utils.import("resource://gre/modules/devtools/Require.jsm"); +Components.utils.import("resource://gre/modules/devtools/Console.jsm"); Components.utils.import("resource:///modules/devtools/Browser.jsm"); /* diff --git a/browser/devtools/commandline/test/browser_gcli_integrate.js b/browser/devtools/commandline/test/browser_gcli_integrate.js index 70609f64010..2eb9236b796 100644 --- a/browser/devtools/commandline/test/browser_gcli_integrate.js +++ b/browser/devtools/commandline/test/browser_gcli_integrate.js @@ -11,7 +11,7 @@ function test() { let [ define, require ] = (function() { let tempScope = {}; - Components.utils.import("resource://gre/modules/Require.jsm", tempScope); + Components.utils.import("resource://gre/modules/devtools/Require.jsm", tempScope); return [ tempScope.define, tempScope.require ]; })(); diff --git a/browser/devtools/commandline/test/browser_gcli_pref.js b/browser/devtools/commandline/test/browser_gcli_pref.js index 96dfedc8a51..1582c0cacfa 100755 --- a/browser/devtools/commandline/test/browser_gcli_pref.js +++ b/browser/devtools/commandline/test/browser_gcli_pref.js @@ -42,7 +42,7 @@ let tabSizeOrig = undefined; let remoteHostOrig = undefined; function setup() { - Components.utils.import("resource://gre/modules/Require.jsm", imports); + Components.utils.import("resource://gre/modules/devtools/Require.jsm", imports); imports.settings = imports.require("gcli/settings"); tiltEnabledOrig = imports.prefBranch.getBoolPref("devtools.tilt.enabled"); diff --git a/browser/devtools/commandline/test/browser_gcli_settings.js b/browser/devtools/commandline/test/browser_gcli_settings.js index 2e7a4c14674..4f7dc80c095 100755 --- a/browser/devtools/commandline/test/browser_gcli_settings.js +++ b/browser/devtools/commandline/test/browser_gcli_settings.js @@ -41,7 +41,7 @@ let tabSizeOrig = undefined; let remoteHostOrig = undefined; function setup() { - Components.utils.import("resource://gre/modules/Require.jsm", imports); + Components.utils.import("resource://gre/modules/devtools/Require.jsm", imports); imports.settings = imports.require("gcli/settings"); tiltEnabled = imports.settings.getSetting("devtools.tilt.enabled"); diff --git a/browser/devtools/commandline/test/browser_gcli_web.js b/browser/devtools/commandline/test/browser_gcli_web.js index bf0db827fb7..c471e3e51c7 100644 --- a/browser/devtools/commandline/test/browser_gcli_web.js +++ b/browser/devtools/commandline/test/browser_gcli_web.js @@ -54,13 +54,13 @@ let [ define, require ] = (function() { let tempScope = {}; - Components.utils.import("resource://gre/modules/Require.jsm", tempScope); + Components.utils.import("resource://gre/modules/devtools/Require.jsm", tempScope); return [ tempScope.define, tempScope.require ]; })(); let console = (function() { let tempScope = {}; - Components.utils.import("resource:///modules/devtools/Console.jsm", tempScope); + Components.utils.import("resource://gre/modules/devtools/Console.jsm", tempScope); return console; })(); diff --git a/browser/devtools/commandline/test/head.js b/browser/devtools/commandline/test/head.js index 79f907131b6..53c3de69ce1 100644 --- a/browser/devtools/commandline/test/head.js +++ b/browser/devtools/commandline/test/head.js @@ -7,7 +7,7 @@ const TEST_BASE_HTTPS = "https://example.com/browser/browser/devtools/commandlin let console = (function() { let tempScope = {}; - Components.utils.import("resource:///modules/devtools/Console.jsm", tempScope); + Components.utils.import("resource://gre/modules/devtools/Console.jsm", tempScope); return tempScope.console; })(); diff --git a/browser/devtools/shared/DeveloperToolbar.jsm b/browser/devtools/shared/DeveloperToolbar.jsm index 85678b692b3..98531802bf3 100644 --- a/browser/devtools/shared/DeveloperToolbar.jsm +++ b/browser/devtools/shared/DeveloperToolbar.jsm @@ -15,7 +15,7 @@ Components.utils.import("resource://gre/modules/XPCOMUtils.jsm"); Components.utils.import("resource://gre/modules/Services.jsm"); XPCOMUtils.defineLazyModuleGetter(this, "console", - "resource:///modules/devtools/Console.jsm"); + "resource://gre/modules/devtools/Console.jsm"); XPCOMUtils.defineLazyModuleGetter(this, "gcli", "resource:///modules/devtools/gcli.jsm"); diff --git a/browser/devtools/shared/test/browser_require_basic.js b/browser/devtools/shared/test/browser_require_basic.js index 78fa59caad9..f86974df45b 100644 --- a/browser/devtools/shared/test/browser_require_basic.js +++ b/browser/devtools/shared/test/browser_require_basic.js @@ -6,7 +6,7 @@ let [ define, require ] = (function() { let tempScope = {}; - Components.utils.import("resource://gre/modules/Require.jsm", tempScope); + Components.utils.import("resource://gre/modules/devtools/Require.jsm", tempScope); return [ tempScope.define, tempScope.require ]; })(); diff --git a/browser/devtools/shared/test/head.js b/browser/devtools/shared/test/head.js index d4d3c4bff29..3e94385a4c1 100644 --- a/browser/devtools/shared/test/head.js +++ b/browser/devtools/shared/test/head.js @@ -4,7 +4,7 @@ let console = (function() { let tempScope = {}; - Components.utils.import("resource:///modules/devtools/Console.jsm", tempScope); + Components.utils.import("resource://gre/modules/devtools/Console.jsm", tempScope); return tempScope.console; })(); diff --git a/browser/devtools/shared/Console.jsm b/toolkit/devtools/Console.jsm similarity index 100% rename from browser/devtools/shared/Console.jsm rename to toolkit/devtools/Console.jsm diff --git a/toolkit/devtools/Makefile.in b/toolkit/devtools/Makefile.in index 9feaac63a93..7404b79eb33 100644 --- a/toolkit/devtools/Makefile.in +++ b/toolkit/devtools/Makefile.in @@ -14,8 +14,7 @@ PARALLEL_DIRS += \ sourcemap \ $(NULL) -EXTRA_JS_MODULES = \ - Require.jsm \ - $(NULL) - include $(topsrcdir)/config/rules.mk + +libs:: + $(NSINSTALL) $(srcdir)/*.jsm $(FINAL_TARGET)/modules/devtools diff --git a/toolkit/devtools/Require.jsm b/toolkit/devtools/Require.jsm index cb7168d3bf0..48ab4990568 100644 --- a/toolkit/devtools/Require.jsm +++ b/toolkit/devtools/Require.jsm @@ -19,7 +19,7 @@ const EXPORTED_SYMBOLS = [ "define", "require" ]; const console = (function() { const tempScope = {}; - Components.utils.import("resource:///modules/devtools/Console.jsm", tempScope); + Components.utils.import("resource://gre/modules/devtools/Console.jsm", tempScope); return tempScope.console; })(); diff --git a/toolkit/devtools/sourcemap/SourceMap.jsm b/toolkit/devtools/sourcemap/SourceMap.jsm index e9acd32b07a..5b006681a40 100644 --- a/toolkit/devtools/sourcemap/SourceMap.jsm +++ b/toolkit/devtools/sourcemap/SourceMap.jsm @@ -17,7 +17,7 @@ var EXPORTED_SYMBOLS = [ "SourceMapConsumer", "SourceMapGenerator", "SourceNode" ]; -Components.utils.import('resource://gre/modules/Require.jsm'); +Components.utils.import('resource://gre/modules/devtools/Require.jsm'); /* -*- Mode: js; js-indent-level: 2; -*- */ /* * Copyright 2011 Mozilla Foundation and contributors diff --git a/toolkit/devtools/sourcemap/tests/unit/Utils.jsm b/toolkit/devtools/sourcemap/tests/unit/Utils.jsm index 76caadfdd6b..83a14c628e4 100644 --- a/toolkit/devtools/sourcemap/tests/unit/Utils.jsm +++ b/toolkit/devtools/sourcemap/tests/unit/Utils.jsm @@ -12,7 +12,7 @@ * https://github.com/mozilla/source-map/ */ -Components.utils.import('resource://gre/modules/Require.jsm'); +Components.utils.import('resource://gre/modules/devtools/Require.jsm'); Components.utils.import('resource:///modules/devtools/SourceMap.jsm'); let EXPORTED_SYMBOLS = [ "define", "runSourceMapTests" ]; From 43ecb4cbb9e19d5623c70a03850a48982ca4fe5e Mon Sep 17 00:00:00 2001 From: Ed Morley Date: Fri, 27 Jul 2012 10:34:39 +0100 Subject: [PATCH 5/7] Backout 6b2d5e37140e (bug 741576) for Win7 timeouts in browser_styleinspector_bug_672744_search_filter.js --- browser/devtools/styleinspector/csshtmltree.xul | 6 +++--- .../styleinspector/test/browser_bug589375_keybindings.js | 1 - browser/themes/gnomestripe/devtools/csshtmltree.css | 2 +- browser/themes/pinstripe/devtools/csshtmltree.css | 2 +- browser/themes/winstripe/devtools/csshtmltree.css | 2 +- 5 files changed, 6 insertions(+), 7 deletions(-) diff --git a/browser/devtools/styleinspector/csshtmltree.xul b/browser/devtools/styleinspector/csshtmltree.xul index cd78089df8f..216ffa30b7a 100644 --- a/browser/devtools/styleinspector/csshtmltree.xul +++ b/browser/devtools/styleinspector/csshtmltree.xul @@ -53,12 +53,12 @@ To visually debug the templates without running firefox, alter the display:none -->
- +
diff --git a/browser/devtools/styleinspector/test/browser_bug589375_keybindings.js b/browser/devtools/styleinspector/test/browser_bug589375_keybindings.js index d3728170d56..0e8bacbfbd0 100644 --- a/browser/devtools/styleinspector/test/browser_bug589375_keybindings.js +++ b/browser/devtools/styleinspector/test/browser_bug589375_keybindings.js @@ -69,7 +69,6 @@ function SI_test() info("search filter is focused"); info("tabbing to property expander node"); EventUtils.synthesizeKey("VK_TAB", {}, iframe.contentWindow); - EventUtils.synthesizeKey("VK_TAB", {}, iframe.contentWindow); }); info("Making sure that the style inspector panel is focused"); diff --git a/browser/themes/gnomestripe/devtools/csshtmltree.css b/browser/themes/gnomestripe/devtools/csshtmltree.css index 5ac2864f670..68230a1554d 100644 --- a/browser/themes/gnomestripe/devtools/csshtmltree.css +++ b/browser/themes/gnomestripe/devtools/csshtmltree.css @@ -9,7 +9,7 @@ } .property-header { - padding: 2px 0; + padding: 5px 0; white-space: nowrap; vertical-align: text-top; } diff --git a/browser/themes/pinstripe/devtools/csshtmltree.css b/browser/themes/pinstripe/devtools/csshtmltree.css index 359183bcedd..54b775fb075 100644 --- a/browser/themes/pinstripe/devtools/csshtmltree.css +++ b/browser/themes/pinstripe/devtools/csshtmltree.css @@ -9,7 +9,7 @@ } .property-header { - padding: 2px 0; + padding: 5px 0; white-space: nowrap; vertical-align: text-top; } diff --git a/browser/themes/winstripe/devtools/csshtmltree.css b/browser/themes/winstripe/devtools/csshtmltree.css index 938f4218a0e..deca625ab92 100644 --- a/browser/themes/winstripe/devtools/csshtmltree.css +++ b/browser/themes/winstripe/devtools/csshtmltree.css @@ -9,7 +9,7 @@ } .property-header { - padding: 2px 0; + padding: 5px 0; white-space: nowrap; vertical-align: text-top; } From e2c340ff750e111a80b6785d57fbf2ea0d11efd2 Mon Sep 17 00:00:00 2001 From: Jonathan Griffin Date: Fri, 27 Jul 2012 09:39:55 -0700 Subject: [PATCH 6/7] Bug 753490 - Fix find_element regression, r=mdas, DONTBUILD because NPOTB --- testing/marionette/marionette-elements.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testing/marionette/marionette-elements.js b/testing/marionette/marionette-elements.js index 1a47c68a329..80cd07ed58b 100644 --- a/testing/marionette/marionette-elements.js +++ b/testing/marionette/marionette-elements.js @@ -62,7 +62,7 @@ ElementManager.prototype = { */ addToKnownElements: function EM_addToKnownElements(element) { for (let i in this.seenItems) { - if (this.seenItems[i] == element) { + if (XPCNativeWrapper(this.seenItems[i]) == XPCNativeWrapper(element)) { return i; } } From fce2513c224c88196b152cf0460113420eb0a14a Mon Sep 17 00:00:00 2001 From: David Burns Date: Thu, 26 Jul 2012 12:36:15 -0700 Subject: [PATCH 7/7] Bug 776189 - Prevent Marionette from attaching to type=content browser, r=mdas, DONTBUILD because NPOTB --- testing/marionette/marionette-actors.js | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/testing/marionette/marionette-actors.js b/testing/marionette/marionette-actors.js index 96fedd19e90..c94fc5607a7 100644 --- a/testing/marionette/marionette-actors.js +++ b/testing/marionette/marionette-actors.js @@ -1374,14 +1374,21 @@ MarionetteDriverActor.prototype = { let nullPrevious = (this.curBrowser.curFrameId == null); let curWin = this.getCurrentWindow(); let frameObject = curWin.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils).getOuterWindowWithId(message.json.value); - let reg = this.curBrowser.register(message.json.value, message.json.href); - if (reg) { - this.curBrowser.elementManager.seenItems[reg] = frameObject; //add to seenItems - if (nullPrevious && (this.curBrowser.curFrameId != null)) { - this.sendAsync("newSession", {B2G: (appName == "B2G")}); - if (this.curBrowser.newSession) { - this.sendResponse(reg); - } + let browserType; + try { + browserType = message.target.getAttribute("type"); + } catch (ex) { + // browserType remains undefined. + } + let reg; + if (!browserType || browserType != "content") { + reg = this.curBrowser.register(message.json.value, message.json.href); + } + this.curBrowser.elementManager.seenItems[reg] = frameObject; //add to seenItems + if (nullPrevious && (this.curBrowser.curFrameId != null)) { + this.sendAsync("newSession", {B2G: (appName == "B2G")}); + if (this.curBrowser.newSession) { + this.sendResponse(reg); } } return reg;