| Index: chrome/browser/google_apis/fake_drive_service.cc
|
| diff --git a/chrome/browser/google_apis/fake_drive_service.cc b/chrome/browser/google_apis/fake_drive_service.cc
|
| index 168d02f8ec591c07a9ca78d97b621fe4043ee19a..b8c88ea8665dfc407438f199543f2aed91884128 100644
|
| --- a/chrome/browser/google_apis/fake_drive_service.cc
|
| +++ b/chrome/browser/google_apis/fake_drive_service.cc
|
| @@ -17,7 +17,8 @@ using content::BrowserThread;
|
| namespace google_apis {
|
|
|
| FakeDriveService::FakeDriveService()
|
| - : resource_id_count_(0) {
|
| + : resource_id_count_(0),
|
| + offline_(false) {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| }
|
|
|
| @@ -108,6 +109,16 @@ void FakeDriveService::GetResourceList(
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| DCHECK(!callback.is_null());
|
|
|
| + if (offline_) {
|
| + scoped_ptr<ResourceList> null;
|
| + MessageLoop::current()->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(callback,
|
| + GDATA_NO_CONNECTION,
|
| + base::Passed(&null)));
|
| + return;
|
| + }
|
| +
|
| scoped_ptr<ResourceList> resource_list =
|
| ResourceList::CreateFrom(*resource_list_value_);
|
| MessageLoop::current()->PostTask(
|
| @@ -123,6 +134,16 @@ void FakeDriveService::GetResourceEntry(
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| DCHECK(!callback.is_null());
|
|
|
| + if (offline_) {
|
| + scoped_ptr<ResourceEntry> null;
|
| + MessageLoop::current()->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(callback,
|
| + GDATA_NO_CONNECTION,
|
| + base::Passed(&null)));
|
| + return;
|
| + }
|
| +
|
| base::DictionaryValue* entry = FindEntryByResourceId(resource_id);
|
| if (entry) {
|
| scoped_ptr<ResourceEntry> resource_entry =
|
| @@ -144,6 +165,15 @@ void FakeDriveService::GetAccountMetadata(
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| DCHECK(!callback.is_null());
|
|
|
| + if (offline_) {
|
| + scoped_ptr<AccountMetadataFeed> null;
|
| + MessageLoop::current()->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(callback,
|
| + GDATA_NO_CONNECTION,
|
| + base::Passed(&null)));
|
| + return;
|
| + }
|
| scoped_ptr<AccountMetadataFeed> account_metadata =
|
| AccountMetadataFeed::CreateFrom(*account_metadata_value_);
|
| MessageLoop::current()->PostTask(
|
| @@ -158,6 +188,16 @@ void FakeDriveService::GetApplicationInfo(
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| DCHECK(!callback.is_null());
|
|
|
| + if (offline_) {
|
| + scoped_ptr<base::Value> null;
|
| + MessageLoop::current()->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(callback,
|
| + GDATA_NO_CONNECTION,
|
| + base::Passed(&null)));
|
| + return;
|
| + }
|
| +
|
| scoped_ptr<base::Value> copied_app_info_value(
|
| app_info_value_->DeepCopy());
|
| MessageLoop::current()->PostTask(
|
| @@ -174,6 +214,12 @@ void FakeDriveService::DeleteResource(
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| DCHECK(!callback.is_null());
|
|
|
| + if (offline_) {
|
| + MessageLoop::current()->PostTask(
|
| + FROM_HERE, base::Bind(callback, GDATA_NO_CONNECTION));
|
| + return;
|
| + }
|
| +
|
| base::DictionaryValue* resource_list_dict = NULL;
|
| base::ListValue* entries = NULL;
|
| // Go through entries and remove the one that matches |edit_url|.
|
| @@ -226,6 +272,15 @@ void FakeDriveService::DownloadFile(
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| DCHECK(!download_action_callback.is_null());
|
|
|
| + if (offline_) {
|
| + MessageLoop::current()->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(download_action_callback,
|
| + GDATA_NO_CONNECTION,
|
| + FilePath()));
|
| + return;
|
| + }
|
| +
|
| base::DictionaryValue* entry = FindEntryByContentUrl(content_url);
|
| if (!entry) {
|
| base::MessageLoopProxy::current()->PostTask(
|
| @@ -257,6 +312,16 @@ void FakeDriveService::CopyHostedDocument(
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| DCHECK(!callback.is_null());
|
|
|
| + if (offline_) {
|
| + scoped_ptr<ResourceEntry> null;
|
| + MessageLoop::current()->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(callback,
|
| + GDATA_NO_CONNECTION,
|
| + base::Passed(&null)));
|
| + return;
|
| + }
|
| +
|
| base::DictionaryValue* resource_list_dict = NULL;
|
| base::ListValue* entries = NULL;
|
| // Go through entries and copy the one that matches |resource_id|.
|
| @@ -320,6 +385,12 @@ void FakeDriveService::RenameResource(
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| DCHECK(!callback.is_null());
|
|
|
| + if (offline_) {
|
| + MessageLoop::current()->PostTask(
|
| + FROM_HERE, base::Bind(callback, GDATA_NO_CONNECTION));
|
| + return;
|
| + }
|
| +
|
| base::DictionaryValue* entry = FindEntryByEditUrl(edit_url);
|
| if (entry) {
|
| entry->SetString("title.$t",
|
| @@ -340,6 +411,12 @@ void FakeDriveService::AddResourceToDirectory(
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| DCHECK(!callback.is_null());
|
|
|
| + if (offline_) {
|
| + MessageLoop::current()->PostTask(
|
| + FROM_HERE, base::Bind(callback, GDATA_NO_CONNECTION));
|
| + return;
|
| + }
|
| +
|
| base::DictionaryValue* entry = FindEntryByEditUrl(edit_url);
|
| if (entry) {
|
| base::ListValue* links = NULL;
|
| @@ -381,6 +458,12 @@ void FakeDriveService::RemoveResourceFromDirectory(
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| DCHECK(!callback.is_null());
|
|
|
| + if (offline_) {
|
| + MessageLoop::current()->PostTask(
|
| + FROM_HERE, base::Bind(callback, GDATA_NO_CONNECTION));
|
| + return;
|
| + }
|
| +
|
| base::DictionaryValue* entry = FindEntryByResourceId(resource_id);
|
| if (entry) {
|
| base::ListValue* links = NULL;
|
| @@ -414,6 +497,16 @@ void FakeDriveService::AddNewDirectory(
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| DCHECK(!callback.is_null());
|
|
|
| + if (offline_) {
|
| + scoped_ptr<ResourceEntry> null;
|
| + MessageLoop::current()->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(callback,
|
| + GDATA_NO_CONNECTION,
|
| + base::Passed(&null)));
|
| + return;
|
| + }
|
| +
|
| // If the parent content URL is not empty, the parent should exist.
|
| if (!parent_content_url.is_empty()) {
|
| base::DictionaryValue* parent_entry =
|
| @@ -590,6 +683,8 @@ base::DictionaryValue* FakeDriveService::FindEntryByContentUrl(
|
| }
|
|
|
| std::string FakeDriveService::GetNewResourceId() {
|
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| +
|
| ++resource_id_count_;
|
| return base::StringPrintf("resource_id_%d", resource_id_count_);
|
| }
|
|
|