Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(434)

Side by Side Diff: chrome/test/data/webui/bluetooth_internals_browsertest.js

Issue 2590393002: Revert of Mojo JS bindings: switch most usage of "connection"/"router" module to "bindings". (Closed)
Patch Set: Created 3 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 /** 5 /**
6 * @fileoverview Tests for chrome://bluetooth-internals 6 * @fileoverview Tests for chrome://bluetooth-internals
7 */ 7 */
8 8
9 /** @const {string} Path to source root. */ 9 /** @const {string} Path to source root. */
10 var ROOT_PATH = '../../../../'; 10 var ROOT_PATH = '../../../../';
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 preLoad: function() { 44 preLoad: function() {
45 // A function that is called from chrome://bluetooth-internals to allow this 45 // A function that is called from chrome://bluetooth-internals to allow this
46 // test to replace the real Mojo browser proxy with a fake one, before any 46 // test to replace the real Mojo browser proxy with a fake one, before any
47 // other code runs. 47 // other code runs.
48 window.setupFn = function() { 48 window.setupFn = function() {
49 return importModules([ 49 return importModules([
50 'content/public/renderer/frame_interfaces', 50 'content/public/renderer/frame_interfaces',
51 'device/bluetooth/public/interfaces/adapter.mojom', 51 'device/bluetooth/public/interfaces/adapter.mojom',
52 'device/bluetooth/public/interfaces/device.mojom', 52 'device/bluetooth/public/interfaces/device.mojom',
53 'mojo/public/js/bindings', 53 'mojo/public/js/bindings',
54 ]).then(function([frameInterfaces, adapter, device, bindings]) { 54 'mojo/public/js/connection',
55 ]).then(function([frameInterfaces, adapter, device, bindings,
56 connection]) {
55 /** 57 /**
56 * A test adapter factory proxy for the chrome://bluetooth-internals 58 * A test adapter factory proxy for the chrome://bluetooth-internals
57 * page. 59 * page.
58 * 60 *
59 * @constructor 61 * @constructor
60 * @extends {TestBrowserProxyBase} 62 * @extends {TestBrowserProxyBase}
61 */ 63 */
62 var TestAdapterFactoryProxy = function() { 64 var TestAdapterFactoryProxy = function() {
63 settings.TestBrowserProxy.call(this, [ 65 settings.TestBrowserProxy.call(this, [
64 'getAdapter', 66 'getAdapter',
65 ]); 67 ]);
66 68
67 this.binding = new bindings.Binding(adapter.AdapterFactory, this);
68 this.adapter = new TestAdapter(); 69 this.adapter = new TestAdapter();
69 this.adapterBinding_ = new bindings.Binding(adapter.Adapter, 70 this.adapterBinding_ = new bindings.Binding(adapter.Adapter,
70 this.adapter); 71 this.adapter);
71 }; 72 };
72 73
73 TestAdapterFactoryProxy.prototype = { 74 TestAdapterFactoryProxy.prototype = {
74 __proto__: settings.TestBrowserProxy.prototype, 75 __proto__: settings.TestBrowserProxy.prototype,
75 getAdapter: function() { 76 getAdapter: function() {
76 this.methodCalled('getAdapter'); 77 this.methodCalled('getAdapter');
77 78
78 // Create message pipe bound to TestAdapter. 79 // Create message pipe bound to TestAdapter.
79 return Promise.resolve({ 80 return Promise.resolve({
80 adapter: this.adapterBinding_.createInterfacePtrAndBind(), 81 adapter: this.adapterBinding_.createInterfacePtrAndBind(),
81 }); 82 });
82 } 83 }
83 }; 84 };
84 85
85 /** 86 /**
86 * A test adapter for the chrome://bluetooth-internals page. 87 * A test adapter for the chrome://bluetooth-internals page.
87 * Must be used to create message pipe handle from test code. 88 * Must be used to create message pipe handle from test code.
88 * 89 *
89 * @constructor 90 * @constructor
91 * @extends {adapter.Adapter.stubClass}
90 */ 92 */
91 var TestAdapter = function() { 93 var TestAdapter = function() {
92 this.proxy = new TestAdapterProxy(); 94 this.proxy = new TestAdapterProxy();
93 }; 95 };
94 96
95 TestAdapter.prototype = { 97 TestAdapter.prototype = {
98 __proto__: adapter.Adapter.stubClass.prototype,
96 getInfo: function() { return this.proxy.getInfo(); }, 99 getInfo: function() { return this.proxy.getInfo(); },
97 getDevices: function() { return this.proxy.getDevices(); }, 100 getDevices: function() { return this.proxy.getDevices(); },
98 setClient: function(client) { return this.proxy.setClient(client); } 101 setClient: function(client) { return this.proxy.setClient(client); }
99 }; 102 };
100 103
101 /** 104 /**
102 * A test adapter proxy for the chrome://bluetooth-internals page. 105 * A test adapter proxy for the chrome://bluetooth-internals page.
103 * 106 *
104 * @constructor 107 * @constructor
105 * @extends {TestBrowserProxyBase} 108 * @extends {TestBrowserProxyBase}
(...skipping 30 matching lines...) Expand all
136 this.adapterInfo_ = adapterInfo; 139 this.adapterInfo_ = adapterInfo;
137 }, 140 },
138 141
139 setTestDevices: function(devices) { 142 setTestDevices: function(devices) {
140 this.devices_ = devices; 143 this.devices_ = devices;
141 } 144 }
142 }; 145 };
143 146
144 frameInterfaces.addInterfaceOverrideForTesting( 147 frameInterfaces.addInterfaceOverrideForTesting(
145 adapter.AdapterFactory.name, function(handle) { 148 adapter.AdapterFactory.name, function(handle) {
149 var stub = connection.bindHandleToStub(
150 handle, adapter.AdapterFactory);
151
146 this.adapterFactory = new TestAdapterFactoryProxy(); 152 this.adapterFactory = new TestAdapterFactoryProxy();
147 this.adapterFactory.binding.bind(handle);
148 153
149 this.adapterFactory.adapter.proxy.setTestDevices([ 154 this.adapterFactory.adapter.proxy.setTestDevices([
150 this.fakeDeviceInfo1(), 155 this.fakeDeviceInfo1(),
151 this.fakeDeviceInfo2(), 156 this.fakeDeviceInfo2(),
152 ]); 157 ]);
153 this.adapterFactory.adapter.proxy.setTestAdapter( 158 this.adapterFactory.adapter.proxy.setTestAdapter(
154 this.fakeAdapterInfo()); 159 this.fakeAdapterInfo());
155 160
161 bindings.StubBindings(stub).delegate = this.adapterFactory;
162
156 this.setupResolver.resolve(); 163 this.setupResolver.resolve();
157 }.bind(this)); 164 }.bind(this));
158 165
159 }.bind(this)); 166 }.bind(this));
160 }.bind(this); 167 }.bind(this);
161 }, 168 },
162 169
163 /** 170 /**
164 * Returns a copy of fake adapter info object. 171 * Returns a copy of fake adapter info object.
165 * @return {!Object} 172 * @return {!Object}
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
456 // Multiple calls to close shouldn't change the state. 463 // Multiple calls to close shouldn't change the state.
457 sidebarObj.close(); 464 sidebarObj.close();
458 sidebarObj.close(); 465 sidebarObj.close();
459 expectFalse(sidebarNode.classList.contains('open')); 466 expectFalse(sidebarNode.classList.contains('open'));
460 }); 467 });
461 }); 468 });
462 469
463 // Run all registered tests. 470 // Run all registered tests.
464 mocha.run(); 471 mocha.run();
465 }); 472 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/usb_internals/usb_internals.js ('k') | chrome/test/data/webui/plugins_browsertest.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698