summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos/gdata/gdata_operation_registry.cc
diff options
context:
space:
mode:
authorkinaba@chromium.org <kinaba@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-20 23:54:26 +0000
committerkinaba@chromium.org <kinaba@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-20 23:54:26 +0000
commit7e365c3fb2e127d1838ec665ba16baad5bf9a36e (patch)
tree8090590597382442d10d8030916635249b07e10c /chrome/browser/chromeos/gdata/gdata_operation_registry.cc
parent6de9070e8a48d7faf1d723c5fd40ed29222c7125 (diff)
downloadchromium_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.cc30
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;
}