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

Issue 2056993003: Add Mojo IPC for seeding new Renderer with Browser's cached blob state. (Closed)

Created:
4 years, 6 months ago by Kevin M
Modified:
4 years, 5 months ago
Reviewers:
nyquist, Wez, dcheng
CC:
chromium-reviews, cbentzel+watch_chromium.org, anandc+watch-blimp_chromium.org, maniscalco+watch-blimp_chromium.org, sriramsr+watch-blimp_chromium.org, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org, abarth-chromium, nyquist+watch-blimp_chromium.org, Aaron Boodman, marcinjb+watch-blimp_chromium.org, jessicag+watch-blimp_chromium.org, kmarshall+watch-blimp_chromium.org, lethalantidote+watch-blimp_chromium.org, darin (slow to review), dtrainor+watch-blimp_chromium.org, ben+mojo_chromium.org, shaktisahu+watch-blimp_chromium.org, khushalsagar+watch-blimp_chromium.org, qsr+mojo_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@blobchannel-master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Add Mojo IPC for seeding new Renderer with Browser's cached blob state. Cache key state is currently stored in the renderer and is used by the image processor to determine which images should be transcoded and sent to the client, and which images do not need to be sent, reducing latency and compute resources. A drawback of storing this state in the renderer is that the cache state is dumped when the renderer is torn down, as in the case when the user navigates to another site. This patch provides the renderer with a snapshot of the browser's cache state, which means that the knowledge of cache state is retained when the renderer of a given site is torn down and brought back again. * Add GetCacheState() to BlobCache * Add GetCacheState() to BlobChannelSender() * Add GetCacheState() to .mojom file. R=nyquist@chromium.org,wez@chromium.org BUG=600719 Committed: https://crrev.com/2cfb64fdb531ebf178913ccda75d8b6954b9bae9 Cr-Commit-Position: refs/heads/master@{#406658}

Patch Set 1 #

Patch Set 2 : rebase #

Patch Set 3 : Added BlobChannelSender test #

Patch Set 4 : use a better upstream branch for the patch #

Total comments: 28

Patch Set 5 : wez feedback #

Patch Set 6 : rebase #

Patch Set 7 : IPC owners #

Patch Set 8 : . #

Total comments: 1

Patch Set 9 : dcheng feedback #

Patch Set 10 : Revert type converters #

Total comments: 2

Patch Set 11 : Mojo mapz #

Total comments: 24

Patch Set 12 : wez/nyquist feedback #

Patch Set 13 : STL containers yay #

Unified diffs Side-by-side diffs Delta from patch set Stats (+175 lines, -19 lines) Patch
M blimp/OWNERS View 1 2 3 4 5 6 1 chunk +0 lines, -1 line 0 comments Download
M blimp/common/blob_cache/blob_cache.h View 1 2 3 4 1 chunk +3 lines, -0 lines 0 comments Download
M blimp/common/blob_cache/in_memory_blob_cache.h View 1 2 3 4 2 chunks +2 lines, -0 lines 0 comments Download
M blimp/common/blob_cache/in_memory_blob_cache.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +10 lines, -0 lines 0 comments Download
M blimp/common/blob_cache/in_memory_blob_cache_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +17 lines, -4 lines 0 comments Download
M blimp/common/blob_cache/mock_blob_cache.h View 1 2 3 4 2 chunks +3 lines, -0 lines 0 comments Download
M blimp/engine/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +0 lines, -2 lines 0 comments Download
M blimp/engine/mojo/blob_channel.mojom View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +8 lines, -0 lines 0 comments Download
M blimp/engine/mojo/blob_channel_service.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +6 lines, -2 lines 0 comments Download
M blimp/engine/mojo/blob_channel_service.cc View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +16 lines, -2 lines 0 comments Download
M blimp/engine/renderer/blob_channel_sender_proxy.h View 1 2 3 4 5 6 7 8 9 10 11 12 4 chunks +18 lines, -0 lines 0 comments Download
M blimp/engine/renderer/blob_channel_sender_proxy.cc View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +23 lines, -2 lines 0 comments Download
M blimp/net/blob_channel/blob_channel_sender.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +10 lines, -0 lines 0 comments Download
M blimp/net/blob_channel/blob_channel_sender_impl.h View 1 2 3 4 2 chunks +3 lines, -0 lines 0 comments Download
M blimp/net/blob_channel/blob_channel_sender_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +18 lines, -0 lines 0 comments Download
M blimp/net/blob_channel/blob_channel_sender_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +37 lines, -6 lines 0 comments Download
M blimp/net/blob_channel/mock_blob_channel_sender.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 33 (7 generated)
Kevin M
Unit tests forthcoming, in a followup patch.
4 years, 6 months ago (2016-06-10 22:09:14 UTC) #1
Wez
https://codereview.chromium.org/2056993003/diff/60001/blimp/common/blob_cache/blob_cache.h File blimp/common/blob_cache/blob_cache.h (right): https://codereview.chromium.org/2056993003/diff/60001/blimp/common/blob_cache/blob_cache.h#newcode29 blimp/common/blob_cache/blob_cache.h:29: virtual std::vector<BlobId> GetCacheState() const = 0; In general this ...
4 years, 6 months ago (2016-06-21 00:33:33 UTC) #2
Kevin M
https://codereview.chromium.org/2056993003/diff/60001/blimp/common/blob_cache/blob_cache.h File blimp/common/blob_cache/blob_cache.h (right): https://codereview.chromium.org/2056993003/diff/60001/blimp/common/blob_cache/blob_cache.h#newcode29 blimp/common/blob_cache/blob_cache.h:29: virtual std::vector<BlobId> GetCacheState() const = 0; On 2016/06/21 00:33:33, ...
4 years, 6 months ago (2016-06-21 21:23:52 UTC) #3
Wez
LGTM w/ nits https://codereview.chromium.org/2056993003/diff/60001/blimp/common/blob_cache/blob_cache.h File blimp/common/blob_cache/blob_cache.h (right): https://codereview.chromium.org/2056993003/diff/60001/blimp/common/blob_cache/blob_cache.h#newcode29 blimp/common/blob_cache/blob_cache.h:29: virtual std::vector<BlobId> GetCacheState() const = 0; ...
4 years, 6 months ago (2016-06-22 19:54:23 UTC) #4
Kevin M
https://codereview.chromium.org/2056993003/diff/60001/blimp/engine/renderer/blob_channel_sender_proxy.cc File blimp/engine/renderer/blob_channel_sender_proxy.cc (right): https://codereview.chromium.org/2056993003/diff/60001/blimp/engine/renderer/blob_channel_sender_proxy.cc#newcode72 blimp/engine/renderer/blob_channel_sender_proxy.cc:72: return std::vector<BlobChannelSender::CacheState>(); On 2016/06/22 19:54:23, Wez wrote: > On ...
4 years, 6 months ago (2016-06-22 23:52:53 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2056993003/100001
4 years, 6 months ago (2016-06-22 23:53:36 UTC) #8
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/205511)
4 years, 6 months ago (2016-06-23 00:03:50 UTC) #10
Kevin M
+dcheng for Mojo change (IPC security review)
4 years, 6 months ago (2016-06-23 18:09:09 UTC) #12
dcheng
https://codereview.chromium.org/2056993003/diff/140001/blimp/engine/mojo/blob_channel_service.cc File blimp/engine/mojo/blob_channel_service.cc (right): https://codereview.chromium.org/2056993003/diff/140001/blimp/engine/mojo/blob_channel_service.cc#newcode34 blimp/engine/mojo/blob_channel_service.cc:34: converted->was_delivered = cache_state[i].was_delivered; Would it make sense to write ...
4 years, 6 months ago (2016-06-25 00:55:55 UTC) #13
Kevin M
4 years, 5 months ago (2016-06-27 17:55:00 UTC) #14
dcheng
On 2016/06/27 17:55:00, Kevin M wrote: I clarify, I'm referring to https://www.chromium.org/developers/design-documents/mojo/type-mapping, which is distinct ...
4 years, 5 months ago (2016-06-27 21:29:02 UTC) #15
Kevin M
That looks cool. I started going down that path, but it looks like a **lot** ...
4 years, 5 months ago (2016-06-28 17:36:11 UTC) #16
Kevin M
Reverted the deprecated type converter patch.
4 years, 5 months ago (2016-06-28 17:39:14 UTC) #17
dcheng
On 2016/06/28 17:36:11, Kevin M wrote: > That looks cool. I started going down that ...
4 years, 5 months ago (2016-06-28 21:34:52 UTC) #18
Kevin M
https://codereview.chromium.org/2056993003/diff/180001/blimp/engine/renderer/blob_channel_sender_proxy.cc File blimp/engine/renderer/blob_channel_sender_proxy.cc (right): https://codereview.chromium.org/2056993003/diff/180001/blimp/engine/renderer/blob_channel_sender_proxy.cc#newcode71 blimp/engine/renderer/blob_channel_sender_proxy.cc:71: replication_state_.clear(); On 2016/06/28 21:34:52, dcheng wrote: > Are there ...
4 years, 5 months ago (2016-06-29 21:01:22 UTC) #19
Kevin M
Friendly ping! I'll be OOO soon, so this is a little time sensitive. (Ditto for ...
4 years, 5 months ago (2016-06-30 17:23:04 UTC) #20
Wez
LGTM w/ some naming nits. https://codereview.chromium.org/2056993003/diff/200001/blimp/OWNERS File blimp/OWNERS (left): https://codereview.chromium.org/2056993003/diff/200001/blimp/OWNERS#oldcode5 blimp/OWNERS:5: haibinlu@chromium.org nit: I'd generally ...
4 years, 5 months ago (2016-07-01 00:30:21 UTC) #21
dcheng
On 2016/06/30 17:23:04, Kevin M wrote: > Friendly ping! I'll be OOO soon, so this ...
4 years, 5 months ago (2016-07-01 01:51:24 UTC) #22
nyquist
lgtm https://codereview.chromium.org/2056993003/diff/200001/blimp/common/blob_cache/in_memory_blob_cache_unittest.cc File blimp/common/blob_cache/in_memory_blob_cache_unittest.cc (right): https://codereview.chromium.org/2056993003/diff/200001/blimp/common/blob_cache/in_memory_blob_cache_unittest.cc#newcode68 blimp/common/blob_cache/in_memory_blob_cache_unittest.cc:68: EXPECT_EQ(1u, cache_state.size()); Nit: It feels a little bit ...
4 years, 5 months ago (2016-07-15 22:13:46 UTC) #23
Kevin M
dcheng: I saw your comment about using mojo::Map() and did indeed incorporate that into my ...
4 years, 5 months ago (2016-07-18 16:58:17 UTC) #24
Kevin M
4 years, 5 months ago (2016-07-18 17:04:06 UTC) #25
dcheng
Ah, I must have missed that. Btw, the mojo default is to pass maps as ...
4 years, 5 months ago (2016-07-20 15:28:32 UTC) #26
Kevin M
Nice! Switched to STL types. Submitting...
4 years, 5 months ago (2016-07-20 19:45:26 UTC) #27
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/2056993003/240001
4 years, 5 months ago (2016-07-20 19:46:11 UTC) #30
commit-bot: I haz the power
Committed patchset #13 (id:240001)
4 years, 5 months ago (2016-07-20 20:39:58 UTC) #31
commit-bot: I haz the power
4 years, 5 months ago (2016-07-20 20:42:30 UTC) #33
Message was sent while issue was closed.
Patchset 13 (id:??) landed as
https://crrev.com/2cfb64fdb531ebf178913ccda75d8b6954b9bae9
Cr-Commit-Position: refs/heads/master@{#406658}

Powered by Google App Engine
This is Rietveld 408576698