• Home
  • History
  • Annotate
  • only in /external/skia/experimental/webtry/
NameDateSize

..05-Nov-20144 KiB

DESIGN.md05-Nov-201410.3 KiB

main.cpp05-Nov-20143.2 KiB

poly/05-Nov-20144 KiB

README.md05-Nov-20142.6 KiB

res/05-Nov-20144 KiB

result.cpp05-Nov-2014464

safec++05-Nov-2014108

seccomp_bpf.h05-Nov-20141.7 KiB

setup/05-Nov-20144 KiB

sys/05-Nov-20144 KiB

templates/05-Nov-20144 KiB

TODO.md05-Nov-2014654

webtry.go05-Nov-201428.4 KiB

README.md

1WebTry
2======
3
4Allows trying out Skia code in the browser. Run a local webserver
5and from the pages it serves try out Skia code and see the results
6immediately. To make sandboxing easier this must be built w/GPU off.
7
8Running Locally
9===============
10
11    $ GYP_GENERATORS=ninja  ./gyp_skia  gyp/webtry.gyp gyp/most.gyp -Dskia_gpu=0
12    $ ninja -C out/Debug webtry
13    $ cd experimental/webtry
14    $ go build webtry.go
15    $ ./webtry
16
17Then visit http://localhost:8000 in your browser.
18
19Only tested under linux, doubtful it will work on other platforms.
20
21Full Server Setup
22=================
23
24Create a GCE instance:
25
26    gcutil --project=google.com:skia-buildbots addinstance skia-webtry-b \
27      --zone=us-central2-b --external_ip_address=108.170.220.126 \
28      --service_account=default \
29      --service_account_scopes="https://www.googleapis.com/auth/devstorage.full_control" \
30      --network=default --machine_type=n1-standard-1 --image=backports-debian-7-wheezy-v20140331 \
31      --persistent_boot_disk
32
33Make sure port 80 is accessible externally for the above instance.
34
35SSH into the instance:
36
37    gcutil --project=google.com:skia-buildbots ssh --ssh_user=default skia-webtry-b
38
39
40Do once
41-------
42
43The following things only need to be done once
44
451. sudo apt-get install git schroot debootstrap
462. git clone https://skia.googlesource.com/skia
473. Add the following to /etc/fstab and reboot:
48
49    none /dev/shm tmpfs rw,nosuid,nodev,noexec 0 0
50
51The above will allow ninja to run. See http://stackoverflow.com/questions/2009278/python-multiprocessing-permission-denied
52
534. Add the following to the /etc/schroot/minimal/fstab:
54
55    /home/webtry/inout             /inout  none    rw,bind         0       0
56
575. Change /etc/monit/monitrc to:
58
59    set daemon 2
60
61then run the following so it applies:
62
63    sudo /etc/init.d/monit restart
64
65This means that monit will poll every two seconds that our application is up and running.
66
676. Set the TCP keepalive. For more info see:
68   https://developers.google.com/cloud-sql/docs/gce-access
69
70    sudo bash -c 'echo 60 > /proc/sys/net/ipv4/tcp_keepalive_time'
71
72Do the first time
73-----------------
74
75Do the following the first time you setup a machine, and each time you want to update the code running on the server
76
77    cd ~/skia/experimental/webtry/setup
78    ./webtry_setup.sh
79
80
81Once, after setup
82-----------------
83
84Do this step only once, but only after running webtry_setup.sh the first time
85
86    sudo debootstrap --variant=minbase wheezy /srv/chroot/webtry
87
88
89Third Party Code
90----------------
91
92  * res/js/polyfill.js - Various JS polyfill libraries. To rebuild or update
93    see polyfill/README.md.
94
95