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

Unified Diff: services/authenticating_url_loader/authenticating_url_loader_interceptor_factory.cc

Issue 1155283003: Change AuthenticatingURLLoader to be a URLLoaderInterceptor (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Address review Created 5 years, 6 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 | « services/authenticating_url_loader/authenticating_url_loader_interceptor_factory.h ('k') | shell/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: services/authenticating_url_loader/authenticating_url_loader_interceptor_factory.cc
diff --git a/services/authenticating_url_loader/authenticating_url_loader_factory_impl.cc b/services/authenticating_url_loader/authenticating_url_loader_interceptor_factory.cc
similarity index 53%
copy from services/authenticating_url_loader/authenticating_url_loader_factory_impl.cc
copy to services/authenticating_url_loader/authenticating_url_loader_interceptor_factory.cc
index 795ce0c49dcc31f0bb515d2d308b995930267295..5346ad91a0871bb4d24de5d839043ff7d58f5b1a 100644
--- a/services/authenticating_url_loader/authenticating_url_loader_factory_impl.cc
+++ b/services/authenticating_url_loader/authenticating_url_loader_interceptor_factory.cc
@@ -2,29 +2,35 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "services/authenticating_url_loader/authenticating_url_loader_factory_impl.h"
+#include "services/authenticating_url_loader/authenticating_url_loader_interceptor_factory.h"
#include "base/bind.h"
#include "base/logging.h"
#include "base/stl_util.h"
#include "mojo/public/cpp/application/application_impl.h"
-#include "mojo/services/authenticating_url_loader/public/interfaces/authenticating_url_loader.mojom.h"
-#include "services/authenticating_url_loader/authenticating_url_loader_impl.h"
+#include "services/authenticating_url_loader/authenticating_url_loader_interceptor.h"
namespace mojo {
-AuthenticatingURLLoaderFactoryImpl::AuthenticatingURLLoaderFactoryImpl(
- mojo::InterfaceRequest<AuthenticatingURLLoaderFactory> request,
- mojo::ApplicationImpl* app,
- std::map<GURL, std::string>* cached_tokens)
- : binding_(this, request.Pass()), app_(app), cached_tokens_(cached_tokens) {
+AuthenticatingURLLoaderInterceptorFactory::
+ AuthenticatingURLLoaderInterceptorFactory(
+ mojo::InterfaceRequest<URLLoaderInterceptorFactory> request,
+ authentication::AuthenticationServicePtr authentication_service,
+ mojo::ApplicationImpl* app,
+ std::map<GURL, std::string>* cached_tokens)
+ : binding_(this, request.Pass()),
+ authentication_service_(authentication_service.Pass()),
+ app_(app),
+ cached_tokens_(cached_tokens) {
app_->ConnectToService("mojo:network_service", &network_service_);
+ authentication_service_.set_error_handler(this);
}
-AuthenticatingURLLoaderFactoryImpl::~AuthenticatingURLLoaderFactoryImpl() {
+AuthenticatingURLLoaderInterceptorFactory::
+ ~AuthenticatingURLLoaderInterceptorFactory() {
}
-std::string AuthenticatingURLLoaderFactoryImpl::GetCachedToken(
+std::string AuthenticatingURLLoaderInterceptorFactory::GetCachedToken(
const GURL& url) {
GURL origin = url.GetOrigin();
if (cached_tokens_->find(origin) != cached_tokens_->end()) {
@@ -33,7 +39,7 @@ std::string AuthenticatingURLLoaderFactoryImpl::GetCachedToken(
return "";
}
-void AuthenticatingURLLoaderFactoryImpl::RetrieveToken(
+void AuthenticatingURLLoaderInterceptorFactory::RetrieveToken(
const GURL& url,
const base::Callback<void(std::string)>& callback) {
if (!authentication_service_) {
@@ -53,50 +59,47 @@ void AuthenticatingURLLoaderFactoryImpl::RetrieveToken(
return;
}
authentication_service_->SelectAccount(
- true, base::Bind(&AuthenticatingURLLoaderFactoryImpl::OnAccountSelected,
- base::Unretained(this), origin));
+ true, base::Bind(
+ &AuthenticatingURLLoaderInterceptorFactory::OnAccountSelected,
+ base::Unretained(this), origin));
}
pendings_retrieve_token_[origin].push_back(callback);
}
-void AuthenticatingURLLoaderFactoryImpl::OnURLLoaderError(
- AuthenticatingURLLoaderImpl* url_loader) {
+void AuthenticatingURLLoaderInterceptorFactory::OnInterceptorError(
+ AuthenticatingURLLoaderInterceptor* interceptor) {
auto it = std::find_if(
- url_loaders_.begin(), url_loaders_.end(),
- [url_loader](const std::unique_ptr<AuthenticatingURLLoaderImpl>& p) {
- return p.get() == url_loader;
+ interceptors_.begin(), interceptors_.end(),
+ [interceptor](
+ const std::unique_ptr<AuthenticatingURLLoaderInterceptor>& p) {
+ return p.get() == interceptor;
});
- DCHECK(it != url_loaders_.end());
- url_loaders_.erase(it);
+ DCHECK(it != interceptors_.end());
+ interceptors_.erase(it);
}
-void AuthenticatingURLLoaderFactoryImpl::CreateAuthenticatingURLLoader(
- mojo::InterfaceRequest<AuthenticatingURLLoader> loader_request) {
- url_loaders_.push_back(std::unique_ptr<AuthenticatingURLLoaderImpl>(
- new AuthenticatingURLLoaderImpl(loader_request.Pass(), this)));
-}
+void AuthenticatingURLLoaderInterceptorFactory::OnConnectionError() {
+ authentication_service_ = nullptr;
-void AuthenticatingURLLoaderFactoryImpl::SetAuthenticationService(
- authentication::AuthenticationServicePtr authentication_service) {
- // If the authentication service changes, all pending request needs to fail.
+ // All pending requests need to fail.
for (const auto& callbacks : pendings_retrieve_token_) {
for (const auto& callback : callbacks.second) {
callback.Run("");
}
}
pendings_retrieve_token_.clear();
- authentication_service_ = authentication_service.Pass();
- if (authentication_service_)
- authentication_service_.set_error_handler(this);
}
-void AuthenticatingURLLoaderFactoryImpl::OnConnectionError() {
- SetAuthenticationService(nullptr);
+void AuthenticatingURLLoaderInterceptorFactory::Create(
+ mojo::InterfaceRequest<URLLoaderInterceptor> interceptor) {
+ interceptors_.push_back(std::unique_ptr<AuthenticatingURLLoaderInterceptor>(
+ new AuthenticatingURLLoaderInterceptor(interceptor.Pass(), this)));
}
-void AuthenticatingURLLoaderFactoryImpl::OnAccountSelected(const GURL& origin,
- mojo::String account,
- mojo::String error) {
+void AuthenticatingURLLoaderInterceptorFactory::OnAccountSelected(
+ const GURL& origin,
+ mojo::String account,
+ mojo::String error) {
DCHECK(authentication_service_);
if (error) {
LOG(WARNING) << "Error (" << error << ") while selecting account";
@@ -108,11 +111,12 @@ void AuthenticatingURLLoaderFactoryImpl::OnAccountSelected(const GURL& origin,
scopes[0] = "https://www.googleapis.com/auth/userinfo.email";
authentication_service_->GetOAuth2Token(
account, scopes.Pass(),
- base::Bind(&AuthenticatingURLLoaderFactoryImpl::OnOAuth2TokenReceived,
- base::Unretained(this), origin));
+ base::Bind(
+ &AuthenticatingURLLoaderInterceptorFactory::OnOAuth2TokenReceived,
+ base::Unretained(this), origin));
}
-void AuthenticatingURLLoaderFactoryImpl::OnOAuth2TokenReceived(
+void AuthenticatingURLLoaderInterceptorFactory::OnOAuth2TokenReceived(
const GURL& origin,
mojo::String token,
mojo::String error) {
@@ -126,7 +130,7 @@ void AuthenticatingURLLoaderFactoryImpl::OnOAuth2TokenReceived(
ExecuteCallbacks(origin, string_token);
}
-void AuthenticatingURLLoaderFactoryImpl::ExecuteCallbacks(
+void AuthenticatingURLLoaderInterceptorFactory::ExecuteCallbacks(
const GURL& origin,
const std::string& result) {
for (auto& callback : pendings_retrieve_token_[origin]) {
« no previous file with comments | « services/authenticating_url_loader/authenticating_url_loader_interceptor_factory.h ('k') | shell/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698