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

Side by Side Diff: Source/core/fetch/ResourceLoader.cpp

Issue 61773005: Rename WebKit namespace to blink (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/fetch/ResourceLoader.h ('k') | Source/core/fileapi/File.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2010, 2011 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2010, 2011 Apple Inc. All rights reserved.
3 * (C) 2007 Graham Dennis (graham.dennis@gmail.com) 3 * (C) 2007 Graham Dennis (graham.dennis@gmail.com)
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 8 *
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 m_deferredRequest = m_request; 141 m_deferredRequest = m_request;
142 return; 142 return;
143 } 143 }
144 144
145 if (m_state == Terminated) 145 if (m_state == Terminated)
146 return; 146 return;
147 147
148 RELEASE_ASSERT(m_connectionState == ConnectionStateNew); 148 RELEASE_ASSERT(m_connectionState == ConnectionStateNew);
149 m_connectionState = ConnectionStateStarted; 149 m_connectionState = ConnectionStateStarted;
150 150
151 m_loader = adoptPtr(WebKit::Platform::current()->createURLLoader()); 151 m_loader = adoptPtr(blink::Platform::current()->createURLLoader());
152 ASSERT(m_loader); 152 ASSERT(m_loader);
153 WebKit::WrappedResourceRequest wrappedRequest(m_request); 153 blink::WrappedResourceRequest wrappedRequest(m_request);
154 wrappedRequest.setAllowStoredCredentials(m_options.allowCredentials == Allow StoredCredentials); 154 wrappedRequest.setAllowStoredCredentials(m_options.allowCredentials == Allow StoredCredentials);
155 m_loader->loadAsynchronously(wrappedRequest, this); 155 m_loader->loadAsynchronously(wrappedRequest, this);
156 } 156 }
157 157
158 void ResourceLoader::changeToSynchronous() 158 void ResourceLoader::changeToSynchronous()
159 { 159 {
160 ASSERT(m_options.synchronousPolicy == RequestAsynchronously); 160 ASSERT(m_options.synchronousPolicy == RequestAsynchronously);
161 ASSERT(m_loader); 161 ASSERT(m_loader);
162 m_loader->cancel(); 162 m_loader->cancel();
163 m_loader.clear(); 163 m_loader.clear();
164 m_request.setPriority(ResourceLoadPriorityHighest); 164 m_request.setPriority(ResourceLoadPriorityHighest);
165 m_connectionState = ConnectionStateNew; 165 m_connectionState = ConnectionStateNew;
166 requestSynchronously(); 166 requestSynchronously();
167 } 167 }
168 168
169 void ResourceLoader::setDefersLoading(bool defers) 169 void ResourceLoader::setDefersLoading(bool defers)
170 { 170 {
171 m_defersLoading = defers; 171 m_defersLoading = defers;
172 if (m_loader) 172 if (m_loader)
173 m_loader->setDefersLoading(defers); 173 m_loader->setDefersLoading(defers);
174 if (!defers && !m_deferredRequest.isNull()) { 174 if (!defers && !m_deferredRequest.isNull()) {
175 m_request = m_deferredRequest; 175 m_request = m_deferredRequest;
176 m_deferredRequest = ResourceRequest(); 176 m_deferredRequest = ResourceRequest();
177 start(); 177 start();
178 } 178 }
179 } 179 }
180 180
181 void ResourceLoader::didDownloadData(WebKit::WebURLLoader*, int length, int enco dedDataLength) 181 void ResourceLoader::didDownloadData(blink::WebURLLoader*, int length, int encod edDataLength)
182 { 182 {
183 RefPtr<ResourceLoader> protect(this); 183 RefPtr<ResourceLoader> protect(this);
184 RELEASE_ASSERT(m_connectionState == ConnectionStateReceivedResponse); 184 RELEASE_ASSERT(m_connectionState == ConnectionStateReceivedResponse);
185 m_resource->didDownloadData(length); 185 m_resource->didDownloadData(length);
186 } 186 }
187 187
188 void ResourceLoader::didFinishLoadingOnePart(double finishTime) 188 void ResourceLoader::didFinishLoadingOnePart(double finishTime)
189 { 189 {
190 // If load has been cancelled after finishing (which could happen with a 190 // If load has been cancelled after finishing (which could happen with a
191 // JavaScript that changes the window location), do nothing. 191 // JavaScript that changes the window location), do nothing.
192 if (m_state == Terminated) 192 if (m_state == Terminated)
193 return; 193 return;
194 194
195 if (m_notifiedLoadComplete) 195 if (m_notifiedLoadComplete)
196 return; 196 return;
197 m_notifiedLoadComplete = true; 197 m_notifiedLoadComplete = true;
198 m_host->didFinishLoading(m_resource, finishTime, m_options); 198 m_host->didFinishLoading(m_resource, finishTime, m_options);
199 } 199 }
200 200
201 void ResourceLoader::didChangePriority(ResourceLoadPriority loadPriority) 201 void ResourceLoader::didChangePriority(ResourceLoadPriority loadPriority)
202 { 202 {
203 if (m_loader) { 203 if (m_loader) {
204 m_host->didChangeLoadingPriority(m_resource, loadPriority); 204 m_host->didChangeLoadingPriority(m_resource, loadPriority);
205 m_loader->didChangePriority(static_cast<WebKit::WebURLRequest::Priority> (loadPriority)); 205 m_loader->didChangePriority(static_cast<blink::WebURLRequest::Priority>( loadPriority));
206 } 206 }
207 } 207 }
208 208
209 void ResourceLoader::cancelIfNotFinishing() 209 void ResourceLoader::cancelIfNotFinishing()
210 { 210 {
211 if (m_state != Initialized) 211 if (m_state != Initialized)
212 return; 212 return;
213 cancel(); 213 cancel();
214 } 214 }
215 215
(...skipping 30 matching lines...) Expand all
246 } 246 }
247 247
248 m_host->didFailLoading(m_resource, nonNullError, m_options); 248 m_host->didFailLoading(m_resource, nonNullError, m_options);
249 249
250 if (m_state == Finishing) 250 if (m_state == Finishing)
251 m_resource->error(Resource::LoadError); 251 m_resource->error(Resource::LoadError);
252 if (m_state != Terminated) 252 if (m_state != Terminated)
253 releaseResources(); 253 releaseResources();
254 } 254 }
255 255
256 void ResourceLoader::willSendRequest(WebKit::WebURLLoader*, WebKit::WebURLReques t& passedRequest, const WebKit::WebURLResponse& passedRedirectResponse) 256 void ResourceLoader::willSendRequest(blink::WebURLLoader*, blink::WebURLRequest& passedRequest, const blink::WebURLResponse& passedRedirectResponse)
257 { 257 {
258 RefPtr<ResourceLoader> protect(this); 258 RefPtr<ResourceLoader> protect(this);
259 259
260 ResourceRequest& request(passedRequest.toMutableResourceRequest()); 260 ResourceRequest& request(passedRequest.toMutableResourceRequest());
261 ASSERT(!request.isNull()); 261 ASSERT(!request.isNull());
262 const ResourceResponse& redirectResponse(passedRedirectResponse.toResourceRe sponse()); 262 const ResourceResponse& redirectResponse(passedRedirectResponse.toResourceRe sponse());
263 ASSERT(!redirectResponse.isNull()); 263 ASSERT(!redirectResponse.isNull());
264 if (!m_host->shouldRequest(m_resource, request, m_options)) { 264 if (!m_host->shouldRequest(m_resource, request, m_options)) {
265 cancel(); 265 cancel();
266 return; 266 return;
267 } 267 }
268 m_host->redirectReceived(m_resource, redirectResponse); 268 m_host->redirectReceived(m_resource, redirectResponse);
269 m_resource->willSendRequest(request, redirectResponse); 269 m_resource->willSendRequest(request, redirectResponse);
270 if (request.isNull() || m_state == Terminated) 270 if (request.isNull() || m_state == Terminated)
271 return; 271 return;
272 272
273 m_host->willSendRequest(m_resource->identifier(), request, redirectResponse, m_options); 273 m_host->willSendRequest(m_resource->identifier(), request, redirectResponse, m_options);
274 request.setReportLoadTiming(true); 274 request.setReportLoadTiming(true);
275 ASSERT(!request.isNull()); 275 ASSERT(!request.isNull());
276 m_request = request; 276 m_request = request;
277 } 277 }
278 278
279 void ResourceLoader::didReceiveCachedMetadata(WebKit::WebURLLoader*, const char* data, int length) 279 void ResourceLoader::didReceiveCachedMetadata(blink::WebURLLoader*, const char* data, int length)
280 { 280 {
281 RELEASE_ASSERT(m_connectionState == ConnectionStateReceivedResponse || m_con nectionState == ConnectionStateReceivingData); 281 RELEASE_ASSERT(m_connectionState == ConnectionStateReceivedResponse || m_con nectionState == ConnectionStateReceivingData);
282 ASSERT(m_state == Initialized); 282 ASSERT(m_state == Initialized);
283 m_resource->setSerializedCachedMetadata(data, length); 283 m_resource->setSerializedCachedMetadata(data, length);
284 } 284 }
285 285
286 void ResourceLoader::didSendData(WebKit::WebURLLoader*, unsigned long long bytes Sent, unsigned long long totalBytesToBeSent) 286 void ResourceLoader::didSendData(blink::WebURLLoader*, unsigned long long bytesS ent, unsigned long long totalBytesToBeSent)
287 { 287 {
288 ASSERT(m_state == Initialized); 288 ASSERT(m_state == Initialized);
289 RefPtr<ResourceLoader> protect(this); 289 RefPtr<ResourceLoader> protect(this);
290 m_resource->didSendData(bytesSent, totalBytesToBeSent); 290 m_resource->didSendData(bytesSent, totalBytesToBeSent);
291 } 291 }
292 292
293 void ResourceLoader::didReceiveResponse(WebKit::WebURLLoader*, const WebKit::Web URLResponse& response) 293 void ResourceLoader::didReceiveResponse(blink::WebURLLoader*, const blink::WebUR LResponse& response)
294 { 294 {
295 ASSERT(!response.isNull()); 295 ASSERT(!response.isNull());
296 ASSERT(m_state == Initialized); 296 ASSERT(m_state == Initialized);
297 297
298 bool isMultipartPayload = response.isMultipartPayload(); 298 bool isMultipartPayload = response.isMultipartPayload();
299 bool isValidStateTransition = (m_connectionState == ConnectionStateStarted | | m_connectionState == ConnectionStateReceivedResponse); 299 bool isValidStateTransition = (m_connectionState == ConnectionStateStarted | | m_connectionState == ConnectionStateReceivedResponse);
300 // In the case of multipart loads, calls to didReceiveData & didReceiveRespo nse can be interleaved. 300 // In the case of multipart loads, calls to didReceiveData & didReceiveRespo nse can be interleaved.
301 RELEASE_ASSERT(isMultipartPayload || isValidStateTransition); 301 RELEASE_ASSERT(isMultipartPayload || isValidStateTransition);
302 m_connectionState = ConnectionStateReceivedResponse; 302 m_connectionState = ConnectionStateReceivedResponse;
303 303
(...skipping 20 matching lines...) Expand all
324 didFinishLoadingOnePart(0); 324 didFinishLoadingOnePart(0);
325 } 325 }
326 326
327 if (m_resource->response().httpStatusCode() < 400 || m_resource->shouldIgnor eHTTPStatusCodeErrors()) 327 if (m_resource->response().httpStatusCode() < 400 || m_resource->shouldIgnor eHTTPStatusCodeErrors())
328 return; 328 return;
329 m_state = Finishing; 329 m_state = Finishing;
330 m_resource->error(Resource::LoadError); 330 m_resource->error(Resource::LoadError);
331 cancel(); 331 cancel();
332 } 332 }
333 333
334 void ResourceLoader::didReceiveData(WebKit::WebURLLoader*, const char* data, int length, int encodedDataLength) 334 void ResourceLoader::didReceiveData(blink::WebURLLoader*, const char* data, int length, int encodedDataLength)
335 { 335 {
336 RELEASE_ASSERT(m_connectionState == ConnectionStateReceivedResponse || m_con nectionState == ConnectionStateReceivingData); 336 RELEASE_ASSERT(m_connectionState == ConnectionStateReceivedResponse || m_con nectionState == ConnectionStateReceivingData);
337 m_connectionState = ConnectionStateReceivingData; 337 m_connectionState = ConnectionStateReceivingData;
338 338
339 // It is possible to receive data on uninitialized resources if it had an er ror status code, and we are running a nested message 339 // It is possible to receive data on uninitialized resources if it had an er ror status code, and we are running a nested message
340 // loop. When this occurs, ignoring the data is the correct action. 340 // loop. When this occurs, ignoring the data is the correct action.
341 if (m_resource->response().httpStatusCode() >= 400 && !m_resource->shouldIgn oreHTTPStatusCodeErrors()) 341 if (m_resource->response().httpStatusCode() >= 400 && !m_resource->shouldIgn oreHTTPStatusCodeErrors())
342 return; 342 return;
343 ASSERT(m_state == Initialized); 343 ASSERT(m_state == Initialized);
344 344
345 // Reference the object in this method since the additional processing can d o 345 // Reference the object in this method since the additional processing can d o
346 // anything including removing the last reference to this object. 346 // anything including removing the last reference to this object.
347 RefPtr<ResourceLoader> protect(this); 347 RefPtr<ResourceLoader> protect(this);
348 348
349 // FIXME: If we get a resource with more than 2B bytes, this code won't do t he right thing. 349 // FIXME: If we get a resource with more than 2B bytes, this code won't do t he right thing.
350 // However, with today's computers and networking speeds, this won't happen in practice. 350 // However, with today's computers and networking speeds, this won't happen in practice.
351 // Could be an issue with a giant local file. 351 // Could be an issue with a giant local file.
352 m_host->didReceiveData(m_resource, data, length, encodedDataLength, m_option s); 352 m_host->didReceiveData(m_resource, data, length, encodedDataLength, m_option s);
353 m_resource->appendData(data, length); 353 m_resource->appendData(data, length);
354 } 354 }
355 355
356 void ResourceLoader::didFinishLoading(WebKit::WebURLLoader*, double finishTime) 356 void ResourceLoader::didFinishLoading(blink::WebURLLoader*, double finishTime)
357 { 357 {
358 RELEASE_ASSERT(m_connectionState == ConnectionStateReceivedResponse || m_con nectionState == ConnectionStateReceivingData); 358 RELEASE_ASSERT(m_connectionState == ConnectionStateReceivedResponse || m_con nectionState == ConnectionStateReceivingData);
359 m_connectionState = ConnectionStateFinishedLoading; 359 m_connectionState = ConnectionStateFinishedLoading;
360 if (m_state != Initialized) 360 if (m_state != Initialized)
361 return; 361 return;
362 ASSERT(m_state != Terminated); 362 ASSERT(m_state != Terminated);
363 LOG(ResourceLoading, "Received '%s'.", m_resource->url().string().latin1().d ata()); 363 LOG(ResourceLoading, "Received '%s'.", m_resource->url().string().latin1().d ata());
364 364
365 RefPtr<ResourceLoader> protect(this); 365 RefPtr<ResourceLoader> protect(this);
366 ResourcePtr<Resource> protectResource(m_resource); 366 ResourcePtr<Resource> protectResource(m_resource);
367 m_state = Finishing; 367 m_state = Finishing;
368 m_resource->finish(finishTime); 368 m_resource->finish(finishTime);
369 didFinishLoadingOnePart(finishTime); 369 didFinishLoadingOnePart(finishTime);
370 370
371 // If the load has been cancelled by a delegate in response to didFinishLoad (), do not release 371 // If the load has been cancelled by a delegate in response to didFinishLoad (), do not release
372 // the resources a second time, they have been released by cancel. 372 // the resources a second time, they have been released by cancel.
373 if (m_state == Terminated) 373 if (m_state == Terminated)
374 return; 374 return;
375 releaseResources(); 375 releaseResources();
376 } 376 }
377 377
378 void ResourceLoader::didFail(WebKit::WebURLLoader*, const WebKit::WebURLError& e rror) 378 void ResourceLoader::didFail(blink::WebURLLoader*, const blink::WebURLError& err or)
379 { 379 {
380 m_connectionState = ConnectionStateFailed; 380 m_connectionState = ConnectionStateFailed;
381 ASSERT(m_state != Terminated); 381 ASSERT(m_state != Terminated);
382 LOG(ResourceLoading, "Failed to load '%s'.\n", m_resource->url().string().la tin1().data()); 382 LOG(ResourceLoading, "Failed to load '%s'.\n", m_resource->url().string().la tin1().data());
383 383
384 RefPtr<ResourceLoader> protect(this); 384 RefPtr<ResourceLoader> protect(this);
385 RefPtr<ResourceLoaderHost> protectHost(m_host); 385 RefPtr<ResourceLoaderHost> protectHost(m_host);
386 ResourcePtr<Resource> protectResource(m_resource); 386 ResourcePtr<Resource> protectResource(m_resource);
387 m_state = Finishing; 387 m_state = Finishing;
388 m_resource->setResourceError(error); 388 m_resource->setResourceError(error);
(...skipping 10 matching lines...) Expand all
399 releaseResources(); 399 releaseResources();
400 } 400 }
401 401
402 bool ResourceLoader::isLoadedBy(ResourceLoaderHost* loader) const 402 bool ResourceLoader::isLoadedBy(ResourceLoaderHost* loader) const
403 { 403 {
404 return m_host->isLoadedBy(loader); 404 return m_host->isLoadedBy(loader);
405 } 405 }
406 406
407 void ResourceLoader::requestSynchronously() 407 void ResourceLoader::requestSynchronously()
408 { 408 {
409 OwnPtr<WebKit::WebURLLoader> loader = adoptPtr(WebKit::Platform::current()-> createURLLoader()); 409 OwnPtr<blink::WebURLLoader> loader = adoptPtr(blink::Platform::current()->cr eateURLLoader());
410 ASSERT(loader); 410 ASSERT(loader);
411 411
412 RefPtr<ResourceLoader> protect(this); 412 RefPtr<ResourceLoader> protect(this);
413 RefPtr<ResourceLoaderHost> protectHost(m_host); 413 RefPtr<ResourceLoaderHost> protectHost(m_host);
414 ResourcePtr<Resource> protectResource(m_resource); 414 ResourcePtr<Resource> protectResource(m_resource);
415 415
416 RELEASE_ASSERT(m_connectionState == ConnectionStateNew); 416 RELEASE_ASSERT(m_connectionState == ConnectionStateNew);
417 m_connectionState = ConnectionStateStarted; 417 m_connectionState = ConnectionStateStarted;
418 418
419 WebKit::WrappedResourceRequest requestIn(m_request); 419 blink::WrappedResourceRequest requestIn(m_request);
420 requestIn.setAllowStoredCredentials(m_options.allowCredentials == AllowStore dCredentials); 420 requestIn.setAllowStoredCredentials(m_options.allowCredentials == AllowStore dCredentials);
421 WebKit::WebURLResponse responseOut; 421 blink::WebURLResponse responseOut;
422 responseOut.initialize(); 422 responseOut.initialize();
423 WebKit::WebURLError errorOut; 423 blink::WebURLError errorOut;
424 WebKit::WebData dataOut; 424 blink::WebData dataOut;
425 loader->loadSynchronously(requestIn, responseOut, errorOut, dataOut); 425 loader->loadSynchronously(requestIn, responseOut, errorOut, dataOut);
426 if (errorOut.reason) { 426 if (errorOut.reason) {
427 didFail(0, errorOut); 427 didFail(0, errorOut);
428 return; 428 return;
429 } 429 }
430 didReceiveResponse(0, responseOut); 430 didReceiveResponse(0, responseOut);
431 if (m_state == Terminated) 431 if (m_state == Terminated)
432 return; 432 return;
433 RefPtr<ResourceLoadInfo> resourceLoadInfo = responseOut.toResourceResponse() .resourceLoadInfo(); 433 RefPtr<ResourceLoadInfo> resourceLoadInfo = responseOut.toResourceResponse() .resourceLoadInfo();
434 m_host->didReceiveData(m_resource, dataOut.data(), dataOut.size(), resourceL oadInfo ? resourceLoadInfo->encodedDataLength : -1, m_options); 434 m_host->didReceiveData(m_resource, dataOut.data(), dataOut.size(), resourceL oadInfo ? resourceLoadInfo->encodedDataLength : -1, m_options);
435 m_resource->setResourceBuffer(dataOut); 435 m_resource->setResourceBuffer(dataOut);
436 didFinishLoading(0, monotonicallyIncreasingTime()); 436 didFinishLoading(0, monotonicallyIncreasingTime());
437 } 437 }
438 438
439 } 439 }
OLDNEW
« no previous file with comments | « Source/core/fetch/ResourceLoader.h ('k') | Source/core/fileapi/File.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698