[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373
jorlow at chromium.org
jorlow at chromium.org
Wed Apr 7 23:24:23 UTC 2010
The following commit has been merged in the webkit-1.2 branch:
commit f401774cc3947630387602c0efb9093865a6ebb0
Author: jorlow at chromium.org <jorlow at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Nov 5 23:25:47 2009 +0000
2009-11-05 Jeremy Orlow <jorlow at chromium.org>
Reviewed by Dimitri Glazkov.
REGRESSION Clean up security origin usage in DOM Storage.
https://bugs.webkit.org/show_bug.cgi?id=31188
Clean up security origin usage in DOM Storage. This fixes a bug in my
refactoring here: https://bugs.webkit.org/show_bug.cgi?id=31149
Instead of having StorageAreaSync's constructor (which is called in the
constructor for StorageAreaImpl) calling a method on StoargeAreaImpl to get the
database identifier, simply have StorageAreaImpl pass the identifier into
StorageAreaSync.
No test because there's no change in externally observable behavior.
* storage/StorageAreaImpl.cpp:
(WebCore::StorageAreaImpl::StorageAreaImpl):
* storage/StorageAreaImpl.h:
* storage/StorageAreaSync.cpp:
(WebCore::StorageAreaSync::create):
(WebCore::StorageAreaSync::StorageAreaSync):
* storage/StorageAreaSync.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50581 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 9c1c23d..44405ec 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,28 @@
+2009-11-05 Jeremy Orlow <jorlow at chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ REGRESSION Clean up security origin usage in DOM Storage.
+ https://bugs.webkit.org/show_bug.cgi?id=31188
+
+ Clean up security origin usage in DOM Storage. This fixes a bug in my
+ refactoring here: https://bugs.webkit.org/show_bug.cgi?id=31149
+
+ Instead of having StorageAreaSync's constructor (which is called in the
+ constructor for StorageAreaImpl) calling a method on StoargeAreaImpl to get the
+ database identifier, simply have StorageAreaImpl pass the identifier into
+ StorageAreaSync.
+
+ No test because there's no change in externally observable behavior.
+
+ * storage/StorageAreaImpl.cpp:
+ (WebCore::StorageAreaImpl::StorageAreaImpl):
+ * storage/StorageAreaImpl.h:
+ * storage/StorageAreaSync.cpp:
+ (WebCore::StorageAreaSync::create):
+ (WebCore::StorageAreaSync::StorageAreaSync):
+ * storage/StorageAreaSync.h:
+
2009-11-05 Scott Violet <sky at google.com>
Reviewed by Dimitri Glazkov.
diff --git a/WebCore/storage/StorageAreaImpl.cpp b/WebCore/storage/StorageAreaImpl.cpp
index 938bce9..8c2a29c 100644
--- a/WebCore/storage/StorageAreaImpl.cpp
+++ b/WebCore/storage/StorageAreaImpl.cpp
@@ -65,7 +65,7 @@ StorageAreaImpl::StorageAreaImpl(StorageType storageType, PassRefPtr<SecurityOri
// FIXME: If there's no backing storage for LocalStorage, the default WebKit behavior should be that of private browsing,
// not silently ignoring it. https://bugs.webkit.org/show_bug.cgi?id=25894
if (m_storageSyncManager) {
- m_storageAreaSync = StorageAreaSync::create(m_storageSyncManager, this);
+ m_storageAreaSync = StorageAreaSync::create(m_storageSyncManager, this, m_securityOrigin->databaseIdentifier());
ASSERT(m_storageAreaSync);
}
}
@@ -212,11 +212,6 @@ void StorageAreaImpl::importItem(const String& key, const String& value)
m_storageMap->importItem(key, value);
}
-SecurityOrigin* StorageAreaImpl::securityOrigin()
-{
- return m_securityOrigin.get();
-}
-
void StorageAreaImpl::close()
{
if (m_storageAreaSync)
diff --git a/WebCore/storage/StorageAreaImpl.h b/WebCore/storage/StorageAreaImpl.h
index fe21a45..0b2d34d 100644
--- a/WebCore/storage/StorageAreaImpl.h
+++ b/WebCore/storage/StorageAreaImpl.h
@@ -56,9 +56,8 @@ namespace WebCore {
PassRefPtr<StorageAreaImpl> copy();
void close();
- // Could be called from a background thread.
+ // Only called from a background thread.
void importItem(const String& key, const String& value);
- SecurityOrigin* securityOrigin();
private:
StorageAreaImpl(StorageType, PassRefPtr<SecurityOrigin>, PassRefPtr<StorageSyncManager>, unsigned quota);
diff --git a/WebCore/storage/StorageAreaSync.cpp b/WebCore/storage/StorageAreaSync.cpp
index 33cf484..d4eba76 100644
--- a/WebCore/storage/StorageAreaSync.cpp
+++ b/WebCore/storage/StorageAreaSync.cpp
@@ -43,18 +43,18 @@ namespace WebCore {
// Instead, queue up a batch of items to sync and actually do the sync at the following interval.
static const double StorageSyncInterval = 1.0;
-PassRefPtr<StorageAreaSync> StorageAreaSync::create(PassRefPtr<StorageSyncManager> storageSyncManager, PassRefPtr<StorageAreaImpl> storageArea)
+PassRefPtr<StorageAreaSync> StorageAreaSync::create(PassRefPtr<StorageSyncManager> storageSyncManager, PassRefPtr<StorageAreaImpl> storageArea, String databaseIdentifier)
{
- return adoptRef(new StorageAreaSync(storageSyncManager, storageArea));
+ return adoptRef(new StorageAreaSync(storageSyncManager, storageArea, databaseIdentifier));
}
-StorageAreaSync::StorageAreaSync(PassRefPtr<StorageSyncManager> storageSyncManager, PassRefPtr<StorageAreaImpl> storageArea)
+StorageAreaSync::StorageAreaSync(PassRefPtr<StorageSyncManager> storageSyncManager, PassRefPtr<StorageAreaImpl> storageArea, String databaseIdentifier)
: m_syncTimer(this, &StorageAreaSync::syncTimerFired)
, m_itemsCleared(false)
, m_finalSyncScheduled(false)
, m_storageArea(storageArea)
, m_syncManager(storageSyncManager)
- , m_databaseIdentifier(storageArea->securityOrigin()->databaseIdentifier().crossThreadString())
+ , m_databaseIdentifier(databaseIdentifier.crossThreadString())
, m_clearItemsWhileSyncing(false)
, m_syncScheduled(false)
, m_importComplete(false)
diff --git a/WebCore/storage/StorageAreaSync.h b/WebCore/storage/StorageAreaSync.h
index 62ee871..9afdfde 100644
--- a/WebCore/storage/StorageAreaSync.h
+++ b/WebCore/storage/StorageAreaSync.h
@@ -42,7 +42,7 @@ namespace WebCore {
class StorageAreaSync : public RefCounted<StorageAreaSync> {
public:
- static PassRefPtr<StorageAreaSync> create(PassRefPtr<StorageSyncManager> storageSyncManager, PassRefPtr<StorageAreaImpl> storageArea);
+ static PassRefPtr<StorageAreaSync> create(PassRefPtr<StorageSyncManager> storageSyncManager, PassRefPtr<StorageAreaImpl> storageArea, String databaseIdentifier);
~StorageAreaSync();
void scheduleFinalSync();
@@ -52,7 +52,7 @@ namespace WebCore {
void scheduleClear();
private:
- StorageAreaSync(PassRefPtr<StorageSyncManager> storageSyncManager, PassRefPtr<StorageAreaImpl> storageArea);
+ StorageAreaSync(PassRefPtr<StorageSyncManager> storageSyncManager, PassRefPtr<StorageAreaImpl> storageArea, String databaseIdentifier);
void dispatchStorageEvent(const String& key, const String& oldValue, const String& newValue, Frame* sourceFrame);
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list