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_OPTIONS_HOME_PAGE_OVERLAY_HANDLER_H_
6#define CHROME_BROWSER_UI_WEBUI_OPTIONS_HOME_PAGE_OVERLAY_HANDLER_H_
7
8#include "base/basictypes.h"
9#include "base/compiler_specific.h"
10#include "base/memory/scoped_ptr.h"
11#include "chrome/browser/autocomplete/autocomplete_controller_delegate.h"
12#include "chrome/browser/ui/webui/options/options_ui.h"
13
14class AutocompleteController;
15
16namespace base {
17class DictionaryValue;
18class ListValue;
19}
20
21namespace options {
22
23class HomePageOverlayHandler : public OptionsPageUIHandler,
24                               public AutocompleteControllerDelegate {
25 public:
26  HomePageOverlayHandler();
27  virtual ~HomePageOverlayHandler();
28
29  // OptionsPageUIHandler implementation
30  virtual void GetLocalizedValues(base::DictionaryValue*) OVERRIDE;
31  virtual void InitializeHandler() OVERRIDE;
32  virtual void RegisterMessages() OVERRIDE;
33
34  // AutocompleteControllerDelegate implementation.
35  virtual void OnResultChanged(bool default_match_changed) OVERRIDE;
36
37 private:
38  void RequestAutocompleteSuggestions(const base::ListValue* args);
39
40  scoped_ptr<AutocompleteController> autocomplete_controller_;
41
42  DISALLOW_COPY_AND_ASSIGN(HomePageOverlayHandler);
43};
44
45}  // namespace options
46
47#endif  // CHROME_BROWSER_UI_WEBUI_OPTIONS_HOME_PAGE_OVERLAY_HANDLER_H_
48