OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2005, 2006, 2011 Apple Inc. All rights reserved. | 2 * Copyright (C) 2005, 2006, 2011 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 29 matching lines...) Expand all Loading... |
40 namespace blink { | 40 namespace blink { |
41 | 41 |
42 class Resource; | 42 class Resource; |
43 class KURL; | 43 class KURL; |
44 class ResourceError; | 44 class ResourceError; |
45 class ResourceFetcher; | 45 class ResourceFetcher; |
46 class ThreadedDataReceiver; | 46 class ThreadedDataReceiver; |
47 | 47 |
48 class CORE_EXPORT ResourceLoader final : public GarbageCollectedFinalized<Resour
ceLoader>, protected WebURLLoaderClient { | 48 class CORE_EXPORT ResourceLoader final : public GarbageCollectedFinalized<Resour
ceLoader>, protected WebURLLoaderClient { |
49 public: | 49 public: |
50 static ResourceLoader* create(ResourceFetcher*, Resource*, ResourceRequest&,
const ResourceLoaderOptions&); | 50 static ResourceLoader* create(ResourceFetcher*, Resource*, const ResourceReq
uest&, const ResourceLoaderOptions&); |
51 ~ResourceLoader() override; | 51 ~ResourceLoader() override; |
52 DECLARE_TRACE(); | 52 DECLARE_TRACE(); |
53 | 53 |
54 void start(); | 54 void start(); |
55 void changeToSynchronous(); | 55 void changeToSynchronous(); |
56 | 56 |
57 void cancel(); | 57 void cancel(); |
58 void cancel(const ResourceError&); | 58 void cancel(const ResourceError&); |
59 void cancelIfNotFinishing(); | 59 void cancelIfNotFinishing(); |
60 | 60 |
61 Resource* cachedResource() { return m_resource; } | 61 Resource* cachedResource() { return m_resource; } |
| 62 const ResourceRequest& originalRequest() const { return m_originalRequest; } |
62 | 63 |
63 void setDefersLoading(bool); | 64 void setDefersLoading(bool); |
64 bool defersLoading() const { return m_defersLoading; } | 65 bool defersLoading() const { return m_defersLoading; } |
65 | 66 |
66 void attachThreadedDataReceiver(PassRefPtrWillBeRawPtr<ThreadedDataReceiver>
); | 67 void attachThreadedDataReceiver(PassRefPtrWillBeRawPtr<ThreadedDataReceiver>
); |
67 | 68 |
68 void releaseResources(); | 69 void releaseResources(); |
69 | 70 |
70 void didChangePriority(ResourceLoadPriority, int intraPriorityValue); | 71 void didChangePriority(ResourceLoadPriority, int intraPriorityValue); |
71 | 72 |
72 // WebURLLoaderClient | 73 // WebURLLoaderClient |
73 void willFollowRedirect(WebURLLoader*, WebURLRequest&, const WebURLResponse&
redirectResponse) override; | 74 void willFollowRedirect(WebURLLoader*, WebURLRequest&, const WebURLResponse&
redirectResponse) override; |
74 void didSendData(WebURLLoader*, unsigned long long bytesSent, unsigned long
long totalBytesToBeSent) override; | 75 void didSendData(WebURLLoader*, unsigned long long bytesSent, unsigned long
long totalBytesToBeSent) override; |
75 void didReceiveResponse(WebURLLoader*, const WebURLResponse&) override; | 76 void didReceiveResponse(WebURLLoader*, const WebURLResponse&) override; |
76 void didReceiveResponse(WebURLLoader*, const WebURLResponse&, WebDataConsume
rHandle*) override; | 77 void didReceiveResponse(WebURLLoader*, const WebURLResponse&, WebDataConsume
rHandle*) override; |
77 void didReceiveData(WebURLLoader*, const char*, int, int encodedDataLength)
override; | 78 void didReceiveData(WebURLLoader*, const char*, int, int encodedDataLength)
override; |
78 void didReceiveCachedMetadata(WebURLLoader*, const char* data, int length) o
verride; | 79 void didReceiveCachedMetadata(WebURLLoader*, const char* data, int length) o
verride; |
79 void didFinishLoading(WebURLLoader*, double finishTime, int64_t encodedDataL
ength) override; | 80 void didFinishLoading(WebURLLoader*, double finishTime, int64_t encodedDataL
ength) override; |
80 void didFail(WebURLLoader*, const WebURLError&) override; | 81 void didFail(WebURLLoader*, const WebURLError&) override; |
81 void didDownloadData(WebURLLoader*, int, int) override; | 82 void didDownloadData(WebURLLoader*, int, int) override; |
82 | 83 |
83 const KURL& url() const { return m_request.url(); } | 84 const KURL& url() const { return m_request.url(); } |
84 bool isLoadedBy(ResourceFetcher*) const; | 85 bool isLoadedBy(ResourceFetcher*) const; |
85 | 86 |
86 bool reachedTerminalState() const { return m_state == Terminated; } | 87 bool reachedTerminalState() const { return m_state == Terminated; } |
| 88 const ResourceRequest& request() const { return m_request; } |
87 | 89 |
88 bool loadingMultipartContent() const { return m_loadingMultipartContent; } | 90 bool loadingMultipartContent() const { return m_loadingMultipartContent; } |
89 | 91 |
90 private: | 92 private: |
91 ResourceLoader(ResourceFetcher*, Resource*, const ResourceLoaderOptions&); | 93 ResourceLoader(ResourceFetcher*, Resource*, const ResourceLoaderOptions&); |
92 | 94 |
93 void init(ResourceRequest&); | 95 void init(const ResourceRequest&); |
94 void requestSynchronously(); | 96 void requestSynchronously(); |
95 | 97 |
96 void didFinishLoadingOnePart(double finishTime, int64_t encodedDataLength); | 98 void didFinishLoadingOnePart(double finishTime, int64_t encodedDataLength); |
97 | 99 |
98 bool responseNeedsAccessControlCheck() const; | 100 bool responseNeedsAccessControlCheck() const; |
99 | 101 |
100 ResourceRequest& applyOptions(ResourceRequest&) const; | 102 ResourceRequest& applyOptions(ResourceRequest&) const; |
101 | 103 |
102 OwnPtr<WebURLLoader> m_loader; | 104 OwnPtr<WebURLLoader> m_loader; |
103 Member<ResourceFetcher> m_fetcher; | 105 Member<ResourceFetcher> m_fetcher; |
104 | 106 |
105 ResourceRequest m_request; | 107 ResourceRequest m_request; |
| 108 ResourceRequest m_originalRequest; // Before redirects. |
106 | 109 |
107 bool m_notifiedLoadComplete; | 110 bool m_notifiedLoadComplete; |
108 | 111 |
109 bool m_defersLoading; | 112 bool m_defersLoading; |
110 bool m_loadingMultipartContent; | 113 bool m_loadingMultipartContent; |
111 ResourceRequest m_deferredRequest; | 114 ResourceRequest m_deferredRequest; |
112 ResourceLoaderOptions m_options; | 115 ResourceLoaderOptions m_options; |
113 | 116 |
114 enum ResourceLoaderState { | 117 enum ResourceLoaderState { |
115 Initialized, | 118 Initialized, |
(...skipping 15 matching lines...) Expand all Loading... |
131 ResourceLoaderState m_state; | 134 ResourceLoaderState m_state; |
132 | 135 |
133 // Used for sanity checking to make sure we don't experience illegal state | 136 // Used for sanity checking to make sure we don't experience illegal state |
134 // transitions. | 137 // transitions. |
135 ConnectionState m_connectionState; | 138 ConnectionState m_connectionState; |
136 }; | 139 }; |
137 | 140 |
138 } | 141 } |
139 | 142 |
140 #endif | 143 #endif |
OLD | NEW |