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

Unified Diff: ios/net/clients/crn_forwarding_network_client.mm

Issue 994823004: [iOS] Upstream //ios/net (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 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
Index: ios/net/clients/crn_forwarding_network_client.mm
diff --git a/ios/net/clients/crn_forwarding_network_client.mm b/ios/net/clients/crn_forwarding_network_client.mm
new file mode 100644
index 0000000000000000000000000000000000000000..8d8f114114b14bed6cba19912462c03af27ec07f
--- /dev/null
+++ b/ios/net/clients/crn_forwarding_network_client.mm
@@ -0,0 +1,87 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import "ios/net/clients/crn_forwarding_network_client.h"
+
+#include "base/logging.h"
+#include "base/mac/scoped_nsobject.h"
+#include "base/threading/thread_checker.h"
+
+@implementation CRNForwardingNetworkClient {
+ // Next client in the client chain.
+ base::scoped_nsprotocol<id<CRNNetworkClientProtocol>> _underlyingClient;
+ base::ThreadChecker _threadChecker;
+}
+
+#pragma mark CRNNetworkClientProtocol methods
+
+- (void)didFailWithNSErrorCode:(NSInteger)nsErrorCode
+ netErrorCode:(int)netErrorCode {
+ DCHECK(_threadChecker.CalledOnValidThread());
+ DCHECK(_underlyingClient);
+ [_underlyingClient didFailWithNSErrorCode:nsErrorCode
+ netErrorCode:netErrorCode];
+}
+
+- (void)didLoadData:(NSData*)data {
+ DCHECK(_threadChecker.CalledOnValidThread());
+ DCHECK(_underlyingClient);
+ [_underlyingClient didLoadData:data];
+}
+
+- (void)didReceiveResponse:(NSURLResponse*)response {
+ DCHECK(_threadChecker.CalledOnValidThread());
+ DCHECK(_underlyingClient);
+ [_underlyingClient didReceiveResponse:response];
+}
+
+- (void)wasRedirectedToRequest:(NSURLRequest*)request
+ nativeRequest:(net::URLRequest*)nativeRequest
+ redirectResponse:(NSURLResponse*)response {
+ DCHECK(_threadChecker.CalledOnValidThread());
+ DCHECK(_underlyingClient);
+ [_underlyingClient wasRedirectedToRequest:request
+ nativeRequest:nativeRequest
+ redirectResponse:response];
+}
+
+- (void)didFinishLoading {
+ DCHECK(_threadChecker.CalledOnValidThread());
+ DCHECK(_underlyingClient);
+ [_underlyingClient didFinishLoading];
+}
+
+- (void)didCreateNativeRequest:(net::URLRequest*)nativeRequest {
+ DCHECK(_threadChecker.CalledOnValidThread());
+ DCHECK(_underlyingClient);
+ [_underlyingClient didCreateNativeRequest:nativeRequest];
+}
+
+- (void)didRecieveAuthChallenge:(net::AuthChallengeInfo*)authInfo
+ nativeRequest:(const net::URLRequest&)nativeRequest
+ callback:(const network_client::AuthCallback&)callback {
+ DCHECK(_threadChecker.CalledOnValidThread());
+ DCHECK(_underlyingClient);
+ [_underlyingClient didRecieveAuthChallenge:authInfo
+ nativeRequest:nativeRequest
+ callback:callback];
+}
+
+- (void)cancelAuthRequest {
+ DCHECK(_threadChecker.CalledOnValidThread());
+ DCHECK(_underlyingClient);
+ [_underlyingClient cancelAuthRequest];
+}
+
+- (id<CRNNetworkClientProtocol>)underlyingClient {
+ return _underlyingClient;
+}
+
+- (void)setUnderlyingClient:(id<CRNNetworkClientProtocol>)underlyingClient {
+ DCHECK(_threadChecker.CalledOnValidThread());
+ DCHECK(underlyingClient);
+ _underlyingClient.reset([underlyingClient retain]);
+}
+
+@end

Powered by Google App Engine
This is Rietveld 408576698