Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / browser / ui / webui / chromeos / first_run / first_run_handler.h
blob0c9174b075aa0e70b06b8c2b103b01c04607afbd
1 // Copyright 2013 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.
5 #ifndef CHROME_BROWSER_UI_WEBUI_CHROMEOS_FIRST_RUN_FIRST_RUN_HANDLER_H_
6 #define CHROME_BROWSER_UI_WEBUI_CHROMEOS_FIRST_RUN_FIRST_RUN_HANDLER_H_
8 #include <string>
10 #include "base/compiler_specific.h"
11 #include "chrome/browser/ui/webui/chromeos/first_run/first_run_actor.h"
12 #include "content/public/browser/web_ui_message_handler.h"
14 namespace chromeos {
16 class StepPosition;
18 class FirstRunHandler : public FirstRunActor,
19 public content::WebUIMessageHandler {
20 public:
21 FirstRunHandler();
22 // Overriden from FirstRunActor.
23 bool IsInitialized() override;
24 void SetBackgroundVisible(bool visible) override;
25 void AddRectangularHole(int x, int y, int width, int height) override;
26 void AddRoundHole(int x, int y, float radius) override;
27 void RemoveBackgroundHoles() override;
28 void ShowStepPositioned(const std::string& name,
29 const StepPosition& position) override;
30 void ShowStepPointingTo(const std::string& name,
31 int x,
32 int y,
33 int offset) override;
34 void HideCurrentStep() override;
35 void Finalize() override;
36 bool IsFinalizing() override;
38 private:
39 // Overriden from content::WebUIMessageHandler.
40 void RegisterMessages() override;
42 // Handlers for calls from JS.
43 void HandleInitialized(const base::ListValue* args);
44 void HandleNextButtonClicked(const base::ListValue* args);
45 void HandleHelpButtonClicked(const base::ListValue* args);
46 void HandleStepShown(const base::ListValue* args);
47 void HandleStepHidden(const base::ListValue* args);
48 void HandleFinalized(const base::ListValue* args);
50 bool is_initialized_;
51 bool is_finalizing_;
53 DISALLOW_COPY_AND_ASSIGN(FirstRunHandler);
56 } // namespace chromeos
58 #endif // CHROME_BROWSER_UI_WEBUI_CHROMEOS_FIRST_RUN_FIRST_RUN_HANDLER_H_