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

Side by Side Diff: net/url_request/url_request_intercepting_job_factory.h

Issue 2406273002: [Cronet] Test the libcronet that's shipped, not libcronet_test (Closed)
Patch Set: fix shutdown race Created 4 years, 1 month 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 #ifndef NET_URL_REQUEST_URL_REQUEST_INTERCEPTING_JOB_FACTORY_H_ 5 #ifndef NET_URL_REQUEST_URL_REQUEST_INTERCEPTING_JOB_FACTORY_H_
6 #define NET_URL_REQUEST_URL_REQUEST_INTERCEPTING_JOB_FACTORY_H_ 6 #define NET_URL_REQUEST_URL_REQUEST_INTERCEPTING_JOB_FACTORY_H_
7 7
8 #include <memory> 8 #include <memory>
9 #include <string> 9 #include <string>
10 10
(...skipping 14 matching lines...) Expand all
25 // URLRequestInteceptor is given the option of creating a URLRequestJob for each 25 // URLRequestInteceptor is given the option of creating a URLRequestJob for each
26 // URLRequest. If the interceptor does not create a job, the URLRequest is 26 // URLRequest. If the interceptor does not create a job, the URLRequest is
27 // forwarded to the wrapped URLRequestJobFactory instead. 27 // forwarded to the wrapped URLRequestJobFactory instead.
28 // 28 //
29 // This class is only intended for use in intercepting requests before they 29 // This class is only intended for use in intercepting requests before they
30 // are passed on to their default ProtocolHandler. Each supported scheme should 30 // are passed on to their default ProtocolHandler. Each supported scheme should
31 // have its own ProtocolHandler. 31 // have its own ProtocolHandler.
32 class NET_EXPORT URLRequestInterceptingJobFactory 32 class NET_EXPORT URLRequestInterceptingJobFactory
33 : public URLRequestJobFactory { 33 : public URLRequestJobFactory {
34 public: 34 public:
35 // Takes ownership of |job_factory| and |interceptor|.
35 URLRequestInterceptingJobFactory( 36 URLRequestInterceptingJobFactory(
36 std::unique_ptr<URLRequestJobFactory> job_factory, 37 std::unique_ptr<URLRequestJobFactory> job_factory,
37 std::unique_ptr<URLRequestInterceptor> interceptor); 38 std::unique_ptr<URLRequestInterceptor> interceptor);
39 // Does not take ownership of |job_factory| and |interceptor|. Necessary if
40 // ownership is held elsewhere.
41 URLRequestInterceptingJobFactory(URLRequestJobFactory* job_factory,
42 URLRequestInterceptor* interceptor);
38 ~URLRequestInterceptingJobFactory() override; 43 ~URLRequestInterceptingJobFactory() override;
39 44
40 // URLRequestJobFactory implementation 45 // URLRequestJobFactory implementation
41 URLRequestJob* MaybeCreateJobWithProtocolHandler( 46 URLRequestJob* MaybeCreateJobWithProtocolHandler(
42 const std::string& scheme, 47 const std::string& scheme,
43 URLRequest* request, 48 URLRequest* request,
44 NetworkDelegate* network_delegate) const override; 49 NetworkDelegate* network_delegate) const override;
45 50
46 URLRequestJob* MaybeInterceptRedirect( 51 URLRequestJob* MaybeInterceptRedirect(
47 URLRequest* request, 52 URLRequest* request,
48 NetworkDelegate* network_delegate, 53 NetworkDelegate* network_delegate,
49 const GURL& location) const override; 54 const GURL& location) const override;
50 55
51 URLRequestJob* MaybeInterceptResponse( 56 URLRequestJob* MaybeInterceptResponse(
52 URLRequest* request, 57 URLRequest* request,
53 NetworkDelegate* network_delegate) const override; 58 NetworkDelegate* network_delegate) const override;
54 59
55 bool IsHandledProtocol(const std::string& scheme) const override; 60 bool IsHandledProtocol(const std::string& scheme) const override;
56 bool IsHandledURL(const GURL& url) const override; 61 bool IsHandledURL(const GURL& url) const override;
57 bool IsSafeRedirectTarget(const GURL& location) const override; 62 bool IsSafeRedirectTarget(const GURL& location) const override;
58 63
59 private: 64 private:
60 std::unique_ptr<URLRequestJobFactory> job_factory_; 65 // |owning_| indicates if this object owns |job_factory_| and |interceptor_|.
61 std::unique_ptr<URLRequestInterceptor> interceptor_; 66 bool owning_;
67 URLRequestJobFactory* job_factory_;
68 URLRequestInterceptor* interceptor_;
62 69
63 DISALLOW_COPY_AND_ASSIGN(URLRequestInterceptingJobFactory); 70 DISALLOW_COPY_AND_ASSIGN(URLRequestInterceptingJobFactory);
64 }; 71 };
65 72
66 } // namespace net 73 } // namespace net
67 74
68 #endif // NET_URL_REQUEST_URL_REQUEST_INTERCEPTING_JOB_FACTORY_H_ 75 #endif // NET_URL_REQUEST_URL_REQUEST_INTERCEPTING_JOB_FACTORY_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698