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

Side by Side Diff: components/certificate_transparency/log_proof_fetcher.cc

Issue 1921973002: Convert //components/[a-e]* from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "components/certificate_transparency/log_proof_fetcher.h" 5 #include "components/certificate_transparency/log_proof_fetcher.h"
6 6
7 #include <iterator> 7 #include <iterator>
8 #include <memory>
8 9
9 #include "base/callback_helpers.h" 10 #include "base/callback_helpers.h"
10 #include "base/format_macros.h" 11 #include "base/format_macros.h"
11 #include "base/logging.h" 12 #include "base/logging.h"
12 #include "base/memory/ref_counted.h" 13 #include "base/memory/ref_counted.h"
13 #include "base/numerics/safe_conversions.h" 14 #include "base/numerics/safe_conversions.h"
14 #include "base/stl_util.h" 15 #include "base/stl_util.h"
15 #include "base/strings/stringprintf.h" 16 #include "base/strings/stringprintf.h"
16 #include "base/values.h" 17 #include "base/values.h"
17 #include "components/safe_json/safe_json_parser.h" 18 #include "components/safe_json/safe_json_parser.h"
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 void StartNextReadLoop(); 65 void StartNextReadLoop();
65 66
66 // Invokes the success callback. After this method is called, the LogFetcher 67 // Invokes the success callback. After this method is called, the LogFetcher
67 // is deleted and no longer safe to call. 68 // is deleted and no longer safe to call.
68 void RequestComplete(); 69 void RequestComplete();
69 70
70 // Invokes the failure callback with the supplied error information. 71 // Invokes the failure callback with the supplied error information.
71 // After this method the LogFetcher is deleted and no longer safe to call. 72 // After this method the LogFetcher is deleted and no longer safe to call.
72 void InvokeFailureCallback(int net_error, int http_response_code); 73 void InvokeFailureCallback(int net_error, int http_response_code);
73 74
74 scoped_ptr<net::URLRequest> url_request_; 75 std::unique_ptr<net::URLRequest> url_request_;
75 const GURL request_url_; 76 const GURL request_url_;
76 base::Closure success_callback_; 77 base::Closure success_callback_;
77 FailureCallback failure_callback_; 78 FailureCallback failure_callback_;
78 scoped_refptr<net::IOBufferWithSize> response_buffer_; 79 scoped_refptr<net::IOBufferWithSize> response_buffer_;
79 std::string assembled_response_; 80 std::string assembled_response_;
80 81
81 DISALLOW_COPY_AND_ASSIGN(LogFetcher); 82 DISALLOW_COPY_AND_ASSIGN(LogFetcher);
82 }; 83 };
83 84
84 LogFetcher::LogFetcher(net::URLRequestContext* request_context, 85 LogFetcher::LogFetcher(net::URLRequestContext* request_context,
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 // handing the parsed JSON to HandleParsedJson, which is request-specific). 229 // handing the parsed JSON to HandleParsedJson, which is request-specific).
229 void HandleFetchCompletion(); 230 void HandleFetchCompletion();
230 231
231 // Handle network failure to complete the request to the log, by invoking 232 // Handle network failure to complete the request to the log, by invoking
232 // the |done_callback_|. 233 // the |done_callback_|.
233 virtual void HandleNetFailure(int net_error, int http_response_code); 234 virtual void HandleNetFailure(int net_error, int http_response_code);
234 235
235 protected: 236 protected:
236 // Handle successful parsing of JSON by invoking HandleParsedJson, then 237 // Handle successful parsing of JSON by invoking HandleParsedJson, then
237 // invoking the |done_callback_| with the returned Closure. 238 // invoking the |done_callback_| with the returned Closure.
238 void OnJsonParseSuccess(scoped_ptr<base::Value> parsed_json); 239 void OnJsonParseSuccess(std::unique_ptr<base::Value> parsed_json);
239 240
240 // Handle failure to parse the JSON by invoking HandleJsonParseFailure, then 241 // Handle failure to parse the JSON by invoking HandleJsonParseFailure, then
241 // invoking the |done_callback_| with the returned Closure. 242 // invoking the |done_callback_| with the returned Closure.
242 void OnJsonParseError(const std::string& error); 243 void OnJsonParseError(const std::string& error);
243 244
244 // Handle respones JSON that parsed successfully, usually by 245 // Handle respones JSON that parsed successfully, usually by
245 // returning the success callback bound to parsed values as a Closure. 246 // returning the success callback bound to parsed values as a Closure.
246 virtual base::Closure HandleParsedJson(const base::Value& parsed_json) = 0; 247 virtual base::Closure HandleParsedJson(const base::Value& parsed_json) = 0;
247 248
248 // Handle failure to parse response JSON, usually by returning the failure 249 // Handle failure to parse response JSON, usually by returning the failure
249 // callback bound to a request-specific net error code. 250 // callback bound to a request-specific net error code.
250 virtual base::Closure HandleJsonParseFailure( 251 virtual base::Closure HandleJsonParseFailure(
251 const std::string& json_error) = 0; 252 const std::string& json_error) = 0;
252 253
253 const std::string log_id_; 254 const std::string log_id_;
254 LogProofFetcher::FetchFailedCallback failure_callback_; 255 LogProofFetcher::FetchFailedCallback failure_callback_;
255 scoped_ptr<LogFetcher> fetcher_; 256 std::unique_ptr<LogFetcher> fetcher_;
256 DoneCallback done_callback_; 257 DoneCallback done_callback_;
257 258
258 base::WeakPtrFactory<LogResponseHandler> weak_factory_; 259 base::WeakPtrFactory<LogResponseHandler> weak_factory_;
259 }; 260 };
260 261
261 LogResponseHandler::LogResponseHandler( 262 LogResponseHandler::LogResponseHandler(
262 const std::string& log_id, 263 const std::string& log_id,
263 const LogProofFetcher::FetchFailedCallback& failure_callback) 264 const LogProofFetcher::FetchFailedCallback& failure_callback)
264 : log_id_(log_id), 265 : log_id_(log_id),
265 failure_callback_(failure_callback), 266 failure_callback_(failure_callback),
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
301 LogProofFetcher::FetchFailedCallback failure_callback = 302 LogProofFetcher::FetchFailedCallback failure_callback =
302 base::ResetAndReturn(&failure_callback_); 303 base::ResetAndReturn(&failure_callback_);
303 304
304 base::ResetAndReturn(&done_callback_) 305 base::ResetAndReturn(&done_callback_)
305 .Run( 306 .Run(
306 base::Bind(failure_callback, log_id_, net_error, http_response_code)); 307 base::Bind(failure_callback, log_id_, net_error, http_response_code));
307 // NOTE: |this| is not valid after the |done_callback_| is invoked. 308 // NOTE: |this| is not valid after the |done_callback_| is invoked.
308 } 309 }
309 310
310 void LogResponseHandler::OnJsonParseSuccess( 311 void LogResponseHandler::OnJsonParseSuccess(
311 scoped_ptr<base::Value> parsed_json) { 312 std::unique_ptr<base::Value> parsed_json) {
312 base::ResetAndReturn(&done_callback_).Run(HandleParsedJson(*parsed_json)); 313 base::ResetAndReturn(&done_callback_).Run(HandleParsedJson(*parsed_json));
313 // NOTE: |this| is not valid after the |done_callback_| is invoked. 314 // NOTE: |this| is not valid after the |done_callback_| is invoked.
314 } 315 }
315 316
316 void LogResponseHandler::OnJsonParseError(const std::string& error) { 317 void LogResponseHandler::OnJsonParseError(const std::string& error) {
317 base::ResetAndReturn(&done_callback_).Run(HandleJsonParseFailure(error)); 318 base::ResetAndReturn(&done_callback_).Run(HandleJsonParseFailure(error));
318 // NOTE: |this| is not valid after the |done_callback_| is invoked. 319 // NOTE: |this| is not valid after the |done_callback_| is invoked.
319 } 320 }
320 321
321 class GetSTHLogResponseHandler : public LogResponseHandler { 322 class GetSTHLogResponseHandler : public LogResponseHandler {
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
436 const base::Closure& requestor_callback) { 437 const base::Closure& requestor_callback) {
437 auto it = inflight_fetches_.find(log_handler); 438 auto it = inflight_fetches_.find(log_handler);
438 DCHECK(it != inflight_fetches_.end()); 439 DCHECK(it != inflight_fetches_.end());
439 440
440 delete *it; 441 delete *it;
441 inflight_fetches_.erase(it); 442 inflight_fetches_.erase(it);
442 requestor_callback.Run(); 443 requestor_callback.Run();
443 } 444 }
444 445
445 } // namespace certificate_transparency 446 } // namespace certificate_transparency
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698