Updating trunk VERSION from 2139.0 to 2140.0
[chromium-blink-merge.git] / content / test / data / web_ui_mojo.js
blob7289c665c16630a6aa2ed8ed1349ab97eb28b94b
1 // Copyright 2014 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.
5 define('main', [
6     'mojo/public/js/bindings/connection',
7     'content/test/data/web_ui_test_mojo_bindings.mojom',
8     'content/public/renderer/service_provider',
9 ], function (connection, bindings, serviceProvider) {
10   var retainedConnection;
12   function RendererTargetTest(bindings) {
13     this.bindings_ = bindings;
14   }
16   // TODO(aa): It is a bummer to need this stub object in JavaScript. We should
17   // have a 'client' object that contains both the sending and receiving bits of
18   // the client side of the interface. Since JS is loosely typed, we do not need
19   // a separate base class to inherit from to receive callbacks.
20   RendererTargetTest.prototype =
21       Object.create(bindings.RendererTargetStub.prototype);
23   RendererTargetTest.prototype.ping = function () {
24     this.bindings_.pingResponse();
25   };
27   return function() {
28     retainedConnection = new connection.Connection(
29         // TODO(sammc): Avoid using NAME_ directly.
30         serviceProvider.connectToService(bindings.BrowserTargetProxy.NAME_),
31         RendererTargetTest,
32         bindings.BrowserTargetProxy);
33   };
34 });