[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

yurys at chromium.org yurys at chromium.org
Wed Dec 22 11:42:28 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 7aae7d22d4f2f1d8d2d1d11fecf4757c8a07cd66
Author: yurys at chromium.org <yurys at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Aug 4 14:43:22 2010 +0000

    2010-08-04  Yury Semikhatsky  <yurys at chromium.org>
    
            Reviewed by Pavel Feldman.
    
            Web Inspector: serialize database resources to InspectorValues
            https://bugs.webkit.org/show_bug.cgi?id=43482
    
            * inspector/Inspector.idl:
            * inspector/InspectorBackend.cpp:
            (WebCore::InspectorBackend::getDatabaseTableNames):
            * inspector/InspectorController.cpp:
            (WebCore::InspectorController::populateScriptObjects):
            (WebCore::InspectorController::selectDatabase):
            (WebCore::InspectorController::didOpenDatabase):
            * inspector/InspectorController.h:
            * inspector/InspectorDatabaseResource.cpp:
            (WebCore::InspectorDatabaseResource::create):
            (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
            (WebCore::InspectorDatabaseResource::bind):
            * inspector/InspectorDatabaseResource.h:
            * inspector/InspectorFrontend.cpp:
            * inspector/InspectorFrontend.h:
            * storage/Database.cpp:
            (WebCore::Database::openDatabase):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64650 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 0ebed49..161f3de 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,28 @@
+2010-08-04  Yury Semikhatsky  <yurys at chromium.org>
+
+        Reviewed by Pavel Feldman.
+
+        Web Inspector: serialize database resources to InspectorValues
+        https://bugs.webkit.org/show_bug.cgi?id=43482
+
+        * inspector/Inspector.idl:
+        * inspector/InspectorBackend.cpp:
+        (WebCore::InspectorBackend::getDatabaseTableNames):
+        * inspector/InspectorController.cpp:
+        (WebCore::InspectorController::populateScriptObjects):
+        (WebCore::InspectorController::selectDatabase):
+        (WebCore::InspectorController::didOpenDatabase):
+        * inspector/InspectorController.h:
+        * inspector/InspectorDatabaseResource.cpp:
+        (WebCore::InspectorDatabaseResource::create):
+        (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
+        (WebCore::InspectorDatabaseResource::bind):
+        * inspector/InspectorDatabaseResource.h:
+        * inspector/InspectorFrontend.cpp:
+        * inspector/InspectorFrontend.h:
+        * storage/Database.cpp:
+        (WebCore::Database::openDatabase):
+
 2010-08-03  Abhishek Arya  <inferno at chromium.org>
 
         Reviewed by Alexey Proskuryakov.
diff --git a/WebCore/inspector/Inspector.idl b/WebCore/inspector/Inspector.idl
index dea1cd0..70286f0 100644
--- a/WebCore/inspector/Inspector.idl
+++ b/WebCore/inspector/Inspector.idl
@@ -51,6 +51,10 @@ module core {
         [notify] void resumedScript();
         [notify] void addProfileHeader(out Object header);
 #endif
+#if defined(ENABLE_DATABASE) && ENABLE_DATABASE
+        [notify] void addDatabase(out Object database);
+        [notify] void selectDatabase(out int databaseId);
+#endif
 
         [handler=Controller] void storeLastActivePanel(in String panelName);
 
@@ -157,7 +161,7 @@ module core {
         [handler=Controller] void didEvaluateForTestInFrontend(in long callId, in String jsonResult);
 
 #if defined(ENABLE_DATABASE) && ENABLE_DATABASE
-        [handler=Backend] void getDatabaseTableNames(in long callId, in long databaseId);
+        [handler=Backend] void getDatabaseTableNames(in long callId, in long databaseId, out Array tableNames);
 #endif
 
 #if defined(ENABLE_DOM_STORAGE) && ENABLE_DOM_STORAGE
diff --git a/WebCore/inspector/InspectorBackend.cpp b/WebCore/inspector/InspectorBackend.cpp
index a451329..9a7f43b 100644
--- a/WebCore/inspector/InspectorBackend.cpp
+++ b/WebCore/inspector/InspectorBackend.cpp
@@ -134,14 +134,14 @@ void InspectorBackend::releaseWrapperObjectGroup(long injectedScriptId, const St
 #if ENABLE(DATABASE)
 void InspectorBackend::getDatabaseTableNames(long callId, long databaseId)
 {
-    if (InspectorFrontend* frontend = inspectorFrontend()) {
-        ScriptArray result = frontend->newScriptArray();
+    if (RemoteInspectorFrontend* frontend = remoteFrontend()) {
+        RefPtr<InspectorArray> result = InspectorArray::create();
         Database* database = m_inspectorController->databaseForId(databaseId);
         if (database) {
             Vector<String> tableNames = database->tableNames();
             unsigned length = tableNames.size();
             for (unsigned i = 0; i < length; ++i)
-                result.set(i, tableNames[i]);
+                result->pushString(tableNames[i]);
         }
         frontend->didGetDatabaseTableNames(callId, result);
     }
diff --git a/WebCore/inspector/InspectorController.cpp b/WebCore/inspector/InspectorController.cpp
index 0eacf28..da89000 100644
--- a/WebCore/inspector/InspectorController.cpp
+++ b/WebCore/inspector/InspectorController.cpp
@@ -671,7 +671,7 @@ void InspectorController::populateScriptObjects()
 #if ENABLE(DATABASE)
     DatabaseResourcesMap::iterator databasesEnd = m_databaseResources.end();
     for (DatabaseResourcesMap::iterator it = m_databaseResources.begin(); it != databasesEnd; ++it)
-        it->second->bind(m_frontend.get());
+        it->second->bind(m_remoteFrontend.get());
 #endif
 #if ENABLE(DOM_STORAGE)
     DOMStorageResourcesMap::iterator domStorageEnd = m_domStorageResources.end();
@@ -1264,12 +1264,12 @@ void InspectorController::didDestroyWorker(intptr_t id)
 #if ENABLE(DATABASE)
 void InspectorController::selectDatabase(Database* database)
 {
-    if (!m_frontend)
+    if (!m_remoteFrontend)
         return;
 
     for (DatabaseResourcesMap::iterator it = m_databaseResources.begin(); it != m_databaseResources.end(); ++it) {
         if (it->second->database() == database) {
-            m_frontend->selectDatabase(it->first);
+            m_remoteFrontend->selectDatabase(it->first);
             break;
         }
     }
@@ -1283,7 +1283,7 @@ Database* InspectorController::databaseForId(long databaseId)
     return it->second->database();
 }
 
-void InspectorController::didOpenDatabase(Database* database, const String& domain, const String& name, const String& version)
+void InspectorController::didOpenDatabase(PassRefPtr<Database> database, const String& domain, const String& name, const String& version)
 {
     if (!enabled())
         return;
@@ -1293,8 +1293,8 @@ void InspectorController::didOpenDatabase(Database* database, const String& doma
     m_databaseResources.set(resource->id(), resource);
 
     // Resources are only bound while visible.
-    if (m_frontend)
-        resource->bind(m_frontend.get());
+    if (m_remoteFrontend)
+        resource->bind(m_remoteFrontend.get());
 }
 #endif
 
diff --git a/WebCore/inspector/InspectorController.h b/WebCore/inspector/InspectorController.h
index eae5d16..6265ad2 100644
--- a/WebCore/inspector/InspectorController.h
+++ b/WebCore/inspector/InspectorController.h
@@ -213,7 +213,7 @@ public:
 #endif
 
 #if ENABLE(DATABASE)
-    void didOpenDatabase(Database*, const String& domain, const String& name, const String& version);
+    void didOpenDatabase(PassRefPtr<Database>, const String& domain, const String& name, const String& version);
 #endif
 #if ENABLE(DOM_STORAGE)
     void didUseDOMStorage(StorageArea* storageArea, bool isLocalStorage, Frame* frame);
diff --git a/WebCore/inspector/InspectorDatabaseResource.cpp b/WebCore/inspector/InspectorDatabaseResource.cpp
index cec0e28..036148f 100644
--- a/WebCore/inspector/InspectorDatabaseResource.cpp
+++ b/WebCore/inspector/InspectorDatabaseResource.cpp
@@ -33,18 +33,21 @@
 
 #if ENABLE(DATABASE) && ENABLE(INSPECTOR)
 #include "Database.h"
-#include "Document.h"
-#include "Frame.h"
-#include "InspectorFrontend.h"
-#include "ScriptObject.h"
+#include "InspectorValues.h"
+#include "RemoteInspectorFrontend.h"
 
 namespace WebCore {
 
-int InspectorDatabaseResource::s_nextUnusedId = 1;
+static int nextUnusedId = 1;
 
-InspectorDatabaseResource::InspectorDatabaseResource(Database* database, const String& domain, const String& name, const String& version)
+PassRefPtr<InspectorDatabaseResource> InspectorDatabaseResource::create(PassRefPtr<Database> database, const String& domain, const String& name, const String& version)
+{
+    return adoptRef(new InspectorDatabaseResource(database, domain, name, version));
+}
+
+InspectorDatabaseResource::InspectorDatabaseResource(PassRefPtr<Database> database, const String& domain, const String& name, const String& version)
     : m_database(database)
-    , m_id(s_nextUnusedId++)
+    , m_id(nextUnusedId++)
     , m_domain(domain)
     , m_name(name)
     , m_version(version)
@@ -52,18 +55,19 @@ InspectorDatabaseResource::InspectorDatabaseResource(Database* database, const S
 {
 }
 
-void InspectorDatabaseResource::bind(InspectorFrontend* frontend)
+void InspectorDatabaseResource::bind(RemoteInspectorFrontend* frontend)
 {
     if (m_scriptObjectCreated)
         return;
 
-    ScriptObject jsonObject = frontend->newScriptObject();
-    jsonObject.set("id", m_id);
-    jsonObject.set("domain", m_domain);
-    jsonObject.set("name", m_name);
-    jsonObject.set("version", m_version);
-    if (frontend->addDatabase(jsonObject))
-        m_scriptObjectCreated = true;
+    RefPtr<InspectorObject> jsonObject = InspectorObject::create();
+    jsonObject->setNumber("id", m_id);
+    jsonObject->setString("domain", m_domain);
+    jsonObject->setString("name", m_name);
+    jsonObject->setString("version", m_version);
+
+    frontend->addDatabase(jsonObject);
+    m_scriptObjectCreated = true;
 }
 
 void InspectorDatabaseResource::unbind()
diff --git a/WebCore/inspector/InspectorDatabaseResource.h b/WebCore/inspector/InspectorDatabaseResource.h
index f82d898..8e0e1b3 100644
--- a/WebCore/inspector/InspectorDatabaseResource.h
+++ b/WebCore/inspector/InspectorDatabaseResource.h
@@ -32,41 +32,33 @@
 #define InspectorDatabaseResource_h
 
 #if ENABLE(DATABASE)
-
-#include "Database.h"
-#include "ScriptObject.h"
-#include "ScriptState.h"
-
+#include "PlatformString.h"
 #include <wtf/PassRefPtr.h>
 #include <wtf/RefCounted.h>
 #include <wtf/RefPtr.h>
 
 namespace WebCore {
-    class InspectorFrontend;
-    
-    class InspectorDatabaseResource : public RefCounted<InspectorDatabaseResource> {
-    public:
-        static PassRefPtr<InspectorDatabaseResource> create(Database* database, const String& domain, const String& name, const String& version)
-        {
-            return adoptRef(new InspectorDatabaseResource(database, domain, name, version));
-        }
+class Database;
+class RemoteInspectorFrontend;
+
+class InspectorDatabaseResource : public RefCounted<InspectorDatabaseResource> {
+public:
+    static PassRefPtr<InspectorDatabaseResource> create(PassRefPtr<Database> database, const String& domain, const String& name, const String& version);
 
-        void bind(InspectorFrontend* frontend);
-        void unbind();
-        Database* database() { return m_database.get(); }
-        long id() const { return m_id; }
-    private:
-        InspectorDatabaseResource(Database*, const String& domain, const String& name, const String& version);
-        
-        RefPtr<Database> m_database;
-        int m_id;
-        String m_domain;
-        String m_name;
-        String m_version;
-        bool m_scriptObjectCreated;
+    void bind(RemoteInspectorFrontend* frontend);
+    void unbind();
+    Database* database() { return m_database.get(); }
+    long id() const { return m_id; }
+private:
+    InspectorDatabaseResource(PassRefPtr<Database>, const String& domain, const String& name, const String& version);
 
-        static int s_nextUnusedId;
-    };
+    RefPtr<Database> m_database;
+    int m_id;
+    String m_domain;
+    String m_name;
+    String m_version;
+    bool m_scriptObjectCreated;
+};
 
 } // namespace WebCore
 
diff --git a/WebCore/inspector/InspectorFrontend.cpp b/WebCore/inspector/InspectorFrontend.cpp
index 68ebe7d..ccc26c3 100644
--- a/WebCore/inspector/InspectorFrontend.cpp
+++ b/WebCore/inspector/InspectorFrontend.cpp
@@ -382,35 +382,6 @@ void InspectorFrontend::didDispatchOnInjectedScript(long callId, SerializedScrip
     function.call();
 }
 
-#if ENABLE(DATABASE)
-bool InspectorFrontend::addDatabase(const ScriptObject& dbObject)
-{
-    ScriptFunctionCall function(m_webInspector, "dispatch"); 
-    function.appendArgument("addDatabase");
-    function.appendArgument(dbObject);
-    bool hadException = false;
-    function.call(hadException);
-    return !hadException;
-}
-
-void InspectorFrontend::selectDatabase(int databaseId)
-{
-    ScriptFunctionCall function(m_webInspector, "dispatch"); 
-    function.appendArgument("selectDatabase");
-    function.appendArgument(databaseId);
-    function.call();
-}
-
-void InspectorFrontend::didGetDatabaseTableNames(long callId, const ScriptArray& tableNames)
-{
-    ScriptFunctionCall function(m_webInspector, "dispatch"); 
-    function.appendArgument("didGetDatabaseTableNames");
-    function.appendArgument(callId);
-    function.appendArgument(tableNames);
-    function.call();
-}
-#endif
-
 #if ENABLE(DOM_STORAGE)
 bool InspectorFrontend::addDOMStorage(const ScriptObject& domStorageObj)
 {
diff --git a/WebCore/inspector/InspectorFrontend.h b/WebCore/inspector/InspectorFrontend.h
index 2ab5a1e..8d984a3 100644
--- a/WebCore/inspector/InspectorFrontend.h
+++ b/WebCore/inspector/InspectorFrontend.h
@@ -106,12 +106,6 @@ namespace WebCore {
         void didGetProfile(long callId, const ScriptValue& profile);
 #endif
 
-#if ENABLE(DATABASE)
-        bool addDatabase(const ScriptObject& dbObj);
-        void selectDatabase(int databaseId);
-        void didGetDatabaseTableNames(long callId, const ScriptArray& tableNames);
-#endif
-
 #if ENABLE(DOM_STORAGE)
         bool addDOMStorage(const ScriptObject& domStorageObj);
         void selectDOMStorage(long storageId);
diff --git a/WebCore/storage/Database.cpp b/WebCore/storage/Database.cpp
index ff59dee..2d60acb 100644
--- a/WebCore/storage/Database.cpp
+++ b/WebCore/storage/Database.cpp
@@ -109,7 +109,7 @@ PassRefPtr<Database> Database::openDatabase(ScriptExecutionContext* context, con
     if (context->isDocument()) {
         Document* document = static_cast<Document*>(context);
         if (Page* page = document->page())
-            page->inspectorController()->didOpenDatabase(database.get(), context->securityOrigin()->host(), name, expectedVersion);
+            page->inspectorController()->didOpenDatabase(database, context->securityOrigin()->host(), name, expectedVersion);
     }
 #endif
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list