| Index: chrome/browser/ui/webui/options2/search_engine_manager_handler.h
|
| diff --git a/chrome/browser/ui/webui/options2/search_engine_manager_handler.h b/chrome/browser/ui/webui/options2/search_engine_manager_handler.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..aa6815df918c38796bb2ec77d7f614f01a27df38
|
| --- /dev/null
|
| +++ b/chrome/browser/ui/webui/options2/search_engine_manager_handler.h
|
| @@ -0,0 +1,79 @@
|
| +// Copyright (c) 2011 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_OPTIONS2_SEARCH_ENGINE_MANAGER_HANDLER_H_
|
| +#define CHROME_BROWSER_UI_WEBUI_OPTIONS2_SEARCH_ENGINE_MANAGER_HANDLER_H_
|
| +
|
| +#include "chrome/browser/ui/search_engines/edit_search_engine_controller.h"
|
| +#include "chrome/browser/ui/webui/options2/options_ui2.h"
|
| +#include "ui/base/models/table_model_observer.h"
|
| +
|
| +class Extension;
|
| +class KeywordEditorController;
|
| +
|
| +class SearchEngineManagerHandler : public OptionsPage2UIHandler,
|
| + public ui::TableModelObserver,
|
| + public EditSearchEngineControllerDelegate {
|
| + public:
|
| + SearchEngineManagerHandler();
|
| + virtual ~SearchEngineManagerHandler();
|
| +
|
| + virtual void Initialize() OVERRIDE;
|
| +
|
| + // OptionsPage2UIHandler implementation.
|
| + virtual void GetLocalizedValues(
|
| + base::DictionaryValue* localized_strings) OVERRIDE;
|
| +
|
| + // ui::TableModelObserver implementation.
|
| + virtual void OnModelChanged() OVERRIDE;
|
| + virtual void OnItemsChanged(int start, int length) OVERRIDE;
|
| + virtual void OnItemsAdded(int start, int length) OVERRIDE;
|
| + virtual void OnItemsRemoved(int start, int length) OVERRIDE;
|
| +
|
| + // EditSearchEngineControllerDelegate implementation.
|
| + virtual void OnEditedKeyword(const TemplateURL* template_url,
|
| + const string16& title,
|
| + const string16& keyword,
|
| + const std::string& url) OVERRIDE;
|
| +
|
| + virtual void RegisterMessages() OVERRIDE;
|
| +
|
| + private:
|
| + scoped_ptr<KeywordEditorController> list_controller_;
|
| + scoped_ptr<EditSearchEngineController> edit_controller_;
|
| +
|
| + // Removes the search engine at the given index. Called from WebUI.
|
| + void RemoveSearchEngine(const base::ListValue* args);
|
| +
|
| + // Sets the search engine at the given index to be default. Called from WebUI.
|
| + void SetDefaultSearchEngine(const base::ListValue* args);
|
| +
|
| + // Starts an edit session for the search engine at the given index. If the
|
| + // index is -1, starts editing a new search engine instead of an existing one.
|
| + // Called from WebUI.
|
| + void EditSearchEngine(const base::ListValue* args);
|
| +
|
| + // Validates the given search engine values, and reports the results back
|
| + // to WebUI. Called from WebUI.
|
| + void CheckSearchEngineInfoValidity(const base::ListValue* args);
|
| +
|
| + // Called when an edit is cancelled.
|
| + // Called from WebUI.
|
| + void EditCancelled(const base::ListValue* args);
|
| +
|
| + // Called when an edit is finished and should be saved.
|
| + // Called from WebUI.
|
| + void EditCompleted(const base::ListValue* args);
|
| +
|
| + // Returns a dictionary to pass to WebUI representing the given search engine.
|
| + base::DictionaryValue* CreateDictionaryForEngine(int index, bool is_default);
|
| +
|
| + // Returns a dictionary to pass to WebUI representing the extension.
|
| + base::DictionaryValue* CreateDictionaryForExtension(
|
| + const Extension& extension);
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(SearchEngineManagerHandler);
|
| +};
|
| +
|
| +#endif // CHROME_BROWSER_UI_WEBUI_OPTIONS2_SEARCH_ENGINE_MANAGER_HANDLER_H_
|
|
|