See section "VR Interface" in go/chromevr-java-dfm.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b1adbb81bc32f873b10af282c2004397893e60eb commit b1adbb81bc32f873b10af282c2004397893e60eb Author: Tibor Goldschwendt <tiborg@chromium.org> Date: Tue Jul 17 20:41:58 2018 [vr] Add VR module interface, implementations and provider This CL prepares moving VR code into a DFM. See go/chromevr-java-dfm for more details. This CL does the following: - Add VrDelegate and VrIntentDelegate interfaces which represents the VR API the rest of Chrome can call. - Add the interfaces implementation VrDelegateImpl, which forwards calls from Chrome into VR to the classes currently implementing those calls, i.e. VrShellDelegate and VrIntentUtils. - Add the interfaces implementation VrDelegateFallback, which will be instantiated if the VR DFM is not present. For now, it will be instantiated if the GN arg enable_vr is false. - Add VrModuleProvider, which is responsible for instantiating the correct interface implementations. - Replaces all calls from outside of VR to VrShellDelegate and VrIntentUtils with calls to the new interfaces. - Moves most VR Java classes behind the enable_vr GN arg. Bug: 862639 Change-Id: Iae88db612dc65930d915fb3187bd9426b56f9045 Reviewed-on: https://chromium-review.googlesource.com/1133319 Commit-Queue: Tibor Goldschwendt <tiborg@chromium.org> Reviewed-by: Michael Thiessen <mthiesse@chromium.org> Reviewed-by: Ted Choc <tedchoc@chromium.org> Cr-Commit-Position: refs/heads/master@{#575760} [rename] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/res_vr/anim/stay_hidden.xml [rename] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/res_vr/drawable-hdpi/vr_services.png [rename] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/res_vr/drawable-mdpi/vr_services.png [rename] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/res_vr/drawable-xhdpi/vr_services.png [rename] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/res_vr/drawable-xxhdpi/vr_services.png [rename] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/res_vr/drawable-xxxhdpi/vr_services.png [modify] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java [modify] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java [modify] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java [modify] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/JavascriptAppModalDialog.java [modify] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java [modify] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/NavigationBarColorController.java [modify] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/RepostFormWarningDialog.java [modify] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/banners/AppBannerManager.java [modify] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/document/ChromeLauncherActivity.java [modify] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencer.java [modify] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/ChromeFullscreenManager.java [modify] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/locale/LocaleManager.java [modify] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/media/remote/RemoteMediaPlayerBridge.java [modify] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/ntp/IncognitoNewTabPage.java [modify] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java [modify] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java [modify] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/page_info/ConnectionInfoPopup.java [modify] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/page_info/PageInfoController.java [modify] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/permissions/PermissionDialogController.java [modify] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java [modify] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/tab/TabBrowserControlsOffsetHelper.java [add] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/vr/VrDelegate.java [add] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/vr/VrDelegateFallback.java [add] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/vr/VrDelegateImpl.java [add] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/vr/VrDelegateProvider.java [add] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/vr/VrDelegateProviderFallback.java [add] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/vr/VrDelegateProviderImpl.java [add] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/vr/VrIntentDelegate.java [add] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/vr/VrModeObserver.java [add] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/vr/VrModuleProvider.java [modify] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/vr/VrShellDelegate.java [modify] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/widget/ToolbarProgressBar.java [modify] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/src/org/chromium/chrome/browser/widget/selection/SelectableListToolbar.java [modify] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java/strings/android_chrome_strings.grd [modify] https://crrev.com/b1adbb81bc32f873b10af282c2004397893e60eb/chrome/android/java_sources.gni
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3a6ea85422b56fe6ff93e490f54518b54dd96d57 commit 3a6ea85422b56fe6ff93e490f54518b54dd96d57 Author: Michael Thiessen <mthiesse@chromium.org> Date: Fri Aug 03 18:26:26 2018 Remove VrClassesWrapper Now that all VR code is behind the VR module, the VrClassesWrapper and a bunch of other interfaces are redundant. TBR=yfriedman@chromium.org Bug: 862639 Change-Id: I52d10c319a255515469414346c4f3730084bd617 Reviewed-on: https://chromium-review.googlesource.com/1161110 Reviewed-by: Michael Thiessen <mthiesse@chromium.org> Reviewed-by: Tibor Goldschwendt <tiborg@chromium.org> Commit-Queue: Michael Thiessen <mthiesse@chromium.org> Cr-Commit-Position: refs/heads/master@{#580603} [modify] https://crrev.com/3a6ea85422b56fe6ff93e490f54518b54dd96d57/chrome/android/BUILD.gn [delete] https://crrev.com/875d9a87de63f8f13373b2c6e0341827f1ed353c/chrome/android/java/src/org/chromium/chrome/browser/vr/VrClassesWrapper.java [delete] https://crrev.com/875d9a87de63f8f13373b2c6e0341827f1ed353c/chrome/android/java/src/org/chromium/chrome/browser/vr/VrClassesWrapperImpl.java [modify] https://crrev.com/3a6ea85422b56fe6ff93e490f54518b54dd96d57/chrome/android/java/src/org/chromium/chrome/browser/vr/VrCoreVersionChecker.java [delete] https://crrev.com/875d9a87de63f8f13373b2c6e0341827f1ed353c/chrome/android/java/src/org/chromium/chrome/browser/vr/VrCoreVersionCheckerImpl.java [modify] https://crrev.com/3a6ea85422b56fe6ff93e490f54518b54dd96d57/chrome/android/java/src/org/chromium/chrome/browser/vr/VrDaydreamApi.java [delete] https://crrev.com/875d9a87de63f8f13373b2c6e0341827f1ed353c/chrome/android/java/src/org/chromium/chrome/browser/vr/VrDaydreamApiImpl.java [modify] https://crrev.com/3a6ea85422b56fe6ff93e490f54518b54dd96d57/chrome/android/java/src/org/chromium/chrome/browser/vr/VrFirstRunActivity.java [modify] https://crrev.com/3a6ea85422b56fe6ff93e490f54518b54dd96d57/chrome/android/java/src/org/chromium/chrome/browser/vr/VrIntentUtils.java [modify] https://crrev.com/3a6ea85422b56fe6ff93e490f54518b54dd96d57/chrome/android/java/src/org/chromium/chrome/browser/vr/VrShell.java [modify] https://crrev.com/3a6ea85422b56fe6ff93e490f54518b54dd96d57/chrome/android/java/src/org/chromium/chrome/browser/vr/VrShellDelegate.java [delete] https://crrev.com/875d9a87de63f8f13373b2c6e0341827f1ed353c/chrome/android/java/src/org/chromium/chrome/browser/vr/VrShellImpl.java [modify] https://crrev.com/3a6ea85422b56fe6ff93e490f54518b54dd96d57/chrome/android/java_sources.gni [modify] https://crrev.com/3a6ea85422b56fe6ff93e490f54518b54dd96d57/chrome/android/javatests/src/org/chromium/chrome/browser/vr/TestVrShellDelegate.java [modify] https://crrev.com/3a6ea85422b56fe6ff93e490f54518b54dd96d57/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrBrowserTransitionTest.java [modify] https://crrev.com/3a6ea85422b56fe6ff93e490f54518b54dd96d57/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrBrowserWebInputEditingTest.java [modify] https://crrev.com/3a6ea85422b56fe6ff93e490f54518b54dd96d57/chrome/android/javatests/src/org/chromium/chrome/browser/vr/WebXrVrInputTest.java [rename] https://crrev.com/3a6ea85422b56fe6ff93e490f54518b54dd96d57/chrome/android/javatests/src/org/chromium/chrome/browser/vr/mock/MockVrCoreVersionChecker.java [modify] https://crrev.com/3a6ea85422b56fe6ff93e490f54518b54dd96d57/chrome/android/javatests/src/org/chromium/chrome/browser/vr/mock/MockVrDaydreamApi.java [modify] https://crrev.com/3a6ea85422b56fe6ff93e490f54518b54dd96d57/chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/NativeUiUtils.java [modify] https://crrev.com/3a6ea85422b56fe6ff93e490f54518b54dd96d57/chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/VrBrowserTransitionUtils.java [modify] https://crrev.com/3a6ea85422b56fe6ff93e490f54518b54dd96d57/chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/VrShellDelegateUtils.java [modify] https://crrev.com/3a6ea85422b56fe6ff93e490f54518b54dd96d57/chrome/browser/android/vr/BUILD.gn [modify] https://crrev.com/3a6ea85422b56fe6ff93e490f54518b54dd96d57/chrome/browser/android/vr/vr_shell.cc
Comment 1 by tiborg@chromium.org
, Jul 11