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

Side by Side Diff: components/ntp_tiles/webui/popular_sites_internals_message_handler.cc

Issue 2841643005: [Popular Sites] Add Variations parameter to override URL path (Closed)
Patch Set: Update ntp-tiles-internals. Created 3 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/ntp_tiles/webui/popular_sites_internals_message_handler.h" 5 #include "components/ntp_tiles/webui/popular_sites_internals_message_handler.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/json/json_writer.h" 9 #include "base/json/json_writer.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 DCHECK(args->empty()); 52 DCHECK(args->empty());
53 53
54 SendOverrides(); 54 SendOverrides();
55 55
56 popular_sites_ = web_ui_->MakePopularSites(); 56 popular_sites_ = web_ui_->MakePopularSites();
57 SendSites(); 57 SendSites();
58 } 58 }
59 59
60 void PopularSitesInternalsMessageHandler::HandleUpdate( 60 void PopularSitesInternalsMessageHandler::HandleUpdate(
61 const base::ListValue* args) { 61 const base::ListValue* args) {
62 DCHECK_EQ(3u, args->GetSize()); 62 DCHECK_EQ(4u, args->GetSize());
63 63
64 PrefService* prefs = web_ui_->GetPrefs(); 64 PrefService* prefs = web_ui_->GetPrefs();
65 65
66 std::string url; 66 std::string url;
67 args->GetString(0, &url); 67 args->GetString(0, &url);
68 if (url.empty()) 68 if (url.empty())
69 prefs->ClearPref(ntp_tiles::prefs::kPopularSitesOverrideURL); 69 prefs->ClearPref(ntp_tiles::prefs::kPopularSitesOverrideURL);
70 else 70 else
71 prefs->SetString(ntp_tiles::prefs::kPopularSitesOverrideURL, 71 prefs->SetString(ntp_tiles::prefs::kPopularSitesOverrideURL,
72 url_formatter::FixupURL(url, std::string()).spec()); 72 url_formatter::FixupURL(url, std::string()).spec());
73 73
74 std::string directory;
75 args->GetString(1, &directory);
76 if (directory.empty())
77 prefs->ClearPref(ntp_tiles::prefs::kPopularSitesOverrideDirectory);
78 else
79 prefs->SetString(ntp_tiles::prefs::kPopularSitesOverrideDirectory,
80 directory);
81
74 std::string country; 82 std::string country;
75 args->GetString(1, &country); 83 args->GetString(2, &country);
76 if (country.empty()) 84 if (country.empty())
77 prefs->ClearPref(ntp_tiles::prefs::kPopularSitesOverrideCountry); 85 prefs->ClearPref(ntp_tiles::prefs::kPopularSitesOverrideCountry);
78 else 86 else
79 prefs->SetString(ntp_tiles::prefs::kPopularSitesOverrideCountry, country); 87 prefs->SetString(ntp_tiles::prefs::kPopularSitesOverrideCountry, country);
80 88
81 std::string version; 89 std::string version;
82 args->GetString(2, &version); 90 args->GetString(3, &version);
83 if (version.empty()) 91 if (version.empty())
84 prefs->ClearPref(ntp_tiles::prefs::kPopularSitesOverrideVersion); 92 prefs->ClearPref(ntp_tiles::prefs::kPopularSitesOverrideVersion);
85 else 93 else
86 prefs->SetString(ntp_tiles::prefs::kPopularSitesOverrideVersion, version); 94 prefs->SetString(ntp_tiles::prefs::kPopularSitesOverrideVersion, version);
87 95
88 popular_sites_ = web_ui_->MakePopularSites(); 96 popular_sites_ = web_ui_->MakePopularSites();
89 popular_sites_->MaybeStartFetch( 97 popular_sites_->MaybeStartFetch(
90 true, 98 true,
91 base::Bind(&PopularSitesInternalsMessageHandler::OnPopularSitesAvailable, 99 base::Bind(&PopularSitesInternalsMessageHandler::OnPopularSitesAvailable,
92 base::Unretained(this))); 100 base::Unretained(this)));
93 } 101 }
94 102
95 void PopularSitesInternalsMessageHandler::HandleViewJson( 103 void PopularSitesInternalsMessageHandler::HandleViewJson(
96 const base::ListValue* args) { 104 const base::ListValue* args) {
97 DCHECK_EQ(0u, args->GetSize()); 105 DCHECK_EQ(0u, args->GetSize());
98 106
99 const base::ListValue* json = popular_sites_->GetCachedJson(); 107 const base::ListValue* json = popular_sites_->GetCachedJson();
100 std::string json_string; 108 std::string json_string;
101 if (json) { 109 if (json) {
102 bool success = base::JSONWriter::Write(*json, &json_string); 110 bool success = base::JSONWriter::Write(*json, &json_string);
103 DCHECK(success); 111 DCHECK(success);
104 } 112 }
105 SendJson(json_string); 113 SendJson(json_string);
106 } 114 }
107 115
108 void PopularSitesInternalsMessageHandler::SendOverrides() { 116 void PopularSitesInternalsMessageHandler::SendOverrides() {
109 PrefService* prefs = web_ui_->GetPrefs(); 117 PrefService* prefs = web_ui_->GetPrefs();
110 std::string url = 118 std::string url =
111 prefs->GetString(ntp_tiles::prefs::kPopularSitesOverrideURL); 119 prefs->GetString(ntp_tiles::prefs::kPopularSitesOverrideURL);
120 std::string directory =
121 prefs->GetString(ntp_tiles::prefs::kPopularSitesOverrideDirectory);
112 std::string country = 122 std::string country =
113 prefs->GetString(ntp_tiles::prefs::kPopularSitesOverrideCountry); 123 prefs->GetString(ntp_tiles::prefs::kPopularSitesOverrideCountry);
114 std::string version = 124 std::string version =
115 prefs->GetString(ntp_tiles::prefs::kPopularSitesOverrideVersion); 125 prefs->GetString(ntp_tiles::prefs::kPopularSitesOverrideVersion);
116 web_ui_->CallJavascriptFunction( 126 web_ui_->CallJavascriptFunction(
117 "chrome.popular_sites_internals.receiveOverrides", base::Value(url), 127 "chrome.popular_sites_internals.receiveOverrides", base::Value(url),
118 base::Value(country), base::Value(version)); 128 base::Value(directory), base::Value(country), base::Value(version));
119 } 129 }
120 130
121 void PopularSitesInternalsMessageHandler::SendDownloadResult(bool success) { 131 void PopularSitesInternalsMessageHandler::SendDownloadResult(bool success) {
122 base::Value result(success ? "Success" : "Fail"); 132 base::Value result(success ? "Success" : "Fail");
123 web_ui_->CallJavascriptFunction( 133 web_ui_->CallJavascriptFunction(
124 "chrome.popular_sites_internals.receiveDownloadResult", result); 134 "chrome.popular_sites_internals.receiveDownloadResult", result);
125 } 135 }
126 136
127 void PopularSitesInternalsMessageHandler::SendSites() { 137 void PopularSitesInternalsMessageHandler::SendSites() {
128 auto sites_list = base::MakeUnique<base::ListValue>(); 138 auto sites_list = base::MakeUnique<base::ListValue>();
(...skipping 16 matching lines...) Expand all
145 base::Value(json)); 155 base::Value(json));
146 } 156 }
147 157
148 void PopularSitesInternalsMessageHandler::OnPopularSitesAvailable( 158 void PopularSitesInternalsMessageHandler::OnPopularSitesAvailable(
149 bool success) { 159 bool success) {
150 SendDownloadResult(success); 160 SendDownloadResult(success);
151 SendSites(); 161 SendSites();
152 } 162 }
153 163
154 } // namespace ntp_tiles 164 } // namespace ntp_tiles
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698