diff options
author | kinaba@chromium.org <kinaba@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-20 23:54:26 +0000 |
---|---|---|
committer | kinaba@chromium.org <kinaba@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-20 23:54:26 +0000 |
commit | 7e365c3fb2e127d1838ec665ba16baad5bf9a36e (patch) | |
tree | 8090590597382442d10d8030916635249b07e10c /chrome/browser/chromeos/gdata/gdata_operation_registry.cc | |
parent | 6de9070e8a48d7faf1d723c5fd40ed29222c7125 (diff) | |
download | chromium_src-7e365c3fb2e127d1838ec665ba16baad5bf9a36e.zip chromium_src-7e365c3fb2e127d1838ec665ba16baad5bf9a36e.tar.gz chromium_src-7e365c3fb2e127d1838ec665ba16baad5bf9a36e.tar.bz2 |
cros: Show system notification for GData upload/download.
BUG=chromium-os:27875
TEST=unit_tests --gtest_filter='*FileBrowser*'
TEST=manual test uploading/downloading in GData
Review URL: https://chromiumcodereview.appspot.com/9747001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127839 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos/gdata/gdata_operation_registry.cc')
-rw-r--r-- | chrome/browser/chromeos/gdata/gdata_operation_registry.cc | 30 |
1 files changed, 23 insertions, 7 deletions
diff --git a/chrome/browser/chromeos/gdata/gdata_operation_registry.cc b/chrome/browser/chromeos/gdata/gdata_operation_registry.cc index c993a38..dc4f393 100644 --- a/chrome/browser/chromeos/gdata/gdata_operation_registry.cc +++ b/chrome/browser/chromeos/gdata/gdata_operation_registry.cc @@ -159,8 +159,10 @@ void GDataOperationRegistry::OnOperationStart( *id = in_flight_operations_.Add(operation); DVLOG(1) << "GDataOperation[" << *id << "] started."; - FOR_EACH_OBSERVER(Observer, observer_list_, - OnProgressUpdate(GetProgressStatusList())); + if (IsFileTransferOperation(operation)) { + FOR_EACH_OBSERVER(Observer, observer_list_, + OnProgressUpdate(GetProgressStatusList())); + } } void GDataOperationRegistry::OnOperationProgress(OperationID id) { @@ -171,19 +173,32 @@ void GDataOperationRegistry::OnOperationProgress(OperationID id) { DVLOG(1) << "GDataOperation[" << id << "] " << operation->progress_status().ToString(); - FOR_EACH_OBSERVER(Observer, observer_list_, - OnProgressUpdate(GetProgressStatusList())); + if (IsFileTransferOperation(operation)) { + FOR_EACH_OBSERVER(Observer, observer_list_, + OnProgressUpdate(GetProgressStatusList())); + } } void GDataOperationRegistry::OnOperationFinish(OperationID id) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); + Operation* operation = in_flight_operations_.Lookup(id); + DCHECK(operation); + DVLOG(1) << "GDataOperation[" << id << "] finished."; - FOR_EACH_OBSERVER(Observer, observer_list_, - OnProgressUpdate(GetProgressStatusList())); + if (IsFileTransferOperation(operation)) { + FOR_EACH_OBSERVER(Observer, observer_list_, + OnProgressUpdate(GetProgressStatusList())); + } in_flight_operations_.Remove(id); } +bool GDataOperationRegistry::IsFileTransferOperation( + const Operation* operation) const { + OperationType type = operation->progress_status().operation_type; + return type == OPERATION_UPLOAD || type == OPERATION_DOWNLOAD; +} + std::vector<GDataOperationRegistry::ProgressStatus> GDataOperationRegistry::GetProgressStatusList() { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); @@ -193,7 +208,8 @@ GDataOperationRegistry::GetProgressStatusList() { !iter.IsAtEnd(); iter.Advance()) { const Operation* operation = iter.GetCurrentValue(); - status_list.push_back(operation->progress_status()); + if (IsFileTransferOperation(operation)) + status_list.push_back(operation->progress_status()); } return status_list; } |