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

Issue 14246006: Implementing timeout support for XHR (Closed)

Created:
7 years, 8 months ago by Dominik Röttsches
Modified:
7 years, 6 months ago
CC:
blink-reviews, jeez
Base URL:
https://chromium.googlesource.com/chromium/blink.git@timeoutResourceHandle
Visibility:
Public.

Description

Implementing timeout support for XHR Adding timeout support to DocumentThreadableLoader. Implementation in higher level of Blink's networking stack in order to allow ResourceHandle abstraction to be reduced to WebUrlLoader after Darin's feedback in https://codereview.chromium.org/14246006/#msg15 Remove WebKit's legacy #ifdef ENABLE_XHR_TIMEOUT and enable the feature by default. Late timeout changes/resets after XHR is sent are not implemented at this point, will file comment on spec. BUG=231959 TEST=Unskipping 11 LayoutTests in http/tests/xmlhttprequest/timeout R=abarth@chromium.org Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=152531

Patch Set 1 #

Total comments: 4

Patch Set 2 : Rebased patch #

Total comments: 10

Patch Set 3 : Adressing eview comments. #

Total comments: 2

Patch Set 4 : Rebased, cancel method accepting error argument. #

Total comments: 4

Patch Set 5 : Timeout support in DocumentThreadableLoader #

Patch Set 6 : Timeout support in DocumentThreadableLoader (rebased after eb2eb02c34d16c) #

Total comments: 3

Patch Set 7 : Timeout support in DocumentThreadableLoader (review comments addressed) #

Patch Set 8 : Timeout support in DocumentThreadableLoader (rebased) #

Patch Set 9 : Timeout support in DocumentThreadableLoader (rebased^2) #

Patch Set 10 : Timeout support in DocumentThreadableLoader (win test fixes) #

Patch Set 11 : Timeout support in DocumentThreadableLoader (speculative bot failure fix) #

Unified diffs Side-by-side diffs Delta from patch set Stats (+55 lines, -56 lines) Patch
M LayoutTests/TestExpectations View 1 2 3 4 5 6 7 8 9 10 1 chunk +0 lines, -13 lines 0 comments Download
M LayoutTests/http/tests/resources/load-and-stall.php View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -1 line 0 comments Download
M LayoutTests/http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout.js View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M LayoutTests/http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-aborted.html View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M LayoutTests/http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-abortedonmain.html View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M LayoutTests/http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-overridesexpires.html View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M LayoutTests/http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-simple.html View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M LayoutTests/http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-synconmain.html View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M LayoutTests/http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-twice.html View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M LayoutTests/http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-worker-aborted.html View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M LayoutTests/http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-worker-overridesexpires.html View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M LayoutTests/http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-worker-simple.html View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M LayoutTests/http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-worker-synconworker.html View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M LayoutTests/http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-worker-twice.html View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M Source/core/loader/DocumentThreadableLoader.h View 1 2 3 4 5 6 4 chunks +6 lines, -0 lines 0 comments Download
M Source/core/loader/DocumentThreadableLoader.cpp View 1 2 3 4 5 6 7 8 9 10 6 chunks +31 lines, -4 lines 0 comments Download
M Source/core/loader/ThreadableLoader.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +3 lines, -1 line 0 comments Download
M Source/core/xml/XMLHttpRequest.h View 1 2 3 4 5 6 7 8 9 10 4 chunks +0 lines, -8 lines 0 comments Download
M Source/core/xml/XMLHttpRequest.cpp View 1 2 3 4 5 6 7 8 9 10 8 chunks +1 line, -15 lines 0 comments Download
M Source/core/xml/XMLHttpRequest.idl View 1 2 3 4 5 6 7 8 9 10 2 chunks +2 lines, -2 lines 0 comments Download

Messages

Total messages: 46 (0 generated)
darin (slow to review)
Note: This doesn't handle the synchronous XHR case. You probably want to move this all ...
7 years, 8 months ago (2013-04-16 18:50:52 UTC) #1
darin (slow to review)
Nevermind. I see now that the spec does not support the synchronous XHR case when ...
7 years, 8 months ago (2013-04-16 18:59:33 UTC) #2
darin (slow to review)
https://codereview.chromium.org/14246006/diff/1/Source/WebCore/platform/network/chromium/ResourceHandle.cpp File Source/WebCore/platform/network/chromium/ResourceHandle.cpp (right): https://codereview.chromium.org/14246006/diff/1/Source/WebCore/platform/network/chromium/ResourceHandle.cpp#newcode188 Source/WebCore/platform/network/chromium/ResourceHandle.cpp:188: static const int timeoutError = -1001; Hmm, the network ...
7 years, 8 months ago (2013-04-16 19:03:45 UTC) #3
Dominik Röttsches
https://codereview.chromium.org/14246006/diff/1/Source/WebCore/platform/network/chromium/ResourceHandle.cpp File Source/WebCore/platform/network/chromium/ResourceHandle.cpp (right): https://codereview.chromium.org/14246006/diff/1/Source/WebCore/platform/network/chromium/ResourceHandle.cpp#newcode188 Source/WebCore/platform/network/chromium/ResourceHandle.cpp:188: static const int timeoutError = -1001; On 2013/04/16 19:03:45, ...
7 years, 8 months ago (2013-04-17 08:26:52 UTC) #4
jamesr
https://codereview.chromium.org/14246006/diff/1/Source/WebCore/platform/network/chromium/ResourceHandle.cpp File Source/WebCore/platform/network/chromium/ResourceHandle.cpp (right): https://codereview.chromium.org/14246006/diff/1/Source/WebCore/platform/network/chromium/ResourceHandle.cpp#newcode3 Source/WebCore/platform/network/chromium/ResourceHandle.cpp:3: * Copyright (C) 2013 Intel Corporation. All rights reserved. ...
7 years, 8 months ago (2013-04-17 17:51:05 UTC) #5
d.roettsches
On 2013/04/17 17:51:05, jamesr wrote: > https://codereview.chromium.org/14246006/diff/1/Source/WebCore/platform/network/chromium/ResourceHandle.cpp > File Source/WebCore/platform/network/chromium/ResourceHandle.cpp (right): > > https://codereview.chromium.org/14246006/diff/1/Source/WebCore/platform/network/chromium/ResourceHandle.cpp#newcode3 > ...
7 years, 8 months ago (2013-04-17 20:08:45 UTC) #6
abarth-chromium
https://codereview.chromium.org/14246006/diff/1/Source/WebCore/platform/network/chromium/ResourceHandle.cpp File Source/WebCore/platform/network/chromium/ResourceHandle.cpp (right): https://codereview.chromium.org/14246006/diff/1/Source/WebCore/platform/network/chromium/ResourceHandle.cpp#newcode3 Source/WebCore/platform/network/chromium/ResourceHandle.cpp:3: * Copyright (C) 2013 Intel Corporation. All rights reserved. ...
7 years, 8 months ago (2013-04-18 05:34:09 UTC) #7
Dominik Röttsches
Darin, Adam, James, I rebased the patch. Do you think we can move forward with ...
7 years, 8 months ago (2013-04-18 11:04:46 UTC) #8
abarth-chromium
Looks reasonable. Some detailed feedback below. https://codereview.chromium.org/14246006/diff/9001/Source/core/platform/network/chromium/ResourceHandle.cpp File Source/core/platform/network/chromium/ResourceHandle.cpp (right): https://codereview.chromium.org/14246006/diff/9001/Source/core/platform/network/chromium/ResourceHandle.cpp#newcode186 Source/core/platform/network/chromium/ResourceHandle.cpp:186: { Usually we ...
7 years, 8 months ago (2013-04-19 06:54:39 UTC) #9
Dominik Röttsches
Thanks for the thorough review, Adam. https://codereview.chromium.org/14246006/diff/9001/Source/core/platform/network/chromium/ResourceHandle.cpp File Source/core/platform/network/chromium/ResourceHandle.cpp (right): https://codereview.chromium.org/14246006/diff/9001/Source/core/platform/network/chromium/ResourceHandle.cpp#newcode62 Source/core/platform/network/chromium/ResourceHandle.cpp:62: , m_timer(this, &ResourceHandleInternal::timerFired) ...
7 years, 8 months ago (2013-04-19 13:45:52 UTC) #10
Dominik Röttsches
New version uploaded, review comments addressed.
7 years, 8 months ago (2013-04-19 13:49:14 UTC) #11
abarth-chromium
https://codereview.chromium.org/14246006/diff/15001/Source/core/platform/network/chromium/ResourceHandle.cpp File Source/core/platform/network/chromium/ResourceHandle.cpp (right): https://codereview.chromium.org/14246006/diff/15001/Source/core/platform/network/chromium/ResourceHandle.cpp#newcode195 Source/core/platform/network/chromium/ResourceHandle.cpp:195: } I'm still concerned that this function copy/pastes code ...
7 years, 8 months ago (2013-04-19 16:29:48 UTC) #12
d.roettsches
On 2013/04/19 16:29:48, abarth wrote: > https://codereview.chromium.org/14246006/diff/15001/Source/core/platform/network/chromium/ResourceHandle.cpp > File Source/core/platform/network/chromium/ResourceHandle.cpp (right): > > https://codereview.chromium.org/14246006/diff/15001/Source/core/platform/network/chromium/ResourceHandle.cpp#newcode195 > ...
7 years, 8 months ago (2013-04-19 21:20:15 UTC) #13
Dominik Röttsches
I updated the patch to give cancel() a ResourceError reference argument, initialized to an empty ...
7 years, 8 months ago (2013-04-22 15:47:45 UTC) #14
darin (slow to review)
Apologies. I have a potentially disruptive comment: We have talked about thinning WebCore/platform/ to the ...
7 years, 8 months ago (2013-04-22 16:24:37 UTC) #15
Dominik Röttsches
On 2013/04/22 16:24:37, darin wrote: > I'd suggest looking at moving this feature to DocumentThreadableLoader ...
7 years, 8 months ago (2013-04-22 16:45:58 UTC) #16
abarth-chromium
On 2013/04/22 16:45:58, Dominik Röttsches wrote: > On 2013/04/22 16:24:37, darin wrote: > > I'd ...
7 years, 8 months ago (2013-04-22 17:41:28 UTC) #17
darin (slow to review)
https://codereview.chromium.org/14246006/diff/24001/Source/core/platform/network/chromium/ResourceHandle.cpp File Source/core/platform/network/chromium/ResourceHandle.cpp (right): https://codereview.chromium.org/14246006/diff/24001/Source/core/platform/network/chromium/ResourceHandle.cpp#newcode79 Source/core/platform/network/chromium/ResourceHandle.cpp:79: if (m_request.timeoutInterval() > 0) I'm also curious if we ...
7 years, 8 months ago (2013-04-22 17:46:38 UTC) #18
d.roettsches
On 2013/04/22 17:46:38, darin wrote: > https://codereview.chromium.org/14246006/diff/24001/Source/core/platform/network/chromium/ResourceHandle.cpp > File Source/core/platform/network/chromium/ResourceHandle.cpp (right): > > https://codereview.chromium.org/14246006/diff/24001/Source/core/platform/network/chromium/ResourceHandle.cpp#newcode79 > ...
7 years, 8 months ago (2013-04-22 20:12:44 UTC) #19
Dominik Röttsches
Updated patch, based on Darin's suggestions to put the logic into DocumentThreadableLoader.
7 years, 7 months ago (2013-05-15 14:31:15 UTC) #20
Dominik Röttsches
On 2013/05/15 14:31:15, Dominik Röttsches wrote: > Updated patch, based on Darin's suggestions to put ...
7 years, 7 months ago (2013-05-15 15:24:50 UTC) #21
abarth-chromium
I sent it to the bots for you.
7 years, 7 months ago (2013-05-15 15:36:16 UTC) #22
Dominik Röttsches
On 2013/05/15 15:36:16, abarth wrote: > I sent it to the bots for you. Thanks ...
7 years, 7 months ago (2013-05-15 15:55:39 UTC) #23
Dominik Röttsches
I suspect, the windows bot failure is a line ending issue - which I will ...
7 years, 7 months ago (2013-05-16 11:57:27 UTC) #24
abarth-chromium
The code looks good. I'll let Darin give the official stamp to make sure he's ...
7 years, 7 months ago (2013-05-17 05:10:40 UTC) #25
darin (slow to review)
Design wise, this seems like the right spot for this code. I might consider an ...
7 years, 7 months ago (2013-05-17 06:57:41 UTC) #26
Dominik Röttsches
On 2013/05/17 05:10:40, abarth wrote: > The code looks good. I'll let Darin give the ...
7 years, 7 months ago (2013-05-17 08:14:38 UTC) #27
abarth-chromium
lgtm OK. Let's get this show on the road. Thank you for being patient with ...
7 years, 7 months ago (2013-05-17 16:15:49 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dominik.rottsches@intel.com/14246006/48001
7 years, 7 months ago (2013-05-17 16:15:59 UTC) #29
commit-bot: I haz the power
Retried try job too often on win_layout_rel for step(s) webkit_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=win_layout_rel&number=5527
7 years, 7 months ago (2013-05-17 17:11:00 UTC) #30
d.roettsches
Trying to get a windows build set up so that I can check what's up ...
7 years, 6 months ago (2013-05-29 19:36:59 UTC) #31
Dominik Röttsches
I think I found the reason for the windows test failures, let's see what the ...
7 years, 6 months ago (2013-06-03 09:07:38 UTC) #32
Dominik Röttsches
Adam, does the minor change to the test cases a new LGTM? If you're okay ...
7 years, 6 months ago (2013-06-03 10:53:24 UTC) #33
abarth-chromium
On 2013/06/03 10:53:24, Dominik Röttsches wrote: > Adam, does the minor change to the test ...
7 years, 6 months ago (2013-06-03 18:29:14 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dominik.rottsches@intel.com/14246006/69001
7 years, 6 months ago (2013-06-03 18:29:35 UTC) #35
commit-bot: I haz the power
Retried try job too often on mac_layout_rel for step(s) webkit_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=mac_layout_rel&number=8418
7 years, 6 months ago (2013-06-03 19:42:56 UTC) #36
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dominik.rottsches@intel.com/14246006/69001
7 years, 6 months ago (2013-06-04 06:31:28 UTC) #37
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dominik.rottsches@intel.com/14246006/69001
7 years, 6 months ago (2013-06-04 06:32:50 UTC) #38
commit-bot: I haz the power
Retried try job too often on mac_layout_rel for step(s) webkit_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=mac_layout_rel&number=8518
7 years, 6 months ago (2013-06-04 08:14:21 UTC) #39
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dominik.rottsches@intel.com/14246006/69001
7 years, 6 months ago (2013-06-04 17:14:11 UTC) #40
commit-bot: I haz the power
Retried try job too often on mac_layout_rel for step(s) webkit_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=mac_layout_rel&number=8646
7 years, 6 months ago (2013-06-04 18:25:20 UTC) #41
Dominik Röttsches
Committed patchset #10 manually as r152437 (presubmit successful).
7 years, 6 months ago (2013-06-14 11:23:16 UTC) #42
Stephen White
This patch seems to be causing a fair number of timeouts and crashes in the ...
7 years, 6 months ago (2013-06-14 12:47:03 UTC) #43
Dominik Röttsches
I'll take a look.
7 years, 6 months ago (2013-06-14 12:59:46 UTC) #44
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dominik.rottsches@intel.com/14246006/101001
7 years, 6 months ago (2013-06-17 08:31:28 UTC) #45
commit-bot: I haz the power
7 years, 6 months ago (2013-06-17 09:11:32 UTC) #46
Message was sent while issue was closed.
Change committed as 152531

Powered by Google App Engine
This is Rietveld 408576698