New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 609934 link

Starred by 21 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 3
Type: Task
Launch-Accessibility: ReviewRequested
Launch-Legal: ReviewRequested
Launch-Privacy: ReviewRequested
Launch-Security: ReviewRequested
Launch-Test: ReviewRequested
Launch-UI: NA

Blocked on: View detail
issue 810254
issue 918935

Blocking:
issue 674593


Participants' hotlists:
Non-Standard-IDL
dmurph-tracking


Sign in to add a comment

IndexedDB Observers

Project Member Reported by dmu...@chromium.org, May 6 2016

Issue description

Change description:
We want to add IndexedDB Observers to the current spec. This allows one to listen for changes to IndexedDB across browsing contexts, and also guarantee data consistency while listening.

Changes to API surface:
* Add to current indexeddb spec here: https://www.w3.org/TR/IndexedDB/
* Add IDBTransaction.observe(...)
* See https://github.com/dmurph/indexed-db-observers/blob/gh-pages/EXPLAINER.md for more info, including motivation.

Links:
Public standards discussion: https://github.com/dmurph/indexed-db-observers/issues
Explainer: https://github.com/dmurph/indexed-db-observers/blob/gh-pages/EXPLAINER.md

Support in other browsers:
Internet Explorer:
Firefox: Interested, https://bugzilla.mozilla.org/show_bug.cgi?id=1059724
Safari:


 
Cc: palakj@chromium.org
Cc: -palakj@chromium.org dmu...@chromium.org
Owner: palakj@chromium.org
Project Member

Comment 4 by bugdroid1@chromium.org, Jun 20 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dd97a20cea3444559290d55e8fae06bd580cd5ba

commit dd97a20cea3444559290d55e8fae06bd580cd5ba
Author: palakj <palakj@google.com>
Date: Mon Jun 20 21:45:19 2016

IndexedDB Observers with webidl files, initial constructor for creating observer and observe function.

BUG= 609934
Reference:  https://github.com/dmurph/indexed-db-observers/blob/gh-pages/EXPLAINER.md

Review-Url: https://codereview.chromium.org/2031113002
Cr-Commit-Position: refs/heads/master@{#400796}

[modify] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
[add] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/LayoutTests/storage/indexeddb/observer-worker.html
[add] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/LayoutTests/storage/indexeddb/observer.html
[add] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/LayoutTests/storage/indexeddb/resources/observer.js
[modify] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-dedicated-worker-expected.txt
[modify] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-shared-worker-expected.txt
[modify] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/Source/bindings/core/v8/V8Binding.h
[modify] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/Source/bindings/core/v8/V8PrivateProperty.h
[add] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/Source/bindings/modules/v8/V8IDBObserverCallback.cpp
[add] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/Source/bindings/modules/v8/V8IDBObserverCallback.h
[add] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/Source/bindings/modules/v8/custom/V8IDBObserverCustom.cpp
[modify] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/Source/bindings/modules/v8/custom/custom.gni
[modify] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/Source/bindings/modules/v8/custom/custom.gypi
[modify] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/Source/bindings/modules/v8/v8.gni
[modify] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/Source/bindings/modules/v8/v8.gypi
[add] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/Source/modules/indexeddb/IDBObserver.cpp
[add] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/Source/modules/indexeddb/IDBObserver.h
[add] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/Source/modules/indexeddb/IDBObserver.idl
[add] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/Source/modules/indexeddb/IDBObserverCallback.h
[add] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/Source/modules/indexeddb/IDBObserverChanges.cpp
[add] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/Source/modules/indexeddb/IDBObserverChanges.h
[add] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/Source/modules/indexeddb/IDBObserverChanges.idl
[add] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/Source/modules/indexeddb/IDBObserverChangesRecord.cpp
[add] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/Source/modules/indexeddb/IDBObserverChangesRecord.h
[add] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/Source/modules/indexeddb/IDBObserverChangesRecord.idl
[add] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/Source/modules/indexeddb/IDBObserverInit.idl
[modify] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/Source/modules/indexeddb/IDBValue.cpp
[modify] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/Source/modules/indexeddb/IDBValue.h
[modify] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/Source/modules/indexeddb/IndexedDBNames.in
[modify] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/Source/modules/modules.gypi
[modify] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in
[modify] https://crrev.com/dd97a20cea3444559290d55e8fae06bd580cd5ba/third_party/WebKit/public/platform/modules/indexeddb/WebIDBTypes.h

Project Member

Comment 6 by bugdroid1@chromium.org, Jul 8 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/05f35eab096fe52eab3af2c6db191c1285dc5a68

commit 05f35eab096fe52eab3af2c6db191c1285dc5a68
Author: palakj <palakj@google.com>
Date: Fri Jul 08 00:59:21 2016

[IDBObserver] Lifetime Management: Adding and Removing Observer

* Corresponding to each observe call at renderer side, an Observer object is created in the backend.
* The observer begins observing after the completion of transaction it was created with.
* The observer is removed when we have an unobserve call on observer or database connection closes.

Current Implementation and Future Scope: https://docs.google.com/a/google.com/document/d/1viweV7zje2vK9IC-_G0PYlWgGrBhcVYlIMFsogsoHmM/edit?usp=sharing

Reference: https://github.com/dmurph/indexed-db-observers/blob/gh-pages/EXPLAINER.md

BUG=609934

Review-Url: https://codereview.chromium.org/2062203004
Cr-Commit-Position: refs/heads/master@{#404283}

[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/content/browser/indexed_db/indexed_db_class_factory.cc
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/content/browser/indexed_db/indexed_db_class_factory.h
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/content/browser/indexed_db/indexed_db_connection.cc
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/content/browser/indexed_db/indexed_db_connection.h
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/content/browser/indexed_db/indexed_db_database.cc
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/content/browser/indexed_db/indexed_db_database.h
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/content/browser/indexed_db/indexed_db_database_unittest.cc
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/content/browser/indexed_db/indexed_db_dispatcher_host.cc
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/content/browser/indexed_db/indexed_db_dispatcher_host.h
[add] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/content/browser/indexed_db/indexed_db_observer.cc
[add] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/content/browser/indexed_db/indexed_db_observer.h
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/content/browser/indexed_db/indexed_db_transaction.cc
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/content/browser/indexed_db/indexed_db_transaction.h
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/content/browser/indexed_db/indexed_db_transaction_unittest.cc
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/content/browser/indexed_db/mock_browsertest_indexed_db_class_factory.cc
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/content/browser/indexed_db/mock_browsertest_indexed_db_class_factory.h
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/content/child/indexed_db/indexed_db_dispatcher.cc
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/content/child/indexed_db/indexed_db_dispatcher.h
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/content/child/indexed_db/webidbdatabase_impl.cc
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/content/child/indexed_db/webidbdatabase_impl.h
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/content/common/indexed_db/indexed_db_messages.h
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/content/content_browser.gypi
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/third_party/WebKit/LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/third_party/WebKit/LayoutTests/storage/indexeddb/resources/observer.js
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-dedicated-worker-expected.txt
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-shared-worker-expected.txt
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/third_party/WebKit/Source/modules/indexeddb/IDBObserver.cpp
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/third_party/WebKit/Source/modules/indexeddb/IDBObserver.h
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/third_party/WebKit/Source/modules/indexeddb/IDBObserver.idl
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/third_party/WebKit/Source/modules/indexeddb/MockWebIDBDatabase.h
[add] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/third_party/WebKit/Source/modules/indexeddb/WebIDBObserverImpl.cpp
[add] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/third_party/WebKit/Source/modules/indexeddb/WebIDBObserverImpl.h
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/third_party/WebKit/Source/modules/modules.gypi
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/third_party/WebKit/public/blink_headers.gypi
[modify] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/third_party/WebKit/public/platform/modules/indexeddb/WebIDBDatabase.h
[add] https://crrev.com/05f35eab096fe52eab3af2c6db191c1285dc5a68/third_party/WebKit/public/platform/modules/indexeddb/WebIDBObserver.h

Project Member

Comment 7 by bugdroid1@chromium.org, Jul 20 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3fee5f7897422fb482c25780fada51b8869c6a8e

commit 3fee5f7897422fb482c25780fada51b8869c6a8e
Author: palakj <palakj@google.com>
Date: Wed Jul 20 00:21:25 2016

[IndexedDB] Propogating Changes to Observer : Browser

The Cl only includes filtering and sending changes to observer only at the browser end.

* Each transaction has a connection-changes map.
* Changes contain i. array of observations
                  ii. map of observer_id to array of indices from observations, that the observer is listening to.
* Changes are filtered during transaction operations
* On transaction commit, for each connection, a single changes map is sent to renderer.

Current Implementation and Future Scope: https://docs.google.com/a/google.com/document/d/1viweV7zje2vK9IC-_G0PYlWgGrBhcVYlIMFsogsoHmM/edit?usp=sharing

Reference: https://github.com/dmurph/indexed-db-observers/blob/gh-pages/EXPLAINER.md

TBR=palmer

BUG= 609934

Review-Url: https://codereview.chromium.org/2160163002
Cr-Commit-Position: refs/heads/master@{#406427}

[modify] https://crrev.com/3fee5f7897422fb482c25780fada51b8869c6a8e/content/browser/indexed_db/indexed_db_connection.cc
[modify] https://crrev.com/3fee5f7897422fb482c25780fada51b8869c6a8e/content/browser/indexed_db/indexed_db_connection.h
[modify] https://crrev.com/3fee5f7897422fb482c25780fada51b8869c6a8e/content/browser/indexed_db/indexed_db_database.cc
[modify] https://crrev.com/3fee5f7897422fb482c25780fada51b8869c6a8e/content/browser/indexed_db/indexed_db_database.h
[modify] https://crrev.com/3fee5f7897422fb482c25780fada51b8869c6a8e/content/browser/indexed_db/indexed_db_database_callbacks.cc
[modify] https://crrev.com/3fee5f7897422fb482c25780fada51b8869c6a8e/content/browser/indexed_db/indexed_db_database_callbacks.h
[modify] https://crrev.com/3fee5f7897422fb482c25780fada51b8869c6a8e/content/browser/indexed_db/indexed_db_dispatcher_host.cc
[modify] https://crrev.com/3fee5f7897422fb482c25780fada51b8869c6a8e/content/browser/indexed_db/indexed_db_dispatcher_host.h
[add] https://crrev.com/3fee5f7897422fb482c25780fada51b8869c6a8e/content/browser/indexed_db/indexed_db_observation.cc
[add] https://crrev.com/3fee5f7897422fb482c25780fada51b8869c6a8e/content/browser/indexed_db/indexed_db_observation.h
[modify] https://crrev.com/3fee5f7897422fb482c25780fada51b8869c6a8e/content/browser/indexed_db/indexed_db_observer.cc
[modify] https://crrev.com/3fee5f7897422fb482c25780fada51b8869c6a8e/content/browser/indexed_db/indexed_db_observer.h
[add] https://crrev.com/3fee5f7897422fb482c25780fada51b8869c6a8e/content/browser/indexed_db/indexed_db_observer_changes.cc
[add] https://crrev.com/3fee5f7897422fb482c25780fada51b8869c6a8e/content/browser/indexed_db/indexed_db_observer_changes.h
[modify] https://crrev.com/3fee5f7897422fb482c25780fada51b8869c6a8e/content/browser/indexed_db/indexed_db_transaction.cc
[modify] https://crrev.com/3fee5f7897422fb482c25780fada51b8869c6a8e/content/browser/indexed_db/indexed_db_transaction.h
[modify] https://crrev.com/3fee5f7897422fb482c25780fada51b8869c6a8e/content/browser/indexed_db/indexed_db_transaction_unittest.cc
[modify] https://crrev.com/3fee5f7897422fb482c25780fada51b8869c6a8e/content/child/indexed_db/indexed_db_dispatcher.cc
[modify] https://crrev.com/3fee5f7897422fb482c25780fada51b8869c6a8e/content/common/indexed_db/indexed_db_messages.h
[modify] https://crrev.com/3fee5f7897422fb482c25780fada51b8869c6a8e/content/content_browser.gypi
[modify] https://crrev.com/3fee5f7897422fb482c25780fada51b8869c6a8e/third_party/WebKit/LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
[modify] https://crrev.com/3fee5f7897422fb482c25780fada51b8869c6a8e/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-dedicated-worker-expected.txt
[modify] https://crrev.com/3fee5f7897422fb482c25780fada51b8869c6a8e/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/3fee5f7897422fb482c25780fada51b8869c6a8e/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-shared-worker-expected.txt
[rename] https://crrev.com/3fee5f7897422fb482c25780fada51b8869c6a8e/third_party/WebKit/Source/modules/indexeddb/IDBObservation.cpp
[rename] https://crrev.com/3fee5f7897422fb482c25780fada51b8869c6a8e/third_party/WebKit/Source/modules/indexeddb/IDBObservation.h
[rename] https://crrev.com/3fee5f7897422fb482c25780fada51b8869c6a8e/third_party/WebKit/Source/modules/indexeddb/IDBObservation.idl
[modify] https://crrev.com/3fee5f7897422fb482c25780fada51b8869c6a8e/third_party/WebKit/Source/modules/modules.gypi
[modify] https://crrev.com/3fee5f7897422fb482c25780fada51b8869c6a8e/third_party/WebKit/public/platform/modules/indexeddb/WebIDBTypes.h

Project Member

Comment 8 by bugdroid1@chromium.org, Jul 21 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2751bda57a56b4d2bc02899a8a39e3026fccc599

commit 2751bda57a56b4d2bc02899a8a39e3026fccc599
Author: palakj <palakj@google.com>
Date: Thu Jul 21 00:18:14 2016

[IndexedDB] Propogating changes to observers

* Changes received from browser are multiplexed and passed on to each observer.
* Each observer extracts the required subset of observations from bulk observations of the connnection using its array of indices.
* The callback is fired with a map of object store to array of observations.

Current Implementation and Future Scope: http://goo.gl/r0eUpe

Reference: https://github.com/dmurph/indexed-db-observers/blob/gh-pages/EXPLAINER.md

BUG=609934

Review-Url: https://codereview.chromium.org/2125213002
Cr-Commit-Position: refs/heads/master@{#406722}

[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/content/browser/indexed_db/indexed_db_observer.cc
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/content/browser/indexed_db/indexed_db_observer.h
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/content/child/indexed_db/indexed_db_dispatcher.cc
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/content/child/indexed_db/indexed_db_dispatcher.h
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/content/child/indexed_db/indexed_db_key_builders.cc
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/content/child/indexed_db/indexed_db_key_builders.h
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/content/child/indexed_db/webidbdatabase_impl.cc
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/content/child/indexed_db/webidbdatabase_impl.h
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/content/common/indexed_db/indexed_db_messages.h
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/third_party/WebKit/LayoutTests/storage/indexeddb/observer-worker.html
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/third_party/WebKit/LayoutTests/storage/indexeddb/observer.html
[add] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/third_party/WebKit/LayoutTests/storage/indexeddb/resources/generic-idb-operations.js
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/third_party/WebKit/LayoutTests/storage/indexeddb/resources/observer.js
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/third_party/WebKit/Source/bindings/modules/v8/V8IDBObserverCallback.cpp
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/third_party/WebKit/Source/bindings/modules/v8/V8IDBObserverCallback.h
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/third_party/WebKit/Source/modules/indexeddb/IDBDatabase.cpp
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/third_party/WebKit/Source/modules/indexeddb/IDBDatabase.h
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/third_party/WebKit/Source/modules/indexeddb/IDBObservation.cpp
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/third_party/WebKit/Source/modules/indexeddb/IDBObservation.h
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/third_party/WebKit/Source/modules/indexeddb/IDBObservation.idl
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/third_party/WebKit/Source/modules/indexeddb/IDBObserver.cpp
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/third_party/WebKit/Source/modules/indexeddb/IDBObserver.h
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/third_party/WebKit/Source/modules/indexeddb/IDBObserverCallback.h
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/third_party/WebKit/Source/modules/indexeddb/IDBObserverChanges.cpp
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/third_party/WebKit/Source/modules/indexeddb/IDBObserverChanges.h
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/third_party/WebKit/Source/modules/indexeddb/IDBObserverChanges.idl
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/third_party/WebKit/Source/modules/indexeddb/IDBObserverInit.idl
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/third_party/WebKit/Source/modules/indexeddb/MockWebIDBDatabase.h
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/third_party/WebKit/Source/modules/indexeddb/WebIDBObserverImpl.cpp
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/third_party/WebKit/Source/modules/indexeddb/WebIDBObserverImpl.h
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/third_party/WebKit/public/blink_headers.gypi
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/third_party/WebKit/public/platform/modules/indexeddb/WebIDBDatabase.h
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/third_party/WebKit/public/platform/modules/indexeddb/WebIDBKeyRange.h
[add] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/third_party/WebKit/public/platform/modules/indexeddb/WebIDBObservation.h
[modify] https://crrev.com/2751bda57a56b4d2bc02899a8a39e3026fccc599/third_party/WebKit/public/platform/modules/indexeddb/WebIDBObserver.h

Project Member

Comment 10 by bugdroid1@chromium.org, Oct 27 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1bf48eaa4831b5fd0a78bcb5d9a36b63d2a8cf49

commit 1bf48eaa4831b5fd0a78bcb5d9a36b63d2a8cf49
Author: dmurph <dmurph@chromium.org>
Date: Thu Oct 27 18:43:36 2016

[IndexedDB] Add IDB Observer Tests

Adding pipelined IDB Observer tests. The pipeline is:
1. Init databases,
2. Add observers & start observer tests,
3. Perform database actions (in two stages).

These are split up so they can be executed in workers
or in the same frame. This does not include all cases
where we want to throw an exception, that will be in
a follow up patch.

Current Implementation and Future Scope: https://goo.gl/Y2dobn

Reference: https://github.com/WICG/indexed-db-observers/blob/gh-pages/EXPLAINER.md

BUG=609934

Review-Url: https://codereview.chromium.org/2449563002
Cr-Commit-Position: refs/heads/master@{#428091}

[add] https://crrev.com/1bf48eaa4831b5fd0a78bcb5d9a36b63d2a8cf49/third_party/WebKit/LayoutTests/storage/indexeddb/observer-frame.html
[add] https://crrev.com/1bf48eaa4831b5fd0a78bcb5d9a36b63d2a8cf49/third_party/WebKit/LayoutTests/storage/indexeddb/observer-workers.html
[modify] https://crrev.com/1bf48eaa4831b5fd0a78bcb5d9a36b63d2a8cf49/third_party/WebKit/LayoutTests/storage/indexeddb/resources/generic-idb-operations.js
[add] https://crrev.com/1bf48eaa4831b5fd0a78bcb5d9a36b63d2a8cf49/third_party/WebKit/LayoutTests/storage/indexeddb/resources/observer-actions.js
[add] https://crrev.com/1bf48eaa4831b5fd0a78bcb5d9a36b63d2a8cf49/third_party/WebKit/LayoutTests/storage/indexeddb/resources/observer-helpers.js
[add] https://crrev.com/1bf48eaa4831b5fd0a78bcb5d9a36b63d2a8cf49/third_party/WebKit/LayoutTests/storage/indexeddb/resources/observer-tests.js
[modify] https://crrev.com/1bf48eaa4831b5fd0a78bcb5d9a36b63d2a8cf49/third_party/WebKit/LayoutTests/storage/indexeddb/resources/observer.js
[add] https://crrev.com/1bf48eaa4831b5fd0a78bcb5d9a36b63d2a8cf49/third_party/WebKit/LayoutTests/storage/indexeddb/resources/promise-idb.js
[modify] https://crrev.com/1bf48eaa4831b5fd0a78bcb5d9a36b63d2a8cf49/third_party/WebKit/LayoutTests/storage/indexeddb/resources/testharness-helpers.js
[modify] https://crrev.com/1bf48eaa4831b5fd0a78bcb5d9a36b63d2a8cf49/third_party/WebKit/Source/modules/indexeddb/IDBObservation.idl
[modify] https://crrev.com/1bf48eaa4831b5fd0a78bcb5d9a36b63d2a8cf49/third_party/WebKit/Source/modules/indexeddb/IDBObserver.cpp
[modify] https://crrev.com/1bf48eaa4831b5fd0a78bcb5d9a36b63d2a8cf49/third_party/WebKit/Source/modules/indexeddb/IndexedDBNames.in

Labels: Hotlist-Recharge-BouncingOwner
Owner: ----
Status: Untriaged (was: Assigned)
This owner is not able to receive e-mails, please re-triage.
Owner: dmu...@chromium.org
Project Member

Comment 13 by bugdroid1@chromium.org, Jan 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a1319a867978d9700653ecc5a6592d24b6367a2c

commit a1319a867978d9700653ecc5a6592d24b6367a2c
Author: dmurph <dmurph@chromium.org>
Date: Wed Jan 18 22:29:23 2017

[IndexedDB] Adding transaction and value support to observers

BUG= 662248 , 662246 ,609934
R=pwnall@chromium.org,jsbell@chromium.org,cmumford@chromium.org

Review-Url: https://codereview.chromium.org/2601983002
Cr-Commit-Position: refs/heads/master@{#444514}

[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/content/browser/indexed_db/indexed_db_callbacks.cc
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/content/browser/indexed_db/indexed_db_callbacks.h
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/content/browser/indexed_db/indexed_db_connection.cc
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/content/browser/indexed_db/indexed_db_connection.h
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/content/browser/indexed_db/indexed_db_database.cc
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/content/browser/indexed_db/indexed_db_database.h
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/content/browser/indexed_db/indexed_db_observer.h
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/content/browser/indexed_db/indexed_db_transaction.cc
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/content/browser/indexed_db/indexed_db_transaction.h
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/content/browser/indexed_db/indexed_db_transaction_coordinator.cc
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/content/browser/indexed_db/indexed_db_transaction_coordinator.h
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/content/browser/indexed_db/list_set.h
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/content/browser/indexed_db/list_set_unittest.cc
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/content/child/indexed_db/indexed_db_callbacks_impl.cc
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/content/child/indexed_db/indexed_db_callbacks_impl.h
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/content/child/indexed_db/indexed_db_database_callbacks_impl.cc
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/content/common/indexed_db/indexed_db.mojom
[add] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/third_party/WebKit/LayoutTests/storage/indexeddb/observer-transaction-test.html
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/third_party/WebKit/LayoutTests/storage/indexeddb/observer.html
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/third_party/WebKit/LayoutTests/storage/indexeddb/resources/generic-idb-operations.js
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/third_party/WebKit/LayoutTests/storage/indexeddb/resources/observer-actions.js
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/third_party/WebKit/LayoutTests/storage/indexeddb/resources/observer-tests.js
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/third_party/WebKit/LayoutTests/storage/indexeddb/resources/observer.js
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/third_party/WebKit/Source/modules/indexeddb/IDBDatabase.cpp
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/third_party/WebKit/Source/modules/indexeddb/IDBDatabase.h
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/third_party/WebKit/Source/modules/indexeddb/IDBDatabaseCallbacks.cpp
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/third_party/WebKit/Source/modules/indexeddb/IDBDatabaseCallbacks.h
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/third_party/WebKit/Source/modules/indexeddb/IDBObserver.cpp
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/third_party/WebKit/Source/modules/indexeddb/IDBObserverChanges.cpp
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/third_party/WebKit/Source/modules/indexeddb/IDBObserverChanges.h
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/third_party/WebKit/Source/modules/indexeddb/IDBTransaction.cpp
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/third_party/WebKit/Source/modules/indexeddb/IDBTransaction.h
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/third_party/WebKit/Source/modules/indexeddb/WebIDBDatabaseCallbacksImpl.cpp
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/third_party/WebKit/Source/modules/indexeddb/WebIDBDatabaseCallbacksImpl.h
[modify] https://crrev.com/a1319a867978d9700653ecc5a6592d24b6367a2c/third_party/WebKit/public/platform/modules/indexeddb/WebIDBDatabaseCallbacks.h

Status: Assigned (was: Untriaged)
Cc: dk...@chromium.org jsb...@chromium.org
Components: Blink>Storage>IndexedDB
Labels: -Launch-Status-Pending Launch-Status-Review-Requested
I would like to launch to an origin trial. Dru/Josh, do you know what launch process this needs?
One of the first questions in the OT sign-up process is: What information do you think we'll gather from an origin trial here vs. getting developers to try it using the experimental flag? And have we received feedback from developers using the feature via the flag so we know it's ready enough to move to the next step?


Labels: -M-54
Labels: dmurph-project-tracking
Blocking: 674593
Please make sure to standardize IDBObservation and IDBObservationType in the future. 
Cc: foolip@chromium.org
Labels: -dmurph-project-tracking
Labels: migrated-launch-owp Type-Task
This issue has been automatically relabelled type=task because type=launch-owp issues are now officially deprecated. The deprecation is because they were creating confusion about how to get launch approvals, which should be instead done via type=launch issues.

We recommend this issue be used for implementation tracking (for public visibility), but if you already have an issue for that, you may mark this as duplicate.

For more details see here: https://docs.google.com/document/d/1JA6RohjtZQc26bTrGoIE_bSXGXUDQz8vc6G0n_sZJ2o/edit

For any questions, please contact owencm, sshruthi, larforge

Comment 25 by kbr@chromium.org, Feb 8 2018

Blockedon: 810254

Comment 26 by amin...@google.com, May 15 2018

Labels: -Launch-Test-NotReviewed Launch-Test-ReviewRequested
Converting cross-functional bits to new bit states described in new launch process (https://docs.google.com/document/d/1hJ1U8-7DNa7lGfTJWRgSgqQyNnOFO4Ks5Czr1-3--8I/edit?usp=sharing).  Ping amineer@ with any questions.

Comment 27 by amin...@google.com, May 15 2018

Labels: -Launch-Legal-NotReviewed Launch-Legal-ReviewRequested
Converting cross-functional bits to new bit states described in new launch process (https://docs.google.com/document/d/1hJ1U8-7DNa7lGfTJWRgSgqQyNnOFO4Ks5Czr1-3--8I/edit?usp=sharing).  Ping amineer@ with any questions.

Comment 28 by amin...@google.com, May 15 2018

Labels: -Launch-Accessibility-NotReviewed Launch-Accessibility-ReviewRequested
Converting cross-functional bits to new bit states described in new launch process (https://docs.google.com/document/d/1hJ1U8-7DNa7lGfTJWRgSgqQyNnOFO4Ks5Czr1-3--8I/edit?usp=sharing).  Ping amineer@ with any questions.

Comment 29 by amin...@google.com, May 15 2018

Labels: -Launch-Security-NotReviewed Launch-Security-ReviewRequested
Converting cross-functional bits to new bit states described in new launch process (https://docs.google.com/document/d/1hJ1U8-7DNa7lGfTJWRgSgqQyNnOFO4Ks5Czr1-3--8I/edit?usp=sharing).  Ping amineer@ with any questions.

Comment 30 by amin...@google.com, May 15 2018

Labels: -Launch-Privacy-NotReviewed Launch-Privacy-ReviewRequested
Converting cross-functional bits to new bit states described in new launch process (https://docs.google.com/document/d/1hJ1U8-7DNa7lGfTJWRgSgqQyNnOFO4Ks5Czr1-3--8I/edit?usp=sharing).  Ping amineer@ with any questions.

Comment 31 by amin...@google.com, May 15 2018

Labels: -Launch-Status-Review-Requested
Converting cross-functional bits to new bit states described in new launch process (https://docs.google.com/document/d/1hJ1U8-7DNa7lGfTJWRgSgqQyNnOFO4Ks5Czr1-3--8I/edit?usp=sharing).  Ping amineer@ with any questions.
Status: Available (was: Assigned)
Removing myself from blocked issues
Owner: ----
Blockedon: 918935

Sign in to add a comment