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

Side by Side Diff: chrome/service/cloud_print/cloud_print_connector.cc

Issue 2888763004: Network traffic annotation added to CloudPrintUrlFetcher. (Closed)
Patch Set: nits Created 3 years, 6 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/service/cloud_print/cloud_print_connector.h" 5 #include "chrome/service/cloud_print/cloud_print_connector.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
11 #include "base/location.h" 11 #include "base/location.h"
12 #include "base/md5.h" 12 #include "base/md5.h"
13 #include "base/rand_util.h" 13 #include "base/rand_util.h"
14 #include "base/single_thread_task_runner.h" 14 #include "base/single_thread_task_runner.h"
15 #include "base/strings/string_number_conversions.h" 15 #include "base/strings/string_number_conversions.h"
16 #include "base/strings/string_split.h" 16 #include "base/strings/string_split.h"
17 #include "base/strings/string_util.h" 17 #include "base/strings/string_util.h"
18 #include "base/strings/stringprintf.h" 18 #include "base/strings/stringprintf.h"
19 #include "base/strings/utf_string_conversions.h" 19 #include "base/strings/utf_string_conversions.h"
20 #include "base/threading/thread_task_runner_handle.h" 20 #include "base/threading/thread_task_runner_handle.h"
21 #include "base/values.h" 21 #include "base/values.h"
22 #include "chrome/common/cloud_print/cloud_print_constants.h" 22 #include "chrome/common/cloud_print/cloud_print_constants.h"
23 #include "chrome/common/cloud_print/cloud_print_helpers.h" 23 #include "chrome/common/cloud_print/cloud_print_helpers.h"
24 #include "chrome/grit/generated_resources.h" 24 #include "chrome/grit/generated_resources.h"
25 #include "chrome/service/cloud_print/cloud_print_service_helpers.h" 25 #include "chrome/service/cloud_print/cloud_print_service_helpers.h"
26 #include "net/base/mime_util.h" 26 #include "net/base/mime_util.h"
27 #include "net/traffic_annotation/network_traffic_annotation.h"
27 #include "ui/base/l10n/l10n_util.h" 28 #include "ui/base/l10n/l10n_util.h"
28 29
29 namespace cloud_print { 30 namespace cloud_print {
30 31
31 CloudPrintConnector::CloudPrintConnector(Client* client, 32 CloudPrintConnector::CloudPrintConnector(
32 const ConnectorSettings& settings) 33 Client* client,
33 : client_(client), 34 const ConnectorSettings& settings,
34 next_response_handler_(NULL), 35 const net::PartialNetworkTrafficAnnotationTag& partial_traffic_annotation)
35 stats_ptr_factory_(this) { 36 : client_(client),
37 next_response_handler_(NULL),
38 partial_traffic_annotation_(partial_traffic_annotation),
39 stats_ptr_factory_(this) {
36 settings_.CopyFrom(settings); 40 settings_.CopyFrom(settings);
37 } 41 }
38 42
39 bool CloudPrintConnector::InitPrintSystem() { 43 bool CloudPrintConnector::InitPrintSystem() {
40 if (print_system_.get()) 44 if (print_system_.get())
41 return true; 45 return true;
42 print_system_ = PrintSystem::CreateInstance( 46 print_system_ = PrintSystem::CreateInstance(
43 settings_.print_system_settings()); 47 settings_.print_system_settings());
44 if (!print_system_.get()) { 48 if (!print_system_.get()) {
45 NOTREACHED(); 49 NOTREACHED();
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 } 333 }
330 ContinuePendingTaskProcessing(); // Continue processing background tasks. 334 ContinuePendingTaskProcessing(); // Continue processing background tasks.
331 return CloudPrintURLFetcher::STOP_PROCESSING; 335 return CloudPrintURLFetcher::STOP_PROCESSING;
332 } 336 }
333 337
334 338
335 void CloudPrintConnector::StartGetRequest(const GURL& url, 339 void CloudPrintConnector::StartGetRequest(const GURL& url,
336 int max_retries, 340 int max_retries,
337 ResponseHandler handler) { 341 ResponseHandler handler) {
338 next_response_handler_ = handler; 342 next_response_handler_ = handler;
339 request_ = CloudPrintURLFetcher::Create(); 343 request_ = CloudPrintURLFetcher::Create(partial_traffic_annotation_);
340 request_->StartGetRequest(CloudPrintURLFetcher::REQUEST_UPDATE_JOB, 344 request_->StartGetRequest(CloudPrintURLFetcher::REQUEST_UPDATE_JOB,
341 url, this, max_retries, std::string()); 345 url, this, max_retries, std::string());
342 } 346 }
343 347
344 void CloudPrintConnector::StartPostRequest( 348 void CloudPrintConnector::StartPostRequest(
345 CloudPrintURLFetcher::RequestType type, 349 CloudPrintURLFetcher::RequestType type,
346 const GURL& url, 350 const GURL& url,
347 int max_retries, 351 int max_retries,
348 const std::string& mime_type, 352 const std::string& mime_type,
349 const std::string& post_data, 353 const std::string& post_data,
350 ResponseHandler handler) { 354 ResponseHandler handler) {
351 next_response_handler_ = handler; 355 next_response_handler_ = handler;
352 request_ = CloudPrintURLFetcher::Create(); 356 request_ = CloudPrintURLFetcher::Create(partial_traffic_annotation_);
353 request_->StartPostRequest( 357 request_->StartPostRequest(
354 type, url, this, max_retries, mime_type, post_data, std::string()); 358 type, url, this, max_retries, mime_type, post_data, std::string());
355 } 359 }
356 360
357 void CloudPrintConnector::ReportUserMessage(const std::string& message_id, 361 void CloudPrintConnector::ReportUserMessage(const std::string& message_id,
358 const std::string& failure_msg) { 362 const std::string& failure_msg) {
359 // This is a fire and forget type of function. 363 // This is a fire and forget type of function.
360 // Result of this request will be ignored. 364 // Result of this request will be ignored.
361 std::string mime_boundary = net::GenerateMimeMultipartBoundary(); 365 std::string mime_boundary = net::GenerateMimeMultipartBoundary();
362 GURL url = GetUrlForUserMessage(settings_.server_url(), message_id); 366 GURL url = GetUrlForUserMessage(settings_.server_url(), message_id);
363 std::string post_data; 367 std::string post_data;
364 net::AddMultipartValueForUpload(kMessageTextValue, failure_msg, mime_boundary, 368 net::AddMultipartValueForUpload(kMessageTextValue, failure_msg, mime_boundary,
365 std::string(), &post_data); 369 std::string(), &post_data);
366 net::AddMultipartFinalDelimiterForUpload(mime_boundary, &post_data); 370 net::AddMultipartFinalDelimiterForUpload(mime_boundary, &post_data);
367 std::string mime_type("multipart/form-data; boundary="); 371 std::string mime_type("multipart/form-data; boundary=");
368 mime_type += mime_boundary; 372 mime_type += mime_boundary;
369 user_message_request_ = CloudPrintURLFetcher::Create(); 373 user_message_request_ =
374 CloudPrintURLFetcher::Create(partial_traffic_annotation_);
370 user_message_request_->StartPostRequest( 375 user_message_request_->StartPostRequest(
371 CloudPrintURLFetcher::REQUEST_USER_MESSAGE, url, this, 1, mime_type, 376 CloudPrintURLFetcher::REQUEST_USER_MESSAGE, url, this, 1, mime_type,
372 post_data, std::string()); 377 post_data, std::string());
373 } 378 }
374 379
375 bool CloudPrintConnector::RemovePrinterFromList( 380 bool CloudPrintConnector::RemovePrinterFromList(
376 const std::string& printer_name, 381 const std::string& printer_name,
377 printing::PrinterList* printer_list) { 382 printing::PrinterList* printer_list) {
378 for (printing::PrinterList::iterator it = printer_list->begin(); 383 for (printing::PrinterList::iterator it = printer_list->begin();
379 it != printer_list->end(); ++it) { 384 it != printer_list->end(); ++it) {
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after
644 kCloudPrintAPIMaxRetryCount, mime_type, post_data, 649 kCloudPrintAPIMaxRetryCount, mime_type, post_data,
645 &CloudPrintConnector::HandleRegisterPrinterResponse); 650 &CloudPrintConnector::HandleRegisterPrinterResponse);
646 } 651 }
647 652
648 bool CloudPrintConnector::IsSamePrinter(const std::string& name1, 653 bool CloudPrintConnector::IsSamePrinter(const std::string& name1,
649 const std::string& name2) const { 654 const std::string& name2) const {
650 return base::EqualsCaseInsensitiveASCII(name1, name2); 655 return base::EqualsCaseInsensitiveASCII(name1, name2);
651 } 656 }
652 657
653 } // namespace cloud_print 658 } // namespace cloud_print
OLDNEW
« no previous file with comments | « chrome/service/cloud_print/cloud_print_connector.h ('k') | chrome/service/cloud_print/cloud_print_proxy.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698