diff options
author | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-02 20:08:18 +0000 |
---|---|---|
committer | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-02 20:08:18 +0000 |
commit | fcc35653955e36b6a6d9cab579ba548e44d0fce1 (patch) | |
tree | c7f08a2aa850c40ade93e47f8ed690c719505e65 /webkit/fileapi/file_system_usage_cache.cc | |
parent | 834f9def130038aeb8ff8fbf3d55c37a31ec319e (diff) | |
download | chromium_src-fcc35653955e36b6a6d9cab579ba548e44d0fce1.zip chromium_src-fcc35653955e36b6a6d9cab579ba548e44d0fce1.tar.gz chromium_src-fcc35653955e36b6a6d9cab579ba548e44d0fce1.tar.bz2 |
Revert 76578 (accidental commit by the commit bot) - Add a function for usage tracking. It's based on the bug 6426001.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6453001
TBR=dmikurube@google.com
Review URL: http://codereview.chromium.org/6588129
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76594 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/fileapi/file_system_usage_cache.cc')
-rw-r--r-- | webkit/fileapi/file_system_usage_cache.cc | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/webkit/fileapi/file_system_usage_cache.cc b/webkit/fileapi/file_system_usage_cache.cc deleted file mode 100644 index 05fbea6..0000000 --- a/webkit/fileapi/file_system_usage_cache.cc +++ /dev/null @@ -1,120 +0,0 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "webkit/fileapi/file_system_usage_cache.h" - -#include "base/file_path.h" -#include "base/file_util.h" -#include "base/pickle.h" - -namespace fileapi { - -const char FileSystemUsageCache::kUsageFileName[] = ".usage"; -const char FileSystemUsageCache::kUsageFileHeader[] = "FSU0"; -const int FileSystemUsageCache::kUsageFileHeaderSize = 4; -const int FileSystemUsageCache::kUsageFileSize = - sizeof(Pickle::Header) + - FileSystemUsageCache::kUsageFileHeaderSize + - sizeof(int32) + sizeof(int64); - -// static -int64 FileSystemUsageCache::GetUsage(const FilePath& usage_file_path) { - uint32 dirty = 0; - int64 fs_usage; - fs_usage = Read(usage_file_path, &dirty); - - if (fs_usage < 0 || dirty > 0) - return -1; - - return fs_usage; -} - -// static -bool FileSystemUsageCache::IncrementDirty(const FilePath& usage_file_path) { - uint32 dirty = 0; - int64 fs_usage; - fs_usage = Read(usage_file_path, &dirty); - - if (fs_usage < 0) - return false; - - return Write(usage_file_path, dirty + 1, fs_usage) >= 0; -} - -// static -bool FileSystemUsageCache::DecrementDirty(const FilePath& usage_file_path) { - uint32 dirty = 0; - int64 fs_usage; - fs_usage = Read(usage_file_path, &dirty); - - if (fs_usage < 0 || dirty <= 0) - return false; - - return Write(usage_file_path, dirty - 1, fs_usage) >= 0; -} - -// static -int FileSystemUsageCache::UpdateUsage(const FilePath& usage_file_path, - int64 fs_usage) { - return Write(usage_file_path, 0, fs_usage); -} - -// static -bool FileSystemUsageCache::Exists(const FilePath& usage_file_path) { - return file_util::PathExists(usage_file_path); -} - -// static -bool FileSystemUsageCache::Delete(const FilePath& usage_file_path) { - return file_util::Delete(usage_file_path, true); -} - -// static -int64 FileSystemUsageCache::Read(const FilePath& usage_file_path, - uint32* dirty) { - char buffer[kUsageFileSize]; - const char *header; - file_util::ReadFile(usage_file_path, buffer, kUsageFileSize); - Pickle read_pickle(buffer, kUsageFileSize); - void* iter = NULL; - int64 fs_usage; - - if (!read_pickle.ReadBytes(&iter, &header, kUsageFileHeaderSize) || - !read_pickle.ReadUInt32(&iter, dirty) || - !read_pickle.ReadInt64(&iter, &fs_usage)) - return -1; - - if (header[0] != kUsageFileHeader[0] || - header[1] != kUsageFileHeader[1] || - header[2] != kUsageFileHeader[2] || - header[3] != kUsageFileHeader[3]) - return -1; - - return fs_usage; -} - -// static -int FileSystemUsageCache::Write(const FilePath& usage_file_path, - uint32 dirty, int64 fs_usage) { - Pickle write_pickle; - write_pickle.WriteBytes(kUsageFileHeader, kUsageFileHeaderSize); - write_pickle.WriteUInt32(dirty); - write_pickle.WriteInt64(fs_usage); - - FilePath temporary_usage_file_path; - file_util::CreateTemporaryFileInDir(usage_file_path.DirName(), - &temporary_usage_file_path); - int bytes_written = file_util::WriteFile(temporary_usage_file_path, - (const char *)write_pickle.data(), - write_pickle.size()); - if (bytes_written != kUsageFileSize) - return -1; - - if (file_util::ReplaceFile(temporary_usage_file_path, usage_file_path)) - return bytes_written; - else - return -1; -} - -} |