Unreviewed, rolling out r109825.
authorsenorblanco@chromium.org <senorblanco@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 6 Mar 2012 20:13:37 +0000 (20:13 +0000)
committersenorblanco@chromium.org <senorblanco@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 6 Mar 2012 20:13:37 +0000 (20:13 +0000)
http://trac.webkit.org/changeset/109825
https://bugs.webkit.org/show_bug.cgi?id=79413

Broke webkit_unit_tests on Chromium Win

Source/WebCore:

* Modules/indexeddb/IDBLevelDBBackingStore.cpp:
(WebCore::IDBLevelDBBackingStore::open):
* platform/leveldb/LevelDBDatabase.cpp:
(WebCore):
* platform/leveldb/LevelDBDatabase.h:
(LevelDBDatabase):

Source/WebKit/chromium:

* WebKit.gypi:
* tests/LevelDBTest.cpp: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@109946 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/Modules/indexeddb/IDBLevelDBBackingStore.cpp
Source/WebCore/platform/leveldb/LevelDBDatabase.cpp
Source/WebCore/platform/leveldb/LevelDBDatabase.h
Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/WebKit.gypi
Source/WebKit/chromium/tests/LevelDBTest.cpp [deleted file]

index 181045e..3552d28 100644 (file)
@@ -1,3 +1,18 @@
+2012-03-06  Stephen White  <senorblanco@chromium.org>
+
+        Unreviewed, rolling out r109825.
+        http://trac.webkit.org/changeset/109825
+        https://bugs.webkit.org/show_bug.cgi?id=79413
+
+        Broke webkit_unit_tests on Chromium Win
+
+        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
+        (WebCore::IDBLevelDBBackingStore::open):
+        * platform/leveldb/LevelDBDatabase.cpp:
+        (WebCore):
+        * platform/leveldb/LevelDBDatabase.h:
+        (LevelDBDatabase):
+
 2012-03-06  Beth Dakin  <bdakin@apple.com>
 
         https://bugs.webkit.org/show_bug.cgi?id=80351
index 4cccbe0..f423bb0 100644 (file)
@@ -150,22 +150,6 @@ PassRefPtr<IDBBackingStore> IDBLevelDBBackingStore::open(SecurityOrigin* securit
         String path = pathByAppendingComponent(pathBase, securityOrigin->databaseIdentifier() + ".indexeddb.leveldb");
 
         db = LevelDBDatabase::open(path, comparator.get());
-
-        if (!db) {
-            LOG_ERROR("IndexedDB backing store open failed, attempting cleanup");
-            bool success = LevelDBDatabase::destroy(path);
-            if (!success) {
-                LOG_ERROR("IndexedDB backing store cleanup failed");
-                return PassRefPtr<IDBBackingStore>();
-            }
-
-            LOG_ERROR("IndexedDB backing store cleanup succeeded, reopening");
-            db = LevelDBDatabase::open(path, comparator.get());
-            if (!db) {
-                LOG_ERROR("IndexedDB backing store reopen after recovery failed");
-                return PassRefPtr<IDBBackingStore>();
-            }
-        }
     }
 
     if (!db)
index 273afd4..41a1aef 100644 (file)
@@ -112,13 +112,6 @@ static leveldb::Status openDB(leveldb::Comparator* comparator, leveldb::Env* env
     return leveldb::DB::Open(options, path.utf8().data(), db);
 }
 
-bool LevelDBDatabase::destroy(const String& fileName)
-{
-    leveldb::Options options;
-    const leveldb::Status s = leveldb::DestroyDB(fileName.utf8().data(), options);
-    return s.ok();
-}
-
 PassOwnPtr<LevelDBDatabase> LevelDBDatabase::open(const String& fileName, const LevelDBComparator* comparator)
 {
     OwnPtr<ComparatorAdapter> comparatorAdapter = adoptPtr(new ComparatorAdapter(comparator));
index e80b49a..c6ce21c 100644 (file)
@@ -50,7 +50,6 @@ class LevelDBDatabase {
 public:
     static PassOwnPtr<LevelDBDatabase> open(const String& fileName, const LevelDBComparator*);
     static PassOwnPtr<LevelDBDatabase> openInMemory(const LevelDBComparator*);
-    static bool destroy(const String& fileName);
     ~LevelDBDatabase();
 
     bool put(const LevelDBSlice& key, const Vector<char>& value);
index b7cc08e..3301461 100644 (file)
@@ -1,3 +1,14 @@
+2012-03-06  Stephen White  <senorblanco@chromium.org>
+
+        Unreviewed, rolling out r109825.
+        http://trac.webkit.org/changeset/109825
+        https://bugs.webkit.org/show_bug.cgi?id=79413
+
+        Broke webkit_unit_tests on Chromium Win
+
+        * WebKit.gypi:
+        * tests/LevelDBTest.cpp: Removed.
+
 2012-03-06  Takashi Toyoshima  <toyoshim@chromium.org>
 
         [Chromium] [WebSocket] Add WebSocket extensions query WebKit API
index 74a7a2b..b527416 100644 (file)
             'tests/KURLTest.cpp',
             'tests/LayerChromiumTest.cpp',
             'tests/LayerTextureUpdaterTest.cpp',
-            'tests/LevelDBTest.cpp',
             'tests/LocalizedNumberICUTest.cpp',
             'tests/PaintAggregatorTest.cpp',
             'tests/PODArenaTest.cpp',
diff --git a/Source/WebKit/chromium/tests/LevelDBTest.cpp b/Source/WebKit/chromium/tests/LevelDBTest.cpp
deleted file mode 100644 (file)
index 4ead982..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (C) 2012 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1.  Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- * 2.  Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-
-#if USE(LEVELDB)
-
-#include "FileSystem.h"
-#include "LevelDBComparator.h"
-#include "LevelDBDatabase.h"
-#include "LevelDBSlice.h"
-#include <gtest/gtest.h>
-#include <webkit/support/webkit_support.h>
-#include <wtf/Vector.h>
-
-using namespace WebCore;
-
-namespace {
-
-class SimpleComparator : public LevelDBComparator {
-public:
-    virtual int compare(const LevelDBSlice& a, const LevelDBSlice& b) const OVERRIDE
-    {
-        size_t len = std::min(a.end() - a.begin(), b.end() - b.begin());
-        return memcmp(a.begin(), b.begin(), len);
-    }
-    virtual const char* name() const OVERRIDE { return "temp_comparator"; }
-};
-
-Vector<char> encodeString(const std::string& s)
-{
-    Vector<char> ret(s.size());
-    for (size_t i = 0; i < s.size(); ++i)
-        ret.append(s[i]);
-    return ret;
-}
-
-TEST(LevelDBDatabaseTest, CorruptionTest)
-{
-    OwnPtr<webkit_support::ScopedTempDirectory> tempDirectory = adoptPtr(webkit_support::CreateScopedTempDirectory());
-    tempDirectory->CreateUniqueTempDir();
-    const char* path = tempDirectory->path().c_str();
-
-    const Vector<char> key = encodeString("key");
-    const Vector<char> putValue = encodeString("value");
-    Vector<char> gotValue;
-    SimpleComparator comparator;
-
-    OwnPtr<LevelDBDatabase> leveldb = LevelDBDatabase::open(path, &comparator);
-    EXPECT_TRUE(leveldb);
-    bool success = leveldb->put(key, putValue);
-    EXPECT_TRUE(success);
-    leveldb.release();
-    EXPECT_FALSE(leveldb);
-
-    leveldb = LevelDBDatabase::open(path, &comparator);
-    EXPECT_TRUE(leveldb);
-    success = leveldb->get(key, gotValue);
-    EXPECT_TRUE(success);
-    EXPECT_EQ(putValue, gotValue);
-    leveldb.release();
-    EXPECT_FALSE(leveldb);
-
-    String filepath = pathByAppendingComponent(path, "CURRENT");
-    PlatformFileHandle handle = openFile(filepath, OpenForWrite);
-    truncateFile(handle, 0);
-    closeFile(handle);
-
-    leveldb = LevelDBDatabase::open(path, &comparator);
-    EXPECT_FALSE(leveldb);
-
-    bool destroyed = LevelDBDatabase::destroy(path);
-    EXPECT_TRUE(destroyed);
-
-    leveldb = LevelDBDatabase::open(path, &comparator);
-    EXPECT_TRUE(leveldb);
-    success = leveldb->get(key, gotValue);
-    EXPECT_FALSE(success);
-}
-
-} // namespace
-
-#endif // USE(LEVELDB)