// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. define('main', [ 'mojo/public/js/bindings/connection', 'content/test/data/web_ui_test_mojo_bindings.mojom', 'content/public/renderer/service_provider', ], function (connection, bindings, serviceProvider) { var retainedConnection; function RendererTargetTest(bindings) { this.bindings_ = bindings; } // TODO(aa): It is a bummer to need this stub object in JavaScript. We should // have a 'client' object that contains both the sending and receiving bits of // the client side of the interface. Since JS is loosely typed, we do not need // a separate base class to inherit from to receive callbacks. RendererTargetTest.prototype = Object.create(bindings.RendererTargetStub.prototype); RendererTargetTest.prototype.ping = function () { this.bindings_.pingResponse(); }; return function() { retainedConnection = new connection.Connection( // TODO(sammc): Avoid using NAME_ directly. serviceProvider.connectToService(bindings.BrowserTargetProxy.NAME_), RendererTargetTest, bindings.BrowserTargetProxy); }; });