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

Review-Url: https://codereview.chromium.org/2208073004
Cr-Commit-Position: refs/heads/master@{#414008}
5 files changed