DescriptionRevert of Remove EventSender from ImageLoader (patchset #10 id:180001 of https://codereview.chromium.org/2863763003/ )
Reason for revert:
This patch probably causes object leaks:
See details in "webkit_tests" of
https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20Trusty%20Leak/builds/4925
Original issue's description:
> Remove EventSender from ImageLoader
>
> Instead of using EventSender, this CL schedules ImageLoader's
> load and error events using PostCancellableTask.
> has_pending_load_event_ and has_pending_error_event_ booleans are
> replaced with TaskHandle to the cancellable tasks and IsActive() calls.
>
> This CL removes the dependencies between Document's load event and
> <img> load events via EventSender.
>
> This CL removes EventSender.h as ImageLoader was the last user of that.
>
> Test changes:
> stop-loading.html:
> testharness.js waits for the window load event before finishing.
> Previously, we call window.stop() in <img> load event, but window
> load event is fired, because the <img> load event is fired from
> Document::ImplicitClose() via EventSender. At that time window.stop()
> doesn't stop the window load event.
> After this CL, <img> load event is fired separately from
> Document::ImplicitClose(), and thus window.stop() stops the window
> load event.
> To work around this, this CL triggers window load event explicitly
> just to signal testharness.js to finish.
>
> http/tests/loading/preload-image-sizes-2x.html and
> http/tests/loading/preload-picture-sizes-2x.html:
> The tests uses srcset-helper.js that reloads the page with empty
> cache in the window load event.
> Because this CL changes the timing of the window load event, this
> causes some asynchronous tasks that cause new image loading to be
> scheduled before window load event and executed after that, causing
> some images left on the cache before reloading starts.
> This CL works around the issue by waiting a little bit for those
> tasks to be executed, and then clearing the cache and reloading the
> page.
>
> BUG=624697, 720268
>
> Review-Url: https://codereview.chromium.org/2863763003
> Cr-Commit-Position: refs/heads/master@{#474086}
> Committed: https://chromium.googlesource.com/chromium/src/+/da70e32d811fffe4e15728ba858dbdfa3180ed59
TBR=japhet@chromium.org,yhirano@chromium.org,kinuko@chromium.org,kouhei@chromium.org,tzik@chromium.org,hiroshige@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=624697, 720268
Review-Url: https://codereview.chromium.org/2903773002
Cr-Commit-Position: refs/heads/master@{#474154}
Committed: https://chromium.googlesource.com/chromium/src/+/8e7dc7edbcacdd495eb18ff33fe88d1fb89a15d5
Patch Set 1 #
Messages
Total messages: 8 (3 generated)
|