Fix window positioning.

This CL fixes numerous issues with window positioning.
1. The window could get out of screen on first launch.
2. The window could get out of screen when switching cameras.
3. The window could be snapped to aspect ratio when user didn't want.
4. The window could get behind the overlay shelf making it hard to take
   pictures, as the button is on the bottom.
5. Migrate from obsolete bounds() to innerBounds and outerBounds.

TEST=Tested manually on Lucas.
Change-Id: Ie3707c1e4883300a6cfd563f2045c7589ebab4b7
Tested-by: Tomasz Mikolajewski <>
Reviewed-by: Tomasz Mikolajewski <>
2 files changed
tree: 6bbc7af553d1d5c34db2a57894ffb33aa8c393a1
  1. Makefile
  2. PRESUBMIT.cfg
  4. dev-keys/
  5. src/
  6. tests/
  7. third_party/
  8. utils/

Camera App

Camera App is a packaged app designed to take pictures with several effects using the embedded web camera.

Supported systems

Should work on any operating system, especially on Chrome OS.

Compiling and installing

To compile run “make all”, then drag the camera.crx package from the build directory to Chrome. Note, that currently building on Linux only is supported. However, the crx packages should work on any other operating system without problems.

Automated tests

To perform automated tests on Linux, run “make run-tests”. Note, that these tests are experimental. The script must be able to execute sudo without a password.

The automated tests run chromium with a testing package of the Camera app. The Camera app communicates with the python test runner via web sockets. Note, that you will need a usb web camera to be plugged in. Embedded notebook cameras may also work, depending on the model.


  • Left, Right - choose effects.
  • Space, Enter - take a picture.
  • Delete - deletes pictures (in the gallery).
  • Double click - saves pictures (in the gallery).


  • Clicking on some effects on the ribbon, randomizes its parameters.

Known issues