Chromium Code Reviews| 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(); |