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_
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"
18 class FirstRunHandler : public FirstRunActor,
19 public content::WebUIMessageHandler {
22 // Overriden from FirstRunActor.
23 virtual bool IsInitialized() override;
24 virtual void SetBackgroundVisible(bool visible) override;
25 virtual void AddRectangularHole(int x, int y, int width, int height) override;
26 virtual void AddRoundHole(int x, int y, float radius) override;
27 virtual void RemoveBackgroundHoles() override;
28 virtual void ShowStepPositioned(const std::string& name,
29 const StepPosition& position) override;
30 virtual void ShowStepPointingTo(const std::string& name,
34 virtual void HideCurrentStep() override;
35 virtual void Finalize() override;
36 virtual bool IsFinalizing() override;
39 // Overriden from content::WebUIMessageHandler.
40 virtual 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);
53 DISALLOW_COPY_AND_ASSIGN(FirstRunHandler);
56 } // namespace chromeos
58 #endif // CHROME_BROWSER_UI_WEBUI_CHROMEOS_FIRST_RUN_FIRST_RUN_HANDLER_H_