summaryrefslogtreecommitdiffstats
path: root/chrome/browser/web_resource
diff options
context:
space:
mode:
authormirandac@chromium.org <mirandac@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-29 00:51:30 +0000
committermirandac@chromium.org <mirandac@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-29 00:51:30 +0000
commitd4bc96e84f87586da6a312a3c8eed3a12b3221d3 (patch)
tree7438b38ef3a416a4cdff5dd2627b79dcbb13c70b /chrome/browser/web_resource
parent2b9e7d0b2432d887f58212c0e29885ddf2386caa (diff)
downloadchromium_src-d4bc96e84f87586da6a312a3c8eed3a12b3221d3.zip
chromium_src-d4bc96e84f87586da6a312a3c8eed3a12b3221d3.tar.gz
chromium_src-d4bc96e84f87586da6a312a3c8eed3a12b3221d3.tar.bz2
Adjust json data and URL to information from server side on custom logo signal delivery.
BUG=56388 TEST=unit test for web_resource_service still works. Review URL: http://codereview.chromium.org/3523002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60884 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/web_resource')
-rw-r--r--chrome/browser/web_resource/web_resource_service.cc60
-rw-r--r--chrome/browser/web_resource/web_resource_service_unittest.cc16
2 files changed, 41 insertions, 35 deletions
diff --git a/chrome/browser/web_resource/web_resource_service.cc b/chrome/browser/web_resource/web_resource_service.cc
index dc1b423..94c89d8 100644
--- a/chrome/browser/web_resource/web_resource_service.cc
+++ b/chrome/browser/web_resource/web_resource_service.cc
@@ -187,14 +187,9 @@ class WebResourceService::UnpackerClient
bool got_response_;
};
+// Server for custom logo signals.
const char* WebResourceService::kDefaultResourceServer =
-#if defined(OS_MACOSX)
- "https://clients2.google.com/tools/service/npredir?r=chrometips_mac&hl=";
-#elif defined(OS_LINUX)
- "https://clients2.google.com/tools/service/npredir?r=chrometips_linux&hl=";
-#else
- "https://clients2.google.com/tools/service/npredir?r=chrometips_win&hl=";
-#endif
+ "https://www.google.com/support/chrome/bin/topic/30248/inproduct";
WebResourceService::WebResourceService(Profile* profile)
: prefs_(profile->GetPrefs()),
@@ -210,19 +205,14 @@ void WebResourceService::Init() {
prefs_->RegisterStringPref(prefs::kNTPWebResourceCacheUpdate, "0");
prefs_->RegisterRealPref(prefs::kNTPCustomLogoStart, 0);
prefs_->RegisterRealPref(prefs::kNTPCustomLogoEnd, 0);
- std::string locale = g_browser_process->GetApplicationLocale();
- if (prefs_->HasPrefPath(prefs::kNTPWebResourceServer)) {
- web_resource_server_ = prefs_->GetString(prefs::kNTPWebResourceServer);
- // If we are in the correct locale, initialization is done.
- if (EndsWith(web_resource_server_, locale, false))
- return;
+ if (prefs_->HasPrefPath(prefs::kNTPLogoResourceServer)) {
+ web_resource_server_ = prefs_->GetString(prefs::kNTPLogoResourceServer);
+ return;
}
- // If we have not yet set a server, or if the web resource server is set to
- // the wrong locale, reset the server and force an immediate update.
+ // If we have not yet set a server, reset and force an immediate update.
web_resource_server_ = kDefaultResourceServer;
- web_resource_server_.append(locale);
prefs_->SetString(prefs::kNTPWebResourceCacheUpdate, "");
}
@@ -267,7 +257,7 @@ void WebResourceService::UpdateResourceCache(const std::string& json_data) {
// Update resource server and cache update time in preferences.
prefs_->SetString(prefs::kNTPWebResourceCacheUpdate,
base::DoubleToString(base::Time::Now().ToDoubleT()));
- prefs_->SetString(prefs::kNTPWebResourceServer, web_resource_server_);
+ prefs_->SetString(prefs::kNTPLogoResourceServer, web_resource_server_);
}
void WebResourceService::UnpackTips(const DictionaryValue& parsed_json) {
@@ -328,29 +318,37 @@ void WebResourceService::UnpackLogoSignal(const DictionaryValue& parsed_json) {
// Check for newly received start and end values.
if (parsed_json.GetDictionary("topic", &topic_dict)) {
if (topic_dict->GetList("answers", &answer_list)) {
+ std::string logo_start_string = "";
+ std::string logo_end_string = "";
for (ListValue::const_iterator tip_iter = answer_list->begin();
tip_iter != answer_list->end(); ++tip_iter) {
if (!(*tip_iter)->IsType(Value::TYPE_DICTIONARY))
continue;
DictionaryValue* a_dic =
static_cast<DictionaryValue*>(*tip_iter);
- std::string logo_start_string;
- std::string logo_end_string;
- if (a_dic->GetString("custom_logo_start", &logo_start_string) &&
- a_dic->GetString("custom_logo_end", &logo_end_string)) {
- // If both times can be correctly parsed, then set new logo
- // start and end times.
- base::Time start_time;
- base::Time end_time;
- if (base::Time::FromString(
- ASCIIToWide(logo_start_string).c_str(), &start_time) &&
- base::Time::FromString(
- ASCIIToWide(logo_end_string).c_str(), &end_time)) {
- logo_start = start_time.ToDoubleT();
- logo_end = end_time.ToDoubleT();
+ std::string logo_signal;
+ if (a_dic->GetString("name", &logo_signal)) {
+ if (logo_signal == "custom_logo_start") {
+ a_dic->GetString("inproduct", &logo_start_string);
+ } else if (logo_signal == "custom_logo_end") {
+ a_dic->GetString("inproduct", &logo_end_string);
}
}
}
+ if (!logo_start_string.empty() &&
+ logo_start_string.length() > 0 &&
+ !logo_end_string.empty() &&
+ logo_end_string.length() > 0) {
+ base::Time start_time;
+ base::Time end_time;
+ if (base::Time::FromString(
+ ASCIIToWide(logo_start_string).c_str(), &start_time) &&
+ base::Time::FromString(
+ ASCIIToWide(logo_end_string).c_str(), &end_time)) {
+ logo_start = start_time.ToDoubleT();
+ logo_end = end_time.ToDoubleT();
+ }
+ }
}
}
diff --git a/chrome/browser/web_resource/web_resource_service_unittest.cc b/chrome/browser/web_resource/web_resource_service_unittest.cc
index 1f2570c..46b0388e 100644
--- a/chrome/browser/web_resource/web_resource_service_unittest.cc
+++ b/chrome/browser/web_resource/web_resource_service_unittest.cc
@@ -27,8 +27,12 @@ TEST_F(WebResourceServiceTest, UnpackLogoSignal) {
" \"topic\": {"
" \"answers\": ["
" {"
- " \"custom_logo_start\": \"31/01/10 01:00 GMT\","
- " \"custom_logo_end\": \"31/01/12 01:00 GMT\""
+ " \"name\": \"custom_logo_start\","
+ " \"inproduct\": \"31/01/10 01:00 GMT\""
+ " },"
+ " {"
+ " \"name\": \"custom_logo_end\","
+ " \"inproduct\": \"31/01/12 01:00 GMT\""
" }"
" ]"
" }"
@@ -50,8 +54,12 @@ TEST_F(WebResourceServiceTest, UnpackLogoSignal) {
" \"topic\": {"
" \"answers\": ["
" {"
- " \"custom_logo_start\": \"28/02/10 14:00 GMT\","
- " \"custom_logo_end\": \"31/01/12 01:00 GMT\""
+ " \"name\": \"custom_logo_start\","
+ " \"inproduct\": \"28/02/10 14:00 GMT\""
+ " },"
+ " {"
+ " \"name\": \"custom_logo_end\","
+ " \"inproduct\": \"31/01/12 01:00 GMT\""
" }"
" ]"
" }"