Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(321)

Side by Side Diff: chrome/browser/ui/webui/ntp/app_launcher_handler.cc

Issue 398083002: Add "UninstallReason" parameter to ExtensionRegistryObserver::OnExtensionUninstalled. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/ui/webui/ntp/app_launcher_handler.h" 5 #include "chrome/browser/ui/webui/ntp/app_launcher_handler.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "apps/metrics_names.h" 9 #include "apps/metrics_names.h"
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 #include "ui/base/webui/web_ui_util.h" 62 #include "ui/base/webui/web_ui_util.h"
63 #include "url/gurl.h" 63 #include "url/gurl.h"
64 64
65 using content::WebContents; 65 using content::WebContents;
66 using extensions::AppSorting; 66 using extensions::AppSorting;
67 using extensions::CrxInstaller; 67 using extensions::CrxInstaller;
68 using extensions::Extension; 68 using extensions::Extension;
69 using extensions::ExtensionPrefs; 69 using extensions::ExtensionPrefs;
70 using extensions::ExtensionRegistry; 70 using extensions::ExtensionRegistry;
71 using extensions::ExtensionSet; 71 using extensions::ExtensionSet;
72 using extensions::UninstalledExtensionInfo;
72 using extensions::UnloadedExtensionInfo; 73 using extensions::UnloadedExtensionInfo;
73 74
74 namespace { 75 namespace {
75 76
76 void RecordAppLauncherPromoHistogram( 77 void RecordAppLauncherPromoHistogram(
77 apps::AppLauncherPromoHistogramValues value) { 78 apps::AppLauncherPromoHistogramValues value) {
78 DCHECK_LT(value, apps::APP_LAUNCHER_PROMO_MAX); 79 DCHECK_LT(value, apps::APP_LAUNCHER_PROMO_MAX);
79 UMA_HISTOGRAM_ENUMERATION( 80 UMA_HISTOGRAM_ENUMERATION(
80 "Apps.AppLauncherPromo", value, apps::APP_LAUNCHER_PROMO_MAX); 81 "Apps.AppLauncherPromo", value, apps::APP_LAUNCHER_PROMO_MAX);
81 } 82 }
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
279 "ntp.appAdded", *app_info, *highlight); 280 "ntp.appAdded", *app_info, *highlight);
280 } 281 }
281 282
282 break; 283 break;
283 } 284 }
284 case chrome::NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED: 285 case chrome::NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED:
285 case chrome::NOTIFICATION_EXTENSION_UNINSTALLED_DEPRECATED: { 286 case chrome::NOTIFICATION_EXTENSION_UNINSTALLED_DEPRECATED: {
286 const Extension* extension = NULL; 287 const Extension* extension = NULL;
287 bool uninstalled = false; 288 bool uninstalled = false;
288 if (type == chrome::NOTIFICATION_EXTENSION_UNINSTALLED_DEPRECATED) { 289 if (type == chrome::NOTIFICATION_EXTENSION_UNINSTALLED_DEPRECATED) {
289 extension = content::Details<const Extension>(details).ptr(); 290 extension = content::Details<extensions::UninstalledExtensionInfo>(
291 details)->extension;
290 uninstalled = true; 292 uninstalled = true;
291 } else { // NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED 293 } else { // NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED
292 if (content::Details<UnloadedExtensionInfo>(details)->reason == 294 if (content::Details<UnloadedExtensionInfo>(details)->reason ==
293 UnloadedExtensionInfo::REASON_UNINSTALL) { 295 UnloadedExtensionInfo::REASON_UNINSTALL) {
294 // Uninstalls are tracked by 296 // Uninstalls are tracked by
295 // NOTIFICATION_EXTENSION_UNINSTALLED_DEPRECATED. 297 // NOTIFICATION_EXTENSION_UNINSTALLED_DEPRECATED.
296 return; 298 return;
297 } 299 }
298 extension = content::Details<extensions::UnloadedExtensionInfo>( 300 extension = content::Details<extensions::UnloadedExtensionInfo>(
299 details)->extension; 301 details)->extension;
(...skipping 487 matching lines...) Expand 10 before | Expand all | Expand 10 after
787 789
788 // The extension can be uninstalled in another window while the UI was 790 // The extension can be uninstalled in another window while the UI was
789 // showing. Do nothing in that case. 791 // showing. Do nothing in that case.
790 const Extension* extension = 792 const Extension* extension =
791 extension_service_->GetInstalledExtension(extension_id_prompting_); 793 extension_service_->GetInstalledExtension(extension_id_prompting_);
792 if (!extension) 794 if (!extension)
793 return; 795 return;
794 796
795 extension_service_->UninstallExtension( 797 extension_service_->UninstallExtension(
796 extension_id_prompting_, 798 extension_id_prompting_,
797 ExtensionService::UNINSTALL_REASON_USER_INITIATED, 799 UninstalledExtensionInfo::REASON_USER_INITIATED,
798 NULL); 800 NULL);
799 CleanupAfterUninstall(); 801 CleanupAfterUninstall();
800 } 802 }
801 803
802 void AppLauncherHandler::ExtensionUninstallCanceled() { 804 void AppLauncherHandler::ExtensionUninstallCanceled() {
803 CleanupAfterUninstall(); 805 CleanupAfterUninstall();
804 } 806 }
805 807
806 void AppLauncherHandler::ExtensionEnableFlowFinished() { 808 void AppLauncherHandler::ExtensionEnableFlowFinished() {
807 DCHECK_EQ(extension_id_prompting_, extension_enable_flow_->extension_id()); 809 DCHECK_EQ(extension_id_prompting_, extension_enable_flow_->extension_id());
(...skipping 30 matching lines...) Expand all
838 AppLauncherHandler::GetExtensionUninstallDialog() { 840 AppLauncherHandler::GetExtensionUninstallDialog() {
839 if (!extension_uninstall_dialog_.get()) { 841 if (!extension_uninstall_dialog_.get()) {
840 Browser* browser = chrome::FindBrowserWithWebContents( 842 Browser* browser = chrome::FindBrowserWithWebContents(
841 web_ui()->GetWebContents()); 843 web_ui()->GetWebContents());
842 extension_uninstall_dialog_.reset( 844 extension_uninstall_dialog_.reset(
843 extensions::ExtensionUninstallDialog::Create( 845 extensions::ExtensionUninstallDialog::Create(
844 extension_service_->profile(), browser, this)); 846 extension_service_->profile(), browser, this));
845 } 847 }
846 return extension_uninstall_dialog_.get(); 848 return extension_uninstall_dialog_.get();
847 } 849 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698