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

Side by Side Diff: components/google/core/browser/google_url_tracker.cc

Issue 1918083002: Convert //components/[f-n]* from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: … Created 4 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/google/core/browser/google_url_tracker.h" 5 #include "components/google/core/browser/google_url_tracker.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 11 matching lines...) Expand all
22 #include "net/base/load_flags.h" 22 #include "net/base/load_flags.h"
23 #include "net/url_request/url_fetcher.h" 23 #include "net/url_request/url_fetcher.h"
24 #include "net/url_request/url_request_status.h" 24 #include "net/url_request/url_request_status.h"
25 25
26 26
27 const char GoogleURLTracker::kDefaultGoogleHomepage[] = 27 const char GoogleURLTracker::kDefaultGoogleHomepage[] =
28 "https://www.google.com/"; 28 "https://www.google.com/";
29 const char GoogleURLTracker::kSearchDomainCheckURL[] = 29 const char GoogleURLTracker::kSearchDomainCheckURL[] =
30 "https://www.google.com/searchdomaincheck?format=domain&type=chrome"; 30 "https://www.google.com/searchdomaincheck?format=domain&type=chrome";
31 31
32 GoogleURLTracker::GoogleURLTracker(scoped_ptr<GoogleURLTrackerClient> client, 32 GoogleURLTracker::GoogleURLTracker(
33 Mode mode) 33 std::unique_ptr<GoogleURLTrackerClient> client,
34 Mode mode)
34 : client_(std::move(client)), 35 : client_(std::move(client)),
35 google_url_(mode == UNIT_TEST_MODE ? kDefaultGoogleHomepage 36 google_url_(mode == UNIT_TEST_MODE ? kDefaultGoogleHomepage
36 : client_->GetPrefs()->GetString( 37 : client_->GetPrefs()->GetString(
37 prefs::kLastKnownGoogleURL)), 38 prefs::kLastKnownGoogleURL)),
38 fetcher_id_(0), 39 fetcher_id_(0),
39 in_startup_sleep_(true), 40 in_startup_sleep_(true),
40 already_fetched_(false), 41 already_fetched_(false),
41 need_to_fetch_(false), 42 need_to_fetch_(false),
42 weak_ptr_factory_(this) { 43 weak_ptr_factory_(this) {
43 net::NetworkChangeNotifier::AddNetworkChangeObserver(this); 44 net::NetworkChangeNotifier::AddNetworkChangeObserver(this);
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 void GoogleURLTracker::RequestServerCheck(bool force) { 76 void GoogleURLTracker::RequestServerCheck(bool force) {
76 // If this instance already has a fetcher, SetNeedToFetch() is unnecessary, 77 // If this instance already has a fetcher, SetNeedToFetch() is unnecessary,
77 // and changing |already_fetched_| is wrong. 78 // and changing |already_fetched_| is wrong.
78 if (!fetcher_) { 79 if (!fetcher_) {
79 if (force) 80 if (force)
80 already_fetched_ = false; 81 already_fetched_ = false;
81 SetNeedToFetch(); 82 SetNeedToFetch();
82 } 83 }
83 } 84 }
84 85
85 scoped_ptr<GoogleURLTracker::Subscription> GoogleURLTracker::RegisterCallback( 86 std::unique_ptr<GoogleURLTracker::Subscription>
86 const OnGoogleURLUpdatedCallback& cb) { 87 GoogleURLTracker::RegisterCallback(const OnGoogleURLUpdatedCallback& cb) {
87 return callback_list_.Add(cb); 88 return callback_list_.Add(cb);
88 } 89 }
89 90
90 void GoogleURLTracker::OnURLFetchComplete(const net::URLFetcher* source) { 91 void GoogleURLTracker::OnURLFetchComplete(const net::URLFetcher* source) {
91 // Delete the fetcher on this function's exit. 92 // Delete the fetcher on this function's exit.
92 scoped_ptr<net::URLFetcher> clean_up_fetcher(fetcher_.release()); 93 std::unique_ptr<net::URLFetcher> clean_up_fetcher(std::move(fetcher_));
93 94
94 // Don't update the URL if the request didn't succeed. 95 // Don't update the URL if the request didn't succeed.
95 if (!source->GetStatus().is_success() || (source->GetResponseCode() != 200)) { 96 if (!source->GetStatus().is_success() || (source->GetResponseCode() != 200)) {
96 already_fetched_ = false; 97 already_fetched_ = false;
97 return; 98 return;
98 } 99 }
99 100
100 // See if the response data was valid. It should be ".google.<TLD>". 101 // See if the response data was valid. It should be ".google.<TLD>".
101 std::string url_str; 102 std::string url_str;
102 source->GetResponseAsString(&url_str); 103 source->GetResponseAsString(&url_str);
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 // Also retry kMaxRetries times on network change errors. A network change can 185 // Also retry kMaxRetries times on network change errors. A network change can
185 // propagate through Chrome in various stages, so it's possible for this code 186 // propagate through Chrome in various stages, so it's possible for this code
186 // to be reached via OnNetworkChanged(), and then have the fetch we kick off 187 // to be reached via OnNetworkChanged(), and then have the fetch we kick off
187 // be canceled due to e.g. the DNS server changing at a later time. In general 188 // be canceled due to e.g. the DNS server changing at a later time. In general
188 // it's not possible to ensure that by the time we reach here any requests we 189 // it's not possible to ensure that by the time we reach here any requests we
189 // start won't be canceled in this fashion, so retrying is the best we can do. 190 // start won't be canceled in this fashion, so retrying is the best we can do.
190 fetcher_->SetAutomaticallyRetryOnNetworkChanges(kMaxRetries); 191 fetcher_->SetAutomaticallyRetryOnNetworkChanges(kMaxRetries);
191 192
192 fetcher_->Start(); 193 fetcher_->Start();
193 } 194 }
OLDNEW
« no previous file with comments | « components/google/core/browser/google_url_tracker.h ('k') | components/google/core/browser/google_url_tracker_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698