1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56
   57
   58
   59
   60
   61
   62
   63
   64
   65
   66
   67
   68
   69
   70
   71
   72
   73
   74
   75
   76
   77
   78
   79
   80
   81
   82
   83
   84
   85
   86
   87
   88
   89
   90

docs / kiosk_mode.md [blame]

# Kiosk Mode

If you have a real world kiosk application that you want to run on Google
Chrome, then below are the steps to take to simulate kiosk mode.

## Steps to Simulate Kiosk Mode

### Step 1

Compile the following Java code:

```java
import java.awt.*;
import java.applet.*;
import java.security.*;
import java.awt.event.*;

public class FullScreen extends Applet
{
   public void fullScreen()
   {
      AccessController.doPrivileged
      (
         new PrivilegedAction()
         {
            public Object run()
            {
               try
               {
                  Robot robot = new Robot();
                  robot.keyPress(KeyEvent.VK_F11);
               }
               catch (AWTException e)
               {
                  e.printStackTrace();
               }
               return null;
            }
         }
      );
   }
}
```

### Step 2

Include it in an applet on your kiosk application's home page:

```html
<applet name="appletFullScreen"
        code="FullScreen.class"
        width="1"
        height="1"></applet>
```

### Step 3

Add the following to the kiosk computer's java.policy file:

```
grant codeBase "http://yourservername/*"
{
   permission java.security.AllPermission;
};
```

### Step 4

Include the following JavaScript and assign the `doLoad` function to the
`onload` event:

```javascript
var _appletFullScreen;

function doLoad()
{
   _appletFullScreen = document.applets[0];
   doFullScreen();
}

function doFullScreen()
{
   if (_appletFullScreen && _appletFullScreen.fullScreen)
   {
      // Add an if statement to check whether document.body.clientHeight is not
      // indicative of full screen mode
      _appletFullScreen.fullScreen();
   }
}
```