Changeset 64713 in webkit


Ignore:
Timestamp:
Aug 4, 2010 11:00:19 PM (14 years ago)
Author:
yurys@chromium.org
Message:

2010-08-05 Yury Semikhatsky <yurys@chromium.org>

Reviewed by Pavel Feldman.

Web Inspector: serialize DOM storage items to InspectorValues
https://bugs.webkit.org/show_bug.cgi?id=43486

  • inspector/Inspector.idl:
  • inspector/InspectorController.cpp: (WebCore::InspectorController::populateScriptObjects): (WebCore::InspectorController::didUseDOMStorage): (WebCore::InspectorController::selectDOMStorage): (WebCore::InspectorController::getDOMStorageEntries): (WebCore::InspectorController::setDOMStorageItem): (WebCore::InspectorController::removeDOMStorageItem):
  • inspector/InspectorDOMStorageResource.cpp: (WebCore::InspectorDOMStorageResource::bind):
  • inspector/InspectorDOMStorageResource.h:
  • inspector/InspectorFrontend.cpp:
  • inspector/InspectorFrontend.h:
Location:
trunk/WebCore
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r64712 r64713  
     12010-08-05  Yury Semikhatsky  <yurys@chromium.org>
     2
     3        Reviewed by Pavel Feldman.
     4
     5        Web Inspector: serialize DOM storage items to InspectorValues
     6        https://bugs.webkit.org/show_bug.cgi?id=43486
     7
     8        * inspector/Inspector.idl:
     9        * inspector/InspectorController.cpp:
     10        (WebCore::InspectorController::populateScriptObjects):
     11        (WebCore::InspectorController::didUseDOMStorage):
     12        (WebCore::InspectorController::selectDOMStorage):
     13        (WebCore::InspectorController::getDOMStorageEntries):
     14        (WebCore::InspectorController::setDOMStorageItem):
     15        (WebCore::InspectorController::removeDOMStorageItem):
     16        * inspector/InspectorDOMStorageResource.cpp:
     17        (WebCore::InspectorDOMStorageResource::bind):
     18        * inspector/InspectorDOMStorageResource.h:
     19        * inspector/InspectorFrontend.cpp:
     20        * inspector/InspectorFrontend.h:
     21
    1222010-08-04  Eric Seidel  <eric@webkit.org>
    223
  • trunk/WebCore/inspector/Inspector.idl

    r64653 r64713  
    5555        [notify] void addDatabase(out Object database);
    5656        [notify] void selectDatabase(out int databaseId);
     57#endif
     58#if defined(ENABLE_DOM_STORAGE) && ENABLE_DOM_STORAGE
     59        [notify] void addDOMStorage(out Object storage);
     60        [notify] void updateDOMStorage(out int storageId);
     61        [notify] void selectDOMStorage(out int storageId);
    5762#endif
    5863
     
    165170
    166171#if defined(ENABLE_DOM_STORAGE) && ENABLE_DOM_STORAGE
    167         [handler=Controller] void getDOMStorageEntries(in long callId, in long storageId);
    168         [handler=Controller] void setDOMStorageItem(in long callId, in long storageId, in String key, in String value);
    169         [handler=Controller] void removeDOMStorageItem(in long callId, in long storageId, in String key);
     172        [handler=Controller] void getDOMStorageEntries(in long callId, in long storageId, out Array entries);
     173        [handler=Controller] void setDOMStorageItem(in long callId, in long storageId, in String key, in String value, out boolean success);
     174        [handler=Controller] void removeDOMStorageItem(in long callId, in long storageId, in String key, out boolean success);
    170175#endif
    171176
  • trunk/WebCore/inspector/InspectorController.cpp

    r64653 r64713  
    677677    DOMStorageResourcesMap::iterator domStorageEnd = m_domStorageResources.end();
    678678    for (DOMStorageResourcesMap::iterator it = m_domStorageResources.begin(); it != domStorageEnd; ++it)
    679         it->second->bind(m_frontend.get());
     679        it->second->bind(m_remoteFrontend.get());
    680680#endif
    681681#if ENABLE(WORKERS)
     
    13971397
    13981398    // Resources are only bound while visible.
    1399     if (m_frontend)
    1400         resource->bind(m_frontend.get());
     1399    if (m_remoteFrontend)
     1400        resource->bind(m_remoteFrontend.get());
    14011401}
    14021402
     
    14041404{
    14051405    ASSERT(storage);
    1406     if (!m_frontend)
     1406    if (!m_remoteFrontend)
    14071407        return;
    14081408
     
    14191419    }
    14201420    if (storageResourceId)
    1421         m_frontend->selectDOMStorage(storageResourceId);
     1421        m_remoteFrontend->selectDOMStorage(storageResourceId);
    14221422}
    14231423
    14241424void InspectorController::getDOMStorageEntries(long callId, long storageId)
    14251425{
    1426     if (!m_frontend)
    1427         return;
    1428 
    1429     ScriptArray jsonArray = m_frontend->newScriptArray();
     1426    if (!m_remoteFrontend)
     1427        return;
     1428
     1429    RefPtr<InspectorArray> jsonArray = InspectorArray::create();
    14301430    InspectorDOMStorageResource* storageResource = getDOMStorageResourceForId(storageId);
    14311431    if (storageResource) {
     
    14351435            String name(domStorage->key(i));
    14361436            String value(domStorage->getItem(name));
    1437             ScriptArray entry = m_frontend->newScriptArray();
    1438             entry.set(0, name);
    1439             entry.set(1, value);
    1440             jsonArray.set(i, entry);
     1437            RefPtr<InspectorArray> entry = InspectorArray::create();
     1438            entry->pushString(name);
     1439            entry->pushString(value);
     1440            jsonArray->push(entry);
    14411441        }
    14421442    }
    1443     m_frontend->didGetDOMStorageEntries(callId, jsonArray);
     1443    m_remoteFrontend->didGetDOMStorageEntries(callId, jsonArray);
    14441444}
    14451445
    14461446void InspectorController::setDOMStorageItem(long callId, long storageId, const String& key, const String& value)
    14471447{
    1448     if (!m_frontend)
     1448    if (!m_remoteFrontend)
    14491449        return;
    14501450
     
    14561456        success = !exception;
    14571457    }
    1458     m_frontend->didSetDOMStorageItem(callId, success);
     1458    m_remoteFrontend->didSetDOMStorageItem(callId, success);
    14591459}
    14601460
    14611461void InspectorController::removeDOMStorageItem(long callId, long storageId, const String& key)
    14621462{
    1463     if (!m_frontend)
     1463    if (!m_remoteFrontend)
    14641464        return;
    14651465
     
    14701470        success = true;
    14711471    }
    1472     m_frontend->didRemoveDOMStorageItem(callId, success);
     1472    m_remoteFrontend->didRemoveDOMStorageItem(callId, success);
    14731473}
    14741474
  • trunk/WebCore/inspector/InspectorDOMStorageResource.cpp

    r56002 r64713  
    3535#include "InspectorDOMStorageResource.h"
    3636
    37 #include "Document.h"
    3837#include "DOMWindow.h"
    3938#include "EventNames.h"
    4039#include "Frame.h"
    41 #include "InspectorFrontend.h"
    42 #include "ScriptObject.h"
     40#include "InspectorValues.h"
     41#include "RemoteInspectorFrontend.h"
    4342#include "Storage.h"
    4443#include "StorageEvent.h"
     
    6665}
    6766
    68 void InspectorDOMStorageResource::bind(InspectorFrontend* frontend)
     67void InspectorDOMStorageResource::bind(RemoteInspectorFrontend* frontend)
    6968{
    7069    ASSERT(!m_frontend);
    7170    m_frontend = frontend;
    7271
    73     ScriptObject jsonObject = frontend->newScriptObject();
    74     jsonObject.set("host", m_frame->document()->securityOrigin()->host());
    75     jsonObject.set("isLocalStorage", m_isLocalStorage);
    76     jsonObject.set("id", m_id);
     72    RefPtr<InspectorObject> jsonObject = InspectorObject::create();
     73    jsonObject->setString("host", m_frame->document()->securityOrigin()->host());
     74    jsonObject->setBool("isLocalStorage", m_isLocalStorage);
     75    jsonObject->setNumber("id", m_id);
    7776    frontend->addDOMStorage(jsonObject);
    7877}
  • trunk/WebCore/inspector/InspectorDOMStorageResource.h

    r48884 r64713  
    3535
    3636#include "EventListener.h"
    37 #include "ScriptObject.h"
    38 #include "ScriptState.h"
    3937
    4038#include <wtf/PassRefPtr.h>
     
    4644    class Storage;
    4745    class Frame;
    48     class InspectorFrontend;
     46    class RemoteInspectorFrontend;
    4947
    5048    class InspectorDOMStorageResource : public EventListener {
     
    5957        }
    6058
    61         void bind(InspectorFrontend* frontend);
     59        void bind(RemoteInspectorFrontend* frontend);
    6260        void unbind();
    6361        void startReportingChangesToFrontend();
     
    7775        bool m_isLocalStorage;
    7876        RefPtr<Frame> m_frame;
    79         InspectorFrontend* m_frontend;
     77        RemoteInspectorFrontend* m_frontend;
    8078        int m_id;
    8179        bool m_reportingChangesToFrontend;
  • trunk/WebCore/inspector/InspectorFrontend.cpp

    r64653 r64713  
    353353}
    354354
    355 #if ENABLE(DOM_STORAGE)
    356 bool InspectorFrontend::addDOMStorage(const ScriptObject& domStorageObj)
    357 {
    358     ScriptFunctionCall function(m_webInspector, "dispatch");
    359     function.appendArgument("addDOMStorage");
    360     function.appendArgument(domStorageObj);
    361     bool hadException = false;
    362     function.call(hadException);
    363     return !hadException;
    364 }
    365 
    366 void InspectorFrontend::selectDOMStorage(long storageId)
    367 {
    368     ScriptFunctionCall function(m_webInspector, "dispatch");
    369     function.appendArgument("selectDOMStorage");
    370     function.appendArgument(storageId);
    371     function.call();
    372 }
    373 
    374 void InspectorFrontend::didGetDOMStorageEntries(long callId, const ScriptArray& entries)
    375 {
    376     ScriptFunctionCall function(m_webInspector, "dispatch");
    377     function.appendArgument("didGetDOMStorageEntries");
    378     function.appendArgument(callId);
    379     function.appendArgument(entries);
    380     function.call();
    381 }
    382 
    383 void InspectorFrontend::didSetDOMStorageItem(long callId, bool success)
    384 {
    385     ScriptFunctionCall function(m_webInspector, "dispatch");
    386     function.appendArgument("didSetDOMStorageItem");
    387     function.appendArgument(callId);
    388     function.appendArgument(success);
    389     function.call();
    390 }
    391 
    392 void InspectorFrontend::didRemoveDOMStorageItem(long callId, bool success)
    393 {
    394     ScriptFunctionCall function(m_webInspector, "dispatch");
    395     function.appendArgument("didRemoveDOMStorageItem");
    396     function.appendArgument(callId);
    397     function.appendArgument(success);
    398     function.call();
    399 }
    400 
    401 void InspectorFrontend::updateDOMStorage(long storageId)
    402 {
    403     ScriptFunctionCall function(m_webInspector, "dispatch");
    404     function.appendArgument("updateDOMStorage");
    405     function.appendArgument(storageId);
    406     function.call();
    407 }
    408 #endif
    409 
    410355#if ENABLE(OFFLINE_WEB_APPLICATIONS)
    411356void InspectorFrontend::didGetApplicationCaches(long callId, const ScriptValue& applicationCaches)
  • trunk/WebCore/inspector/InspectorFrontend.h

    r64653 r64713  
    103103#endif
    104104
    105 #if ENABLE(DOM_STORAGE)
    106         bool addDOMStorage(const ScriptObject& domStorageObj);
    107         void selectDOMStorage(long storageId);
    108         void didGetDOMStorageEntries(long callId, const ScriptArray& entries);
    109         void didSetDOMStorageItem(long callId, bool success);
    110         void didRemoveDOMStorageItem(long callId, bool success);
    111         void updateDOMStorage(long storageId);
    112 #endif
    113 
    114105#if ENABLE(OFFLINE_WEB_APPLICATIONS)
    115106        void updateApplicationCacheStatus(int status);
Note: See TracChangeset for help on using the changeset viewer.