| OLD | NEW |
| 1 'use strict'; | 1 'use strict'; |
| 2 | 2 |
| 3 let mockVRService = loadMojoModules( | 3 let mockVRService = loadMojoModules( |
| 4 'mockVRService', | 4 'mockVRService', |
| 5 ['mojo/public/js/bindings', | 5 ['mojo/public/js/bindings', |
| 6 'mojo/public/js/connection', | |
| 7 'mojo/public/js/router', | |
| 8 'device/vr/vr_service.mojom', | 6 'device/vr/vr_service.mojom', |
| 9 ]).then(mojo => { | 7 ]).then(mojo => { |
| 10 let [bindings, connection, router, vr_service] = mojo.modules; | 8 let [bindings, vr_service] = mojo.modules; |
| 11 | 9 |
| 12 class MockVRDisplay extends vr_service.VRDisplay.stubClass { | 10 class MockVRDisplay { |
| 13 constructor(interfaceProvider) { | 11 constructor(interfaceProvider) { |
| 14 super(); | 12 this.bindingSet_ = new bindings.BindingSet(vr_service.VRDisplay); |
| 13 |
| 15 interfaceProvider.addInterfaceOverrideForTesting( | 14 interfaceProvider.addInterfaceOverrideForTesting( |
| 16 vr_service.VRDisplay.name, | 15 vr_service.VRDisplay.name, |
| 17 handle => this.connect_(handle)); | 16 handle => this.bindingSet_.addBinding(this, handle)); |
| 18 } | |
| 19 | |
| 20 connect_(handle) { | |
| 21 this.router_ = new router.Router(handle); | |
| 22 this.router_.setIncomingReceiver(this); | |
| 23 } | 17 } |
| 24 | 18 |
| 25 requestPresent(secureOrigin) { | 19 requestPresent(secureOrigin) { |
| 26 return Promise.resolve({success: true}); | 20 return Promise.resolve({success: true}); |
| 27 } | 21 } |
| 28 } | 22 } |
| 29 | 23 |
| 30 class MockVRService extends vr_service.VRService.stubClass { | 24 class MockVRService { |
| 31 constructor(interfaceProvider) { | 25 constructor(interfaceProvider) { |
| 32 super(); | 26 this.bindingSet_ = new bindings.BindingSet(vr_service.VRService); |
| 27 this.displayClient_ = new vr_service.VRDisplayClientPtr(); |
| 28 this.vrDisplays_ = null; |
| 29 |
| 33 interfaceProvider.addInterfaceOverrideForTesting( | 30 interfaceProvider.addInterfaceOverrideForTesting( |
| 34 vr_service.VRService.name, | 31 vr_service.VRService.name, |
| 35 handle => this.connect_(handle)); | 32 handle => this.bindingSet_.addBinding(this, handle)); |
| 36 this.vr_displays_ = null; | |
| 37 } | |
| 38 | |
| 39 connect_(handle) { | |
| 40 this.router_ = new router.Router(handle); | |
| 41 this.router_.setIncomingReceiver(this); | |
| 42 } | 33 } |
| 43 | 34 |
| 44 setVRDisplays(displays) { | 35 setVRDisplays(displays) { |
| 45 for (let i = 0; i < displays.length; i++) { | 36 for (let i = 0; i < displays.length; i++) { |
| 46 displays[i].index = i; | 37 displays[i].index = i; |
| 47 } | 38 } |
| 48 this.vr_displays_ = displays; | 39 this.vrDisplays_ = displays; |
| 49 } | 40 } |
| 50 | 41 |
| 51 notifyClientOfDisplays() { | 42 notifyClientOfDisplays() { |
| 52 if (this.vr_displays_ == null) { | 43 if (this.vrDisplays_ == null) { |
| 53 return; | 44 return; |
| 54 } | 45 } |
| 55 for (let i = 0; i < this.vr_displays_.length; i++) { | 46 for (let i = 0; i < this.vrDisplays_.length; i++) { |
| 56 let displayPtr = new vr_service.VRDisplayPtr(); | 47 let displayPtr = new vr_service.VRDisplayPtr(); |
| 57 let request = bindings.makeRequest(displayPtr); | 48 let request = bindings.makeRequest(displayPtr); |
| 58 let binding = new bindings.Binding( | 49 let binding = new bindings.Binding( |
| 59 vr_service.VRDisplay, | 50 vr_service.VRDisplay, |
| 60 new MockVRDisplay(mojo.frameInterfaces), request); | 51 new MockVRDisplay(mojo.frameInterfaces), request); |
| 61 let client_handle = new bindings.InterfaceRequest( | 52 let clientRequest = bindings.makeRequest(this.displayClient_); |
| 62 connection.bindProxy(proxy => { | 53 this.client_.onDisplayConnected(displayPtr, clientRequest, this.vrDispla
ys_[i]); |
| 63 this.displayClient_ = proxy; | |
| 64 }, vr_service.VRDisplayClient)); | |
| 65 this.client_.onDisplayConnected(displayPtr, client_handle, this.vr_displ
ays_[i]); | |
| 66 } | 54 } |
| 67 } | 55 } |
| 68 | 56 |
| 69 setClient(client) { | 57 setClient(client) { |
| 70 this.client_ = client; | 58 this.client_ = client; |
| 71 this.notifyClientOfDisplays(); | 59 this.notifyClientOfDisplays(); |
| 72 | 60 |
| 73 var device_number = (this.vr_displays_== null ? 0 : this.vr_displays_.leng
th); | 61 var device_number = (this.vrDisplays_== null ? 0 : this.vrDisplays_.length
); |
| 74 return Promise.resolve({numberOfConnectedDevices: device_number}); | 62 return Promise.resolve({numberOfConnectedDevices: device_number}); |
| 75 } | 63 } |
| 76 } | 64 } |
| 77 | 65 |
| 78 return new MockVRService(mojo.frameInterfaces); | 66 return new MockVRService(mojo.frameInterfaces); |
| 79 }); | 67 }); |
| 80 | 68 |
| 81 function vr_test(func, vrDisplays, name, properties) { | 69 function vr_test(func, vrDisplays, name, properties) { |
| 82 promise_test(t => mockVRService.then((service) => { | 70 promise_test(t => mockVRService.then((service) => { |
| 83 service.setVRDisplays(vrDisplays); | 71 service.setVRDisplays(vrDisplays); |
| 84 return func(); | 72 return func(); |
| 85 }), name, properties); | 73 }), name, properties); |
| 86 } | 74 } |
| OLD | NEW |