Bug 416303 - Show default list, clear search, focus list when hitting escape from the search box. r=sdwilsh, a1.9=beltzner
This commit is contained in:
Родитель
ef31dcd17a
Коммит
a8cf29e5bb
|
@ -1,5 +1,5 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
* 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
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
* 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
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
* 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
|
||||
|
|
|
@ -411,6 +411,19 @@ function Startup()
|
|||
let obs = Cc["@mozilla.org/observer-service;1"].
|
||||
getService(Ci.nsIObserverService);
|
||||
obs.addObserver(gDownloadObserver, "download-manager-remove-download", false);
|
||||
|
||||
// Clear the search box and move focus to the list on escape from the box
|
||||
gSearchBox.addEventListener("keypress", function(e) {
|
||||
if (e.keyCode == e.DOM_VK_ESCAPE) {
|
||||
// Clear the input as if the user did it
|
||||
gSearchBox.value = "";
|
||||
gSearchBox.doCommand();
|
||||
|
||||
// Move focus to the list instead of closing the window
|
||||
gDownloadsView.focus();
|
||||
e.preventDefault();
|
||||
}
|
||||
}, true);
|
||||
}
|
||||
|
||||
function Shutdown()
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
* 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
|
||||
|
|
|
@ -51,6 +51,7 @@ _BROWSER_FILES = \
|
|||
browser_bug_394039.js \
|
||||
browser_bug_410289.js \
|
||||
browser_bug_413985.js \
|
||||
browser_bug_416303.js \
|
||||
$(NULL)
|
||||
|
||||
ifneq (,$(filter cocoa, $(MOZ_WIDGET_TOOLKIT)))
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
* 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
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
* 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
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
* 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
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
* 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
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
* 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
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
* 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
|
||||
|
|
|
@ -0,0 +1,87 @@
|
|||
/* ***** 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 Download Manager UI Test Code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Edward Lee <edward.lee@engineering.uiuc.edu>.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2008
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
* 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 ***** */
|
||||
|
||||
function test()
|
||||
{
|
||||
// Close the UI if necessary
|
||||
let wm = Cc["@mozilla.org/appshell/window-mediator;1"].
|
||||
getService(Ci.nsIWindowMediator);
|
||||
let win = wm.getMostRecentWindow("Download:Manager");
|
||||
if (win) win.close();
|
||||
|
||||
// Start the test when the download manager window loads
|
||||
let ww = Cc["@mozilla.org/embedcomp/window-watcher;1"].
|
||||
getService(Ci.nsIWindowWatcher);
|
||||
ww.registerNotification({
|
||||
observe: function(aSubject, aTopic, aData) {
|
||||
ww.unregisterNotification(this);
|
||||
aSubject.QueryInterface(Ci.nsIDOMEventTarget).
|
||||
addEventListener("DOMContentLoaded", doTest, false);
|
||||
}
|
||||
});
|
||||
|
||||
// Let the Startup method of the download manager UI finish before we test
|
||||
let doTest = function() setTimeout(function() {
|
||||
win = wm.getMostRecentWindow("Download:Manager");
|
||||
|
||||
// Put in a value to clear out
|
||||
let search = win.document.getElementById("searchbox");
|
||||
search.focus();
|
||||
search.value = "download manager escape test";
|
||||
|
||||
// Send the escape key to the download manager UI window
|
||||
let sendEscape = function() EventUtils.synthesizeKey("VK_ESCAPE", {}, win);
|
||||
|
||||
// Escape from search box
|
||||
sendEscape();
|
||||
is(win.closed, false,
|
||||
"Escape doesn't close the window when in the search box");
|
||||
is(search.value, "", "Escape correctly emptied the search box");
|
||||
|
||||
// Escape from list (escape from search box moves focus to list)
|
||||
sendEscape();
|
||||
is(win.closed, true,
|
||||
"Previous escape moved focus to list and now escape closed the window");
|
||||
|
||||
finish();
|
||||
}, 0);
|
||||
|
||||
// Show the Download Manager UI
|
||||
Cc["@mozilla.org/download-manager-ui;1"].
|
||||
getService(Ci.nsIDownloadManagerUI).show();
|
||||
|
||||
waitForExplicitFinish();
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
* 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
|
||||
|
|
Загрузка…
Ссылка в новой задаче