| 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/crx_installer.h" | 5 #include "chrome/browser/extensions/crx_installer.h" | 
| 6 | 6 | 
| 7 #include <map> | 7 #include <map> | 
| 8 #include <set> | 8 #include <set> | 
| 9 | 9 | 
| 10 #include "base/bind.h" | 10 #include "base/bind.h" | 
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 91       extensions_enabled_(frontend_weak->extensions_enabled()), | 91       extensions_enabled_(frontend_weak->extensions_enabled()), | 
| 92       delete_source_(false), | 92       delete_source_(false), | 
| 93       create_app_shortcut_(false), | 93       create_app_shortcut_(false), | 
| 94       frontend_weak_(frontend_weak), | 94       frontend_weak_(frontend_weak), | 
| 95       profile_(frontend_weak->profile()), | 95       profile_(frontend_weak->profile()), | 
| 96       client_(client), | 96       client_(client), | 
| 97       apps_require_extension_mime_type_(false), | 97       apps_require_extension_mime_type_(false), | 
| 98       allow_silent_install_(false), | 98       allow_silent_install_(false), | 
| 99       install_cause_(extension_misc::INSTALL_CAUSE_UNSET), | 99       install_cause_(extension_misc::INSTALL_CAUSE_UNSET), | 
| 100       creation_flags_(Extension::NO_FLAGS), | 100       creation_flags_(Extension::NO_FLAGS), | 
| 101       allow_off_store_install_(false) { | 101       off_store_install_allow_reason_(OffStoreInstallDisallowed) { | 
| 102   if (!approval) | 102   if (!approval) | 
| 103     return; | 103     return; | 
| 104 | 104 | 
| 105   CHECK(profile_->IsSameProfile(approval->profile)); | 105   CHECK(profile_->IsSameProfile(approval->profile)); | 
| 106   client_->install_ui()->SetUseAppInstalledBubble( | 106   client_->install_ui()->SetUseAppInstalledBubble( | 
| 107       approval->use_app_installed_bubble); | 107       approval->use_app_installed_bubble); | 
| 108   client_->install_ui()->SetSkipPostInstallUI(approval->skip_post_install_ui); | 108   client_->install_ui()->SetSkipPostInstallUI(approval->skip_post_install_ui); | 
| 109 | 109 | 
| 110   if (approval->skip_install_dialog) { | 110   if (approval->skip_install_dialog) { | 
| 111     // Mark the extension as approved, but save the expected manifest and ID | 111     // Mark the extension as approved, but save the expected manifest and ID | 
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 253                                   NumOffStoreInstallDecision); | 253                                   NumOffStoreInstallDecision); | 
| 254       } else { | 254       } else { | 
| 255         UMA_HISTOGRAM_ENUMERATION(kHistogramName, OffStoreInstallAllowed, | 255         UMA_HISTOGRAM_ENUMERATION(kHistogramName, OffStoreInstallAllowed, | 
| 256                                   NumOffStoreInstallDecision); | 256                                   NumOffStoreInstallDecision); | 
| 257       } | 257       } | 
| 258     } else { | 258     } else { | 
| 259       const char* kHistogramName = "Extensions.OffStoreInstallDecisionHard"; | 259       const char* kHistogramName = "Extensions.OffStoreInstallDecisionHard"; | 
| 260       if (is_gallery_install()) { | 260       if (is_gallery_install()) { | 
| 261         UMA_HISTOGRAM_ENUMERATION(kHistogramName, OnStoreInstall, | 261         UMA_HISTOGRAM_ENUMERATION(kHistogramName, OnStoreInstall, | 
| 262                                   NumOffStoreInstallDecision); | 262                                   NumOffStoreInstallDecision); | 
| 263       } else if (allow_off_store_install_) { | 263       } else if (off_store_install_allow_reason_ != OffStoreInstallDisallowed) { | 
| 264         UMA_HISTOGRAM_ENUMERATION(kHistogramName, OffStoreInstallAllowed, | 264         UMA_HISTOGRAM_ENUMERATION(kHistogramName, OffStoreInstallAllowed, | 
| 265                                   NumOffStoreInstallDecision); | 265                                   NumOffStoreInstallDecision); | 
|  | 266         UMA_HISTOGRAM_ENUMERATION("Extensions.OffStoreInstallAllowReason", | 
|  | 267                                   off_store_install_allow_reason_, | 
|  | 268                                   NumOffStoreInstallAllowReasons); | 
| 266       } else { | 269       } else { | 
| 267         UMA_HISTOGRAM_ENUMERATION(kHistogramName, OffStoreInstallDisallowed, | 270         UMA_HISTOGRAM_ENUMERATION(kHistogramName, OffStoreInstallDisallowed, | 
| 268                                   NumOffStoreInstallDecision); | 271                                   NumOffStoreInstallDecision); | 
| 269         *error = l10n_util::GetStringUTF16( | 272         *error = l10n_util::GetStringUTF16( | 
| 270             IDS_EXTENSION_INSTALL_DISALLOWED_ON_SITE); | 273             IDS_EXTENSION_INSTALL_DISALLOWED_ON_SITE); | 
| 271         return false; | 274         return false; | 
| 272       } | 275       } | 
| 273     } | 276     } | 
| 274   } | 277   } | 
| 275 | 278 | 
| (...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 597   // Some users (such as the download shelf) need to know when a | 600   // Some users (such as the download shelf) need to know when a | 
| 598   // CRXInstaller is done.  Listening for the EXTENSION_* events | 601   // CRXInstaller is done.  Listening for the EXTENSION_* events | 
| 599   // is problematic because they don't know anything about the | 602   // is problematic because they don't know anything about the | 
| 600   // extension before it is unpacked, so they cannot filter based | 603   // extension before it is unpacked, so they cannot filter based | 
| 601   // on the extension. | 604   // on the extension. | 
| 602   content::NotificationService::current()->Notify( | 605   content::NotificationService::current()->Notify( | 
| 603       chrome::NOTIFICATION_CRX_INSTALLER_DONE, | 606       chrome::NOTIFICATION_CRX_INSTALLER_DONE, | 
| 604       content::Source<CrxInstaller>(this), | 607       content::Source<CrxInstaller>(this), | 
| 605       content::Details<const Extension>(extension)); | 608       content::Details<const Extension>(extension)); | 
| 606 } | 609 } | 
| OLD | NEW | 
|---|