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 |