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

Unified Diff: chrome/browser/chromeos/drive/file_system_util.cc

Issue 1192493003: Move browser-agnostic code from file_system_util to file_system_core_util. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@drive-prefservice
Patch Set: Rebasing... Created 5 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/drive/file_system_util.cc
diff --git a/chrome/browser/chromeos/drive/file_system_util.cc b/chrome/browser/chromeos/drive/file_system_util.cc
index e64dafdb79cd995c0483aa79afdf38eabf5ed690..80f20c2e123603159a1fb06ca9b15d4bd76c2138 100644
--- a/chrome/browser/chromeos/drive/file_system_util.cc
+++ b/chrome/browser/chromeos/drive/file_system_util.cc
@@ -26,6 +26,7 @@
#include "chrome/browser/chromeos/drive/drive.pb.h"
#include "chrome/browser/chromeos/drive/drive_integration_service.h"
#include "chrome/browser/chromeos/drive/drive_pref_names.h"
+#include "chrome/browser/chromeos/drive/file_system_core_util.h"
#include "chrome/browser/chromeos/drive/file_system_interface.h"
#include "chrome/browser/chromeos/drive/job_list.h"
#include "chrome/browser/chromeos/drive/write_on_cache_file.h"
@@ -35,11 +36,9 @@
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/common/chrome_constants.h"
#include "chrome/common/chrome_paths_internal.h"
-#include "chrome/common/pref_names.h"
#include "chromeos/chromeos_constants.h"
#include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h"
-#include "net/base/escape.h"
#include "storage/browser/fileapi/file_system_url.h"
using content::BrowserThread;
@@ -49,37 +48,6 @@ namespace util {
namespace {
-std::string ReadStringFromGDocFile(const base::FilePath& file_path,
- const std::string& key) {
- const int64 kMaxGDocSize = 4096;
- int64 file_size = 0;
- if (!base::GetFileSize(file_path, &file_size) ||
- file_size > kMaxGDocSize) {
- LOG(WARNING) << "File too large to be a GDoc file " << file_path.value();
- return std::string();
- }
-
- JSONFileValueDeserializer reader(file_path);
- std::string error_message;
- scoped_ptr<base::Value> root_value(reader.Deserialize(NULL, &error_message));
- if (!root_value) {
- LOG(WARNING) << "Failed to parse " << file_path.value() << " as JSON."
- << " error = " << error_message;
- return std::string();
- }
-
- base::DictionaryValue* dictionary_value = NULL;
- std::string result;
- if (!root_value->GetAsDictionary(&dictionary_value) ||
- !dictionary_value->GetString(key, &result)) {
- LOG(WARNING) << "No value for the given key is stored in "
- << file_path.value() << ". key = " << key;
- return std::string();
- }
-
- return result;
-}
-
// Returns DriveIntegrationService instance, if Drive is enabled.
// Otherwise, NULL.
DriveIntegrationService* GetIntegrationServiceByProfile(Profile* profile) {
@@ -92,31 +60,6 @@ DriveIntegrationService* GetIntegrationServiceByProfile(Profile* profile) {
} // namespace
-const base::FilePath& GetDriveGrandRootPath() {
- CR_DEFINE_STATIC_LOCAL(
- base::FilePath, grand_root_path,
- (base::FilePath::FromUTF8Unsafe(kDriveGrandRootDirName)));
- return grand_root_path;
-}
-
-const base::FilePath& GetDriveMyDriveRootPath() {
- CR_DEFINE_STATIC_LOCAL(
- base::FilePath, drive_root_path,
- (GetDriveGrandRootPath().AppendASCII(kDriveMyDriveRootDirName)));
- return drive_root_path;
-}
-
-base::FilePath GetDriveMountPointPathForUserIdHash(
- const std::string user_id_hash) {
- static const base::FilePath::CharType kSpecialMountPointRoot[] =
- FILE_PATH_LITERAL("/special");
- static const char kDriveMountPointNameBase[] = "drive";
- return base::FilePath(kSpecialMountPointRoot).AppendASCII(
- net::EscapeQueryParamValue(
- kDriveMountPointNameBase +
- (user_id_hash.empty() ? "" : "-" + user_id_hash), false));
-}
-
base::FilePath GetDriveMountPointPath(Profile* profile) {
std::string id = chromeos::ProfileHelper::GetUserIdHashFromProfile(profile);
if (id.empty() || id == chrome::kLegacyProfileDir) {
@@ -159,9 +102,7 @@ DriveAppRegistry* GetDriveAppRegistryByProfile(Profile* profile) {
DriveIntegrationService* integration_service =
GetIntegrationServiceByProfile(profile);
- return integration_service ?
- integration_service->drive_app_registry() :
- NULL;
+ return integration_service ? integration_service->drive_app_registry() : NULL;
}
DriveServiceInterface* GetDriveServiceByProfile(Profile* profile) {
@@ -172,29 +113,6 @@ DriveServiceInterface* GetDriveServiceByProfile(Profile* profile) {
return integration_service ? integration_service->drive_service() : NULL;
}
-bool IsUnderDriveMountPoint(const base::FilePath& path) {
- return !ExtractDrivePath(path).empty();
-}
-
-base::FilePath ExtractDrivePath(const base::FilePath& path) {
- std::vector<base::FilePath::StringType> components;
- path.GetComponents(&components);
- if (components.size() < 3)
- return base::FilePath();
- if (components[0] != FILE_PATH_LITERAL("/"))
- return base::FilePath();
- if (components[1] != FILE_PATH_LITERAL("special"))
- return base::FilePath();
- static const base::FilePath::CharType kPrefix[] = FILE_PATH_LITERAL("drive");
- if (components[2].compare(0, arraysize(kPrefix) - 1, kPrefix) != 0)
- return base::FilePath();
-
- base::FilePath drive_path = GetDriveGrandRootPath();
- for (size_t i = 3; i < components.size(); ++i)
- drive_path = drive_path.Append(components[i]);
- return drive_path;
-}
-
Profile* ExtractProfileFromPath(const base::FilePath& path) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
@@ -229,46 +147,6 @@ base::FilePath GetCacheRootPath(Profile* profile) {
return cache_root_path.Append(kFileCacheVersionDir);
}
-std::string EscapeCacheFileName(const std::string& filename) {
- // This is based on net/base/escape.cc: net::(anonymous namespace)::Escape
- std::string escaped;
- for (size_t i = 0; i < filename.size(); ++i) {
- char c = filename[i];
- if (c == '%' || c == '.' || c == '/') {
- base::StringAppendF(&escaped, "%%%02X", c);
- } else {
- escaped.push_back(c);
- }
- }
- return escaped;
-}
-
-std::string UnescapeCacheFileName(const std::string& filename) {
- std::string unescaped;
- for (size_t i = 0; i < filename.size(); ++i) {
- char c = filename[i];
- if (c == '%' && i + 2 < filename.length()) {
- c = (base::HexDigitToInt(filename[i + 1]) << 4) +
- base::HexDigitToInt(filename[i + 2]);
- i += 2;
- }
- unescaped.push_back(c);
- }
- return unescaped;
-}
-
-std::string NormalizeFileName(const std::string& input) {
- DCHECK(base::IsStringUTF8(input));
-
- std::string output;
- if (!base::ConvertToUtf8AndNormalize(input, base::kCodepageUTF8, &output))
- output = input;
- base::ReplaceChars(output, "/", "_", &output);
- if (!output.empty() && output.find_first_not_of('.', 0) == std::string::npos)
- output = "_";
- return output;
-}
-
void PrepareWritableFileAndRun(Profile* profile,
const base::FilePath& path,
const PrepareWritableFileCallback& callback) {
@@ -282,8 +160,7 @@ void PrepareWritableFileAndRun(Profile* profile,
return;
}
- WriteOnCacheFile(file_system,
- ExtractDrivePath(path),
+ WriteOnCacheFile(file_system, ExtractDrivePath(path),
std::string(), // mime_type
callback);
}
@@ -296,38 +173,15 @@ void EnsureDirectoryExists(Profile* profile,
if (IsUnderDriveMountPoint(directory)) {
FileSystemInterface* file_system = GetFileSystemByProfile(profile);
DCHECK(file_system);
- file_system->CreateDirectory(
- ExtractDrivePath(directory),
- true /* is_exclusive */,
- true /* is_recursive */,
- callback);
+ file_system->CreateDirectory(ExtractDrivePath(directory),
+ true /* is_exclusive */,
+ true /* is_recursive */, callback);
} else {
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::Bind(callback, FILE_ERROR_OK));
}
}
-void EmptyFileOperationCallback(FileError error) {
-}
-
-bool CreateGDocFile(const base::FilePath& file_path,
- const GURL& url,
- const std::string& resource_id) {
- std::string content = base::StringPrintf(
- "{\"url\": \"%s\", \"resource_id\": \"%s\"}",
- url.spec().c_str(), resource_id.c_str());
- return base::WriteFile(file_path, content.data(), content.size()) ==
- static_cast<int>(content.size());
-}
-
-GURL ReadUrlFromGDocFile(const base::FilePath& file_path) {
- return GURL(ReadStringFromGDocFile(file_path, "url"));
-}
-
-std::string ReadResourceIdFromGDocFile(const base::FilePath& file_path) {
- return ReadStringFromGDocFile(file_path, "resource_id");
-}
-
bool IsDriveEnabledForProfile(Profile* profile) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
« no previous file with comments | « chrome/browser/chromeos/drive/file_system_util.h ('k') | chrome/browser/chromeos/drive/file_system_util_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698