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

Side by Side Diff: cloud_print/service/service_state.cc

Issue 11419034: net: Move ownership of UploadDataStream from URLRequestHttpJob to URLRequest (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Fix ASAN Created 8 years, 1 month 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 "cloud_print/service/service_state.h" 5 #include "cloud_print/service/service_state.h"
6 6
7 #include "base/json/json_reader.h" 7 #include "base/json/json_reader.h"
8 #include "base/json/json_writer.h" 8 #include "base/json/json_writer.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
11 #include "base/string_util.h" 11 #include "base/string_util.h"
12 #include "base/utf_string_conversions.h" 12 #include "base/utf_string_conversions.h"
13 #include "net/base/escape.h" 13 #include "net/base/escape.h"
14 #include "net/base/io_buffer.h" 14 #include "net/base/io_buffer.h"
15 #include "net/base/load_flags.h" 15 #include "net/base/load_flags.h"
16 #include "net/base/upload_data.h"
16 #include "net/url_request/url_request.h" 17 #include "net/url_request/url_request.h"
17 #include "net/url_request/url_request_context.h" 18 #include "net/url_request/url_request_context.h"
18 #include "net/url_request/url_request_context_builder.h" 19 #include "net/url_request/url_request_context_builder.h"
19 20
20 namespace { 21 namespace {
21 22
22 const char kCloudPrintJsonName[] = "cloud_print"; 23 const char kCloudPrintJsonName[] = "cloud_print";
23 const char kEnabledOptionName[] = "enabled"; 24 const char kEnabledOptionName[] = "enabled";
24 25
25 const char kEmailOptionName[] = "email"; 26 const char kEmailOptionName[] = "email";
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 post_body += "&Passwd=" + net::EscapeUrlEncodedData(password, true); 172 post_body += "&Passwd=" + net::EscapeUrlEncodedData(password, true);
172 post_body += "&source=" + net::EscapeUrlEncodedData("CP-Service", true); 173 post_body += "&source=" + net::EscapeUrlEncodedData("CP-Service", true);
173 post_body += "&service=" + net::EscapeUrlEncodedData(service, true); 174 post_body += "&service=" + net::EscapeUrlEncodedData(service, true);
174 175
175 net::URLRequest request(url, &fetcher_delegate, context.get()); 176 net::URLRequest request(url, &fetcher_delegate, context.get());
176 int load_flags = request.load_flags(); 177 int load_flags = request.load_flags();
177 load_flags = load_flags | net::LOAD_DO_NOT_SEND_COOKIES; 178 load_flags = load_flags | net::LOAD_DO_NOT_SEND_COOKIES;
178 load_flags = load_flags | net::LOAD_DO_NOT_SAVE_COOKIES; 179 load_flags = load_flags | net::LOAD_DO_NOT_SAVE_COOKIES;
179 request.set_load_flags(load_flags); 180 request.set_load_flags(load_flags);
180 181
181 request.AppendBytesToUpload(post_body.c_str(), post_body.size()); 182 scoped_refptr<net::UploadData> upload_data(new net::UploadData());
183 upload_data->AppendBytes(post_body.c_str(), post_body.size());
184 request.set_upload(upload_data);
182 request.SetExtraRequestHeaderByName( 185 request.SetExtraRequestHeaderByName(
183 "Content-Type", "application/x-www-form-urlencoded", true); 186 "Content-Type", "application/x-www-form-urlencoded", true);
184 request.set_method("POST"); 187 request.set_method("POST");
185 request.Start(); 188 request.Start();
186 189
187 MessageLoop::current()->PostDelayedTask(FROM_HERE, 190 MessageLoop::current()->PostDelayedTask(FROM_HERE,
188 MessageLoop::QuitClosure(), 191 MessageLoop::QuitClosure(),
189 base::TimeDelta::FromMilliseconds(kRequestTimeoutMs)); 192 base::TimeDelta::FromMilliseconds(kRequestTimeoutMs));
190 193
191 MessageLoop::current()->Run(); 194 MessageLoop::current()->Run();
(...skipping 14 matching lines...) Expand all
206 const std::string& password, 209 const std::string& password,
207 const std::string& proxy_id) { 210 const std::string& proxy_id) {
208 robot_token_.clear(); 211 robot_token_.clear();
209 robot_email_.clear(); 212 robot_email_.clear();
210 email_ = email; 213 email_ = email;
211 proxy_id_ = proxy_id; 214 proxy_id_ = proxy_id;
212 auth_token_ = LoginToGoogle("cloudprint", email_, password); 215 auth_token_ = LoginToGoogle("cloudprint", email_, password);
213 xmpp_auth_token_ = LoginToGoogle("chromiumsync", email_, password); 216 xmpp_auth_token_ = LoginToGoogle("chromiumsync", email_, password);
214 return IsValid(); 217 return IsValid();
215 } 218 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698