blob: 39588b4893226fb6888009c5e6510525ea8c7014 [file] [log] [blame]
// Copyright 2013 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_FIRST_RUN_FIRST_RUN_HANDLER_H_
#define CHROME_BROWSER_UI_WEBUI_CHROMEOS_FIRST_RUN_FIRST_RUN_HANDLER_H_
#include <string>
#include "base/compiler_specific.h"
#include "chrome/browser/ui/webui/chromeos/first_run/first_run_actor.h"
#include "content/public/browser/web_ui_message_handler.h"
namespace chromeos {
class StepPosition;
class FirstRunHandler : public FirstRunActor,
public content::WebUIMessageHandler {
public:
FirstRunHandler();
// Overriden from FirstRunActor.
virtual bool IsInitialized() OVERRIDE;
virtual void SetBackgroundVisible(bool visible) OVERRIDE;
virtual void AddRectangularHole(int x, int y, int width, int height) OVERRIDE;
virtual void AddRoundHole(int x, int y, float radius) OVERRIDE;
virtual void RemoveBackgroundHoles() OVERRIDE;
virtual void ShowStepPositioned(const std::string& name,
const StepPosition& position) OVERRIDE;
virtual void ShowStepPointingTo(const std::string& name,
int x,
int y,
int offset) OVERRIDE;
virtual void HideCurrentStep() OVERRIDE;
virtual void Finalize() OVERRIDE;
virtual bool IsFinalizing() OVERRIDE;
private:
// Overriden from content::WebUIMessageHandler.
virtual void RegisterMessages() OVERRIDE;
// Handlers for calls from JS.
void HandleInitialized(const base::ListValue* args);
void HandleNextButtonClicked(const base::ListValue* args);
void HandleHelpButtonClicked(const base::ListValue* args);
void HandleStepHidden(const base::ListValue* args);
void HandleFinalized(const base::ListValue* args);
bool is_initialized_;
bool is_finalizing_;
DISALLOW_COPY_AND_ASSIGN(FirstRunHandler);
};
} // namespace chromeos
#endif // CHROME_BROWSER_UI_WEBUI_CHROMEOS_FIRST_RUN_FIRST_RUN_HANDLER_H_