| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/android/vr_shell/vr_shell.h" | 5 #include "chrome/browser/android/vr_shell/vr_shell.h" |
| 6 | 6 |
| 7 #include <android/native_window_jni.h> | 7 #include <android/native_window_jni.h> |
| 8 | 8 |
| 9 #include <string> | 9 #include <string> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 255 const JavaParamRef<jobject>& surface) { | 255 const JavaParamRef<jobject>& surface) { |
| 256 CHECK(!reprojected_rendering_); | 256 CHECK(!reprojected_rendering_); |
| 257 gfx::AcceleratedWidget window = | 257 gfx::AcceleratedWidget window = |
| 258 ANativeWindow_fromSurface(base::android::AttachCurrentThread(), surface); | 258 ANativeWindow_fromSurface(base::android::AttachCurrentThread(), surface); |
| 259 PostToGlThreadWhenReady(base::Bind(&VrShellGl::InitializeGl, | 259 PostToGlThreadWhenReady(base::Bind(&VrShellGl::InitializeGl, |
| 260 gl_thread_->GetVrShellGl(), | 260 gl_thread_->GetVrShellGl(), |
| 261 base::Unretained(window))); | 261 base::Unretained(window))); |
| 262 } | 262 } |
| 263 | 263 |
| 264 void VrShell::SetWebVrMode(JNIEnv* env, | 264 void VrShell::SetWebVrMode(JNIEnv* env, |
| 265 const base::android::JavaParamRef<jobject>& obj, | 265 const JavaParamRef<jobject>& obj, |
| 266 bool enabled) { | 266 bool enabled) { |
| 267 webvr_mode_ = enabled; | 267 webvr_mode_ = enabled; |
| 268 if (metrics_helper_) | 268 if (metrics_helper_) |
| 269 metrics_helper_->SetWebVREnabled(enabled); | 269 metrics_helper_->SetWebVREnabled(enabled); |
| 270 PostToGlThreadWhenReady(base::Bind(&VrShellGl::SetWebVrMode, | 270 PostToGlThreadWhenReady(base::Bind(&VrShellGl::SetWebVrMode, |
| 271 gl_thread_->GetVrShellGl(), enabled)); | 271 gl_thread_->GetVrShellGl(), enabled)); |
| 272 | 272 |
| 273 ui_->SetMode(enabled ? UiInterface::Mode::WEB_VR | 273 ui_->SetMode(enabled ? UiInterface::Mode::WEB_VR |
| 274 : UiInterface::Mode::STANDARD); | 274 : UiInterface::Mode::STANDARD); |
| 275 PostToGlThreadWhenReady(base::Bind(&UiSceneManager::SetWebVRMode, | 275 PostToGlThreadWhenReady(base::Bind(&UiSceneManager::SetWebVRMode, |
| 276 gl_thread_->GetSceneManager(), enabled)); | 276 gl_thread_->GetSceneManager(), enabled)); |
| 277 } | 277 } |
| 278 | 278 |
| 279 bool VrShell::GetWebVrMode(JNIEnv* env, const JavaParamRef<jobject>& obj) { |
| 280 return webvr_mode_; |
| 281 } |
| 282 |
| 279 void VrShell::OnLoadProgressChanged(JNIEnv* env, | 283 void VrShell::OnLoadProgressChanged(JNIEnv* env, |
| 280 const JavaParamRef<jobject>& obj, | 284 const JavaParamRef<jobject>& obj, |
| 281 double progress) { | 285 double progress) { |
| 282 ui_->SetLoadProgress(progress); | 286 ui_->SetLoadProgress(progress); |
| 283 } | 287 } |
| 284 | 288 |
| 285 void VrShell::OnTabListCreated(JNIEnv* env, | 289 void VrShell::OnTabListCreated(JNIEnv* env, |
| 286 const JavaParamRef<jobject>& obj, | 290 const JavaParamRef<jobject>& obj, |
| 287 jobjectArray tabs, | 291 jobjectArray tabs, |
| 288 jobjectArray incognito_tabs) { | 292 jobjectArray incognito_tabs) { |
| (...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 553 DVLOG(1) << __FUNCTION__ << "(" << fetcher << ")"; | 557 DVLOG(1) << __FUNCTION__ << "(" << fetcher << ")"; |
| 554 gamepad_data_fetcher_ = fetcher; | 558 gamepad_data_fetcher_ = fetcher; |
| 555 } | 559 } |
| 556 | 560 |
| 557 // ---------------------------------------------------------------------------- | 561 // ---------------------------------------------------------------------------- |
| 558 // Native JNI methods | 562 // Native JNI methods |
| 559 // ---------------------------------------------------------------------------- | 563 // ---------------------------------------------------------------------------- |
| 560 | 564 |
| 561 jlong Init(JNIEnv* env, | 565 jlong Init(JNIEnv* env, |
| 562 const JavaParamRef<jobject>& obj, | 566 const JavaParamRef<jobject>& obj, |
| 563 const base::android::JavaParamRef<jobject>& delegate, | 567 const JavaParamRef<jobject>& delegate, |
| 564 jlong window_android, | 568 jlong window_android, |
| 565 jboolean for_web_vr, | 569 jboolean for_web_vr, |
| 566 jlong gvr_api, | 570 jlong gvr_api, |
| 567 jboolean reprojected_rendering) { | 571 jboolean reprojected_rendering) { |
| 568 return reinterpret_cast<intptr_t>(new VrShell( | 572 return reinterpret_cast<intptr_t>(new VrShell( |
| 569 env, obj, reinterpret_cast<ui::WindowAndroid*>(window_android), | 573 env, obj, reinterpret_cast<ui::WindowAndroid*>(window_android), |
| 570 for_web_vr, VrShellDelegate::GetNativeVrShellDelegate(env, delegate), | 574 for_web_vr, VrShellDelegate::GetNativeVrShellDelegate(env, delegate), |
| 571 reinterpret_cast<gvr_context*>(gvr_api), reprojected_rendering)); | 575 reinterpret_cast<gvr_context*>(gvr_api), reprojected_rendering)); |
| 572 } | 576 } |
| 573 | 577 |
| 574 } // namespace vr_shell | 578 } // namespace vr_shell |
| OLD | NEW |