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

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

Issue 1865213004: Convert //chrome/browser/ui from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 8 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
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 <set> 7 #include <set>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
11 #include "base/command_line.h" 11 #include "base/command_line.h"
12 #include "base/memory/ptr_util.h"
12 #include "base/message_loop/message_loop.h" 13 #include "base/message_loop/message_loop.h"
13 #include "base/strings/utf_string_conversions.h" 14 #include "base/strings/utf_string_conversions.h"
14 #include "base/values.h" 15 #include "base/values.h"
15 #include "build/build_config.h" 16 #include "build/build_config.h"
16 #include "chrome/browser/local_discovery/service_discovery_shared_client.h" 17 #include "chrome/browser/local_discovery/service_discovery_shared_client.h"
17 #include "chrome/browser/printing/cloud_print/cloud_print_proxy_service.h" 18 #include "chrome/browser/printing/cloud_print/cloud_print_proxy_service.h"
18 #include "chrome/browser/printing/cloud_print/cloud_print_proxy_service_factory. h" 19 #include "chrome/browser/printing/cloud_print/cloud_print_proxy_service_factory. h"
19 #include "chrome/browser/printing/cloud_print/privet_confirm_api_flow.h" 20 #include "chrome/browser/printing/cloud_print/privet_confirm_api_flow.h"
20 #include "chrome/browser/printing/cloud_print/privet_constants.h" 21 #include "chrome/browser/printing/cloud_print/privet_constants.h"
21 #include "chrome/browser/printing/cloud_print/privet_device_lister_impl.h" 22 #include "chrome/browser/printing/cloud_print/privet_device_lister_impl.h"
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 const char kDictionaryKeyType[] = "type"; 56 const char kDictionaryKeyType[] = "type";
56 const char kDictionaryKeyIsWifi[] = "is_wifi"; 57 const char kDictionaryKeyIsWifi[] = "is_wifi";
57 const char kDictionaryKeyID[] = "id"; 58 const char kDictionaryKeyID[] = "id";
58 59
59 const char kKeyPrefixMDns[] = "MDns:"; 60 const char kKeyPrefixMDns[] = "MDns:";
60 61
61 int g_num_visible = 0; 62 int g_num_visible = 0;
62 63
63 const int kCloudDevicesPrivetVersion = 3; 64 const int kCloudDevicesPrivetVersion = 3;
64 65
65 scoped_ptr<base::DictionaryValue> CreateDeviceInfo( 66 std::unique_ptr<base::DictionaryValue> CreateDeviceInfo(
66 const CloudPrintPrinterList::Device& description) { 67 const CloudPrintPrinterList::Device& description) {
67 scoped_ptr<base::DictionaryValue> return_value(new base::DictionaryValue); 68 std::unique_ptr<base::DictionaryValue> return_value(
69 new base::DictionaryValue);
68 70
69 return_value->SetString(kDictionaryKeyID, description.id); 71 return_value->SetString(kDictionaryKeyID, description.id);
70 return_value->SetString(kDictionaryKeyDisplayName, description.display_name); 72 return_value->SetString(kDictionaryKeyDisplayName, description.display_name);
71 return_value->SetString(kDictionaryKeyDescription, description.description); 73 return_value->SetString(kDictionaryKeyDescription, description.description);
72 return_value->SetString(kDictionaryKeyType, "printer"); 74 return_value->SetString(kDictionaryKeyType, "printer");
73 75
74 return return_value; 76 return return_value;
75 } 77 }
76 78
77 void ReadDevicesList(const CloudPrintPrinterList::DeviceList& devices, 79 void ReadDevicesList(const CloudPrintPrinterList::DeviceList& devices,
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 void LocalDiscoveryUIHandler::HandleRequestDeviceList( 237 void LocalDiscoveryUIHandler::HandleRequestDeviceList(
236 const base::ListValue* args) { 238 const base::ListValue* args) {
237 failed_list_count_ = 0; 239 failed_list_count_ = 0;
238 succeded_list_count_ = 0; 240 succeded_list_count_ = 0;
239 cloud_devices_.clear(); 241 cloud_devices_.clear();
240 242
241 cloud_print_printer_list_ = CreateApiFlow(); 243 cloud_print_printer_list_ = CreateApiFlow();
242 244
243 if (cloud_print_printer_list_) { 245 if (cloud_print_printer_list_) {
244 cloud_print_printer_list_->Start( 246 cloud_print_printer_list_->Start(
245 make_scoped_ptr<GCDApiFlow::Request>(new CloudPrintPrinterList(this))); 247 base::WrapUnique<GCDApiFlow::Request>(new CloudPrintPrinterList(this)));
246 } 248 }
247 249
248 CheckListingDone(); 250 CheckListingDone();
249 } 251 }
250 252
251 void LocalDiscoveryUIHandler::HandleOpenCloudPrintURL( 253 void LocalDiscoveryUIHandler::HandleOpenCloudPrintURL(
252 const base::ListValue* args) { 254 const base::ListValue* args) {
253 std::string id; 255 std::string id;
254 bool rv = args->GetString(0, &id); 256 bool rv = args->GetString(0, &id);
255 DCHECK(rv); 257 DCHECK(rv);
(...skipping 10 matching lines...) Expand all
266 void LocalDiscoveryUIHandler::HandleShowSyncUI( 268 void LocalDiscoveryUIHandler::HandleShowSyncUI(
267 const base::ListValue* args) { 269 const base::ListValue* args) {
268 Browser* browser = chrome::FindBrowserWithWebContents( 270 Browser* browser = chrome::FindBrowserWithWebContents(
269 web_ui()->GetWebContents()); 271 web_ui()->GetWebContents());
270 DCHECK(browser); 272 DCHECK(browser);
271 chrome::ShowBrowserSignin( 273 chrome::ShowBrowserSignin(
272 browser, signin_metrics::AccessPoint::ACCESS_POINT_DEVICES_PAGE); 274 browser, signin_metrics::AccessPoint::ACCESS_POINT_DEVICES_PAGE);
273 } 275 }
274 276
275 void LocalDiscoveryUIHandler::StartRegisterHTTP( 277 void LocalDiscoveryUIHandler::StartRegisterHTTP(
276 scoped_ptr<cloud_print::PrivetHTTPClient> http_client) { 278 std::unique_ptr<cloud_print::PrivetHTTPClient> http_client) {
277 current_http_client_ = 279 current_http_client_ =
278 cloud_print::PrivetV1HTTPClient::CreateDefault(std::move(http_client)); 280 cloud_print::PrivetV1HTTPClient::CreateDefault(std::move(http_client));
279 281
280 std::string user = GetSyncAccount(); 282 std::string user = GetSyncAccount();
281 283
282 if (!current_http_client_) { 284 if (!current_http_client_) {
283 SendRegisterError(); 285 SendRegisterError();
284 return; 286 return;
285 } 287 }
286 288
(...skipping 11 matching lines...) Expand all
298 if (device_descriptions_.count(current_http_client_->GetName()) == 0) { 300 if (device_descriptions_.count(current_http_client_->GetName()) == 0) {
299 SendRegisterError(); 301 SendRegisterError();
300 return; 302 return;
301 } 303 }
302 304
303 confirm_api_call_flow_ = CreateApiFlow(); 305 confirm_api_call_flow_ = CreateApiFlow();
304 if (!confirm_api_call_flow_) { 306 if (!confirm_api_call_flow_) {
305 SendRegisterError(); 307 SendRegisterError();
306 return; 308 return;
307 } 309 }
308 confirm_api_call_flow_->Start( 310 confirm_api_call_flow_->Start(base::WrapUnique<GCDApiFlow::Request>(
309 make_scoped_ptr<GCDApiFlow::Request>( 311 new cloud_print::PrivetConfirmApiCallFlow(
310 new cloud_print::PrivetConfirmApiCallFlow( 312 token, base::Bind(&LocalDiscoveryUIHandler::OnConfirmDone,
311 token, 313 base::Unretained(this)))));
312 base::Bind(&LocalDiscoveryUIHandler::OnConfirmDone,
313 base::Unretained(this)))));
314 } 314 }
315 315
316 void LocalDiscoveryUIHandler::OnPrivetRegisterError( 316 void LocalDiscoveryUIHandler::OnPrivetRegisterError(
317 PrivetRegisterOperation* operation, 317 PrivetRegisterOperation* operation,
318 const std::string& action, 318 const std::string& action,
319 PrivetRegisterOperation::FailureReason reason, 319 PrivetRegisterOperation::FailureReason reason,
320 int printer_http_code, 320 int printer_http_code,
321 const base::DictionaryValue* json) { 321 const base::DictionaryValue* json) {
322 std::string error; 322 std::string error;
323 323
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
373 if (description.id.empty()) { 373 if (description.id.empty()) {
374 info.SetString(kDictionaryKeyServiceName, name); 374 info.SetString(kDictionaryKeyServiceName, name);
375 info.SetString(kDictionaryKeyDisplayName, description.name); 375 info.SetString(kDictionaryKeyDisplayName, description.name);
376 info.SetString(kDictionaryKeyDescription, description.description); 376 info.SetString(kDictionaryKeyDescription, description.description);
377 info.SetString(kDictionaryKeyType, description.type); 377 info.SetString(kDictionaryKeyType, description.type);
378 info.SetBoolean(kDictionaryKeyIsWifi, false); 378 info.SetBoolean(kDictionaryKeyIsWifi, false);
379 379
380 web_ui()->CallJavascriptFunction( 380 web_ui()->CallJavascriptFunction(
381 "local_discovery.onUnregisteredDeviceUpdate", service_key, info); 381 "local_discovery.onUnregisteredDeviceUpdate", service_key, info);
382 } else { 382 } else {
383 scoped_ptr<base::Value> null_value = base::Value::CreateNullValue(); 383 std::unique_ptr<base::Value> null_value = base::Value::CreateNullValue();
384 384
385 web_ui()->CallJavascriptFunction( 385 web_ui()->CallJavascriptFunction(
386 "local_discovery.onUnregisteredDeviceUpdate", service_key, *null_value); 386 "local_discovery.onUnregisteredDeviceUpdate", service_key, *null_value);
387 } 387 }
388 } 388 }
389 389
390 void LocalDiscoveryUIHandler::DeviceRemoved(const std::string& name) { 390 void LocalDiscoveryUIHandler::DeviceRemoved(const std::string& name) {
391 device_descriptions_.erase(name); 391 device_descriptions_.erase(name);
392 scoped_ptr<base::Value> null_value = base::Value::CreateNullValue(); 392 std::unique_ptr<base::Value> null_value = base::Value::CreateNullValue();
393 base::StringValue name_value(kKeyPrefixMDns + name); 393 base::StringValue name_value(kKeyPrefixMDns + name);
394 394
395 web_ui()->CallJavascriptFunction("local_discovery.onUnregisteredDeviceUpdate", 395 web_ui()->CallJavascriptFunction("local_discovery.onUnregisteredDeviceUpdate",
396 name_value, *null_value); 396 name_value, *null_value);
397 } 397 }
398 398
399 void LocalDiscoveryUIHandler::DeviceCacheFlushed() { 399 void LocalDiscoveryUIHandler::DeviceCacheFlushed() {
400 web_ui()->CallJavascriptFunction("local_discovery.onDeviceCacheFlushed"); 400 web_ui()->CallJavascriptFunction("local_discovery.onDeviceCacheFlushed");
401 privet_lister_->DiscoverNewDevices(false); 401 privet_lister_->DiscoverNewDevices(false);
402 } 402 }
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
518 local_ids.insert(i->second.id); 518 local_ids.insert(i->second.id);
519 } 519 }
520 520
521 ReadDevicesList(cloud_devices_, local_ids, &devices_list); 521 ReadDevicesList(cloud_devices_, local_ids, &devices_list);
522 522
523 web_ui()->CallJavascriptFunction( 523 web_ui()->CallJavascriptFunction(
524 "local_discovery.onCloudDeviceListAvailable", devices_list); 524 "local_discovery.onCloudDeviceListAvailable", devices_list);
525 cloud_print_printer_list_.reset(); 525 cloud_print_printer_list_.reset();
526 } 526 }
527 527
528 scoped_ptr<GCDApiFlow> LocalDiscoveryUIHandler::CreateApiFlow() { 528 std::unique_ptr<GCDApiFlow> LocalDiscoveryUIHandler::CreateApiFlow() {
529 Profile* profile = Profile::FromWebUI(web_ui()); 529 Profile* profile = Profile::FromWebUI(web_ui());
530 if (!profile) 530 if (!profile)
531 return scoped_ptr<GCDApiFlow>(); 531 return std::unique_ptr<GCDApiFlow>();
532 ProfileOAuth2TokenService* token_service = 532 ProfileOAuth2TokenService* token_service =
533 ProfileOAuth2TokenServiceFactory::GetForProfile(profile); 533 ProfileOAuth2TokenServiceFactory::GetForProfile(profile);
534 if (!token_service) 534 if (!token_service)
535 return scoped_ptr<GCDApiFlow>(); 535 return std::unique_ptr<GCDApiFlow>();
536 SigninManagerBase* signin_manager = 536 SigninManagerBase* signin_manager =
537 SigninManagerFactory::GetInstance()->GetForProfile(profile); 537 SigninManagerFactory::GetInstance()->GetForProfile(profile);
538 if (!signin_manager) 538 if (!signin_manager)
539 return scoped_ptr<GCDApiFlow>(); 539 return std::unique_ptr<GCDApiFlow>();
540 return GCDApiFlow::Create(profile->GetRequestContext(), 540 return GCDApiFlow::Create(profile->GetRequestContext(),
541 token_service, 541 token_service,
542 signin_manager->GetAuthenticatedAccountId()); 542 signin_manager->GetAuthenticatedAccountId());
543 } 543 }
544 544
545 bool LocalDiscoveryUIHandler::IsUserSupervisedOrOffTheRecord() { 545 bool LocalDiscoveryUIHandler::IsUserSupervisedOrOffTheRecord() {
546 Profile* profile = Profile::FromWebUI(web_ui()); 546 Profile* profile = Profile::FromWebUI(web_ui());
547 547
548 return profile->IsSupervised() || profile->IsOffTheRecord(); 548 return profile->IsSupervised() || profile->IsOffTheRecord();
549 } 549 }
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
650 650
651 void LocalDiscoveryUIHandler::RefreshCloudPrintStatusFromService() { 651 void LocalDiscoveryUIHandler::RefreshCloudPrintStatusFromService() {
652 if (cloud_print_connector_ui_enabled_) 652 if (cloud_print_connector_ui_enabled_)
653 CloudPrintProxyServiceFactory::GetForProfile(Profile::FromWebUI(web_ui()))-> 653 CloudPrintProxyServiceFactory::GetForProfile(Profile::FromWebUI(web_ui()))->
654 RefreshStatusFromService(); 654 RefreshStatusFromService();
655 } 655 }
656 656
657 #endif // cloud print connector option stuff 657 #endif // cloud print connector option stuff
658 658
659 } // namespace local_discovery 659 } // namespace local_discovery
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698