Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(993)

Side by Side Diff: native_client_sdk/src/examples/demo/googledrivefs_demo/index.html

Issue 2156503002: [NaCl SDK] Expose Google Drive to nacl_io. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <!-- 3 <!--
4 Copyright (c) 2012 The Chromium Authors. All rights reserved. 4 Copyright (c) 2016 The Chromium Authors. All rights reserved.
5 Use of this source code is governed by a BSD-style license that can be 5 Use of this source code is governed by a BSD-style license that can be
6 found in the LICENSE file. 6 found in the LICENSE file.
7 --> 7 -->
8 <head> 8 <head>
9 <meta http-equiv="Pragma" content="no-cache"> 9 <meta http-equiv="Pragma" content="no-cache">
10 <meta http-equiv="Expires" content="-1"> 10 <meta http-equiv="Expires" content="-1">
11 <title>{{title}}</title> 11 <title>{{title}}</title>
12 <script type="text/javascript" src="common.js"></script> 12 <script type="text/javascript" src="common.js"></script>
13 <script type="text/javascript" src="example.js"></script> 13 <script type="text/javascript" src="example.js"></script>
14 </head> 14 </head>
15 <body data-custom-load="true" {{attrs}}> 15 <body data-custom-load="true" {{attrs}}>
16 <h1>{{title}}</h1> 16 <h1>{{title}}</h1>
17 <h2>Status: <code id="statusField">NO-STATUS</code></h2>
18 <p> 17 <p>
19 This example shows how you can use standard C library file and socket 18 This example shows how you can use standard C++ library files
20 operation functions in Native Client using a library called nacl_io. 19 in Native Client to access Google Drive exposed by a library called nacl_io.
21 </p> 20 </p>
22 <p> 21 <p>
23 nacl_io provides a virtual filesystem. The filesystem can be "mounted" 22 nacl_io provides a virtual filesystem. Google Drive can be "mounted"
24 in a given directory tree. When you perform operations on files in those 23 in a given directory tree. When you perform operations on files in those
25 directories, the mount determines how those operations should be performed. 24 directories, the mount determines how those operations should be performed.
26 </p> 25 </p>
27 <p> 26 <p>
28 This example has four mounts by default. 27 This example has 1 mount by default. Sign in and use the file operations an d directory operations.
29 <ol> 28 <ol>
30 <li><i>/</i> the root of the filesystem. This is a memory mount, and 29 <li><i>/</i> a Google Drive mount.
31 is non-persistent.</li> 30 </li>
32 <li><i>/persistent</i> a persistent storage area. Any data written
33 here can be read back after Chrome is restarted.</li>
34 <li><i>/http</i> a mount that can read from a URL. Try reading from
35 /http/index.html.</li>
36 <li><i>/dev</i> a mount containing some utility files. /dev/null,
37 /dev/zero, etc.</li>
38 </ol> 31 </ol>
39 </p> 32 </p>
40 <p> 33 <hr>
41 nacl_io also provides a (currently incomplete) posix socket api. Like the 34 <button id="buttonid" onclick="buttonOnClick()">Sign in</button>
42 virtual filesystem, it is an abstraction layer on top of ppapi. To use this 35 <script>
43 API, an app must be a packaged app with the appropriate socket permissions 36 executeAfterGettingCode();
44 specified in the manifest file. 37 </script>
45 <hr> 38 <hr>
46 <p><b>File Operations:</b></p> 39 <p><b>File Operations:</b></p>
47 <div> 40 <div>
48 <span> 41 <span>
49 <input type="radio" id="radiofopen" name="group" checked="checked">fopen 42 <input type="radio" id="radiofopen" name="group" checked="checked">fopen
50 <input type="radio" id="radiofclose" name="group">fclose 43 <input type="radio" id="radiofclose" name="group">fclose
51 <input type="radio" id="radiofread" name="group">fread 44 <input type="radio" id="radiofread" name="group">fread
52 <input type="radio" id="radiofwrite" name="group">fwrite 45 <input type="radio" id="radiofwrite" name="group">fwrite
53 <input type="radio" id="radiofseek" name="group">fseek 46 <input type="radio" id="radiofseek" name="group">fseek
54 <input type="radio" id="radiofflush" name="group">fflush 47 <input type="radio" id="radiofflush" name="group">fflush
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 <input type="text" id="chdirDirname"> 166 <input type="text" id="chdirDirname">
174 <button>chdir</button> 167 <button>chdir</button>
175 </span> 168 </span>
176 </div> 169 </div>
177 <div class="function" id="getcwd" hidden> 170 <div class="function" id="getcwd" hidden>
178 <span> 171 <span>
179 <button>getcwd</button> 172 <button>getcwd</button>
180 </span> 173 </span>
181 </div> 174 </div>
182 <hr> 175 <hr>
183 <p><b>Socket Operations:</b></p>
184 <div>
185 <span>
186 <input type="radio" id="radiogethostbyname" name="group">gethostbyname
187 <input type="radio" id="radiogetaddrinfo" name="group">getaddrinfo
188 <input type="radio" id="radioconnect" name="group">connect
189 <input type="radio" id="radiosend" name="group">send
190 <input type="radio" id="radiorecv" name="group">recv
191 <input type="radio" id="radioclose" name="group">close
192 </span>
193 </div>
194 <div class="function" id="gethostbyname" hidden>
195 <span>
196 Hostname:
197 <input type="text" id="gethostbynameName" value="google.com">
198 <button>gethostbyname</button>
199 </span>
200 </div>
201 <div class="function" id="getaddrinfo" hidden>
202 <span>
203 Hostname:
204 <input type="text" id="getaddrinfoName" value="google.com">
205 <select id="getaddrinfoFamily">
206 <option>AF_INET</option>
207 <option>AF_INET6</option>
208 <option>AF_UNSPEC</option>
209 </select>
210 <button>getaddrinfo</button>
211 </span>
212 </div>
213 <div class="function" id="connect" hidden>
214 <span>
215 Host:
216 <input type="text" id="connectHost" value="google.com">
217 Port:
218 <input type="text" id="connectPort" value="80">
219 <button>connect</button>
220 </span>
221 </div>
222 <div class="function" id="send" hidden>
223 <span>
224 <select class="sock-handle" id="sendHandle"></select>
225 Message:
226 <input type="text" id="sendMessage" value="Hello!">
227 <button>send</button>
228 </span>
229 </div>
230 <div class="function" id="recv" hidden>
231 <span>
232 <select class="sock-handle" id="recvHandle"></select>
233 Buffer Size:
234 <input type="text" id="recvBufferSize" value="256">
235 <button>recv</button>
236 </span>
237 </div>
238 <div class="function" id="close" hidden>
239 <span>
240 <select class="sock-handle" id="closeHandle"></select>
241 <button>close</button>
242 </span>
243 </div>
244 <hr>
245 <p><b>JavaScript Pipe Operations:</b></p>
246 <p>Type input while the focus is on this box the send input to the pipe
247 device:
248 <select id="pipe_name">
249 <option>jspipe1</option>
250 <option>jspipe2</option>
251 <option>jspipe3</option>
252 </select>
253 <input type="text" id="pipe_input_box"></p>
254 <p>Any output from the pipe will be printed below: <textarea id="pipe_output"> </textarea></p>
255 <hr>
256 <p><b>Log:</b></p> 176 <p><b>Log:</b></p>
257 <pre id="log" style="font-weight: bold"></pre> 177 <pre id="log" style="font-weight: bold"></pre>
258 <!-- The NaCl plugin will be embedded inside the element with id "listener". 178 <!-- The NaCl plugin will be embedded inside the element with id "listener".
259 See common.js.--> 179 See common.js.-->
260 <div id="listener"></div> 180 <div id="listener"></div>
261 </body> 181 </body>
262 </html> 182 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698