| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 112 } | 112 } |
| 113 | 113 |
| 114 IDBRequest* idbRequest = static_cast<IDBRequest*>(event->target()); | 114 IDBRequest* idbRequest = static_cast<IDBRequest*>(event->target()); |
| 115 IDBAny* requestResult = idbRequest->resultAsAny(); | 115 IDBAny* requestResult = idbRequest->resultAsAny(); |
| 116 if (requestResult->type() != IDBAny::DOMStringListType) { | 116 if (requestResult->type() != IDBAny::DOMStringListType) { |
| 117 m_requestCallback->sendFailure("Unexpected result type."); | 117 m_requestCallback->sendFailure("Unexpected result type."); |
| 118 return; | 118 return; |
| 119 } | 119 } |
| 120 | 120 |
| 121 RefPtrWillBeRawPtr<DOMStringList> databaseNamesList = requestResult->dom
StringList(); | 121 RefPtrWillBeRawPtr<DOMStringList> databaseNamesList = requestResult->dom
StringList(); |
| 122 RefPtr<TypeBuilder::Array<String> > databaseNames = TypeBuilder::Array<S
tring>::create(); | 122 RefPtr<TypeBuilder::Array<String>> databaseNames = TypeBuilder::Array<St
ring>::create(); |
| 123 for (size_t i = 0; i < databaseNamesList->length(); ++i) | 123 for (size_t i = 0; i < databaseNamesList->length(); ++i) |
| 124 databaseNames->addItem(databaseNamesList->item(i)); | 124 databaseNames->addItem(databaseNamesList->item(i)); |
| 125 m_requestCallback->sendSuccess(databaseNames.release()); | 125 m_requestCallback->sendSuccess(databaseNames.release()); |
| 126 } | 126 } |
| 127 | 127 |
| 128 private: | 128 private: |
| 129 GetDatabaseNamesCallback(PassRefPtrWillBeRawPtr<RequestDatabaseNamesCallback
> requestCallback, const String& securityOrigin) | 129 GetDatabaseNamesCallback(PassRefPtrWillBeRawPtr<RequestDatabaseNamesCallback
> requestCallback, const String& securityOrigin) |
| 130 : EventListener(EventListener::CPPEventListenerType) | 130 : EventListener(EventListener::CPPEventListenerType) |
| 131 , m_requestCallback(requestCallback) | 131 , m_requestCallback(requestCallback) |
| 132 , m_securityOrigin(securityOrigin) { } | 132 , m_securityOrigin(securityOrigin) { } |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 236 switch (idbKeyPath.type()) { | 236 switch (idbKeyPath.type()) { |
| 237 case IDBKeyPath::NullType: | 237 case IDBKeyPath::NullType: |
| 238 keyPath = KeyPath::create().setType(KeyPath::Type::Null); | 238 keyPath = KeyPath::create().setType(KeyPath::Type::Null); |
| 239 break; | 239 break; |
| 240 case IDBKeyPath::StringType: | 240 case IDBKeyPath::StringType: |
| 241 keyPath = KeyPath::create().setType(KeyPath::Type::String); | 241 keyPath = KeyPath::create().setType(KeyPath::Type::String); |
| 242 keyPath->setString(idbKeyPath.string()); | 242 keyPath->setString(idbKeyPath.string()); |
| 243 break; | 243 break; |
| 244 case IDBKeyPath::ArrayType: { | 244 case IDBKeyPath::ArrayType: { |
| 245 keyPath = KeyPath::create().setType(KeyPath::Type::Array); | 245 keyPath = KeyPath::create().setType(KeyPath::Type::Array); |
| 246 RefPtr<TypeBuilder::Array<String> > array = TypeBuilder::Array<String>::
create(); | 246 RefPtr<TypeBuilder::Array<String>> array = TypeBuilder::Array<String>::c
reate(); |
| 247 const Vector<String>& stringArray = idbKeyPath.array(); | 247 const Vector<String>& stringArray = idbKeyPath.array(); |
| 248 for (size_t i = 0; i < stringArray.size(); ++i) | 248 for (size_t i = 0; i < stringArray.size(); ++i) |
| 249 array->addItem(stringArray[i]); | 249 array->addItem(stringArray[i]); |
| 250 keyPath->setArray(array); | 250 keyPath->setArray(array); |
| 251 break; | 251 break; |
| 252 } | 252 } |
| 253 default: | 253 default: |
| 254 ASSERT_NOT_REACHED(); | 254 ASSERT_NOT_REACHED(); |
| 255 } | 255 } |
| 256 | 256 |
| 257 return keyPath.release(); | 257 return keyPath.release(); |
| 258 } | 258 } |
| 259 | 259 |
| 260 class DatabaseLoader final : public ExecutableWithDatabase { | 260 class DatabaseLoader final : public ExecutableWithDatabase { |
| 261 public: | 261 public: |
| 262 static PassRefPtr<DatabaseLoader> create(ScriptState* scriptState, PassRefPt
rWillBeRawPtr<RequestDatabaseCallback> requestCallback) | 262 static PassRefPtr<DatabaseLoader> create(ScriptState* scriptState, PassRefPt
rWillBeRawPtr<RequestDatabaseCallback> requestCallback) |
| 263 { | 263 { |
| 264 return adoptRef(new DatabaseLoader(scriptState, requestCallback)); | 264 return adoptRef(new DatabaseLoader(scriptState, requestCallback)); |
| 265 } | 265 } |
| 266 | 266 |
| 267 virtual ~DatabaseLoader() { } | 267 virtual ~DatabaseLoader() { } |
| 268 | 268 |
| 269 virtual void execute(IDBDatabase* idbDatabase) override | 269 virtual void execute(IDBDatabase* idbDatabase) override |
| 270 { | 270 { |
| 271 if (!requestCallback()->isActive()) | 271 if (!requestCallback()->isActive()) |
| 272 return; | 272 return; |
| 273 | 273 |
| 274 const IDBDatabaseMetadata databaseMetadata = idbDatabase->metadata(); | 274 const IDBDatabaseMetadata databaseMetadata = idbDatabase->metadata(); |
| 275 | 275 |
| 276 RefPtr<TypeBuilder::Array<TypeBuilder::IndexedDB::ObjectStore> > objectS
tores = TypeBuilder::Array<TypeBuilder::IndexedDB::ObjectStore>::create(); | 276 RefPtr<TypeBuilder::Array<TypeBuilder::IndexedDB::ObjectStore>> objectSt
ores = TypeBuilder::Array<TypeBuilder::IndexedDB::ObjectStore>::create(); |
| 277 | 277 |
| 278 for (const auto& storeMapEntry : databaseMetadata.objectStores) { | 278 for (const auto& storeMapEntry : databaseMetadata.objectStores) { |
| 279 const IDBObjectStoreMetadata& objectStoreMetadata = storeMapEntry.va
lue; | 279 const IDBObjectStoreMetadata& objectStoreMetadata = storeMapEntry.va
lue; |
| 280 | 280 |
| 281 RefPtr<TypeBuilder::Array<TypeBuilder::IndexedDB::ObjectStoreIndex>
> indexes = TypeBuilder::Array<TypeBuilder::IndexedDB::ObjectStoreIndex>::create
(); | 281 RefPtr<TypeBuilder::Array<TypeBuilder::IndexedDB::ObjectStoreIndex>>
indexes = TypeBuilder::Array<TypeBuilder::IndexedDB::ObjectStoreIndex>::create(
); |
| 282 | 282 |
| 283 for (const auto& metadataMapEntry : objectStoreMetadata.indexes) { | 283 for (const auto& metadataMapEntry : objectStoreMetadata.indexes) { |
| 284 const IDBIndexMetadata& indexMetadata = metadataMapEntry.value; | 284 const IDBIndexMetadata& indexMetadata = metadataMapEntry.value; |
| 285 | 285 |
| 286 RefPtr<ObjectStoreIndex> objectStoreIndex = ObjectStoreIndex::cr
eate() | 286 RefPtr<ObjectStoreIndex> objectStoreIndex = ObjectStoreIndex::cr
eate() |
| 287 .setName(indexMetadata.name) | 287 .setName(indexMetadata.name) |
| 288 .setKeyPath(keyPathFromIDBKeyPath(indexMetadata.keyPath)) | 288 .setKeyPath(keyPathFromIDBKeyPath(indexMetadata.keyPath)) |
| 289 .setUnique(indexMetadata.unique) | 289 .setUnique(indexMetadata.unique) |
| 290 .setMultiEntry(indexMetadata.multiEntry); | 290 .setMultiEntry(indexMetadata.multiEntry); |
| 291 indexes->addItem(objectStoreIndex); | 291 indexes->addItem(objectStoreIndex); |
| (...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 479 , m_skipCount(skipCount) | 479 , m_skipCount(skipCount) |
| 480 , m_pageSize(pageSize) | 480 , m_pageSize(pageSize) |
| 481 { | 481 { |
| 482 m_result = Array<DataEntry>::create(); | 482 m_result = Array<DataEntry>::create(); |
| 483 } | 483 } |
| 484 | 484 |
| 485 RefPtr<ScriptState> m_scriptState; | 485 RefPtr<ScriptState> m_scriptState; |
| 486 RefPtrWillBePersistent<RequestDataCallback> m_requestCallback; | 486 RefPtrWillBePersistent<RequestDataCallback> m_requestCallback; |
| 487 int m_skipCount; | 487 int m_skipCount; |
| 488 unsigned m_pageSize; | 488 unsigned m_pageSize; |
| 489 RefPtr<Array<DataEntry> > m_result; | 489 RefPtr<Array<DataEntry>> m_result; |
| 490 }; | 490 }; |
| 491 | 491 |
| 492 class DataLoader final : public ExecutableWithDatabase { | 492 class DataLoader final : public ExecutableWithDatabase { |
| 493 public: | 493 public: |
| 494 static PassRefPtr<DataLoader> create(ScriptState* scriptState, PassRefPtrWil
lBeRawPtr<RequestDataCallback> requestCallback, const String& objectStoreName, c
onst String& indexName, IDBKeyRange* idbKeyRange, int skipCount, unsigned pageSi
ze) | 494 static PassRefPtr<DataLoader> create(ScriptState* scriptState, PassRefPtrWil
lBeRawPtr<RequestDataCallback> requestCallback, const String& objectStoreName, c
onst String& indexName, IDBKeyRange* idbKeyRange, int skipCount, unsigned pageSi
ze) |
| 495 { | 495 { |
| 496 return adoptRef(new DataLoader(scriptState, requestCallback, objectStore
Name, indexName, idbKeyRange, skipCount, pageSize)); | 496 return adoptRef(new DataLoader(scriptState, requestCallback, objectStore
Name, indexName, idbKeyRange, skipCount, pageSize)); |
| 497 } | 497 } |
| 498 | 498 |
| 499 virtual ~DataLoader() { } | 499 virtual ~DataLoader() { } |
| (...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 786 clearObjectStore->start(idbFactory, document->securityOrigin(), databaseName
); | 786 clearObjectStore->start(idbFactory, document->securityOrigin(), databaseName
); |
| 787 } | 787 } |
| 788 | 788 |
| 789 void InspectorIndexedDBAgent::trace(Visitor* visitor) | 789 void InspectorIndexedDBAgent::trace(Visitor* visitor) |
| 790 { | 790 { |
| 791 visitor->trace(m_page); | 791 visitor->trace(m_page); |
| 792 InspectorBaseAgent::trace(visitor); | 792 InspectorBaseAgent::trace(visitor); |
| 793 } | 793 } |
| 794 | 794 |
| 795 } // namespace blink | 795 } // namespace blink |
| OLD | NEW |