Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / webui / chromeos / login / host_pairing_screen_handler.h
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_HOST_PAIRING_SCREEN_HANDLER_H_
6 #define CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_HOST_PAIRING_SCREEN_HANDLER_H_
7
8 #include "base/macros.h"
9 #include "chrome/browser/chromeos/login/screens/host_pairing_screen_actor.h"
10 #include "chrome/browser/ui/webui/chromeos/login/base_screen_handler.h"
11 #include "components/login/screens/screen_context.h"
12
13 namespace chromeos {
14
15 class HostPairingScreenHandler : public HostPairingScreenActor,
16                                  public BaseScreenHandler {
17  public:
18   HostPairingScreenHandler();
19   virtual ~HostPairingScreenHandler();
20
21  private:
22   void HandleContextReady();
23
24   // Overridden from BaseScreenHandler:
25   virtual void Initialize() override;
26   virtual void DeclareLocalizedValues(LocalizedValuesBuilder* builder) override;
27
28   // Overridden from content::WebUIMessageHandler:
29   virtual void RegisterMessages() override;
30
31   // Overridden from HostPairingScreenActor:
32   virtual void Show() override;
33   virtual void Hide() override;
34   virtual void SetDelegate(Delegate* delegate) override;
35   virtual void OnContextChanged(const base::DictionaryValue& diff) override;
36
37   HostPairingScreenActor::Delegate* delegate_;
38   bool show_on_init_;
39   bool js_context_ready_;
40
41   // Caches context changes while JS part is not ready to receive messages.
42   ::login::ScreenContext context_cache_;
43
44   DISALLOW_COPY_AND_ASSIGN(HostPairingScreenHandler);
45 };
46
47 }  // namespace chromeos
48
49 #endif  // CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_HOST_PAIRING_SCREEN_HANDLER_H_