| 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 600 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 611 { | 611 { |
| 612 Frame* frame = m_pageAgent->findFrameWithSecurityOrigin(securityOrigin); | 612 Frame* frame = m_pageAgent->findFrameWithSecurityOrigin(securityOrigin); |
| 613 Document* document = assertDocument(errorString, frame); | 613 Document* document = assertDocument(errorString, frame); |
| 614 if (!document) | 614 if (!document) |
| 615 return; | 615 return; |
| 616 IDBFactory* idbFactory = assertIDBFactory(errorString, document); | 616 IDBFactory* idbFactory = assertIDBFactory(errorString, document); |
| 617 if (!idbFactory) | 617 if (!idbFactory) |
| 618 return; | 618 return; |
| 619 | 619 |
| 620 // FIXME: This should probably use ScriptState/ScriptScope instead of V8 API | 620 // FIXME: This should probably use ScriptState/ScriptScope instead of V8 API |
| 621 v8::HandleScope handleScope(isolateForFrame(frame)); | 621 v8::HandleScope handleScope(toIsolate(frame)); |
| 622 v8::Handle<v8::Context> context = document->frame()->script()->mainWorldCont
ext(); | 622 v8::Handle<v8::Context> context = document->frame()->script()->mainWorldCont
ext(); |
| 623 ASSERT(!context.IsEmpty()); | 623 ASSERT(!context.IsEmpty()); |
| 624 v8::Context::Scope contextScope(context); | 624 v8::Context::Scope contextScope(context); |
| 625 | 625 |
| 626 TrackExceptionState es; | 626 TrackExceptionState es; |
| 627 RefPtr<IDBRequest> idbRequest = idbFactory->getDatabaseNames(document, es); | 627 RefPtr<IDBRequest> idbRequest = idbFactory->getDatabaseNames(document, es); |
| 628 if (es.hadException()) { | 628 if (es.hadException()) { |
| 629 requestCallback->sendFailure("Could not obtain database names."); | 629 requestCallback->sendFailure("Could not obtain database names."); |
| 630 return; | 630 return; |
| 631 } | 631 } |
| 632 idbRequest->addEventListener(eventNames().successEvent, GetDatabaseNamesCall
back::create(requestCallback, document->securityOrigin()->toRawString()), false)
; | 632 idbRequest->addEventListener(eventNames().successEvent, GetDatabaseNamesCall
back::create(requestCallback, document->securityOrigin()->toRawString()), false)
; |
| 633 } | 633 } |
| 634 | 634 |
| 635 void InspectorIndexedDBAgent::requestDatabase(ErrorString* errorString, const St
ring& securityOrigin, const String& databaseName, PassRefPtr<RequestDatabaseCall
back> requestCallback) | 635 void InspectorIndexedDBAgent::requestDatabase(ErrorString* errorString, const St
ring& securityOrigin, const String& databaseName, PassRefPtr<RequestDatabaseCall
back> requestCallback) |
| 636 { | 636 { |
| 637 Frame* frame = m_pageAgent->findFrameWithSecurityOrigin(securityOrigin); | 637 Frame* frame = m_pageAgent->findFrameWithSecurityOrigin(securityOrigin); |
| 638 Document* document = assertDocument(errorString, frame); | 638 Document* document = assertDocument(errorString, frame); |
| 639 if (!document) | 639 if (!document) |
| 640 return; | 640 return; |
| 641 IDBFactory* idbFactory = assertIDBFactory(errorString, document); | 641 IDBFactory* idbFactory = assertIDBFactory(errorString, document); |
| 642 if (!idbFactory) | 642 if (!idbFactory) |
| 643 return; | 643 return; |
| 644 | 644 |
| 645 // FIXME: This should probably use ScriptState/ScriptScope instead of V8 API | 645 // FIXME: This should probably use ScriptState/ScriptScope instead of V8 API |
| 646 v8::HandleScope handleScope(isolateForFrame(frame)); | 646 v8::HandleScope handleScope(toIsolate(frame)); |
| 647 v8::Handle<v8::Context> context = document->frame()->script()->mainWorldCont
ext(); | 647 v8::Handle<v8::Context> context = document->frame()->script()->mainWorldCont
ext(); |
| 648 ASSERT(!context.IsEmpty()); | 648 ASSERT(!context.IsEmpty()); |
| 649 v8::Context::Scope contextScope(context); | 649 v8::Context::Scope contextScope(context); |
| 650 | 650 |
| 651 RefPtr<DatabaseLoader> databaseLoader = DatabaseLoader::create(document, req
uestCallback); | 651 RefPtr<DatabaseLoader> databaseLoader = DatabaseLoader::create(document, req
uestCallback); |
| 652 databaseLoader->start(idbFactory, document->securityOrigin(), databaseName); | 652 databaseLoader->start(idbFactory, document->securityOrigin(), databaseName); |
| 653 } | 653 } |
| 654 | 654 |
| 655 void InspectorIndexedDBAgent::requestData(ErrorString* errorString, const String
& securityOrigin, const String& databaseName, const String& objectStoreName, con
st String& indexName, int skipCount, int pageSize, const RefPtr<JSONObject>* key
Range, PassRefPtr<RequestDataCallback> requestCallback) | 655 void InspectorIndexedDBAgent::requestData(ErrorString* errorString, const String
& securityOrigin, const String& databaseName, const String& objectStoreName, con
st String& indexName, int skipCount, int pageSize, const RefPtr<JSONObject>* key
Range, PassRefPtr<RequestDataCallback> requestCallback) |
| 656 { | 656 { |
| 657 Frame* frame = m_pageAgent->findFrameWithSecurityOrigin(securityOrigin); | 657 Frame* frame = m_pageAgent->findFrameWithSecurityOrigin(securityOrigin); |
| 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 InjectedScript injectedScript = m_injectedScriptManager->injectedScriptFor(m
ainWorldScriptState(frame)); | 665 InjectedScript injectedScript = m_injectedScriptManager->injectedScriptFor(m
ainWorldScriptState(frame)); |
| 666 | 666 |
| 667 RefPtr<IDBKeyRange> idbKeyRange = keyRange ? idbKeyRangeFromKeyRange(keyRang
e->get()) : 0; | 667 RefPtr<IDBKeyRange> idbKeyRange = keyRange ? idbKeyRangeFromKeyRange(keyRang
e->get()) : 0; |
| 668 if (keyRange && !idbKeyRange) { | 668 if (keyRange && !idbKeyRange) { |
| 669 *errorString = "Can not parse key range."; | 669 *errorString = "Can not parse key range."; |
| 670 return; | 670 return; |
| 671 } | 671 } |
| 672 | 672 |
| 673 // FIXME: This should probably use ScriptState/ScriptScope instead of V8 API | 673 // FIXME: This should probably use ScriptState/ScriptScope instead of V8 API |
| 674 v8::HandleScope handleScope(isolateForFrame(frame)); | 674 v8::HandleScope handleScope(toIsolate(frame)); |
| 675 v8::Handle<v8::Context> context = document->frame()->script()->mainWorldCont
ext(); | 675 v8::Handle<v8::Context> context = document->frame()->script()->mainWorldCont
ext(); |
| 676 ASSERT(!context.IsEmpty()); | 676 ASSERT(!context.IsEmpty()); |
| 677 v8::Context::Scope contextScope(context); | 677 v8::Context::Scope contextScope(context); |
| 678 | 678 |
| 679 RefPtr<DataLoader> dataLoader = DataLoader::create(document, requestCallback
, injectedScript, objectStoreName, indexName, idbKeyRange, skipCount, pageSize); | 679 RefPtr<DataLoader> dataLoader = DataLoader::create(document, requestCallback
, injectedScript, objectStoreName, indexName, idbKeyRange, skipCount, pageSize); |
| 680 dataLoader->start(idbFactory, document->securityOrigin(), databaseName); | 680 dataLoader->start(idbFactory, document->securityOrigin(), databaseName); |
| 681 } | 681 } |
| 682 | 682 |
| 683 class ClearObjectStoreListener : public EventListener { | 683 class ClearObjectStoreListener : public EventListener { |
| 684 WTF_MAKE_NONCOPYABLE(ClearObjectStoreListener); | 684 WTF_MAKE_NONCOPYABLE(ClearObjectStoreListener); |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 768 { | 768 { |
| 769 Frame* frame = m_pageAgent->findFrameWithSecurityOrigin(securityOrigin); | 769 Frame* frame = m_pageAgent->findFrameWithSecurityOrigin(securityOrigin); |
| 770 Document* document = assertDocument(errorString, frame); | 770 Document* document = assertDocument(errorString, frame); |
| 771 if (!document) | 771 if (!document) |
| 772 return; | 772 return; |
| 773 IDBFactory* idbFactory = assertIDBFactory(errorString, document); | 773 IDBFactory* idbFactory = assertIDBFactory(errorString, document); |
| 774 if (!idbFactory) | 774 if (!idbFactory) |
| 775 return; | 775 return; |
| 776 | 776 |
| 777 // FIXME: This should probably use ScriptState/ScriptScope instead of V8 API | 777 // FIXME: This should probably use ScriptState/ScriptScope instead of V8 API |
| 778 v8::HandleScope handleScope(isolateForFrame(frame)); | 778 v8::HandleScope handleScope(toIsolate(frame)); |
| 779 v8::Handle<v8::Context> context = document->frame()->script()->mainWorldCont
ext(); | 779 v8::Handle<v8::Context> context = document->frame()->script()->mainWorldCont
ext(); |
| 780 ASSERT(!context.IsEmpty()); | 780 ASSERT(!context.IsEmpty()); |
| 781 v8::Context::Scope contextScope(context); | 781 v8::Context::Scope contextScope(context); |
| 782 | 782 |
| 783 RefPtr<ClearObjectStore> clearObjectStore = ClearObjectStore::create(documen
t, objectStoreName, requestCallback); | 783 RefPtr<ClearObjectStore> clearObjectStore = ClearObjectStore::create(documen
t, objectStoreName, requestCallback); |
| 784 clearObjectStore->start(idbFactory, document->securityOrigin(), databaseName
); | 784 clearObjectStore->start(idbFactory, document->securityOrigin(), databaseName
); |
| 785 } | 785 } |
| 786 | 786 |
| 787 } // namespace WebCore | 787 } // namespace WebCore |
| OLD | NEW |