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

Unified Diff: chrome/browser/android/vr_shell/vr_shell.cc

Issue 2866853002: VR: Wire VrShell UI-related state to the scene manager. (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/android/vr_shell/vr_shell.cc
diff --git a/chrome/browser/android/vr_shell/vr_shell.cc b/chrome/browser/android/vr_shell/vr_shell.cc
index 49362ef2b89d248065e793b4d0f8bb1241d38b27..6aa27145a22771418d0f80e536e2cdc472b77937 100644
--- a/chrome/browser/android/vr_shell/vr_shell.cc
+++ b/chrome/browser/android/vr_shell/vr_shell.cc
@@ -52,6 +52,7 @@
#include "ui/gfx/codec/png_codec.h"
#include "ui/gfx/geometry/size.h"
#include "ui/gfx/native_widget_types.h"
+#include "url/gurl.h"
using base::android::JavaParamRef;
using base::android::JavaRef;
@@ -102,13 +103,12 @@ VrShell::VrShell(JNIEnv* env,
gl_thread_ = base::MakeUnique<VrGLThread>(weak_ptr_factory_.GetWeakPtr(),
main_thread_task_runner_, gvr_api,
for_web_vr, reprojected_rendering_);
+ ui_ = gl_thread_.get();
base::Thread::Options options(base::MessageLoop::TYPE_DEFAULT, 0);
options.priority = base::ThreadPriority::DISPLAY;
gl_thread_->StartWithOptions(options);
- ui_ = base::MakeUnique<UiInterface>(for_web_vr ? UiInterface::Mode::WEB_VR
- : UiInterface::Mode::STANDARD);
content::BrowserThread::PostTask(
content::BrowserThread::FILE, FROM_HERE,
@@ -150,7 +150,7 @@ void VrShell::SwapContents(
}
input_manager_ = base::MakeUnique<VrInputManager>(web_contents_);
vr_web_contents_observer_ =
- base::MakeUnique<VrWebContentsObserver>(web_contents_, ui_.get(), this);
+ base::MakeUnique<VrWebContentsObserver>(web_contents_, ui_, this);
// TODO(billorr): Make VrMetricsHelper tab-aware and able to track multiple
// tabs. crbug.com/684661
metrics_helper_ = base::MakeUnique<VrMetricsHelper>(web_contents_);
@@ -164,6 +164,7 @@ void VrShell::SetUiState() {
ui_->SetURL(GURL());
ui_->SetLoading(false);
ui_->SetFullscreen(false);
+ ui_->SetURL(GURL());
} else {
ui_->SetURL(web_contents_->GetVisibleURL());
ui_->SetLoading(web_contents_->IsLoading());
@@ -267,11 +268,7 @@ void VrShell::SetWebVrMode(JNIEnv* env,
metrics_helper_->SetWebVREnabled(enabled);
PostToGlThreadWhenReady(base::Bind(&VrShellGl::SetWebVrMode,
gl_thread_->GetVrShellGl(), enabled));
-
- ui_->SetMode(enabled ? UiInterface::Mode::WEB_VR
- : UiInterface::Mode::STANDARD);
- PostToGlThreadWhenReady(base::Bind(&UiSceneManager::SetWebVRMode,
- gl_thread_->GetSceneManager(), enabled));
+ ui_->SetWebVr(enabled);
}
bool VrShell::GetWebVrMode(JNIEnv* env, const JavaParamRef<jobject>& obj) {
@@ -288,7 +285,6 @@ void VrShell::OnTabListCreated(JNIEnv* env,
const JavaParamRef<jobject>& obj,
jobjectArray tabs,
jobjectArray incognito_tabs) {
- ui_->InitTabList();
ProcessTabArray(env, tabs, false);
ProcessTabArray(env, incognito_tabs, true);
ui_->FlushTabList();
@@ -322,9 +318,7 @@ void VrShell::OnTabRemoved(JNIEnv* env,
}
void VrShell::SetWebVRSecureOrigin(bool secure_origin) {
- PostToGlThreadWhenReady(base::Bind(&UiSceneManager::SetWebVRSecureOrigin,
- gl_thread_->GetSceneManager(),
- secure_origin));
+ ui_->SetWebVRSecureOrigin(secure_origin);
}
void VrShell::SubmitWebVRFrame(int16_t frame_index,
@@ -399,11 +393,6 @@ void VrShell::GvrDelegateReady() {
delegate_provider_->SetPresentingDelegate(this, gvr_api_);
}
-void VrShell::AppButtonGesturePerformed(UiInterface::Direction direction) {
- if (vr_shell_enabled_)
- ui_->HandleAppButtonGesturePerformed(direction);
-}
-
void VrShell::ContentPhysicalBoundsChanged(JNIEnv* env,
const JavaParamRef<jobject>& object,
jint width,

Powered by Google App Engine
This is Rietveld 408576698