summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/chromeos/extensions/external_filesystem_apitest.cc2
-rw-r--r--chrome/browser/chromeos/system/ash_system_tray_delegate.cc11
2 files changed, 12 insertions, 1 deletions
diff --git a/chrome/browser/chromeos/extensions/external_filesystem_apitest.cc b/chrome/browser/chromeos/extensions/external_filesystem_apitest.cc
index ef7cdb9..10f6d97 100644
--- a/chrome/browser/chromeos/extensions/external_filesystem_apitest.cc
+++ b/chrome/browser/chromeos/extensions/external_filesystem_apitest.cc
@@ -299,7 +299,7 @@ IN_PROC_BROWSER_TEST_F(RemoteFileSystemExtensionApiTest,
// This one is called on exit, but we don't care much about it, as long as it
// retunrs something valid (i.e. not NULL).
EXPECT_CALL(*mock_documents_service_, operation_registry()).
- WillOnce(Return(operation_registry_.get()));
+ WillRepeatedly(Return(operation_registry_.get()));
// All is set... RUN THE TEST.
EXPECT_TRUE(RunExtensionTest("filesystem_handler")) << message_;
diff --git a/chrome/browser/chromeos/system/ash_system_tray_delegate.cc b/chrome/browser/chromeos/system/ash_system_tray_delegate.cc
index d5449c4..b07b1ed 100644
--- a/chrome/browser/chromeos/system/ash_system_tray_delegate.cc
+++ b/chrome/browser/chromeos/system/ash_system_tray_delegate.cc
@@ -229,6 +229,17 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
if (SystemKeyEventListener::GetInstance())
SystemKeyEventListener::GetInstance()->RemoveCapsLockObserver(this);
bluetooth_adapter_->RemoveObserver(this);
+
+ // Stop observing gdata operations.
+ Profile* profile = ProfileManager::GetDefaultProfile();
+ if (gdata::util::IsGDataAvailable(profile)) {
+ GDataSystemService* system_service =
+ GDataSystemServiceFactory::FindForProfile(profile);
+ if (system_service && system_service->file_system()) {
+ system_service->file_system()->GetOperationRegistry()->
+ RemoveObserver(this);
+ }
+ }
}
// Overridden from ash::SystemTrayDelegate: