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

Unified Diff: components/history/core/browser/web_history_service.cc

Issue 882753002: Componentize WebHistoryService (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/history/core/browser/web_history_service.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/history/core/browser/web_history_service.cc
diff --git a/chrome/browser/history/web_history_service.cc b/components/history/core/browser/web_history_service.cc
similarity index 89%
rename from chrome/browser/history/web_history_service.cc
rename to components/history/core/browser/web_history_service.cc
index 58c42d60622ac79c9bc8b6010eb73d2e73e6671c..ae0071dfaac837c6267500b6be85475f06e17d90 100644
--- a/chrome/browser/history/web_history_service.cc
+++ b/components/history/core/browser/web_history_service.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome/browser/history/web_history_service.h"
+#include "components/history/core/browser/web_history_service.h"
#include "base/bind.h"
#include "base/json/json_reader.h"
@@ -12,9 +12,6 @@
#include "base/strings/string_number_conversions.h"
#include "base/strings/utf_string_conversions.h"
#include "base/values.h"
-#include "chrome/browser/signin/profile_oauth2_token_service_factory.h"
-#include "chrome/browser/signin/signin_manager_factory.h"
-#include "components/signin/core/browser/profile_oauth2_token_service.h"
#include "components/signin/core/browser/signin_manager.h"
#include "google_apis/gaia/gaia_urls.h"
#include "google_apis/gaia/google_service_auth_error.h"
@@ -25,6 +22,7 @@
#include "net/http/http_util.h"
#include "net/url_request/url_fetcher.h"
#include "net/url_request/url_fetcher_delegate.h"
+#include "net/url_request/url_request_context_getter.h"
#include "url/gurl.h"
namespace history {
@@ -69,29 +67,28 @@ class RequestImpl : public WebHistoryService::Request,
private:
friend class history::WebHistoryService;
- RequestImpl(Profile* profile,
- const GURL& url,
- const WebHistoryService::CompletionCallback& callback)
+ RequestImpl(
+ OAuth2TokenService* token_service,
+ SigninManagerBase* signin_manager,
+ const scoped_refptr<net::URLRequestContextGetter>& request_context,
+ const GURL& url,
+ const WebHistoryService::CompletionCallback& callback)
: OAuth2TokenService::Consumer("web_history"),
- profile_(profile),
+ token_service_(token_service),
+ signin_manager_(signin_manager),
url_(url),
response_code_(0),
auth_retry_count_(0),
callback_(callback),
- is_pending_(false) {
- }
+ is_pending_(false) {}
// Tells the request to do its thang.
void Start() override {
OAuth2TokenService::ScopeSet oauth_scopes;
oauth_scopes.insert(kHistoryOAuthScope);
- ProfileOAuth2TokenService* token_service =
- ProfileOAuth2TokenServiceFactory::GetForProfile(profile_);
- SigninManagerBase* signin_manager =
- SigninManagerFactory::GetForProfile(profile_);
- token_request_ = token_service->StartRequest(
- signin_manager->GetAuthenticatedAccountId(), oauth_scopes, this);
+ token_request_ = token_service_->StartRequest(
+ signin_manager_->GetAuthenticatedAccountId(), oauth_scopes, this);
is_pending_ = true;
}
@@ -109,12 +106,8 @@ class RequestImpl : public WebHistoryService::Request,
if (response_code_ == net::HTTP_UNAUTHORIZED && ++auth_retry_count_ <= 1) {
OAuth2TokenService::ScopeSet oauth_scopes;
oauth_scopes.insert(kHistoryOAuthScope);
- ProfileOAuth2TokenService* token_service =
- ProfileOAuth2TokenServiceFactory::GetForProfile(profile_);
- SigninManagerBase* signin_manager =
- SigninManagerFactory::GetForProfile(profile_);
- token_service->InvalidateToken(
- signin_manager->GetAuthenticatedAccountId(),
+ token_service_->InvalidateToken(
+ signin_manager_->GetAuthenticatedAccountId(),
oauth_scopes,
access_token_);
@@ -163,7 +156,7 @@ class RequestImpl : public WebHistoryService::Request,
net::URLFetcher::GET : net::URLFetcher::POST;
net::URLFetcher* fetcher = net::URLFetcher::Create(
url_, request_type, this);
- fetcher->SetRequestContext(profile_->GetRequestContext());
+ fetcher->SetRequestContext(request_context_.get());
fetcher->SetMaxRetriesOn5xx(kMaxRetries);
fetcher->SetLoadFlags(net::LOAD_DO_NOT_SEND_COOKIES |
net::LOAD_DO_NOT_SAVE_COOKIES);
@@ -179,7 +172,9 @@ class RequestImpl : public WebHistoryService::Request,
post_data_ = post_data;
}
- Profile* profile_;
+ OAuth2TokenService* token_service_;
+ SigninManagerBase* signin_manager_;
+ scoped_refptr<net::URLRequestContextGetter> request_context_;
// The URL of the API endpoint.
GURL url_;
@@ -285,8 +280,13 @@ WebHistoryService::Request::Request() {
WebHistoryService::Request::~Request() {
}
-WebHistoryService::WebHistoryService(Profile* profile)
- : profile_(profile),
+WebHistoryService::WebHistoryService(
+ OAuth2TokenService* token_service,
+ SigninManagerBase* signin_manager,
+ const scoped_refptr<net::URLRequestContextGetter>& request_context)
+ : token_service_(token_service),
+ signin_manager_(signin_manager),
+ request_context_(request_context),
weak_ptr_factory_(this) {
}
@@ -298,7 +298,8 @@ WebHistoryService::~WebHistoryService() {
WebHistoryService::Request* WebHistoryService::CreateRequest(
const GURL& url,
const CompletionCallback& callback) {
- return new RequestImpl(profile_, url, callback);
+ return new RequestImpl(token_service_, signin_manager_, request_context_, url,
+ callback);
}
// static
@@ -336,23 +337,21 @@ void WebHistoryService::ExpireHistory(
scoped_ptr<base::ListValue> deletions(new base::ListValue);
base::Time now = base::Time::Now();
- for (std::vector<ExpireHistoryArgs>::const_iterator it = expire_list.begin();
- it != expire_list.end(); ++it) {
+ for (const auto& expire : expire_list) {
// Convert the times to server timestamps.
- std::string min_timestamp = ServerTimeString(it->begin_time);
+ std::string min_timestamp = ServerTimeString(expire.begin_time);
// TODO(dubroy): Use sane time (crbug.com/146090) here when it's available.
- base::Time end_time = it->end_time;
+ base::Time end_time = expire.end_time;
if (end_time.is_null() || end_time > now)
end_time = now;
std::string max_timestamp = ServerTimeString(end_time);
- for (std::set<GURL>::const_iterator url_iterator = it->urls.begin();
- url_iterator != it->urls.end(); ++url_iterator) {
+ for (const auto& url : expire.urls) {
deletions->Append(
- CreateDeletion(min_timestamp, max_timestamp, *url_iterator));
+ CreateDeletion(min_timestamp, max_timestamp, url));
}
// If no URLs were specified, delete everything in the time range.
- if (it->urls.empty())
+ if (expire.urls.empty())
deletions->Append(CreateDeletion(min_timestamp, max_timestamp, GURL()));
}
delete_request.Set("del", deletions.release());
« no previous file with comments | « components/history/core/browser/web_history_service.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698