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

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: 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"
8 #include "base/callback.h"
7 #include "base/command_line.h" 9 #include "base/command_line.h"
8 #include "base/hash_tables.h" 10 #include "base/hash_tables.h"
9 #include "base/stringprintf.h" 11 #include "base/stringprintf.h"
10 #include "base/task.h" 12 #include "base/task.h"
11 #include "base/values.h" 13 #include "base/values.h"
12 #include "chrome/browser/browser_process.h" 14 #include "chrome/browser/browser_process.h"
13 #include "chrome/browser/browser_shutdown.h" 15 #include "chrome/browser/browser_shutdown.h"
14 #include "chrome/browser/io_thread.h" 16 #include "chrome/browser/io_thread.h"
15 #include "chrome/browser/chromeos/cros/cros_library.h" 17 #include "chrome/browser/chromeos/cros/cros_library.h"
16 #include "chrome/browser/chromeos/cros/network_library.h" 18 #include "chrome/browser/chromeos/cros/network_library.h"
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 96
95 bool UpdateState(chromeos::NetworkLibrary* cros); 97 bool UpdateState(chromeos::NetworkLibrary* cros);
96 98
97 base::hash_set<std::string> observers_; 99 base::hash_set<std::string> observers_;
98 std::string active_network_; 100 std::string active_network_;
99 std::string network_name_; 101 std::string network_name_;
100 State state_; 102 State state_;
101 WebUI* web_ui_; 103 WebUI* web_ui_;
102 }; 104 };
103 105
106 #if 0
awong 2011/10/04 01:48:09 Should this just be removed?
James Hawkins 2011/10/04 02:09:20 Done.
104 // Clears DNS cache on IO thread. 107 // Clears DNS cache on IO thread.
105 class ClearDnsCacheTaskOnIOThread : public Task { 108 class ClearDnsCacheTaskOnIOThread : public base::Callback<void(void)> {
106 public: 109 public:
107 ClearDnsCacheTaskOnIOThread(Task* callback, IOThread* io_thread) 110 explicit ClearDnsCacheTaskOnIOThread() : io_thread_(NULL) {}
108 : callback_(callback), io_thread_(io_thread) {
109 }
110 virtual ~ClearDnsCacheTaskOnIOThread() {} 111 virtual ~ClearDnsCacheTaskOnIOThread() {}
111 112
112 // Task overrides. 113 void set_callback(const base::Closure& callback) { callback_ = callback; }
114 void set_io_thread(IOThread* io_thread) { io_thread_ = io_thread; }
115
116 // base::Closure implementation.
113 virtual void Run() OVERRIDE { 117 virtual void Run() OVERRIDE {
114 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 118 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
115 if (browser_shutdown::IsTryingToQuit()) 119 if (browser_shutdown::IsTryingToQuit())
116 return; 120 return;
117 121
118 io_thread_->globals()->dnsrr_resolver.get()->OnIPAddressChanged(); 122 io_thread_->globals()->dnsrr_resolver.get()->OnIPAddressChanged();
119 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, callback_); 123 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, callback_);
120 } 124 }
121 125
122 private: 126 private:
123 Task* callback_; 127 base::Closure callback_;
124 IOThread* io_thread_; 128 IOThread* io_thread_;
129
125 DISALLOW_COPY_AND_ASSIGN(ClearDnsCacheTaskOnIOThread); 130 DISALLOW_COPY_AND_ASSIGN(ClearDnsCacheTaskOnIOThread);
126 }; 131 };
132 #endif
127 133
128 // NetworkStateInformer implementation ----------------------------------------- 134 // NetworkStateInformer implementation -----------------------------------------
129 135
130 NetworkStateInformer::NetworkStateInformer(WebUI* web_ui) : web_ui_(web_ui) { 136 NetworkStateInformer::NetworkStateInformer(WebUI* web_ui) : web_ui_(web_ui) {
131 NetworkLibrary* cros = CrosLibrary::Get()->GetNetworkLibrary(); 137 NetworkLibrary* cros = CrosLibrary::Get()->GetNetworkLibrary();
132 UpdateState(cros); 138 UpdateState(cros);
133 cros->AddNetworkManagerObserver(this); 139 cros->AddNetworkManagerObserver(this);
134 } 140 }
135 141
136 NetworkStateInformer::~NetworkStateInformer() { 142 NetworkStateInformer::~NetworkStateInformer() {
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 : delegate_(WebUILoginDisplay::GetInstance()), 196 : delegate_(WebUILoginDisplay::GetInstance()),
191 show_on_init_(false), 197 show_on_init_(false),
192 oobe_ui_(false), 198 oobe_ui_(false),
193 dns_cleared_(false), 199 dns_cleared_(false),
194 dns_clear_task_running_(false), 200 dns_clear_task_running_(false),
195 cookies_cleared_(false), 201 cookies_cleared_(false),
196 extension_driven_( 202 extension_driven_(
197 CommandLine::ForCurrentProcess()->HasSwitch( 203 CommandLine::ForCurrentProcess()->HasSwitch(
198 switches::kWebUILogin)), 204 switches::kWebUILogin)),
199 cookie_remover_(NULL), 205 cookie_remover_(NULL),
200 ALLOW_THIS_IN_INITIALIZER_LIST(method_factory_(this)) { 206 ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) {
201 delegate_->SetWebUIHandler(this); 207 delegate_->SetWebUIHandler(this);
202 } 208 }
203 209
204 SigninScreenHandler::~SigninScreenHandler() { 210 SigninScreenHandler::~SigninScreenHandler() {
205 method_factory_.RevokeAll(); 211 weak_factory_.InvalidateWeakPtrs();
206 if (cookie_remover_) 212 if (cookie_remover_)
207 cookie_remover_->RemoveObserver(this); 213 cookie_remover_->RemoveObserver(this);
208 } 214 }
209 215
210 void SigninScreenHandler::GetLocalizedStrings( 216 void SigninScreenHandler::GetLocalizedStrings(
211 DictionaryValue* localized_strings) { 217 DictionaryValue* localized_strings) {
212 localized_strings->SetString("signinScreenTitle", 218 localized_strings->SetString("signinScreenTitle",
213 l10n_util::GetStringUTF16(IDS_SIGNIN_SCREEN_TITLE)); 219 l10n_util::GetStringUTF16(IDS_SIGNIN_SCREEN_TITLE));
214 localized_strings->SetString("passwordHint", 220 localized_strings->SetString("passwordHint",
215 l10n_util::GetStringUTF16(IDS_LOGIN_POD_EMPTY_PASSWORD_TEXT)); 221 l10n_util::GetStringUTF16(IDS_LOGIN_POD_EMPTY_PASSWORD_TEXT));
(...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after
589 NOTREACHED(); 595 NOTREACHED();
590 return; 596 return;
591 } 597 }
592 network_state_informer_->RemoveObserver(callback); 598 network_state_informer_->RemoveObserver(callback);
593 } 599 }
594 600
595 void SigninScreenHandler::HandleCreateAccount(const base::ListValue* args) { 601 void SigninScreenHandler::HandleCreateAccount(const base::ListValue* args) {
596 delegate_->CreateAccount(); 602 delegate_->CreateAccount();
597 } 603 }
598 604
605 void SigninScreenHandler::ClearDnsCache(
606 const base::Closure& callback, IOThread* io_thread) {
607 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
608 if (browser_shutdown::IsTryingToQuit())
609 return;
610
611 io_thread->globals()->dnsrr_resolver.get()->OnIPAddressChanged();
612 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, callback);
613 }
614
599 void SigninScreenHandler::StartClearingDnsCache() { 615 void SigninScreenHandler::StartClearingDnsCache() {
600 if (dns_clear_task_running_ || !g_browser_process->io_thread()) 616 if (dns_clear_task_running_ || !g_browser_process->io_thread())
601 return; 617 return;
602 618
603 dns_cleared_ = false; 619 dns_cleared_ = false;
604 ClearDnsCacheTaskOnIOThread* clear_dns_task = new ClearDnsCacheTaskOnIOThread( 620 base::Closure callback =
605 method_factory_.NewRunnableMethod(&SigninScreenHandler::OnDnsCleared), 621 base::Bind(&SigninScreenHandler::ClearDnsCache,
606 g_browser_process->io_thread()); 622 weak_factory_.GetWeakPtr(),
607 BrowserThread::PostTask(BrowserThread::IO, FROM_HERE, clear_dns_task); 623 base::Bind(&SigninScreenHandler::OnDnsCleared,
624 weak_factory_.GetWeakPtr()),
625 g_browser_process->io_thread());
626 BrowserThread::PostTask(BrowserThread::IO, FROM_HERE, callback);
awong 2011/10/04 01:48:09 I don't think is quite right.... StartClearingDns
James Hawkins 2011/10/04 02:09:20 Done.
608 dns_clear_task_running_ = true; 627 dns_clear_task_running_ = true;
609 } 628 }
610 629
611 void SigninScreenHandler::StartClearingCookies() { 630 void SigninScreenHandler::StartClearingCookies() {
612 cookies_cleared_ = false; 631 cookies_cleared_ = false;
613 if (cookie_remover_) 632 if (cookie_remover_)
614 cookie_remover_->RemoveObserver(this); 633 cookie_remover_->RemoveObserver(this);
615 634
616 cookie_remover_ = new BrowsingDataRemover( 635 cookie_remover_ = new BrowsingDataRemover(
617 Profile::FromBrowserContext(web_ui_->tab_contents()->browser_context()), 636 Profile::FromBrowserContext(web_ui_->tab_contents()->browser_context()),
618 BrowsingDataRemover::EVERYTHING, 637 BrowsingDataRemover::EVERYTHING,
619 base::Time()); 638 base::Time());
620 cookie_remover_->AddObserver(this); 639 cookie_remover_->AddObserver(this);
621 cookie_remover_->Remove(BrowsingDataRemover::REMOVE_SITE_DATA); 640 cookie_remover_->Remove(BrowsingDataRemover::REMOVE_SITE_DATA);
622 } 641 }
623 642
624 } // namespace chromeos 643 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698