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

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: Addressing spacing 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 635 matching lines...) Expand 10 before | Expand all | Expand 10 after
689 691
690 // Check the prefs for overridden mode. 692 // Check the prefs for overridden mode.
691 ExtensionService* extension_service = profile->GetExtensionService(); 693 ExtensionService* extension_service = profile->GetExtensionService();
692 DCHECK(extension_service); 694 DCHECK(extension_service);
693 695
694 ExtensionPrefs::LaunchType launch_type = 696 ExtensionPrefs::LaunchType launch_type =
695 extension_service->extension_prefs()->GetLaunchType( 697 extension_service->extension_prefs()->GetLaunchType(
696 extension->id(), ExtensionPrefs::LAUNCH_DEFAULT); 698 extension->id(), ExtensionPrefs::LAUNCH_DEFAULT);
697 UMA_HISTOGRAM_ENUMERATION("Extensions.AppTabLaunchType", launch_type, 100); 699 UMA_HISTOGRAM_ENUMERATION("Extensions.AppTabLaunchType", launch_type, 100);
698 700
699 // Track launches of the webstore specifically. 701 static bool default_apps_trial_exists =
700 if (extension->id() == extension_misc::kWebStoreAppId) 702 base::FieldTrialList::TrialExists(kDefaultAppsTrial_Name);
701 UserMetrics::RecordAction(UserMetricsAction("Extensions.WebStoreLaunch")); 703 if (default_apps_trial_exists) {
704 UMA_HISTOGRAM_ENUMERATION(
705 base::FieldTrial::MakeName("Extensions.AppTabLaunchType",
706 kDefaultAppsTrial_Name),
707 launch_type, 100);
708 }
702 709
703 int add_type = TabStripModel::ADD_ACTIVE; 710 int add_type = TabStripModel::ADD_ACTIVE;
704 if (launch_type == ExtensionPrefs::LAUNCH_PINNED) 711 if (launch_type == ExtensionPrefs::LAUNCH_PINNED)
705 add_type |= TabStripModel::ADD_PINNED; 712 add_type |= TabStripModel::ADD_PINNED;
706 713
707 // For extensions lacking launch urls, determine a reasonable fallback. 714 // For extensions lacking launch urls, determine a reasonable fallback.
708 GURL extension_url = extension->GetFullLaunchURL(); 715 GURL extension_url = extension->GetFullLaunchURL();
709 if (!extension_url.is_valid()) { 716 if (!extension_url.is_valid()) {
710 extension_url = extension->options_url(); 717 extension_url = extension->options_url();
711 if (!extension_url.is_valid()) 718 if (!extension_url.is_valid())
(...skipping 4533 matching lines...) Expand 10 before | Expand all | Expand 10 after
5245 } else if (is_type_tabbed()) { 5252 } else if (is_type_tabbed()) {
5246 GlobalErrorService* service = 5253 GlobalErrorService* service =
5247 GlobalErrorServiceFactory::GetForProfile(profile()); 5254 GlobalErrorServiceFactory::GetForProfile(profile());
5248 GlobalError* error = service->GetFirstGlobalErrorWithBubbleView(); 5255 GlobalError* error = service->GetFirstGlobalErrorWithBubbleView();
5249 if (error) { 5256 if (error) {
5250 error->ShowBubbleView(this); 5257 error->ShowBubbleView(this);
5251 did_show_bubble = true; 5258 did_show_bubble = true;
5252 } 5259 }
5253 } 5260 }
5254 } 5261 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698