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 1098853003: [BlobAsync] Patch 4: Browser Classes & Logic. (Closed)

Created:
5 years, 8 months ago by dmurph
Modified:
5 years ago
Reviewers:
kinuko, michaeln
CC:
chromium-reviews, darin-cc_chromium.org, jam, jsbell, kinuko+fileapi, nhiroki, tzik, wkorman
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[BlobAsync] Patch 4: Browser Classes & Logic. This patch encompasses all browser classes and logic for blob async transportation. This is a no-op. Patches: 1: https://codereview.chromium.org/1287303002 (committed) 2: https://codereview.chromium.org/1288373002 (committed) 3: https://codereview.chromium.org/1292523002 (committed) 4: https://codereview.chromium.org/1098853003 Hookup: https://codereview.chromium.org/1234813004 See https://bit.ly/BlobStorageRefactor BUG=375297 Committed: https://crrev.com/233c81baddf00838335bb712a3f8cd67fd327e71 Cr-Commit-Position: refs/heads/master@{#362802}

Patch Set 1 #

Patch Set 2 : Removed constexpr for android #

Patch Set 3 : Fix for non-C++11 builds #

Patch Set 4 : Non C++11 fixes, added nodisk logic and test #

Total comments: 38

Patch Set 5 : Comments #

Patch Set 6 : Build fix, tested #

Patch Set 7 : Fix for template ambiguity #

Total comments: 16

Patch Set 8 : Comments #

Patch Set 9 : formatting #

Patch Set 10 : Update! #

Patch Set 11 : [BlobAsync] Patch 3: Browser Classes & Logic #

Patch Set 12 : [BlobAsync] Patch 4: Browser Classes & Logic #

Patch Set 13 : rebase #

Patch Set 14 : moving stuff around #

Total comments: 84

Patch Set 15 : Comments & documentation #

Total comments: 1

Patch Set 16 : comments, and simplification #

Total comments: 8

Patch Set 17 : comments, and removed file handles #

Patch Set 18 : Removed temp file, and fixed tests #

Total comments: 31

Patch Set 19 : comments #

Patch Set 20 : comments #

Total comments: 3

Patch Set 21 : Comments #

Total comments: 33

Patch Set 22 : comments #

Patch Set 23 : comments #

Total comments: 38

Patch Set 24 : comments #

Patch Set 25 : maybe fixed windows #

Patch Set 26 : maybe fixed windows #

Total comments: 5

Patch Set 27 : windows & asan fix #

Total comments: 8

Patch Set 28 : comments & test fix #

Patch Set 29 : consolidated handle sizes #

Total comments: 6

Patch Set 30 : Removed size parameterization #

Patch Set 31 : fixed comments #

Patch Set 32 : fix #

Patch Set 33 : Removed Bad Test #

Patch Set 34 : Missed duplicate invalid test #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1728 lines, -12 lines) Patch
A content/browser/blob_storage/blob_async_builder_host_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 1 chunk +323 lines, -0 lines 0 comments Download
A content/browser/blob_storage/blob_async_transport_strategy_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 1 chunk +455 lines, -0 lines 0 comments Download
M content/content_tests.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 1 chunk +2 lines, -0 lines 0 comments Download
M storage/browser/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +4 lines, -0 lines 0 comments Download
A storage/browser/blob/blob_async_builder_host.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +129 lines, -0 lines 0 comments Download
A storage/browser/blob/blob_async_builder_host.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 1 chunk +273 lines, -0 lines 0 comments Download
A storage/browser/blob/blob_async_transport_strategy.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 1 chunk +123 lines, -0 lines 0 comments Download
A storage/browser/blob/blob_async_transport_strategy.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 1 chunk +334 lines, -0 lines 0 comments Download
M storage/browser/blob/blob_data_builder.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 3 chunks +22 lines, -2 lines 0 comments Download
M storage/browser/blob/blob_data_builder.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 3 chunks +38 lines, -0 lines 0 comments Download
M storage/browser/blob/blob_storage_context.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +4 lines, -1 line 0 comments Download
M storage/browser/blob/blob_storage_context.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +15 lines, -9 lines 0 comments Download
M storage/common/data_element.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2 chunks +2 lines, -0 lines 0 comments Download
M storage/storage_browser.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +4 lines, -0 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 69 (14 generated)
dmurph
Hello Kinuko (and eventually Michael), Michael is currently on vacation and I was wondering if ...
5 years, 8 months ago (2015-04-24 22:36:13 UTC) #2
kinuko
(Sorry for slow response, it's also vacation season in Japan and it's taking a bit ...
5 years, 7 months ago (2015-04-28 14:35:29 UTC) #3
dmurph
On 2015/04/28 at 14:35:29, kinuko wrote: > (Sorry for slow response, it's also vacation season ...
5 years, 7 months ago (2015-04-30 00:20:45 UTC) #4
kinuko
Yeah that might help. Would you try booking my calendar? (May 4-6 are holidays in ...
5 years, 7 months ago (2015-04-30 03:46:00 UTC) #5
dmurph
Whoops, I forgot to add this in our VC, here is the general algorithm we ...
5 years, 7 months ago (2015-04-30 04:54:00 UTC) #6
kinuko
I haven't read through all the code yet, but let me send out first round ...
5 years, 7 months ago (2015-04-30 15:04:22 UTC) #7
dmurph
Updated! Thanks for the comments, hopefully things are clearer. http://i.imgur.com/o1PVJM3.gif https://codereview.chromium.org/1098853003/diff/60001/storage/browser/blob/blob_transport_strategy.cc File storage/browser/blob/blob_transport_strategy.cc (right): https://codereview.chromium.org/1098853003/diff/60001/storage/browser/blob/blob_transport_strategy.cc#newcode23 ...
5 years, 7 months ago (2015-05-07 02:07:39 UTC) #8
dmurph
+cc wkorman
5 years, 7 months ago (2015-05-07 03:19:32 UTC) #9
kinuko
Some more comments https://codereview.chromium.org/1098853003/diff/120001/content/browser/fileapi/blob_transport_strategy_unittest.cc File content/browser/fileapi/blob_transport_strategy_unittest.cc (right): https://codereview.chromium.org/1098853003/diff/120001/content/browser/fileapi/blob_transport_strategy_unittest.cc#newcode25 content/browser/fileapi/blob_transport_strategy_unittest.cc:25: void AddBlobItem() { AddBlobInfo() of AddBlobItemInfo() ...
5 years, 7 months ago (2015-05-25 08:32:03 UTC) #10
dmurph
PTAL. Next CL is the IPC stuff to hook everything up. https://codereview.chromium.org/1098853003/diff/120001/content/browser/fileapi/blob_transport_strategy_unittest.cc File content/browser/fileapi/blob_transport_strategy_unittest.cc (right): ...
5 years, 6 months ago (2015-06-13 00:13:10 UTC) #11
dmurph
Alright guys. This patch grew a lot. This now contains all of the classes needed ...
5 years, 4 months ago (2015-08-04 17:29:43 UTC) #12
dmurph
Hi guys, I reduced the patch a lot with the previous split up, there are ...
5 years, 4 months ago (2015-08-13 13:18:28 UTC) #13
dmurph
Gentle ping on this, this is the next patch :)
5 years, 1 month ago (2015-11-06 21:07:02 UTC) #15
kinuko
Haven't looked all files yet, but sending comments anyways https://codereview.chromium.org/1098853003/diff/260001/storage/browser/blob/blob_async_builder_host.cc File storage/browser/blob/blob_async_builder_host.cc (right): https://codereview.chromium.org/1098853003/diff/260001/storage/browser/blob/blob_async_builder_host.cc#newcode45 storage/browser/blob/blob_async_builder_host.cc:45: ...
5 years, 1 month ago (2015-11-17 14:51:42 UTC) #17
dmurph
Thanks! Done. I notice that I can't use the IPC::PlatformFile include, so I'll be changing ...
5 years, 1 month ago (2015-11-17 20:40:19 UTC) #18
michaeln
Finally some comments. What this does looks pretty good. I haven't looked at the async ...
5 years, 1 month ago (2015-11-17 21:55:29 UTC) #19
michaeln
https://codereview.chromium.org/1098853003/diff/280001/storage/browser/blob/blob_async_builder_host.h File storage/browser/blob/blob_async_builder_host.h (right): https://codereview.chromium.org/1098853003/diff/280001/storage/browser/blob/blob_async_builder_host.h#newcode50 storage/browser/blob/blob_async_builder_host.h:50: void BuildBlob( StartBuildingBlob?
5 years, 1 month ago (2015-11-17 22:16:46 UTC) #20
dmurph
Thanks for the comments! I was able to simplify things, which was nice, around disk ...
5 years, 1 month ago (2015-11-19 02:06:18 UTC) #21
kinuko
didn't have time to review this today, sending some incomplete comments though. https://codereview.chromium.org/1098853003/diff/300001/content/browser/blob_storage/blob_async_builder_host_unittest.cc File content/browser/blob_storage/blob_async_builder_host_unittest.cc ...
5 years, 1 month ago (2015-11-19 15:22:25 UTC) #22
dmurph
https://codereview.chromium.org/1098853003/diff/300001/content/browser/blob_storage/blob_async_builder_host_unittest.cc File content/browser/blob_storage/blob_async_builder_host_unittest.cc (right): https://codereview.chromium.org/1098853003/diff/300001/content/browser/blob_storage/blob_async_builder_host_unittest.cc#newcode21 content/browser/blob_storage/blob_async_builder_host_unittest.cc:21: constexpr uint64_t kTestBlobStorageMaxFileSizeBytes = 100; On 2015/11/19 at 15:22:25, ...
5 years, 1 month ago (2015-11-19 22:13:39 UTC) #23
kinuko
Still on the way, slowly reviewing... https://codereview.chromium.org/1098853003/diff/340001/content/browser/blob_storage/blob_async_builder_host_unittest.cc File content/browser/blob_storage/blob_async_builder_host_unittest.cc (right): https://codereview.chromium.org/1098853003/diff/340001/content/browser/blob_storage/blob_async_builder_host_unittest.cc#newcode23 content/browser/blob_storage/blob_async_builder_host_unittest.cc:23: void PopulateBytes(char* bytes, ...
5 years, 1 month ago (2015-11-20 15:19:42 UTC) #24
dmurph
https://codereview.chromium.org/1098853003/diff/340001/storage/browser/blob/blob_async_builder_host.h File storage/browser/blob/blob_async_builder_host.h (right): https://codereview.chromium.org/1098853003/diff/340001/storage/browser/blob/blob_async_builder_host.h#newcode78 storage/browser/blob/blob_async_builder_host.h:78: // For testing use only. Must be called before ...
5 years, 1 month ago (2015-11-20 22:10:05 UTC) #25
michaeln
https://codereview.chromium.org/1098853003/diff/340001/storage/browser/blob/blob_async_builder_host.h File storage/browser/blob/blob_async_builder_host.h (right): https://codereview.chromium.org/1098853003/diff/340001/storage/browser/blob/blob_async_builder_host.h#newcode51 storage/browser/blob/blob_async_builder_host.h:51: // Note: The builder given to the 'done' callback ...
5 years, 1 month ago (2015-11-21 00:59:46 UTC) #26
dmurph
https://codereview.chromium.org/1098853003/diff/340001/storage/browser/blob/blob_async_builder_host.cc File storage/browser/blob/blob_async_builder_host.cc (right): https://codereview.chromium.org/1098853003/diff/340001/storage/browser/blob/blob_async_builder_host.cc#newcode49 storage/browser/blob/blob_async_builder_host.cc:49: BlobBuildingState* state_ptr = new BlobBuildingState(); On 2015/11/20 at 15:19:42, ...
5 years, 1 month ago (2015-11-23 20:07:02 UTC) #27
kinuko
Some more comments. (Looks like some are dup of michael's comment) https://codereview.chromium.org/1098853003/diff/400001/storage/browser/blob/blob_async_builder_host.cc File storage/browser/blob/blob_async_builder_host.cc (right): ...
5 years ago (2015-11-24 15:38:17 UTC) #28
michaeln
https://codereview.chromium.org/1098853003/diff/380001/storage/browser/blob/blob_async_builder_host.cc File storage/browser/blob/blob_async_builder_host.cc (right): https://codereview.chromium.org/1098853003/diff/380001/storage/browser/blob/blob_async_builder_host.cc#newcode92 storage/browser/blob/blob_async_builder_host.cc:92: // Bad IPC, so we delete our record and ...
5 years ago (2015-11-24 21:58:36 UTC) #29
dmurph
https://codereview.chromium.org/1098853003/diff/400001/storage/browser/blob/blob_async_builder_host.cc File storage/browser/blob/blob_async_builder_host.cc (right): https://codereview.chromium.org/1098853003/diff/400001/storage/browser/blob/blob_async_builder_host.cc#newcode48 storage/browser/blob/blob_async_builder_host.cc:48: DCHECK(async_blob_map_.find(uuid) == async_blob_map_.end()); On 2015/11/24 at 15:38:16, kinuko wrote: ...
5 years ago (2015-11-24 22:27:33 UTC) #30
dmurph
https://codereview.chromium.org/1098853003/diff/400001/storage/browser/blob/blob_async_transport_strategy.cc File storage/browser/blob/blob_async_transport_strategy.cc (right): https://codereview.chromium.org/1098853003/diff/400001/storage/browser/blob/blob_async_transport_strategy.cc#newcode72 storage/browser/blob/blob_async_transport_strategy.cc:72: // that cross file reference or blob reference boundaries. ...
5 years ago (2015-11-24 22:45:42 UTC) #31
michaeln
lgtm, but what should we do about not being able to distinguish between a bad ...
5 years ago (2015-11-24 23:19:40 UTC) #32
kinuko
looks almost good... https://codereview.chromium.org/1098853003/diff/440001/content/browser/blob_storage/blob_async_builder_host_unittest.cc File content/browser/blob_storage/blob_async_builder_host_unittest.cc (right): https://codereview.chromium.org/1098853003/diff/440001/content/browser/blob_storage/blob_async_builder_host_unittest.cc#newcode23 content/browser/blob_storage/blob_async_builder_host_unittest.cc:23: void PopulateBytes(char* bytes, size_t start_num, size_t ...
5 years ago (2015-11-25 16:08:18 UTC) #33
dmurph
I might have to modify the visitor pure virtual to make it work on Windows. ...
5 years ago (2015-11-25 21:16:30 UTC) #34
michaeln
https://codereview.chromium.org/1098853003/diff/440001/storage/browser/blob/blob_async_transport_strategy.h File storage/browser/blob/blob_async_transport_strategy.h (right): https://codereview.chromium.org/1098853003/diff/440001/storage/browser/blob/blob_async_transport_strategy.h#newcode73 storage/browser/blob/blob_async_transport_strategy.h:73: std::vector<uint64_t>& file_handle_sizes() { return file_handle_sizes_; } On 2015/11/25 16:08:17, ...
5 years ago (2015-11-25 21:23:59 UTC) #35
dmurph
Can you guys take one more look at blob_async_transport_strategy.cc? After talking to Jeffrey Yasskin about ...
5 years ago (2015-11-25 21:46:28 UTC) #36
michaeln
still lgtm https://codereview.chromium.org/1098853003/diff/500001/storage/browser/blob/blob_async_transport_strategy.h File storage/browser/blob/blob_async_transport_strategy.h (right): https://codereview.chromium.org/1098853003/diff/500001/storage/browser/blob/blob_async_transport_strategy.h#newcode117 storage/browser/blob/blob_async_transport_strategy.h:117: std::vector<uint64_t> file_handle_sizes_; Might be more trouble than ...
5 years ago (2015-11-25 23:34:54 UTC) #37
dmurph
https://codereview.chromium.org/1098853003/diff/500001/storage/browser/blob/blob_async_transport_strategy.h File storage/browser/blob/blob_async_transport_strategy.h (right): https://codereview.chromium.org/1098853003/diff/500001/storage/browser/blob/blob_async_transport_strategy.h#newcode117 storage/browser/blob/blob_async_transport_strategy.h:117: std::vector<uint64_t> file_handle_sizes_; On 2015/11/25 at 23:34:54, michaeln wrote: > ...
5 years ago (2015-11-26 00:37:07 UTC) #38
kinuko
okay... I think this lgtm https://codereview.chromium.org/1098853003/diff/520001/content/browser/blob_storage/blob_async_transport_strategy_unittest.cc File content/browser/blob_storage/blob_async_transport_strategy_unittest.cc (right): https://codereview.chromium.org/1098853003/diff/520001/content/browser/blob_storage/blob_async_transport_strategy_unittest.cc#newcode46 content/browser/blob_storage/blob_async_transport_strategy_unittest.cc:46: // and we save ...
5 years ago (2015-11-26 04:58:17 UTC) #39
michaeln
https://codereview.chromium.org/1098853003/diff/500001/storage/browser/blob/blob_async_transport_strategy.h File storage/browser/blob/blob_async_transport_strategy.h (right): https://codereview.chromium.org/1098853003/diff/500001/storage/browser/blob/blob_async_transport_strategy.h#newcode117 storage/browser/blob/blob_async_transport_strategy.h:117: std::vector<uint64_t> file_handle_sizes_; On 2015/11/26 00:37:07, dmurph wrote: > On ...
5 years ago (2015-11-30 21:07:26 UTC) #40
dmurph
https://codereview.chromium.org/1098853003/diff/500001/storage/browser/blob/blob_async_transport_strategy.h File storage/browser/blob/blob_async_transport_strategy.h (right): https://codereview.chromium.org/1098853003/diff/500001/storage/browser/blob/blob_async_transport_strategy.h#newcode117 storage/browser/blob/blob_async_transport_strategy.h:117: std::vector<uint64_t> file_handle_sizes_; On 2015/11/30 at 21:07:26, michaeln wrote: > ...
5 years ago (2015-11-30 21:33:28 UTC) #41
michaeln
https://codereview.chromium.org/1098853003/diff/500001/storage/browser/blob/blob_async_transport_strategy.h File storage/browser/blob/blob_async_transport_strategy.h (right): https://codereview.chromium.org/1098853003/diff/500001/storage/browser/blob/blob_async_transport_strategy.h#newcode117 storage/browser/blob/blob_async_transport_strategy.h:117: std::vector<uint64_t> file_handle_sizes_; On 2015/11/30 21:33:28, dmurph wrote: > On ...
5 years ago (2015-11-30 21:57:19 UTC) #42
dmurph
On 2015/11/30 at 21:57:19, michaeln wrote: > https://codereview.chromium.org/1098853003/diff/500001/storage/browser/blob/blob_async_transport_strategy.h > File storage/browser/blob/blob_async_transport_strategy.h (right): > > https://codereview.chromium.org/1098853003/diff/500001/storage/browser/blob/blob_async_transport_strategy.h#newcode117 ...
5 years ago (2015-11-30 22:01:04 UTC) #43
michaeln
> Well, each individual file wouldn't be larger than that, but the total memory > ...
5 years ago (2015-11-30 22:05:02 UTC) #44
dmurph
On 2015/11/30 at 22:05:02, michaeln wrote: > > Well, each individual file wouldn't be larger ...
5 years ago (2015-12-01 19:37:39 UTC) #45
michaeln
i still don't see why the sizetype needs to be paramaterized? https://codereview.chromium.org/1098853003/diff/560001/storage/browser/blob/blob_async_transport_strategy.cc File storage/browser/blob/blob_async_transport_strategy.cc (right): ...
5 years ago (2015-12-01 20:33:14 UTC) #46
dmurph
I removed the SizeType and just did uint64_t. Is that what you had in mind? ...
5 years ago (2015-12-01 20:44:16 UTC) #47
michaeln
On 2015/12/01 20:44:16, dmurph wrote: > I removed the SizeType and just did uint64_t. Is ...
5 years ago (2015-12-01 21:20:32 UTC) #48
dmurph
Ah yeah. Well the original issue was basically a windows compiler visibility bug. I mean, ...
5 years ago (2015-12-01 21:25:11 UTC) #49
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1098853003/620001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1098853003/620001
5 years ago (2015-12-01 21:58:06 UTC) #52
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_android_rel_ng/builds/103559)
5 years ago (2015-12-02 00:11:34 UTC) #54
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1098853003/640001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1098853003/640001
5 years ago (2015-12-02 01:26:24 UTC) #57
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/142605)
5 years ago (2015-12-02 02:55:44 UTC) #59
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1098853003/660001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1098853003/660001
5 years ago (2015-12-02 19:44:20 UTC) #62
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/149013)
5 years ago (2015-12-02 20:37:34 UTC) #64
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1098853003/660001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1098853003/660001
5 years ago (2015-12-02 20:39:18 UTC) #66
commit-bot: I haz the power
Committed patchset #34 (id:660001)
5 years ago (2015-12-02 21:51:26 UTC) #67
commit-bot: I haz the power
5 years ago (2015-12-02 21:52:11 UTC) #69
Message was sent while issue was closed.
Patchset 34 (id:??) landed as
https://crrev.com/233c81baddf00838335bb712a3f8cd67fd327e71
Cr-Commit-Position: refs/heads/master@{#362802}

Powered by Google App Engine
This is Rietveld 408576698