<!DOCTYPE html>
<html>
<!--
Copyright 2012 The Chromium Authors
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->
<head>
<title>Mouse Lock Example</title>
<style type="text/css">
:-webkit-full-screen {
width: 100%;
height: 100%;
}
</style>
</head>
<body title="This tooltip should not be shown if the mouse is locked.">
<div id="container">
<ul>
<li>Lock mouse:
<ul>
<li>left click in either of the two boxes; or</li>
<li>right click in either of the boxes to ensure that it is focused and
then press Enter key. (You could verify that the tooltip window is
dismissed properly by this second approach.)</li>
</ul>
</li>
<li>Unlock mouse voluntarily:
<ul>
<li>press Enter.</li>
</ul>
</li>
<li>Unlock mouse involuntarily:
<ul>
<li>lose focus; or</li>
<li>press Esc key; or</li>
<li>exit from "tab fullscreen"/"browser fullscreen"/"Flash fullscreen".
<ul>
<li>"tab fullscreen" refers to when a tab enters fullscreen mode via
the JS or Pepper fullscreen API;</li>
<li>"browser fullscreen" refers to the user putting the browser
itself into fullscreen mode from the UI (e.g., pressing F11).
</li>
<li>"Flash fullscreen" refers to the fullscreen mode used by Pepper
Flash. You could enter Flash fullscreen by pressing 'f' key
when either of the boxes is focused, and exit by pressing Esc
key.</li>
</ul>
</li>
</ul>
</li>
</ul>
<div>
<button onclick="ToggleFullscreen();">
Toggle Tab Fullscreen
</button>
<button onclick="AddAPlugin();">
Add A Plugin
</button>
<button onclick="RemoveAPlugin();">
Remove A Plugin (press 'x')
</button>
</div>
<div id="plugins_container">
</div>
</div>
</body>
<script>
plugins_container = document.getElementById("plugins_container");
AddAPlugin();
AddAPlugin();
function ToggleFullscreen() {
if (document.webkitIsFullScreen) {
document.webkitCancelFullScreen();
} else {
document.getElementById('container').webkitRequestFullScreen(
Element.ALLOW_KEYBOARD_INPUT);
}
}
function AddAPlugin() {
plugins_container.insertAdjacentHTML("BeforeEnd",
'<object type="application/x-ppapi-example-mouse-lock" ' +
'width="300" height="300" border="2px"></object>');
}
function RemoveAPlugin() {
if (plugins_container.firstElementChild)
plugins_container.removeChild(plugins_container.firstElementChild);
}
document.body.onkeydown = function (e) {
if (String.fromCharCode(e.keyCode) == "X")
RemoveAPlugin();
}
</script>
</html>