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 <thread> | 7 #include <thread> |
8 | 8 |
9 #include "chrome/browser/android/vr_shell/ui_scene.h" | 9 #include "chrome/browser/android/vr_shell/ui_scene.h" |
10 #include "chrome/browser/android/vr_shell/vr_compositor.h" | 10 #include "chrome/browser/android/vr_shell/vr_compositor.h" |
(...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
376 glDepthMask(GL_FALSE); | 376 glDepthMask(GL_FALSE); |
377 glDisable(GL_DEPTH_TEST); | 377 glDisable(GL_DEPTH_TEST); |
378 glDisable(GL_SCISSOR_TEST); | 378 glDisable(GL_SCISSOR_TEST); |
379 glDisable(GL_BLEND); | 379 glDisable(GL_BLEND); |
380 glDisable(GL_POLYGON_OFFSET_FILL); | 380 glDisable(GL_POLYGON_OFFSET_FILL); |
381 | 381 |
382 // Don't need to clear, since we're drawing over the entire render target. | 382 // Don't need to clear, since we're drawing over the entire render target. |
383 | 383 |
384 glViewport(0, 0, render_size_.width, render_size_.height); | 384 glViewport(0, 0, render_size_.width, render_size_.height); |
385 vr_shell_renderer_->GetWebVrRenderer()->Draw(content_texture_id_); | 385 vr_shell_renderer_->GetWebVrRenderer()->Draw(content_texture_id_); |
| 386 |
| 387 if (!webvr_secure_origin_) { |
| 388 // TODO(klausw): Draw the insecure origin warning here. |
| 389 } |
386 } | 390 } |
387 | 391 |
388 void VrShell::OnPause(JNIEnv* env, const JavaParamRef<jobject>& obj) { | 392 void VrShell::OnPause(JNIEnv* env, const JavaParamRef<jobject>& obj) { |
389 if (gvr_api_ == nullptr) | 393 if (gvr_api_ == nullptr) |
390 return; | 394 return; |
391 gvr_api_->PauseTracking(); | 395 gvr_api_->PauseTracking(); |
392 } | 396 } |
393 | 397 |
394 void VrShell::OnResume(JNIEnv* env, const JavaParamRef<jobject>& obj) { | 398 void VrShell::OnResume(JNIEnv* env, const JavaParamRef<jobject>& obj) { |
395 if (gvr_api_ == nullptr) | 399 if (gvr_api_ == nullptr) |
396 return; | 400 return; |
397 | 401 |
398 gvr_api_->RefreshViewerProfile(); | 402 gvr_api_->RefreshViewerProfile(); |
399 gvr_api_->ResumeTracking(); | 403 gvr_api_->ResumeTracking(); |
400 } | 404 } |
401 | 405 |
402 void VrShell::SetWebVrMode(JNIEnv* env, | 406 void VrShell::SetWebVrMode(JNIEnv* env, |
403 const base::android::JavaParamRef<jobject>& obj, | 407 const base::android::JavaParamRef<jobject>& obj, |
404 bool enabled) { | 408 bool enabled) { |
405 webvr_mode_ = enabled; | 409 webvr_mode_ = enabled; |
406 } | 410 } |
407 | 411 |
| 412 void VrShell::SetWebVRSecureOrigin(bool secure_origin) { |
| 413 webvr_secure_origin_ = secure_origin; |
| 414 } |
| 415 |
408 void VrShell::SubmitWebVRFrame() { | 416 void VrShell::SubmitWebVRFrame() { |
409 } | 417 } |
410 | 418 |
411 void VrShell::UpdateWebVRTextureBounds( | 419 void VrShell::UpdateWebVRTextureBounds( |
412 int eye, float left, float top, float width, float height) { | 420 int eye, float left, float top, float width, float height) { |
413 gvr::Rectf bounds = { left, top, width, height }; | 421 gvr::Rectf bounds = { left, top, width, height }; |
414 vr_shell_renderer_->GetWebVrRenderer()->UpdateTextureBounds(eye, bounds); | 422 vr_shell_renderer_->GetWebVrRenderer()->UpdateTextureBounds(eye, bounds); |
415 } | 423 } |
416 | 424 |
417 gvr::GvrApi* VrShell::gvr_api() { | 425 gvr::GvrApi* VrShell::gvr_api() { |
(...skipping 22 matching lines...) Expand all Loading... |
440 const JavaParamRef<jobject>& content_web_contents, | 448 const JavaParamRef<jobject>& content_web_contents, |
441 jlong content_window_android) { | 449 jlong content_window_android) { |
442 content::ContentViewCore* c_core = content::ContentViewCore::FromWebContents( | 450 content::ContentViewCore* c_core = content::ContentViewCore::FromWebContents( |
443 content::WebContents::FromJavaWebContents(content_web_contents)); | 451 content::WebContents::FromJavaWebContents(content_web_contents)); |
444 return reinterpret_cast<intptr_t>(new VrShell( | 452 return reinterpret_cast<intptr_t>(new VrShell( |
445 env, obj, c_core, | 453 env, obj, c_core, |
446 reinterpret_cast<ui::WindowAndroid*>(content_window_android))); | 454 reinterpret_cast<ui::WindowAndroid*>(content_window_android))); |
447 } | 455 } |
448 | 456 |
449 } // namespace vr_shell | 457 } // namespace vr_shell |
OLD | NEW |