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

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: Typo fix 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..f72c9ceab70a6b9b730f0ea517980f5221308b7b 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);
}
@@ -353,6 +357,28 @@ 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)) {
+ NOTREACHED();
Evan Stade 2011/01/13 23:12:46 imo these should be CHECKs. Who actually builds an
stuartmorgan 2011/01/13 23:35:37 Done for all the argument parsing. For the bounds
+ return;
+ };
+
+ 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();

Powered by Google App Engine
This is Rietveld 408576698