Chromium Code Reviews| 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 8234e14165843af5cbb2e5c1c0c38b1124f8eac8..6aa8e1fe4e98dc1da0640579ea9fee794db09076 100644 |
| --- a/chrome/browser/ui/webui/options/chromeos/storage_manager_handler.cc |
| +++ b/chrome/browser/ui/webui/options/chromeos/storage_manager_handler.cc |
| @@ -65,6 +65,11 @@ StorageManagerHandler::StorageManagerHandler() |
| has_browser_cache_size_(false), |
| browser_site_data_size_(-1), |
| has_browser_site_data_size_(false), |
| + updating_downloads_size_(false), |
| + updating_drive_cache_size_(false), |
| + updating_browsing_data_size_(false), |
| + updating_arc_size_(false), |
| + updating_other_users_size_(false), |
| weak_ptr_factory_(this) { |
| } |
| @@ -238,6 +243,10 @@ void StorageManagerHandler::OnGetSizeStat(int64_t* total_size, |
| } |
| void StorageManagerHandler::UpdateDownloadsSize() { |
| + if (updating_downloads_size_) |
| + return; |
| + updating_downloads_size_ = true; |
| + |
| Profile* const profile = Profile::FromWebUI(web_ui()); |
| const base::FilePath downloads_path = |
| file_manager::util::GetDownloadsFolderForProfile(profile); |
| @@ -251,12 +260,17 @@ void StorageManagerHandler::UpdateDownloadsSize() { |
| } |
| void StorageManagerHandler::OnGetDownloadsSize(int64_t size) { |
| + updating_downloads_size_ = false; |
| web_ui()->CallJavascriptFunctionUnsafe( |
| "options.StorageManager.setDownloadsSize", |
| base::StringValue(ui::FormatBytes(size))); |
| } |
| void StorageManagerHandler::UpdateDriveCacheSize() { |
| + if (updating_drive_cache_size_) |
| + return; |
| + updating_drive_cache_size_ = true; |
| + |
| drive::FileSystemInterface* const file_system = |
| drive::util::GetFileSystemByProfile(Profile::FromWebUI(web_ui())); |
| file_system->CalculateCacheSize( |
| @@ -265,12 +279,17 @@ void StorageManagerHandler::UpdateDriveCacheSize() { |
| } |
| void StorageManagerHandler::OnGetDriveCacheSize(int64_t size) { |
| + updating_drive_cache_size_ = false; |
| web_ui()->CallJavascriptFunctionUnsafe( |
| "options.StorageManager.setDriveCacheSize", |
| base::StringValue(ui::FormatBytes(size))); |
| } |
| void StorageManagerHandler::UpdateBrowsingDataSize() { |
| + if (updating_browsing_data_size_) |
| + return; |
| + updating_browsing_data_size_ = true; |
| + |
| has_browser_cache_size_ = false; |
| has_browser_site_data_size_ = false; |
| Profile* const profile = Profile::FromWebUI(web_ui()); |
| @@ -327,6 +346,7 @@ void StorageManagerHandler::OnGetBrowsingDataSize(bool is_site_data, |
| size_string = l10n_util::GetStringUTF16( |
| IDS_OPTIONS_SETTINGS_STORAGE_SIZE_UNKNOWN); |
| } |
| + updating_browsing_data_size_ = false; |
| web_ui()->CallJavascriptFunctionUnsafe( |
| "options.StorageManager.setBrowsingDataSize", |
| base::StringValue(size_string)); |
| @@ -334,6 +354,10 @@ void StorageManagerHandler::OnGetBrowsingDataSize(bool is_site_data, |
| } |
| void StorageManagerHandler::UpdateOtherUsersSize() { |
| + if (updating_other_users_size_) |
| + return; |
| + updating_other_users_size_ = true; |
| + |
| other_users_.clear(); |
| user_sizes_.clear(); |
| const user_manager::UserList& users = |
| @@ -361,6 +385,7 @@ void StorageManagerHandler::OnGetOtherUserSize(bool success, int64_t size) { |
| size_string = l10n_util::GetStringUTF16( |
| IDS_OPTIONS_SETTINGS_STORAGE_SIZE_UNKNOWN); |
| } |
| + updating_other_users_size_ = false; |
| web_ui()->CallJavascriptFunctionUnsafe( |
| "options.StorageManager.setOtherUsersSize", |
| base::StringValue(size_string)); |
| @@ -368,6 +393,10 @@ void StorageManagerHandler::OnGetOtherUserSize(bool success, int64_t size) { |
| } |
| void StorageManagerHandler::UpdateArcSize() { |
| + if (updating_arc_size_) |
| + return; |
| + updating_arc_size_ = true; |
| + |
| Profile* const profile = Profile::FromWebUI(web_ui()); |
| if (!arc::ArcAuthService::IsAllowedForProfile(profile) || |
| arc::ArcAuthService::IsOptInVerificationDisabled() || |
| @@ -381,14 +410,8 @@ void StorageManagerHandler::UpdateArcSize() { |
| bool success = arc::ArcStorageManager::Get()->GetApplicationsSize( |
| base::Bind(&StorageManagerHandler::OnGetArcSize, |
| base::Unretained(this))); |
| - if (!success) { |
| - // TODO(fukino): Retry updating arc size later if the arc bridge service is |
| - // not ready. |
| - web_ui()->CallJavascriptFunctionUnsafe( |
|
fukino
2016/07/08 10:28:37
As we try to update the Android size every 5 secon
|
| - "options.StorageManager.setArcSize", |
| - base::StringValue(l10n_util::GetStringUTF16( |
| - IDS_OPTIONS_SETTINGS_STORAGE_SIZE_UNKNOWN))); |
| - } |
| + if (!success) |
| + updating_arc_size_ = false; |
| } |
| void StorageManagerHandler::OnGetArcSize(bool succeeded, |
| @@ -403,6 +426,7 @@ void StorageManagerHandler::OnGetArcSize(bool succeeded, |
| size_string = l10n_util::GetStringUTF16( |
| IDS_OPTIONS_SETTINGS_STORAGE_SIZE_UNKNOWN); |
| } |
| + updating_arc_size_ = false; |
| web_ui()->CallJavascriptFunctionUnsafe("options.StorageManager.setArcSize", |
| base::StringValue(size_string)); |
| } |