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

Side by Side Diff: chrome/browser/safe_browsing/protocol_manager.h

Issue 1870003002: Convert //chrome/browser/safe_browsing from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase and address comments 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 (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 #ifndef CHROME_BROWSER_SAFE_BROWSING_PROTOCOL_MANAGER_H_ 5 #ifndef CHROME_BROWSER_SAFE_BROWSING_PROTOCOL_MANAGER_H_
6 #define CHROME_BROWSER_SAFE_BROWSING_PROTOCOL_MANAGER_H_ 6 #define CHROME_BROWSER_SAFE_BROWSING_PROTOCOL_MANAGER_H_
7 7
8 // A class that implements Chrome's interface with the SafeBrowsing protocol. 8 // A class that implements Chrome's interface with the SafeBrowsing protocol.
9 // See https://developers.google.com/safe-browsing/developers_guide_v2 for 9 // See https://developers.google.com/safe-browsing/developers_guide_v2 for
10 // protocol details. 10 // protocol details.
11 // 11 //
12 // The SafeBrowsingProtocolManager handles formatting and making requests of, 12 // The SafeBrowsingProtocolManager handles formatting and making requests of,
13 // and handling responses from, Google's SafeBrowsing servers. This class uses 13 // and handling responses from, Google's SafeBrowsing servers. This class uses
14 // The SafeBrowsingProtocolParser class to do the actual parsing. 14 // The SafeBrowsingProtocolParser class to do the actual parsing.
15 15
16 #include <stddef.h>
17
16 #include <deque> 18 #include <deque>
19 #include <memory>
17 #include <set> 20 #include <set>
18 #include <string> 21 #include <string>
19 #include <vector> 22 #include <vector>
20 23
21 #include <stddef.h>
22
23 #include "base/containers/hash_tables.h" 24 #include "base/containers/hash_tables.h"
24 #include "base/gtest_prod_util.h" 25 #include "base/gtest_prod_util.h"
25 #include "base/macros.h" 26 #include "base/macros.h"
26 #include "base/memory/scoped_ptr.h"
27 #include "base/threading/non_thread_safe.h" 27 #include "base/threading/non_thread_safe.h"
28 #include "base/time/time.h" 28 #include "base/time/time.h"
29 #include "base/timer/timer.h" 29 #include "base/timer/timer.h"
30 #include "chrome/browser/safe_browsing/chunk_range.h" 30 #include "chrome/browser/safe_browsing/chunk_range.h"
31 #include "chrome/browser/safe_browsing/protocol_manager_helper.h" 31 #include "chrome/browser/safe_browsing/protocol_manager_helper.h"
32 #include "chrome/browser/safe_browsing/protocol_parser.h" 32 #include "chrome/browser/safe_browsing/protocol_parser.h"
33 #include "chrome/browser/safe_browsing/safe_browsing_util.h" 33 #include "chrome/browser/safe_browsing/safe_browsing_util.h"
34 #include "components/safe_browsing_db/safebrowsing.pb.h" 34 #include "components/safe_browsing_db/safebrowsing.pb.h"
35 #include "components/safe_browsing_db/util.h" 35 #include "components/safe_browsing_db/util.h"
36 #include "net/url_request/url_fetcher_delegate.h" 36 #include "net/url_request/url_fetcher_delegate.h"
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 // The factory that controls the creation of SafeBrowsingProtocolManager. 295 // The factory that controls the creation of SafeBrowsingProtocolManager.
296 // This is used by tests. 296 // This is used by tests.
297 static SBProtocolManagerFactory* factory_; 297 static SBProtocolManagerFactory* factory_;
298 298
299 // Our delegate. 299 // Our delegate.
300 SafeBrowsingProtocolManagerDelegate* delegate_; 300 SafeBrowsingProtocolManagerDelegate* delegate_;
301 301
302 // Current active request (in case we need to cancel) for updates or chunks 302 // Current active request (in case we need to cancel) for updates or chunks
303 // from the SafeBrowsing service. We can only have one of these outstanding 303 // from the SafeBrowsing service. We can only have one of these outstanding
304 // at any given time unlike GetHash requests, which are tracked separately. 304 // at any given time unlike GetHash requests, which are tracked separately.
305 scoped_ptr<net::URLFetcher> request_; 305 std::unique_ptr<net::URLFetcher> request_;
306 306
307 // The kind of request that is currently in progress. 307 // The kind of request that is currently in progress.
308 SafeBrowsingRequestType request_type_; 308 SafeBrowsingRequestType request_type_;
309 309
310 // The number of HTTP response errors since the the last successful HTTP 310 // The number of HTTP response errors since the the last successful HTTP
311 // response, used for request backoff timing. 311 // response, used for request backoff timing.
312 size_t update_error_count_; 312 size_t update_error_count_;
313 size_t gethash_error_count_; 313 size_t gethash_error_count_;
314 314
315 // Multipliers which double (max == 8) for each error after the second. 315 // Multipliers which double (max == 8) for each error after the second.
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
426 // Retrieve all the local database chunks, and invoke |callback| with the 426 // Retrieve all the local database chunks, and invoke |callback| with the
427 // results. The SafeBrowsingProtocolManagerDelegate must only invoke the 427 // results. The SafeBrowsingProtocolManagerDelegate must only invoke the
428 // callback if the SafeBrowsingProtocolManager is still alive. Only one call 428 // callback if the SafeBrowsingProtocolManager is still alive. Only one call
429 // may be made to GetChunks at a time. 429 // may be made to GetChunks at a time.
430 virtual void GetChunks(GetChunksCallback callback) = 0; 430 virtual void GetChunks(GetChunksCallback callback) = 0;
431 431
432 // Add new chunks to the database. Invokes |callback| when complete, but must 432 // Add new chunks to the database. Invokes |callback| when complete, but must
433 // call at a later time. 433 // call at a later time.
434 virtual void AddChunks( 434 virtual void AddChunks(
435 const std::string& list, 435 const std::string& list,
436 scoped_ptr<std::vector<scoped_ptr<SBChunkData>>> chunks, 436 std::unique_ptr<std::vector<std::unique_ptr<SBChunkData>>> chunks,
437 AddChunksCallback callback) = 0; 437 AddChunksCallback callback) = 0;
438 438
439 // Delete chunks from the database. 439 // Delete chunks from the database.
440 virtual void DeleteChunks( 440 virtual void DeleteChunks(
441 scoped_ptr<std::vector<SBChunkDelete> > chunk_deletes) = 0; 441 std::unique_ptr<std::vector<SBChunkDelete>> chunk_deletes) = 0;
442 }; 442 };
443 443
444 } // namespace safe_browsing 444 } // namespace safe_browsing
445 445
446 #endif // CHROME_BROWSER_SAFE_BROWSING_PROTOCOL_MANAGER_H_ 446 #endif // CHROME_BROWSER_SAFE_BROWSING_PROTOCOL_MANAGER_H_
OLDNEW
« no previous file with comments | « chrome/browser/safe_browsing/ping_manager.cc ('k') | chrome/browser/safe_browsing/protocol_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698