15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)cr.define('options', function() { 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) var FocusManager = cr.ui.FocusManager; 75f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) var PageManager = cr.ui.pageManager.PageManager; 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) function OptionsFocusManager() { 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) cr.addSingletonGetter(OptionsFocusManager); 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) OptionsFocusManager.prototype = { 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) __proto__: FocusManager.prototype, 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) /** @override */ 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) getFocusParent: function() { 195f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) var topPage = PageManager.getTopmostVisiblePage().pageDiv; 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // The default page and search page include a search field that is a 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // sibling of the rest of the page instead of a child. Thus, use the 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // parent node to allow the search field to receive focus. 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (topPage.parentNode.id == 'page-container') 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return topPage.parentNode; 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return topPage; 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }, 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }; 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return { 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) OptionsFocusManager: OptionsFocusManager, 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }; 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}); 35