Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / ios / net / clients / crn_simple_network_client_factory.mm
blob9ffd9d255b69b798cdd2c87da6bdad53bfae8984
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
3 // found in the LICENSE file.
5 #import "ios/net/clients/crn_simple_network_client_factory.h"
7 #include "base/logging.h"
8 #include "base/mac/scoped_nsobject.h"
9 #import "ios/net/clients/crn_forwarding_network_client.h"
11 @interface CRNSimpleNetworkClientFactory () {
12   base::scoped_nsprotocol<Class> _clientClass;
14 @end
16 @implementation CRNSimpleNetworkClientFactory
18 - (instancetype)initWithClass:(Class)clientClass {
19   if (self = [super init]) {
20     DCHECK([clientClass isSubclassOfClass:[CRNForwardingNetworkClient class]]);
21     _clientClass.reset([clientClass retain]);
22   }
23   return self;
26 - (CRNForwardingNetworkClient*)clientHandlingAnyRequest {
27   return [[[_clientClass alloc] init] autorelease];
30 - (Class)clientClass {
31   return _clientClass;
34 @end