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

Side by Side Diff: chrome/browser/ui/cocoa/first_run_dialog.mm

Issue 9285002: Remove the first-run search engine dialog/ballot. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Sync and merge. Created 8 years, 11 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) 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 #import "chrome/browser/ui/cocoa/first_run_dialog.h" 5 #import "chrome/browser/ui/cocoa/first_run_dialog.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/mac/bundle_locations.h" 8 #include "base/mac/bundle_locations.h"
9 #include "base/mac/mac_util.h" 9 #include "base/mac/mac_util.h"
10 #include "base/memory/ref_counted.h" 10 #include "base/memory/ref_counted.h"
11 #import "base/memory/scoped_nsobject.h" 11 #import "base/memory/scoped_nsobject.h"
12 #include "base/message_loop.h" 12 #include "base/message_loop.h"
13 #include "base/sys_string_conversions.h" 13 #include "base/sys_string_conversions.h"
14 #include "chrome/browser/first_run/first_run.h" 14 #include "chrome/browser/first_run/first_run.h"
15 #include "chrome/browser/first_run/first_run_dialog.h" 15 #include "chrome/browser/first_run/first_run_dialog.h"
16 #include "chrome/browser/google/google_util.h" 16 #include "chrome/browser/google/google_util.h"
17 #include "chrome/browser/profiles/profile.h" 17 #include "chrome/browser/profiles/profile.h"
18 #include "chrome/browser/search_engines/template_url_service.h" 18 #include "chrome/browser/search_engines/template_url_service.h"
19 #include "chrome/browser/search_engines/template_url_service_factory.h" 19 #include "chrome/browser/search_engines/template_url_service_factory.h"
20 #include "chrome/browser/shell_integration.h" 20 #include "chrome/browser/shell_integration.h"
21 #import "chrome/browser/ui/cocoa/search_engine_dialog_controller.h"
22 #include "chrome/common/chrome_version_info.h" 21 #include "chrome/common/chrome_version_info.h"
23 #include "chrome/common/url_constants.h" 22 #include "chrome/common/url_constants.h"
24 #include "googleurl/src/gurl.h" 23 #include "googleurl/src/gurl.h"
25 #include "grit/locale_settings.h" 24 #include "grit/locale_settings.h"
26 #import "third_party/GTM/AppKit/GTMUILocalizerAndLayoutTweaker.h" 25 #import "third_party/GTM/AppKit/GTMUILocalizerAndLayoutTweaker.h"
27 #include "ui/base/l10n/l10n_util_mac.h" 26 #include "ui/base/l10n/l10n_util_mac.h"
28 27
29 #if defined(GOOGLE_CHROME_BUILD) 28 #if defined(GOOGLE_CHROME_BUILD)
30 #import "chrome/app/breakpad_mac.h" 29 #import "chrome/app/breakpad_mac.h"
31 #include "chrome/browser/browser_process.h" 30 #include "chrome/browser/browser_process.h"
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 64
66 FirstRunShowBridge::FirstRunShowBridge( 65 FirstRunShowBridge::FirstRunShowBridge(
67 FirstRunDialogController* controller) : controller_(controller) { 66 FirstRunDialogController* controller) : controller_(controller) {
68 } 67 }
69 68
70 void FirstRunShowBridge::ShowDialog() { 69 void FirstRunShowBridge::ShowDialog() {
71 [controller_ show]; 70 [controller_ show];
72 MessageLoop::current()->QuitNow(); 71 MessageLoop::current()->QuitNow();
73 } 72 }
74 73
75 // Show the search engine selection dialog.
76 void ShowSearchEngineSelectionDialog(Profile* profile,
77 bool randomize_search_engine_experiment) {
78 scoped_nsobject<SearchEngineDialogController> dialog(
79 [[SearchEngineDialogController alloc] init]);
80 [dialog.get() setProfile:profile];
81 [dialog.get() setRandomize:randomize_search_engine_experiment];
82
83 [dialog.get() showWindow:nil];
84 }
85
86 // Show the first run UI. 74 // Show the first run UI.
87 void ShowFirstRun(Profile* profile) { 75 void ShowFirstRun(Profile* profile) {
88 #if defined(GOOGLE_CHROME_BUILD) 76 #if defined(GOOGLE_CHROME_BUILD)
89 // The purpose of the dialog is to ask the user to enable stats and crash 77 // The purpose of the dialog is to ask the user to enable stats and crash
90 // reporting. This setting may be controlled through configuration management 78 // reporting. This setting may be controlled through configuration management
91 // in enterprise scenarios. If that is the case, skip the dialog entirely, as 79 // in enterprise scenarios. If that is the case, skip the dialog entirely, as
92 // it's not worth bothering the user for only the default browser question 80 // it's not worth bothering the user for only the default browser question
93 // (which is likely to be forced in enterprise deployments anyway). 81 // (which is likely to be forced in enterprise deployments anyway).
94 const PrefService::Preference* metrics_reporting_pref = 82 const PrefService::Preference* metrics_reporting_pref =
95 g_browser_process->local_state()->FindPreference( 83 g_browser_process->local_state()->FindPreference(
(...skipping 24 matching lines...) Expand all
120 DCHECK(success); 108 DCHECK(success);
121 } 109 }
122 } 110 }
123 #else // GOOGLE_CHROME_BUILD 111 #else // GOOGLE_CHROME_BUILD
124 // We don't show the dialog in Chromium. 112 // We don't show the dialog in Chromium.
125 #endif // GOOGLE_CHROME_BUILD 113 #endif // GOOGLE_CHROME_BUILD
126 114
127 first_run::CreateSentinel(); 115 first_run::CreateSentinel();
128 116
129 // Set preference to show first run bubble and welcome page. 117 // Set preference to show first run bubble and welcome page.
130 // Don't display the minimal bubble if there is no default search provider. 118 // Only display the bubble if there is a default search provider.
131 TemplateURLService* search_engines_model = 119 TemplateURLService* search_engines_model =
132 TemplateURLServiceFactory::GetForProfile(profile); 120 TemplateURLServiceFactory::GetForProfile(profile);
133 if (search_engines_model && 121 if (search_engines_model &&
134 search_engines_model->GetDefaultSearchProvider()) { 122 search_engines_model->GetDefaultSearchProvider()) {
135 first_run::SetShowFirstRunBubblePref(true); 123 first_run::SetShowFirstRunBubblePref(true);
136 } 124 }
137 first_run::SetShowWelcomePagePref(); 125 first_run::SetShowWelcomePagePref();
138 } 126 }
139 127
140 // True when the stats checkbox should be checked by default. This is only 128 // True when the stats checkbox should be checked by default. This is only
141 // the case when the canary is running. 129 // the case when the canary is running.
142 bool StatsCheckboxDefault() { 130 bool StatsCheckboxDefault() {
143 return chrome::VersionInfo::GetChannel() == 131 return chrome::VersionInfo::GetChannel() ==
144 chrome::VersionInfo::CHANNEL_CANARY; 132 chrome::VersionInfo::CHANNEL_CANARY;
145 } 133 }
146 134
147 } // namespace 135 } // namespace
148 136
149 namespace first_run { 137 namespace first_run {
150 138
151 void ShowFirstRunDialog(Profile* profile, 139 void ShowFirstRunDialog(Profile* profile) {
152 bool randomize_search_engine_experiment) {
153 // If the default search is not managed via policy, ask the user to
154 // choose a default.
155 TemplateURLService* model = TemplateURLServiceFactory::GetForProfile(profile);
156 if (first_run::ShouldShowSearchEngineSelector(model)) {
157 ShowSearchEngineSelectionDialog(profile,
158 randomize_search_engine_experiment);
159 }
160 ShowFirstRun(profile); 140 ShowFirstRun(profile);
161 } 141 }
162 142
163 } // namespace first_run 143 } // namespace first_run
164 144
165 @implementation FirstRunDialogController 145 @implementation FirstRunDialogController
166 146
167 @synthesize statsEnabled = statsEnabled_; 147 @synthesize statsEnabled = statsEnabled_;
168 @synthesize makeDefaultBrowser = makeDefaultBrowser_; 148 @synthesize makeDefaultBrowser = makeDefaultBrowser_;
169 149
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
301 281
302 - (IBAction)learnMore:(id)sender { 282 - (IBAction)learnMore:(id)sender {
303 GURL url = google_util::AppendGoogleLocaleParam( 283 GURL url = google_util::AppendGoogleLocaleParam(
304 GURL(chrome::kLearnMoreReportingURL)); 284 GURL(chrome::kLearnMoreReportingURL));
305 NSString* urlStr = base::SysUTF8ToNSString(url.spec());; 285 NSString* urlStr = base::SysUTF8ToNSString(url.spec());;
306 NSURL* learnMoreUrl = [NSURL URLWithString:urlStr]; 286 NSURL* learnMoreUrl = [NSURL URLWithString:urlStr];
307 [[NSWorkspace sharedWorkspace] openURL:learnMoreUrl]; 287 [[NSWorkspace sharedWorkspace] openURL:learnMoreUrl];
308 } 288 }
309 289
310 @end 290 @end
OLDNEW
« no previous file with comments | « chrome/browser/search_engines/template_url_service.h ('k') | chrome/browser/ui/cocoa/search_engine_dialog_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698