Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(518)

Unified Diff: chrome/browser/dom_ui/options/browser_options_handler.cc

Issue 6303003: DOMUI Prefs: Implement inline editability for startup pages (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: CSS tweak Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/dom_ui/options/browser_options_handler.cc
diff --git a/chrome/browser/dom_ui/options/browser_options_handler.cc b/chrome/browser/dom_ui/options/browser_options_handler.cc
index 6d9a9620c87b6bb765613adefae391005fbe42d4..e83b408eb287563670dcae2276bde73ebf23fbc2 100644
--- a/chrome/browser/dom_ui/options/browser_options_handler.cc
+++ b/chrome/browser/dom_ui/options/browser_options_handler.cc
@@ -110,6 +110,9 @@ void BrowserOptionsHandler::RegisterMessages() {
"addStartupPage",
NewCallback(this, &BrowserOptionsHandler::AddStartupPage));
dom_ui_->RegisterMessageCallback(
+ "editStartupPage",
+ NewCallback(this, &BrowserOptionsHandler::EditStartupPage));
+ dom_ui_->RegisterMessageCallback(
"setStartupPagesToCurrentPages",
NewCallback(this, &BrowserOptionsHandler::SetStartupPagesToCurrentPages));
}
@@ -285,6 +288,7 @@ void BrowserOptionsHandler::OnModelChanged() {
entry->SetString("url", urls[i].spec());
entry->SetString("tooltip",
startup_custom_pages_table_model_->GetTooltip(i));
+ entry->SetString("modelIndex", base::IntToString(i));
startup_pages.Append(entry);
}
@@ -314,8 +318,7 @@ void BrowserOptionsHandler::RemoveStartupPages(const ListValue* args) {
for (int i = args->GetSize() - 1; i >= 0; --i) {
std::string string_value;
if (!args->GetString(i, &string_value)) {
- NOTREACHED();
- return;
+ CHECK(false);
}
int selected_index;
base::StringToInt(string_value, &selected_index);
@@ -338,8 +341,7 @@ void BrowserOptionsHandler::AddStartupPage(const ListValue* args) {
!args->GetString(0, &url_string) ||
!args->GetString(1, &index_string) ||
!base::StringToInt(index_string, &index)) {
- NOTREACHED();
- return;
+ CHECK(false);
};
if (index == -1)
@@ -353,6 +355,27 @@ void BrowserOptionsHandler::AddStartupPage(const ListValue* args) {
SaveStartupPagesPref();
}
+void BrowserOptionsHandler::EditStartupPage(const ListValue* args) {
+ std::string url_string;
+ std::string index_string;
+ int index;
+ if (args->GetSize() != 2 ||
+ !args->GetString(0, &index_string) ||
+ !base::StringToInt(index_string, &index) ||
+ !args->GetString(1, &url_string)) {
+ CHECK(false);
+ };
+
+ if (index < 0 || index > startup_custom_pages_table_model_->RowCount()) {
+ NOTREACHED();
+ return;
+ }
+
+ std::vector<GURL> urls = startup_custom_pages_table_model_->GetURLs();
+ urls[index] = URLFixerUpper::FixupURL(url_string, std::string());
+ startup_custom_pages_table_model_->SetURLs(urls);
+}
+
void BrowserOptionsHandler::SaveStartupPagesPref() {
PrefService* prefs = dom_ui_->GetProfile()->GetPrefs();
« no previous file with comments | « chrome/browser/dom_ui/options/browser_options_handler.h ('k') | chrome/browser/resources/options/browser_options.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698