Skip to content
  • pfeldman@chromium.org's avatar
    Web Inspector: localStorage items are not updated when the storage changes · 29d0d813
    pfeldman@chromium.org authored
    https://bugs.webkit.org/show_bug.cgi?id=83012
    
    Patch by Vivek Galatage <vivekgalatage@gmail.com> on 2012-05-24
    Reviewed by Pavel Feldman.
    
    Source/WebCore:
    
    Renamed the inspector protocol UpdateDOMStorage to domStorageUpdated.
    Instrumented StorageEventDispatcher to send the update event to the
    front-end. Also removed the way DOM Storage Agent used to listen for
    the storage events. Added new test to verify the update notifications.
    
    Test: inspector/storage-panel-dom-storage-update.html
    
    * dom/EventListener.h:
    * inspector/Inspector.json:
    * inspector/InspectorDOMStorageAgent.cpp:
    (WebCore):
    (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
    (WebCore::InspectorDOMStorageAgent::storageId):
    (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
    (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
    * inspector/InspectorDOMStorageAgent.h:
    (InspectorDOMStorageAgent):
    * inspector/InspectorDOMStorageResource.cpp:
    (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
    (WebCore::InspectorDOMStorageResource::isSameHostAndType):
    (WebCore::InspectorDOMStorageResource::unbind):
    * inspector/InspectorDOMStorageResource.h:
    (WebCore):
    (InspectorDOMStorageResource):
    (WebCore::InspectorDOMStorageResource::create):
    (WebCore::InspectorDOMStorageResource::id):
    (WebCore::InspectorDOMStorageResource::storageArea):
    (WebCore::InspectorDOMStorageResource::frame):
    * inspector/InspectorInstrumentation.cpp:
    (WebCore::InspectorInstrumentation::didDispatchDOMStorageEventImpl):
    (WebCore):
    * inspector/InspectorInstrumentation.h:
    (InspectorInstrumentation):
    (WebCore::InspectorInstrumentation::didUseDOMStorage):
    (WebCore):
    (WebCore::InspectorInstrumentation::didDispatchDOMStorageEvent):
    * inspector/front-end/DOMStorage.js:
    (WebInspector.DOMStorageDispatcher.prototype.domStorageUpdated):
    * inspector/front-end/ResourcesPanel.js:
    (WebInspector.ResourcesPanel.prototype.domStorageUpdated):
    * storage/StorageEventDispatcher.cpp:
    (WebCore::StorageEventDispatcher::dispatch):
    
    Source/WebKit/chromium:
    
    Instrumented the DOM Storage Events in order to update the frontend.
    
    * src/StorageAreaProxy.cpp:
    (WebCore::StorageAreaProxy::dispatchLocalStorageEvent):
    (WebCore::StorageAreaProxy::dispatchSessionStorageEvent):
    
    LayoutTests:
    
    Test to verify the storage list is updated in the inspector frontend
    whenever there is any modifications to dom storage.
    
    * inspector/storage-panel-dom-storage-update-expected.txt: Added.
    * inspector/storage-panel-dom-storage-update.html: Added.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118349 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    29d0d813