1// Copyright (c) 2012 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_MOBILE_SETUP_UI_H_
6#define CHROME_BROWSER_UI_WEBUI_CHROMEOS_MOBILE_SETUP_UI_H_
7
8#include "base/memory/weak_ptr.h"
9#include "content/public/browser/web_contents_observer.h"
10#include "content/public/browser/web_ui_controller.h"
11
12// A custom WebUI that defines datasource for mobile setup registration page
13// that is used in Chrome OS activate modem and perform plan subscription tasks.
14class MobileSetupUI : public content::WebUIController,
15                      public content::WebContentsObserver,
16                      public base::SupportsWeakPtr<MobileSetupUI> {
17 public:
18  explicit MobileSetupUI(content::WebUI* web_ui);
19
20 private:
21  // content::WebContentsObserver overrides.
22  virtual void DidCommitProvisionalLoadForFrame(
23      content::RenderFrameHost* render_frame_host,
24      const GURL& url,
25      ui::PageTransition transition_type) OVERRIDE;
26  virtual void DidFailProvisionalLoad(
27      content::RenderFrameHost* render_frame_host,
28      const GURL& validated_url,
29      int error_code,
30      const base::string16& error_description) OVERRIDE;
31
32  DISALLOW_COPY_AND_ASSIGN(MobileSetupUI);
33};
34
35#endif  // CHROME_BROWSER_UI_WEBUI_CHROMEOS_MOBILE_SETUP_UI_H_
36