[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.21-584-g1e41756

jorlow at chromium.org jorlow at chromium.org
Fri Feb 26 22:20:40 UTC 2010


The following commit has been merged in the webkit-1.1 branch:
commit 600187695333c1ae1217a2d21f2e33a3dfccec12
Author: jorlow at chromium.org <jorlow at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Feb 16 00:25:52 2010 +0000

    [Chromium] Fix StorageNamespaceProxy::copy() for test shell
    https://bugs.webkit.org/show_bug.cgi?id=34949
    
    Reviewed by Darin Fisher.
    
    Chromium passes back NULL when you call WebStorageNamespace::proxy()
    but TestShell returns a valid object.  Both need to work via
    the WebStorageNamespace.
    
    * src/StorageNamespaceProxy.cpp:
    (WebCore::StorageNamespaceProxy::copy):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@54803 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index 2ab92e1..4c27dde 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,17 @@
+2010-02-15  Jeremy Orlow  <jorlow at chromium.org>
+
+        Reviewed by Darin Fisher.
+
+        [Chromium] Fix StorageNamespaceProxy::copy() for test shell
+        https://bugs.webkit.org/show_bug.cgi?id=34949
+
+        Chromium passes back NULL when you call WebStorageNamespace::proxy()
+        but TestShell returns a valid object.  Both need to work via
+        the WebStorageNamespace.
+
+        * src/StorageNamespaceProxy.cpp:
+        (WebCore::StorageNamespaceProxy::copy):
+
 2010-02-14  Vangelis Kokkevis  <vangelis at chromium.org>
 
         Reviewed by Darin Fisher.
diff --git a/WebKit/chromium/src/StorageNamespaceProxy.cpp b/WebKit/chromium/src/StorageNamespaceProxy.cpp
index 1be1967..3c87554 100644
--- a/WebKit/chromium/src/StorageNamespaceProxy.cpp
+++ b/WebKit/chromium/src/StorageNamespaceProxy.cpp
@@ -67,13 +67,14 @@ StorageNamespaceProxy::~StorageNamespaceProxy()
 PassRefPtr<StorageNamespace> StorageNamespaceProxy::copy()
 {
     ASSERT(m_storageType == SessionStorage);
-    // The WebViewClient knows what its session storage namespace id is but we
-    // do not.  Returning 0 here causes it to be fetched (via the WebViewClient)
-    // on its next use.  Note that it is WebViewClient::createView's
-    // responsibility to clone the session storage namespace id and that the
-    // only time copy() is called is directly after the createView call...which
-    // is why all of this is safe.
-    return 0;
+    WebKit::WebStorageNamespace* newNamespace = m_storageNamespace->copy();
+    // Some embedders hook into WebViewClient::createView to make the copy of
+    // session storage and then return the object lazily.  Other embedders
+    // choose to make the copy now and return a pointer immediately.  So handle
+    // both cases.
+    if (!newNamespace)
+        return 0;
+    return adoptRef(new StorageNamespaceProxy(newNamespace, m_storageType));
 }
 
 PassRefPtr<StorageArea> StorageNamespaceProxy::storageArea(PassRefPtr<SecurityOrigin> origin)

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list