Chromium Code Reviews| Index: chrome/browser/component_updater/component_updater_ping_manager.cc |
| diff --git a/chrome/browser/component_updater/component_updater_ping_manager.cc b/chrome/browser/component_updater/component_updater_ping_manager.cc |
| index d11f4f348510d4546006611266df996cd2eef7ce..a5c5a14608e4637e41f4e61b16b64a2ecd901f16 100644 |
| --- a/chrome/browser/component_updater/component_updater_ping_manager.cc |
| +++ b/chrome/browser/component_updater/component_updater_ping_manager.cc |
| @@ -5,18 +5,13 @@ |
| #include "chrome/browser/component_updater/component_updater_ping_manager.h" |
| #include "base/guid.h" |
| #include "base/logging.h" |
| +#include "base/memory/scoped_ptr.h" |
| #include "base/strings/string_util.h" |
| #include "base/strings/stringprintf.h" |
| -#include "base/sys_info.h" |
| -#include "base/win/windows_version.h" |
| +#include "chrome/browser/component_updater/component_updater_utils.h" |
| #include "chrome/browser/component_updater/crx_update_item.h" |
| -#include "chrome/common/chrome_version_info.h" |
| -#include "chrome/common/omaha_query_params/omaha_query_params.h" |
| -#include "net/base/load_flags.h" |
| -#include "net/base/net_errors.h" |
| #include "net/url_request/url_fetcher.h" |
| #include "net/url_request/url_fetcher_delegate.h" |
| -#include "net/url_request/url_request_status.h" |
| namespace { |
| @@ -69,45 +64,26 @@ void PingSender::SendPing( |
| if (!ping_url.is_valid()) |
| return; |
| - url_fetcher_.reset(net::URLFetcher::Create(0, |
| - ping_url, |
| - net::URLFetcher::POST, |
| - this)); |
| - |
| - url_fetcher_->SetUploadData("application/xml", BuildPing(item)); |
| - url_fetcher_->SetRequestContext(url_request_context_getter); |
| - url_fetcher_->SetLoadFlags(net::LOAD_DO_NOT_SEND_COOKIES | |
| - net::LOAD_DO_NOT_SAVE_COOKIES | |
| - net::LOAD_DISABLE_CACHE); |
| - url_fetcher_->SetAutomaticallyRetryOn5xx(false); |
| - url_fetcher_->Start(); |
| + url_fetcher_.reset(SendProtocolRequest(ping_url, |
| + BuildPing(item), |
| + this, |
| + url_request_context_getter)); |
| } |
| // Builds a ping message for the specified update item. |
| std::string PingSender::BuildPing(const CrxUpdateItem* item) { |
| - const std::string prod_id(chrome::OmahaQueryParams::GetProdIdString( |
| - chrome::OmahaQueryParams::CHROME)); |
| - |
| - const char request_format[] = |
| - "<o:gupdate xmlns:o=\"http://www.google.com/update2/request\" " |
| - "protocol=\"2.0\" version=\"%s-%s\" requestid=\"{%s}\" " |
| - "updaterchannel=\"%s\"> " |
| - "<o:os platform=\"%s\" version=\"%s\"/> " |
| - "<o:app appid=\"%s\" version=\"%s\">" |
| + const char app_element_format[] = |
| + "<app appid=\"%s\" version=\"%s\" nextversion=\"%s\">" |
| "%s" |
| - "</o:app></o:gupdate>"; |
| - const std::string request( |
| - base::StringPrintf(request_format, |
| - prod_id.c_str(), |
| - chrome::VersionInfo().Version().c_str(), |
| - base::GenerateGUID().c_str(), |
| - chrome::OmahaQueryParams::GetChannelString(), |
| - chrome::VersionInfo().OSType().c_str(), |
| - base::SysInfo().OperatingSystemVersion().c_str(), |
| - item->id.c_str(), |
| - item->component.version.GetString().c_str(), |
| - BuildPingEventElement(item).c_str())); |
| - return request; |
| + "</app>"; |
| + const std::string app_element(base::StringPrintf( |
| + app_element_format, |
| + item->id.c_str(), // "appid" |
| + item->previous_version.GetString().c_str(), // "version" |
| + item->next_version.GetString().c_str(), // "nextversion" |
|
waffles
2013/11/18 22:15:59
What is the benefit of sending previous_version an
Sorin Jianu
2013/11/19 04:25:45
Let's discuss and see if there is a way to fix tha
|
| + BuildPingEventElement(item).c_str())); |
| + |
| + return BuildProtocolRequest(app_element); |
| } |
| // Returns a string representing one ping event xml element for an update item. |
| @@ -117,13 +93,9 @@ std::string PingSender::BuildPingEventElement(const CrxUpdateItem* item) { |
| using base::StringAppendF; |
| - std::string ping_event("<o:event eventtype=\"3\""); |
| + std::string ping_event("<event eventtype=\"3\""); |
|
waffles
2013/11/18 22:15:59
Any thoughts about sending eventtype="2" for updat
Sorin Jianu
2013/11/19 04:25:45
If could add that is you think it can help with th
waffles
2013/11/19 18:33:58
Let's avoid it for now. The distinction between in
|
| const int event_result = item->status == CrxUpdateItem::kUpdated; |
| StringAppendF(&ping_event, " eventresult=\"%d\"", event_result); |
| - StringAppendF(&ping_event, " previousversion=\"%s\"", |
| - item->previous_version.GetString().c_str()); |
| - StringAppendF(&ping_event, " nextversion=\"%s\"", |
| - item->next_version.GetString().c_str()); |
| if (item->error_category) |
| StringAppendF(&ping_event, " errorcat=\"%d\"", item->error_category); |
| if (item->error_code) |