Chromium Code Reviews| Index: chrome/browser/android/vr_shell/ui_interface.h |
| diff --git a/chrome/browser/android/vr_shell/ui_interface.h b/chrome/browser/android/vr_shell/ui_interface.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..a0ea5661766e3bb3a0a527a3d4aa7551da04c6d3 |
| --- /dev/null |
| +++ b/chrome/browser/android/vr_shell/ui_interface.h |
| @@ -0,0 +1,48 @@ |
| +// Copyright 2016 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef CHROME_BROWSER_ANDROID_VR_SHELL_UI_INTERFACE_H_ |
| +#define CHROME_BROWSER_ANDROID_VR_SHELL_UI_INTERFACE_H_ |
| + |
| +#include "base/macros.h" |
| +#include "base/memory/weak_ptr.h" |
| +#include "base/values.h" |
| + |
| +class VrShellUIMessageHandler; |
| + |
| +namespace vr_shell { |
| + |
| +// This class manages the communication of browser state from VR shell to the |
| +// HTML UI. State information is asynchronous and unidirectional. |
| +class UiInterface { |
| + public: |
| + enum Mode { |
| + STANDARD, |
| + WEB_VR, |
| + }; |
| + |
| + UiInterface(); |
| + virtual ~UiInterface(); |
| + |
| + void SetMode(Mode mode); |
| + void SetSecureOrigin(bool secure); |
| + |
| + // Called by WebUI when starting VR. |
| + void OnDomContentsLoaded(); |
| + void SetUiMessageHandler( |
| + base::WeakPtr<VrShellUIMessageHandler> handler); |
| + |
| + private: |
| + void FlushUpdates(); |
| + |
| + base::WeakPtr<VrShellUIMessageHandler> handler_; |
|
bshe
2016/10/19 21:02:40
do you need a weakptr here? My guess is that this
cjgrant
2016/10/20 15:25:39
Done. Good call on use of the handler destructor.
|
| + base::DictionaryValue updates_; |
|
bshe
2016/10/19 21:02:40
nit: looks like this is the global states. Perhaps
cjgrant
2016/10/20 15:25:39
As discussed, the dictionary isn't maintaining sta
|
| + bool loaded_ = false; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(UiInterface); |
| +}; |
| + |
| +} // namespace vr_shell |
| + |
| +#endif // CHROME_BROWSER_ANDROID_VR_SHELL_UI_INTERFACE_H_ |