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

Side by Side Diff: chrome/browser/ui/webui/local_discovery/local_discovery_ui_handler.cc

Issue 23780002: Actual cancelation of registration when cancel buttons pressed (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 3 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
« no previous file with comments | « chrome/browser/ui/webui/local_discovery/local_discovery_ui_handler.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/local_discovery/local_discovery_ui_handler.h" 5 #include "chrome/browser/ui/webui/local_discovery/local_discovery_ui_handler.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/strings/stringprintf.h" 8 #include "base/strings/stringprintf.h"
9 #include "base/values.h" 9 #include "base/values.h"
10 #include "chrome/browser/local_discovery/privet_device_lister_impl.h" 10 #include "chrome/browser/local_discovery/privet_device_lister_impl.h"
(...skipping 23 matching lines...) Expand all
34 34
35 LocalDiscoveryUIHandler::LocalDiscoveryUIHandler() : is_visible_(false) { 35 LocalDiscoveryUIHandler::LocalDiscoveryUIHandler() : is_visible_(false) {
36 } 36 }
37 37
38 LocalDiscoveryUIHandler::LocalDiscoveryUIHandler( 38 LocalDiscoveryUIHandler::LocalDiscoveryUIHandler(
39 scoped_ptr<PrivetDeviceLister> privet_lister) { 39 scoped_ptr<PrivetDeviceLister> privet_lister) {
40 privet_lister.swap(privet_lister_); 40 privet_lister.swap(privet_lister_);
41 } 41 }
42 42
43 LocalDiscoveryUIHandler::~LocalDiscoveryUIHandler() { 43 LocalDiscoveryUIHandler::~LocalDiscoveryUIHandler() {
44 ResetCurrentRegistration();
44 SetIsVisible(false); 45 SetIsVisible(false);
45 if (service_discovery_client_.get()) { 46 if (service_discovery_client_.get()) {
46 service_discovery_client_ = NULL; 47 service_discovery_client_ = NULL;
47 ServiceDiscoveryHostClientFactory::ReleaseClient(); 48 ServiceDiscoveryHostClientFactory::ReleaseClient();
48 } 49 }
49 } 50 }
50 51
51 // static 52 // static
52 LocalDiscoveryUIHandler* LocalDiscoveryUIHandler::Create() { 53 LocalDiscoveryUIHandler* LocalDiscoveryUIHandler::Create() {
53 if (g_factory) return g_factory->CreateLocalDiscoveryUIHandler(); 54 if (g_factory) return g_factory->CreateLocalDiscoveryUIHandler();
(...skipping 16 matching lines...) Expand all
70 base::Unretained(this))); 71 base::Unretained(this)));
71 web_ui()->RegisterMessageCallback("isVisible", base::Bind( 72 web_ui()->RegisterMessageCallback("isVisible", base::Bind(
72 &LocalDiscoveryUIHandler::HandleIsVisible, 73 &LocalDiscoveryUIHandler::HandleIsVisible,
73 base::Unretained(this))); 74 base::Unretained(this)));
74 web_ui()->RegisterMessageCallback("registerDevice", base::Bind( 75 web_ui()->RegisterMessageCallback("registerDevice", base::Bind(
75 &LocalDiscoveryUIHandler::HandleRegisterDevice, 76 &LocalDiscoveryUIHandler::HandleRegisterDevice,
76 base::Unretained(this))); 77 base::Unretained(this)));
77 web_ui()->RegisterMessageCallback("chooseUser", base::Bind( 78 web_ui()->RegisterMessageCallback("chooseUser", base::Bind(
78 &LocalDiscoveryUIHandler::HandleChooseUser, 79 &LocalDiscoveryUIHandler::HandleChooseUser,
79 base::Unretained(this))); 80 base::Unretained(this)));
81 web_ui()->RegisterMessageCallback("cancelRegistration", base::Bind(
82 &LocalDiscoveryUIHandler::HandleCancelRegistration,
83 base::Unretained(this)));
80 } 84 }
81 85
82 void LocalDiscoveryUIHandler::HandleStart(const base::ListValue* args) { 86 void LocalDiscoveryUIHandler::HandleStart(const base::ListValue* args) {
83 // If privet_lister_ is already set, it is a mock used for tests or the result 87 // If privet_lister_ is already set, it is a mock used for tests or the result
84 // of a reload. 88 // of a reload.
85 if (!privet_lister_) { 89 if (!privet_lister_) {
86 service_discovery_client_ = ServiceDiscoveryHostClientFactory::GetClient(); 90 service_discovery_client_ = ServiceDiscoveryHostClientFactory::GetClient();
87 privet_lister_.reset(new PrivetDeviceListerImpl( 91 privet_lister_.reset(new PrivetDeviceListerImpl(
88 service_discovery_client_.get(), this)); 92 service_discovery_client_.get(), this));
89 privet_http_factory_.reset(new PrivetHTTPAsynchronousFactoryImpl( 93 privet_http_factory_.reset(new PrivetHTTPAsynchronousFactoryImpl(
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 DCHECK(rv); 134 DCHECK(rv);
131 135
132 privet_resolution_ = privet_http_factory_->CreatePrivetHTTP( 136 privet_resolution_ = privet_http_factory_->CreatePrivetHTTP(
133 current_register_device_, 137 current_register_device_,
134 device_descriptions_[current_register_device_].address, 138 device_descriptions_[current_register_device_].address,
135 base::Bind(&LocalDiscoveryUIHandler::StartRegisterHTTP, 139 base::Bind(&LocalDiscoveryUIHandler::StartRegisterHTTP,
136 base::Unretained(this), user)); 140 base::Unretained(this), user));
137 privet_resolution_->Start(); 141 privet_resolution_->Start();
138 } 142 }
139 143
144 void LocalDiscoveryUIHandler::HandleCancelRegistration(
145 const base::ListValue* args) {
146 ResetCurrentRegistration();
147 }
148
140 void LocalDiscoveryUIHandler::StartRegisterHTTP( 149 void LocalDiscoveryUIHandler::StartRegisterHTTP(
141 const std::string& user, 150 const std::string& user,
142 scoped_ptr<PrivetHTTPClient> http_client) { 151 scoped_ptr<PrivetHTTPClient> http_client) {
143 current_http_client_.swap(http_client); 152 current_http_client_.swap(http_client);
144 153
145 if (!current_http_client_) { 154 if (!current_http_client_) {
146 SendRegisterError(); 155 SendRegisterError();
147 return; 156 return;
148 } 157 }
149 158
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
346 Profile::FromWebUI(web_ui())->GetRequestContext(), 355 Profile::FromWebUI(web_ui())->GetRequestContext(),
347 user_index, 356 user_index,
348 xsrf_token, 357 xsrf_token,
349 automated_claim_url, 358 automated_claim_url,
350 base::Bind(&LocalDiscoveryUIHandler::OnConfirmDone, 359 base::Bind(&LocalDiscoveryUIHandler::OnConfirmDone,
351 base::Unretained(this)))); 360 base::Unretained(this))));
352 361
353 confirm_api_call_flow_->Start(); 362 confirm_api_call_flow_->Start();
354 } 363 }
355 364
365 // TODO(noamsml): Create master object for registration flow.
366 void LocalDiscoveryUIHandler::ResetCurrentRegistration() {
367 current_register_device_.clear();
368 if (current_register_operation_.get()) {
369 current_register_operation_->Cancel();
370 current_register_operation_.reset();
371 }
372
373 confirm_api_call_flow_.reset();
374 privet_resolution_.reset();
375 cloud_print_account_manager_.reset();
376 xsrf_token_for_primary_user_.clear();
377 current_register_user_index_ = 0;
378 current_http_client_.reset();
379 }
380
356 } // namespace local_discovery 381 } // namespace local_discovery
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/local_discovery/local_discovery_ui_handler.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698