2009-08-03 Jeremy Orlow <jorlow@chromium.org>
authorjorlow@chromium.org <jorlow@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 4 Aug 2009 01:08:54 +0000 (01:08 +0000)
committerjorlow@chromium.org <jorlow@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 4 Aug 2009 01:08:54 +0000 (01:08 +0000)
commit325e48fd2cbe20176f47f163b3ad649e0ec38a72
treebc5613244b854bee8c163fd201cf723ce7ef1ea4
parenta9bd23ae94c1c11bd420f2c8db3e9cdfa8554d6b
2009-08-03  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

        Chromium code sometimes isn't sandboxed and needs to access the FS.
        https://bugs.webkit.org/show_bug.cgi?id=27954

        These changes are the WebKit side of http://codereview.chromium.org/159778 which
        aims to make LocalStorage persistent.

        This change runs all FileSystem routines through the ChromiumBridge so that
        WebKitClients can handle them if they choose to.  For now, the only such client
        will be the one running in the browser process.

        It also adds a method called sandboxEnabled to the Chromium bridge so that the
        SQLite file system code can shift its behavior depending on whether we're
        inside a sandbox or not.

        * platform/chromium/ChromiumBridge.h:
        * platform/chromium/FileSystemChromium.cpp:
        (WebCore::deleteFile):
        (WebCore::deleteEmptyDirectory):
        (WebCore::getFileModificationTime):
        (WebCore::directoryName):
        (WebCore::pathByAppendingComponent):
        (WebCore::makeAllDirectories):
        (WebCore::fileExists):
        * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
        (WebCore::SQLiteFileSystem::openDatabase):
        * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
        (WebCore::SQLiteFileSystem::registerSQLiteVFS):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@46741 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore/ChangeLog
WebCore/platform/chromium/ChromiumBridge.h
WebCore/platform/chromium/FileSystemChromium.cpp
WebCore/platform/sql/chromium/SQLiteFileSystemChromium.cpp
WebCore/platform/sql/chromium/SQLiteFileSystemChromiumLinux.cpp
WebCore/platform/sql/chromium/SQLiteFileSystemChromiumMac.cpp
WebCore/platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp