diff --git a/browser/base/content/browser-places.js b/browser/base/content/browser-places.js index 54013d915ac8..a6b1d8363330 100644 --- a/browser/base/content/browser-places.js +++ b/browser/base/content/browser-places.js @@ -1379,44 +1379,37 @@ var BookmarkingUI = { aHeaderItem.nextSibling.remove(); } - PlacesUtils.history.QueryInterface(Ci.nsPIPlacesDatabase) - .asyncExecuteLegacyQueries([query], 1, options, { - handleResult: function (aResultSet) { - let onItemCommand = function (aEvent) { - let item = aEvent.target; - openUILink(item.getAttribute("targetURI"), aEvent); - CustomizableUI.hidePanelForNode(item); - }; + let onItemCommand = function (aEvent) { + let item = aEvent.target; + openUILink(item.getAttribute("targetURI"), aEvent); + CustomizableUI.hidePanelForNode(item); + }; - let fragment = document.createDocumentFragment(); - let row; - while ((row = aResultSet.getNextRow())) { - let uri = row.getResultByIndex(1); - let title = row.getResultByIndex(2); - let icon = row.getResultByIndex(6); + let fragment = document.createDocumentFragment(); + let root = PlacesUtils.history.executeQuery(query, options).root; + root.containerOpen = true; + for (let i = 0; i < root.childCount; i++) { + let node = root.getChild(i); + let uri = node.uri; + let title = node.title; + let icon = node.icon; - let item = - document.createElementNS("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul", - "menuitem"); - item.setAttribute("label", title || uri); - item.setAttribute("targetURI", uri); - item.setAttribute("class", "menuitem-iconic menuitem-with-favicon bookmark-item " + - extraCSSClass); - item.addEventListener("command", onItemCommand); - if (icon) { - let iconURL = "moz-anno:favicon:" + icon; - item.setAttribute("image", iconURL); - } - fragment.appendChild(item); - } - aHeaderItem.parentNode.insertBefore(fragment, aHeaderItem.nextSibling); - }, - handleError: function (aError) { - Cu.reportError("Error while attempting to show recent bookmarks: " + aError); - }, - handleCompletion: function (aReason) { - }, - }); + let item = + document.createElementNS("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul", + "menuitem"); + item.setAttribute("label", title || uri); + item.setAttribute("targetURI", uri); + item.setAttribute("class", "menuitem-iconic menuitem-with-favicon bookmark-item " + + extraCSSClass); + item.addEventListener("command", onItemCommand); + if (icon) { + let iconURL = "moz-anno:favicon:" + icon; + item.setAttribute("image", iconURL); + } + fragment.appendChild(item); + } + root.containerOpen = false; + aHeaderItem.parentNode.insertBefore(fragment, aHeaderItem.nextSibling); }, /** diff --git a/browser/base/content/contentSearchUI.js b/browser/base/content/contentSearchUI.js index 92611cd4c38c..34f4f2efc28d 100644 --- a/browser/base/content/contentSearchUI.js +++ b/browser/base/content/contentSearchUI.js @@ -252,7 +252,8 @@ ContentSearchUIController.prototype = { let searchText = this.input; let searchTerms; if (this._table.hidden || - aEvent.originalTarget.id == "contentSearchDefaultEngineHeader") { + aEvent.originalTarget.id == "contentSearchDefaultEngineHeader" || + aEvent instanceof KeyboardEvent) { searchTerms = searchText.value; } else { diff --git a/browser/base/content/test/general/browser.ini b/browser/base/content/test/general/browser.ini index 585b732a4f3e..dcfac57841ff 100644 --- a/browser/base/content/test/general/browser.ini +++ b/browser/base/content/test/general/browser.ini @@ -290,7 +290,6 @@ skip-if = os == 'win' || e10s # Bug 1159268 - Need a content-process safe versio [browser_bug1070778.js] [browser_accesskeys.js] [browser_canonizeURL.js] -skip-if = e10s # Bug 1094510 - test hits the network in e10s mode only [browser_clipboard.js] [browser_contentAreaClick.js] [browser_contextmenu.js] diff --git a/browser/base/content/test/general/browser_canonizeURL.js b/browser/base/content/test/general/browser_canonizeURL.js index 48fd814440fe..2b0fc22e7eba 100644 --- a/browser/base/content/test/general/browser_canonizeURL.js +++ b/browser/base/content/test/general/browser_canonizeURL.js @@ -1,8 +1,3 @@ -function test() { - waitForExplicitFinish(); - testNext(); -} - var pairs = [ ["example", "http://www.example.net/"], ["ex-ample", "http://www.ex-ample.net/"], @@ -20,37 +15,56 @@ var pairs = [ ["ex ample", Services.search.defaultEngine.getSubmission("ex ample", null, "keyword").uri.spec], ]; -function testNext() { - if (!pairs.length) { - finish(); - return; - } +add_task(function*() { + for (let [inputValue, expectedURL] of pairs) { + let focusEventPromise = BrowserTestUtils.waitForEvent(gURLBar, "focus"); + let messagePromise = BrowserTestUtils.waitForMessage(gBrowser.selectedBrowser.messageManager, + "browser_canonizeURL:start"); - let [inputValue, expectedURL] = pairs.shift(); + let stoppedLoadPromise = ContentTask.spawn(gBrowser.selectedBrowser, [inputValue, expectedURL], + function([inputValue, expectedURL]) { + return new Promise(resolve => { + let wpl = { + onStateChange(aWebProgress, aRequest, aStateFlags, aStatus) { + if (aStateFlags & Ci.nsIWebProgressListener.STATE_START && + aStateFlags & Ci.nsIWebProgressListener.STATE_IS_NETWORK) { + if (!aRequest || !(aRequest instanceof Ci.nsIChannel)) { + return; + } + aRequest.QueryInterface(Ci.nsIChannel); + is(aRequest.originalURI.spec, expectedURL, + "entering '" + inputValue + "' loads expected URL"); - gBrowser.addProgressListener({ - onStateChange: function onStateChange(aWebProgress, aRequest, aStateFlags, aStatus) { - if (aStateFlags & Ci.nsIWebProgressListener.STATE_START && - aStateFlags & Ci.nsIWebProgressListener.STATE_IS_NETWORK) { - is(aRequest.originalURI.spec, expectedURL, - "entering '" + inputValue + "' loads expected URL"); + webProgress.removeProgressListener(filter); + filter.removeProgressListener(wpl); + docShell.QueryInterface(Ci.nsIWebNavigation); + docShell.stop(docShell.STOP_ALL); + resolve(); + } + }, + }; + let filter = Cc["@mozilla.org/appshell/component/browser-status-filter;1"] + .createInstance(Ci.nsIWebProgress); + filter.addProgressListener(wpl, Ci.nsIWebProgress.NOTIFY_ALL); - gBrowser.removeProgressListener(this); - gBrowser.stop(); - - executeSoon(testNext); + let webProgress = docShell.QueryInterface(Ci.nsIInterfaceRequestor) + .getInterface(Ci.nsIWebProgress); + webProgress.addProgressListener(filter, Ci.nsIWebProgress.NOTIFY_ALL); + // We're sending this off to trigger the start of the this test, when all the + // listeners are in place: + sendAsyncMessage("browser_canonizeURL:start"); + }); } - } - }); + ); + + gBrowser.selectedBrowser.focus(); + gURLBar.focus(); + + yield Promise.all([focusEventPromise, messagePromise]); - gURLBar.addEventListener("focus", function onFocus() { - gURLBar.removeEventListener("focus", onFocus); gURLBar.inputField.value = inputValue.slice(0, -1); EventUtils.synthesizeKey(inputValue.slice(-1) , {}); EventUtils.synthesizeKey("VK_RETURN", { shiftKey: true }); - }); - - gBrowser.selectedBrowser.focus(); - gURLBar.focus(); - -} + yield stoppedLoadPromise; + } +}); diff --git a/browser/components/controlcenter/content/panel.inc.xul b/browser/components/controlcenter/content/panel.inc.xul index d02efd69d95a..537c77f56c2d 100644 --- a/browser/components/controlcenter/content/panel.inc.xul +++ b/browser/components/controlcenter/content/panel.inc.xul @@ -105,7 +105,7 @@ when-connection="secure secure-ev"/> - + &identity.connectionVerified1; @@ -168,7 +168,9 @@ label="&identity.enableMixedContentBlocking.label;" accesskey="&identity.enableMixedContentBlocking.accesskey;" oncommand="gIdentityHandler.enableMixedContentProtection()"/> + +