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

Issue 2219203002: Migrate WebVR Cardboard implementation to GVR (Closed)

Created:
4 years, 4 months ago by bajones
Modified:
4 years, 2 months ago
CC:
chromium-reviews
Base URL:
https://chromium.googlesource.com/chromium/src.git@gvr_third_party
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Migrate WebVR Cardboard implementation to GVR BUG=389343 Committed: https://crrev.com/267d5f909f25543d2351cc506626b5d5c08461c3 Committed: https://crrev.com/7ab52ec35d497d6bb96c6a1fa36c9b123bc72330 Cr-Original-Commit-Position: refs/heads/master@{#412710} Cr-Commit-Position: refs/heads/master@{#413217}

Patch Set 1 #

Total comments: 3

Patch Set 2 : Name change to GVR across the board #

Total comments: 1

Patch Set 3 : Added static 50ms prediction #

Patch Set 4 : Fixed protobuf linking issue in release #

Patch Set 5 : Refactor to make transition to "real" GvrLayout easier. #

Patch Set 6 : Added proguard config to fix release builds #

Patch Set 7 : Rebase #

Patch Set 8 : Removed unnecessary Cardboard SDK dependency #

Patch Set 9 : Attempting to work around StrictMode failures. #

Patch Set 10 : Attempt to fix test crashes #

Patch Set 11 : Trying to sidestep issues on arm64 #

Patch Set 12 : Suppress building on arm64, take 2 #

Patch Set 13 : I seriously just can't even anymore... #

Patch Set 14 : Maybe possibly this will fix the test crashing? #

Patch Set 15 : Added fix leilei@ suggested #

Patch Set 16 : Latest attempt to fix .so loading in tests #

Patch Set 17 : Sprinkle libgvr in ALL the APKs! #

Patch Set 18 : Put lodable_module on wrong APK #

Patch Set 19 : Very minor cleanup in chrome/android/BUILD.gn #

Patch Set 20 : dpranke@ suggested a MUCH better way to handle the so dependency! THANKS! #

Patch Set 21 : Excluding MIPS #

Patch Set 22 : Take 2 at excluding MIPS, rebased #

Patch Set 23 : Disabling WebVR on non-component builds #

Total comments: 6
Unified diffs Side-by-side diffs Delta from patch set Stats (+505 lines, -451 lines) Patch
M build/config/features.gni View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +3 lines, -1 line 6 comments Download
M chrome/android/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +4 lines, -0 lines 0 comments Download
M content/content.gyp View 1 2 3 4 5 6 7 1 chunk +0 lines, -10 lines 0 comments Download
M content/public/android/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 2 chunks +4 lines, -1 line 0 comments Download
M device/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 3 chunks +13 lines, -5 lines 0 comments Download
M device/vr/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 4 chunks +15 lines, -7 lines 0 comments Download
M device/vr/DEPS View 1 chunk +1 line, -0 lines 0 comments Download
D device/vr/android/BUILD.gn View 1 chunk +0 lines, -14 lines 0 comments Download
D device/vr/android/cardboard/cardboard_vr_device.h View 1 chunk +0 lines, -34 lines 0 comments Download
D device/vr/android/cardboard/cardboard_vr_device.cc View 1 chunk +0 lines, -154 lines 0 comments Download
D device/vr/android/cardboard/cardboard_vr_device_provider.h View 1 chunk +0 lines, -33 lines 0 comments Download
D device/vr/android/cardboard/cardboard_vr_device_provider.cc View 1 chunk +0 lines, -27 lines 0 comments Download
A device/vr/android/gvr/gvr_api_manager.h View 1 2 3 4 1 chunk +44 lines, -0 lines 0 comments Download
A device/vr/android/gvr/gvr_api_manager.cc View 1 2 3 4 1 chunk +56 lines, -0 lines 0 comments Download
A device/vr/android/gvr/gvr_device.h View 1 2 3 4 1 chunk +35 lines, -0 lines 0 comments Download
A device/vr/android/gvr/gvr_device.cc View 1 2 3 4 1 chunk +136 lines, -0 lines 0 comments Download
A device/vr/android/gvr/gvr_device_provider.h View 1 2 3 4 1 chunk +41 lines, -0 lines 0 comments Download
A device/vr/android/gvr/gvr_device_provider.cc View 1 2 3 4 5 1 chunk +72 lines, -0 lines 0 comments Download
D device/vr/android/java/src/org/chromium/device/vr/CardboardVRDevice.java View 1 chunk +0 lines, -88 lines 0 comments Download
A device/vr/android/java/src/org/chromium/device/vr/GvrDeviceProvider.java View 1 2 3 4 5 6 7 8 1 chunk +56 lines, -0 lines 0 comments Download
D device/vr/android/vr_jni_registrar.h View 1 chunk +0 lines, -24 lines 0 comments Download
D device/vr/android/vr_jni_registrar.cc View 1 chunk +0 lines, -28 lines 0 comments Download
M device/vr/vr_device_manager.cc View 1 2 chunks +3 lines, -4 lines 0 comments Download
M third_party/gvr-android-sdk/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2 chunks +12 lines, -21 lines 0 comments Download
A third_party/gvr-android-sdk/proguard/base.flags View 1 2 3 4 5 1 chunk +10 lines, -0 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 63 (34 generated)
bajones
dtrainor@: Could you review the change to chrome/android/BUILD.gn?
4 years, 4 months ago (2016-08-08 18:43:50 UTC) #2
bajones
bshe@, mthiesse@, klausw@: Could you take a look at the changes to device/vr? I know ...
4 years, 4 months ago (2016-08-08 18:49:30 UTC) #4
bshe
lgtm with just a few nits GvrLayout needs to be notified on Resume and Pause. ...
4 years, 4 months ago (2016-08-08 21:43:41 UTC) #5
David Trainor- moved to gerrit
chrome/android/BUILD.gn lgtm
4 years, 4 months ago (2016-08-08 23:05:04 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2219203002/20001
4 years, 4 months ago (2016-08-08 23:15:59 UTC) #10
commit-bot: I haz the power
Try jobs failed on following builders: cast_shell_linux on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/cast_shell_linux/builds/203789)
4 years, 4 months ago (2016-08-08 23:26:06 UTC) #12
mthiesse
https://codereview.chromium.org/2219203002/diff/20001/device/vr/android/gvr/gvr_device.cc File device/vr/android/gvr/gvr_device.cc (right): https://codereview.chromium.org/2219203002/diff/20001/device/vr/android/gvr/gvr_device.cc#newcode95 device/vr/android/gvr/gvr_device.cc:95: gvr::Mat4f head_mat = gvr_->GetHeadPoseInStartSpace(gvr_get_time_point_now()); You're not doing any prediction? ...
4 years, 4 months ago (2016-08-09 14:51:56 UTC) #13
girard
Thanks for renaming the class. LGTM
4 years, 4 months ago (2016-08-09 14:57:58 UTC) #14
bajones
On 2016/08/09 14:51:56, mthiesse wrote: > https://codereview.chromium.org/2219203002/diff/20001/device/vr/android/gvr/gvr_device.cc > File device/vr/android/gvr/gvr_device.cc (right): > > https://codereview.chromium.org/2219203002/diff/20001/device/vr/android/gvr/gvr_device.cc#newcode95 > ...
4 years, 4 months ago (2016-08-09 16:15:00 UTC) #15
bajones
sievers@: Please review dependency removal from /content?
4 years, 4 months ago (2016-08-12 20:12:49 UTC) #29
no sievers
On 2016/08/12 20:12:49, bajones wrote: > sievers@: Please review dependency removal from /content? lgtm
4 years, 4 months ago (2016-08-15 17:13:20 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2219203002/380001
4 years, 4 months ago (2016-08-17 22:54:42 UTC) #35
commit-bot: I haz the power
Committed patchset #20 (id:380001)
4 years, 4 months ago (2016-08-18 00:52:59 UTC) #37
commit-bot: I haz the power
Patchset 20 (id:??) landed as https://crrev.com/267d5f909f25543d2351cc506626b5d5c08461c3 Cr-Commit-Position: refs/heads/master@{#412710}
4 years, 4 months ago (2016-08-18 00:55:41 UTC) #39
boliu
This caused cronet bot gn gen failing (and I suspect though haven't confirmed a few ...
4 years, 4 months ago (2016-08-18 02:20:02 UTC) #40
boliu
A revert of this CL (patchset #20 id:380001) has been created in https://codereview.chromium.org/2258513003/ by boliu@chromium.org. ...
4 years, 4 months ago (2016-08-18 02:21:55 UTC) #41
bajones
scottmg@: Please review build/config/features.gni, which should avoid the problems we saw last time this patch ...
4 years, 4 months ago (2016-08-19 16:08:51 UTC) #44
scottmg
lgtm
4 years, 4 months ago (2016-08-19 16:34:23 UTC) #45
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2219203002/440001
4 years, 4 months ago (2016-08-19 17:30:41 UTC) #48
commit-bot: I haz the power
Committed patchset #23 (id:440001)
4 years, 4 months ago (2016-08-19 19:54:44 UTC) #50
commit-bot: I haz the power
Patchset 23 (id:??) landed as https://crrev.com/7ab52ec35d497d6bb96c6a1fa36c9b123bc72330 Cr-Commit-Position: refs/heads/master@{#413217}
4 years, 4 months ago (2016-08-19 19:56:49 UTC) #52
michaelbai
https://codereview.chromium.org/2219203002/diff/440001/build/config/features.gni File build/config/features.gni (right): https://codereview.chromium.org/2219203002/diff/440001/build/config/features.gni#newcode127 build/config/features.gni:127: enable_webvr = is_android && is_component_build && It seems not ...
4 years, 2 months ago (2016-09-29 19:14:51 UTC) #54
klausw
On 2016/09/29 19:14:51, michaelbai wrote: > https://codereview.chromium.org/2219203002/diff/440001/build/config/features.gni > File build/config/features.gni (right): > > https://codereview.chromium.org/2219203002/diff/440001/build/config/features.gni#newcode127 > ...
4 years, 2 months ago (2016-09-29 19:28:53 UTC) #55
bshe
https://codereview.chromium.org/2219203002/diff/440001/build/config/features.gni File build/config/features.gni (right): https://codereview.chromium.org/2219203002/diff/440001/build/config/features.gni#newcode127 build/config/features.gni:127: enable_webvr = is_android && is_component_build && On 2016/09/29 19:14:51, ...
4 years, 2 months ago (2016-09-29 19:32:25 UTC) #56
michaelbai
https://codereview.chromium.org/2219203002/diff/440001/build/config/features.gni File build/config/features.gni (right): https://codereview.chromium.org/2219203002/diff/440001/build/config/features.gni#newcode127 build/config/features.gni:127: enable_webvr = is_android && is_component_build && On 2016/09/29 19:32:24, ...
4 years, 2 months ago (2016-09-29 19:42:15 UTC) #57
bshe
https://codereview.chromium.org/2219203002/diff/440001/build/config/features.gni File build/config/features.gni (right): https://codereview.chromium.org/2219203002/diff/440001/build/config/features.gni#newcode127 build/config/features.gni:127: enable_webvr = is_android && is_component_build && On 2016/09/29 19:42:14, ...
4 years, 2 months ago (2016-09-29 19:50:22 UTC) #58
michaelbai
https://codereview.chromium.org/2219203002/diff/440001/build/config/features.gni File build/config/features.gni (right): https://codereview.chromium.org/2219203002/diff/440001/build/config/features.gni#newcode127 build/config/features.gni:127: enable_webvr = is_android && is_component_build && On 2016/09/29 19:50:22, ...
4 years, 2 months ago (2016-09-29 20:01:46 UTC) #59
bshe
https://codereview.chromium.org/2219203002/diff/440001/build/config/features.gni File build/config/features.gni (right): https://codereview.chromium.org/2219203002/diff/440001/build/config/features.gni#newcode127 build/config/features.gni:127: enable_webvr = is_android && is_component_build && On 2016/09/29 20:01:46, ...
4 years, 2 months ago (2016-09-29 21:03:30 UTC) #62
michaelbai
4 years, 2 months ago (2016-09-30 00:11:22 UTC) #63
Message was sent while issue was closed.
On 2016/09/29 21:03:30, bshe wrote:
>
https://codereview.chromium.org/2219203002/diff/440001/build/config/features.gni
> File build/config/features.gni (right):
> 
>
https://codereview.chromium.org/2219203002/diff/440001/build/config/features....
> build/config/features.gni:127: enable_webvr = is_android && is_component_build
> &&
> On 2016/09/29 20:01:46, michaelbai wrote:
> > On 2016/09/29 19:50:22, bshe wrote:
> > > On 2016/09/29 19:42:14, michaelbai wrote:
> > > > On 2016/09/29 19:32:24, bshe wrote:
> > > > > On 2016/09/29 19:14:51, michaelbai wrote:
> > > > > > It seems not correct to use is_component_build here,
> is_component_build 
> > > is
> > > > > for
> > > > > > native code, webvr has Java code,
> > > > > > 
> > > > > > If someone changes is_component_build, Java code are not expected to
> be
> > > > > changed.
> > > > > > 
> > > > > > Do you really mean 'is_debug' here?
> > > > > 
> > > > > bajones@ is OOO. I can try to answer your question.
> > > > > The reason we use is_component_build here is because libgvr.so has
> linking
> > > > issue
> > > > > in
> > > > > non component builds. Chrome's linker expecting only one single .so
and
> > > > doesn't
> > > > > handle
> > > > > two .so well. The solution is to get a libgvr.a and have it linked
into
> > > > > libchrome.so. We are
> > > > > working on it and once it landed, is_component_build will be removed.
> > > > 
> > > > In this case, WebVR shouldn't be enabled by default, if you want the
code
> be
> > > > covered by build bot, you can have a dedicated bot.
> > > 
> > > We are targetting to ship it for M55. So more coverage sounds better at
this
> > > stage. There were
> > > some issues recently after we upgrade gvr library. We wouldn't be able to
> > catch
> > > them if we disable webvr. Could you elaborate the reason that you prefer
us
> to
> > > disable it by default?
> > 
> > First of all, the issue caused by enable_webvr depending on
is_component_build
> > is confusing and not easy to be discovered, basically it is wrong.
> > 
> > Second, as you can see, if webvr only worked for component_build, it is not
> > ready for launch at all, and the current solution is very different than the
> one
> > you want to launch, it shouldn't be enabled by default.
> > 
> > Last, you can have separated bot which enables webvr to cover your code if
you
> > really want to.
> webvr actually gets a thumbs up to release in M55 if we can put everything
> together before
> M55 cut. The main issue for the specific code is a linking issue. It has
little
> to do with webvr
> feature itself(And we are working on support non component build). We were
able
> to play with
> webvr in component build.
> We could have separate bots to test webvr. But there are a lot of different
> combinations (cpu, release/debug, component/non component) that we want to
test
> for linking. It is not trivial to setup all the
> combination to make sure that we could simply flip the webvr flag without
> surprises near the end
> of M55.
> Given we only have a few days for M55, unless you still strongly disagree, it
> would really simplify our work to leave it enable by default. And if we are
not
> able to ship webvr in M55, I will make sure that I turn it off before M55 cut.

sgtm, good luck

Powered by Google App Engine
This is Rietveld 408576698