Upstream version 11.39.266.0
[platform/framework/web/crosswalk.git] / src / third_party / skia / experimental / webtry / README.md
1 WebTry
2 ======
3
4 Allows trying out Skia code in the browser. Run a local webserver
5 and from the pages it serves try out Skia code and see the results
6 immediately. To make sandboxing easier this must be built w/GPU off.
7
8 Running 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
17 Then visit http://localhost:8000 in your browser.
18
19 Only tested under linux, doubtful it will work on other platforms.
20
21 Full Server Setup
22 =================
23
24 Create 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
33 Make sure port 80 is accessible externally for the above instance.
34
35 SSH into the instance:
36
37     gcutil --project=google.com:skia-buildbots ssh --ssh_user=default skia-webtry-b
38
39
40 Do once
41 -------
42
43 The following things only need to be done once
44
45 1. sudo apt-get install git schroot debootstrap
46 2. git clone https://skia.googlesource.com/skia
47 3. Add the following to /etc/fstab and reboot:
48
49     none /dev/shm tmpfs rw,nosuid,nodev,noexec 0 0
50
51 The above will allow ninja to run. See http://stackoverflow.com/questions/2009278/python-multiprocessing-permission-denied
52
53 4. Add the following to the /etc/schroot/minimal/fstab:
54
55     /home/webtry/inout             /inout  none    rw,bind         0       0
56
57 5. Change /etc/monit/monitrc to:
58
59     set daemon 2
60
61 then run the following so it applies:
62
63     sudo /etc/init.d/monit restart
64
65 This means that monit will poll every two seconds that our application is up and running.
66
67 6. 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
72 Do the first time
73 -----------------
74
75 Do 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
81 Once, after setup
82 -----------------
83
84 Do 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
89 Third Party Code
90 ----------------
91
92   * res/js/polyfill.js - Various JS polyfill libraries. To rebuild or update
93     see polyfill/README.md.
94