[refactor] More post-NSS WebCrypto cleanups (utility functions).
[chromium-blink-merge.git] / content / test / data / web_ui_mojo_shell_test.js
blob1ed359933313cbaf90c48d6188b4ca0f79c031b7
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
6 /**
7  * This URL is defined in content/public/test/test_mojo_app.cc. It identifies
8  * content_shell's out-of-process Mojo test app.
9  */
10 var TEST_APP_URL = 'system:content_mojo_test';
13 define('main', [
14   'mojo/application/public/interfaces/shell.mojom',
15   'mojo/public/js/core',
16   'mojo/public/js/router',
17   'mojo/services/network/public/interfaces/url_loader.mojom',
18   'content/public/renderer/service_provider',
19   'content/public/test/test_mojo_service.mojom',
20 ], function(shellMojom, core, router, urlMojom, serviceRegistry, testMojom) {
22   var connectToService = function(serviceProvider, iface) {
23     var pipe = core.createMessagePipe();
24     var service = new iface.proxyClass(new router.Router(pipe.handle0));
25     serviceProvider.connectToService(iface.name, pipe.handle1);
26     return service;
27   };
29   return function() {
30     domAutomationController.setAutomationId(0);
31     var shellPipe = serviceRegistry.connectToService(shellMojom.Shell.name);
32     var shell = new shellMojom.Shell.proxyClass(new router.Router(shellPipe));
33     var urlRequest = new urlMojom.URLRequest({ url: TEST_APP_URL });
34     shell.connectToApplication(urlRequest,
35         function (services) {
36           var test = connectToService(services, testMojom.TestMojoService);
37           test.getRequestorURL().then(function(response) {
38             // The requestor URL seen by the app should be localhost because the
39             // connection comes from this script hosted on the test server.
40             domAutomationController.send(response.url == 'http://127.0.0.1/');
41           });
42         },
43         function (exposedServices) {});
44   };
45 });