OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 cr.define('print_preview', function() { | 5 cr.define('print_preview', function() { |
6 'use strict'; | 6 'use strict'; |
7 | 7 |
8 /** | 8 /** |
9 * FocusManager implementation specialized for Print Preview, which ensures | 9 * FocusManager implementation specialized for Print Preview, which ensures |
10 * that Print Preview itself does not receive focus when an overlay is shown. | 10 * that Print Preview itself does not receive focus when an overlay is shown. |
11 * @constructor | 11 * @constructor |
12 * @extends {cr.ui.FocusManager} | 12 * @extends {cr.ui.FocusManager} |
13 */ | 13 */ |
14 function PrintPreviewFocusManager() { | 14 function PrintPreviewFocusManager() {} |
15 } | |
16 | 15 |
17 cr.addSingletonGetter(PrintPreviewFocusManager); | 16 cr.addSingletonGetter(PrintPreviewFocusManager); |
18 | 17 |
19 PrintPreviewFocusManager.prototype = { | 18 PrintPreviewFocusManager.prototype = { |
20 __proto__: cr.ui.FocusManager.prototype, | 19 __proto__: cr.ui.FocusManager.prototype, |
21 | 20 |
22 /** @override */ | 21 /** @override */ |
23 getFocusParent: function() { | 22 getFocusParent: function() { |
24 var el = document.body; | 23 var el = document.body; |
25 var newEl = null; | 24 var newEl = null; |
26 while (newEl = el.querySelector('.overlay:not([hidden])')) | 25 while (newEl = el.querySelector('.overlay:not([hidden])')) |
27 el = newEl; | 26 el = newEl; |
28 return el; | 27 return el; |
29 } | 28 } |
30 }; | 29 }; |
31 | 30 |
32 // Export | 31 // Export |
33 return { | 32 return {PrintPreviewFocusManager: PrintPreviewFocusManager}; |
34 PrintPreviewFocusManager: PrintPreviewFocusManager | |
35 }; | |
36 }); | 33 }); |
OLD | NEW |