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

Side by Side Diff: chrome/browser/chrome_to_mobile_service.cc

Issue 10392192: Remove content::URLFetcherDelegate (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: More cleanup Created 8 years, 7 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) 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/browser/chrome_to_mobile_service.h" 5 #include "chrome/browser/chrome_to_mobile_service.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/json/json_reader.h" 10 #include "base/json/json_reader.h"
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 // Call this as a BlockingPoolTask to avoid the FILE thread. 128 // Call this as a BlockingPoolTask to avoid the FILE thread.
129 void CreateSnapshotFile(CreateSnapshotFileCallback callback) { 129 void CreateSnapshotFile(CreateSnapshotFileCallback callback) {
130 FilePath snapshot; 130 FilePath snapshot;
131 bool success = file_util::CreateTemporaryFile(&snapshot); 131 bool success = file_util::CreateTemporaryFile(&snapshot);
132 content::BrowserThread::PostTask(content::BrowserThread::UI, FROM_HERE, 132 content::BrowserThread::PostTask(content::BrowserThread::UI, FROM_HERE,
133 base::Bind(callback, snapshot, success)); 133 base::Bind(callback, snapshot, success));
134 } 134 }
135 135
136 // Send snapshot file contents as POST data in a job submit request. 136 // Send snapshot file contents as POST data in a job submit request.
137 // Call this as a BlockingPoolSequencedTask (before posting DeleteSnapshotFile). 137 // Call this as a BlockingPoolSequencedTask (before posting DeleteSnapshotFile).
138 void SubmitSnapshotFile(content::URLFetcher* request, 138 void SubmitSnapshotFile(net::URLFetcher* request,
139 const ChromeToMobileService::RequestData& data) { 139 const ChromeToMobileService::RequestData& data) {
140 std::string file; 140 std::string file;
141 if (file_util::ReadFileToString(data.snapshot_path, &file) && !file.empty()) { 141 if (file_util::ReadFileToString(data.snapshot_path, &file) && !file.empty()) {
142 std::string post_data, mime_boundary; 142 std::string post_data, mime_boundary;
143 cloud_print::CreateMimeBoundaryForUpload(&mime_boundary); 143 cloud_print::CreateMimeBoundaryForUpload(&mime_boundary);
144 cloud_print::AddMultipartValueForUpload("printerid", 144 cloud_print::AddMultipartValueForUpload("printerid",
145 UTF16ToUTF8(data.mobile_id), mime_boundary, std::string(), &post_data); 145 UTF16ToUTF8(data.mobile_id), mime_boundary, std::string(), &post_data);
146 cloud_print::AddMultipartValueForUpload("tag", GetJobString(data), 146 cloud_print::AddMultipartValueForUpload("tag", GetJobString(data),
147 mime_boundary, std::string(), &post_data); 147 mime_boundary, std::string(), &post_data);
148 cloud_print::AddMultipartValueForUpload("title", UTF16ToUTF8(data.title), 148 cloud_print::AddMultipartValueForUpload("title", UTF16ToUTF8(data.title),
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 data.mobile_id = mobile_id; 246 data.mobile_id = mobile_id;
247 content::WebContents* web_contents = 247 content::WebContents* web_contents =
248 browser::FindLastActiveWithProfile(profile_)->GetSelectedWebContents(); 248 browser::FindLastActiveWithProfile(profile_)->GetSelectedWebContents();
249 data.url = web_contents->GetURL(); 249 data.url = web_contents->GetURL();
250 data.title = web_contents->GetTitle(); 250 data.title = web_contents->GetTitle();
251 data.snapshot_path = snapshot; 251 data.snapshot_path = snapshot;
252 bool send_snapshot = !snapshot.empty(); 252 bool send_snapshot = !snapshot.empty();
253 data.snapshot_id = send_snapshot ? guid::GenerateGUID() : std::string(); 253 data.snapshot_id = send_snapshot ? guid::GenerateGUID() : std::string();
254 data.type = send_snapshot ? DELAYED_SNAPSHOT : URL; 254 data.type = send_snapshot ? DELAYED_SNAPSHOT : URL;
255 255
256 content::URLFetcher* submit_url = CreateRequest(data); 256 net::URLFetcher* submit_url = CreateRequest(data);
257 request_observer_map_[submit_url] = observer; 257 request_observer_map_[submit_url] = observer;
258 submit_url->Start(); 258 submit_url->Start();
259 259
260 if (send_snapshot) { 260 if (send_snapshot) {
261 LogMetric(SENDING_SNAPSHOT); 261 LogMetric(SENDING_SNAPSHOT);
262 262
263 data.type = SNAPSHOT; 263 data.type = SNAPSHOT;
264 content::URLFetcher* submit_snapshot = CreateRequest(data); 264 net::URLFetcher* submit_snapshot = CreateRequest(data);
265 request_observer_map_[submit_snapshot] = observer; 265 request_observer_map_[submit_snapshot] = observer;
266 content::BrowserThread::PostBlockingPoolSequencedTask( 266 content::BrowserThread::PostBlockingPoolSequencedTask(
267 data.snapshot_path.AsUTF8Unsafe(), FROM_HERE, 267 data.snapshot_path.AsUTF8Unsafe(), FROM_HERE,
268 base::Bind(&SubmitSnapshotFile, submit_snapshot, data)); 268 base::Bind(&SubmitSnapshotFile, submit_snapshot, data));
269 } 269 }
270 } 270 }
271 271
272 void ChromeToMobileService::DeleteSnapshot(const FilePath& snapshot) { 272 void ChromeToMobileService::DeleteSnapshot(const FilePath& snapshot) {
273 DCHECK(snapshot.empty() || snapshots_.find(snapshot) != snapshots_.end()); 273 DCHECK(snapshot.empty() || snapshots_.find(snapshot) != snapshots_.end());
274 if (snapshots_.find(snapshot) != snapshots_.end()) { 274 if (snapshots_.find(snapshot) != snapshots_.end()) {
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 if (success && browser && browser->GetSelectedWebContents()) { 335 if (success && browser && browser->GetSelectedWebContents()) {
336 // Generate the snapshot and have the observer be called back on completion. 336 // Generate the snapshot and have the observer be called back on completion.
337 browser->GetSelectedWebContents()->GenerateMHTML(path, 337 browser->GetSelectedWebContents()->GenerateMHTML(path,
338 base::Bind(&Observer::SnapshotGenerated, observer)); 338 base::Bind(&Observer::SnapshotGenerated, observer));
339 } else if (observer.get()) { 339 } else if (observer.get()) {
340 // Signal snapshot generation failure. 340 // Signal snapshot generation failure.
341 observer->SnapshotGenerated(FilePath(), 0); 341 observer->SnapshotGenerated(FilePath(), 0);
342 } 342 }
343 } 343 }
344 344
345 content::URLFetcher* ChromeToMobileService::CreateRequest( 345 net::URLFetcher* ChromeToMobileService::CreateRequest(
346 const RequestData& data) { 346 const RequestData& data) {
347 bool get = data.type != SNAPSHOT; 347 bool get = data.type != SNAPSHOT;
348 GURL service_url(cloud_print_url_->GetCloudPrintServiceURL()); 348 GURL service_url(cloud_print_url_->GetCloudPrintServiceURL());
349 content::URLFetcher* request = content::URLFetcher::Create( 349 net::URLFetcher* request = content::URLFetcher::Create(
350 data.type == SEARCH ? GetSearchURL(service_url) : 350 data.type == SEARCH ? GetSearchURL(service_url) :
351 GetSubmitURL(service_url, data), 351 GetSubmitURL(service_url, data),
352 get ? content::URLFetcher::GET : content::URLFetcher::POST, this); 352 get ? content::URLFetcher::GET : content::URLFetcher::POST, this);
353 request->SetRequestContext(profile_->GetRequestContext()); 353 request->SetRequestContext(profile_->GetRequestContext());
354 request->SetMaxRetries(kMaxRetries); 354 request->SetMaxRetries(kMaxRetries);
355 request->SetExtraRequestHeaders("Authorization: OAuth " + 355 request->SetExtraRequestHeaders("Authorization: OAuth " +
356 access_token_ + "\r\n" + cloud_print::kChromeCloudPrintProxyHeader); 356 access_token_ + "\r\n" + cloud_print::kChromeCloudPrintProxyHeader);
357 request->SetLoadFlags(net::LOAD_DO_NOT_SEND_COOKIES | 357 request->SetLoadFlags(net::LOAD_DO_NOT_SEND_COOKIES |
358 net::LOAD_DO_NOT_SAVE_COOKIES); 358 net::LOAD_DO_NOT_SAVE_COOKIES);
359 return request; 359 return request;
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
510 510
511 // Ensure a second response is not sent after reporting failure below. 511 // Ensure a second response is not sent after reporting failure below.
512 request_observer_map_.erase(other); 512 request_observer_map_.erase(other);
513 break; 513 break;
514 } 514 }
515 } 515 }
516 516
517 LogMetric(success ? SEND_SUCCESS : SEND_ERROR); 517 LogMetric(success ? SEND_SUCCESS : SEND_ERROR);
518 observer->OnSendComplete(success); 518 observer->OnSendComplete(success);
519 } 519 }
OLDNEW
« no previous file with comments | « chrome/browser/chrome_to_mobile_service.h ('k') | chrome/browser/chromeos/customization_document.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698