Index: chrome/browser/dom_ui/browser_options_handler.cc |
=================================================================== |
--- chrome/browser/dom_ui/browser_options_handler.cc (revision 53856) |
+++ chrome/browser/dom_ui/browser_options_handler.cc (working copy) |
@@ -10,15 +10,13 @@ |
#include "base/string_util.h" |
#include "base/utf_string_conversions.h" |
#include "base/values.h" |
-#include "chrome/browser/custom_home_pages_table_model.h" |
#include "chrome/browser/profile.h" |
-#include "chrome/browser/session_startup_pref.h" |
#include "chrome/installer/util/browser_distribution.h" |
#include "grit/chromium_strings.h" |
#include "grit/generated_resources.h" |
BrowserOptionsHandler::BrowserOptionsHandler() |
- : template_url_model_(NULL), startup_custom_pages_table_model_(NULL) { |
+ : template_url_model_(NULL) { |
#if !defined(OS_MACOSX) |
default_browser_worker_ = new ShellIntegration::DefaultBrowserWorker(this); |
#endif |
@@ -77,18 +75,17 @@ |
dom_ui_->RegisterMessageCallback( |
"setDefaultSearchEngine", |
NewCallback(this, &BrowserOptionsHandler::SetDefaultSearchEngine)); |
- dom_ui_->RegisterMessageCallback( |
- "removeStartupPages", |
- NewCallback(this, &BrowserOptionsHandler::RemoveStartupPages)); |
- dom_ui_->RegisterMessageCallback( |
- "setStartupPagesToCurrentPages", |
- NewCallback(this, &BrowserOptionsHandler::SetStartupPagesToCurrentPages)); |
} |
void BrowserOptionsHandler::Initialize() { |
UpdateDefaultBrowserState(); |
- UpdateStartupPages(); |
- UpdateSearchEngines(); |
+ |
+ template_url_model_ = dom_ui_->GetProfile()->GetTemplateURLModel(); |
+ if (template_url_model_) { |
+ template_url_model_->Load(); |
+ template_url_model_->AddObserver(this); |
+ OnTemplateURLModelChanged(); |
+ } |
} |
void BrowserOptionsHandler::UpdateDefaultBrowserState() { |
@@ -214,89 +211,3 @@ |
template_url_model_->SetDefaultSearchProvider(model_urls[selected_index]); |
} |
-void BrowserOptionsHandler::UpdateSearchEngines() { |
- template_url_model_ = dom_ui_->GetProfile()->GetTemplateURLModel(); |
- if (template_url_model_) { |
- template_url_model_->Load(); |
- template_url_model_->AddObserver(this); |
- OnTemplateURLModelChanged(); |
- } |
-} |
- |
-void BrowserOptionsHandler::UpdateStartupPages() { |
- Profile* profile = dom_ui_->GetProfile(); |
- startup_custom_pages_table_model_.reset( |
- new CustomHomePagesTableModel(profile)); |
- startup_custom_pages_table_model_->SetObserver(this); |
- |
- const SessionStartupPref startup_pref = |
- SessionStartupPref::GetStartupPref(profile->GetPrefs()); |
- startup_custom_pages_table_model_->SetURLs(startup_pref.urls); |
-} |
- |
-void BrowserOptionsHandler::OnModelChanged() { |
- // TODO(stuartmorgan): Add support for showing favicons. |
- ListValue startup_pages; |
- int page_count = startup_custom_pages_table_model_->RowCount(); |
- for (int i = 0; i < page_count; ++i) { |
- DictionaryValue* entry = new DictionaryValue(); |
- entry->SetString(L"title", |
- startup_custom_pages_table_model_->GetText(i, 0)); |
- entry->SetString(L"tooltip", |
- startup_custom_pages_table_model_->GetTooltip(i)); |
- startup_pages.Append(entry); |
- } |
- |
- dom_ui_->CallJavascriptFunction(L"BrowserOptions.updateStartupPages", |
- startup_pages); |
-} |
- |
-void BrowserOptionsHandler::OnItemsChanged(int start, int length) { |
- OnModelChanged(); |
-} |
- |
-void BrowserOptionsHandler::OnItemsAdded(int start, int length) { |
- OnModelChanged(); |
-} |
- |
-void BrowserOptionsHandler::OnItemsRemoved(int start, int length) { |
- OnModelChanged(); |
-} |
- |
-void BrowserOptionsHandler::SetStartupPagesToCurrentPages(const Value* value) { |
- startup_custom_pages_table_model_->SetToCurrentlyOpenPages(); |
- SaveStartupPagesPref(); |
-} |
- |
-void BrowserOptionsHandler::RemoveStartupPages(const Value* value) { |
- if (!value || !value->IsType(Value::TYPE_LIST)) { |
- NOTREACHED(); |
- return; |
- } |
- const ListValue* param_values = static_cast<const ListValue*>(value); |
- for (int i = param_values->GetSize() - 1; i >= 0; --i) { |
- std::string string_value; |
- if (!param_values->GetString(i, &string_value)) { |
- NOTREACHED(); |
- return; |
- } |
- int selected_index = StringToInt(string_value); |
- if (selected_index < 0 || |
- selected_index >= startup_custom_pages_table_model_->RowCount()) { |
- NOTREACHED(); |
- return; |
- } |
- startup_custom_pages_table_model_->Remove(selected_index); |
- } |
- |
- SaveStartupPagesPref(); |
-} |
- |
-void BrowserOptionsHandler::SaveStartupPagesPref() { |
- PrefService* prefs = dom_ui_->GetProfile()->GetPrefs(); |
- |
- SessionStartupPref pref = SessionStartupPref::GetStartupPref(prefs); |
- pref.urls = startup_custom_pages_table_model_->GetURLs(); |
- |
- SessionStartupPref::SetStartupPref(prefs, pref); |
-} |