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

Side by Side Diff: chrome/common/extensions/docs/apps/app_intents.html

Issue 10834261: Move chrome.experimental.app.onLaunched event handler to chrome.app.runtime.onLaunched. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Another merge before retrying commit. Created 8 years, 4 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 | Annotate | Revision Log
OLDNEW
1 <!DOCTYPE html><!-- This page is a placeholder for generated extensions api doc. Note: 1 <!DOCTYPE html><!-- This page is a placeholder for generated extensions api doc. Note:
2 1) The <head> information in this page is significant, should be uniform 2 1) The <head> information in this page is significant, should be uniform
3 across api docs and should be edited only with knowledge of the 3 across api docs and should be edited only with knowledge of the
4 templating mechanism. 4 templating mechanism.
5 3) All <body>.innerHTML is genereated as an rendering step. If viewed in a 5 3) All <body>.innerHTML is genereated as an rendering step. If viewed in a
6 browser, it will be re-generated from the template, json schema and 6 browser, it will be re-generated from the template, json schema and
7 authored overview content. 7 authored overview content.
8 4) The <body>.innerHTML is also generated by an offline step so that this 8 4) The <body>.innerHTML is also generated by an offline step so that this
9 page may easily be indexed by search engines. 9 page may easily be indexed by search engines.
10 --><html xmlns="http://www.w3.org/1999/xhtml"><head> 10 --><html xmlns="http://www.w3.org/1999/xhtml"><head>
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after
254 <pre>"intents": { 254 <pre>"intents": {
255 "http://webintents.org/view" : [{ 255 "http://webintents.org/view" : [{
256 "title" : "RSS Feed Reader", 256 "title" : "RSS Feed Reader",
257 "type" : ["application/atom+xml", "application/rss+xml"] 257 "type" : ["application/atom+xml", "application/rss+xml"]
258 }] 258 }]
259 } 259 }
260 </pre> 260 </pre>
261 <p> 261 <p>
262 Your application will receive intent payload through the <code>onLaunched</code> event. 262 Your application will receive intent payload through the <code>onLaunched</code> event.
263 </p> 263 </p>
264 <pre>chrome.experimental.app.onLaunched(function(intent) { 264 <pre>chrome.app.runtime.onLaunched(function(intent) {
265 // App Launched 265 // App Launched
266 if(intent.action == "http://webinents.org/view" &amp;&amp; 266 if(intent.action == "http://webinents.org/view" &amp;&amp;
267 intent.type == "application/atom+xml") { 267 intent.type == "application/atom+xml") {
268 // obtain the ATOM feed data. 268 // obtain the ATOM feed data.
269 var data = intent.data; 269 var data = intent.data;
270 } 270 }
271 }); 271 });
272 </pre> 272 </pre>
273 <h2 id="launching">Launching an app with a file</h2> 273 <h2 id="launching">Launching an app with a file</h2>
274 <p> 274 <p>
275 If your app handles the <code>view</code> intent, 275 If your app handles the <code>view</code> intent,
276 it is possible to launch it from the command line with a file as a parameter. 276 it is possible to launch it from the command line with a file as a parameter.
277 </p> 277 </p>
278 <pre>chrome.exe --app-id [app_id] [path_to_file] 278 <pre>chrome.exe --app-id [app_id] [path_to_file]
279 </pre> 279 </pre>
280 <p> 280 <p>
281 This will implicity launch your application with an intent payload populated 281 This will implicity launch your application with an intent payload populated
282 with the action set to "http://webintents.org/view", the type set to the 282 with the action set to "http://webintents.org/view", the type set to the
283 mime-type of the file and the data as a <code>FileEntry</code> object. 283 mime-type of the file and the data as a <code>FileEntry</code> object.
284 </p> 284 </p>
285 <pre>chrome.experimental.app.onLaunched(function(intent) { 285 <pre>chrome.app.runtime.onLaunched(function(intent) {
286 // App Launched 286 // App Launched
287 var data = intent.data; 287 var data = intent.data;
288 }); 288 });
289 </pre> 289 </pre>
290 <h2 id="launching">Manipulating the file</h2> 290 <h2 id="launching">Manipulating the file</h2>
291 <p> 291 <p>
292 When your application is launched with a file as the parameter 292 When your application is launched with a file as the parameter
293 on the command-line, 293 on the command-line,
294 the <code>intent.data</code> property is a <code>FileEntry</code>. 294 the <code>intent.data</code> property is a <code>FileEntry</code>.
295 This is really cool because now you have a direct reference back to the physic al 295 This is really cool because now you have a direct reference back to the physic al
296 file on the disk, 296 file on the disk,
297 and you can write data back to it. 297 and you can write data back to it.
298 </p> 298 </p>
299 <pre>chrome.experimental.app.onLaunched(function(intent) { 299 <pre>chrome.app.runtime.onLaunched(function(intent) {
300 // App Launched 300 // App Launched
301 var data = intent.data; 301 var data = intent.data;
302 if(data instanceof FileEntry) { 302 if(data instanceof FileEntry) {
303 data.createWriter(function(writer) { 303 data.createWriter(function(writer) {
304 writer.onwriteend = function(e) { 304 writer.onwriteend = function(e) {
305 console.log('Write completed.'); 305 console.log('Write completed.');
306 }; 306 };
307 writer.onerror = function(e) { 307 writer.onerror = function(e) {
308 console.log('Write failed: ' + e.toString()); 308 console.log('Write failed: ' + e.toString());
309 }; 309 };
310 // Create a new Blob and write it to log.txt. 310 // Create a new Blob and write it to log.txt.
311 var bb = new BlobBuilder(); // Note: window.WebKitBlobBuilder in Chrome 12 . 311 var bb = new BlobBuilder(); // Note: window.WebKitBlobBuilder in Chrome 12 .
312 bb.append('Lorem Ipsum'); 312 bb.append('Lorem Ipsum');
313 writer.write(bb.getBlob('text/plain')); 313 writer.write(bb.getBlob('text/plain'));
314 }); 314 });
315 } 315 }
316 }); 316 });
317 </pre> 317 </pre>
318 <h2 id="return">Returning data to calling application</h2> 318 <h2 id="return">Returning data to calling application</h2>
319 <p> 319 <p>
320 Lots of applications want to cooperate 320 Lots of applications want to cooperate
321 with the app that invoked them. 321 with the app that invoked them.
322 It's easy to send data back to the calling client 322 It's easy to send data back to the calling client
323 using <code>intent.postResult</code>: 323 using <code>intent.postResult</code>:
324 </p> 324 </p>
325 <pre>chrome.experimental.app.onLaunched(function(intent) { 325 <pre>chrome.app.runtime.onLaunched(function(intent) {
326 // App Launched 326 // App Launched
327 console.log(intent.action); 327 console.log(intent.action);
328 console.log(intent.type); 328 console.log(intent.type);
329 var data = intent.data; 329 var data = intent.data;
330 // Do something with the data; 330 // Do something with the data;
331 intent.postResult(newData); 331 intent.postResult(newData);
332 }); 332 });
333 </pre> 333 </pre>
334 <h2 id="localize">Localizing your app title</h2> 334 <h2 id="localize">Localizing your app title</h2>
335 <p> 335 <p>
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
369 This will signal to the client’s onError callback 369 This will signal to the client’s onError callback
370 that something has gone wrong. 370 that something has gone wrong.
371 </p> 371 </p>
372 <a name="H3-8"></a><h3>Client</h3> 372 <a name="H3-8"></a><h3>Client</h3>
373 <pre>var intent = new WebKitIntent("http://webintents.org/edit", "image/png", "d ataUri://"); 373 <pre>var intent = new WebKitIntent("http://webintents.org/edit", "image/png", "d ataUri://");
374 var onSuccess = function(data) {}; 374 var onSuccess = function(data) {};
375 var onError = function() {}; 375 var onError = function() {};
376 window.navigator.webkitStartActivity(intent, onSuccess, onError); 376 window.navigator.webkitStartActivity(intent, onSuccess, onError);
377 </pre> 377 </pre>
378 <a name="H3-9"></a><h3>Service</h3> 378 <a name="H3-9"></a><h3>Service</h3>
379 <pre>chrome.experimental.app.onLaunched(function(intent) { 379 <pre>chrome.app.runtime.onLaunched(function(intent) {
380 // App Launched 380 // App Launched
381 console.log(intent.action); 381 console.log(intent.action);
382 console.log(intent.type); 382 console.log(intent.type);
383 var data = intent.data; 383 var data = intent.data;
384 // Do something with the data; 384 // Do something with the data;
385 intent.postResult(newData); 385 intent.postResult(newData);
386 }); 386 });
387 </pre> 387 </pre>
388 <p class="backtotop"><a href="#top">Back to top</a></p> 388 <p class="backtotop"><a href="#top">Back to top</a></p>
389 </div> 389 </div>
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
428 _uff=0; 428 _uff=0;
429 urchinTracker(); 429 urchinTracker();
430 } 430 }
431 catch(e) {/* urchinTracker not available. */} 431 catch(e) {/* urchinTracker not available. */}
432 </script> 432 </script>
433 <!-- end analytics --> 433 <!-- end analytics -->
434 </div> 434 </div>
435 </div> <!-- /gc-footer --> 435 </div> <!-- /gc-footer -->
436 </div> <!-- /gc-container --> 436 </div> <!-- /gc-container -->
437 </body></html> 437 </body></html>
OLDNEW
« no previous file with comments | « chrome/common/extensions/docs/apps/app_external.html ('k') | chrome/common/extensions/docs/apps/app_lifecycle.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698