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

Issue 15564008: Migrate the IndexedDB backend from Blink to Chromium (Closed)

Created:
7 years, 7 months ago by jsbell
Modified:
7 years, 6 months ago
CC:
chromium-reviews, joi+watch-content_chromium.org, jam, darin-cc_chromium.org, dgrogan, ericu
Visibility:
Public.

Description

Migrate the IndexedDB backend from Blink to Chromium To get the IDB backend off the (deprecated) WebKit thread, remove intermediate proxying, and let us take advantage of base utilities, we're moving the code from Blink to Chromium. This patch is basically a glorified copy/paste of the Blink IDB backend code, with Chromium coding style applied, WTF dependencies replaced with STL and base/, redundant classes removed, etc. It introduces some new temporary proxy classes (content/browser/webidb*_impl.*) to allow us build both the old and new backends. The new backend is currently disabled by default. It can be enabled using a new (and temporary) command line switch: --new-indexeddb Once we've done some further cleanup and are confident that the new backend is stable, and the bots have moved from DumpRenderTree to content_shell, we'll switch to the new backend by default. Once that has survived through a dev channel release, we'll delete the Blink code and eliminate unnecessary proxy classes. BUG=234278 R=alecflett@chromium.org, dgrogan@chromium.org, piman@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=202215 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=202604 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=203164 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=203257 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=203443

Patch Set 1 #

Patch Set 2 : Fixed gypi paths caught by msvs checker #

Patch Set 3 : Accessor naming, use LevelDBSlice ctor explicitly #

Total comments: 42

Patch Set 4 : More linting/formatting c/o alec #

Total comments: 2

Patch Set 5 : Coding style fixes #

Total comments: 41

Patch Set 6 : DCHECKs, param names, limits, basictypes, gcc fixes #

Patch Set 7 : Add Chromium license header to files copied from WTF #

Patch Set 8 : int64_t => int64, and friends #

Patch Set 9 : Windows fixes #

Patch Set 10 : Windows fixes #

Patch Set 11 : One last MSVC compile fix #

Patch Set 12 : Wrap debug-only check in NDEBUG; don't use C++11ism std::vector::data() #

Patch Set 13 : Fixes: Android compile, license whitelist, win link, release tests #

Patch Set 14 : Conditionally include third_party/leveldatabase - only when not iOS #

Patch Set 15 : Remove hacky iterator usage; flip NDEBUG-guard test sense #

Patch Set 16 : Replace vector::end() dereferences with vector::rbegin() + 1 to appease MSVC #

Patch Set 17 : Avoid dereferencing iterators of empty vectors #

Patch Set 18 : Last MSVC iterator assertion #

Patch Set 19 : Update to ToT for leveldb tests #

Patch Set 20 : Fix leveldb iterator issue on MSVC #

Patch Set 21 : Include updates per Blink #

Patch Set 22 : Remove tests from build #

Patch Set 23 : Update to ToT #

Patch Set 24 : Update to ToT again #

Unified diffs Side-by-side diffs Delta from patch set Stats (+14751 lines, -426 lines) Patch
M android_webview/tools/third_party_files_whitelist.txt 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 +4 lines, -0 lines 0 comments Download
M content/browser/in_process_webkit/indexed_db_database_callbacks.cc View 1 2 3 23 2 chunks +19 lines, -25 lines 0 comments Download
M content/browser/in_process_webkit/indexed_db_dispatcher_host.h View 1 2 3 4 5 23 7 chunks +13 lines, -15 lines 0 comments Download
M content/browser/in_process_webkit/indexed_db_dispatcher_host.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 23 30 chunks +231 lines, -230 lines 0 comments Download
A content/browser/indexed_db/DEPS View 23 1 chunk +3 lines, -0 lines 0 comments Download
A content/browser/indexed_db/indexed_db.h View 1 2 3 4 23 1 chunk +34 lines, -0 lines 0 comments Download
A content/browser/indexed_db/indexed_db_backing_store.h View 1 2 3 4 5 6 7 8 9 10 11 12 23 1 chunk +319 lines, -0 lines 0 comments Download
A content/browser/indexed_db/indexed_db_backing_store.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 23 1 chunk +2543 lines, -0 lines 0 comments Download
A content/browser/indexed_db/indexed_db_backing_store_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 23 1 chunk +403 lines, -0 lines 0 comments Download
A content/browser/indexed_db/indexed_db_callbacks_wrapper.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 23 1 chunk +95 lines, -0 lines 0 comments Download
A content/browser/indexed_db/indexed_db_callbacks_wrapper.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 23 1 chunk +216 lines, -0 lines 0 comments Download
A content/browser/indexed_db/indexed_db_cleanup_on_io_error_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 23 1 chunk +74 lines, -0 lines 0 comments Download
M content/browser/indexed_db/indexed_db_context_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 23 1 chunk +2 lines, -2 lines 0 comments Download
M content/browser/indexed_db/indexed_db_context_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 23 15 chunks +50 lines, -34 lines 0 comments Download
A content/browser/indexed_db/indexed_db_cursor.h View 1 2 3 4 5 23 1 chunk +37 lines, -0 lines 0 comments Download
A content/browser/indexed_db/indexed_db_cursor_impl.h View 1 2 3 4 5 6 7 23 1 chunk +98 lines, -0 lines 0 comments Download
A content/browser/indexed_db/indexed_db_cursor_impl.cc View 1 2 3 4 5 6 7 23 1 chunk +223 lines, -0 lines 0 comments Download
A content/browser/indexed_db/indexed_db_database.h View 1 2 3 4 5 6 7 23 1 chunk +131 lines, -0 lines 0 comments Download
A content/browser/indexed_db/indexed_db_database_callbacks_wrapper.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 23 1 chunk +43 lines, -0 lines 0 comments Download
A content/browser/indexed_db/indexed_db_database_callbacks_wrapper.cc View 1 2 3 4 5 6 7 23 1 chunk +42 lines, -0 lines 0 comments Download
A content/browser/indexed_db/indexed_db_database_error.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 23 1 chunk +43 lines, -0 lines 0 comments Download
A content/browser/indexed_db/indexed_db_database_impl.h View 1 2 3 4 5 6 7 8 9 23 1 chunk +204 lines, -0 lines 0 comments Download
A content/browser/indexed_db/indexed_db_database_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 23 1 chunk +1823 lines, -0 lines 0 comments Download
A content/browser/indexed_db/indexed_db_factory.h View 1 2 3 4 5 6 7 23 1 chunk +47 lines, -0 lines 0 comments Download
A content/browser/indexed_db/indexed_db_factory_impl.h View 1 2 3 4 5 6 7 8 9 23 1 chunk +77 lines, -0 lines 0 comments Download
A content/browser/indexed_db/indexed_db_factory_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 23 1 chunk +197 lines, -0 lines 0 comments Download
A content/browser/indexed_db/indexed_db_index_writer.h View 1 2 3 4 5 6 7 23 1 chunk +82 lines, -0 lines 0 comments Download
A content/browser/indexed_db/indexed_db_index_writer.cc View 1 2 3 4 5 6 7 23 1 chunk +169 lines, -0 lines 0 comments Download
M content/browser/indexed_db/indexed_db_internals_ui.h View 1 2 3 4 5 6 7 8 9 23 1 chunk +3 lines, -1 line 0 comments Download
M content/browser/indexed_db/indexed_db_internals_ui.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 23 1 chunk +2 lines, -2 lines 0 comments Download
A content/browser/indexed_db/indexed_db_leveldb_coding.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 23 1 chunk +467 lines, -0 lines 0 comments Download
A content/browser/indexed_db/indexed_db_leveldb_coding.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 23 1 chunk +1884 lines, -0 lines 0 comments Download
A content/browser/indexed_db/indexed_db_leveldb_coding_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 23 1 chunk +755 lines, -0 lines 0 comments Download
A content/browser/indexed_db/indexed_db_metadata.h View 1 2 3 4 5 6 7 23 1 chunk +84 lines, -0 lines 0 comments Download
A content/browser/indexed_db/indexed_db_metadata.cc View 1 2 3 4 5 6 7 8 9 23 1 chunk +39 lines, -0 lines 0 comments Download
M content/browser/indexed_db/indexed_db_quota_client.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 23 2 chunks +3 lines, -3 lines 0 comments Download
M content/browser/indexed_db/indexed_db_quota_client.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 23 6 chunks +26 lines, -44 lines 0 comments Download
M content/browser/indexed_db/indexed_db_quota_client_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 23 10 chunks +23 lines, -33 lines 0 comments Download
A content/browser/indexed_db/indexed_db_tracing.h View 23 1 chunk +11 lines, -0 lines 0 comments Download
A content/browser/indexed_db/indexed_db_transaction.h View 1 2 3 4 5 6 7 23 1 chunk +150 lines, -0 lines 0 comments Download
A content/browser/indexed_db/indexed_db_transaction.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 23 1 chunk +308 lines, -0 lines 0 comments Download
A content/browser/indexed_db/indexed_db_transaction_coordinator.h View 1 2 3 23 1 chunk +50 lines, -0 lines 0 comments Download
A content/browser/indexed_db/indexed_db_transaction_coordinator.cc View 1 2 3 4 5 6 7 8 9 23 1 chunk +135 lines, -0 lines 0 comments Download
M content/browser/indexed_db/indexed_db_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 23 5 chunks +13 lines, -21 lines 0 comments Download
A content/browser/indexed_db/leveldb/avltree.h View 1 2 3 4 5 6 23 1 chunk +979 lines, -0 lines 0 comments Download
A content/browser/indexed_db/leveldb/fixed_array.h View 1 2 3 4 5 6 23 1 chunk +62 lines, -0 lines 0 comments Download
A content/browser/indexed_db/leveldb/leveldb_comparator.h View 1 2 3 4 5 23 1 chunk +24 lines, -0 lines 0 comments Download
A content/browser/indexed_db/leveldb/leveldb_database.h View 1 2 3 4 5 23 1 chunk +75 lines, -0 lines 0 comments Download
A content/browser/indexed_db/leveldb/leveldb_database.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 23 1 chunk +362 lines, -0 lines 0 comments Download
A content/browser/indexed_db/leveldb/leveldb_iterator.h View 1 2 3 4 23 1 chunk +26 lines, -0 lines 0 comments Download
A content/browser/indexed_db/leveldb/leveldb_slice.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 23 1 chunk +38 lines, -0 lines 0 comments Download
A content/browser/indexed_db/leveldb/leveldb_transaction.h View 1 2 3 4 5 23 1 chunk +179 lines, -0 lines 0 comments Download
A content/browser/indexed_db/leveldb/leveldb_transaction.cc View 1 2 3 4 5 23 1 chunk +490 lines, -0 lines 0 comments Download
A content/browser/indexed_db/leveldb/leveldb_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 23 1 chunk +193 lines, -0 lines 0 comments Download
A content/browser/indexed_db/leveldb/leveldb_write_batch.h View 23 1 chunk +38 lines, -0 lines 0 comments Download
A content/browser/indexed_db/leveldb/leveldb_write_batch.cc View 23 1 chunk +37 lines, -0 lines 0 comments Download
A content/browser/indexed_db/list_set.h View 1 2 3 23 1 chunk +158 lines, -0 lines 0 comments Download
A content/browser/indexed_db/list_set_unittest.cc View 23 1 chunk +239 lines, -0 lines 0 comments Download
A content/browser/indexed_db/webidbcursor_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 23 1 chunk +33 lines, -0 lines 0 comments Download
A content/browser/indexed_db/webidbcursor_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 23 1 chunk +51 lines, -0 lines 0 comments Download
A content/browser/indexed_db/webidbdatabase_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 23 1 chunk +110 lines, -0 lines 0 comments Download
A content/browser/indexed_db/webidbdatabase_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 23 1 chunk +278 lines, -0 lines 0 comments Download
A content/browser/indexed_db/webidbfactory_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 23 1 chunk +41 lines, -0 lines 0 comments Download
A content/browser/indexed_db/webidbfactory_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 23 1 chunk +68 lines, -0 lines 0 comments Download
M content/common/indexed_db/indexed_db_key.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 23 6 chunks +25 lines, -5 lines 0 comments Download
M content/common/indexed_db/indexed_db_param_traits.cc View 1 2 3 4 5 23 6 chunks +10 lines, -8 lines 0 comments Download
M content/content_browser.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 2 chunks +45 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 2 chunks +7 lines, -1 line 0 comments Download
M content/public/common/content_switches.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 +1 line, -0 lines 0 comments Download
M content/public/common/content_switches.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 1 chunk +4 lines, -0 lines 0 comments Download
M content/renderer/renderer_webkitplatformsupport_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 23 1 chunk +3 lines, -2 lines 0 comments Download

Messages

Total messages: 32 (0 generated)
jsbell
alecflett@ - sanity check the uploaded patch? jam@ - can you review as content owner? ...
7 years, 7 months ago (2013-05-21 19:18:32 UTC) #1
alecflett
On 2013/05/21 19:18:32, jsbell wrote: > alecflett@ - sanity check the uploaded patch? lgtm of ...
7 years, 7 months ago (2013-05-21 19:59:24 UTC) #2
jsbell
Need to wait for a blink roll before try jobs will work.
7 years, 7 months ago (2013-05-21 20:53:40 UTC) #3
jsbell
Oops, jam is unavailable. darin@ - can you take a look? (see previous comments for ...
7 years, 7 months ago (2013-05-21 21:10:54 UTC) #4
jsbell
And someone let darin away from the keyboard as well. piman@ - can you take ...
7 years, 7 months ago (2013-05-21 23:55:35 UTC) #5
jamesr
https://codereview.chromium.org/15564008/diff/9001/content/browser/indexed_db/indexed_db.h File content/browser/indexed_db/indexed_db.h (right): https://codereview.chromium.org/15564008/diff/9001/content/browser/indexed_db/indexed_db.h#newcode13 content/browser/indexed_db/indexed_db.h:13: TransactionReadOnly = 0, chromium style for enum values is ...
7 years, 7 months ago (2013-05-21 23:56:06 UTC) #6
piman
From an OWNER standpoint, this is fine. Please have someone familiar with the webkit code ...
7 years, 7 months ago (2013-05-22 00:45:46 UTC) #7
jsbell
Thank you *very* much for the extensive feedback, jamesr. https://codereview.chromium.org/15564008/diff/9001/content/browser/indexed_db/indexed_db.h File content/browser/indexed_db/indexed_db.h (right): https://codereview.chromium.org/15564008/diff/9001/content/browser/indexed_db/indexed_db.h#newcode13 content/browser/indexed_db/indexed_db.h:13: ...
7 years, 7 months ago (2013-05-22 17:54:44 UTC) #8
dgrogan
lgtm I spot checked some files to look for potential weirdness. https://codereview.chromium.org/15564008/diff/22001/content/browser/indexed_db/indexed_db_database_impl.cc File content/browser/indexed_db/indexed_db_database_impl.cc (right): ...
7 years, 7 months ago (2013-05-22 18:22:06 UTC) #9
jamesr
style mostly lg. some of the files appear to have apple copyright headers. what's the ...
7 years, 7 months ago (2013-05-22 18:59:44 UTC) #10
dgrogan
https://codereview.chromium.org/15564008/diff/22001/content/browser/indexed_db/leveldb/leveldb_database.cc File content/browser/indexed_db/leveldb/leveldb_database.cc (right): https://codereview.chromium.org/15564008/diff/22001/content/browser/indexed_db/leveldb/leveldb_database.cc#newcode115 content/browser/indexed_db/leveldb/leveldb_database.cc:115: base::SysInfo::AmountOfFreeDiskSpace(file_name) / 1024; This was long long because that's ...
7 years, 7 months ago (2013-05-22 19:08:34 UTC) #11
jsbell
https://codereview.chromium.org/15564008/diff/22001/content/browser/indexed_db/indexed_db_database_impl.cc File content/browser/indexed_db/indexed_db_database_impl.cc (right): https://codereview.chromium.org/15564008/diff/22001/content/browser/indexed_db/indexed_db_database_impl.cc#newcode1662 content/browser/indexed_db/indexed_db_database_impl.cc:1662: // frontend On 2013/05/22 18:22:06, dgrogan wrote: > comment ...
7 years, 7 months ago (2013-05-22 19:13:03 UTC) #12
michaeln
drive-by-comment... sweet :)
7 years, 7 months ago (2013-05-22 20:34:23 UTC) #13
jsbell
As noted, waiting on lawyerly types for the license headers. Will ping again. There are ...
7 years, 7 months ago (2013-05-22 22:21:13 UTC) #14
jsbell
FYI, clang-format appears to have been updated which addresses 2/3 formatting nits. https://codereview.chromium.org/15564008/diff/9001/content/browser/indexed_db/indexed_db_backing_store.cc File content/browser/indexed_db/indexed_db_backing_store.cc ...
7 years, 7 months ago (2013-05-23 21:10:49 UTC) #15
jsbell
On 2013/05/22 22:21:13, jsbell wrote: > As noted, waiting on lawyerly types for the license ...
7 years, 7 months ago (2013-05-23 21:12:15 UTC) #16
jsbell
Okay, I think we're down to: * android webview license check - I sent mail ...
7 years, 7 months ago (2013-05-24 00:11:07 UTC) #17
jamesr
ios does all sorts of stupid crap you would not expect. See the various 'conditions': ...
7 years, 7 months ago (2013-05-24 00:15:55 UTC) #18
mnaganov (inactive)
On 2013/05/24 00:11:07, jsbell wrote: > Okay, I think we're down to: > * android ...
7 years, 7 months ago (2013-05-24 08:24:00 UTC) #19
jsbell
On 2013/05/24 08:24:00, Mikhail Naganov (Chromium) wrote: > > As dannyb@ has said that the ...
7 years, 7 months ago (2013-05-24 16:54:35 UTC) #20
mnaganov (inactive)
On 2013/05/24 16:54:35, jsbell wrote: > On 2013/05/24 08:24:00, Mikhail Naganov (Chromium) wrote: > > ...
7 years, 7 months ago (2013-05-24 17:03:45 UTC) #21
jsbell
piman@, jamesr@ - any other comments or is this good to go once the bots ...
7 years, 7 months ago (2013-05-24 20:26:40 UTC) #22
jamesr
looks good to me!
7 years, 7 months ago (2013-05-24 20:29:20 UTC) #23
piman
LGTM if others are happy
7 years, 7 months ago (2013-05-24 20:43:31 UTC) #24
jsbell
Committed patchset #15 manually as r202215 (presubmit successful).
7 years, 7 months ago (2013-05-24 23:04:38 UTC) #25
jsbell
TL;DR: reverted, new patch sent to the bots ... Reverted over in https://codereview.chromium.org/15870003 One of ...
7 years, 6 months ago (2013-05-28 16:33:18 UTC) #26
jsbell
Committed patchset #16 manually as r202604 (presubmit successful).
7 years, 6 months ago (2013-05-28 18:23:04 UTC) #27
jsbell
On 2013/05/28 18:23:04, jsbell wrote: > Committed patchset #16 manually as r202604 (presubmit successful). Reverted ...
7 years, 6 months ago (2013-05-28 23:09:32 UTC) #28
jsbell
Committed patchset #21 manually as r203164 (presubmit successful).
7 years, 6 months ago (2013-05-30 16:53:20 UTC) #29
alecflett
Committed patchset #21 manually as r203257 (presubmit successful).
7 years, 6 months ago (2013-05-30 23:03:21 UTC) #30
alecflett
On 2013/05/30 23:03:21, alecflett wrote: > Committed patchset #21 manually as r203257 (presubmit successful). Reverted.. ...
7 years, 6 months ago (2013-05-30 23:10:04 UTC) #31
alecflett
7 years, 6 months ago (2013-05-31 18:33:18 UTC) #32
Message was sent while issue was closed.
Committed patchset #24 manually as r203443 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698