| Index: content/browser/indexed_db/indexed_db_observer.h
|
| diff --git a/content/browser/indexed_db/indexed_db_observer.h b/content/browser/indexed_db/indexed_db_observer.h
|
| index f7bd95985a3b280865f63303b9e44faaf4578ff7..7816891d5851b3086d75d72d45e57867aa47542e 100644
|
| --- a/content/browser/indexed_db/indexed_db_observer.h
|
| +++ b/content/browser/indexed_db/indexed_db_observer.h
|
| @@ -8,20 +8,41 @@
|
| #include <stddef.h>
|
| #include <stdint.h>
|
|
|
| +#include <set>
|
| +#include <vector>
|
| +
|
| #include "base/macros.h"
|
| +#include "base/stl_util.h"
|
| #include "content/common/content_export.h"
|
| +#include "third_party/WebKit/public/platform/modules/indexeddb/WebIDBTypes.h"
|
|
|
| namespace content {
|
|
|
| class CONTENT_EXPORT IndexedDBObserver {
|
| public:
|
| - IndexedDBObserver(int32_t observer_id);
|
| + // TODO(palakj): Modify constructor to add operation_type, key_ranges and
|
| + // options.
|
| + IndexedDBObserver(int32_t observer_id, std::set<int64_t> object_store_ids);
|
| ~IndexedDBObserver();
|
|
|
| - int32_t id() const { return observer_id_; }
|
| + int32_t id() const { return id_; }
|
| + const std::set<int64_t>& GetObjectStoreIds() const {
|
| + return object_store_ids_;
|
| + }
|
| + bool IsRecordingType(blink::WebIDBOperationType type) const {
|
| + DCHECK_NE(type, blink::WebIDBOperationTypeCount);
|
| + return operation_type_[type];
|
| + }
|
| + bool IsRecordingObjectStore(int32_t object_store_id) const {
|
| + return ContainsValue(object_store_ids_, object_store_id);
|
| + }
|
|
|
| private:
|
| - int32_t observer_id_;
|
| + int32_t id_;
|
| + std::set<int64_t> object_store_ids_;
|
| + // operation_type_ indicates whether each operation type { ADD, PUT, DELETE,
|
| + // CLEAR } is to be recorded or not.
|
| + bool operation_type_[blink::WebIDBOperationTypeCount] = {false};
|
|
|
| DISALLOW_COPY_AND_ASSIGN(IndexedDBObserver);
|
| };
|
|
|