Chromium Code Reviews| Index: chrome/browser/android/vr_shell/vr_gl_thread.cc |
| diff --git a/chrome/browser/android/vr_shell/vr_gl_thread.cc b/chrome/browser/android/vr_shell/vr_gl_thread.cc |
| index 0fc3ea0e6782a83f2e5fa46dea755c9945b9bae9..e98c4eb7399bb623470330f84112b3dd1bda1daf 100644 |
| --- a/chrome/browser/android/vr_shell/vr_gl_thread.cc |
| +++ b/chrome/browser/android/vr_shell/vr_gl_thread.cc |
| @@ -36,7 +36,9 @@ void VrGLThread::Init() { |
| scene_ = base::MakeUnique<UiScene>(); |
| vr_shell_gl_ = base::MakeUnique<VrShellGl>( |
| this, gvr_api_, initially_web_vr_, reprojected_rendering_, scene_.get()); |
| + |
| scene_manager_ = base::MakeUnique<UiSceneManager>(this, scene_.get()); |
| + scene_manager_->SetWebVRMode(initially_web_vr_); |
| weak_vr_shell_gl_ = vr_shell_gl_->GetWeakPtr(); |
| weak_scene_manager_ = scene_manager_->GetWeakPtr(); |
| @@ -59,18 +61,18 @@ void VrGLThread::UpdateGamepadData(device::GvrGamepadData pad) { |
| FROM_HERE, base::Bind(&VrShell::UpdateGamepadData, weak_vr_shell_, pad)); |
| } |
| -void VrGLThread::AppButtonGesturePerformed(UiInterface::Direction direction) { |
| - main_thread_task_runner_->PostTask( |
| - FROM_HERE, base::Bind(&VrShell::AppButtonGesturePerformed, weak_vr_shell_, |
| - direction)); |
| -} |
| - |
| -void VrGLThread::OnAppButtonClicked() { |
| +void VrGLThread::AppButtonClicked() { |
| weak_vr_shell_gl_->GetTaskRunner()->PostTask( |
| FROM_HERE, |
| base::Bind(&UiSceneManager::OnAppButtonClicked, weak_scene_manager_)); |
| } |
| +void VrGLThread::AppButtonGesturePerformed(UiInterface::Direction direction) { |
| + weak_vr_shell_gl_->GetTaskRunner()->PostTask( |
|
mthiesse
2017/05/08 16:04:55
Should this be task_runner()->PostTask()?
cjgrant
2017/05/08 19:17:22
Done. Good call.
|
| + FROM_HERE, base::Bind(&UiSceneManager::OnAppButtonGesturePerformed, |
| + weak_scene_manager_, direction)); |
| +} |
| + |
| void VrGLThread::ProcessContentGesture( |
| std::unique_ptr<blink::WebInputEvent> event) { |
| main_thread_task_runner_->PostTask( |
| @@ -96,6 +98,55 @@ void VrGLThread::OnContentPaused(bool enabled) { |
| base::Bind(&VrShell::OnContentPaused, weak_vr_shell_, enabled)); |
| } |
| +void VrGLThread::SetWebVr(bool enabled) {} |
| + |
| +void VrGLThread::SetURL(const GURL& gurl) { |
| + WaitUntilThreadStarted(); |
| + task_runner()->PostTask(FROM_HERE, base::Bind(&UiSceneManager::SetURL, |
| + weak_scene_manager_, gurl)); |
| +} |
| + |
| +void VrGLThread::SetFullscreen(bool enabled) { |
| + WaitUntilThreadStarted(); |
| + task_runner()->PostTask(FROM_HERE, base::Bind(&UiSceneManager::SetFullscreen, |
| + weak_scene_manager_, enabled)); |
| +} |
| + |
| +void VrGLThread::SetSecurityLevel(int level) { |
| + WaitUntilThreadStarted(); |
| + task_runner()->PostTask(FROM_HERE, |
| + base::Bind(&UiSceneManager::SetSecurityLevel, |
| + weak_scene_manager_, level)); |
| +} |
| + |
| +void VrGLThread::SetWebVRSecureOrigin(bool secure) { |
| + WaitUntilThreadStarted(); |
| + task_runner()->PostTask(FROM_HERE, |
| + base::Bind(&UiSceneManager::SetWebVRSecureOrigin, |
| + weak_scene_manager_, secure)); |
| +} |
| + |
| +void VrGLThread::SetLoading(bool loading) { |
| + WaitUntilThreadStarted(); |
| + task_runner()->PostTask(FROM_HERE, base::Bind(&UiSceneManager::SetLoading, |
| + weak_scene_manager_, loading)); |
| +} |
| + |
| +void VrGLThread::SetLoadProgress(double progress) { |
| + WaitUntilThreadStarted(); |
| + task_runner()->PostTask(FROM_HERE, |
| + base::Bind(&UiSceneManager::SetLoadProgress, |
| + weak_scene_manager_, progress)); |
| +} |
| + |
| +void VrGLThread::SetHistoryButtonsEnabled(bool can_go_back, |
| + bool can_go_forward) { |
| + WaitUntilThreadStarted(); |
| + task_runner()->PostTask( |
| + FROM_HERE, base::Bind(&UiSceneManager::SetHistoryButtonsEnabled, |
| + weak_scene_manager_, can_go_forward, can_go_back)); |
| +} |
| + |
| void VrGLThread::CleanUp() { |
| scene_manager_.reset(); |
| vr_shell_gl_.reset(); |