Changeset 88921 in webkit


Ignore:
Timestamp:
Jun 15, 2011 6:17:18 AM (13 years ago)
Author:
hans@chromium.org
Message:

2011-06-14 Hans Wennborg <hans@chromium.org>

Reviewed by Tony Gentilcore.

IndexedDB: LevelDB doesn't do incognito mode; fall back to SQLite.
https://bugs.webkit.org/show_bug.cgi?id=62633

LevelDB does not support in-memory databases. Fall back to SQLite
for incognito mode browsing. This will be tested by browser_tests
in Chromium.

  • src/WebIDBFactoryImpl.cpp: (WebKit::WebIDBFactoryImpl::open):
Location:
trunk/Source/WebKit/chromium
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/chromium/ChangeLog

    r88914 r88921  
     12011-06-14  Hans Wennborg  <hans@chromium.org>
     2
     3        Reviewed by Tony Gentilcore.
     4
     5        IndexedDB: LevelDB doesn't do incognito mode; fall back to SQLite.
     6        https://bugs.webkit.org/show_bug.cgi?id=62633
     7
     8        LevelDB does not support in-memory databases. Fall back to SQLite
     9        for incognito mode browsing. This will be tested by browser_tests
     10        in Chromium.
     11
     12        * src/WebIDBFactoryImpl.cpp:
     13        (WebKit::WebIDBFactoryImpl::open):
     14
    1152011-06-10  Yury Semikhatsky  <yurys@chromium.org>
    216
  • trunk/Source/WebKit/chromium/src/WebIDBFactoryImpl.cpp

    r88358 r88921  
    7676    WebString path = dataDir;
    7777    if (overriddenBackingStoreType != DefaultBackingStore) {
     78        // Backing store type overridden by LayoutTestController.
    7879        backingStoreType = overriddenBackingStoreType;
    7980
    80         // The dataDir is empty for two reasons: LevelDB in icognito mode or
    81         // LevelDB from DumpRenderTree. The first case is taken care of inside
    82         // IDBFactoryBackendImpl.cpp by forcing SQLITE backend for incognito.
    83         // For the DumpRenderTree case we need to keep track of the location
    84         // so we can wipe it out when we're done with the test.
    85         if (dataDir.isEmpty() && backingStoreType == LevelDBBackingStore)
     81        // dataDir is empty for layout tests.
     82        ASSERT(dataDir.isEmpty());
     83
     84        if (backingStoreType == LevelDBBackingStore) {
     85            // LevelDB doesn't support in-memory databases, so use a temporary folder.
    8686            path = tempDatabaseFolder;
     87        }
     88    } else if (dataDir.isEmpty() && backingStoreType == LevelDBBackingStore) {
     89        // Fall back to SQLite for incognito mode.
     90        backingStoreType = SQLiteBackingStore;
    8791    }
     92
    8893    m_idbFactoryBackend->open(name, IDBCallbacksProxy::create(adoptPtr(callbacks)), origin, 0, path, maximumSize, static_cast<IDBFactoryBackendInterface::BackingStoreType>(backingStoreType));
    8994}
Note: See TracChangeset for help on using the changeset viewer.