Index: third_party/WebKit/Source/core/loader/resource/ImageResource.cpp |
diff --git a/third_party/WebKit/Source/core/loader/resource/ImageResource.cpp b/third_party/WebKit/Source/core/loader/resource/ImageResource.cpp |
index c91542567a841ce12ec16894141b4a8d9b1fb2b8..294416899427b764c5ca8873aeeae5101279063f 100644 |
--- a/third_party/WebKit/Source/core/loader/resource/ImageResource.cpp |
+++ b/third_party/WebKit/Source/core/loader/resource/ImageResource.cpp |
@@ -436,6 +436,7 @@ void ImageResource::responseReceived( |
bool ImageResource::shouldShowPlaceholder() const { |
switch (m_placeholderOption) { |
case PlaceholderOption::ShowAndReloadPlaceholderAlways: |
+ case PlaceholderOption::ShowAndDoNotReloadPlaceholder: |
return true; |
case PlaceholderOption::ReloadPlaceholderOnDecodeError: |
case PlaceholderOption::DoNotReloadPlaceholder: |
@@ -451,6 +452,7 @@ bool ImageResource::shouldReloadBrokenPlaceholder() const { |
return errorOccurred(); |
case PlaceholderOption::ReloadPlaceholderOnDecodeError: |
return getStatus() == ResourceStatus::DecodeError; |
+ case PlaceholderOption::ShowAndDoNotReloadPlaceholder: |
case PlaceholderOption::DoNotReloadPlaceholder: |
return false; |
} |
@@ -488,11 +490,19 @@ void ImageResource::reloadIfLoFiOrPlaceholderImage( |
setCachePolicyBypassingCache(); |
+ WebURLRequest::PreviewsState previewsState = |
sclittle
2017/04/06 21:58:06
nit: maybe name this "previewsStateBeforeReload" o
Raj
2017/05/03 07:05:18
Renamed as old_previews_state as per new naming co
|
+ resourceRequest().previewsState(); |
+ |
setPreviewsStateNoTransform(); |
if (m_placeholderOption != PlaceholderOption::DoNotReloadPlaceholder) |
clearRangeRequestHeader(); |
- m_placeholderOption = PlaceholderOption::DoNotReloadPlaceholder; |
+ |
+ if (previewsState & WebURLRequest::ClientLoFiOn) { |
sclittle
2017/04/06 21:58:06
Chrome should still show the full image if the use
Raj
2017/05/03 07:05:18
Thanks. Added this check.
|
+ m_placeholderOption = PlaceholderOption::ShowAndDoNotReloadPlaceholder; |
+ } else { |
+ m_placeholderOption = PlaceholderOption::DoNotReloadPlaceholder; |
+ } |
sclittle
2017/04/06 21:58:06
Could you add tests for the new behavior you've ad
|
if (isLoading()) { |
loader()->cancel(); |