- Revision
- 110500
- Author
- [email protected]
- Date
- 2012-03-12 16:34:24 -0700 (Mon, 12 Mar 2012)
Log Message
https://bugs.webkit.org/show_bug.cgi?id=80903 InspectorDOMStorageAgent creates a Storage object which is a DOMWindowProperty - Should use the StorageArea directly
Reviewed by Tim Hatcher.
No new tests. (No behavior change)
Changed to hold the StorageArea directly and added a Frame* accessor:
* inspector/InspectorDOMStorageResource.h:
(WebCore::InspectorDOMStorageResource::create):
(WebCore::InspectorDOMStorageResource::storageArea):
(WebCore::InspectorDOMStorageResource::frame):
(InspectorDOMStorageResource):
* inspector/InspectorDOMStorageResource.cpp:
(WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
(WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (110499 => 110500)
--- trunk/Source/WebCore/ChangeLog 2012-03-12 23:23:56 UTC (rev 110499)
+++ trunk/Source/WebCore/ChangeLog 2012-03-12 23:34:24 UTC (rev 110500)
@@ -1,3 +1,28 @@
+2012-03-12 Brady Eidson <[email protected]>
+
+ https://bugs.webkit.org/show_bug.cgi?id=80903
+ InspectorDOMStorageAgent creates a Storage object which is a DOMWindowProperty - Should use the StorageArea directly
+
+ Reviewed by Tim Hatcher.
+
+ No new tests. (No behavior change)
+
+ Changed to hold the StorageArea directly and added a Frame* accessor:
+ * inspector/InspectorDOMStorageResource.h:
+ (WebCore::InspectorDOMStorageResource::create):
+ (WebCore::InspectorDOMStorageResource::storageArea):
+ (WebCore::InspectorDOMStorageResource::frame):
+ (InspectorDOMStorageResource):
+
+ * inspector/InspectorDOMStorageResource.cpp:
+ (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
+
+ * inspector/InspectorDOMStorageAgent.cpp:
+ (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
+ (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
+ (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
+ (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
+
2012-03-12 Brian Salomon <[email protected]>
[Skia] Release CGImage used to apply color space conversion to SkBitmap
Modified: trunk/Source/WebCore/inspector/InspectorDOMStorageAgent.cpp (110499 => 110500)
--- trunk/Source/WebCore/inspector/InspectorDOMStorageAgent.cpp 2012-03-12 23:23:56 UTC (rev 110499)
+++ trunk/Source/WebCore/inspector/InspectorDOMStorageAgent.cpp 2012-03-12 23:34:24 UTC (rev 110500)
@@ -111,17 +111,21 @@
void InspectorDOMStorageAgent::getDOMStorageEntries(ErrorString*, int storageId, RefPtr<InspectorArray>& entries)
{
InspectorDOMStorageResource* storageResource = getDOMStorageResourceForId(storageId);
- if (storageResource) {
- storageResource->startReportingChangesToFrontend();
- Storage* domStorage = storageResource->domStorage();
- for (unsigned i = 0; i < domStorage->length(); ++i) {
- String name(domStorage->key(i));
- String value(domStorage->getItem(name));
- RefPtr<InspectorArray> entry = InspectorArray::create();
- entry->pushString(name);
- entry->pushString(value);
- entries->pushArray(entry);
- }
+ if (!storageResource)
+ return;
+ Frame* frame = storageResource->frame();
+ if (!frame)
+ return;
+
+ storageResource->startReportingChangesToFrontend();
+ StorageArea* storageArea = storageResource->storageArea();
+ for (unsigned i = 0; i < storageArea->length(frame); ++i) {
+ String name(storageArea->key(i, frame));
+ String value(storageArea->getItem(name, frame));
+ RefPtr<InspectorArray> entry = InspectorArray::create();
+ entry->pushString(name);
+ entry->pushString(value);
+ entries->pushArray(entry);
}
}
@@ -130,7 +134,7 @@
InspectorDOMStorageResource* storageResource = getDOMStorageResourceForId(storageId);
if (storageResource) {
ExceptionCode exception = 0;
- storageResource->domStorage()->setItem(key, value, exception);
+ storageResource->storageArea()->setItem(key, value, exception, storageResource->frame());
*success = !exception;
}
}
@@ -139,7 +143,7 @@
{
InspectorDOMStorageResource* storageResource = getDOMStorageResourceForId(storageId);
if (storageResource) {
- storageResource->domStorage()->removeItem(key);
+ storageResource->storageArea()->removeItem(key, storageResource->frame());
*success = true;
}
}
@@ -174,8 +178,7 @@
return;
}
- RefPtr<Storage> domStorage = Storage::create(frame, storageArea);
- RefPtr<InspectorDOMStorageResource> resource = InspectorDOMStorageResource::create(domStorage.get(), isLocalStorage, frame);
+ RefPtr<InspectorDOMStorageResource> resource = InspectorDOMStorageResource::create(storageArea, isLocalStorage, frame);
m_resources.set(resource->id(), resource);
Modified: trunk/Source/WebCore/inspector/InspectorDOMStorageResource.cpp (110499 => 110500)
--- trunk/Source/WebCore/inspector/InspectorDOMStorageResource.cpp 2012-03-12 23:23:56 UTC (rev 110499)
+++ trunk/Source/WebCore/inspector/InspectorDOMStorageResource.cpp 2012-03-12 23:34:24 UTC (rev 110500)
@@ -42,6 +42,7 @@
#include "InspectorValues.h"
#include "SecurityOrigin.h"
#include "Storage.h"
+#include "StorageArea.h"
#include "StorageEvent.h"
using namespace JSC;
@@ -50,9 +51,9 @@
int InspectorDOMStorageResource::s_nextUnusedId = 1;
-InspectorDOMStorageResource::InspectorDOMStorageResource(Storage* domStorage, bool isLocalStorage, Frame* frame)
+InspectorDOMStorageResource::InspectorDOMStorageResource(StorageArea* storageArea, bool isLocalStorage, Frame* frame)
: EventListener(InspectorDOMStorageResourceType)
- , m_domStorage(domStorage)
+ , m_storageArea(storageArea)
, m_isLocalStorage(isLocalStorage)
, m_frame(frame)
, m_frontend(0)
Modified: trunk/Source/WebCore/inspector/InspectorDOMStorageResource.h (110499 => 110500)
--- trunk/Source/WebCore/inspector/InspectorDOMStorageResource.h 2012-03-12 23:23:56 UTC (rev 110499)
+++ trunk/Source/WebCore/inspector/InspectorDOMStorageResource.h 2012-03-12 23:34:24 UTC (rev 110500)
@@ -40,15 +40,15 @@
namespace WebCore {
- class Storage;
+ class StorageArea;
class Frame;
class InspectorFrontend;
class InspectorDOMStorageResource : public EventListener {
public:
- static PassRefPtr<InspectorDOMStorageResource> create(Storage* domStorage, bool isLocalStorage, Frame* frame)
+ static PassRefPtr<InspectorDOMStorageResource> create(StorageArea* storageArea, bool isLocalStorage, Frame* frame)
{
- return adoptRef(new InspectorDOMStorageResource(domStorage, isLocalStorage, frame));
+ return adoptRef(new InspectorDOMStorageResource(storageArea, isLocalStorage, frame));
}
static const InspectorDOMStorageResource* cast(const EventListener* listener)
@@ -65,13 +65,14 @@
bool isSameHostAndType(Frame*, bool isLocalStorage) const;
int id() const { return m_id; }
- Storage* domStorage() const { return m_domStorage.get(); }
+ StorageArea* storageArea() const { return m_storageArea.get(); }
+ Frame* frame() const { return m_frame.get(); }
private:
- InspectorDOMStorageResource(Storage*, bool isLocalStorage, Frame*);
+ InspectorDOMStorageResource(StorageArea*, bool isLocalStorage, Frame*);
- RefPtr<Storage> m_domStorage;
+ RefPtr<StorageArea> m_storageArea;
bool m_isLocalStorage;
RefPtr<Frame> m_frame;
InspectorFrontend::DOMStorage* m_frontend;