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

Issue 2276593002: Support renaming of IndexedDB indexes and object stores. (Closed)

Created:
4 years, 4 months ago by pwnall
Modified:
4 years, 3 months ago
Reviewers:
kenrb, jsbell, cmumford, foolip
CC:
chromium-reviews, blink-reviews, haraken, jsbell+idb_chromium.org, cmumford
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Support renaming of IndexedDB indexes and object stores. Intent to Implement: https://groups.google.com/a/chromium.org/d/msg/blink-dev/UpS11lcUkYg/NBFTJMQPBgAJ Index Spec: https://w3c.github.io/IndexedDB/#dom-idbindex-name Object Store Spec: https://w3c.github.io/IndexedDB/#dom-idbobjectstore-name BUG=457447 Committed: https://crrev.com/333553242742f0e2acfc966602e2d2e9e2bf3008 Cr-Commit-Position: refs/heads/master@{#417803}

Patch Set 1 : rename-object-store covers all happy paths (no errors yet). #

Total comments: 2

Patch Set 2 : finished up rename-object-store tests. #

Total comments: 18

Patch Set 3 : Addressed feedback on tests. #

Total comments: 30

Patch Set 4 : Addressed feedback on tests. #

Patch Set 5 : Fixed test naming that caused Firefox error. #

Patch Set 6 : Most renaming tests pass. #

Total comments: 10

Patch Set 7 : Hid indexeddb renames behind RuntimeEnabled flag. #

Total comments: 8

Patch Set 8 : Addressed review and buildbot feedback. #

Patch Set 9 : Added tests for create rename in the same aborted transaction. #

Total comments: 38

Patch Set 10 : Addressed feedback and cleaned up tests a bit. #

Patch Set 11 : Sharded large renaming tests over a few files to avoid timeouts. #

Patch Set 12 : Took out transaction abort tests and their expectations, to avoid timeouts. #

Total comments: 2

Patch Set 13 : Addressed feedback, fixed indentation in rename-common.js, rebased against master. #

Patch Set 14 : Minor comment fixes in rename-common.js test code. #

Total comments: 14

Patch Set 15 : Addressed feedback. #

Patch Set 16 : Added test coverage for the (slightly incorrect) behavior in strict mode when our flag is not enabl… #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+1677 lines, -19 lines) Patch
M content/browser/indexed_db/indexed_db_backing_store.h View 1 2 3 2 chunks +12 lines, -1 line 0 comments Download
M content/browser/indexed_db/indexed_db_backing_store.cc View 1 2 3 4 5 2 chunks +54 lines, -0 lines 0 comments Download
M content/browser/indexed_db/indexed_db_database.h View 1 2 3 4 5 6 7 8 9 5 chunks +18 lines, -0 lines 0 comments Download
M content/browser/indexed_db/indexed_db_database.cc View 1 2 3 4 5 6 7 8 9 5 chunks +124 lines, -0 lines 0 comments Download
M content/browser/indexed_db/indexed_db_dispatcher_host.h View 1 2 3 2 chunks +9 lines, -0 lines 0 comments Download
M content/browser/indexed_db/indexed_db_dispatcher_host.cc View 1 2 3 4 chunks +35 lines, -0 lines 0 comments Download
M content/browser/indexed_db/indexed_db_fake_backing_store.h View 1 2 3 2 chunks +9 lines, -0 lines 0 comments Download
M content/browser/indexed_db/indexed_db_fake_backing_store.cc View 1 2 3 2 chunks +16 lines, -0 lines 0 comments Download
M content/child/indexed_db/webidbdatabase_impl.h View 1 2 3 2 chunks +7 lines, -0 lines 0 comments Download
M content/child/indexed_db/webidbdatabase_impl.cc View 1 2 3 2 chunks +15 lines, -0 lines 0 comments Download
M content/common/indexed_db/indexed_db_messages.h View 1 2 3 4 5 6 7 2 chunks +15 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt View 1 2 3 4 5 6 7 8 4 chunks +4 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/imported/wpt/IndexedDB/interfaces-expected.txt View 1 2 3 4 5 6 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/LayoutTests/storage/indexeddb/readonly-expected.txt View 1 2 3 4 5 6 7 2 chunks +0 lines, -6 lines 0 comments Download
A third_party/WebKit/LayoutTests/storage/indexeddb/rename-index.html View 1 2 3 4 5 6 7 8 9 10 1 chunk +298 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/storage/indexeddb/rename-index-errors.html View 1 2 3 4 5 6 7 8 9 10 1 chunk +130 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/storage/indexeddb/rename-object-store.html View 1 2 3 4 5 6 7 8 9 10 1 chunk +366 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/storage/indexeddb/rename-object-store-errors.html View 1 2 3 4 5 6 7 8 9 10 1 chunk +118 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/storage/indexeddb/resources/readonly.js View 1 2 3 4 5 6 7 2 chunks +0 lines, -2 lines 0 comments Download
A third_party/WebKit/LayoutTests/storage/indexeddb/resources/rename-common.js View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +187 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/virtual/stable/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt View 1 2 3 4 5 6 7 4 chunks +4 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-dedicated-worker-expected.txt View 1 2 3 4 5 6 7 4 chunks +4 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 4 chunks +4 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-shared-worker-expected.txt View 1 2 3 4 5 6 7 4 chunks +4 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/virtual/stable/webexposed/indexeddb-renames-should-not-be-exposed-expected.txt View 1 2 3 4 5 6 1 chunk +5 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/webexposed/global-interface-listing-compositor-worker-expected.txt View 1 2 3 4 5 6 7 2 chunks +2 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/webexposed/global-interface-listing-dedicated-worker-expected.txt View 1 2 3 4 5 6 7 8 4 chunks +4 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 4 chunks +4 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/webexposed/global-interface-listing-shared-worker-expected.txt View 1 2 3 4 5 6 7 8 4 chunks +4 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/webexposed/indexeddb-renames-should-not-be-exposed.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +61 lines, -0 lines 2 comments Download
A third_party/WebKit/LayoutTests/webexposed/indexeddb-renames-should-not-be-exposed-expected.txt View 1 2 3 4 5 6 7 8 9 1 chunk +5 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/indexeddb/IDBDatabase.h View 1 2 3 4 5 4 chunks +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/indexeddb/IDBDatabase.cpp View 1 2 3 4 5 5 chunks +21 lines, -1 line 0 comments Download
M third_party/WebKit/Source/modules/indexeddb/IDBIndex.h View 1 2 3 4 5 2 chunks +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/indexeddb/IDBIndex.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +40 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/indexeddb/IDBIndex.idl View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/modules/indexeddb/IDBObjectStore.h View 1 2 3 4 5 6 7 8 9 3 chunks +8 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/modules/indexeddb/IDBObjectStore.cpp View 1 2 3 4 5 6 7 8 9 3 chunks +62 lines, -1 line 0 comments Download
M third_party/WebKit/Source/modules/indexeddb/IDBObjectStore.idl View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/modules/indexeddb/IDBTransaction.h View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/indexeddb/IDBTransaction.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +13 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/indexeddb/MockWebIDBDatabase.h View 1 2 3 2 chunks +2 lines, -0 lines 0 comments Download
M third_party/WebKit/public/platform/modules/indexeddb/WebIDBDatabase.h View 1 2 3 2 chunks +2 lines, -0 lines 0 comments Download

Messages

Total messages: 119 (87 generated)
cmumford
https://codereview.chromium.org/2276593002/diff/60001/third_party/WebKit/LayoutTests/storage/indexeddb/rename-object-store.html File third_party/WebKit/LayoutTests/storage/indexeddb/rename-object-store.html (right): https://codereview.chromium.org/2276593002/diff/60001/third_party/WebKit/LayoutTests/storage/indexeddb/rename-object-store.html#newcode66 third_party/WebKit/LayoutTests/storage/indexeddb/rename-object-store.html:66: const createNotBooksStore = function(testCase, database) { You need to ...
4 years, 3 months ago (2016-08-26 21:23:52 UTC) #2
pwnall
Thank you for the quick feedback! https://codereview.chromium.org/2276593002/diff/60001/third_party/WebKit/LayoutTests/storage/indexeddb/rename-object-store.html File third_party/WebKit/LayoutTests/storage/indexeddb/rename-object-store.html (right): https://codereview.chromium.org/2276593002/diff/60001/third_party/WebKit/LayoutTests/storage/indexeddb/rename-object-store.html#newcode66 third_party/WebKit/LayoutTests/storage/indexeddb/rename-object-store.html:66: const createNotBooksStore = ...
4 years, 3 months ago (2016-08-26 22:23:18 UTC) #3
jsbell
A few quick notes on test style and one thing I spotted in the code. ...
4 years, 3 months ago (2016-08-26 23:20:50 UTC) #8
pwnall
jsbell: thank you very much for all your feedback! The tests are better thanks to ...
4 years, 3 months ago (2016-08-29 19:24:13 UTC) #10
jsbell
https://codereview.chromium.org/2276593002/diff/140001/third_party/WebKit/LayoutTests/storage/indexeddb/rename-index.html File third_party/WebKit/LayoutTests/storage/indexeddb/rename-index.html (right): https://codereview.chromium.org/2276593002/diff/140001/third_party/WebKit/LayoutTests/storage/indexeddb/rename-index.html#newcode80 third_party/WebKit/LayoutTests/storage/indexeddb/rename-index.html:80: let result = request.result; nit: const https://codereview.chromium.org/2276593002/diff/140001/third_party/WebKit/LayoutTests/storage/indexeddb/rename-index.html#newcode81 third_party/WebKit/LayoutTests/storage/indexeddb/rename-index.html:81: testCase.step(() ...
4 years, 3 months ago (2016-08-29 20:13:49 UTC) #11
pwnall
Thank you for the feedback, jsbell! I hope I've addressed all of it, and I ...
4 years, 3 months ago (2016-09-01 23:34:16 UTC) #22
jsbell
https://codereview.chromium.org/2276593002/diff/140001/third_party/WebKit/LayoutTests/storage/indexeddb/rename-index.html File third_party/WebKit/LayoutTests/storage/indexeddb/rename-index.html (right): https://codereview.chromium.org/2276593002/diff/140001/third_party/WebKit/LayoutTests/storage/indexeddb/rename-index.html#newcode368 third_party/WebKit/LayoutTests/storage/indexeddb/rename-index.html:368: assert_equals(index.name, "() => null"); On 2016/09/01 23:34:15, pwnall wrote: ...
4 years, 3 months ago (2016-09-01 23:47:09 UTC) #23
pwnall
On 2016/09/01 23:47:09, jsbell wrote: > https://codereview.chromium.org/2276593002/diff/140001/third_party/WebKit/LayoutTests/storage/indexeddb/rename-index.html > File third_party/WebKit/LayoutTests/storage/indexeddb/rename-index.html (right): > > https://codereview.chromium.org/2276593002/diff/140001/third_party/WebKit/LayoutTests/storage/indexeddb/rename-index.html#newcode368 > ...
4 years, 3 months ago (2016-09-02 00:11:49 UTC) #24
jsbell
Whoops, I was slow and now I've got comments spanning two patchsets. Sending now before ...
4 years, 3 months ago (2016-09-02 22:57:37 UTC) #42
pwnall
jsbell: Thank you for the quick turnaround on test reviews! What do you think of ...
4 years, 3 months ago (2016-09-03 06:01:20 UTC) #54
jsbell
Mostly L*G*T*M, a few nits in the code and tests. https://codereview.chromium.org/2276593002/diff/480001/content/browser/indexed_db/indexed_db_database.cc File content/browser/indexed_db/indexed_db_database.cc (right): https://codereview.chromium.org/2276593002/diff/480001/content/browser/indexed_db/indexed_db_database.cc#newcode633 ...
4 years, 3 months ago (2016-09-07 17:16:14 UTC) #61
pwnall
Thank you for the feedback, and for your patience reviewing those mind-numbing tests! PTAL? https://codereview.chromium.org/2276593002/diff/480001/content/browser/indexed_db/indexed_db_database.cc ...
4 years, 3 months ago (2016-09-07 22:43:53 UTC) #66
pwnall
I removed the failing transaction abort tests, because they were timing out on the bots. ...
4 years, 3 months ago (2016-09-08 06:44:45 UTC) #79
pwnall
foolip@chromium.org: Please review changes in the webexposed expectations and the new test at third_party/WebKit/LayoutTests/webexposed/indexeddb-renames-should-not-be-exposed.html Context: ...
4 years, 3 months ago (2016-09-08 22:04:11 UTC) #81
pwnall
jochen@chromium.org: Please review changes in content/common/indexed_db/indexed_db_messages.h and content/child/indexed_db/webidbdatabase_impl.{h,cc}
4 years, 3 months ago (2016-09-08 22:11:48 UTC) #83
pwnall
jochen@chromium.org: Please review changes in content/common/indexed_db/indexed_db_messages.h and content/child/indexed_db/webidbdatabase_impl.{h,cc}
4 years, 3 months ago (2016-09-08 22:11:50 UTC) #85
pwnall
kenrb@chromium.org: Please review content/common/indexed_db/indexed_db_messages.h for IPC security. Context: The new messages for renaming IndexedDB object ...
4 years, 3 months ago (2016-09-08 22:51:41 UTC) #87
jsbell
On 2016/09/08 22:11:48, pwnall wrote: > mailto:jochen@chromium.org: Please review changes in > content/common/indexed_db/indexed_db_messages.h and > ...
4 years, 3 months ago (2016-09-08 22:55:14 UTC) #88
jsbell
On 2016/09/08 22:04:11, pwnall wrote: > mailto:foolip@chromium.org: Please review changes in the webexposed expectations and ...
4 years, 3 months ago (2016-09-08 22:56:18 UTC) #89
pwnall
Sparing jochen of reviewing this CL, per jsbell's comment.
4 years, 3 months ago (2016-09-08 23:04:05 UTC) #93
jsbell
content/{browser,child}/indexed_db third_party/WebKit/LayoutTests/imported/wpt/IndexedDB third_party/WebKit/LayoutTests/storage/indexeddb third_party/WebKit/Source/modules/indexeddb third_party/WebKit/public/platform/modules/indexeddb ... all LGTM https://codereview.chromium.org/2276593002/diff/560001/third_party/WebKit/LayoutTests/storage/indexeddb/resources/rename-common.js File third_party/WebKit/LayoutTests/storage/indexeddb/resources/rename-common.js (right): https://codereview.chromium.org/2276593002/diff/560001/third_party/WebKit/LayoutTests/storage/indexeddb/resources/rename-common.js#newcode1 third_party/WebKit/LayoutTests/storage/indexeddb/resources/rename-common.js:1: nit: ...
4 years, 3 months ago (2016-09-08 23:16:21 UTC) #94
foolip
https://codereview.chromium.org/2276593002/diff/600001/third_party/WebKit/LayoutTests/webexposed/indexeddb-renames-should-not-be-exposed.html File third_party/WebKit/LayoutTests/webexposed/indexeddb-renames-should-not-be-exposed.html (right): https://codereview.chromium.org/2276593002/diff/600001/third_party/WebKit/LayoutTests/webexposed/indexeddb-renames-should-not-be-exposed.html#newcode13 third_party/WebKit/LayoutTests/webexposed/indexeddb-renames-should-not-be-exposed.html:13: async_test(testCase => { FWIW, in upstream web-platform-tests, this seems ...
4 years, 3 months ago (2016-09-09 08:12:17 UTC) #99
foolip
On 2016/09/08 22:04:11, pwnall wrote: > mailto:foolip@chromium.org: Please review changes in the webexposed expectations and ...
4 years, 3 months ago (2016-09-09 08:13:34 UTC) #100
jsbell
https://codereview.chromium.org/2276593002/diff/600001/third_party/WebKit/Source/modules/indexeddb/IDBIndex.cpp File third_party/WebKit/Source/modules/indexeddb/IDBIndex.cpp (right): https://codereview.chromium.org/2276593002/diff/600001/third_party/WebKit/Source/modules/indexeddb/IDBIndex.cpp#newcode70 third_party/WebKit/Source/modules/indexeddb/IDBIndex.cpp:70: if (!RuntimeEnabledFeatures::indexedDBExperimentalEnabled()) On 2016/09/09 08:12:17, foolip wrote: > can ...
4 years, 3 months ago (2016-09-09 18:17:22 UTC) #101
foolip
https://codereview.chromium.org/2276593002/diff/600001/third_party/WebKit/Source/modules/indexeddb/IDBIndex.cpp File third_party/WebKit/Source/modules/indexeddb/IDBIndex.cpp (right): https://codereview.chromium.org/2276593002/diff/600001/third_party/WebKit/Source/modules/indexeddb/IDBIndex.cpp#newcode70 third_party/WebKit/Source/modules/indexeddb/IDBIndex.cpp:70: if (!RuntimeEnabledFeatures::indexedDBExperimentalEnabled()) On 2016/09/09 18:17:22, jsbell wrote: > On ...
4 years, 3 months ago (2016-09-09 20:04:34 UTC) #102
pwnall
Thanks for the quick feedback, foolip and jsbell! foolip: PTAL? https://codereview.chromium.org/2276593002/diff/560001/third_party/WebKit/LayoutTests/storage/indexeddb/resources/rename-common.js File third_party/WebKit/LayoutTests/storage/indexeddb/resources/rename-common.js (right): https://codereview.chromium.org/2276593002/diff/560001/third_party/WebKit/LayoutTests/storage/indexeddb/resources/rename-common.js#newcode1 ...
4 years, 3 months ago (2016-09-09 20:50:35 UTC) #103
kenrb
ipc lgtm
4 years, 3 months ago (2016-09-09 21:21:40 UTC) #106
pwnall
https://codereview.chromium.org/2276593002/diff/640001/third_party/WebKit/LayoutTests/webexposed/indexeddb-renames-should-not-be-exposed.html File third_party/WebKit/LayoutTests/webexposed/indexeddb-renames-should-not-be-exposed.html (right): https://codereview.chromium.org/2276593002/diff/640001/third_party/WebKit/LayoutTests/webexposed/indexeddb-renames-should-not-be-exposed.html#newcode32 third_party/WebKit/LayoutTests/webexposed/indexeddb-renames-should-not-be-exposed.html:32: // In strict mode, attempting to set a read-only ...
4 years, 3 months ago (2016-09-09 22:24:09 UTC) #107
foolip
lgtm https://codereview.chromium.org/2276593002/diff/600001/third_party/WebKit/LayoutTests/webexposed/indexeddb-renames-should-not-be-exposed.html File third_party/WebKit/LayoutTests/webexposed/indexeddb-renames-should-not-be-exposed.html (right): https://codereview.chromium.org/2276593002/diff/600001/third_party/WebKit/LayoutTests/webexposed/indexeddb-renames-should-not-be-exposed.html#newcode13 third_party/WebKit/LayoutTests/webexposed/indexeddb-renames-should-not-be-exposed.html:13: async_test(testCase => { On 2016/09/09 20:50:34, pwnall wrote: ...
4 years, 3 months ago (2016-09-09 22:31:17 UTC) #110
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/2276593002/640001
4 years, 3 months ago (2016-09-10 02:22:04 UTC) #115
commit-bot: I haz the power
Committed patchset #16 (id:640001)
4 years, 3 months ago (2016-09-10 02:27:01 UTC) #117
commit-bot: I haz the power
4 years, 3 months ago (2016-09-10 02:29:46 UTC) #119
Message was sent while issue was closed.
Patchset 16 (id:??) landed as
https://crrev.com/333553242742f0e2acfc966602e2d2e9e2bf3008
Cr-Commit-Position: refs/heads/master@{#417803}

Powered by Google App Engine
This is Rietveld 408576698