Changeset 143277 in webkit


Ignore:
Timestamp:
Feb 18, 2013 5:22:48 PM (11 years ago)
Author:
andersca@apple.com
Message:

Begin stubbing out session storage classes
https://bugs.webkit.org/show_bug.cgi?id=110168

Reviewed by Andreas Kling.

  • UIProcess/Storage/StorageManager.cpp:

(StorageManager::StorageArea):
(WebKit):
(WebKit::StorageManager::StorageArea::create):
(WebKit::StorageManager::StorageArea::StorageArea):
(WebKit::StorageManager::StorageArea::~StorageArea):
(StorageManager::SessionStorageNamespace):
(WebKit::StorageManager::SessionStorageNamespace::isEmpty):
(WebKit::StorageManager::SessionStorageNamespace::create):
(WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
(WebKit::StorageManager::SessionStorageNamespace::~SessionStorageNamespace):
(WebKit::StorageManager::SessionStorageNamespace::cloneTo):
(WebKit::StorageManager::createSessionStorageNamespaceInternal):
(WebKit::StorageManager::destroySessionStorageNamespaceInternal):
(WebKit::StorageManager::cloneSessionStorageNamespaceInternal):

  • UIProcess/Storage/StorageManager.h:

(StorageManager):

Location:
trunk/Source/WebKit2
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r143275 r143277  
     12013-02-18  Anders Carlsson  <andersca@apple.com>
     2
     3        Begin stubbing out session storage classes
     4        https://bugs.webkit.org/show_bug.cgi?id=110168
     5
     6        Reviewed by Andreas Kling.
     7
     8        * UIProcess/Storage/StorageManager.cpp:
     9        (StorageManager::StorageArea):
     10        (WebKit):
     11        (WebKit::StorageManager::StorageArea::create):
     12        (WebKit::StorageManager::StorageArea::StorageArea):
     13        (WebKit::StorageManager::StorageArea::~StorageArea):
     14        (StorageManager::SessionStorageNamespace):
     15        (WebKit::StorageManager::SessionStorageNamespace::isEmpty):
     16        (WebKit::StorageManager::SessionStorageNamespace::create):
     17        (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
     18        (WebKit::StorageManager::SessionStorageNamespace::~SessionStorageNamespace):
     19        (WebKit::StorageManager::SessionStorageNamespace::cloneTo):
     20        (WebKit::StorageManager::createSessionStorageNamespaceInternal):
     21        (WebKit::StorageManager::destroySessionStorageNamespaceInternal):
     22        (WebKit::StorageManager::cloneSessionStorageNamespaceInternal):
     23        * UIProcess/Storage/StorageManager.h:
     24        (StorageManager):
     25
    1262013-02-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
    227
  • trunk/Source/WebKit2/UIProcess/Storage/StorageManager.cpp

    r143273 r143277  
    3030#include "WebProcessProxy.h"
    3131#include "WorkQueue.h"
     32#include <WebCore/SecurityOriginHash.h>
     33
     34using namespace WebCore;
    3235
    3336namespace WebKit {
     37
     38class StorageManager::StorageArea : public ThreadSafeRefCounted<StorageManager::StorageArea> {
     39public:
     40    static PassRefPtr<StorageArea> create();
     41    ~StorageArea();
     42
     43private:
     44    StorageArea();
     45};
     46
     47PassRefPtr<StorageManager::StorageArea> StorageManager::StorageArea::create()
     48{
     49    return adoptRef(new StorageArea());
     50}
     51
     52StorageManager::StorageArea::StorageArea()
     53{
     54}
     55
     56StorageManager::StorageArea::~StorageArea()
     57{
     58}
     59
     60class StorageManager::SessionStorageNamespace : public ThreadSafeRefCounted<SessionStorageNamespace> {
     61public:
     62    static PassRefPtr<SessionStorageNamespace> create();
     63    ~SessionStorageNamespace();
     64
     65    bool isEmpty() const { return m_storageAreaMap.isEmpty(); }
     66
     67    void cloneTo(SessionStorageNamespace& newSessionStorageNamespace);
     68
     69private:
     70    SessionStorageNamespace();
     71
     72    HashMap<RefPtr<SecurityOrigin>, RefPtr<StorageArea>, SecurityOriginHash> m_storageAreaMap;
     73};
     74
     75PassRefPtr<StorageManager::SessionStorageNamespace> StorageManager::SessionStorageNamespace::create()
     76{
     77    return adoptRef(new SessionStorageNamespace());
     78}
     79
     80StorageManager::SessionStorageNamespace::SessionStorageNamespace()
     81{
     82}
     83
     84StorageManager::SessionStorageNamespace::~SessionStorageNamespace()
     85{
     86}
     87
     88void StorageManager::SessionStorageNamespace::cloneTo(SessionStorageNamespace& newSessionStorageNamespace)
     89{
     90    ASSERT(newSessionStorageNamespace.isEmpty());
     91
     92    // FIXME: Implement.
     93}
    3494
    3595PassRefPtr<StorageManager> StorageManager::create()
     
    89149void StorageManager::createSessionStorageNamespaceInternal(uint64_t storageNamespaceID)
    90150{
    91     // FIXME: Implement.
     151    ASSERT(!m_sessionStorageNamespaces.contains(storageNamespaceID));
     152
     153    m_sessionStorageNamespaces.set(storageNamespaceID, SessionStorageNamespace::create());
    92154}
    93155
    94156void StorageManager::destroySessionStorageNamespaceInternal(uint64_t storageNamespaceID)
    95157{
    96     // FIXME: Implement.
     158    ASSERT(m_sessionStorageNamespaces.contains(storageNamespaceID));
     159
     160    m_sessionStorageNamespaces.remove(storageNamespaceID);
    97161}
    98162
    99163void StorageManager::cloneSessionStorageNamespaceInternal(uint64_t storageNamespaceID, uint64_t newStorageNamespaceID)
    100164{
    101     // FIXME: Implement.
     165    SessionStorageNamespace* sessionStorageNamespace = m_sessionStorageNamespaces.get(storageNamespaceID).get();
     166    ASSERT(sessionStorageNamespace);
     167
     168    SessionStorageNamespace* newSessionStorageNamespace = m_sessionStorageNamespaces.get(newStorageNamespaceID).get();
     169    ASSERT(newSessionStorageNamespace);
     170
     171    sessionStorageNamespace->cloneTo(*newSessionStorageNamespace);
    102172}
    103173
  • trunk/Source/WebKit2/UIProcess/Storage/StorageManager.h

    r143273 r143277  
    6868
    6969    RefPtr<WorkQueue> m_queue;
     70
     71    class SessionStorageNamespace;
     72    HashMap<uint64_t, RefPtr<SessionStorageNamespace> > m_sessionStorageNamespaces;
     73
     74    class StorageArea;
    7075};
    7176
Note: See TracChangeset for help on using the changeset viewer.