Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(934)

Side by Side Diff: chrome/browser/chromeos/drive/drive_cache.cc

Issue 13772005: chromeos: Stop directly downloading files to the cache directory from DriveFileSystem::GetResolvedF… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add DCHECK Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/chromeos/drive/drive_file_system.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/drive/drive_cache.h" 5 #include "chrome/browser/chromeos/drive/drive_cache.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 563 matching lines...) Expand 10 before | Expand all | Expand 10 after
574 return result.Pass(); 574 return result.Pass();
575 } 575 }
576 576
577 DriveFileError DriveCache::StoreOnBlockingPool( 577 DriveFileError DriveCache::StoreOnBlockingPool(
578 const std::string& resource_id, 578 const std::string& resource_id,
579 const std::string& md5, 579 const std::string& md5,
580 const base::FilePath& source_path, 580 const base::FilePath& source_path,
581 FileOperationType file_operation_type) { 581 FileOperationType file_operation_type) {
582 AssertOnSequencedWorkerPool(); 582 AssertOnSequencedWorkerPool();
583 583
584 int64 file_size = 0;
584 if (file_operation_type == FILE_OPERATION_COPY) { 585 if (file_operation_type == FILE_OPERATION_COPY) {
585 int64 file_size;
586 if (!file_util::GetFileSize(source_path, &file_size)) { 586 if (!file_util::GetFileSize(source_path, &file_size)) {
587 LOG(WARNING) << "Couldn't get file size for: " << source_path.value(); 587 LOG(WARNING) << "Couldn't get file size for: " << source_path.value();
588 return DRIVE_FILE_ERROR_FAILED; 588 return DRIVE_FILE_ERROR_FAILED;
589 } 589 }
590
591 const bool enough_space = FreeDiskSpaceOnBlockingPoolIfNeededFor(file_size);
592 if (!enough_space)
593 return DRIVE_FILE_ERROR_NO_SPACE;
594 } 590 }
591 if (!FreeDiskSpaceOnBlockingPoolIfNeededFor(file_size))
592 return DRIVE_FILE_ERROR_NO_SPACE;
595 593
596 base::FilePath symlink_path; 594 base::FilePath symlink_path;
597 CacheSubDirectoryType sub_dir_type = CACHE_TYPE_TMP; 595 CacheSubDirectoryType sub_dir_type = CACHE_TYPE_TMP;
598 596
599 // If file was previously pinned, store it in persistent dir. 597 // If file was previously pinned, store it in persistent dir.
600 DriveCacheEntry cache_entry; 598 DriveCacheEntry cache_entry;
601 if (GetCacheEntryOnBlockingPool(resource_id, md5, &cache_entry)) { 599 if (GetCacheEntryOnBlockingPool(resource_id, md5, &cache_entry)) {
602 // File exists in cache. 600 // File exists in cache.
603 // If file is dirty or mounted, return error. 601 // If file is dirty or mounted, return error.
604 if (cache_entry.is_dirty() || cache_entry.is_mounted()) { 602 if (cache_entry.is_dirty() || cache_entry.is_mounted()) {
(...skipping 597 matching lines...) Expand 10 before | Expand all | Expand 10 after
1202 return success; 1200 return success;
1203 } 1201 }
1204 1202
1205 // static 1203 // static
1206 DriveCache::CacheSubDirectoryType DriveCache::GetSubDirectoryType( 1204 DriveCache::CacheSubDirectoryType DriveCache::GetSubDirectoryType(
1207 const DriveCacheEntry& cache_entry) { 1205 const DriveCacheEntry& cache_entry) {
1208 return cache_entry.is_persistent() ? CACHE_TYPE_PERSISTENT : CACHE_TYPE_TMP; 1206 return cache_entry.is_persistent() ? CACHE_TYPE_PERSISTENT : CACHE_TYPE_TMP;
1209 } 1207 }
1210 1208
1211 } // namespace drive 1209 } // namespace drive
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chromeos/drive/drive_file_system.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698