Index: chrome/browser/ui/webui/chromeos/login/multicast_core_oobe_view.h |
diff --git a/chrome/browser/ui/webui/chromeos/login/multicast_core_oobe_view.h b/chrome/browser/ui/webui/chromeos/login/multicast_core_oobe_view.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c05302abb8263ce60248c9f35d52e8e7937afc6a |
--- /dev/null |
+++ b/chrome/browser/ui/webui/chromeos/login/multicast_core_oobe_view.h |
@@ -0,0 +1,66 @@ |
+// Copyright 2017 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_UI_WEBUI_CHROMEOS_LOGIN_MULTICAST_CORE_OOBE_VIEW_H_ |
+#define CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_MULTICAST_CORE_OOBE_VIEW_H_ |
+ |
+#include <vector> |
+ |
+#include "base/macros.h" |
+#include "chrome/browser/chromeos/login/screens/core_oobe_view.h" |
+ |
+namespace chromeos { |
+ |
+// This is the CoreOobeView instance which is used by the Screen layer to run |
+// callbacks. It enables the JS/Handler layer to have many separate CoreOobeView |
+// implementations. Essentially, all this class does is delegate out a |
+// CoreOobeView call to every implementation. |
+class MulticastCoreOobeView : public CoreOobeView { |
+ public: |
+ MulticastCoreOobeView(); |
+ ~MulticastCoreOobeView() override; |
+ |
+ void AddView(CoreOobeView* view); |
+ |
+ private: |
+ // CoreOobeView: |
+ void SetDelegate(Delegate* delegate) override; |
+ void Show(OobeScreen screen) override; |
+ void Hide(OobeScreen screen) override; |
+ void ShowSignInError(int login_attempts, |
+ const std::string& error_text, |
+ const std::string& help_link_text, |
+ HelpAppLauncher::HelpTopic help_topic_id) override; |
+ void ShowTpmError() override; |
+ void ShowSignInUI(const std::string& email) override; |
+ void ResetSignInUI(bool force_online) override; |
+ void ClearUserPodPassword() override; |
+ void RefocusCurrentPod() override; |
+ void ShowPasswordChangedScreen(bool show_password_error, |
+ const std::string& email) override; |
+ void SetUsageStats(bool checked) override; |
+ void SetOemEulaUrl(const std::string& oem_eula_url) override; |
+ void SetTpmPassword(const std::string& tmp_password) override; |
+ void ClearErrors() override; |
+ void ReloadContent(const base::DictionaryValue& dictionary) override; |
+ void ShowControlBar(bool show) override; |
+ void ShowPinKeyboard(bool show) override; |
+ void SetClientAreaSize(int width, int height) override; |
+ void ShowDeviceResetScreen() override; |
+ void ShowEnableDebuggingScreen() override; |
+ void InitDemoModeDetection() override; |
+ void StopDemoModeDetection() override; |
+ void UpdateKeyboardState() override; |
+ void ShowActiveDirectoryPasswordChangeScreen( |
+ const std::string& username) override; |
+ |
+ Delegate* delegate_ = nullptr; // Delegate, used for validation purposes. |
+ std::vector<CoreOobeView*> views_; // Unowned. |
+ |
+ DISALLOW_COPY_AND_ASSIGN(MulticastCoreOobeView); |
+}; |
+ |
+} // namespace chromeos |
+ |
+#endif // CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_MULTICAST_CORE_OOBE_VIEW_H_ |