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

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: 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 path;
75 args->GetString(1, &path);
76 if (path.empty())
77 prefs->ClearPref(ntp_tiles::prefs::kPopularSitesOverridePath);
78 else
79 prefs->SetString(ntp_tiles::prefs::kPopularSitesOverridePath, path);
80
74 std::string country; 81 std::string country;
75 args->GetString(1, &country); 82 args->GetString(2, &country);
76 if (country.empty()) 83 if (country.empty())
77 prefs->ClearPref(ntp_tiles::prefs::kPopularSitesOverrideCountry); 84 prefs->ClearPref(ntp_tiles::prefs::kPopularSitesOverrideCountry);
78 else 85 else
79 prefs->SetString(ntp_tiles::prefs::kPopularSitesOverrideCountry, country); 86 prefs->SetString(ntp_tiles::prefs::kPopularSitesOverrideCountry, country);
80 87
81 std::string version; 88 std::string version;
82 args->GetString(2, &version); 89 args->GetString(3, &version);
83 if (version.empty()) 90 if (version.empty())
84 prefs->ClearPref(ntp_tiles::prefs::kPopularSitesOverrideVersion); 91 prefs->ClearPref(ntp_tiles::prefs::kPopularSitesOverrideVersion);
85 else 92 else
86 prefs->SetString(ntp_tiles::prefs::kPopularSitesOverrideVersion, version); 93 prefs->SetString(ntp_tiles::prefs::kPopularSitesOverrideVersion, version);
87 94
88 popular_sites_ = web_ui_->MakePopularSites(); 95 popular_sites_ = web_ui_->MakePopularSites();
89 popular_sites_->MaybeStartFetch( 96 popular_sites_->MaybeStartFetch(
90 true, 97 true,
91 base::Bind(&PopularSitesInternalsMessageHandler::OnPopularSitesAvailable, 98 base::Bind(&PopularSitesInternalsMessageHandler::OnPopularSitesAvailable,
92 base::Unretained(this))); 99 base::Unretained(this)));
93 } 100 }
94 101
95 void PopularSitesInternalsMessageHandler::HandleViewJson( 102 void PopularSitesInternalsMessageHandler::HandleViewJson(
96 const base::ListValue* args) { 103 const base::ListValue* args) {
97 DCHECK_EQ(0u, args->GetSize()); 104 DCHECK_EQ(0u, args->GetSize());
98 105
99 const base::ListValue* json = popular_sites_->GetCachedJson(); 106 const base::ListValue* json = popular_sites_->GetCachedJson();
100 std::string json_string; 107 std::string json_string;
101 if (json) { 108 if (json) {
102 bool success = base::JSONWriter::Write(*json, &json_string); 109 bool success = base::JSONWriter::Write(*json, &json_string);
103 DCHECK(success); 110 DCHECK(success);
104 } 111 }
105 SendJson(json_string); 112 SendJson(json_string);
106 } 113 }
107 114
108 void PopularSitesInternalsMessageHandler::SendOverrides() { 115 void PopularSitesInternalsMessageHandler::SendOverrides() {
109 PrefService* prefs = web_ui_->GetPrefs(); 116 PrefService* prefs = web_ui_->GetPrefs();
110 std::string url = 117 std::string url =
111 prefs->GetString(ntp_tiles::prefs::kPopularSitesOverrideURL); 118 prefs->GetString(ntp_tiles::prefs::kPopularSitesOverrideURL);
119 std::string path =
120 prefs->GetString(ntp_tiles::prefs::kPopularSitesOverridePath);
112 std::string country = 121 std::string country =
113 prefs->GetString(ntp_tiles::prefs::kPopularSitesOverrideCountry); 122 prefs->GetString(ntp_tiles::prefs::kPopularSitesOverrideCountry);
114 std::string version = 123 std::string version =
115 prefs->GetString(ntp_tiles::prefs::kPopularSitesOverrideVersion); 124 prefs->GetString(ntp_tiles::prefs::kPopularSitesOverrideVersion);
116 web_ui_->CallJavascriptFunction( 125 web_ui_->CallJavascriptFunction(
117 "chrome.popular_sites_internals.receiveOverrides", base::Value(url), 126 "chrome.popular_sites_internals.receiveOverrides", base::Value(url),
118 base::Value(country), base::Value(version)); 127 base::Value(path), base::Value(country), base::Value(version));
119 } 128 }
120 129
121 void PopularSitesInternalsMessageHandler::SendDownloadResult(bool success) { 130 void PopularSitesInternalsMessageHandler::SendDownloadResult(bool success) {
122 base::Value result(success ? "Success" : "Fail"); 131 base::Value result(success ? "Success" : "Fail");
123 web_ui_->CallJavascriptFunction( 132 web_ui_->CallJavascriptFunction(
124 "chrome.popular_sites_internals.receiveDownloadResult", result); 133 "chrome.popular_sites_internals.receiveDownloadResult", result);
125 } 134 }
126 135
127 void PopularSitesInternalsMessageHandler::SendSites() { 136 void PopularSitesInternalsMessageHandler::SendSites() {
128 auto sites_list = base::MakeUnique<base::ListValue>(); 137 auto sites_list = base::MakeUnique<base::ListValue>();
(...skipping 16 matching lines...) Expand all
145 base::Value(json)); 154 base::Value(json));
146 } 155 }
147 156
148 void PopularSitesInternalsMessageHandler::OnPopularSitesAvailable( 157 void PopularSitesInternalsMessageHandler::OnPopularSitesAvailable(
149 bool success) { 158 bool success) {
150 SendDownloadResult(success); 159 SendDownloadResult(success);
151 SendSites(); 160 SendSites();
152 } 161 }
153 162
154 } // namespace ntp_tiles 163 } // namespace ntp_tiles
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698