Home | History | Annotate | Download | only in data
      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.
      4 
      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;
     11 
     12   function RendererTargetTest(bindings) {
     13     this.bindings_ = bindings;
     14   }
     15 
     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);
     22 
     23   RendererTargetTest.prototype.ping = function () {
     24     this.bindings_.pingResponse();
     25   };
     26 
     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 });
     35