Reviewers: Nate Chapin, yhirano, hiroshige
CL:
https://codereview.chromium.org/2278953002/Message:
Created Revert of Fix ImageLoader::m_hasPendingLoadEvent/m_imageComplete in
ImageDocument
Description:
Revert of Fix ImageLoader::m_hasPendingLoadEvent/m_imageComplete in
ImageDocument (patchset #4 id:60001 of
https://codereview.chromium.org/2208073004/ )
Reason for revert:
Reverting since http/tests/images/png-partial-load-as-document.html consistently
leaks on WebKit Linux Leak and LeakExpectations says "Sheriff is expected to
revert culprit CLs instead of suppressing the leaks"
Original issue's description:
> Fix ImageLoader::m_hasPendingLoadEvent/m_imageComplete in ImageDocument
>
> Case 1: When a image is loaded as a subresource, loading is stared by
> ImageResource::fetch() in ImageLoader::doUpdateFromElement().
> Case 2: When a image is loaded as a main document, the start of the loading is
> emulated by setImage() in ImageLoader::updateFromElement() and
> ImageDocumentParser will do the subsequent loading steps.
>
> However in Case 2, |m_hasPendingLoadEvent| is set to false
> (in setImageWithoutConsideringPendingLoadEvent()), causing |imageStillLoading|
> to be false and ensureFallbackContent() to be called in
> HTMLImageElement::selectSourceURL(), and thus a box indicating a broken image
> is displayed during loading instead of the image displayed progressively.
> This is regression since
https://codereview.chromium.org/1879793003.
>
> This CL makes the behavior of Case 1 and 2 consistent, by moving what is done
> in Case 1 to setImagePending(), and makes Case 1 and 2 both to call
> setImagePending().
>
> This CL also adds a layout test to confirm that an image is displayed
> progressively when loaded as a main document.
>
> BUG=632495
>
> Committed:
https://crrev.com/576c7a048bfc30faf510eeda07f303fa9dd12898> Cr-Commit-Position: refs/heads/master@{#414008}
TBR=jap...@chromium.org,yhi...@chromium.org,hiro...@chromium.org# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=632495
Base URL:
https://chromium.googlesource.com/chromium/src.git@masterAffected files (+27, -82 lines):
D third_party/WebKit/LayoutTests/http/tests/images/png-partial-load-as-document.html
D third_party/WebKit/LayoutTests/http/tests/images/png-partial-load-as-document-expected.png
D third_party/WebKit/LayoutTests/http/tests/images/png-partial-load-as-document-expected.txt
M third_party/WebKit/Source/core/loader/ImageLoader.h
M third_party/WebKit/Source/core/loader/ImageLoader.cpp