| Index: third_party/WebKit/Source/modules/indexeddb/IDBObserver.h
|
| diff --git a/third_party/WebKit/Source/modules/indexeddb/IDBObserver.h b/third_party/WebKit/Source/modules/indexeddb/IDBObserver.h
|
| index c85005677b75b4d05a78f5a7a8a103eb79d55a47..1b1afc6ee8e57602ad7e4a8fdeec3d102fdd9e5a 100644
|
| --- a/third_party/WebKit/Source/modules/indexeddb/IDBObserver.h
|
| +++ b/third_party/WebKit/Source/modules/indexeddb/IDBObserver.h
|
| @@ -8,7 +8,7 @@
|
| #include "bindings/core/v8/ScriptWrappable.h"
|
| #include "modules/ModulesExport.h"
|
| #include "platform/heap/Handle.h"
|
| -#include <set>
|
| +#include "public/platform/modules/indexeddb/WebIDBTypes.h"
|
|
|
| namespace blink {
|
|
|
| @@ -17,6 +17,7 @@ class IDBDatabase;
|
| class IDBObserverCallback;
|
| class IDBObserverInit;
|
| class IDBTransaction;
|
| +struct WebIDBObservation;
|
|
|
| class MODULES_EXPORT IDBObserver final : public GarbageCollectedFinalized<IDBObserver>, public ScriptWrappable {
|
| DEFINE_WRAPPERTYPEINFO();
|
| @@ -25,10 +26,17 @@ public:
|
| static IDBObserver* create(IDBObserverCallback&, const IDBObserverInit&);
|
|
|
| ~IDBObserver();
|
| - // API methods
|
| +
|
| + void removeObserver(int32_t id);
|
| + void onChange(int32_t id, const std::vector<WebIDBObservation>&, const std::vector<int32_t>& observation_index);
|
| +
|
| + bool transaction() const { return m_transaction; }
|
| + bool noRecords() const { return m_noRecords; }
|
| + bool values() const { return m_values; }
|
| +
|
| + // Implement the IDBObserver IDL.
|
| void observe(IDBDatabase*, IDBTransaction*, ExceptionState&);
|
| void unobserve(IDBDatabase*, ExceptionState&);
|
| - void removeObserver(int32_t id);
|
|
|
| DECLARE_TRACE();
|
|
|
| @@ -39,7 +47,7 @@ private:
|
| bool m_transaction;
|
| bool m_values;
|
| bool m_noRecords;
|
| - std::set<int32_t> m_observerIds;
|
| + HeapHashMap<int32_t, WeakMember<IDBDatabase>> m_observerIds;
|
| };
|
|
|
| } // namespace blink
|
|
|