Chromium Code Reviews
Help | Chromium Project | Gerrit Changes | Sign in
(89)

Issue 1162043007: Introduce CompositeDataConsumerHandle. (Closed)

Created:
4 years, 11 months ago by yhirano
Modified:
4 years, 10 months ago
Reviewers:
hiroshige
CC:
blink-reviews
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Introduce CompositeDataConsumerHandle. This CL introduces CompositeDataConsumerHandle, a utility class to composite multiple WebDataConsumerHandle objects. This class is planned to be used in the following use case, for example. Imagine we want to provide a WebDataConsumerHandle representing a response body gotten from a ThreadableLoader, but we need to create the handle BEFORE the response body arrives. In such a case, we can create a CompositeDataConsumerHandle initialized with a handle gotten from CompositeDataConsumerHandle::createWaitingHandle. When the response body arrives, calling CompositeDataConsumerHandle::update will update the handle so that it represents the response body. BUG=480746 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=197174

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : #

Total comments: 14

Patch Set 6 : #

Total comments: 16

Patch Set 7 : #

Total comments: 4

Patch Set 8 : #

Total comments: 9

Patch Set 9 : #

Total comments: 2

Patch Set 10 : #

Total comments: 20

Patch Set 11 : #

Patch Set 12 : #

Patch Set 13 : #

Patch Set 14 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+940 lines, -0 lines) Patch
A Source/modules/fetch/CompositeDataConsumerHandle.h View 1 2 3 4 5 6 7 12 1 chunk +59 lines, -0 lines 0 comments Download
A Source/modules/fetch/CompositeDataConsumerHandle.cpp View 1 2 3 4 5 6 7 8 9 12 1 chunk +280 lines, -0 lines 0 comments Download
A Source/modules/fetch/CompositeDataConsumerHandleTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +598 lines, -0 lines 0 comments Download
M Source/modules/modules.gypi View 1 2 3 4 5 6 7 8 9 10 2 chunks +3 lines, -0 lines 0 comments Download

Messages

Total messages: 44 (16 generated)
yhirano
4 years, 11 months ago (2015-06-02 11:50:42 UTC) #2
yhirano
Sorry, I misunderstood WeakPtr requirements and that leads to test failures. Please wait for a ...
4 years, 11 months ago (2015-06-02 13:31:09 UTC) #3
yhirano
It's ready now. PTAL.
4 years, 11 months ago (2015-06-03 06:54:02 UTC) #4
hiroshige
> I misunderstood WeakPtr requirements and that leads to test failures. In my understandings, this ...
4 years, 11 months ago (2015-06-03 08:19:02 UTC) #5
hiroshige
https://codereview.chromium.org/1162043007/diff/80001/Source/modules/fetch/CompositeDataConsumerHandle.cpp File Source/modules/fetch/CompositeDataConsumerHandle.cpp (right): https://codereview.chromium.org/1162043007/diff/80001/Source/modules/fetch/CompositeDataConsumerHandle.cpp#newcode88 Source/modules/fetch/CompositeDataConsumerHandle.cpp:88: Result CompositeDataConsumerHandle::read(void* data, size_t size, Flags flags, size_t* readSize) ...
4 years, 11 months ago (2015-06-03 08:45:05 UTC) #6
hiroshige
https://codereview.chromium.org/1162043007/diff/80001/Source/modules/fetch/CompositeDataConsumerHandle.cpp File Source/modules/fetch/CompositeDataConsumerHandle.cpp (right): https://codereview.chromium.org/1162043007/diff/80001/Source/modules/fetch/CompositeDataConsumerHandle.cpp#newcode123 Source/modules/fetch/CompositeDataConsumerHandle.cpp:123: void CompositeDataConsumerHandle::update(PassOwnPtr<WebDataConsumerHandle> handle) Multiple calls to update() might be ...
4 years, 11 months ago (2015-06-03 10:35:56 UTC) #7
yhirano
I'm not sure if thread-safe weak ptr is generally needed. Let's talk offline. https://codereview.chromium.org/1162043007/diff/80001/Source/modules/fetch/CompositeDataConsumerHandle.cpp File ...
4 years, 11 months ago (2015-06-04 05:43:03 UTC) #10
yhirano
I uploaded PS6 which uses the Reader API (https://codereview.chromium.org/1149563007/). Can you take a look?
4 years, 10 months ago (2015-06-08 11:57:31 UTC) #14
hiroshige
https://codereview.chromium.org/1162043007/diff/200001/Source/modules/fetch/CompositeDataConsumerHandle.cpp File Source/modules/fetch/CompositeDataConsumerHandle.cpp (right): https://codereview.chromium.org/1162043007/diff/200001/Source/modules/fetch/CompositeDataConsumerHandle.cpp#newcode77 Source/modules/fetch/CompositeDataConsumerHandle.cpp:77: ++m_token; Assert that there is no reader (e.g. |!m_reader|). ...
4 years, 10 months ago (2015-06-09 05:37:16 UTC) #15
hiroshige
https://codereview.chromium.org/1162043007/diff/200001/Source/modules/fetch/CompositeDataConsumerHandle.cpp File Source/modules/fetch/CompositeDataConsumerHandle.cpp (right): https://codereview.chromium.org/1162043007/diff/200001/Source/modules/fetch/CompositeDataConsumerHandle.cpp#newcode131 Source/modules/fetch/CompositeDataConsumerHandle.cpp:131: m_readerThread->postTask(FROM_HERE, new Task(threadSafeBind(&Context::updateReader, this, m_token))); Correction: The current code ...
4 years, 10 months ago (2015-06-09 05:47:10 UTC) #16
yhirano
https://codereview.chromium.org/1162043007/diff/200001/Source/modules/fetch/CompositeDataConsumerHandle.cpp File Source/modules/fetch/CompositeDataConsumerHandle.cpp (right): https://codereview.chromium.org/1162043007/diff/200001/Source/modules/fetch/CompositeDataConsumerHandle.cpp#newcode77 Source/modules/fetch/CompositeDataConsumerHandle.cpp:77: ++m_token; On 2015/06/09 05:37:16, hiroshige wrote: > Assert that ...
4 years, 10 months ago (2015-06-09 06:30:52 UTC) #18
hiroshige
https://codereview.chromium.org/1162043007/diff/230001/Source/modules/fetch/CompositeDataConsumerHandle.cpp File Source/modules/fetch/CompositeDataConsumerHandle.cpp (right): https://codereview.chromium.org/1162043007/diff/230001/Source/modules/fetch/CompositeDataConsumerHandle.cpp#newcode133 Source/modules/fetch/CompositeDataConsumerHandle.cpp:133: m_reader = m_handle->obtainReader(m_client); From offline discussion: this is not ...
4 years, 10 months ago (2015-06-09 10:35:31 UTC) #19
yhirano
https://codereview.chromium.org/1162043007/diff/230001/Source/modules/fetch/CompositeDataConsumerHandle.cpp File Source/modules/fetch/CompositeDataConsumerHandle.cpp (right): https://codereview.chromium.org/1162043007/diff/230001/Source/modules/fetch/CompositeDataConsumerHandle.cpp#newcode133 Source/modules/fetch/CompositeDataConsumerHandle.cpp:133: m_reader = m_handle->obtainReader(m_client); On 2015/06/09 10:35:30, hiroshige wrote: > ...
4 years, 10 months ago (2015-06-09 11:15:30 UTC) #20
hiroshige
https://codereview.chromium.org/1162043007/diff/250001/Source/modules/fetch/CompositeDataConsumerHandle.cpp File Source/modules/fetch/CompositeDataConsumerHandle.cpp (right): https://codereview.chromium.org/1162043007/diff/250001/Source/modules/fetch/CompositeDataConsumerHandle.cpp#newcode86 Source/modules/fetch/CompositeDataConsumerHandle.cpp:86: { Add ASSERT(!m_isInTwoPhaseRead) and ASSERT(!m_isUpdateWaitingForEndRead). Also, add a destructor ...
4 years, 10 months ago (2015-06-10 06:55:26 UTC) #21
yhirano
https://codereview.chromium.org/1162043007/diff/250001/Source/modules/fetch/CompositeDataConsumerHandle.cpp File Source/modules/fetch/CompositeDataConsumerHandle.cpp (right): https://codereview.chromium.org/1162043007/diff/250001/Source/modules/fetch/CompositeDataConsumerHandle.cpp#newcode86 Source/modules/fetch/CompositeDataConsumerHandle.cpp:86: { On 2015/06/10 06:55:25, hiroshige wrote: > Add ASSERT(!m_isInTwoPhaseRead) ...
4 years, 10 months ago (2015-06-10 11:02:44 UTC) #23
hiroshige
https://codereview.chromium.org/1162043007/diff/290001/Source/modules/fetch/CompositeDataConsumerHandle.cpp File Source/modules/fetch/CompositeDataConsumerHandle.cpp (right): https://codereview.chromium.org/1162043007/diff/290001/Source/modules/fetch/CompositeDataConsumerHandle.cpp#newcode157 Source/modules/fetch/CompositeDataConsumerHandle.cpp:157: m_isInTwoPhaseRead = true; We shouldn't set m_isInTwoPhaseRead if m_reader->beginRead() ...
4 years, 10 months ago (2015-06-10 13:39:53 UTC) #24
yhirano
https://codereview.chromium.org/1162043007/diff/290001/Source/modules/fetch/CompositeDataConsumerHandle.cpp File Source/modules/fetch/CompositeDataConsumerHandle.cpp (right): https://codereview.chromium.org/1162043007/diff/290001/Source/modules/fetch/CompositeDataConsumerHandle.cpp#newcode157 Source/modules/fetch/CompositeDataConsumerHandle.cpp:157: m_isInTwoPhaseRead = true; On 2015/06/10 13:39:52, hiroshige wrote: > ...
4 years, 10 months ago (2015-06-11 08:43:37 UTC) #25
hiroshige
https://codereview.chromium.org/1162043007/diff/310001/Source/modules/fetch/CompositeDataConsumerHandleTest.cpp File Source/modules/fetch/CompositeDataConsumerHandleTest.cpp (right): https://codereview.chromium.org/1162043007/diff/310001/Source/modules/fetch/CompositeDataConsumerHandleTest.cpp#newcode85 Source/modules/fetch/CompositeDataConsumerHandleTest.cpp:85: m_readingThread = adoptPtr(Platform::current()->createThread("reading thread")); nit optional: can this be ...
4 years, 10 months ago (2015-06-15 07:29:37 UTC) #26
hiroshige
https://codereview.chromium.org/1162043007/diff/310001/Source/modules/fetch/CompositeDataConsumerHandleTest.cpp File Source/modules/fetch/CompositeDataConsumerHandleTest.cpp (right): https://codereview.chromium.org/1162043007/diff/310001/Source/modules/fetch/CompositeDataConsumerHandleTest.cpp#newcode291 Source/modules/fetch/CompositeDataConsumerHandleTest.cpp:291: EXPECT_EQ(kShouldWait, reader->read(buffer, sizeof(buffer), kNone, &size)); Should we check |size| ...
4 years, 10 months ago (2015-06-15 09:28:58 UTC) #27
hiroshige
https://codereview.chromium.org/1162043007/diff/310001/Source/modules/fetch/CompositeDataConsumerHandleTest.cpp File Source/modules/fetch/CompositeDataConsumerHandleTest.cpp (right): https://codereview.chromium.org/1162043007/diff/310001/Source/modules/fetch/CompositeDataConsumerHandleTest.cpp#newcode291 Source/modules/fetch/CompositeDataConsumerHandleTest.cpp:291: EXPECT_EQ(kShouldWait, reader->read(buffer, sizeof(buffer), kNone, &size)); Should we check |size| ...
4 years, 10 months ago (2015-06-15 09:28:58 UTC) #28
yhirano
PS11 addresses hiroshige@'s comments. PS12 decouples "Updater" from the handle. PTAL https://codereview.chromium.org/1162043007/diff/310001/Source/modules/fetch/CompositeDataConsumerHandleTest.cpp File Source/modules/fetch/CompositeDataConsumerHandleTest.cpp (right): ...
4 years, 10 months ago (2015-06-16 09:03:53 UTC) #31
hiroshige
lgtm for Patch Set 11. Could you make Patch Set 12 a separate CL? (I'd ...
4 years, 10 months ago (2015-06-16 09:18:20 UTC) #32
yhirano
On 2015/06/16 09:18:20, hiroshige wrote: > lgtm for Patch Set 11. > > Could you ...
4 years, 10 months ago (2015-06-16 09:22:54 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1162043007/410001
4 years, 10 months ago (2015-06-16 09:23:26 UTC) #36
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1162043007/420001
4 years, 10 months ago (2015-06-16 10:48:44 UTC) #39
commit-bot: I haz the power
Try jobs failed on following builders: win_blink_rel on tryserver.blink (JOB_FAILED, http://build.chromium.org/p/tryserver.blink/builders/win_blink_rel/builds/66781)
4 years, 10 months ago (2015-06-16 13:47:41 UTC) #41
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1162043007/420001
4 years, 10 months ago (2015-06-16 14:06:40 UTC) #43
commit-bot: I haz the power
4 years, 10 months ago (2015-06-16 15:41:40 UTC) #44
Message was sent while issue was closed.
Committed patchset #14 (id:420001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=197174

Powered by Google App Engine
This is Rietveld 408576698