Index: third_party/WebKit/LayoutTests/vr/resources/mock-vr-service.js |
diff --git a/third_party/WebKit/LayoutTests/vr/resources/mock-vr-service.js b/third_party/WebKit/LayoutTests/vr/resources/mock-vr-service.js |
index fc1be18ee226c0c0cb09d805fc159d622880a003..d40e9e4800fb2b085047b17b718c7d6e1ecbdc10 100644 |
--- a/third_party/WebKit/LayoutTests/vr/resources/mock-vr-service.js |
+++ b/third_party/WebKit/LayoutTests/vr/resources/mock-vr-service.js |
@@ -13,6 +13,7 @@ let mockVRService = loadMojoModules( |
this.displayClient_ = new vr_service.VRDisplayClientPtr(); |
this.displayInfo_ = displayInfo; |
this.service_ = service; |
+ this.vsync_provider_ = new MockVRVSyncProvider(); |
interfaceProvider.addInterfaceOverrideForTesting( |
vr_service.VRDisplay.name, |
@@ -27,6 +28,8 @@ let mockVRService = loadMojoModules( |
return Promise.resolve({success: true}); |
} |
+ getVRVSyncProvider(request) { this.vsync_provider_.bind(request); } |
+ |
forceActivate(reason) { |
this.displayClient_.onActivate(reason); |
} |
@@ -43,6 +46,26 @@ let mockVRService = loadMojoModules( |
} |
} |
+ class MockVRVSyncProvider { |
+ constructor() { |
+ this.timeDelta_ = 0; |
+ this.binding_ = new bindings.Binding(vr_service.VRVSyncProvider, this); |
+ } |
+ bind(request) { |
+ this.binding_.close(); |
+ this.binding_.bind(request); |
+ } |
+ getVSync() { |
+ this.timeDelta_ += 1000.0 / 60.0; |
+ return Promise.resolve({ |
+ pose: null, |
+ time: { |
+ microseconds: this.timeDelta_, |
+ }, |
+ }); |
+ } |
+ } |
+ |
class MockVRService { |
constructor(interfaceProvider) { |
this.bindingSet_ = new bindings.BindingSet(vr_service.VRService); |