OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Google Inc. All Rights Reserved. | 2 * Copyright (C) 2011 Google 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 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 25 matching lines...) Expand all Loading... |
36 namespace blink { | 36 namespace blink { |
37 | 37 |
38 Resource* RawResource::fetchSynchronously(FetchRequest& request, ResourceFetcher
* fetcher) | 38 Resource* RawResource::fetchSynchronously(FetchRequest& request, ResourceFetcher
* fetcher) |
39 { | 39 { |
40 request.makeSynchronous(); | 40 request.makeSynchronous(); |
41 return fetcher->requestResource(request, RawResourceFactory(Resource::Raw)); | 41 return fetcher->requestResource(request, RawResourceFactory(Resource::Raw)); |
42 } | 42 } |
43 | 43 |
44 RawResource* RawResource::fetchImport(FetchRequest& request, ResourceFetcher* fe
tcher) | 44 RawResource* RawResource::fetchImport(FetchRequest& request, ResourceFetcher* fe
tcher) |
45 { | 45 { |
46 ASSERT(request.resourceRequest().frameType() == WebURLRequest::FrameTypeNone
); | 46 DCHECK(request.resourceRequest().frameType() == WebURLRequest::FrameTypeNone
); |
47 request.mutableResourceRequest().setRequestContext(WebURLRequest::RequestCon
textImport); | 47 request.mutableResourceRequest().setRequestContext(WebURLRequest::RequestCon
textImport); |
48 return toRawResource(fetcher->requestResource(request, RawResourceFactory(Re
source::ImportResource))); | 48 return toRawResource(fetcher->requestResource(request, RawResourceFactory(Re
source::ImportResource))); |
49 } | 49 } |
50 | 50 |
51 RawResource* RawResource::fetch(FetchRequest& request, ResourceFetcher* fetcher) | 51 RawResource* RawResource::fetch(FetchRequest& request, ResourceFetcher* fetcher) |
52 { | 52 { |
53 ASSERT(request.resourceRequest().frameType() == WebURLRequest::FrameTypeNone
); | 53 DCHECK(request.resourceRequest().frameType() == WebURLRequest::FrameTypeNone
); |
54 ASSERT(request.resourceRequest().requestContext() != WebURLRequest::RequestC
ontextUnspecified); | 54 DCHECK(request.resourceRequest().requestContext() != WebURLRequest::RequestC
ontextUnspecified); |
55 return toRawResource(fetcher->requestResource(request, RawResourceFactory(Re
source::Raw))); | 55 return toRawResource(fetcher->requestResource(request, RawResourceFactory(Re
source::Raw))); |
56 } | 56 } |
57 | 57 |
58 RawResource* RawResource::fetchMainResource(FetchRequest& request, ResourceFetch
er* fetcher, const SubstituteData& substituteData) | 58 RawResource* RawResource::fetchMainResource(FetchRequest& request, ResourceFetch
er* fetcher, const SubstituteData& substituteData) |
59 { | 59 { |
60 ASSERT(request.resourceRequest().frameType() != WebURLRequest::FrameTypeNone
); | 60 DCHECK(request.resourceRequest().frameType() != WebURLRequest::FrameTypeNone
); |
61 ASSERT(request.resourceRequest().requestContext() == WebURLRequest::RequestC
ontextForm || request.resourceRequest().requestContext() == WebURLRequest::Reque
stContextFrame || request.resourceRequest().requestContext() == WebURLRequest::R
equestContextHyperlink || request.resourceRequest().requestContext() == WebURLRe
quest::RequestContextIframe || request.resourceRequest().requestContext() == Web
URLRequest::RequestContextInternal || request.resourceRequest().requestContext()
== WebURLRequest::RequestContextLocation); | 61 DCHECK(request.resourceRequest().requestContext() == WebURLRequest::RequestC
ontextForm |
| 62 || request.resourceRequest().requestContext() == WebURLRequest::RequestC
ontextFrame |
| 63 || request.resourceRequest().requestContext() == WebURLRequest::RequestC
ontextHyperlink |
| 64 || request.resourceRequest().requestContext() == WebURLRequest::RequestC
ontextIframe |
| 65 || request.resourceRequest().requestContext() == WebURLRequest::RequestC
ontextInternal |
| 66 || request.resourceRequest().requestContext() == WebURLRequest::RequestC
ontextLocation); |
62 | 67 |
63 return toRawResource(fetcher->requestResource(request, RawResourceFactory(Re
source::MainResource), substituteData)); | 68 return toRawResource(fetcher->requestResource(request, RawResourceFactory(Re
source::MainResource), substituteData)); |
64 } | 69 } |
65 | 70 |
66 RawResource* RawResource::fetchMedia(FetchRequest& request, ResourceFetcher* fet
cher) | 71 RawResource* RawResource::fetchMedia(FetchRequest& request, ResourceFetcher* fet
cher) |
67 { | 72 { |
68 ASSERT(request.resourceRequest().frameType() == WebURLRequest::FrameTypeNone
); | 73 DCHECK(request.resourceRequest().frameType() == WebURLRequest::FrameTypeNone
); |
69 ASSERT(request.resourceRequest().requestContext() == WebURLRequest::RequestC
ontextAudio || request.resourceRequest().requestContext() == WebURLRequest::Requ
estContextVideo); | 74 DCHECK(request.resourceRequest().requestContext() == WebURLRequest::RequestC
ontextAudio || request.resourceRequest().requestContext() == WebURLRequest::Requ
estContextVideo); |
70 return toRawResource(fetcher->requestResource(request, RawResourceFactory(Re
source::Media))); | 75 return toRawResource(fetcher->requestResource(request, RawResourceFactory(Re
source::Media))); |
71 } | 76 } |
72 | 77 |
73 RawResource* RawResource::fetchTextTrack(FetchRequest& request, ResourceFetcher*
fetcher) | 78 RawResource* RawResource::fetchTextTrack(FetchRequest& request, ResourceFetcher*
fetcher) |
74 { | 79 { |
75 ASSERT(request.resourceRequest().frameType() == WebURLRequest::FrameTypeNone
); | 80 DCHECK(request.resourceRequest().frameType() == WebURLRequest::FrameTypeNone
); |
76 request.mutableResourceRequest().setRequestContext(WebURLRequest::RequestCon
textTrack); | 81 request.mutableResourceRequest().setRequestContext(WebURLRequest::RequestCon
textTrack); |
77 return toRawResource(fetcher->requestResource(request, RawResourceFactory(Re
source::TextTrack))); | 82 return toRawResource(fetcher->requestResource(request, RawResourceFactory(Re
source::TextTrack))); |
78 } | 83 } |
79 | 84 |
80 RawResource* RawResource::fetchManifest(FetchRequest& request, ResourceFetcher*
fetcher) | 85 RawResource* RawResource::fetchManifest(FetchRequest& request, ResourceFetcher*
fetcher) |
81 { | 86 { |
82 ASSERT(request.resourceRequest().frameType() == WebURLRequest::FrameTypeNone
); | 87 DCHECK(request.resourceRequest().frameType() == WebURLRequest::FrameTypeNone
); |
83 ASSERT(request.resourceRequest().requestContext() == WebURLRequest::RequestC
ontextManifest); | 88 DCHECK(request.resourceRequest().requestContext() == WebURLRequest::RequestC
ontextManifest); |
84 return toRawResource(fetcher->requestResource(request, RawResourceFactory(Re
source::Manifest))); | 89 return toRawResource(fetcher->requestResource(request, RawResourceFactory(Re
source::Manifest))); |
85 } | 90 } |
86 | 91 |
87 RawResource::RawResource(const ResourceRequest& resourceRequest, Type type, cons
t ResourceLoaderOptions& options) | 92 RawResource::RawResource(const ResourceRequest& resourceRequest, Type type, cons
t ResourceLoaderOptions& options) |
88 : Resource(resourceRequest, type, options) | 93 : Resource(resourceRequest, type, options) |
89 { | 94 { |
90 } | 95 } |
91 | 96 |
92 void RawResource::appendData(const char* data, size_t length) | 97 void RawResource::appendData(const char* data, size_t length) |
93 { | 98 { |
94 Resource::appendData(data, length); | 99 Resource::appendData(data, length); |
95 | 100 |
96 ResourceClientWalker<RawResourceClient> w(clients()); | 101 ResourceClientWalker<RawResourceClient> w(clients()); |
97 while (RawResourceClient* c = w.next()) | 102 while (RawResourceClient* c = w.next()) |
98 c->dataReceived(this, data, length); | 103 c->dataReceived(this, data, length); |
99 } | 104 } |
100 | 105 |
101 void RawResource::didAddClient(ResourceClient* c) | 106 void RawResource::didAddClient(ResourceClient* c) |
102 { | 107 { |
103 if (!hasClient(c)) | 108 if (!hasClient(c)) |
104 return; | 109 return; |
105 ASSERT(RawResourceClient::isExpectedType(c)); | 110 DCHECK(RawResourceClient::isExpectedType(c)); |
106 RawResourceClient* client = static_cast<RawResourceClient*>(c); | 111 RawResourceClient* client = static_cast<RawResourceClient*>(c); |
107 for (const auto& redirect : redirectChain()) { | 112 for (const auto& redirect : redirectChain()) { |
108 ResourceRequest request(redirect.m_request); | 113 ResourceRequest request(redirect.m_request); |
109 client->redirectReceived(this, request, redirect.m_redirectResponse); | 114 client->redirectReceived(this, request, redirect.m_redirectResponse); |
110 if (!hasClient(c)) | 115 if (!hasClient(c)) |
111 return; | 116 return; |
112 } | 117 } |
113 | 118 |
114 if (!response().isNull()) | 119 if (!response().isNull()) |
115 client->responseReceived(this, response(), nullptr); | 120 client->responseReceived(this, response(), nullptr); |
116 if (!hasClient(c)) | 121 if (!hasClient(c)) |
117 return; | 122 return; |
118 if (data()) | 123 if (data()) |
119 client->dataReceived(this, data()->data(), data()->size()); | 124 client->dataReceived(this, data()->data(), data()->size()); |
120 if (!hasClient(c)) | 125 if (!hasClient(c)) |
121 return; | 126 return; |
122 Resource::didAddClient(client); | 127 Resource::didAddClient(client); |
123 } | 128 } |
124 | 129 |
125 void RawResource::willFollowRedirect(ResourceRequest& newRequest, const Resource
Response& redirectResponse) | 130 void RawResource::willFollowRedirect(ResourceRequest& newRequest, const Resource
Response& redirectResponse) |
126 { | 131 { |
127 Resource::willFollowRedirect(newRequest, redirectResponse); | 132 Resource::willFollowRedirect(newRequest, redirectResponse); |
128 | 133 |
129 ASSERT(!redirectResponse.isNull()); | 134 DCHECK(!redirectResponse.isNull()); |
130 ResourceClientWalker<RawResourceClient> w(clients()); | 135 ResourceClientWalker<RawResourceClient> w(clients()); |
131 while (RawResourceClient* c = w.next()) | 136 while (RawResourceClient* c = w.next()) |
132 c->redirectReceived(this, newRequest, redirectResponse); | 137 c->redirectReceived(this, newRequest, redirectResponse); |
133 } | 138 } |
134 | 139 |
135 void RawResource::willNotFollowRedirect() | 140 void RawResource::willNotFollowRedirect() |
136 { | 141 { |
137 ResourceClientWalker<RawResourceClient> w(clients()); | 142 ResourceClientWalker<RawResourceClient> w(clients()); |
138 while (RawResourceClient* c = w.next()) | 143 while (RawResourceClient* c = w.next()) |
139 c->redirectBlocked(); | 144 c->redirectBlocked(); |
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
325 | 330 |
326 void RawResourceClientStateChecker::notifyFinished(Resource* resource) | 331 void RawResourceClientStateChecker::notifyFinished(Resource* resource) |
327 { | 332 { |
328 SECURITY_CHECK(m_state != NotAddedAsClient); | 333 SECURITY_CHECK(m_state != NotAddedAsClient); |
329 SECURITY_CHECK(m_state != NotifyFinished); | 334 SECURITY_CHECK(m_state != NotifyFinished); |
330 SECURITY_CHECK(resource->errorOccurred() || (m_state == ResponseReceived ||
m_state == SetSerializedCachedMetadata || m_state == DataReceived || m_state ==
DataDownloaded)); | 335 SECURITY_CHECK(resource->errorOccurred() || (m_state == ResponseReceived ||
m_state == SetSerializedCachedMetadata || m_state == DataReceived || m_state ==
DataDownloaded)); |
331 m_state = NotifyFinished; | 336 m_state = NotifyFinished; |
332 } | 337 } |
333 | 338 |
334 } // namespace blink | 339 } // namespace blink |
OLD | NEW |