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

Unified Diff: Source/modules/indexeddb/InspectorIndexedDBAgent.cpp

Issue 148253005: DevTools: remove references to modules/indexeddb from core/inspector (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase Created 6 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: Source/modules/indexeddb/InspectorIndexedDBAgent.cpp
diff --git a/Source/core/inspector/InspectorIndexedDBAgent.cpp b/Source/modules/indexeddb/InspectorIndexedDBAgent.cpp
similarity index 92%
rename from Source/core/inspector/InspectorIndexedDBAgent.cpp
rename to Source/modules/indexeddb/InspectorIndexedDBAgent.cpp
index 6936eb67db33efb656afe817588b40854c7de39f..e147978b9b8f4d84c20beab649cba0034898da8a 100644
--- a/Source/core/inspector/InspectorIndexedDBAgent.cpp
+++ b/Source/modules/indexeddb/InspectorIndexedDBAgent.cpp
@@ -29,19 +29,20 @@
*/
#include "config.h"
-#include "core/inspector/InspectorIndexedDBAgent.h"
+#include "modules/indexeddb/InspectorIndexedDBAgent.h"
#include "bindings/v8/ExceptionState.h"
#include "bindings/v8/ExceptionStatePlaceholder.h"
#include "bindings/v8/ScriptController.h"
+#include "bindings/v8/ScriptState.h"
#include "core/dom/DOMStringList.h"
#include "core/dom/Document.h"
#include "core/events/Event.h"
#include "core/events/EventListener.h"
-#include "core/inspector/InjectedScript.h"
-#include "core/inspector/InspectorPageAgent.h"
-#include "core/inspector/InspectorState.h"
#include "core/frame/Frame.h"
+#include "core/inspector/InspectorController.h"
+#include "core/inspector/InspectorState.h"
+#include "core/page/Page.h"
#include "modules/indexeddb/DOMWindowIndexedDatabase.h"
#include "modules/indexeddb/IDBCursor.h"
#include "modules/indexeddb/IDBCursorWithValue.h"
@@ -350,8 +351,9 @@ static PassRefPtr<IDBKey> idbKeyFromInspectorObject(JSONObject* key)
keyArray.append(idbKeyFromInspectorObject(object.get()));
}
idbKey = IDBKey::createArray(keyArray);
- } else
+ } else {
return 0;
+ }
return idbKey.release();
}
@@ -386,9 +388,9 @@ class DataLoader;
class OpenCursorCallback FINAL : public EventListener {
public:
- static PassRefPtr<OpenCursorCallback> create(InjectedScript injectedScript, PassRefPtr<RequestDataCallback> requestCallback, int skipCount, unsigned pageSize)
+ static PassRefPtr<OpenCursorCallback> create(PassRefPtr<RequestDataCallback> requestCallback, int skipCount, unsigned pageSize)
{
- return adoptRef(new OpenCursorCallback(injectedScript, requestCallback, skipCount, pageSize));
+ return adoptRef(new OpenCursorCallback(requestCallback, skipCount, pageSize));
}
virtual ~OpenCursorCallback() { }
@@ -440,10 +442,15 @@ public:
return;
}
+ Document* document = toDocument(context);
+ if (!document)
+ return;
+ ScriptState* scriptState = mainWorldScriptState(document->frame());
+
RefPtr<DataEntry> dataEntry = DataEntry::create()
- .setKey(m_injectedScript.wrapObject(idbCursor->key(context), String()))
- .setPrimaryKey(m_injectedScript.wrapObject(idbCursor->primaryKey(context), String()))
- .setValue(m_injectedScript.wrapObject(idbCursor->value(context), String()));
+ .setKey(idbCursor->key(context).toJSONValue(scriptState)->toJSONString())
vsevik 2014/06/04 05:48:32 With this change we need to transfer all the (pote
+ .setPrimaryKey(idbCursor->primaryKey(context).toJSONValue(scriptState)->toJSONString())
+ .setValue(idbCursor->value(context).toJSONValue(scriptState)->toJSONString());
m_result->addItem(dataEntry);
}
@@ -456,16 +463,14 @@ public:
}
private:
- OpenCursorCallback(InjectedScript injectedScript, PassRefPtr<RequestDataCallback> requestCallback, int skipCount, unsigned pageSize)
+ OpenCursorCallback(PassRefPtr<RequestDataCallback> requestCallback, int skipCount, unsigned pageSize)
: EventListener(EventListener::CPPEventListenerType)
- , m_injectedScript(injectedScript)
, m_requestCallback(requestCallback)
, m_skipCount(skipCount)
, m_pageSize(pageSize)
{
m_result = Array<DataEntry>::create();
}
- InjectedScript m_injectedScript;
RefPtr<RequestDataCallback> m_requestCallback;
int m_skipCount;
unsigned m_pageSize;
@@ -474,9 +479,9 @@ private:
class DataLoader FINAL : public ExecutableWithDatabase {
public:
- static PassRefPtr<DataLoader> create(ExecutionContext* context, PassRefPtr<RequestDataCallback> requestCallback, const InjectedScript& injectedScript, const String& objectStoreName, const String& indexName, PassRefPtr<IDBKeyRange> idbKeyRange, int skipCount, unsigned pageSize)
+ static PassRefPtr<DataLoader> create(ExecutionContext* context, PassRefPtr<RequestDataCallback> requestCallback, const String& objectStoreName, const String& indexName, PassRefPtr<IDBKeyRange> idbKeyRange, int skipCount, unsigned pageSize)
{
- return adoptRef(new DataLoader(context, requestCallback, injectedScript, objectStoreName, indexName, idbKeyRange, skipCount, pageSize));
+ return adoptRef(new DataLoader(context, requestCallback, objectStoreName, indexName, idbKeyRange, skipCount, pageSize));
}
virtual ~DataLoader() { }
@@ -497,7 +502,7 @@ public:
return;
}
- RefPtr<OpenCursorCallback> openCursorCallback = OpenCursorCallback::create(m_injectedScript, m_requestCallback, m_skipCount, m_pageSize);
+ RefPtr<OpenCursorCallback> openCursorCallback = OpenCursorCallback::create(m_requestCallback, m_skipCount, m_pageSize);
RefPtr<IDBRequest> idbRequest;
if (!m_indexName.isEmpty()) {
@@ -515,17 +520,15 @@ public:
}
virtual RequestCallback* requestCallback() OVERRIDE { return m_requestCallback.get(); }
- DataLoader(ExecutionContext* executionContext, PassRefPtr<RequestDataCallback> requestCallback, const InjectedScript& injectedScript, const String& objectStoreName, const String& indexName, PassRefPtr<IDBKeyRange> idbKeyRange, int skipCount, unsigned pageSize)
+ DataLoader(ExecutionContext* executionContext, PassRefPtr<RequestDataCallback> requestCallback, const String& objectStoreName, const String& indexName, PassRefPtr<IDBKeyRange> idbKeyRange, int skipCount, unsigned pageSize)
: ExecutableWithDatabase(executionContext)
, m_requestCallback(requestCallback)
- , m_injectedScript(injectedScript)
, m_objectStoreName(objectStoreName)
, m_indexName(indexName)
, m_idbKeyRange(idbKeyRange)
, m_skipCount(skipCount)
, m_pageSize(pageSize) { }
RefPtr<RequestDataCallback> m_requestCallback;
- InjectedScript m_injectedScript;
String m_objectStoreName;
String m_indexName;
RefPtr<IDBKeyRange> m_idbKeyRange;
@@ -533,12 +536,27 @@ public:
unsigned m_pageSize;
};
+Frame* findFrameWithSecurityOrigin(Page* page, const String& securityOrigin)
+{
+ for (Frame* frame = page->mainFrame(); frame; frame = frame->tree().traverseNext()) {
+ RefPtr<SecurityOrigin> documentOrigin = frame->document()->securityOrigin();
+ if (documentOrigin->toRawString() == securityOrigin)
+ return frame;
+ }
+ return 0;
+}
+
} // namespace
-InspectorIndexedDBAgent::InspectorIndexedDBAgent(InjectedScriptManager* injectedScriptManager, InspectorPageAgent* pageAgent)
+void InspectorIndexedDBAgent::provideTo(Page* page)
+{
+ OwnPtr<InspectorIndexedDBAgent> agent(adoptPtr(new InspectorIndexedDBAgent(page)));
+ page->inspectorController().registerModuleAgent(agent.release());
+}
+
+InspectorIndexedDBAgent::InspectorIndexedDBAgent(Page* page)
: InspectorBaseAgent<InspectorIndexedDBAgent>("IndexedDB")
- , m_injectedScriptManager(injectedScriptManager)
- , m_pageAgent(pageAgent)
+ , m_page(page)
{
}
@@ -596,7 +614,7 @@ static IDBFactory* assertIDBFactory(ErrorString* errorString, Document* document
void InspectorIndexedDBAgent::requestDatabaseNames(ErrorString* errorString, const String& securityOrigin, PassRefPtr<RequestDatabaseNamesCallback> requestCallback)
{
- Frame* frame = m_pageAgent->findFrameWithSecurityOrigin(securityOrigin);
+ Frame* frame = findFrameWithSecurityOrigin(m_page, securityOrigin);
Document* document = assertDocument(errorString, frame);
if (!document)
return;
@@ -621,7 +639,7 @@ void InspectorIndexedDBAgent::requestDatabaseNames(ErrorString* errorString, con
void InspectorIndexedDBAgent::requestDatabase(ErrorString* errorString, const String& securityOrigin, const String& databaseName, PassRefPtr<RequestDatabaseCallback> requestCallback)
{
- Frame* frame = m_pageAgent->findFrameWithSecurityOrigin(securityOrigin);
+ Frame* frame = findFrameWithSecurityOrigin(m_page, securityOrigin);
Document* document = assertDocument(errorString, frame);
if (!document)
return;
@@ -641,7 +659,7 @@ void InspectorIndexedDBAgent::requestDatabase(ErrorString* errorString, const St
void InspectorIndexedDBAgent::requestData(ErrorString* errorString, const String& securityOrigin, const String& databaseName, const String& objectStoreName, const String& indexName, int skipCount, int pageSize, const RefPtr<JSONObject>* keyRange, PassRefPtr<RequestDataCallback> requestCallback)
{
- Frame* frame = m_pageAgent->findFrameWithSecurityOrigin(securityOrigin);
+ Frame* frame = findFrameWithSecurityOrigin(m_page, securityOrigin);
Document* document = assertDocument(errorString, frame);
if (!document)
return;
@@ -649,8 +667,6 @@ void InspectorIndexedDBAgent::requestData(ErrorString* errorString, const String
if (!idbFactory)
return;
- InjectedScript injectedScript = m_injectedScriptManager->injectedScriptFor(mainWorldScriptState(frame));
-
RefPtr<IDBKeyRange> idbKeyRange = keyRange ? idbKeyRangeFromKeyRange(keyRange->get()) : 0;
if (keyRange && !idbKeyRange) {
*errorString = "Can not parse key range.";
@@ -663,7 +679,7 @@ void InspectorIndexedDBAgent::requestData(ErrorString* errorString, const String
ASSERT(!context.IsEmpty());
v8::Context::Scope contextScope(context);
- RefPtr<DataLoader> dataLoader = DataLoader::create(document, requestCallback, injectedScript, objectStoreName, indexName, idbKeyRange, skipCount, pageSize);
+ RefPtr<DataLoader> dataLoader = DataLoader::create(document, requestCallback, objectStoreName, indexName, idbKeyRange, skipCount, pageSize);
dataLoader->start(idbFactory, document->securityOrigin(), databaseName);
}
@@ -753,7 +769,7 @@ private:
void InspectorIndexedDBAgent::clearObjectStore(ErrorString* errorString, const String& securityOrigin, const String& databaseName, const String& objectStoreName, PassRefPtr<ClearObjectStoreCallback> requestCallback)
{
- Frame* frame = m_pageAgent->findFrameWithSecurityOrigin(securityOrigin);
+ Frame* frame = findFrameWithSecurityOrigin(m_page, securityOrigin);
Document* document = assertDocument(errorString, frame);
if (!document)
return;

Powered by Google App Engine
This is Rietveld 408576698