diff options
author | ivankr@chromium.org <ivankr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-30 17:44:33 +0000 |
---|---|---|
committer | ivankr@chromium.org <ivankr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-30 17:44:33 +0000 |
commit | d761d085b10f9e3f04e25a4659bfadedd61c8568 (patch) | |
tree | d965a40bedf6a53f71736550d5f167283b247157 | |
parent | 6879b3f3c1133f186be854f57715318890d2db88 (diff) | |
download | chromium_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.cc | 2 | ||||
-rw-r--r-- | chrome/browser/resources/chromeos/login/oobe.js | 7 |
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', []); }; |