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

Unified Diff: chrome/browser/ui/webui/options/chromeos/storage_manager_handler.cc

Issue 2070893003: Storage manager: Show Google Drive offline files. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Correct string and indentation. Created 4 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
« no previous file with comments | « chrome/browser/ui/webui/options/chromeos/storage_manager_handler.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/webui/options/chromeos/storage_manager_handler.cc
diff --git a/chrome/browser/ui/webui/options/chromeos/storage_manager_handler.cc b/chrome/browser/ui/webui/options/chromeos/storage_manager_handler.cc
index 34afd551778dd2b6436b76aa642e00b76d625da4..d8214542295d0f302e500b5faf02ec2891c37112 100644
--- a/chrome/browser/ui/webui/options/chromeos/storage_manager_handler.cc
+++ b/chrome/browser/ui/webui/options/chromeos/storage_manager_handler.cc
@@ -10,10 +10,12 @@
#include "base/sys_info.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chromeos/arc/arc_auth_service.h"
+#include "chrome/browser/chromeos/drive/file_system_util.h"
#include "chrome/browser/chromeos/file_manager/path_util.h"
#include "chrome/browser/platform_util.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/grit/generated_resources.h"
+#include "components/drive/chromeos/file_system_interface.h"
#include "content/public/browser/browser_thread.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/text/bytes_formatting.h"
@@ -47,6 +49,8 @@ void StorageManagerHandler::GetLocalizedValues(
RegisterTitle(localized_strings, "storageManagerPage",
IDS_OPTIONS_SETTINGS_STORAGE_MANAGER_TAB_TITLE);
+ RegisterTitle(localized_strings, "storageClearDriveCachePage",
+ IDS_OPTIONS_SETTINGS_STORAGE_CLEAR_DRIVE_CACHE_TAB_TITLE);
localized_strings->SetString(
"storageItemLabelCapacity", l10n_util::GetStringUTF16(
@@ -61,11 +65,20 @@ void StorageManagerHandler::GetLocalizedValues(
"storageSubitemLabelDownloads", l10n_util::GetStringUTF16(
IDS_OPTIONS_SETTINGS_STORAGE_SUBITEM_LABEL_DOWNLOADS));
localized_strings->SetString(
+ "storageSubitemLabelDriveCache", l10n_util::GetStringUTF16(
+ IDS_OPTIONS_SETTINGS_STORAGE_SUBITEM_LABEL_DRIVE_CACHE));
+ localized_strings->SetString(
"storageSubitemLabelArc", l10n_util::GetStringUTF16(
IDS_OPTIONS_SETTINGS_STORAGE_SUBITEM_LABEL_ARC));
localized_strings->SetString(
"storageSizeCalculating", l10n_util::GetStringUTF16(
IDS_OPTIONS_SETTINGS_STORAGE_SIZE_CALCULATING));
+ localized_strings->SetString(
+ "storageClearDriveCacheDescription", l10n_util::GetStringUTF16(
+ IDS_OPTIONS_SETTINGS_STORAGE_CLEAR_DRIVE_CACHE_DESCRIPTION));
+ localized_strings->SetString(
+ "storageDeleteAllButtonTitle", l10n_util::GetStringUTF16(
+ IDS_OPTIONS_SETTINGS_STORAGE_DELETE_ALL_BUTTON_TITLE));
}
void StorageManagerHandler::InitializePage() {
@@ -87,12 +100,17 @@ void StorageManagerHandler::RegisterMessages() {
"openArcStorage",
base::Bind(&StorageManagerHandler::HandleOpenArcStorage,
base::Unretained(this)));
+ web_ui()->RegisterMessageCallback(
+ "clearDriveCache",
+ base::Bind(&StorageManagerHandler::HandleClearDriveCache,
+ base::Unretained(this)));
}
void StorageManagerHandler::HandleUpdateStorageInfo(
const base::ListValue* unused_args) {
UpdateSizeStat();
UpdateDownloadsSize();
+ UpdateDriveCacheSize();
UpdateArcSize();
}
@@ -113,6 +131,16 @@ void StorageManagerHandler::HandleOpenArcStorage(
arc::ArcStorageManager::Get()->OpenPrivateVolumeSettings();
}
+void StorageManagerHandler::HandleClearDriveCache(
+ const base::ListValue* unused_args) {
+ drive::FileSystemInterface* const file_system =
+ drive::util::GetFileSystemByProfile(Profile::FromWebUI(web_ui()));
+ file_system->FreeDiskSpaceIfNeededFor(
+ std::numeric_limits<int64_t>::max(), // Removes as much as possible.
+ base::Bind(&StorageManagerHandler::OnClearDriveCacheDone,
+ weak_ptr_factory_.GetWeakPtr()));
+}
+
void StorageManagerHandler::UpdateSizeStat() {
Profile* const profile = Profile::FromWebUI(web_ui());
const base::FilePath downloads_path =
@@ -164,6 +192,20 @@ void StorageManagerHandler::OnGetDownloadsSize(int64_t size) {
base::StringValue(ui::FormatBytes(size)));
}
+void StorageManagerHandler::UpdateDriveCacheSize() {
+ drive::FileSystemInterface* const file_system =
+ drive::util::GetFileSystemByProfile(Profile::FromWebUI(web_ui()));
+ file_system->CalculateCacheSize(
+ base::Bind(&StorageManagerHandler::OnGetDriveCacheSize,
+ weak_ptr_factory_.GetWeakPtr()));
+}
+
+void StorageManagerHandler::OnGetDriveCacheSize(int64_t size) {
+ web_ui()->CallJavascriptFunctionUnsafe(
+ "options.StorageManager.setDriveCacheSize",
+ base::StringValue(ui::FormatBytes(size)));
+}
+
void StorageManagerHandler::UpdateArcSize() {
Profile* const profile = Profile::FromWebUI(web_ui());
if (!arc::ArcAuthService::IsAllowedForProfile(profile) ||
@@ -202,5 +244,9 @@ void StorageManagerHandler::OnGetArcSize(bool succeeded,
arc_size);
}
+void StorageManagerHandler::OnClearDriveCacheDone(bool success) {
+ UpdateDriveCacheSize();
+}
+
} // namespace options
} // namespace chromeos
« no previous file with comments | « chrome/browser/ui/webui/options/chromeos/storage_manager_handler.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698