Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(104)

Issue 2906063003: Reland of remove EventSender from ImageLoader (Closed)

Created:
3 years, 7 months ago by hiroshige
Modified:
3 years, 6 months ago
CC:
blink-reviews, blink-reviews-dom_chromium.org, chromium-reviews, dglazkov+blink, eae+blinkwatch, rwlbuis, sof, yosin_UTC9
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Reland of remove EventSender from ImageLoader (patchset #1 id:1 of https://codereview.chromium.org/2903773002/ ) Reason for reland: https://codereview.chromium.org/2905233002 will fix the leak, because ImageLoader isn't kept alive after the context is destroyed. Original issue's description: > Revert 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 BUG=624697, 720268, 726091 Review-Url: https://codereview.chromium.org/2906063003 Cr-Commit-Position: refs/heads/master@{#475528} Committed: https://chromium.googlesource.com/chromium/src/+/67e066b84ec7953ec06ecf252f466c2c2c063f33

Patch Set 1 #

Patch Set 2 : Rebase with fix. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+74 lines, -221 lines) Patch
M third_party/WebKit/LayoutTests/http/tests/multipart/stop-loading.html View 1 1 chunk +6 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/http/tests/resources/srcset-helper.js View 1 1 chunk +11 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/dom/Document.cpp View 1 2 chunks +0 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/core/events/BUILD.gn View 1 1 chunk +0 lines, -1 line 0 comments Download
D third_party/WebKit/Source/core/events/EventSender.h View 1 chunk +0 lines, -120 lines 0 comments Download
M third_party/WebKit/Source/core/loader/ImageLoader.h View 1 5 chunks +6 lines, -16 lines 0 comments Download
M third_party/WebKit/Source/core/loader/ImageLoader.cpp View 1 13 chunks +51 lines, -73 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 28 (17 generated)
hiroshige
Created Reland of move EventSender from ImageLoader
3 years, 7 months ago (2017-05-26 21:24:28 UTC) #1
yhirano
On 2017/05/26 21:24:28, hiroshige wrote: > Created Reland of move EventSender from ImageLoader Is https://codereview.chromium.org/2905233002 ...
3 years, 6 months ago (2017-05-29 01:23:39 UTC) #10
hiroshige
On 2017/05/29 01:23:39, yhirano wrote: > On 2017/05/26 21:24:28, hiroshige wrote: > > Created Reland ...
3 years, 6 months ago (2017-05-29 10:36:33 UTC) #11
hiroshige
PTAL. This is a reland, fixing leaks by rebasing on https://codereview.chromium.org/2905233002. This CL itself doesn't ...
3 years, 6 months ago (2017-05-29 10:39:28 UTC) #12
yhirano
lgtm
3 years, 6 months ago (2017-05-30 01:50:53 UTC) #14
kinuko
lgtm
3 years, 6 months ago (2017-05-30 02:07:16 UTC) #15
kouhei (in TOK)
lgtm
3 years, 6 months ago (2017-05-30 08:29:46 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2906063003/170001
3 years, 6 months ago (2017-05-30 12:58:05 UTC) #18
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_compile_dbg_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_compile_dbg_ng/builds/422642)
3 years, 6 months ago (2017-05-30 13:55:28 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2906063003/170001
3 years, 6 months ago (2017-05-30 14:21:52 UTC) #25
commit-bot: I haz the power
3 years, 6 months ago (2017-05-30 15:09:48 UTC) #28
Message was sent while issue was closed.
Committed patchset #2 (id:170001) as
https://chromium.googlesource.com/chromium/src/+/67e066b84ec7953ec06ecf252f46...

Powered by Google App Engine
This is Rietveld 408576698