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

Side by Side Diff: chrome/browser/ui/browser.cc

Issue 8086002: Add metrics to help measure effects of installing default apps in a profile. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Change events to histograms Created 9 years, 2 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/browser.h" 5 #include "chrome/browser/ui/browser.h"
6 6
7 #if defined(OS_WIN) 7 #if defined(OS_WIN)
8 #include <windows.h> 8 #include <windows.h>
9 #include <shellapi.h> 9 #include <shellapi.h>
10 #endif // OS_WIN 10 #endif // OS_WIN
11 11
12 #include <algorithm> 12 #include <algorithm>
13 #include <string> 13 #include <string>
14 14
15 #include "base/base_paths.h" 15 #include "base/base_paths.h"
16 #include "base/command_line.h" 16 #include "base/command_line.h"
17 #include "base/logging.h" 17 #include "base/logging.h"
18 #include "base/metrics/field_trial.h"
18 #include "base/metrics/histogram.h" 19 #include "base/metrics/histogram.h"
19 #include "base/path_service.h" 20 #include "base/path_service.h"
20 #include "base/string_number_conversions.h" 21 #include "base/string_number_conversions.h"
21 #include "base/stringprintf.h" 22 #include "base/stringprintf.h"
22 #include "base/string_util.h" 23 #include "base/string_util.h"
23 #include "base/threading/thread.h" 24 #include "base/threading/thread.h"
24 #include "base/threading/thread_restrictions.h" 25 #include "base/threading/thread_restrictions.h"
25 #include "base/time.h" 26 #include "base/time.h"
26 #include "base/utf_string_conversions.h" 27 #include "base/utf_string_conversions.h"
27 #include "chrome/app/chrome_command_ids.h" 28 #include "chrome/app/chrome_command_ids.h"
28 #include "chrome/browser/autofill/autofill_manager.h" 29 #include "chrome/browser/autofill/autofill_manager.h"
29 #include "chrome/browser/autofill/personal_data_manager_factory.h" 30 #include "chrome/browser/autofill/personal_data_manager_factory.h"
30 #include "chrome/browser/background/background_contents_service.h" 31 #include "chrome/browser/background/background_contents_service.h"
31 #include "chrome/browser/bookmarks/bookmark_model.h" 32 #include "chrome/browser/bookmarks/bookmark_model.h"
32 #include "chrome/browser/bookmarks/bookmark_utils.h" 33 #include "chrome/browser/bookmarks/bookmark_utils.h"
33 #include "chrome/browser/browser_process.h" 34 #include "chrome/browser/browser_process.h"
34 #include "chrome/browser/browser_shutdown.h" 35 #include "chrome/browser/browser_shutdown.h"
35 #include "chrome/browser/character_encoding.h" 36 #include "chrome/browser/character_encoding.h"
36 #include "chrome/browser/custom_handlers/protocol_handler_registry.h" 37 #include "chrome/browser/custom_handlers/protocol_handler_registry.h"
37 #include "chrome/browser/custom_handlers/register_protocol_handler_infobar_deleg ate.h" 38 #include "chrome/browser/custom_handlers/register_protocol_handler_infobar_deleg ate.h"
38 #include "chrome/browser/debugger/devtools_toggle_action.h" 39 #include "chrome/browser/debugger/devtools_toggle_action.h"
39 #include "chrome/browser/debugger/devtools_window.h" 40 #include "chrome/browser/debugger/devtools_window.h"
40 #include "chrome/browser/download/chrome_download_manager_delegate.h" 41 #include "chrome/browser/download/chrome_download_manager_delegate.h"
41 #include "chrome/browser/download/download_item_model.h" 42 #include "chrome/browser/download/download_item_model.h"
42 #include "chrome/browser/download/download_started_animation.h" 43 #include "chrome/browser/download/download_started_animation.h"
43 #include "chrome/browser/extensions/crx_installer.h" 44 #include "chrome/browser/extensions/crx_installer.h"
45 #include "chrome/browser/extensions/default_apps_trial.h"
44 #include "chrome/browser/extensions/extension_browser_event_router.h" 46 #include "chrome/browser/extensions/extension_browser_event_router.h"
45 #include "chrome/browser/extensions/extension_disabled_infobar_delegate.h" 47 #include "chrome/browser/extensions/extension_disabled_infobar_delegate.h"
46 #include "chrome/browser/extensions/extension_host.h" 48 #include "chrome/browser/extensions/extension_host.h"
47 #include "chrome/browser/extensions/extension_prefs.h" 49 #include "chrome/browser/extensions/extension_prefs.h"
48 #include "chrome/browser/extensions/extension_service.h" 50 #include "chrome/browser/extensions/extension_service.h"
49 #include "chrome/browser/extensions/extension_tab_helper.h" 51 #include "chrome/browser/extensions/extension_tab_helper.h"
50 #include "chrome/browser/extensions/extension_tabs_module.h" 52 #include "chrome/browser/extensions/extension_tabs_module.h"
51 #include "chrome/browser/favicon/favicon_tab_helper.h" 53 #include "chrome/browser/favicon/favicon_tab_helper.h"
52 #include "chrome/browser/file_select_helper.h" 54 #include "chrome/browser/file_select_helper.h"
53 #include "chrome/browser/first_run/first_run.h" 55 #include "chrome/browser/first_run/first_run.h"
(...skipping 628 matching lines...) Expand 10 before | Expand all | Expand 10 after
682 684
683 // Check the prefs for overridden mode. 685 // Check the prefs for overridden mode.
684 ExtensionService* extension_service = profile->GetExtensionService(); 686 ExtensionService* extension_service = profile->GetExtensionService();
685 DCHECK(extension_service); 687 DCHECK(extension_service);
686 688
687 ExtensionPrefs::LaunchType launch_type = 689 ExtensionPrefs::LaunchType launch_type =
688 extension_service->extension_prefs()->GetLaunchType( 690 extension_service->extension_prefs()->GetLaunchType(
689 extension->id(), ExtensionPrefs::LAUNCH_DEFAULT); 691 extension->id(), ExtensionPrefs::LAUNCH_DEFAULT);
690 UMA_HISTOGRAM_ENUMERATION("Extensions.AppTabLaunchType", launch_type, 100); 692 UMA_HISTOGRAM_ENUMERATION("Extensions.AppTabLaunchType", launch_type, 100);
691 693
692 // Track launches of the webstore specifically. 694 static bool default_apps_trial_exists =
693 if (extension->id() == extension_misc::kWebStoreAppId) 695 base::FieldTrialList::TrialExists(kDefaultAppsTrial_Name);
694 UserMetrics::RecordAction(UserMetricsAction("Extensions.WebStoreLaunch")); 696 if (default_apps_trial_exists) {
697 UMA_HISTOGRAM_ENUMERATION(
698 base::FieldTrial::MakeName("Extensions.AppTabLaunchType",
699 kDefaultAppsTrial_Name),
700 launch_type, 100);
701 }
695 702
696 int add_type = TabStripModel::ADD_ACTIVE; 703 int add_type = TabStripModel::ADD_ACTIVE;
697 if (launch_type == ExtensionPrefs::LAUNCH_PINNED) 704 if (launch_type == ExtensionPrefs::LAUNCH_PINNED)
698 add_type |= TabStripModel::ADD_PINNED; 705 add_type |= TabStripModel::ADD_PINNED;
699 706
700 // For extensions lacking launch urls, determine a reasonable fallback. 707 // For extensions lacking launch urls, determine a reasonable fallback.
701 GURL extension_url = extension->GetFullLaunchURL(); 708 GURL extension_url = extension->GetFullLaunchURL();
702 if (!extension_url.is_valid()) { 709 if (!extension_url.is_valid()) {
703 extension_url = extension->options_url(); 710 extension_url = extension->options_url();
704 if (!extension_url.is_valid()) 711 if (!extension_url.is_valid())
(...skipping 4569 matching lines...) Expand 10 before | Expand all | Expand 10 after
5274 window_->GetLocationBar()->ShowFirstRunBubble(bubble_type); 5281 window_->GetLocationBar()->ShowFirstRunBubble(bubble_type);
5275 } else if (is_type_tabbed()) { 5282 } else if (is_type_tabbed()) {
5276 GlobalErrorService* service = 5283 GlobalErrorService* service =
5277 GlobalErrorServiceFactory::GetForProfile(profile()); 5284 GlobalErrorServiceFactory::GetForProfile(profile());
5278 GlobalError* error = service->GetFirstGlobalErrorWithBubbleView(); 5285 GlobalError* error = service->GetFirstGlobalErrorWithBubbleView();
5279 if (error) { 5286 if (error) {
5280 error->ShowBubbleView(this); 5287 error->ShowBubbleView(this);
5281 } 5288 }
5282 } 5289 }
5283 } 5290 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698