Index: Source/modules/indexeddb/InspectorIndexedDBAgent.cpp |
diff --git a/Source/modules/indexeddb/InspectorIndexedDBAgent.cpp b/Source/modules/indexeddb/InspectorIndexedDBAgent.cpp |
index ed0a859d098c92f009d62522746683c35bb29a96..023df0efcda031b28a91a70f2212f97843816a11 100644 |
--- a/Source/modules/indexeddb/InspectorIndexedDBAgent.cpp |
+++ b/Source/modules/indexeddb/InspectorIndexedDBAgent.cpp |
@@ -135,15 +135,16 @@ private: |
class ExecutableWithDatabase : public RefCounted<ExecutableWithDatabase> { |
public: |
- ExecutableWithDatabase(ExecutionContext* context) |
- : m_context(context) { } |
+ ExecutableWithDatabase(NewScriptState* scriptState) |
+ : m_scriptState(scriptState) { } |
virtual ~ExecutableWithDatabase() { }; |
void start(IDBFactory*, SecurityOrigin*, const String& databaseName); |
virtual void execute(PassRefPtr<IDBDatabase>) = 0; |
virtual RequestCallback* requestCallback() = 0; |
- ExecutionContext* context() { return m_context; }; |
+ ExecutionContext* context() const { return m_scriptState->executionContext(); } |
+ NewScriptState* scriptState() const { return m_scriptState.get(); } |
private: |
- ExecutionContext* m_context; |
+ RefPtr<NewScriptState> m_scriptState; |
}; |
class OpenDatabaseCallback FINAL : public EventListener { |
@@ -255,9 +256,9 @@ static PassRefPtr<KeyPath> keyPathFromIDBKeyPath(const IDBKeyPath& idbKeyPath) |
class DatabaseLoader FINAL : public ExecutableWithDatabase { |
public: |
- static PassRefPtr<DatabaseLoader> create(ExecutionContext* context, PassRefPtr<RequestDatabaseCallback> requestCallback) |
+ static PassRefPtr<DatabaseLoader> create(NewScriptState* scriptState, PassRefPtr<RequestDatabaseCallback> requestCallback) |
{ |
- return adoptRef(new DatabaseLoader(context, requestCallback)); |
+ return adoptRef(new DatabaseLoader(scriptState, requestCallback)); |
} |
virtual ~DatabaseLoader() { } |
@@ -306,8 +307,8 @@ public: |
virtual RequestCallback* requestCallback() OVERRIDE { return m_requestCallback.get(); } |
private: |
- DatabaseLoader(ExecutionContext* context, PassRefPtr<RequestDatabaseCallback> requestCallback) |
- : ExecutableWithDatabase(context) |
+ DatabaseLoader(NewScriptState* scriptState, PassRefPtr<RequestDatabaseCallback> requestCallback) |
+ : ExecutableWithDatabase(scriptState) |
, m_requestCallback(requestCallback) { } |
RefPtr<RequestDatabaseCallback> m_requestCallback; |
}; |
@@ -388,9 +389,9 @@ class DataLoader; |
class OpenCursorCallback FINAL : public EventListener { |
public: |
- static PassRefPtr<OpenCursorCallback> create(PassRefPtr<RequestDataCallback> requestCallback, int skipCount, unsigned pageSize) |
+ static PassRefPtr<OpenCursorCallback> create(NewScriptState* scriptState, PassRefPtr<RequestDataCallback> requestCallback, int skipCount, unsigned pageSize) |
{ |
- return adoptRef(new OpenCursorCallback(requestCallback, skipCount, pageSize)); |
+ return adoptRef(new OpenCursorCallback(scriptState, requestCallback, skipCount, pageSize)); |
} |
virtual ~OpenCursorCallback() { } |
@@ -400,7 +401,7 @@ public: |
return this == &other; |
} |
- virtual void handleEvent(ExecutionContext* context, Event* event) OVERRIDE |
+ virtual void handleEvent(ExecutionContext*, Event* event) OVERRIDE |
{ |
if (event->type() != EventTypeNames::success) { |
m_requestCallback->sendFailure("Unexpected event type."); |
@@ -442,15 +443,15 @@ public: |
return; |
} |
- Document* document = toDocument(context); |
+ Document* document = toDocument(m_scriptState->executionContext()); |
if (!document) |
return; |
ScriptState* scriptState = mainWorldScriptState(document->frame()); |
RefPtr<DataEntry> dataEntry = DataEntry::create() |
- .setKey(idbCursor->key(context).toJSONValue(scriptState)->toJSONString()) |
- .setPrimaryKey(idbCursor->primaryKey(context).toJSONValue(scriptState)->toJSONString()) |
- .setValue(idbCursor->value(context).toJSONValue(scriptState)->toJSONString()); |
+ .setKey(idbCursor->key(m_scriptState.get()).toJSONValue(scriptState)->toJSONString()) |
+ .setPrimaryKey(idbCursor->primaryKey(m_scriptState.get()).toJSONValue(scriptState)->toJSONString()) |
+ .setValue(idbCursor->value(m_scriptState.get()).toJSONValue(scriptState)->toJSONString()); |
m_result->addItem(dataEntry); |
} |
@@ -463,14 +464,17 @@ public: |
} |
private: |
- OpenCursorCallback(PassRefPtr<RequestDataCallback> requestCallback, int skipCount, unsigned pageSize) |
+ OpenCursorCallback(NewScriptState* scriptState, PassRefPtr<RequestDataCallback> requestCallback, int skipCount, unsigned pageSize) |
: EventListener(EventListener::CPPEventListenerType) |
+ , m_scriptState(scriptState) |
, m_requestCallback(requestCallback) |
, m_skipCount(skipCount) |
, m_pageSize(pageSize) |
{ |
m_result = Array<DataEntry>::create(); |
} |
+ |
+ RefPtr<NewScriptState> m_scriptState; |
RefPtr<RequestDataCallback> m_requestCallback; |
int m_skipCount; |
unsigned m_pageSize; |
@@ -479,9 +483,9 @@ private: |
class DataLoader FINAL : public ExecutableWithDatabase { |
public: |
- static PassRefPtr<DataLoader> create(ExecutionContext* context, PassRefPtr<RequestDataCallback> requestCallback, const String& objectStoreName, const String& indexName, PassRefPtr<IDBKeyRange> idbKeyRange, int skipCount, unsigned pageSize) |
+ static PassRefPtr<DataLoader> create(NewScriptState* scriptState, PassRefPtr<RequestDataCallback> requestCallback, const String& objectStoreName, const String& indexName, PassRefPtr<IDBKeyRange> idbKeyRange, int skipCount, unsigned pageSize) |
{ |
- return adoptRef(new DataLoader(context, requestCallback, objectStoreName, indexName, idbKeyRange, skipCount, pageSize)); |
+ return adoptRef(new DataLoader(scriptState, requestCallback, objectStoreName, indexName, idbKeyRange, skipCount, pageSize)); |
} |
virtual ~DataLoader() { } |
@@ -502,7 +506,7 @@ public: |
return; |
} |
- RefPtr<OpenCursorCallback> openCursorCallback = OpenCursorCallback::create(m_requestCallback, m_skipCount, m_pageSize); |
+ RefPtr<OpenCursorCallback> openCursorCallback = OpenCursorCallback::create(scriptState(), m_requestCallback, m_skipCount, m_pageSize); |
RefPtr<IDBRequest> idbRequest; |
if (!m_indexName.isEmpty()) { |
@@ -520,14 +524,17 @@ public: |
} |
virtual RequestCallback* requestCallback() OVERRIDE { return m_requestCallback.get(); } |
- DataLoader(ExecutionContext* executionContext, PassRefPtr<RequestDataCallback> requestCallback, const String& objectStoreName, const String& indexName, PassRefPtr<IDBKeyRange> idbKeyRange, int skipCount, unsigned pageSize) |
- : ExecutableWithDatabase(executionContext) |
+ DataLoader(NewScriptState* scriptState, PassRefPtr<RequestDataCallback> requestCallback, const String& objectStoreName, const String& indexName, PassRefPtr<IDBKeyRange> idbKeyRange, int skipCount, unsigned pageSize) |
+ : ExecutableWithDatabase(scriptState) |
, m_requestCallback(requestCallback) |
, m_objectStoreName(objectStoreName) |
, m_indexName(indexName) |
, m_idbKeyRange(idbKeyRange) |
, m_skipCount(skipCount) |
- , m_pageSize(pageSize) { } |
+ , m_pageSize(pageSize) |
+ { |
+ } |
+ |
RefPtr<RequestDataCallback> m_requestCallback; |
String m_objectStoreName; |
String m_indexName; |
@@ -655,7 +662,7 @@ void InspectorIndexedDBAgent::requestDatabase(ErrorString* errorString, const St |
ASSERT(!context.IsEmpty()); |
v8::Context::Scope contextScope(context); |
- RefPtr<DatabaseLoader> databaseLoader = DatabaseLoader::create(document, requestCallback); |
+ RefPtr<DatabaseLoader> databaseLoader = DatabaseLoader::create(NewScriptState::current(isolate), requestCallback); |
databaseLoader->start(idbFactory, document->securityOrigin(), databaseName); |
} |
@@ -682,7 +689,7 @@ void InspectorIndexedDBAgent::requestData(ErrorString* errorString, const String |
ASSERT(!context.IsEmpty()); |
v8::Context::Scope contextScope(context); |
- RefPtr<DataLoader> dataLoader = DataLoader::create(document, requestCallback, objectStoreName, indexName, idbKeyRange, skipCount, pageSize); |
+ RefPtr<DataLoader> dataLoader = DataLoader::create(NewScriptState::current(isolate), requestCallback, objectStoreName, indexName, idbKeyRange, skipCount, pageSize); |
dataLoader->start(idbFactory, document->securityOrigin(), databaseName); |
} |
@@ -725,13 +732,13 @@ private: |
class ClearObjectStore FINAL : public ExecutableWithDatabase { |
public: |
- static PassRefPtr<ClearObjectStore> create(ExecutionContext* context, const String& objectStoreName, PassRefPtr<ClearObjectStoreCallback> requestCallback) |
+ static PassRefPtr<ClearObjectStore> create(NewScriptState* scriptState, const String& objectStoreName, PassRefPtr<ClearObjectStoreCallback> requestCallback) |
{ |
- return adoptRef(new ClearObjectStore(context, objectStoreName, requestCallback)); |
+ return adoptRef(new ClearObjectStore(scriptState, objectStoreName, requestCallback)); |
} |
- ClearObjectStore(ExecutionContext* context, const String& objectStoreName, PassRefPtr<ClearObjectStoreCallback> requestCallback) |
- : ExecutableWithDatabase(context) |
+ ClearObjectStore(NewScriptState* scriptState, const String& objectStoreName, PassRefPtr<ClearObjectStoreCallback> requestCallback) |
+ : ExecutableWithDatabase(scriptState) |
, m_objectStoreName(objectStoreName) |
, m_requestCallback(requestCallback) |
{ |
@@ -787,7 +794,7 @@ void InspectorIndexedDBAgent::clearObjectStore(ErrorString* errorString, const S |
ASSERT(!context.IsEmpty()); |
v8::Context::Scope contextScope(context); |
- RefPtr<ClearObjectStore> clearObjectStore = ClearObjectStore::create(document, objectStoreName, requestCallback); |
+ RefPtr<ClearObjectStore> clearObjectStore = ClearObjectStore::create(NewScriptState::current(isolate), objectStoreName, requestCallback); |
clearObjectStore->start(idbFactory, document->securityOrigin(), databaseName); |
} |