Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / chrome / test / data / extensions / platform_apps / web_view / pointer_lock / guest.js
1 // Copyright (c) 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 // See chrome/browser/extensions/web_view_interactive_browsertest.cc
6 // (WebViewInteractiveTest, PointerLock) for documentation on this test.
7
8 function LockMouse(element) {
9   element.requestPointerLock = element.requestPointerLock;
10   element.requestPointerLock();
11 }
12 var first_lock = true;
13 document.onpointerlockchange = function() {
14   if (document.pointerLockElement) {
15     if (first_lock) {
16       console.log('locked');
17       setTimeout(function() { embedder.postMessage('locked', '*'); }, 500);
18     } else {
19       console.log('deleting...');
20       setTimeout(function() { embedder.postMessage('delete me', '*'); }, 500);
21     }
22     first_lock = false;
23   } else {
24     console.log('unlocked');
25     embedder.postMessage('unlocked', '*');
26   }
27 }
28
29 document.onpointerlockerror = function() {
30   console.log('lock error', '*');
31   setTimeout(function() {  embedder.postMessage('lock error', '*'); }, 1000);
32 }
33
34 var embedder = null;
35 window.addEventListener('message', function(e) {
36   embedder = e.source;
37   embedder.postMessage('connected', '*');
38 });
39
40 document.getElementById('locktarget1').addEventListener('mousemove',
41     function (e) {
42   setTimeout(function() { embedder.postMessage('mouse-move', '*'); }, 500);
43   if (info.innerHTML != 'fail') {
44     info.innerHTML = 'Info: movementX: '+ e.webkitMovementX +
45         ', movementY: ' + e.webkitMovementY;
46     }
47 });
48
49 document.getElementById('locktarget2').addEventListener('mousemove',
50     function (e) {
51   info.innerHTML = 'fail';
52   embedder.postMessage('Pointer was not locked to locktarget1.', '*');
53 });
54
55 document.getElementById('button1').addEventListener('click', function (e) {
56   console.log('click captured, locking mouse');
57   LockMouse(locktarget1);
58 }, false);
59
60 document.getElementById('button2').addEventListener('click', function (e) {
61   console.log('clicked button 2');
62   embedder.postMessage('clicked', '*');
63 }, false);