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

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

Issue 7554008: Removal of Profile from content part 6. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 9 years, 4 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/webui/ntp/new_tab_sync_setup_handler.h" 5 #include "chrome/browser/ui/webui/ntp/new_tab_sync_setup_handler.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "chrome/browser/prefs/pref_notifier.h" 8 #include "chrome/browser/prefs/pref_notifier.h"
9 #include "chrome/browser/prefs/pref_service.h" 9 #include "chrome/browser/prefs/pref_service.h"
10 #include "chrome/browser/profiles/profile.h" 10 #include "chrome/browser/profiles/profile.h"
11 #include "chrome/browser/sync/profile_sync_service.h" 11 #include "chrome/browser/sync/profile_sync_service.h"
12 #include "chrome/common/chrome_notification_types.h" 12 #include "chrome/common/chrome_notification_types.h"
13 #include "chrome/common/chrome_switches.h" 13 #include "chrome/common/chrome_switches.h"
14 #include "chrome/common/pref_names.h" 14 #include "chrome/common/pref_names.h"
15 #include "content/browser/tab_contents/tab_contents.h"
15 #include "content/common/notification_details.h" 16 #include "content/common/notification_details.h"
16 17
17 NewTabSyncSetupHandler::NewTabSyncSetupHandler() : SyncSetupHandler() { 18 NewTabSyncSetupHandler::NewTabSyncSetupHandler() : SyncSetupHandler() {
18 } 19 }
19 20
20 NewTabSyncSetupHandler::~NewTabSyncSetupHandler() { 21 NewTabSyncSetupHandler::~NewTabSyncSetupHandler() {
21 } 22 }
22 23
23 bool NewTabSyncSetupHandler::ShouldShowSyncPromo() { 24 bool NewTabSyncSetupHandler::ShouldShowSyncPromo() {
24 #if defined(OS_CHROMEOS) 25 #if defined(OS_CHROMEOS)
25 // There's no need to show the sync promo on cros since cros users are logged 26 // There's no need to show the sync promo on cros since cros users are logged
26 // into sync already. 27 // into sync already.
27 return false; 28 return false;
28 #endif 29 #endif
29 30
30 // Temporarily hide this feature behind a command line flag. 31 // Temporarily hide this feature behind a command line flag.
31 CommandLine* command_line = CommandLine::ForCurrentProcess(); 32 CommandLine* command_line = CommandLine::ForCurrentProcess();
32 return command_line->HasSwitch(switches::kSyncShowPromo); 33 return command_line->HasSwitch(switches::kSyncShowPromo);
33 } 34 }
34 35
35 WebUIMessageHandler* NewTabSyncSetupHandler::Attach(WebUI* web_ui) { 36 WebUIMessageHandler* NewTabSyncSetupHandler::Attach(WebUI* web_ui) {
36 PrefService* pref_service = web_ui->GetProfile()->GetPrefs(); 37 Profile* profile =
38 Profile::FromBrowserContext(web_ui->tab_contents()->browser_context());
39 PrefService* pref_service = profile->GetPrefs();
37 username_pref_.Init(prefs::kGoogleServicesUsername, pref_service, this); 40 username_pref_.Init(prefs::kGoogleServicesUsername, pref_service, this);
38 41
39 return SyncSetupHandler::Attach(web_ui); 42 return SyncSetupHandler::Attach(web_ui);
40 } 43 }
41 44
42 void NewTabSyncSetupHandler::RegisterMessages() { 45 void NewTabSyncSetupHandler::RegisterMessages() {
43 web_ui_->RegisterMessageCallback("InitializeSyncPromo", 46 web_ui_->RegisterMessageCallback("InitializeSyncPromo",
44 NewCallback(this, &NewTabSyncSetupHandler::HandleInitializeSyncPromo)); 47 NewCallback(this, &NewTabSyncSetupHandler::HandleInitializeSyncPromo));
45 web_ui_->RegisterMessageCallback("CollapseSyncPromo", 48 web_ui_->RegisterMessageCallback("CollapseSyncPromo",
46 NewCallback(this, &NewTabSyncSetupHandler::HandleCollapseSyncPromo)); 49 NewCallback(this, &NewTabSyncSetupHandler::HandleCollapseSyncPromo));
(...skipping 10 matching lines...) Expand all
57 std::string* name = Details<std::string>(details).ptr(); 60 std::string* name = Details<std::string>(details).ptr();
58 if (prefs::kGoogleServicesUsername == *name) { 61 if (prefs::kGoogleServicesUsername == *name) {
59 UpdateLogin(); 62 UpdateLogin();
60 return; 63 return;
61 } 64 }
62 } 65 }
63 SyncSetupHandler::Observe(type, source, details); 66 SyncSetupHandler::Observe(type, source, details);
64 } 67 }
65 68
66 void NewTabSyncSetupHandler::ShowSetupUI() { 69 void NewTabSyncSetupHandler::ShowSetupUI() {
67 ProfileSyncService* service = web_ui_->GetProfile()->GetProfileSyncService(); 70 Profile* profile =
71 Profile::FromBrowserContext(web_ui_->tab_contents()->browser_context());
72 ProfileSyncService* service = profile->GetProfileSyncService();
68 service->get_wizard().Step(SyncSetupWizard::GetLoginState()); 73 service->get_wizard().Step(SyncSetupWizard::GetLoginState());
69 } 74 }
70 75
71 void NewTabSyncSetupHandler::HandleInitializeSyncPromo(const ListValue* args) { 76 void NewTabSyncSetupHandler::HandleInitializeSyncPromo(const ListValue* args) {
72 if (!ShouldShowSyncPromo()) 77 if (!ShouldShowSyncPromo())
73 return; 78 return;
74 79
75 // Make sure the sync promo is visible. 80 // Make sure the sync promo is visible.
76 web_ui_->CallJavascriptFunction("new_tab.NewTabSyncPromo.showSyncPromo"); 81 web_ui_->CallJavascriptFunction("new_tab.NewTabSyncPromo.showSyncPromo");
77 82
78 UpdateLogin(); 83 UpdateLogin();
79 84
80 ProfileSyncService* service = web_ui_->GetProfile()->GetProfileSyncService(); 85 Profile* profile =
86 Profile::FromBrowserContext(web_ui_->tab_contents()->browser_context());
87 ProfileSyncService* service = profile->GetProfileSyncService();
81 DCHECK(service); 88 DCHECK(service);
82 89
83 // If the user has not signed into sync then expand the sync promo. 90 // If the user has not signed into sync then expand the sync promo.
84 // TODO(sail): Need to throttle this behind a server side flag. 91 // TODO(sail): Need to throttle this behind a server side flag.
85 if (!service->HasSyncSetupCompleted() && 92 if (!service->HasSyncSetupCompleted() &&
86 web_ui_->GetProfile()->GetPrefs()->GetBoolean( 93 profile->GetPrefs()->GetBoolean(prefs::kSyncPromoExpanded)) {
87 prefs::kSyncPromoExpanded)) {
88 OpenSyncSetup(); 94 OpenSyncSetup();
89 SaveExpandedPreference(true); 95 SaveExpandedPreference(true);
90 } 96 }
91 } 97 }
92 98
93 void NewTabSyncSetupHandler::HandleCollapseSyncPromo(const ListValue* args) { 99 void NewTabSyncSetupHandler::HandleCollapseSyncPromo(const ListValue* args) {
94 CloseSyncSetup(); 100 CloseSyncSetup();
95 SaveExpandedPreference(false); 101 SaveExpandedPreference(false);
96 } 102 }
97 103
98 104
99 void NewTabSyncSetupHandler::HandleExpandSyncPromo(const ListValue* args) { 105 void NewTabSyncSetupHandler::HandleExpandSyncPromo(const ListValue* args) {
100 OpenSyncSetup(); 106 OpenSyncSetup();
101 SaveExpandedPreference(true); 107 SaveExpandedPreference(true);
102 } 108 }
103 109
104 void NewTabSyncSetupHandler::UpdateLogin() { 110 void NewTabSyncSetupHandler::UpdateLogin() {
105 std::string username = web_ui_->GetProfile()->GetPrefs()->GetString( 111 Profile* profile =
112 Profile::FromBrowserContext(web_ui_->tab_contents()->browser_context());
113 std::string username = profile->GetPrefs()->GetString(
106 prefs::kGoogleServicesUsername); 114 prefs::kGoogleServicesUsername);
107 StringValue string_value(username); 115 StringValue string_value(username);
108 web_ui_->CallJavascriptFunction("new_tab.NewTabSyncPromo.updateLogin", 116 web_ui_->CallJavascriptFunction("new_tab.NewTabSyncPromo.updateLogin",
109 string_value); 117 string_value);
110 } 118 }
111 119
112 void NewTabSyncSetupHandler::SaveExpandedPreference(bool is_expanded) { 120 void NewTabSyncSetupHandler::SaveExpandedPreference(bool is_expanded) {
113 web_ui_->GetProfile()->GetPrefs()->SetBoolean(prefs::kSyncPromoExpanded, 121 Profile* profile =
114 is_expanded); 122 Profile::FromBrowserContext(web_ui_->tab_contents()->browser_context());
115 web_ui_->GetProfile()->GetPrefs()->ScheduleSavePersistentPrefs(); 123 profile->GetPrefs()->SetBoolean(prefs::kSyncPromoExpanded, is_expanded);
124 profile->GetPrefs()->ScheduleSavePersistentPrefs();
116 } 125 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698