Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3596)

Unified Diff: chrome/browser/resources/chromeos/login/network_dropdown.js

Issue 14827004: cros: Arrow key traversal in views. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/resources/chromeos/login/network_dropdown.js
diff --git a/chrome/browser/resources/chromeos/login/network_dropdown.js b/chrome/browser/resources/chromeos/login/network_dropdown.js
index cda221dd881b457baad64739185bbd232f4f25e0..0e429cd5a9125dac671edaf463cd7e234391a547 100644
--- a/chrome/browser/resources/chromeos/login/network_dropdown.js
+++ b/chrome/browser/resources/chromeos/login/network_dropdown.js
@@ -294,6 +294,8 @@ cr.define('cr.ui', function() {
e.keyCode == DropDown.KEYCODE_DOWN)) {
this.opening = true;
this.controller.isShown = true;
+ e.stopPropagation();
+ e.preventDefault();
}
});
return el;
@@ -308,6 +310,7 @@ cr.define('cr.ui', function() {
if (!this.isShown)
return;
var selected = this.container.selectedItem;
+ var handled = false;
switch (e.keyCode) {
case DropDown.KEYCODE_UP: {
do {
@@ -316,6 +319,7 @@ cr.define('cr.ui', function() {
selected = this.container.lastElementChild;
} while (selected.iid < 0);
this.container.selectItem(selected, false);
+ handled = true;
break;
}
case DropDown.KEYCODE_DOWN: {
@@ -325,14 +329,17 @@ cr.define('cr.ui', function() {
selected = this.container.firstItem;
} while (selected.iid < 0);
this.container.selectItem(selected, false);
+ handled = true;
break;
}
case DropDown.KEYCODE_ESC: {
this.isShown = false;
+ handled = true;
break;
}
case DropDown.KEYCODE_TAB: {
this.isShown = false;
+ handled = true;
break;
}
case DropDown.KEYCODE_ENTER: {
@@ -344,9 +351,14 @@ cr.define('cr.ui', function() {
if (item.iid >= 0 && !item.classList.contains('disabled-item'))
chrome.send('networkItemChosen', [item.iid]);
}
+ handled = true;
break;
}
}
+ if (handled) {
+ e.stopPropagation();
+ e.preventDefault();
+ }
this.title_.opening = false;
}
};

Powered by Google App Engine
This is Rietveld 408576698