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_SIGNIN_INTERNALS_UI_H_ 6#define CHROME_BROWSER_UI_WEBUI_SIGNIN_INTERNALS_UI_H_ 7 8#include "base/basictypes.h" 9#include "base/compiler_specific.h" 10#include "base/memory/scoped_ptr.h" 11#include "base/values.h" 12#include "components/signin/core/browser/about_signin_internals.h" 13#include "content/public/browser/web_ui_controller.h" 14 15// The implementation for the chrome://signin-internals page. 16class SignInInternalsUI : public content::WebUIController, 17 public AboutSigninInternals::Observer { 18 public: 19 explicit SignInInternalsUI(content::WebUI* web_ui); 20 virtual ~SignInInternalsUI(); 21 22 23 // content::WebUIController implementation. 24 virtual bool OverrideHandleWebUIMessage(const GURL& source_url, 25 const std::string& name, 26 const base::ListValue& args) OVERRIDE; 27 28 // AboutSigninInternals::Observer::OnSigninStateChanged implementation. 29 virtual void OnSigninStateChanged( 30 scoped_ptr<base::DictionaryValue> info) OVERRIDE; 31 32 private: 33 DISALLOW_COPY_AND_ASSIGN(SignInInternalsUI); 34}; 35 36#endif // CHROME_BROWSER_UI_WEBUI_SIGNIN_INTERNALS_UI_H_ 37