| Index: third_party/WebKit/LayoutTests/usb/resources/usb-helpers.js
|
| diff --git a/third_party/WebKit/LayoutTests/usb/resources/usb-helpers.js b/third_party/WebKit/LayoutTests/usb/resources/usb-helpers.js
|
| index 932f3f6c477b9ddd436ceaef02ebf5ef75e05dd0..0a5e41842afed2f111ce296940e8ce5accccbf56 100644
|
| --- a/third_party/WebKit/LayoutTests/usb/resources/usb-helpers.js
|
| +++ b/third_party/WebKit/LayoutTests/usb/resources/usb-helpers.js
|
| @@ -34,10 +34,12 @@ function runGarbageCollection() {
|
|
|
| function usbMocks(mojo) {
|
| return define('USB Mocks', [
|
| + 'mojo/public/js/bindings',
|
| + 'mojo/public/js/connection',
|
| 'device/usb/public/interfaces/chooser_service.mojom',
|
| 'device/usb/public/interfaces/device_manager.mojom',
|
| 'device/usb/public/interfaces/device.mojom',
|
| - ], (chooserService, deviceManager, device) => {
|
| + ], (bindings, connection, chooserService, deviceManager, device) => {
|
| function assertDeviceInfoEquals(device, info) {
|
| assert_equals(device.guid, info.guid);
|
| assert_equals(device.usbVersionMajor, info.usb_version_major);
|
| @@ -126,21 +128,12 @@ function usbMocks(mojo) {
|
| assert_equals(endpoint.packetSize, info.packet_size);
|
| }
|
|
|
| - class MockDevice extends device.Device.stubClass {
|
| - constructor(info, pipe, closeHandler) {
|
| - super();
|
| + class MockDevice {
|
| + constructor(info) {
|
| this.info_ = info;
|
| - this.pipe_ = pipe;
|
| - this.router_ = new mojo.router.Router(pipe);
|
| - this.router_.setIncomingReceiver(this);
|
| - this.router_.setErrorHandler(() => {
|
| - if (this.opened_)
|
| - this.close();
|
| - });
|
| this.opened_ = false;
|
| this.currentConfiguration_ = undefined;
|
| this.claimedInterfaces_ = new Map();
|
| - this.closeHandler_ = closeHandler;
|
| }
|
|
|
| getDeviceInfo() {
|
| @@ -165,7 +158,6 @@ function usbMocks(mojo) {
|
| close() {
|
| assert_true(this.opened_);
|
| this.opened_ = false;
|
| - this.closeHandler_();
|
| return Promise.resolve({ error: device.OpenDeviceError.OK });
|
| }
|
|
|
| @@ -330,10 +322,8 @@ function usbMocks(mojo) {
|
| }
|
| };
|
|
|
| - class MockDeviceManager extends deviceManager.DeviceManager.stubClass {
|
| + class MockDeviceManager {
|
| constructor() {
|
| - super();
|
| - this.router_ = null;
|
| this.mockDevices_ = new Map();
|
| this.addedDevices_ = [];
|
| this.removedDevices_ = [];
|
| @@ -341,10 +331,16 @@ function usbMocks(mojo) {
|
| this.deviceCloseHandler_ = null;
|
| }
|
|
|
| + bindToPipe(pipe) {
|
| + this.stub_ = connection.bindHandleToStub(
|
| + pipe, deviceManager.DeviceManager);
|
| + bindings.StubBindings(this.stub_).delegate = this;
|
| + }
|
| +
|
| reset() {
|
| this.mockDevices_.forEach(device => {
|
| - for (var handle of device.handles)
|
| - mojo.core.close(handle.pipe_);
|
| + for (var stub of device.stubs)
|
| + bindings.StubBindings(stub).close();
|
| this.removedDevices_.push(device.info);
|
| });
|
| this.mockDevices_.clear();
|
| @@ -354,7 +350,7 @@ function usbMocks(mojo) {
|
| addMockDevice(info) {
|
| let device = {
|
| info: info,
|
| - handles: []
|
| + stubs: []
|
| };
|
| this.mockDevices_.set(info.guid, device);
|
| this.addedDevices_.push(info);
|
| @@ -363,8 +359,8 @@ function usbMocks(mojo) {
|
|
|
| removeMockDevice(info) {
|
| let device = this.mockDevices_.get(info.guid);
|
| - for (var handle of device.handles)
|
| - mojo.core.close(handle.pipe_);
|
| + for (var stub of device.stubs)
|
| + bindings.StubBindings(stub).close();
|
| this.mockDevices_.delete(info.guid);
|
| this.removedDevices_.push(info);
|
| this.maybeResolveDeviceChangePromise();
|
| @@ -374,12 +370,6 @@ function usbMocks(mojo) {
|
| this.deviceCloseHandler_ = handler;
|
| }
|
|
|
| - bindToPipe(pipe) {
|
| - assert_equals(this.router_, null);
|
| - this.router_ = new mojo.router.Router(pipe);
|
| - this.router_.setIncomingReceiver(this);
|
| - }
|
| -
|
| getDevices(options) {
|
| let devices = [];
|
| this.mockDevices_.forEach(device => {
|
| @@ -416,32 +406,31 @@ function usbMocks(mojo) {
|
| this.removedDevices_ = [];
|
| }
|
|
|
| - getDevice(guid, pipe) {
|
| + getDevice(guid, stub) {
|
| let device = this.mockDevices_.get(guid);
|
| if (device === undefined) {
|
| - mojo.core.close(pipe);
|
| + bindings.StubBindings(stub).close();
|
| } else {
|
| - var mock = new MockDevice(device.info, pipe, () => {
|
| + var mock = new MockDevice(device.info);
|
| + bindings.StubBindings(stub).delegate = mock;
|
| + bindings.StubBindings(stub).connectionErrorHandler = () => {
|
| if (this.deviceCloseHandler_)
|
| this.deviceCloseHandler_(device.info);
|
| - });
|
| - device.handles.push(mock);
|
| + };
|
| + device.stubs.push(stub);
|
| }
|
| }
|
| }
|
|
|
| - class MockChooserService
|
| - extends chooserService.ChooserService.stubClass {
|
| + class MockChooserService {
|
| constructor() {
|
| - super();
|
| - this.router_ = null;
|
| this.chosenDevice_ = null;
|
| }
|
|
|
| bindToPipe(pipe) {
|
| - assert_equals(this.router_, null);
|
| - this.router_ = new mojo.router.Router(pipe);
|
| - this.router_.setIncomingReceiver(this);
|
| + this.stub_ = connection.bindHandleToStub(
|
| + pipe, chooserService.ChooserService);
|
| + bindings.StubBindings(this.stub_).delegate = this;
|
| }
|
|
|
| setChosenDevice(deviceInfo) {
|
|
|