| OLD | NEW |
| 1 # Running Mojo Applications | 1 # Running Mojo Applications |
| 2 | 2 |
| 3 A Mojo application written in JavaScript is launched with mojo_shell like this: | 3 A Mojo application written in JavaScript is launched with mojo_shell like this: |
| 4 | 4 |
| 5 ``` | 5 ``` |
| 6 mojo_shell <js-application-url> | 6 mojo_shell <js-application-url> |
| 7 ``` | 7 ``` |
| 8 | 8 |
| 9 Where js-application-url is a URL understood by the shell. For example | 9 Where js-application-url is a URL understood by the shell. For example |
| 10 a file or an http URL that names a JS source file. The JS file itself | 10 a file or an http URL that names a JS source file. The JS file itself |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 108 service's Mojo interface. The bindings are generated by the build system and end | 108 service's Mojo interface. The bindings are generated by the build system and end |
| 109 up in files whose name is the same as the '.mojom' file with a '.js' | 109 up in files whose name is the same as the '.mojom' file with a '.js' |
| 110 suffix. It's often helpful to look at the generated '.mojom.js' files. | 110 suffix. It's often helpful to look at the generated '.mojom.js' files. |
| 111 | 111 |
| 112 The JS bindings for a Mojo interface's API are delivered as a JS module whose | 112 The JS bindings for a Mojo interface's API are delivered as a JS module whose |
| 113 name is based on the '.mojom' file's path. For example, to use the Mojo network | 113 name is based on the '.mojom' file's path. For example, to use the Mojo network |
| 114 service you need the JS module based on network_service.mojom: | 114 service you need the JS module based on network_service.mojom: |
| 115 | 115 |
| 116 ```javascript | 116 ```javascript |
| 117 define("main", [ | 117 define("main", [ |
| 118 "mojo/services/network/public/interfaces/network_service.mojom", | 118 "mojo/services/network/interfaces/network_service.mojom", |
| 119 "mojo/services/public/js/application", | 119 "mojo/services/public/js/application", |
| 120 ] | 120 ] |
| 121 function(net, application) { | 121 function(net, application) { |
| 122 class MyApplication extends application.Application { | 122 class MyApplication extends application.Application { |
| 123 initialize(args) { | 123 initialize(args) { |
| 124 var netService = this.shell.connectToService( | 124 var netService = this.shell.connectToService( |
| 125 "mojo:network_service", net.NetworkService); | 125 "mojo:network_service", net.NetworkService); |
| 126 // Use netService's NetworkService methods. | 126 // Use netService's NetworkService methods. |
| 127 } | 127 } |
| 128 ... | 128 ... |
| (...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 325 | 325 |
| 326 The JS Shell class simplifies connecting to applications and services. It's a | 326 The JS Shell class simplifies connecting to applications and services. It's a |
| 327 wrapper for the Application's appShell argument. The Application constructor | 327 wrapper for the Application's appShell argument. The Application constructor |
| 328 creates a Shell and assigns it to `this.shell`. | 328 creates a Shell and assigns it to `this.shell`. |
| 329 | 329 |
| 330 The Shell's connectToService() method returns a "proxy" to a service provided by | 330 The Shell's connectToService() method returns a "proxy" to a service provided by |
| 331 another application. | 331 another application. |
| 332 | 332 |
| 333 ```javascript | 333 ```javascript |
| 334 define("main", [ | 334 define("main", [ |
| 335 "mojo/services/network/public/interfaces/network_service.mojom", | 335 "mojo/services/network/interfaces/network_service.mojom", |
| 336 "mojo/services/public/js/application", | 336 "mojo/services/public/js/application", |
| 337 ] | 337 ] |
| 338 function(net, application) { | 338 function(net, application) { |
| 339 class MyApplication extends application.Application { | 339 class MyApplication extends application.Application { |
| 340 initialize(args) { | 340 initialize(args) { |
| 341 var netService = this.shell.connectToService( | 341 var netService = this.shell.connectToService( |
| 342 "mojo:network_service", net.NetworkService); | 342 "mojo:network_service", net.NetworkService); |
| 343 // Use netService's NetworkService methods. | 343 // Use netService's NetworkService methods. |
| 344 } | 344 } |
| 345 ... | 345 ... |
| (...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 493 | 493 |
| 494 The echo_share.js and echo_share_target.js applications demonstrate this. | 494 The echo_share.js and echo_share_target.js applications demonstrate this. |
| 495 | 495 |
| 496 ## Final note | 496 ## Final note |
| 497 | 497 |
| 498 An initiator's serviceProvider object can be retained and used to | 498 An initiator's serviceProvider object can be retained and used to |
| 499 request or provide services at any time, not just from within | 499 request or provide services at any time, not just from within |
| 500 application's acceptConnection() method. | 500 application's acceptConnection() method. |
| 501 | 501 |
| 502 | 502 |
| OLD | NEW |