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

Side by Side Diff: third_party/WebKit/Source/core/fetch/Resource.cpp

Issue 2527353002: Phase II Step 3: Reload LoFi/placeholder images via new ImageResource
Patch Set: reloadLoFiImages test Created 4 years 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 /* 1 /*
2 Copyright (C) 1998 Lars Knoll (knoll@mpi-hd.mpg.de) 2 Copyright (C) 1998 Lars Knoll (knoll@mpi-hd.mpg.de)
3 Copyright (C) 2001 Dirk Mueller (mueller@kde.org) 3 Copyright (C) 2001 Dirk Mueller (mueller@kde.org)
4 Copyright (C) 2002 Waldo Bastian (bastian@kde.org) 4 Copyright (C) 2002 Waldo Bastian (bastian@kde.org)
5 Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com) 5 Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com)
6 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All 6 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All
7 rights reserved. 7 rights reserved.
8 8
9 This library is free software; you can redistribute it and/or 9 This library is free software; you can redistribute it and/or
10 modify it under the terms of the GNU Library General Public 10 modify it under the terms of the GNU Library General Public
(...skipping 24 matching lines...) Expand all
35 #include "core/fetch/ResourceLoader.h" 35 #include "core/fetch/ResourceLoader.h"
36 #include "platform/Histogram.h" 36 #include "platform/Histogram.h"
37 #include "platform/InstanceCounters.h" 37 #include "platform/InstanceCounters.h"
38 #include "platform/RuntimeEnabledFeatures.h" 38 #include "platform/RuntimeEnabledFeatures.h"
39 #include "platform/SharedBuffer.h" 39 #include "platform/SharedBuffer.h"
40 #include "platform/WebTaskRunner.h" 40 #include "platform/WebTaskRunner.h"
41 #include "platform/network/HTTPParsers.h" 41 #include "platform/network/HTTPParsers.h"
42 #include "platform/tracing/TraceEvent.h" 42 #include "platform/tracing/TraceEvent.h"
43 #include "platform/weborigin/KURL.h" 43 #include "platform/weborigin/KURL.h"
44 #include "public/platform/Platform.h" 44 #include "public/platform/Platform.h"
45 #include "public/platform/WebCachePolicy.h"
46 #include "public/platform/WebScheduler.h" 45 #include "public/platform/WebScheduler.h"
47 #include "public/platform/WebSecurityOrigin.h" 46 #include "public/platform/WebSecurityOrigin.h"
48 #include "wtf/CurrentTime.h" 47 #include "wtf/CurrentTime.h"
49 #include "wtf/MathExtras.h" 48 #include "wtf/MathExtras.h"
50 #include "wtf/StdLibExtras.h" 49 #include "wtf/StdLibExtras.h"
51 #include "wtf/Vector.h" 50 #include "wtf/Vector.h"
52 #include "wtf/text/CString.h" 51 #include "wtf/text/CString.h"
53 #include "wtf/text/StringBuilder.h" 52 #include "wtf/text/StringBuilder.h"
54 #include <algorithm> 53 #include <algorithm>
55 #include <memory> 54 #include <memory>
(...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 m_data.clear(); 402 m_data.clear();
404 m_encodedSizeMemoryUsage = 0; 403 m_encodedSizeMemoryUsage = 0;
405 } 404 }
406 405
407 void Resource::setDataBufferingPolicy(DataBufferingPolicy dataBufferingPolicy) { 406 void Resource::setDataBufferingPolicy(DataBufferingPolicy dataBufferingPolicy) {
408 m_options.dataBufferingPolicy = dataBufferingPolicy; 407 m_options.dataBufferingPolicy = dataBufferingPolicy;
409 clearData(); 408 clearData();
410 setEncodedSize(0); 409 setEncodedSize(0);
411 } 410 }
412 411
413 void Resource::error(const ResourceError& error) { 412 void Resource::error(const ResourceError& error,
413 ResourceFetcher* fetcherForReload) {
414 DCHECK(!error.isNull()); 414 DCHECK(!error.isNull());
415 m_error = error; 415 m_error = error;
416 m_isRevalidating = false; 416 m_isRevalidating = false;
417 417
418 if (m_error.isCancellation() || !isPreloaded()) 418 if (m_error.isCancellation() || !isPreloaded())
419 memoryCache()->remove(this); 419 memoryCache()->remove(this);
420 420
421 if (!errorOccurred()) 421 if (!errorOccurred())
422 setStatus(LoadError); 422 setStatus(LoadError);
423 DCHECK(errorOccurred()); 423 DCHECK(errorOccurred());
424 clearData(); 424 clearData();
425 m_loader = nullptr; 425 m_loader = nullptr;
426 checkNotify(); 426 checkNotify();
427 } 427 }
428 428
429 void Resource::finish(double loadFinishTime) { 429 void Resource::finish(double loadFinishTime,
430 ResourceFetcher* fetcherForReload) {
430 DCHECK(!m_isRevalidating); 431 DCHECK(!m_isRevalidating);
431 m_loadFinishTime = loadFinishTime; 432 m_loadFinishTime = loadFinishTime;
432 if (!errorOccurred()) 433 if (!errorOccurred())
433 m_status = Cached; 434 m_status = Cached;
434 m_loader = nullptr; 435 m_loader = nullptr;
435 checkNotify(); 436 checkNotify();
436 } 437 }
437 438
438 AtomicString Resource::httpContentType() const { 439 AtomicString Resource::httpContentType() const {
439 return extractMIMETypeFromMediaType( 440 return extractMIMETypeFromMediaType(
(...skipping 480 matching lines...) Expand 10 before | Expand all | Expand 10 after
920 memoryDump->addSuballocation( 921 memoryDump->addSuballocation(
921 overheadDump->guid(), String(WTF::Partitions::kAllocatedObjectPoolName)); 922 overheadDump->guid(), String(WTF::Partitions::kAllocatedObjectPoolName));
922 } 923 }
923 924
924 String Resource::getMemoryDumpName() const { 925 String Resource::getMemoryDumpName() const {
925 return String::format( 926 return String::format(
926 "web_cache/%s_resources/%ld", 927 "web_cache/%s_resources/%ld",
927 resourceTypeToString(getType(), options().initiatorInfo), m_identifier); 928 resourceTypeToString(getType(), options().initiatorInfo), m_identifier);
928 } 929 }
929 930
930 void Resource::setCachePolicyBypassingCache() {
931 m_resourceRequest.setCachePolicy(WebCachePolicy::BypassingCache);
932 }
933
934 void Resource::setLoFiStateOff() {
935 m_resourceRequest.setLoFiState(WebURLRequest::LoFiOff);
936 }
937
938 void Resource::clearRangeRequestHeader() {
939 m_resourceRequest.clearHTTPHeaderField("range");
940 }
941
942 void Resource::revalidationSucceeded( 931 void Resource::revalidationSucceeded(
943 const ResourceResponse& validatingResponse) { 932 const ResourceResponse& validatingResponse) {
944 SECURITY_CHECK(m_redirectChain.isEmpty()); 933 SECURITY_CHECK(m_redirectChain.isEmpty());
945 SECURITY_CHECK(equalIgnoringFragmentIdentifier(validatingResponse.url(), 934 SECURITY_CHECK(equalIgnoringFragmentIdentifier(validatingResponse.url(),
946 m_response.url())); 935 m_response.url()));
947 m_response.setResourceLoadTiming(validatingResponse.resourceLoadTiming()); 936 m_response.setResourceLoadTiming(validatingResponse.resourceLoadTiming());
948 937
949 // RFC2616 10.3.5 938 // RFC2616 10.3.5
950 // Update cached headers from the 304 response 939 // Update cached headers from the 304 response
951 const HTTPHeaderMap& newHeaders = validatingResponse.httpHeaderFields(); 940 const HTTPHeaderMap& newHeaders = validatingResponse.httpHeaderFields();
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
1108 case Resource::Media: 1097 case Resource::Media:
1109 case Resource::Manifest: 1098 case Resource::Manifest:
1110 case Resource::Mock: 1099 case Resource::Mock:
1111 return false; 1100 return false;
1112 } 1101 }
1113 NOTREACHED(); 1102 NOTREACHED();
1114 return false; 1103 return false;
1115 } 1104 }
1116 1105
1117 } // namespace blink 1106 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698