summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorivankr@chromium.org <ivankr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-30 17:44:33 +0000
committerivankr@chromium.org <ivankr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-30 17:44:33 +0000
commitd761d085b10f9e3f04e25a4659bfadedd61c8568 (patch)
treed965a40bedf6a53f71736550d5f167283b247157
parent6879b3f3c1133f186be854f57715318890d2db88 (diff)
downloadchromium_src-d761d085b10f9e3f04e25a4659bfadedd61c8568.zip
chromium_src-d761d085b10f9e3f04e25a4659bfadedd61c8568.tar.gz
chromium_src-d761d085b10f9e3f04e25a4659bfadedd61c8568.tar.bz2
[cros] OOBE TPM overlay focus issues.
*) Focus is restricted to the TPM overlay. *) The 'OK' button is initially focused. BUG=chromium-os:18753,chromium-os:18754 TEST=Manual: in OOBE EULA screen, click the Security Setting link; focus should be initially over the Ok button and should never leave the overlay. Review URL: http://codereview.chromium.org/8086019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103495 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/chromeos/login/webui_login_view.cc2
-rw-r--r--chrome/browser/resources/chromeos/login/oobe.js7
2 files changed, 8 insertions, 1 deletions
diff --git a/chrome/browser/chromeos/login/webui_login_view.cc b/chrome/browser/chromeos/login/webui_login_view.cc
index 7a1376b..bb6f06e 100644
--- a/chrome/browser/chromeos/login/webui_login_view.cc
+++ b/chrome/browser/chromeos/login/webui_login_view.cc
@@ -365,7 +365,7 @@ bool WebUILoginView::IsPopupOrPanel(const TabContents* source) const {
}
bool WebUILoginView::TakeFocus(bool reverse) {
- if (status_area_) {
+ if (status_area_ && status_area_->IsVisible()) {
// Forward the focus to the status area.
base::Callback<void(bool)> return_focus_cb =
base::Bind(&WebUILoginView::ReturnFocus, base::Unretained(this));
diff --git a/chrome/browser/resources/chromeos/login/oobe.js b/chrome/browser/resources/chromeos/login/oobe.js
index 7a34a35..942175e 100644
--- a/chrome/browser/resources/chromeos/login/oobe.js
+++ b/chrome/browser/resources/chromeos/login/oobe.js
@@ -70,10 +70,17 @@ cr.define('cr.ui', function() {
$('security-link').addEventListener('click', function(event) {
chrome.send('eulaOnTpmPopupOpened', []);
$('popup-overlay').hidden = false;
+ $('security-ok-button').focus();
});
$('security-ok-button').addEventListener('click', function(event) {
$('popup-overlay').hidden = true;
});
+ // Do not allow focus leaving the overlay.
+ $('popup-overlay').addEventListener('focusout', function(event) {
+ // WebKit does not allow immediate focus return.
+ setTimeout(function() { $('security-ok-button').focus(); }, 0);
+ event.preventDefault();
+ });
chrome.send('screenStateInitialize', []);
};