Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(91)

Side by Side Diff: third_party/WebKit/Source/modules/indexeddb/InspectorIndexedDBAgent.cpp

Issue 1773813007: blink: Rename modules/ method to prefix with get when they collide. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: clash-modules: rebase-fixes Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 String m_securityOrigin; 135 String m_securityOrigin;
136 }; 136 };
137 137
138 class ExecutableWithDatabase : public RefCounted<ExecutableWithDatabase> { 138 class ExecutableWithDatabase : public RefCounted<ExecutableWithDatabase> {
139 public: 139 public:
140 ExecutableWithDatabase(ScriptState* scriptState) 140 ExecutableWithDatabase(ScriptState* scriptState)
141 : m_scriptState(scriptState) { } 141 : m_scriptState(scriptState) { }
142 virtual ~ExecutableWithDatabase() { } 142 virtual ~ExecutableWithDatabase() { }
143 void start(IDBFactory*, SecurityOrigin*, const String& databaseName); 143 void start(IDBFactory*, SecurityOrigin*, const String& databaseName);
144 virtual void execute(IDBDatabase*) = 0; 144 virtual void execute(IDBDatabase*) = 0;
145 virtual RequestCallback* requestCallback() = 0; 145 virtual RequestCallback* getRequestCallback() = 0;
146 ExecutionContext* context() const { return m_scriptState->executionContext() ; } 146 ExecutionContext* context() const { return m_scriptState->getExecutionContex t(); }
147 ScriptState* scriptState() const { return m_scriptState.get(); } 147 ScriptState* getScriptState() const { return m_scriptState.get(); }
148 private: 148 private:
149 RefPtr<ScriptState> m_scriptState; 149 RefPtr<ScriptState> m_scriptState;
150 }; 150 };
151 151
152 class OpenDatabaseCallback final : public EventListener { 152 class OpenDatabaseCallback final : public EventListener {
153 public: 153 public:
154 static PassRefPtrWillBeRawPtr<OpenDatabaseCallback> create(ExecutableWithDat abase* executableWithDatabase) 154 static PassRefPtrWillBeRawPtr<OpenDatabaseCallback> create(ExecutableWithDat abase* executableWithDatabase)
155 { 155 {
156 return adoptRefWillBeNoop(new OpenDatabaseCallback(executableWithDatabas e)); 156 return adoptRefWillBeNoop(new OpenDatabaseCallback(executableWithDatabas e));
157 } 157 }
158 158
159 ~OpenDatabaseCallback() override { } 159 ~OpenDatabaseCallback() override { }
160 160
161 bool operator==(const EventListener& other) const override 161 bool operator==(const EventListener& other) const override
162 { 162 {
163 return this == &other; 163 return this == &other;
164 } 164 }
165 165
166 void handleEvent(ExecutionContext* context, Event* event) override 166 void handleEvent(ExecutionContext* context, Event* event) override
167 { 167 {
168 if (event->type() != EventTypeNames::success) { 168 if (event->type() != EventTypeNames::success) {
169 m_executableWithDatabase->requestCallback()->sendFailure("Unexpected event type."); 169 m_executableWithDatabase->getRequestCallback()->sendFailure("Unexpec ted event type.");
170 return; 170 return;
171 } 171 }
172 172
173 IDBOpenDBRequest* idbOpenDBRequest = static_cast<IDBOpenDBRequest*>(even t->target()); 173 IDBOpenDBRequest* idbOpenDBRequest = static_cast<IDBOpenDBRequest*>(even t->target());
174 IDBAny* requestResult = idbOpenDBRequest->resultAsAny(); 174 IDBAny* requestResult = idbOpenDBRequest->resultAsAny();
175 if (requestResult->getType() != IDBAny::IDBDatabaseType) { 175 if (requestResult->getType() != IDBAny::IDBDatabaseType) {
176 m_executableWithDatabase->requestCallback()->sendFailure("Unexpected result type."); 176 m_executableWithDatabase->getRequestCallback()->sendFailure("Unexpec ted result type.");
177 return; 177 return;
178 } 178 }
179 179
180 IDBDatabase* idbDatabase = requestResult->idbDatabase(); 180 IDBDatabase* idbDatabase = requestResult->idbDatabase();
181 m_executableWithDatabase->execute(idbDatabase); 181 m_executableWithDatabase->execute(idbDatabase);
182 V8PerIsolateData::from(m_executableWithDatabase->scriptState()->isolate( ))->runEndOfScopeTasks(); 182 V8PerIsolateData::from(m_executableWithDatabase->getScriptState()->isola te())->runEndOfScopeTasks();
183 idbDatabase->close(); 183 idbDatabase->close();
184 } 184 }
185 185
186 private: 186 private:
187 OpenDatabaseCallback(ExecutableWithDatabase* executableWithDatabase) 187 OpenDatabaseCallback(ExecutableWithDatabase* executableWithDatabase)
188 : EventListener(EventListener::CPPEventListenerType) 188 : EventListener(EventListener::CPPEventListenerType)
189 , m_executableWithDatabase(executableWithDatabase) { } 189 , m_executableWithDatabase(executableWithDatabase) { }
190 RefPtr<ExecutableWithDatabase> m_executableWithDatabase; 190 RefPtr<ExecutableWithDatabase> m_executableWithDatabase;
191 }; 191 };
192 192
193 class UpgradeDatabaseCallback final : public EventListener { 193 class UpgradeDatabaseCallback final : public EventListener {
194 public: 194 public:
195 static PassRefPtrWillBeRawPtr<UpgradeDatabaseCallback> create(ExecutableWith Database* executableWithDatabase) 195 static PassRefPtrWillBeRawPtr<UpgradeDatabaseCallback> create(ExecutableWith Database* executableWithDatabase)
196 { 196 {
197 return adoptRefWillBeNoop(new UpgradeDatabaseCallback(executableWithData base)); 197 return adoptRefWillBeNoop(new UpgradeDatabaseCallback(executableWithData base));
198 } 198 }
199 199
200 ~UpgradeDatabaseCallback() override { } 200 ~UpgradeDatabaseCallback() override { }
201 201
202 bool operator==(const EventListener& other) const override 202 bool operator==(const EventListener& other) const override
203 { 203 {
204 return this == &other; 204 return this == &other;
205 } 205 }
206 206
207 void handleEvent(ExecutionContext* context, Event* event) override 207 void handleEvent(ExecutionContext* context, Event* event) override
208 { 208 {
209 if (event->type() != EventTypeNames::upgradeneeded) { 209 if (event->type() != EventTypeNames::upgradeneeded) {
210 m_executableWithDatabase->requestCallback()->sendFailure("Unexpected event type."); 210 m_executableWithDatabase->getRequestCallback()->sendFailure("Unexpec ted event type.");
211 return; 211 return;
212 } 212 }
213 213
214 // If an "upgradeneeded" event comes through then the database that 214 // If an "upgradeneeded" event comes through then the database that
215 // had previously been enumerated was deleted. We don't want to 215 // had previously been enumerated was deleted. We don't want to
216 // implicitly re-create it here, so abort the transaction. 216 // implicitly re-create it here, so abort the transaction.
217 IDBOpenDBRequest* idbOpenDBRequest = static_cast<IDBOpenDBRequest*>(even t->target()); 217 IDBOpenDBRequest* idbOpenDBRequest = static_cast<IDBOpenDBRequest*>(even t->target());
218 NonThrowableExceptionState exceptionState; 218 NonThrowableExceptionState exceptionState;
219 idbOpenDBRequest->transaction()->abort(exceptionState); 219 idbOpenDBRequest->transaction()->abort(exceptionState);
220 m_executableWithDatabase->requestCallback()->sendFailure("Aborted upgrad e."); 220 m_executableWithDatabase->getRequestCallback()->sendFailure("Aborted upg rade.");
221 } 221 }
222 222
223 private: 223 private:
224 UpgradeDatabaseCallback(ExecutableWithDatabase* executableWithDatabase) 224 UpgradeDatabaseCallback(ExecutableWithDatabase* executableWithDatabase)
225 : EventListener(EventListener::CPPEventListenerType) 225 : EventListener(EventListener::CPPEventListenerType)
226 , m_executableWithDatabase(executableWithDatabase) { } 226 , m_executableWithDatabase(executableWithDatabase) { }
227 RefPtr<ExecutableWithDatabase> m_executableWithDatabase; 227 RefPtr<ExecutableWithDatabase> m_executableWithDatabase;
228 }; 228 };
229 229
230 void ExecutableWithDatabase::start(IDBFactory* idbFactory, SecurityOrigin*, cons t String& databaseName) 230 void ExecutableWithDatabase::start(IDBFactory* idbFactory, SecurityOrigin*, cons t String& databaseName)
231 { 231 {
232 RefPtrWillBeRawPtr<OpenDatabaseCallback> openCallback = OpenDatabaseCallback ::create(this); 232 RefPtrWillBeRawPtr<OpenDatabaseCallback> openCallback = OpenDatabaseCallback ::create(this);
233 RefPtrWillBeRawPtr<UpgradeDatabaseCallback> upgradeCallback = UpgradeDatabas eCallback::create(this); 233 RefPtrWillBeRawPtr<UpgradeDatabaseCallback> upgradeCallback = UpgradeDatabas eCallback::create(this);
234 TrackExceptionState exceptionState; 234 TrackExceptionState exceptionState;
235 IDBOpenDBRequest* idbOpenDBRequest = idbFactory->open(scriptState(), databas eName, exceptionState); 235 IDBOpenDBRequest* idbOpenDBRequest = idbFactory->open(getScriptState(), data baseName, exceptionState);
236 if (exceptionState.hadException()) { 236 if (exceptionState.hadException()) {
237 requestCallback()->sendFailure("Could not open database."); 237 getRequestCallback()->sendFailure("Could not open database.");
238 return; 238 return;
239 } 239 }
240 idbOpenDBRequest->addEventListener(EventTypeNames::upgradeneeded, upgradeCal lback, false); 240 idbOpenDBRequest->addEventListener(EventTypeNames::upgradeneeded, upgradeCal lback, false);
241 idbOpenDBRequest->addEventListener(EventTypeNames::success, openCallback, fa lse); 241 idbOpenDBRequest->addEventListener(EventTypeNames::success, openCallback, fa lse);
242 } 242 }
243 243
244 static IDBTransaction* transactionForDatabase(ScriptState* scriptState, IDBDatab ase* idbDatabase, const String& objectStoreName, const String& mode = IndexedDBN ames::readonly) 244 static IDBTransaction* transactionForDatabase(ScriptState* scriptState, IDBDatab ase* idbDatabase, const String& objectStoreName, const String& mode = IndexedDBN ames::readonly)
245 { 245 {
246 TrackExceptionState exceptionState; 246 TrackExceptionState exceptionState;
247 StringOrStringSequenceOrDOMStringList scope; 247 StringOrStringSequenceOrDOMStringList scope;
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 objectStores->addItem(objectStore.release()); 335 objectStores->addItem(objectStore.release());
336 } 336 }
337 OwnPtr<DatabaseWithObjectStores> result = DatabaseWithObjectStores::crea te() 337 OwnPtr<DatabaseWithObjectStores> result = DatabaseWithObjectStores::crea te()
338 .setName(databaseMetadata.name) 338 .setName(databaseMetadata.name)
339 .setVersion(databaseMetadata.version) 339 .setVersion(databaseMetadata.version)
340 .setObjectStores(objectStores.release()).build(); 340 .setObjectStores(objectStores.release()).build();
341 341
342 m_requestCallback->sendSuccess(result.release()); 342 m_requestCallback->sendSuccess(result.release());
343 } 343 }
344 344
345 RequestCallback* requestCallback() override { return m_requestCallback.get() ; } 345 RequestCallback* getRequestCallback() override { return m_requestCallback.ge t(); }
346 private: 346 private:
347 DatabaseLoader(ScriptState* scriptState, PassOwnPtr<RequestDatabaseCallback> requestCallback) 347 DatabaseLoader(ScriptState* scriptState, PassOwnPtr<RequestDatabaseCallback> requestCallback)
348 : ExecutableWithDatabase(scriptState) 348 : ExecutableWithDatabase(scriptState)
349 , m_requestCallback(requestCallback) { } 349 , m_requestCallback(requestCallback) { }
350 OwnPtr<RequestDatabaseCallback> m_requestCallback; 350 OwnPtr<RequestDatabaseCallback> m_requestCallback;
351 }; 351 };
352 352
353 static IDBKey* idbKeyFromInspectorObject(protocol::IndexedDB::Key* key) 353 static IDBKey* idbKeyFromInspectorObject(protocol::IndexedDB::Key* key)
354 { 354 {
355 IDBKey* idbKey; 355 IDBKey* idbKey;
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
454 } 454 }
455 455
456 // Continue cursor before making injected script calls, otherwise transa ction might be finished. 456 // Continue cursor before making injected script calls, otherwise transa ction might be finished.
457 TrackExceptionState exceptionState; 457 TrackExceptionState exceptionState;
458 idbCursor->continueFunction(nullptr, nullptr, exceptionState); 458 idbCursor->continueFunction(nullptr, nullptr, exceptionState);
459 if (exceptionState.hadException()) { 459 if (exceptionState.hadException()) {
460 m_requestCallback->sendFailure("Could not continue cursor."); 460 m_requestCallback->sendFailure("Could not continue cursor.");
461 return; 461 return;
462 } 462 }
463 463
464 Document* document = toDocument(m_scriptState->executionContext()); 464 Document* document = toDocument(m_scriptState->getExecutionContext());
465 if (!document) 465 if (!document)
466 return; 466 return;
467 // FIXME: There are no tests for this error showing when a recursive 467 // FIXME: There are no tests for this error showing when a recursive
468 // object is inspected. 468 // object is inspected.
469 const String16 errorMessage("\"Inspection error. Maximum depth reached?\ ""); 469 const String16 errorMessage("\"Inspection error. Maximum depth reached?\ "");
470 ScriptState* scriptState = m_scriptState.get(); 470 ScriptState* scriptState = m_scriptState.get();
471 ScriptState::Scope scope(scriptState); 471 ScriptState::Scope scope(scriptState);
472 OwnPtr<protocol::Value> keyJsonValue = toProtocolValue(scriptState->cont ext(), idbCursor->key(scriptState).v8Value()); 472 OwnPtr<protocol::Value> keyJsonValue = toProtocolValue(scriptState->cont ext(), idbCursor->key(scriptState).v8Value());
473 OwnPtr<protocol::Value> primaryKeyJsonValue = toProtocolValue(scriptStat e->context(), idbCursor->primaryKey(scriptState).v8Value()); 473 OwnPtr<protocol::Value> primaryKeyJsonValue = toProtocolValue(scriptStat e->context(), idbCursor->primaryKey(scriptState).v8Value());
474 OwnPtr<protocol::Value> valueJsonValue = toProtocolValue(scriptState->co ntext(), idbCursor->value(scriptState).v8Value()); 474 OwnPtr<protocol::Value> valueJsonValue = toProtocolValue(scriptState->co ntext(), idbCursor->value(scriptState).v8Value());
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
514 public: 514 public:
515 static PassRefPtr<DataLoader> create(ScriptState* scriptState, PassOwnPtr<Re questDataCallback> requestCallback, const String& objectStoreName, const String& indexName, IDBKeyRange* idbKeyRange, int skipCount, unsigned pageSize) 515 static PassRefPtr<DataLoader> create(ScriptState* scriptState, PassOwnPtr<Re questDataCallback> requestCallback, const String& objectStoreName, const String& indexName, IDBKeyRange* idbKeyRange, int skipCount, unsigned pageSize)
516 { 516 {
517 return adoptRef(new DataLoader(scriptState, requestCallback, objectStore Name, indexName, idbKeyRange, skipCount, pageSize)); 517 return adoptRef(new DataLoader(scriptState, requestCallback, objectStore Name, indexName, idbKeyRange, skipCount, pageSize));
518 } 518 }
519 519
520 ~DataLoader() override { } 520 ~DataLoader() override { }
521 521
522 void execute(IDBDatabase* idbDatabase) override 522 void execute(IDBDatabase* idbDatabase) override
523 { 523 {
524 IDBTransaction* idbTransaction = transactionForDatabase(scriptState(), i dbDatabase, m_objectStoreName); 524 IDBTransaction* idbTransaction = transactionForDatabase(getScriptState() , idbDatabase, m_objectStoreName);
525 if (!idbTransaction) { 525 if (!idbTransaction) {
526 m_requestCallback->sendFailure("Could not get transaction"); 526 m_requestCallback->sendFailure("Could not get transaction");
527 return; 527 return;
528 } 528 }
529 IDBObjectStore* idbObjectStore = objectStoreForTransaction(idbTransactio n, m_objectStoreName); 529 IDBObjectStore* idbObjectStore = objectStoreForTransaction(idbTransactio n, m_objectStoreName);
530 if (!idbObjectStore) { 530 if (!idbObjectStore) {
531 m_requestCallback->sendFailure("Could not get object store"); 531 m_requestCallback->sendFailure("Could not get object store");
532 return; 532 return;
533 } 533 }
534 534
535 IDBRequest* idbRequest; 535 IDBRequest* idbRequest;
536 if (!m_indexName.isEmpty()) { 536 if (!m_indexName.isEmpty()) {
537 IDBIndex* idbIndex = indexForObjectStore(idbObjectStore, m_indexName ); 537 IDBIndex* idbIndex = indexForObjectStore(idbObjectStore, m_indexName );
538 if (!idbIndex) { 538 if (!idbIndex) {
539 m_requestCallback->sendFailure("Could not get index"); 539 m_requestCallback->sendFailure("Could not get index");
540 return; 540 return;
541 } 541 }
542 542
543 idbRequest = idbIndex->openCursor(scriptState(), m_idbKeyRange.get() , WebIDBCursorDirectionNext); 543 idbRequest = idbIndex->openCursor(getScriptState(), m_idbKeyRange.ge t(), WebIDBCursorDirectionNext);
544 } else { 544 } else {
545 idbRequest = idbObjectStore->openCursor(scriptState(), m_idbKeyRange .get(), WebIDBCursorDirectionNext); 545 idbRequest = idbObjectStore->openCursor(getScriptState(), m_idbKeyRa nge.get(), WebIDBCursorDirectionNext);
546 } 546 }
547 RefPtrWillBeRawPtr<OpenCursorCallback> openCursorCallback = OpenCursorCa llback::create(scriptState(), m_requestCallback.release(), m_skipCount, m_pageSi ze); 547 RefPtrWillBeRawPtr<OpenCursorCallback> openCursorCallback = OpenCursorCa llback::create(getScriptState(), m_requestCallback.release(), m_skipCount, m_pag eSize);
548 idbRequest->addEventListener(EventTypeNames::success, openCursorCallback , false); 548 idbRequest->addEventListener(EventTypeNames::success, openCursorCallback , false);
549 } 549 }
550 550
551 RequestCallback* requestCallback() override { return m_requestCallback.get() ; } 551 RequestCallback* getRequestCallback() override { return m_requestCallback.ge t(); }
552 DataLoader(ScriptState* scriptState, PassOwnPtr<RequestDataCallback> request Callback, const String& objectStoreName, const String& indexName, IDBKeyRange* i dbKeyRange, int skipCount, unsigned pageSize) 552 DataLoader(ScriptState* scriptState, PassOwnPtr<RequestDataCallback> request Callback, const String& objectStoreName, const String& indexName, IDBKeyRange* i dbKeyRange, int skipCount, unsigned pageSize)
553 : ExecutableWithDatabase(scriptState) 553 : ExecutableWithDatabase(scriptState)
554 , m_requestCallback(requestCallback) 554 , m_requestCallback(requestCallback)
555 , m_objectStoreName(objectStoreName) 555 , m_objectStoreName(objectStoreName)
556 , m_indexName(indexName) 556 , m_indexName(indexName)
557 , m_idbKeyRange(idbKeyRange) 557 , m_idbKeyRange(idbKeyRange)
558 , m_skipCount(skipCount) 558 , m_skipCount(skipCount)
559 , m_pageSize(pageSize) 559 , m_pageSize(pageSize)
560 { 560 {
561 } 561 }
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
642 ScriptState* scriptState = ScriptState::forMainWorld(frame); 642 ScriptState* scriptState = ScriptState::forMainWorld(frame);
643 if (!scriptState) 643 if (!scriptState)
644 return; 644 return;
645 ScriptState::Scope scope(scriptState); 645 ScriptState::Scope scope(scriptState);
646 TrackExceptionState exceptionState; 646 TrackExceptionState exceptionState;
647 IDBRequest* idbRequest = idbFactory->getDatabaseNames(scriptState, exception State); 647 IDBRequest* idbRequest = idbFactory->getDatabaseNames(scriptState, exception State);
648 if (exceptionState.hadException()) { 648 if (exceptionState.hadException()) {
649 requestCallback->sendFailure("Could not obtain database names."); 649 requestCallback->sendFailure("Could not obtain database names.");
650 return; 650 return;
651 } 651 }
652 idbRequest->addEventListener(EventTypeNames::success, GetDatabaseNamesCallba ck::create(requestCallback, document->securityOrigin()->toRawString()), false); 652 idbRequest->addEventListener(EventTypeNames::success, GetDatabaseNamesCallba ck::create(requestCallback, document->getSecurityOrigin()->toRawString()), false );
653 } 653 }
654 654
655 void InspectorIndexedDBAgent::requestDatabase(ErrorString* errorString, const St ring& securityOrigin, const String& databaseName, PassOwnPtr<RequestDatabaseCall back> requestCallback) 655 void InspectorIndexedDBAgent::requestDatabase(ErrorString* errorString, const St ring& securityOrigin, const String& databaseName, PassOwnPtr<RequestDatabaseCall back> requestCallback)
656 { 656 {
657 LocalFrame* frame = m_inspectedFrames->frameWithSecurityOrigin(securityOrigi n); 657 LocalFrame* frame = m_inspectedFrames->frameWithSecurityOrigin(securityOrigi n);
658 Document* document = assertDocument(errorString, frame); 658 Document* document = assertDocument(errorString, frame);
659 if (!document) 659 if (!document)
660 return; 660 return;
661 IDBFactory* idbFactory = assertIDBFactory(errorString, document); 661 IDBFactory* idbFactory = assertIDBFactory(errorString, document);
662 if (!idbFactory) 662 if (!idbFactory)
663 return; 663 return;
664 664
665 ScriptState* scriptState = ScriptState::forMainWorld(frame); 665 ScriptState* scriptState = ScriptState::forMainWorld(frame);
666 if (!scriptState) 666 if (!scriptState)
667 return; 667 return;
668 ScriptState::Scope scope(scriptState); 668 ScriptState::Scope scope(scriptState);
669 RefPtr<DatabaseLoader> databaseLoader = DatabaseLoader::create(scriptState, requestCallback); 669 RefPtr<DatabaseLoader> databaseLoader = DatabaseLoader::create(scriptState, requestCallback);
670 databaseLoader->start(idbFactory, document->securityOrigin(), databaseName); 670 databaseLoader->start(idbFactory, document->getSecurityOrigin(), databaseNam e);
671 } 671 }
672 672
673 void InspectorIndexedDBAgent::requestData(ErrorString* errorString, 673 void InspectorIndexedDBAgent::requestData(ErrorString* errorString,
674 const String& securityOrigin, 674 const String& securityOrigin,
675 const String& databaseName, 675 const String& databaseName,
676 const String& objectStoreName, 676 const String& objectStoreName,
677 const String& indexName, 677 const String& indexName,
678 int skipCount, 678 int skipCount,
679 int pageSize, 679 int pageSize,
680 const Maybe<protocol::IndexedDB::KeyRange>& keyRange, 680 const Maybe<protocol::IndexedDB::KeyRange>& keyRange,
(...skipping 11 matching lines...) Expand all
692 if (keyRange.isJust() && !idbKeyRange) { 692 if (keyRange.isJust() && !idbKeyRange) {
693 *errorString = "Can not parse key range."; 693 *errorString = "Can not parse key range.";
694 return; 694 return;
695 } 695 }
696 696
697 ScriptState* scriptState = ScriptState::forMainWorld(frame); 697 ScriptState* scriptState = ScriptState::forMainWorld(frame);
698 if (!scriptState) 698 if (!scriptState)
699 return; 699 return;
700 ScriptState::Scope scope(scriptState); 700 ScriptState::Scope scope(scriptState);
701 RefPtr<DataLoader> dataLoader = DataLoader::create(scriptState, requestCallb ack, objectStoreName, indexName, idbKeyRange, skipCount, pageSize); 701 RefPtr<DataLoader> dataLoader = DataLoader::create(scriptState, requestCallb ack, objectStoreName, indexName, idbKeyRange, skipCount, pageSize);
702 dataLoader->start(idbFactory, document->securityOrigin(), databaseName); 702 dataLoader->start(idbFactory, document->getSecurityOrigin(), databaseName);
703 } 703 }
704 704
705 class ClearObjectStoreListener final : public EventListener { 705 class ClearObjectStoreListener final : public EventListener {
706 WTF_MAKE_NONCOPYABLE(ClearObjectStoreListener); 706 WTF_MAKE_NONCOPYABLE(ClearObjectStoreListener);
707 public: 707 public:
708 static PassRefPtrWillBeRawPtr<ClearObjectStoreListener> create(PassOwnPtr<Cl earObjectStoreCallback> requestCallback) 708 static PassRefPtrWillBeRawPtr<ClearObjectStoreListener> create(PassOwnPtr<Cl earObjectStoreCallback> requestCallback)
709 { 709 {
710 return adoptRefWillBeNoop(new ClearObjectStoreListener(requestCallback)) ; 710 return adoptRefWillBeNoop(new ClearObjectStoreListener(requestCallback)) ;
711 } 711 }
712 712
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
752 752
753 ClearObjectStore(ScriptState* scriptState, const String& objectStoreName, Pa ssOwnPtr<ClearObjectStoreCallback> requestCallback) 753 ClearObjectStore(ScriptState* scriptState, const String& objectStoreName, Pa ssOwnPtr<ClearObjectStoreCallback> requestCallback)
754 : ExecutableWithDatabase(scriptState) 754 : ExecutableWithDatabase(scriptState)
755 , m_objectStoreName(objectStoreName) 755 , m_objectStoreName(objectStoreName)
756 , m_requestCallback(requestCallback) 756 , m_requestCallback(requestCallback)
757 { 757 {
758 } 758 }
759 759
760 void execute(IDBDatabase* idbDatabase) override 760 void execute(IDBDatabase* idbDatabase) override
761 { 761 {
762 IDBTransaction* idbTransaction = transactionForDatabase(scriptState(), i dbDatabase, m_objectStoreName, IndexedDBNames::readwrite); 762 IDBTransaction* idbTransaction = transactionForDatabase(getScriptState() , idbDatabase, m_objectStoreName, IndexedDBNames::readwrite);
763 if (!idbTransaction) { 763 if (!idbTransaction) {
764 m_requestCallback->sendFailure("Could not get transaction"); 764 m_requestCallback->sendFailure("Could not get transaction");
765 return; 765 return;
766 } 766 }
767 IDBObjectStore* idbObjectStore = objectStoreForTransaction(idbTransactio n, m_objectStoreName); 767 IDBObjectStore* idbObjectStore = objectStoreForTransaction(idbTransactio n, m_objectStoreName);
768 if (!idbObjectStore) { 768 if (!idbObjectStore) {
769 m_requestCallback->sendFailure("Could not get object store"); 769 m_requestCallback->sendFailure("Could not get object store");
770 return; 770 return;
771 } 771 }
772 772
773 TrackExceptionState exceptionState; 773 TrackExceptionState exceptionState;
774 idbObjectStore->clear(scriptState(), exceptionState); 774 idbObjectStore->clear(getScriptState(), exceptionState);
775 ASSERT(!exceptionState.hadException()); 775 ASSERT(!exceptionState.hadException());
776 if (exceptionState.hadException()) { 776 if (exceptionState.hadException()) {
777 ExceptionCode ec = exceptionState.code(); 777 ExceptionCode ec = exceptionState.code();
778 m_requestCallback->sendFailure(String::format("Could not clear objec t store '%s': %d", m_objectStoreName.utf8().data(), ec)); 778 m_requestCallback->sendFailure(String::format("Could not clear objec t store '%s': %d", m_objectStoreName.utf8().data(), ec));
779 return; 779 return;
780 } 780 }
781 idbTransaction->addEventListener(EventTypeNames::complete, ClearObjectSt oreListener::create(m_requestCallback.release()), false); 781 idbTransaction->addEventListener(EventTypeNames::complete, ClearObjectSt oreListener::create(m_requestCallback.release()), false);
782 } 782 }
783 783
784 RequestCallback* requestCallback() override { return m_requestCallback.get() ; } 784 RequestCallback* getRequestCallback() override { return m_requestCallback.ge t(); }
785 private: 785 private:
786 const String m_objectStoreName; 786 const String m_objectStoreName;
787 OwnPtr<ClearObjectStoreCallback> m_requestCallback; 787 OwnPtr<ClearObjectStoreCallback> m_requestCallback;
788 }; 788 };
789 789
790 void InspectorIndexedDBAgent::clearObjectStore(ErrorString* errorString, const S tring& securityOrigin, const String& databaseName, const String& objectStoreName , PassOwnPtr<ClearObjectStoreCallback> requestCallback) 790 void InspectorIndexedDBAgent::clearObjectStore(ErrorString* errorString, const S tring& securityOrigin, const String& databaseName, const String& objectStoreName , PassOwnPtr<ClearObjectStoreCallback> requestCallback)
791 { 791 {
792 LocalFrame* frame = m_inspectedFrames->frameWithSecurityOrigin(securityOrigi n); 792 LocalFrame* frame = m_inspectedFrames->frameWithSecurityOrigin(securityOrigi n);
793 Document* document = assertDocument(errorString, frame); 793 Document* document = assertDocument(errorString, frame);
794 if (!document) 794 if (!document)
795 return; 795 return;
796 IDBFactory* idbFactory = assertIDBFactory(errorString, document); 796 IDBFactory* idbFactory = assertIDBFactory(errorString, document);
797 if (!idbFactory) 797 if (!idbFactory)
798 return; 798 return;
799 799
800 ScriptState* scriptState = ScriptState::forMainWorld(frame); 800 ScriptState* scriptState = ScriptState::forMainWorld(frame);
801 if (!scriptState) 801 if (!scriptState)
802 return; 802 return;
803 ScriptState::Scope scope(scriptState); 803 ScriptState::Scope scope(scriptState);
804 RefPtr<ClearObjectStore> clearObjectStore = ClearObjectStore::create(scriptS tate, objectStoreName, requestCallback); 804 RefPtr<ClearObjectStore> clearObjectStore = ClearObjectStore::create(scriptS tate, objectStoreName, requestCallback);
805 clearObjectStore->start(idbFactory, document->securityOrigin(), databaseName ); 805 clearObjectStore->start(idbFactory, document->getSecurityOrigin(), databaseN ame);
806 } 806 }
807 807
808 DEFINE_TRACE(InspectorIndexedDBAgent) 808 DEFINE_TRACE(InspectorIndexedDBAgent)
809 { 809 {
810 visitor->trace(m_inspectedFrames); 810 visitor->trace(m_inspectedFrames);
811 InspectorBaseAgent::trace(visitor); 811 InspectorBaseAgent::trace(visitor);
812 } 812 }
813 813
814 } // namespace blink 814 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698