Index: chrome/browser/resources/settings/settings_page/settings_animated_pages.js |
diff --git a/chrome/browser/resources/settings/settings_page/settings_animated_pages.js b/chrome/browser/resources/settings/settings_page/settings_animated_pages.js |
index 3da7e7a3771d95773f3b294bd853e65a5d137363..b50d4fc6d0680c27ed6700cc9be789ca19d15000 100644 |
--- a/chrome/browser/resources/settings/settings_page/settings_animated_pages.js |
+++ b/chrome/browser/resources/settings/settings_page/settings_animated_pages.js |
@@ -51,6 +51,11 @@ Polymer({ |
this.lightDomChanged_.bind(this)); |
}, |
+ /** @override */ |
+ attached: function() { |
+ this.outline_ = cr.ui.FocusOutlineManager.forDocument(document); |
+ }, |
+ |
/** |
* @param {!Event} e |
* @private |
@@ -82,7 +87,19 @@ Polymer({ |
// the currentRouteChanged callback. Using 'iron-select' listener which |
// fires after the animation has finished allows focus() to work as |
// expected. |
- this.querySelector(selector).focus(); |
+ var toFocus = this.querySelector(selector); |
+ var suppressInk = !this.outline_.visible; |
+ var origNoInk; |
+ |
+ if (suppressInk) { |
+ origNoInk = toFocus.noink; |
+ toFocus.noink = true; |
+ } |
+ |
+ toFocus.focus(); |
+ |
+ if (suppressInk) |
+ toFocus.noink = origNoInk; |
} |
}, |