| Index: third_party/WebKit/Source/modules/indexeddb/IDBObserver.cpp
|
| diff --git a/third_party/WebKit/Source/modules/indexeddb/IDBObserver.cpp b/third_party/WebKit/Source/modules/indexeddb/IDBObserver.cpp
|
| index b8adb4a94c92f6afb9f49013da45065bb2e1673e..fed28f8d42f6484d9681430357ac369efb277fe2 100644
|
| --- a/third_party/WebKit/Source/modules/indexeddb/IDBObserver.cpp
|
| +++ b/third_party/WebKit/Source/modules/indexeddb/IDBObserver.cpp
|
| @@ -16,7 +16,6 @@
|
| #include "modules/indexeddb/IDBObserverChanges.h"
|
| #include "modules/indexeddb/IDBObserverInit.h"
|
| #include "modules/indexeddb/IDBTransaction.h"
|
| -#include "modules/indexeddb/WebIDBObserverImpl.h"
|
|
|
| namespace blink {
|
|
|
| @@ -73,14 +72,10 @@ void IDBObserver::observe(IDBDatabase* database,
|
| }
|
| }
|
|
|
| - std::unique_ptr<WebIDBObserverImpl> observer =
|
| - WebIDBObserverImpl::create(this, options.transaction(), options.values(),
|
| - options.noRecords(), types);
|
| - WebIDBObserverImpl* observerPtr = observer.get();
|
| int32_t observerId =
|
| - database->backend()->addObserver(std::move(observer), transaction->id());
|
| + database->addObserver(this, transaction->id(), options.transaction(),
|
| + options.values(), options.noRecords(), types);
|
| m_observerIds.add(observerId, database);
|
| - observerPtr->setId(observerId);
|
| }
|
|
|
| void IDBObserver::unobserve(IDBDatabase* database,
|
| @@ -99,20 +94,7 @@ void IDBObserver::unobserve(IDBDatabase* database,
|
| m_observerIds.removeAll(observerIdsToRemove);
|
|
|
| if (!observerIdsToRemove.isEmpty())
|
| - database->backend()->removeObservers(observerIdsToRemove);
|
| -}
|
| -
|
| -void IDBObserver::removeObserver(int32_t id) {
|
| - m_observerIds.remove(id);
|
| -}
|
| -
|
| -void IDBObserver::onChange(int32_t id,
|
| - const WebVector<WebIDBObservation>& observations,
|
| - const WebVector<int32_t>& observationIndex) {
|
| - auto it = m_observerIds.find(id);
|
| - DCHECK(it != m_observerIds.end());
|
| - m_callback->call(this, IDBObserverChanges::create(it->value, observations,
|
| - observationIndex));
|
| + database->removeObservers(observerIdsToRemove);
|
| }
|
|
|
| DEFINE_TRACE(IDBObserver) {
|
|
|