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

Side by Side Diff: chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc

Issue 8113025: base::Bind: More converts, mostly in WebUI. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Review fixes. 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/webui/chromeos/login/signin_screen_handler.h" 5 #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/hash_tables.h" 10 #include "base/hash_tables.h"
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 std::string SanitizeEmail(const std::string& email) { 59 std::string SanitizeEmail(const std::string& email) {
60 std::string sanitized(email); 60 std::string sanitized(email);
61 61
62 // Apply a default domain if necessary. 62 // Apply a default domain if necessary.
63 if (sanitized.find('@') == std::string::npos) 63 if (sanitized.find('@') == std::string::npos)
64 sanitized += kDefaultDomain; 64 sanitized += kDefaultDomain;
65 65
66 return sanitized; 66 return sanitized;
67 } 67 }
68 68
69 // The Task posted to PostTaskAndReply in StartClearingDnsCache on the IO
70 // thread.
71 void ClearDnsCache(IOThread* io_thread) {
72 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
73 if (browser_shutdown::IsTryingToQuit())
74 return;
75
76 io_thread->globals()->dnsrr_resolver.get()->OnIPAddressChanged();
77 }
78
69 } // namespace 79 } // namespace
70 80
71 namespace chromeos { 81 namespace chromeos {
72 82
73 // Class which observes network state changes and calls registerd callbacks. 83 // Class which observes network state changes and calls registered callbacks.
74 // State is considered changed if connection or the active network has been 84 // State is considered changed if connection or the active network has been
75 // changed. Also, it answers to the requests about current network state. 85 // changed. Also, it answers to the requests about current network state.
76 class NetworkStateInformer 86 class NetworkStateInformer
77 : public chromeos::NetworkLibrary::NetworkManagerObserver { 87 : public chromeos::NetworkLibrary::NetworkManagerObserver {
78 public: 88 public:
79 explicit NetworkStateInformer(WebUI* web_ui); 89 explicit NetworkStateInformer(WebUI* web_ui);
80 virtual ~NetworkStateInformer(); 90 virtual ~NetworkStateInformer();
81 91
82 // Adds observer's callback to be called when network state has been changed. 92 // Adds observer's callback to be called when network state has been changed.
83 void AddObserver(const std::string& callback); 93 void AddObserver(const std::string& callback);
(...skipping 12 matching lines...) Expand all
96 106
97 bool UpdateState(chromeos::NetworkLibrary* cros); 107 bool UpdateState(chromeos::NetworkLibrary* cros);
98 108
99 base::hash_set<std::string> observers_; 109 base::hash_set<std::string> observers_;
100 std::string active_network_; 110 std::string active_network_;
101 std::string network_name_; 111 std::string network_name_;
102 State state_; 112 State state_;
103 WebUI* web_ui_; 113 WebUI* web_ui_;
104 }; 114 };
105 115
106 // Clears DNS cache on IO thread.
107 class ClearDnsCacheTaskOnIOThread : public Task {
108 public:
109 ClearDnsCacheTaskOnIOThread(Task* callback, IOThread* io_thread)
110 : callback_(callback), io_thread_(io_thread) {
111 }
112 virtual ~ClearDnsCacheTaskOnIOThread() {}
113
114 // Task overrides.
115 virtual void Run() OVERRIDE {
116 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
117 if (browser_shutdown::IsTryingToQuit())
118 return;
119
120 io_thread_->globals()->dnsrr_resolver.get()->OnIPAddressChanged();
121 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, callback_);
122 }
123
124 private:
125 Task* callback_;
126 IOThread* io_thread_;
127 DISALLOW_COPY_AND_ASSIGN(ClearDnsCacheTaskOnIOThread);
128 };
129
130 // NetworkStateInformer implementation ----------------------------------------- 116 // NetworkStateInformer implementation -----------------------------------------
131 117
132 NetworkStateInformer::NetworkStateInformer(WebUI* web_ui) : web_ui_(web_ui) { 118 NetworkStateInformer::NetworkStateInformer(WebUI* web_ui) : web_ui_(web_ui) {
133 NetworkLibrary* cros = CrosLibrary::Get()->GetNetworkLibrary(); 119 NetworkLibrary* cros = CrosLibrary::Get()->GetNetworkLibrary();
134 UpdateState(cros); 120 UpdateState(cros);
135 cros->AddNetworkManagerObserver(this); 121 cros->AddNetworkManagerObserver(this);
136 } 122 }
137 123
138 NetworkStateInformer::~NetworkStateInformer() { 124 NetworkStateInformer::~NetworkStateInformer() {
139 CrosLibrary::Get()->GetNetworkLibrary()-> 125 CrosLibrary::Get()->GetNetworkLibrary()->
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 : delegate_(WebUILoginDisplay::GetInstance()), 178 : delegate_(WebUILoginDisplay::GetInstance()),
193 show_on_init_(false), 179 show_on_init_(false),
194 oobe_ui_(false), 180 oobe_ui_(false),
195 dns_cleared_(false), 181 dns_cleared_(false),
196 dns_clear_task_running_(false), 182 dns_clear_task_running_(false),
197 cookies_cleared_(false), 183 cookies_cleared_(false),
198 extension_driven_( 184 extension_driven_(
199 CommandLine::ForCurrentProcess()->HasSwitch( 185 CommandLine::ForCurrentProcess()->HasSwitch(
200 switches::kWebUILogin)), 186 switches::kWebUILogin)),
201 cookie_remover_(NULL), 187 cookie_remover_(NULL),
202 ALLOW_THIS_IN_INITIALIZER_LIST(method_factory_(this)) { 188 ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) {
203 delegate_->SetWebUIHandler(this); 189 delegate_->SetWebUIHandler(this);
204 } 190 }
205 191
206 SigninScreenHandler::~SigninScreenHandler() { 192 SigninScreenHandler::~SigninScreenHandler() {
207 method_factory_.RevokeAll(); 193 weak_factory_.InvalidateWeakPtrs();
208 if (cookie_remover_) 194 if (cookie_remover_)
209 cookie_remover_->RemoveObserver(this); 195 cookie_remover_->RemoveObserver(this);
210 } 196 }
211 197
212 void SigninScreenHandler::GetLocalizedStrings( 198 void SigninScreenHandler::GetLocalizedStrings(
213 DictionaryValue* localized_strings) { 199 DictionaryValue* localized_strings) {
214 localized_strings->SetString("signinScreenTitle", 200 localized_strings->SetString("signinScreenTitle",
215 l10n_util::GetStringUTF16(IDS_SIGNIN_SCREEN_TITLE)); 201 l10n_util::GetStringUTF16(IDS_SIGNIN_SCREEN_TITLE));
216 localized_strings->SetString("passwordHint", 202 localized_strings->SetString("passwordHint",
217 l10n_util::GetStringUTF16(IDS_LOGIN_POD_EMPTY_PASSWORD_TEXT)); 203 l10n_util::GetStringUTF16(IDS_LOGIN_POD_EMPTY_PASSWORD_TEXT));
(...skipping 391 matching lines...) Expand 10 before | Expand all | Expand 10 after
609 595
610 void SigninScreenHandler::HandleCreateAccount(const base::ListValue* args) { 596 void SigninScreenHandler::HandleCreateAccount(const base::ListValue* args) {
611 delegate_->CreateAccount(); 597 delegate_->CreateAccount();
612 } 598 }
613 599
614 void SigninScreenHandler::StartClearingDnsCache() { 600 void SigninScreenHandler::StartClearingDnsCache() {
615 if (dns_clear_task_running_ || !g_browser_process->io_thread()) 601 if (dns_clear_task_running_ || !g_browser_process->io_thread())
616 return; 602 return;
617 603
618 dns_cleared_ = false; 604 dns_cleared_ = false;
619 ClearDnsCacheTaskOnIOThread* clear_dns_task = new ClearDnsCacheTaskOnIOThread( 605 BrowserThread::PostTaskAndReply(
620 method_factory_.NewRunnableMethod(&SigninScreenHandler::OnDnsCleared), 606 BrowserThread::IO, FROM_HERE,
621 g_browser_process->io_thread()); 607 base::Bind(&ClearDnsCache, g_browser_process->io_thread()),
622 BrowserThread::PostTask(BrowserThread::IO, FROM_HERE, clear_dns_task); 608 base::Bind(&SigninScreenHandler::OnDnsCleared,
609 weak_factory_.GetWeakPtr()));
623 dns_clear_task_running_ = true; 610 dns_clear_task_running_ = true;
624 } 611 }
625 612
626 void SigninScreenHandler::StartClearingCookies() { 613 void SigninScreenHandler::StartClearingCookies() {
627 cookies_cleared_ = false; 614 cookies_cleared_ = false;
628 if (cookie_remover_) 615 if (cookie_remover_)
629 cookie_remover_->RemoveObserver(this); 616 cookie_remover_->RemoveObserver(this);
630 617
631 cookie_remover_ = new BrowsingDataRemover( 618 cookie_remover_ = new BrowsingDataRemover(
632 Profile::FromBrowserContext(web_ui_->tab_contents()->browser_context()), 619 Profile::FromBrowserContext(web_ui_->tab_contents()->browser_context()),
633 BrowsingDataRemover::EVERYTHING, 620 BrowsingDataRemover::EVERYTHING,
634 base::Time()); 621 base::Time());
635 cookie_remover_->AddObserver(this); 622 cookie_remover_->AddObserver(this);
636 cookie_remover_->Remove(BrowsingDataRemover::REMOVE_SITE_DATA); 623 cookie_remover_->Remove(BrowsingDataRemover::REMOVE_SITE_DATA);
637 } 624 }
638 625
639 } // namespace chromeos 626 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h ('k') | chrome/browser/ui/webui/chromeos/mobile_setup_ui.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698