New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 652080 link

Starred by 5 users

Issue metadata

Status: Fixed
Owner: ----
Closed: Dec 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug
Proj-XR
Proj-XR-VR

Blocking:
issue 664644



Sign in to add a comment

Mojo VR interfaces should be simplified to take advantage of Mojo features

Project Member Reported by dcheng@chromium.org, Oct 2 2016

Issue description

In Mojo, we can associate things with interfaces directly rather than having to plumb around a bunch of IDs. VRServiceClient currently multiplexes a lot of things, but these notifications are better suited to individual interfaces for each VRDisplay.

We can simplify this code a lot by just creating an Display interface and moving the changed / disconnected / exitpresent + the new focus events from https://codereview.chromium.org/2354923005/ and having them live on this new interface.
 
Thanks for bringing this up! I hadn't though about approaching it this way (and there weren't a lot of Mojo interfaces to use as a reference when this one was first put together.)

To make sure I understand the desired pattern here: I imagine we still need a VRService interface to handle enumeration of devices and possibly some communication that's not specific to a device. The enumeration call, though, in addition to returning the device description as it does now, will also include a mojo service pointer that's unique for each device/frame pair. (VRDeviceService/Client) Communication directly to or from that device will then happen with those services, which eliminates the need to pass the device ID with each call. Correct?

bajones@ Does this mean that we should invoke setClient API in VRService in VRDevice through VRDeviceManager ? 
And according to dcheng@'s comments on https://codereview.chromium.org/2354923005/, I understand that if each VRDisplay on blink side could communicate with VRDevice on device side through message pipe, we could eliminate all the parameters in OnDisplayConnected like APIs. And  we could fire event on blink side with display ID and if user want to get Display status, they need to invoke related APIs. Am I right ?
Labels: Proj-VR
#1 Yeah, something like that would be the ideal pattern. Sometimes, it might be tricky for other reasons, but if that's the case, I would be interested in knowing why the pattern doesn't fit well (so we can improve it). Thanks!
bajones@ I think this might also be a necessary step for our plan to add mock capabilities for testing purposes. By changing VRDisplay to a Mojo interface, we'll be able to return displays with fake capabilities using frameInterfaces.addInterfaceOverrideForTesting(). Then, we should just need to change VRDevice to a Mojo interface in order to return the fake display and handle presentation requests, as well as change VRDeviceManager to a Mojo interface in order to return a list of fake devices. Anyone who's actually familiar with how Mojo works feel free to correct me if I'm wrong about any of that.
bsheedy@, Since I also need to implement some of my API's test case. Could you share the details about plan to add mock capabilities for testing purposes? Could I reference to unittest now? 
shaobo.yan@ Brandon found out that the WebUSB layout tests use Mojo to override the chooser_service, device_manager, and device interfaces (https://cs.chromium.org/chromium/src/third_party/WebKit/LayoutTests/usb/resources/usb-helpers.js?l=35) and create fake USB devices from a static file (https://cs.chromium.org/chromium/src/third_party/WebKit/LayoutTests/usb/resources/fake-devices.js) instead of using real hardware. It seems to be as simple as re-defining the class' functions in Javascript and calling addInterfaceOverrideForTesting (https://cs.chromium.org/chromium/src/third_party/WebKit/LayoutTests/usb/resources/usb-helpers.js?l=418).

As far as we can tell, we should be able to do something similar for WebVR if we turn vr_device_manager (https://cs.chromium.org/chromium/src/device/vr/vr_device_manager.h) and vr_device (https://cs.chromium.org/chromium/src/device/vr/vr_device.h) into Mojo interfaces that we then override during testing. vr_device_manager returns a list of fake devices, which in turn have fake displays, which should cover all we need to report fake device capabilities.

The goal is to reduce the amount of hardware required for testing. Since the API is going to function differently/report different values depending on the hardware's reported capabilities, fully testing without the ability to mock hardware would require an absurd number of devices (different outcomes for each combination of whether canPresent, hasPosition, hasOrientation, and hasExternalDisplay are true/false). Having fake devices report fake data would allow the API's basic functionality to be tested without having to worry about what hardware the test is actually being run on.
Fairly obvious but important follow ups to my previous comment:

1. Tests done in this way will only partially test the implementation. For example, calling requestPresent is going to end up stopping at VRDevice since that's the lowest class that we're overriding (although I could be wrong about that - all the layers that a requestPresent call goes through are still a bit confusing to me). So, we'll be able to test that the API responds correctly, but the underlying native implementation could be entire broken and the test would still work.

2. AFAIK, overriding a Mojo interface completely overrides the implementation, and not just specified functions. Thus, we'll probably end up having to re-implement a fair chunk of code in Javascript (e.g. VRDisplay's requestPresent function, which has a lot of checks to see if presentation is possible).

3. As a result of 1. and 2. it seems like we'd be overriding quite a bit of the API, so we probably want to have a set of tests that we run on known hardware without mocking. This is so that we also have some confidence that the parts we're overriding aren't broken. Ideally, we'd be able to just override the actual objects being returned by the DeviceProvider (in our case GvrDeviceProvider), but that's starting to touch the GVR SDK as opposed to WebVR, which we aren't allowed to do AFAIK.
Hi, bajones@, bsheedy@ and dcheng@. After brief discussion with my collegues, I'd like to take over the mojo modification. Here is my plan:

   1. I'd like to push a CL to modify VRServiceClient interface and make VRDevice communicates with VRDisplay directly on event without any index.

   2. I'd like to have another CL to modify VRService accroding to bajones@ design. I plan to make VRService interface only contains GetVRDevices() method and move other APIs to another new mojo interface, which will be inherited by VRDevice class and implement by GvrDevice class. After this modification, I think VRDevice could commnicate with VRDisplay directly completely without any index parameters. This modification will affects lots of implementation. The major change is that VRDeviceManager will only deal with GetVRDevices() and offer some checker(requestPresentChecker) function through a new interface which will be held by GvrDevice. 

   3. I'll handle the test part based on above modification.

Leon, Han(leonhsl) will help me on mojo related issue.

Do you have any comments on the plan ? :)

That sounds fine to me, although you'll probably want the approval of bajones@. To clarify, you're only touching the classes mentioned in my comments (VrDeviceManager, VRDevice, etc.) in order to add the functionality outlined in your first post, correct? The changes to add mock hardware capabilities are still on us?
Cc: leilei@chromium.org
bsheedy@ I think I also want to add mock hardware. Since I'm working on the mojo modification, I think add mock hardware will take this work as a whole "circle" :). What's your opinion? bsheedy@ And since I find that bajones@ is on leave, I'd like to started first with a [WIP] patch for reviewing.
That's great if you can take care of everything at once. If adding mock hardware support ends up taking up too much of your time, we should be able to take that back off your hands. I'll try to keep up to date with your WIP patch and offer any feedback I can come up with.
bsheedy@ thx for your support and I'll keep on doing this.
Project Member

Comment 15 by bugdroid1@chromium.org, Nov 10 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/91d0e2e835b7e000e432f3df690ed37a36cde1ec

commit 91d0e2e835b7e000e432f3df690ed37a36cde1ec
Author: shaobo.yan <shaobo.yan@intel.com>
Date: Thu Nov 10 08:27:48 2016

mojo VR interface simplified

Since mojo interface prefer API without index transfer, current
implementation should be modified.

According to dcheng@ and bajones@ comments, WebVR implementation should
modified to let display/frame communicate directly so that index
parameters are no longer need.

This patch is based on the strategy above and will have three stages:
1(done). Modify event handler part;
2(current). Modify VRService Interface;
3. Modify unittest part;

BUG= 652080 
R=leon.han@intel.com,dcheng@chromium.org,bshe@chromium.org,bajones@chromium.org
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

Review-Url: https://codereview.chromium.org/2420743003
Cr-Commit-Position: refs/heads/master@{#431210}

[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/device/vr/BUILD.gn
[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/device/vr/android/gvr/gvr_device.cc
[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/device/vr/android/gvr/gvr_device.h
[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/device/vr/android/gvr/gvr_device_provider.cc
[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/device/vr/android/gvr/gvr_device_provider.h
[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/device/vr/test/fake_vr_device.cc
[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/device/vr/test/fake_vr_device.h
[delete] https://crrev.com/7cf61eed7caf0ebd7d69c71f6280b065c1905003/device/vr/vr_client_dispatcher.h
[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/device/vr/vr_device.cc
[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/device/vr/vr_device.h
[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/device/vr/vr_device_manager.cc
[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/device/vr/vr_device_manager.h
[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/device/vr/vr_device_manager_unittest.cc
[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/device/vr/vr_device_provider.h
[add] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/device/vr/vr_display_impl.cc
[add] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/device/vr/vr_display_impl.h
[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/device/vr/vr_service.mojom
[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/device/vr/vr_service_impl.cc
[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/device/vr/vr_service_impl.h
[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/device/vr/vr_service_impl_unittest.cc
[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/third_party/WebKit/Source/modules/vr/VRController.cpp
[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/third_party/WebKit/Source/modules/vr/VRController.h
[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/third_party/WebKit/Source/modules/vr/VRDisplay.cpp
[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/third_party/WebKit/Source/modules/vr/VRDisplay.h
[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/third_party/WebKit/Source/modules/vr/VREyeParameters.cpp
[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/third_party/WebKit/Source/modules/vr/VREyeParameters.h
[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/third_party/WebKit/Source/modules/vr/VRFrameData.cpp
[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/third_party/WebKit/Source/modules/vr/VRFrameData.h
[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/third_party/WebKit/Source/modules/vr/VRPose.cpp
[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/third_party/WebKit/Source/modules/vr/VRPose.h
[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/third_party/WebKit/Source/modules/vr/VRStageParameters.cpp
[modify] https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec/third_party/WebKit/Source/modules/vr/VRStageParameters.h

Project Member

Comment 16 by bugdroid1@chromium.org, Nov 10 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658

commit f9f3bc1775dff0c89c8feb0737e36e71a9ae0658
Author: vabr <vabr@chromium.org>
Date: Thu Nov 10 11:22:42 2016

Revert of mojo VR interface simplified (patchset #21 id:400001 of https://codereview.chromium.org/2420743003/ )

Reason for revert:
This broke https://build.chromium.org/p/chromium/builders/Win%20x64/builds/5867/steps/compile/logs/stdio

Original issue's description:
> mojo VR interface simplified
>
> Since mojo interface prefer API without index transfer, current
> implementation should be modified.
>
> According to dcheng@ and bajones@ comments, WebVR implementation should
> modified to let display/frame communicate directly so that index
> parameters are no longer need.
>
> This patch is based on the strategy above and will have three stages:
> 1(done). Modify event handler part;
> 2(current). Modify VRService Interface;
> 3. Modify unittest part;
>
> BUG= 652080 
> R=leon.han@intel.com,dcheng@chromium.org,bshe@chromium.org,bajones@chromium.org
> CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation
>
> Committed: https://crrev.com/91d0e2e835b7e000e432f3df690ed37a36cde1ec
> Cr-Commit-Position: refs/heads/master@{#431210}

TBR=bajones@chromium.org,bshe@chromium.org,dcheng@chromium.org,leon.han@intel.com,reillyg@chromium.org,rockot@chromium.org,haraken@chromium.org,clamy@chromium.org,mkwst@chromium.org,shaobo.yan@intel.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 652080 

Review-Url: https://codereview.chromium.org/2488273002
Cr-Commit-Position: refs/heads/master@{#431233}

[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/device/vr/BUILD.gn
[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/device/vr/android/gvr/gvr_device.cc
[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/device/vr/android/gvr/gvr_device.h
[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/device/vr/android/gvr/gvr_device_provider.cc
[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/device/vr/android/gvr/gvr_device_provider.h
[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/device/vr/test/fake_vr_device.cc
[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/device/vr/test/fake_vr_device.h
[add] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/device/vr/vr_client_dispatcher.h
[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/device/vr/vr_device.cc
[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/device/vr/vr_device.h
[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/device/vr/vr_device_manager.cc
[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/device/vr/vr_device_manager.h
[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/device/vr/vr_device_manager_unittest.cc
[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/device/vr/vr_device_provider.h
[delete] https://crrev.com/3d8b2fe9a20f2c0157e1ab855ebea2dbac2c9773/device/vr/vr_display_impl.cc
[delete] https://crrev.com/3d8b2fe9a20f2c0157e1ab855ebea2dbac2c9773/device/vr/vr_display_impl.h
[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/device/vr/vr_service.mojom
[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/device/vr/vr_service_impl.cc
[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/device/vr/vr_service_impl.h
[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/device/vr/vr_service_impl_unittest.cc
[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/third_party/WebKit/Source/modules/vr/VRController.cpp
[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/third_party/WebKit/Source/modules/vr/VRController.h
[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/third_party/WebKit/Source/modules/vr/VRDisplay.cpp
[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/third_party/WebKit/Source/modules/vr/VRDisplay.h
[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/third_party/WebKit/Source/modules/vr/VREyeParameters.cpp
[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/third_party/WebKit/Source/modules/vr/VREyeParameters.h
[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/third_party/WebKit/Source/modules/vr/VRFrameData.cpp
[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/third_party/WebKit/Source/modules/vr/VRFrameData.h
[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/third_party/WebKit/Source/modules/vr/VRPose.cpp
[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/third_party/WebKit/Source/modules/vr/VRPose.h
[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/third_party/WebKit/Source/modules/vr/VRStageParameters.cpp
[modify] https://crrev.com/f9f3bc1775dff0c89c8feb0737e36e71a9ae0658/third_party/WebKit/Source/modules/vr/VRStageParameters.h

Project Member

Comment 17 by bugdroid1@chromium.org, Nov 11 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/afc619b02bc3fa771855c768f92057052765bea0

commit afc619b02bc3fa771855c768f92057052765bea0
Author: shaobo.yan <shaobo.yan@intel.com>
Date: Fri Nov 11 04:08:33 2016

Reland of mojo VR interface simpified.
Fix the reason of revert of Werror : https://build.chromium.org/p/chromium/builders/Win%20x64/builds/5867/steps/compile/logs/stdio
Fix this by adding static_cast<unsigned> in the GetNumberOfConnectedDevices() function which in vr_device_manager.cc file.

Original issue's description:
mojo VR interface simplified

Since mojo interface prefer API without index transfer, current
implementation should be modified.

According to dcheng@ and bajones@ comments, WebVR implementation should
modified to let display/frame communicate directly so that index
parameters are no longer need.

BUG= 652080 
R=bajons@chromium.org,dcheng@chromium.org,clamy@chromium.org
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

Review-Url: https://codereview.chromium.org/2494733002
Cr-Commit-Position: refs/heads/master@{#431493}

[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/device/vr/BUILD.gn
[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/device/vr/android/gvr/gvr_device.cc
[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/device/vr/android/gvr/gvr_device.h
[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/device/vr/android/gvr/gvr_device_provider.cc
[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/device/vr/android/gvr/gvr_device_provider.h
[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/device/vr/test/fake_vr_device.cc
[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/device/vr/test/fake_vr_device.h
[delete] https://crrev.com/f9a9eed835172e6ecdb351901f1b5f40266d1ce3/device/vr/vr_client_dispatcher.h
[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/device/vr/vr_device.cc
[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/device/vr/vr_device.h
[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/device/vr/vr_device_manager.cc
[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/device/vr/vr_device_manager.h
[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/device/vr/vr_device_manager_unittest.cc
[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/device/vr/vr_device_provider.h
[add] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/device/vr/vr_display_impl.cc
[add] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/device/vr/vr_display_impl.h
[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/device/vr/vr_service.mojom
[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/device/vr/vr_service_impl.cc
[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/device/vr/vr_service_impl.h
[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/device/vr/vr_service_impl_unittest.cc
[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/third_party/WebKit/Source/modules/vr/VRController.cpp
[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/third_party/WebKit/Source/modules/vr/VRController.h
[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/third_party/WebKit/Source/modules/vr/VRDisplay.cpp
[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/third_party/WebKit/Source/modules/vr/VRDisplay.h
[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/third_party/WebKit/Source/modules/vr/VREyeParameters.cpp
[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/third_party/WebKit/Source/modules/vr/VREyeParameters.h
[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/third_party/WebKit/Source/modules/vr/VRFrameData.cpp
[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/third_party/WebKit/Source/modules/vr/VRFrameData.h
[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/third_party/WebKit/Source/modules/vr/VRPose.cpp
[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/third_party/WebKit/Source/modules/vr/VRPose.h
[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/third_party/WebKit/Source/modules/vr/VRStageParameters.cpp
[modify] https://crrev.com/afc619b02bc3fa771855c768f92057052765bea0/third_party/WebKit/Source/modules/vr/VRStageParameters.h

Blocking: 664644
I think this issue is fixed by patch above.
Status: Fixed (was: Available)
Agreed. Closing.

Sign in to add a comment