OLD | NEW |
(Empty) | |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 chrome.app.runtime.onLaunched.addListener(function() { |
| 6 chrome.app.window.create('main.html', {}, function(win) { |
| 7 // The following key events handler will prevent the default behavior for |
| 8 // the ESC key, thus will prevent the ESC key to leave fullscreen. |
| 9 win.contentWindow.document.addEventListener('keydown', function(e) { |
| 10 e.preventDefault(); |
| 11 }); |
| 12 win.contentWindow.document.addEventListener('keyup', function(e) { |
| 13 e.preventDefault(); |
| 14 }); |
| 15 |
| 16 chrome.test.sendMessage('Launched', function(reply) { |
| 17 var doc = win.contentWindow.document; |
| 18 |
| 19 switch (reply) { |
| 20 case 'window': |
| 21 doc.addEventListener('keydown', function(e) { |
| 22 if (e.keyCode != 66) // 'b' |
| 23 return; |
| 24 doc.removeEventListener('keydown', arguments.callee); |
| 25 // We do one trip to the event loop to increase the chances that |
| 26 // fullscreen could have been left before the message is received. |
| 27 setTimeout(function() { |
| 28 chrome.test.sendMessage('B_KEY_RECEIVED'); |
| 29 }); |
| 30 }); |
| 31 win.fullscreen(); |
| 32 break; |
| 33 |
| 34 case 'dom': |
| 35 doc.addEventListener('keydown', function() { |
| 36 doc.removeEventListener('keydown', arguments.callee); |
| 37 |
| 38 doc.addEventListener('keydown', function(e) { |
| 39 if (e.keyCode != 66) // 'b' |
| 40 return; |
| 41 doc.removeEventListener('keydown', arguments.callee); |
| 42 // We do one trip to the event loop to increase the chances that |
| 43 // fullscreen could have been left before the message is received. |
| 44 setTimeout(function() { |
| 45 chrome.test.sendMessage('B_KEY_RECEIVED'); |
| 46 }); |
| 47 }); |
| 48 |
| 49 doc.body.webkitRequestFullscreen(); |
| 50 }); |
| 51 break; |
| 52 } |
| 53 }); |
| 54 }); |
| 55 }); |
OLD | NEW |