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

Issue 1262593004: Prevent ThreadableLoaderClient methods from being called after failure notification (Closed)

Created:
5 years, 4 months ago by tyoshino (SeeGerritForStatus)
Modified:
5 years, 3 months ago
Reviewers:
hiroshige, Mike West
CC:
blink-reviews, gavinp+loader_chromium.org, Nate Chapin, tyoshino+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Prevent ThreadableLoaderClient methods from being called after failure notification Currently there's no clear guarantee about ThreadableLoaderClient method call. Clean up the class to make didFail.* family methods called only once and no other methods called after them and didFinishLoading(). This includes: - clear m_client when calling didFail.* family methods to make it clear that we won't callback to the client any more - call clearResource() to prevent callback from the Resource Since didFailAccessControlCheck() and didFailRedirectCheck() call no longer require cancelling the loader in them, cancel() call has been removed from EventSource::abortConnectionAttempt(). R=hiroshige BUG=515850 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=202445

Patch Set 1 #

Patch Set 2 : Rebase, EventSource change #

Patch Set 3 : Fixed AssociatedURLLoaderTest #

Patch Set 4 : Don't clear the resource in didFinishLoading #

Total comments: 5

Patch Set 5 : Rebase #

Total comments: 8

Patch Set 6 : Addressed #8 partially #

Patch Set 7 : Addressed #9-11 #

Patch Set 8 : Rebase #

Patch Set 9 : Rebase #

Patch Set 10 : #

Total comments: 8

Patch Set 11 : Addressed #24 #

Total comments: 2

Patch Set 12 : Addressed #30 #

Patch Set 13 : Rebase #

Total comments: 2

Patch Set 14 : Fixed handleSuccessfulFinish condition #

Unified diffs Side-by-side diffs Delta from patch set Stats (+203 lines, -61 lines) Patch
M Source/core/loader/DocumentThreadableLoader.h View 1 2 3 4 5 6 7 8 10 11 12 13 3 chunks +24 lines, -1 line 0 comments Download
M Source/core/loader/DocumentThreadableLoader.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 27 chunks +141 lines, -47 lines 0 comments Download
M Source/core/loader/ThreadableLoader.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +34 lines, -6 lines 0 comments Download
M Source/core/page/EventSource.cpp View 1 2 3 4 5 6 7 1 chunk +3 lines, -6 lines 0 comments Download
M Source/web/AssociatedURLLoaderTest.cpp View 1 2 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 61 (18 generated)
tyoshino (SeeGerritForStatus)
5 years, 4 months ago (2015-07-31 07:36:51 UTC) #2
tyoshino (SeeGerritForStatus)
Fixed AssociatedURLLoaderTest
5 years, 4 months ago (2015-07-31 08:24:51 UTC) #3
hiroshige
On 2015/07/31 08:24:51, tyoshino wrote: > Fixed AssociatedURLLoaderTest Also browser_tests are failing (See test results ...
5 years, 4 months ago (2015-07-31 09:41:15 UTC) #4
tyoshino (SeeGerritForStatus)
On 2015/07/31 09:41:15, hiroshige wrote: > On 2015/07/31 08:24:51, tyoshino wrote: > > Fixed AssociatedURLLoaderTest ...
5 years, 4 months ago (2015-08-03 05:46:06 UTC) #5
hiroshige
https://codereview.chromium.org/1262593004/diff/60001/Source/core/loader/DocumentThreadableLoader.cpp File Source/core/loader/DocumentThreadableLoader.cpp (right): https://codereview.chromium.org/1262593004/diff/60001/Source/core/loader/DocumentThreadableLoader.cpp#newcode553 Source/core/loader/DocumentThreadableLoader.cpp:553: handleSuccessfulFinish(resource->identifier(), resource->loadFinishTime()); m_timeoutTimer.stop() is not executed in this branch? ...
5 years, 4 months ago (2015-08-03 13:22:19 UTC) #6
tyoshino (SeeGerritForStatus)
https://codereview.chromium.org/1262593004/diff/60001/Source/core/loader/DocumentThreadableLoader.cpp File Source/core/loader/DocumentThreadableLoader.cpp (right): https://codereview.chromium.org/1262593004/diff/60001/Source/core/loader/DocumentThreadableLoader.cpp#newcode553 Source/core/loader/DocumentThreadableLoader.cpp:553: handleSuccessfulFinish(resource->identifier(), resource->loadFinishTime()); On 2015/08/03 13:22:19, hiroshige wrote: > m_timeoutTimer.stop() ...
5 years, 4 months ago (2015-08-04 08:32:06 UTC) #7
hiroshige
If we assume any ThreadableLoaderClient's methods can call ThreadableLoader::cancel() or deref ThreadableLoader, then the following ...
5 years, 4 months ago (2015-08-04 10:20:16 UTC) #8
hiroshige
https://codereview.chromium.org/1262593004/diff/80001/Source/core/loader/DocumentThreadableLoader.h File Source/core/loader/DocumentThreadableLoader.h (right): https://codereview.chromium.org/1262593004/diff/80001/Source/core/loader/DocumentThreadableLoader.h#newcode78 Source/core/loader/DocumentThreadableLoader.h:78: // ResourceClient The methods I listed in #8 corresponds ...
5 years, 4 months ago (2015-08-04 10:30:59 UTC) #9
hiroshige
https://codereview.chromium.org/1262593004/diff/80001/Source/core/loader/DocumentThreadableLoader.cpp File Source/core/loader/DocumentThreadableLoader.cpp (right): https://codereview.chromium.org/1262593004/diff/80001/Source/core/loader/DocumentThreadableLoader.cpp#newcode290 Source/core/loader/DocumentThreadableLoader.cpp:290: RefPtr<DocumentThreadableLoader> protect(this); Can we remove |protect| here as well? ...
5 years, 4 months ago (2015-08-06 05:25:03 UTC) #10
hiroshige
https://codereview.chromium.org/1262593004/diff/80001/Source/core/loader/ThreadableLoader.h File Source/core/loader/ThreadableLoader.h (right): https://codereview.chromium.org/1262593004/diff/80001/Source/core/loader/ThreadableLoader.h#newcode136 Source/core/loader/ThreadableLoader.h:136: // - didFailRedirectCheck() How about the following? // Loading ...
5 years, 4 months ago (2015-08-10 15:15:13 UTC) #11
tyoshino (SeeGerritForStatus)
On 2015/08/04 10:20:16, unavailable (hiroshige) wrote: > If we assume any ThreadableLoaderClient's methods can call ...
5 years, 3 months ago (2015-08-25 10:23:18 UTC) #12
tyoshino (SeeGerritForStatus)
https://codereview.chromium.org/1262593004/diff/80001/Source/core/loader/DocumentThreadableLoader.cpp File Source/core/loader/DocumentThreadableLoader.cpp (right): https://codereview.chromium.org/1262593004/diff/80001/Source/core/loader/DocumentThreadableLoader.cpp#newcode290 Source/core/loader/DocumentThreadableLoader.cpp:290: RefPtr<DocumentThreadableLoader> protect(this); On 2015/08/06 05:25:03, hiroshige (slow) wrote: > ...
5 years, 3 months ago (2015-08-26 12:57:33 UTC) #13
tyoshino (SeeGerritForStatus)
On 2015/08/25 10:23:18, tyoshino wrote: > > > dataDownloaded * > > done > > ...
5 years, 3 months ago (2015-09-01 13:25:03 UTC) #14
tyoshino (SeeGerritForStatus)
On 2015/09/01 13:25:03, tyoshino wrote: > Filed https://code.google.com/p/chromium/issues/detail?id=527046 for these > issues. Has been fixed.
5 years, 3 months ago (2015-09-15 06:55:49 UTC) #15
tyoshino (SeeGerritForStatus)
On 2015/08/25 10:23:18, tyoshino wrote: > > notifyFinished > > done > > [TODO] Needs ...
5 years, 3 months ago (2015-09-15 06:58:03 UTC) #16
tyoshino (SeeGerritForStatus)
On 2015/09/15 06:58:03, tyoshino wrote: > On 2015/08/25 10:23:18, tyoshino wrote: > > > notifyFinished ...
5 years, 3 months ago (2015-09-15 07:15:17 UTC) #17
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1262593004/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1262593004/180001
5 years, 3 months ago (2015-09-15 07:15:43 UTC) #19
tyoshino (SeeGerritForStatus)
On 2015/09/15 07:15:17, tyoshino wrote: > On 2015/09/15 06:58:03, tyoshino wrote: > > On 2015/08/25 ...
5 years, 3 months ago (2015-09-15 07:30:08 UTC) #20
tyoshino (SeeGerritForStatus)
Ready for review again.
5 years, 3 months ago (2015-09-15 07:42:11 UTC) #21
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 3 months ago (2015-09-15 08:24:09 UTC) #23
hiroshige
https://codereview.chromium.org/1262593004/diff/180001/Source/core/loader/DocumentThreadableLoader.cpp File Source/core/loader/DocumentThreadableLoader.cpp (right): https://codereview.chromium.org/1262593004/diff/180001/Source/core/loader/DocumentThreadableLoader.cpp#newcode340 Source/core/loader/DocumentThreadableLoader.cpp:340: RefPtr<DocumentThreadableLoader> protect(this); Is this |protect| needed? (This |protect| is ...
5 years, 3 months ago (2015-09-15 08:54:17 UTC) #24
tyoshino (SeeGerritForStatus)
https://codereview.chromium.org/1262593004/diff/180001/Source/core/loader/DocumentThreadableLoader.cpp File Source/core/loader/DocumentThreadableLoader.cpp (right): https://codereview.chromium.org/1262593004/diff/180001/Source/core/loader/DocumentThreadableLoader.cpp#newcode340 Source/core/loader/DocumentThreadableLoader.cpp:340: RefPtr<DocumentThreadableLoader> protect(this); On 2015/09/15 08:54:16, hiroshige wrote: > Is ...
5 years, 3 months ago (2015-09-15 13:29:35 UTC) #25
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1262593004/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1262593004/200001
5 years, 3 months ago (2015-09-15 13:29:49 UTC) #27
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_chromeos_ozone_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_ozone_rel_ng/builds/62933)
5 years, 3 months ago (2015-09-15 13:58:39 UTC) #29
hiroshige
https://codereview.chromium.org/1262593004/diff/200001/Source/core/loader/DocumentThreadableLoader.cpp File Source/core/loader/DocumentThreadableLoader.cpp (right): https://codereview.chromium.org/1262593004/diff/200001/Source/core/loader/DocumentThreadableLoader.cpp#newcode368 Source/core/loader/DocumentThreadableLoader.cpp:368: ASSERT(!m_actualRequest); Here |m_client| might be null (i.e. clear() might ...
5 years, 3 months ago (2015-09-16 04:09:47 UTC) #30
tyoshino (SeeGerritForStatus)
https://codereview.chromium.org/1262593004/diff/200001/Source/core/loader/DocumentThreadableLoader.cpp File Source/core/loader/DocumentThreadableLoader.cpp (right): https://codereview.chromium.org/1262593004/diff/200001/Source/core/loader/DocumentThreadableLoader.cpp#newcode368 Source/core/loader/DocumentThreadableLoader.cpp:368: ASSERT(!m_actualRequest); On 2015/09/16 04:09:47, hiroshige wrote: > Here |m_client| ...
5 years, 3 months ago (2015-09-16 05:41:16 UTC) #31
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1262593004/220001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1262593004/220001
5 years, 3 months ago (2015-09-16 05:43:30 UTC) #33
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: android_chromium_gn_compile_dbg on tryserver.chromium.linux (JOB_FAILED, no build URL) ...
5 years, 3 months ago (2015-09-16 07:46:56 UTC) #35
hiroshige
lgtm. Thanks for your effort!!!
5 years, 3 months ago (2015-09-16 07:54:51 UTC) #36
tyoshino (SeeGerritForStatus)
Hi Mike, Could you please review this?
5 years, 3 months ago (2015-09-16 08:28:50 UTC) #38
Mike West
LGTM.
5 years, 3 months ago (2015-09-16 12:38:48 UTC) #39
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1262593004/240001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1262593004/240001
5 years, 3 months ago (2015-09-17 06:44:05 UTC) #42
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_gn_rel on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_gn_rel/builds/133776)
5 years, 3 months ago (2015-09-17 06:57:19 UTC) #44
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1262593004/240001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1262593004/240001
5 years, 3 months ago (2015-09-17 07:09:59 UTC) #46
commit-bot: I haz the power
Try jobs failed on following builders: win8_chromium_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win8_chromium_ng/builds/41983)
5 years, 3 months ago (2015-09-17 07:29:18 UTC) #48
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1262593004/240001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1262593004/240001
5 years, 3 months ago (2015-09-17 08:32:45 UTC) #50
hiroshige
https://codereview.chromium.org/1262593004/diff/240001/Source/core/loader/DocumentThreadableLoader.cpp File Source/core/loader/DocumentThreadableLoader.cpp (right): https://codereview.chromium.org/1262593004/diff/240001/Source/core/loader/DocumentThreadableLoader.cpp#newcode667 Source/core/loader/DocumentThreadableLoader.cpp:667: ASSERT(!m_sameOriginRequest); This assertion is failing in many browser tests, ...
5 years, 3 months ago (2015-09-17 08:39:33 UTC) #51
tyoshino (SeeGerritForStatus)
https://codereview.chromium.org/1262593004/diff/240001/Source/core/loader/DocumentThreadableLoader.cpp File Source/core/loader/DocumentThreadableLoader.cpp (right): https://codereview.chromium.org/1262593004/diff/240001/Source/core/loader/DocumentThreadableLoader.cpp#newcode667 Source/core/loader/DocumentThreadableLoader.cpp:667: ASSERT(!m_sameOriginRequest); On 2015/09/17 08:39:33, hiroshige wrote: > This assertion ...
5 years, 3 months ago (2015-09-17 08:45:41 UTC) #52
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1262593004/260001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1262593004/260001
5 years, 3 months ago (2015-09-17 08:46:54 UTC) #55
hiroshige
lgtm.
5 years, 3 months ago (2015-09-17 08:54:22 UTC) #56
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/108596)
5 years, 3 months ago (2015-09-17 11:43:45 UTC) #58
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1262593004/260001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1262593004/260001
5 years, 3 months ago (2015-09-17 11:46:39 UTC) #60
commit-bot: I haz the power
5 years, 3 months ago (2015-09-17 12:40:29 UTC) #61
Message was sent while issue was closed.
Committed patchset #14 (id:260001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=202445

Powered by Google App Engine
This is Rietveld 408576698