| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "chrome/browser/extensions/webstore_installer.h" | 5 #include "chrome/browser/extensions/webstore_installer.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| 11 #include "base/command_line.h" | 11 #include "base/command_line.h" |
| 12 #include "base/file_util.h" | 12 #include "base/file_util.h" |
| 13 #include "base/metrics/field_trial.h" | 13 #include "base/metrics/field_trial.h" |
| 14 #include "base/metrics/histogram.h" | 14 #include "base/metrics/histogram.h" |
| 15 #include "base/metrics/sparse_histogram.h" | 15 #include "base/metrics/sparse_histogram.h" |
| 16 #include "base/path_service.h" | 16 #include "base/path_service.h" |
| 17 #include "base/rand_util.h" | 17 #include "base/rand_util.h" |
| 18 #include "base/strings/string_number_conversions.h" | 18 #include "base/strings/string_number_conversions.h" |
| 19 #include "base/strings/string_util.h" | 19 #include "base/strings/string_util.h" |
| 20 #include "base/strings/stringprintf.h" | 20 #include "base/strings/stringprintf.h" |
| 21 #include "base/strings/utf_string_conversions.h" | 21 #include "base/strings/utf_string_conversions.h" |
| 22 #include "chrome/browser/browser_process.h" | |
| 23 #include "chrome/browser/chrome_notification_types.h" | 22 #include "chrome/browser/chrome_notification_types.h" |
| 24 #include "chrome/browser/download/download_crx_util.h" | 23 #include "chrome/browser/download/download_crx_util.h" |
| 25 #include "chrome/browser/download/download_prefs.h" | 24 #include "chrome/browser/download/download_prefs.h" |
| 26 #include "chrome/browser/download/download_stats.h" | 25 #include "chrome/browser/download/download_stats.h" |
| 27 #include "chrome/browser/extensions/crx_installer.h" | 26 #include "chrome/browser/extensions/crx_installer.h" |
| 28 #include "chrome/browser/extensions/install_tracker.h" | 27 #include "chrome/browser/extensions/install_tracker.h" |
| 29 #include "chrome/browser/extensions/install_tracker_factory.h" | 28 #include "chrome/browser/extensions/install_tracker_factory.h" |
| 30 #include "chrome/browser/extensions/install_verifier.h" | 29 #include "chrome/browser/extensions/install_verifier.h" |
| 30 #include "chrome/browser/omaha_query_params/omaha_query_params.h" |
| 31 #include "chrome/browser/profiles/profile.h" | 31 #include "chrome/browser/profiles/profile.h" |
| 32 #include "chrome/browser/ui/browser_list.h" | 32 #include "chrome/browser/ui/browser_list.h" |
| 33 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 33 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
| 34 #include "chrome/common/chrome_paths.h" | 34 #include "chrome/common/chrome_paths.h" |
| 35 #include "chrome/common/chrome_switches.h" | 35 #include "chrome/common/chrome_switches.h" |
| 36 #include "chrome/common/extensions/extension_constants.h" | 36 #include "chrome/common/extensions/extension_constants.h" |
| 37 #include "chrome/common/omaha_query_params/omaha_query_params.h" | |
| 38 #include "content/public/browser/browser_thread.h" | 37 #include "content/public/browser/browser_thread.h" |
| 39 #include "content/public/browser/download_manager.h" | 38 #include "content/public/browser/download_manager.h" |
| 40 #include "content/public/browser/download_save_info.h" | 39 #include "content/public/browser/download_save_info.h" |
| 41 #include "content/public/browser/download_url_parameters.h" | 40 #include "content/public/browser/download_url_parameters.h" |
| 42 #include "content/public/browser/navigation_controller.h" | 41 #include "content/public/browser/navigation_controller.h" |
| 43 #include "content/public/browser/navigation_entry.h" | 42 #include "content/public/browser/navigation_entry.h" |
| 44 #include "content/public/browser/notification_details.h" | 43 #include "content/public/browser/notification_details.h" |
| 45 #include "content/public/browser/notification_service.h" | 44 #include "content/public/browser/notification_service.h" |
| 46 #include "content/public/browser/notification_source.h" | 45 #include "content/public/browser/notification_source.h" |
| 47 #include "content/public/browser/render_process_host.h" | 46 #include "content/public/browser/render_process_host.h" |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 161 if (cmd_line->HasSwitch(switches::kAppsGalleryDownloadURL)) { | 160 if (cmd_line->HasSwitch(switches::kAppsGalleryDownloadURL)) { |
| 162 std::string download_url = | 161 std::string download_url = |
| 163 cmd_line->GetSwitchValueASCII(switches::kAppsGalleryDownloadURL); | 162 cmd_line->GetSwitchValueASCII(switches::kAppsGalleryDownloadURL); |
| 164 return GURL(base::StringPrintf(download_url.c_str(), | 163 return GURL(base::StringPrintf(download_url.c_str(), |
| 165 extension_id.c_str())); | 164 extension_id.c_str())); |
| 166 } | 165 } |
| 167 std::vector<std::string> params; | 166 std::vector<std::string> params; |
| 168 params.push_back("id=" + extension_id); | 167 params.push_back("id=" + extension_id); |
| 169 if (!install_source.empty()) | 168 if (!install_source.empty()) |
| 170 params.push_back("installsource=" + install_source); | 169 params.push_back("installsource=" + install_source); |
| 171 params.push_back("lang=" + g_browser_process->GetApplicationLocale()); | |
| 172 params.push_back("uc"); | 170 params.push_back("uc"); |
| 173 std::string url_string = extension_urls::GetWebstoreUpdateUrl().spec(); | 171 std::string url_string = extension_urls::GetWebstoreUpdateUrl().spec(); |
| 174 | 172 |
| 175 GURL url(url_string + "?response=redirect&" + | 173 GURL url(url_string + "?response=redirect&" + |
| 176 OmahaQueryParams::Get(OmahaQueryParams::CRX) + "&x=" + | 174 OmahaQueryParams::Get(OmahaQueryParams::CRX) + "&x=" + |
| 177 net::EscapeQueryParamValue(JoinString(params, '&'), true)); | 175 net::EscapeQueryParamValue(JoinString(params, '&'), true)); |
| 178 DCHECK(url.is_valid()); | 176 DCHECK(url.is_valid()); |
| 179 | 177 |
| 180 return url; | 178 return url; |
| 181 } | 179 } |
| (...skipping 478 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 660 1, | 658 1, |
| 661 kMaxSizeKb, | 659 kMaxSizeKb, |
| 662 kNumBuckets); | 660 kNumBuckets); |
| 663 } | 661 } |
| 664 UMA_HISTOGRAM_BOOLEAN( | 662 UMA_HISTOGRAM_BOOLEAN( |
| 665 "Extensions.WebstoreDownload.InterruptTotalSizeUnknown", | 663 "Extensions.WebstoreDownload.InterruptTotalSizeUnknown", |
| 666 total_bytes <= 0); | 664 total_bytes <= 0); |
| 667 } | 665 } |
| 668 | 666 |
| 669 } // namespace extensions | 667 } // namespace extensions |
| OLD | NEW |