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

Side by Side Diff: chrome/browser/android/vr_shell/ui_scene_manager.h

Issue 2833773005: Pause drawing webvr when the App button is pressed (Closed)
Patch Set: Add unittest + cleanup 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 unified diff | Download patch
OLDNEW
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 #ifndef CHROME_BROWSER_ANDROID_VR_SHELL_UI_SCENE_MANAGER_H_ 5 #ifndef CHROME_BROWSER_ANDROID_VR_SHELL_UI_SCENE_MANAGER_H_
6 #define CHROME_BROWSER_ANDROID_VR_SHELL_UI_SCENE_MANAGER_H_ 6 #define CHROME_BROWSER_ANDROID_VR_SHELL_UI_SCENE_MANAGER_H_
7 7
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "base/memory/weak_ptr.h" 9 #include "base/memory/weak_ptr.h"
10 #include "base/timer/timer.h" 10 #include "base/timer/timer.h"
11 #include "base/values.h" 11 #include "base/values.h"
12 12
13 namespace vr_shell { 13 namespace vr_shell {
14 14
15 struct UiElement; 15 struct UiElement;
16 class UiScene; 16 class UiScene;
17 class VrThreadEnvoy;
17 18
18 class UiSceneManager { 19 class UiSceneManager {
19 public: 20 public:
20 explicit UiSceneManager(UiScene* scene); 21 UiSceneManager(const base::WeakPtr<VrThreadEnvoy>& weak_vr_gl_thread,
22 UiScene* scene);
21 ~UiSceneManager(); 23 ~UiSceneManager();
22 24
23 base::WeakPtr<UiSceneManager> GetWeakPtr(); 25 base::WeakPtr<UiSceneManager> GetWeakPtr();
24 26
25 void SetWebVRSecureOrigin(bool secure); 27 void SetWebVRSecureOrigin(bool secure);
26 void SetWebVRMode(bool web_vr); 28 void SetWebVRMode(bool web_vr);
27 29
30 void AppButtonPressed();
31
28 private: 32 private:
29 void ConfigureSecurityWarnings(); 33 void ConfigureSecurityWarnings();
30 void OnSecurityWarningTimer(); 34 void OnSecurityWarningTimer();
31 void OnGLInitialized(); 35 void OnGLInitialized();
32 36
37 base::WeakPtr<VrThreadEnvoy> weak_vr_thread_envoy_;
33 UiScene* scene_; 38 UiScene* scene_;
34 39
35 // UI element pointers (not owned by the scene manager). 40 // UI element pointers (not owned by the scene manager).
36 UiElement* permanent_security_warning_ = nullptr; 41 UiElement* permanent_security_warning_ = nullptr;
37 UiElement* transient_security_warning_ = nullptr; 42 UiElement* transient_security_warning_ = nullptr;
38 UiElement* main_content_ = nullptr; 43 UiElement* main_content_ = nullptr;
39 44
40 bool web_vr_mode_ = false; 45 bool web_vr_mode_ = false;
41 bool secure_origin_ = false; 46 bool secure_origin_ = false;
47 bool content_rendering_enabled_ = false;
42 48
43 base::OneShotTimer security_warning_timer_; 49 base::OneShotTimer security_warning_timer_;
44 50
45 base::WeakPtrFactory<UiSceneManager> weak_ptr_factory_; 51 base::WeakPtrFactory<UiSceneManager> weak_ptr_factory_;
46 52
47 DISALLOW_COPY_AND_ASSIGN(UiSceneManager); 53 DISALLOW_COPY_AND_ASSIGN(UiSceneManager);
48 }; 54 };
49 55
50 } // namespace vr_shell 56 } // namespace vr_shell
51 57
52 #endif // CHROME_BROWSER_ANDROID_VR_SHELL_UI_SCENE_MANAGER_H_ 58 #endif // CHROME_BROWSER_ANDROID_VR_SHELL_UI_SCENE_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698