Changeset 64650 in webkit
- Timestamp:
- Aug 4, 2010 7:43:22 AM (14 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r64647 r64650 1 2010-08-04 Yury Semikhatsky <yurys@chromium.org> 2 3 Reviewed by Pavel Feldman. 4 5 Web Inspector: serialize database resources to InspectorValues 6 https://bugs.webkit.org/show_bug.cgi?id=43482 7 8 * inspector/Inspector.idl: 9 * inspector/InspectorBackend.cpp: 10 (WebCore::InspectorBackend::getDatabaseTableNames): 11 * inspector/InspectorController.cpp: 12 (WebCore::InspectorController::populateScriptObjects): 13 (WebCore::InspectorController::selectDatabase): 14 (WebCore::InspectorController::didOpenDatabase): 15 * inspector/InspectorController.h: 16 * inspector/InspectorDatabaseResource.cpp: 17 (WebCore::InspectorDatabaseResource::create): 18 (WebCore::InspectorDatabaseResource::InspectorDatabaseResource): 19 (WebCore::InspectorDatabaseResource::bind): 20 * inspector/InspectorDatabaseResource.h: 21 * inspector/InspectorFrontend.cpp: 22 * inspector/InspectorFrontend.h: 23 * storage/Database.cpp: 24 (WebCore::Database::openDatabase): 25 1 26 2010-08-03 Abhishek Arya <inferno@chromium.org> 2 27 -
trunk/WebCore/inspector/Inspector.idl
r64642 r64650 51 51 [notify] void resumedScript(); 52 52 [notify] void addProfileHeader(out Object header); 53 #endif 54 #if defined(ENABLE_DATABASE) && ENABLE_DATABASE 55 [notify] void addDatabase(out Object database); 56 [notify] void selectDatabase(out int databaseId); 53 57 #endif 54 58 … … 158 162 159 163 #if defined(ENABLE_DATABASE) && ENABLE_DATABASE 160 [handler=Backend] void getDatabaseTableNames(in long callId, in long databaseId );164 [handler=Backend] void getDatabaseTableNames(in long callId, in long databaseId, out Array tableNames); 161 165 #endif 162 166 -
trunk/WebCore/inspector/InspectorBackend.cpp
r64536 r64650 135 135 void InspectorBackend::getDatabaseTableNames(long callId, long databaseId) 136 136 { 137 if ( InspectorFrontend* frontend = inspectorFrontend()) {138 ScriptArray result = frontend->newScriptArray();137 if (RemoteInspectorFrontend* frontend = remoteFrontend()) { 138 RefPtr<InspectorArray> result = InspectorArray::create(); 139 139 Database* database = m_inspectorController->databaseForId(databaseId); 140 140 if (database) { … … 142 142 unsigned length = tableNames.size(); 143 143 for (unsigned i = 0; i < length; ++i) 144 result .set(i,tableNames[i]);144 result->pushString(tableNames[i]); 145 145 } 146 146 frontend->didGetDatabaseTableNames(callId, result); -
trunk/WebCore/inspector/InspectorController.cpp
r64642 r64650 672 672 DatabaseResourcesMap::iterator databasesEnd = m_databaseResources.end(); 673 673 for (DatabaseResourcesMap::iterator it = m_databaseResources.begin(); it != databasesEnd; ++it) 674 it->second->bind(m_ frontend.get());674 it->second->bind(m_remoteFrontend.get()); 675 675 #endif 676 676 #if ENABLE(DOM_STORAGE) … … 1265 1265 void InspectorController::selectDatabase(Database* database) 1266 1266 { 1267 if (!m_ frontend)1267 if (!m_remoteFrontend) 1268 1268 return; 1269 1269 1270 1270 for (DatabaseResourcesMap::iterator it = m_databaseResources.begin(); it != m_databaseResources.end(); ++it) { 1271 1271 if (it->second->database() == database) { 1272 m_ frontend->selectDatabase(it->first);1272 m_remoteFrontend->selectDatabase(it->first); 1273 1273 break; 1274 1274 } … … 1284 1284 } 1285 1285 1286 void InspectorController::didOpenDatabase( Database*database, const String& domain, const String& name, const String& version)1286 void InspectorController::didOpenDatabase(PassRefPtr<Database> database, const String& domain, const String& name, const String& version) 1287 1287 { 1288 1288 if (!enabled()) … … 1294 1294 1295 1295 // Resources are only bound while visible. 1296 if (m_ frontend)1297 resource->bind(m_ frontend.get());1296 if (m_remoteFrontend) 1297 resource->bind(m_remoteFrontend.get()); 1298 1298 } 1299 1299 #endif -
trunk/WebCore/inspector/InspectorController.h
r64642 r64650 214 214 215 215 #if ENABLE(DATABASE) 216 void didOpenDatabase( Database*, const String& domain, const String& name, const String& version);216 void didOpenDatabase(PassRefPtr<Database>, const String& domain, const String& name, const String& version); 217 217 #endif 218 218 #if ENABLE(DOM_STORAGE) -
trunk/WebCore/inspector/InspectorDatabaseResource.cpp
r51598 r64650 34 34 #if ENABLE(DATABASE) && ENABLE(INSPECTOR) 35 35 #include "Database.h" 36 #include "Document.h" 37 #include "Frame.h" 38 #include "InspectorFrontend.h" 39 #include "ScriptObject.h" 36 #include "InspectorValues.h" 37 #include "RemoteInspectorFrontend.h" 40 38 41 39 namespace WebCore { 42 40 43 int InspectorDatabaseResource::s_nextUnusedId = 1;41 static int nextUnusedId = 1; 44 42 45 InspectorDatabaseResource::InspectorDatabaseResource(Database* database, const String& domain, const String& name, const String& version) 43 PassRefPtr<InspectorDatabaseResource> InspectorDatabaseResource::create(PassRefPtr<Database> database, const String& domain, const String& name, const String& version) 44 { 45 return adoptRef(new InspectorDatabaseResource(database, domain, name, version)); 46 } 47 48 InspectorDatabaseResource::InspectorDatabaseResource(PassRefPtr<Database> database, const String& domain, const String& name, const String& version) 46 49 : m_database(database) 47 , m_id( s_nextUnusedId++)50 , m_id(nextUnusedId++) 48 51 , m_domain(domain) 49 52 , m_name(name) … … 53 56 } 54 57 55 void InspectorDatabaseResource::bind( InspectorFrontend* frontend)58 void InspectorDatabaseResource::bind(RemoteInspectorFrontend* frontend) 56 59 { 57 60 if (m_scriptObjectCreated) 58 61 return; 59 62 60 ScriptObject jsonObject = frontend->newScriptObject(); 61 jsonObject.set("id", m_id); 62 jsonObject.set("domain", m_domain); 63 jsonObject.set("name", m_name); 64 jsonObject.set("version", m_version); 65 if (frontend->addDatabase(jsonObject)) 66 m_scriptObjectCreated = true; 63 RefPtr<InspectorObject> jsonObject = InspectorObject::create(); 64 jsonObject->setNumber("id", m_id); 65 jsonObject->setString("domain", m_domain); 66 jsonObject->setString("name", m_name); 67 jsonObject->setString("version", m_version); 68 69 frontend->addDatabase(jsonObject); 70 m_scriptObjectCreated = true; 67 71 } 68 72 -
trunk/WebCore/inspector/InspectorDatabaseResource.h
r49234 r64650 33 33 34 34 #if ENABLE(DATABASE) 35 36 #include "Database.h" 37 #include "ScriptObject.h" 38 #include "ScriptState.h" 39 35 #include "PlatformString.h" 40 36 #include <wtf/PassRefPtr.h> 41 37 #include <wtf/RefCounted.h> … … 43 39 44 40 namespace WebCore { 45 class InspectorFrontend; 46 47 class InspectorDatabaseResource : public RefCounted<InspectorDatabaseResource> { 48 public: 49 static PassRefPtr<InspectorDatabaseResource> create(Database* database, const String& domain, const String& name, const String& version) 50 { 51 return adoptRef(new InspectorDatabaseResource(database, domain, name, version)); 52 } 41 class Database; 42 class RemoteInspectorFrontend; 53 43 54 void bind(InspectorFrontend* frontend); 55 void unbind(); 56 Database* database() { return m_database.get(); } 57 long id() const { return m_id; } 58 private: 59 InspectorDatabaseResource(Database*, const String& domain, const String& name, const String& version); 60 61 RefPtr<Database> m_database; 62 int m_id; 63 String m_domain; 64 String m_name; 65 String m_version; 66 bool m_scriptObjectCreated; 44 class InspectorDatabaseResource : public RefCounted<InspectorDatabaseResource> { 45 public: 46 static PassRefPtr<InspectorDatabaseResource> create(PassRefPtr<Database> database, const String& domain, const String& name, const String& version); 67 47 68 static int s_nextUnusedId; 69 }; 48 void bind(RemoteInspectorFrontend* frontend); 49 void unbind(); 50 Database* database() { return m_database.get(); } 51 long id() const { return m_id; } 52 private: 53 InspectorDatabaseResource(PassRefPtr<Database>, const String& domain, const String& name, const String& version); 54 55 RefPtr<Database> m_database; 56 int m_id; 57 String m_domain; 58 String m_name; 59 String m_version; 60 bool m_scriptObjectCreated; 61 }; 70 62 71 63 } // namespace WebCore -
trunk/WebCore/inspector/InspectorFrontend.cpp
r64642 r64650 383 383 } 384 384 385 #if ENABLE(DATABASE)386 bool InspectorFrontend::addDatabase(const ScriptObject& dbObject)387 {388 ScriptFunctionCall function(m_webInspector, "dispatch");389 function.appendArgument("addDatabase");390 function.appendArgument(dbObject);391 bool hadException = false;392 function.call(hadException);393 return !hadException;394 }395 396 void InspectorFrontend::selectDatabase(int databaseId)397 {398 ScriptFunctionCall function(m_webInspector, "dispatch");399 function.appendArgument("selectDatabase");400 function.appendArgument(databaseId);401 function.call();402 }403 404 void InspectorFrontend::didGetDatabaseTableNames(long callId, const ScriptArray& tableNames)405 {406 ScriptFunctionCall function(m_webInspector, "dispatch");407 function.appendArgument("didGetDatabaseTableNames");408 function.appendArgument(callId);409 function.appendArgument(tableNames);410 function.call();411 }412 #endif413 414 385 #if ENABLE(DOM_STORAGE) 415 386 bool InspectorFrontend::addDOMStorage(const ScriptObject& domStorageObj) -
trunk/WebCore/inspector/InspectorFrontend.h
r64642 r64650 107 107 #endif 108 108 109 #if ENABLE(DATABASE)110 bool addDatabase(const ScriptObject& dbObj);111 void selectDatabase(int databaseId);112 void didGetDatabaseTableNames(long callId, const ScriptArray& tableNames);113 #endif114 115 109 #if ENABLE(DOM_STORAGE) 116 110 bool addDOMStorage(const ScriptObject& domStorageObj); -
trunk/WebCore/storage/Database.cpp
r64537 r64650 110 110 Document* document = static_cast<Document*>(context); 111 111 if (Page* page = document->page()) 112 page->inspectorController()->didOpenDatabase(database .get(), context->securityOrigin()->host(), name, expectedVersion);112 page->inspectorController()->didOpenDatabase(database, context->securityOrigin()->host(), name, expectedVersion); 113 113 } 114 114 #endif
Note: See TracChangeset
for help on using the changeset viewer.