| 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 <set> | 
|    7 #include <vector> |    8 #include <vector> | 
|    8  |    9  | 
|    9 #include "base/basictypes.h" |   10 #include "base/basictypes.h" | 
|   10 #include "base/bind.h" |   11 #include "base/bind.h" | 
|   11 #include "base/command_line.h" |   12 #include "base/command_line.h" | 
|   12 #include "base/files/file_util.h" |   13 #include "base/files/file_util.h" | 
|   13 #include "base/metrics/field_trial.h" |   14 #include "base/metrics/field_trial.h" | 
|   14 #include "base/metrics/histogram.h" |   15 #include "base/metrics/histogram.h" | 
|   15 #include "base/metrics/sparse_histogram.h" |   16 #include "base/metrics/sparse_histogram.h" | 
|   16 #include "base/path_service.h" |   17 #include "base/path_service.h" | 
|   17 #include "base/rand_util.h" |   18 #include "base/rand_util.h" | 
|   18 #include "base/strings/string_number_conversions.h" |   19 #include "base/strings/string_number_conversions.h" | 
|   19 #include "base/strings/string_util.h" |   20 #include "base/strings/string_util.h" | 
|   20 #include "base/strings/stringprintf.h" |   21 #include "base/strings/stringprintf.h" | 
|   21 #include "base/strings/utf_string_conversions.h" |   22 #include "base/strings/utf_string_conversions.h" | 
|   22 #include "base/time/time.h" |   23 #include "base/time/time.h" | 
|   23 #include "chrome/browser/chrome_notification_types.h" |   24 #include "chrome/browser/chrome_notification_types.h" | 
|   24 #include "chrome/browser/download/download_crx_util.h" |   25 #include "chrome/browser/download/download_crx_util.h" | 
|   25 #include "chrome/browser/download/download_prefs.h" |   26 #include "chrome/browser/download/download_prefs.h" | 
|   26 #include "chrome/browser/download/download_stats.h" |   27 #include "chrome/browser/download/download_stats.h" | 
|   27 #include "chrome/browser/extensions/crx_installer.h" |   28 #include "chrome/browser/extensions/crx_installer.h" | 
|   28 #include "chrome/browser/extensions/install_tracker.h" |   29 #include "chrome/browser/extensions/install_tracker.h" | 
|   29 #include "chrome/browser/extensions/install_tracker_factory.h" |   30 #include "chrome/browser/extensions/install_tracker_factory.h" | 
|   30 #include "chrome/browser/extensions/install_verifier.h" |   31 #include "chrome/browser/extensions/install_verifier.h" | 
|   31 #include "chrome/browser/extensions/shared_module_service.h" |   32 #include "chrome/browser/extensions/shared_module_service.h" | 
|   32 #include "chrome/browser/profiles/profile.h" |   33 #include "chrome/browser/profiles/profile.h" | 
|   33 #include "chrome/common/chrome_paths.h" |   34 #include "chrome/common/chrome_paths.h" | 
|   34 #include "chrome/common/chrome_switches.h" |   35 #include "chrome/common/chrome_switches.h" | 
|   35 #include "components/crx_file/id_util.h" |   36 #include "components/crx_file/id_util.h" | 
|   36 #include "components/omaha_client/omaha_query_params.h" |   37 #include "components/update_client/update_query_params.h" | 
|   37 #include "content/public/browser/browser_thread.h" |   38 #include "content/public/browser/browser_thread.h" | 
|   38 #include "content/public/browser/download_manager.h" |   39 #include "content/public/browser/download_manager.h" | 
|   39 #include "content/public/browser/download_save_info.h" |   40 #include "content/public/browser/download_save_info.h" | 
|   40 #include "content/public/browser/download_url_parameters.h" |   41 #include "content/public/browser/download_url_parameters.h" | 
|   41 #include "content/public/browser/navigation_controller.h" |   42 #include "content/public/browser/navigation_controller.h" | 
|   42 #include "content/public/browser/navigation_entry.h" |   43 #include "content/public/browser/navigation_entry.h" | 
|   43 #include "content/public/browser/notification_details.h" |   44 #include "content/public/browser/notification_details.h" | 
|   44 #include "content/public/browser/notification_service.h" |   45 #include "content/public/browser/notification_service.h" | 
|   45 #include "content/public/browser/notification_source.h" |   46 #include "content/public/browser/notification_source.h" | 
|   46 #include "content/public/browser/render_process_host.h" |   47 #include "content/public/browser/render_process_host.h" | 
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  192                                    extension_id.c_str())); |  193                                    extension_id.c_str())); | 
|  193   } |  194   } | 
|  194   std::vector<std::string> params; |  195   std::vector<std::string> params; | 
|  195   params.push_back("id=" + extension_id); |  196   params.push_back("id=" + extension_id); | 
|  196   if (!install_source.empty()) |  197   if (!install_source.empty()) | 
|  197     params.push_back("installsource=" + install_source); |  198     params.push_back("installsource=" + install_source); | 
|  198   params.push_back("uc"); |  199   params.push_back("uc"); | 
|  199   std::string url_string = extension_urls::GetWebstoreUpdateUrl().spec(); |  200   std::string url_string = extension_urls::GetWebstoreUpdateUrl().spec(); | 
|  200  |  201  | 
|  201   GURL url(url_string + "?response=redirect&" + |  202   GURL url(url_string + "?response=redirect&" + | 
|  202            omaha_client::OmahaQueryParams::Get( |  203            update_client::UpdateQueryParams::Get( | 
|  203                omaha_client::OmahaQueryParams::CRX) + |  204                update_client::UpdateQueryParams::CRX) + | 
|  204            "&x=" + net::EscapeQueryParamValue(JoinString(params, '&'), true)); |  205            "&x=" + net::EscapeQueryParamValue(JoinString(params, '&'), true)); | 
|  205   DCHECK(url.is_valid()); |  206   DCHECK(url.is_valid()); | 
|  206  |  207  | 
|  207   return url; |  208   return url; | 
|  208 } |  209 } | 
|  209  |  210  | 
|  210 void WebstoreInstaller::Delegate::OnExtensionDownloadStarted( |  211 void WebstoreInstaller::Delegate::OnExtensionDownloadStarted( | 
|  211     const std::string& id, |  212     const std::string& id, | 
|  212     content::DownloadItem* item) { |  213     content::DownloadItem* item) { | 
|  213 } |  214 } | 
| (...skipping 523 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  737         1, |  738         1, | 
|  738         kMaxSizeKb, |  739         kMaxSizeKb, | 
|  739         kNumBuckets); |  740         kNumBuckets); | 
|  740   } |  741   } | 
|  741   UMA_HISTOGRAM_BOOLEAN( |  742   UMA_HISTOGRAM_BOOLEAN( | 
|  742       "Extensions.WebstoreDownload.InterruptTotalSizeUnknown", |  743       "Extensions.WebstoreDownload.InterruptTotalSizeUnknown", | 
|  743       total_bytes <= 0); |  744       total_bytes <= 0); | 
|  744 } |  745 } | 
|  745  |  746  | 
|  746 }  // namespace extensions |  747 }  // namespace extensions | 
| OLD | NEW |