OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/google_apis/fake_drive_service.h" | 5 #include "chrome/browser/google_apis/fake_drive_service.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 747 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
758 GDATA_NO_CONNECTION, | 758 GDATA_NO_CONNECTION, |
759 base::Passed(&null))); | 759 base::Passed(&null))); |
760 return; | 760 return; |
761 } | 761 } |
762 | 762 |
763 const char kContentType[] = "application/atom+xml;type=feed"; | 763 const char kContentType[] = "application/atom+xml;type=feed"; |
764 const base::DictionaryValue* new_entry = AddNewEntry(kContentType, | 764 const base::DictionaryValue* new_entry = AddNewEntry(kContentType, |
765 0, // content_length | 765 0, // content_length |
766 parent_resource_id, | 766 parent_resource_id, |
767 directory_name, | 767 directory_name, |
| 768 false, // shared_with_me |
768 "folder"); | 769 "folder"); |
769 if (!new_entry) { | 770 if (!new_entry) { |
770 scoped_ptr<ResourceEntry> null; | 771 scoped_ptr<ResourceEntry> null; |
771 MessageLoop::current()->PostTask( | 772 MessageLoop::current()->PostTask( |
772 FROM_HERE, | 773 FROM_HERE, |
773 base::Bind(callback, HTTP_NOT_FOUND, base::Passed(&null))); | 774 base::Bind(callback, HTTP_NOT_FOUND, base::Passed(&null))); |
774 return; | 775 return; |
775 } | 776 } |
776 | 777 |
777 scoped_ptr<ResourceEntry> parsed_entry(ResourceEntry::CreateFrom(*new_entry)); | 778 scoped_ptr<ResourceEntry> parsed_entry(ResourceEntry::CreateFrom(*new_entry)); |
(...skipping 18 matching lines...) Expand all Loading... |
796 base::Bind(callback, GDATA_NO_CONNECTION, GURL())); | 797 base::Bind(callback, GDATA_NO_CONNECTION, GURL())); |
797 return; | 798 return; |
798 } | 799 } |
799 | 800 |
800 // Content length should be zero, as we'll create an empty file first. The | 801 // Content length should be zero, as we'll create an empty file first. The |
801 // content will be added in ResumeUpload(). | 802 // content will be added in ResumeUpload(). |
802 const base::DictionaryValue* new_entry = AddNewEntry(content_type, | 803 const base::DictionaryValue* new_entry = AddNewEntry(content_type, |
803 0, // content_length | 804 0, // content_length |
804 parent_resource_id, | 805 parent_resource_id, |
805 title, | 806 title, |
| 807 false, // shared_with_me |
806 "file"); | 808 "file"); |
807 if (!new_entry) { | 809 if (!new_entry) { |
808 MessageLoop::current()->PostTask( | 810 MessageLoop::current()->PostTask( |
809 FROM_HERE, | 811 FROM_HERE, |
810 base::Bind(callback, HTTP_NOT_FOUND, GURL())); | 812 base::Bind(callback, HTTP_NOT_FOUND, GURL())); |
811 return; | 813 return; |
812 } | 814 } |
813 const GURL upload_url = GetUploadUrl(*new_entry); | 815 const GURL upload_url = GetUploadUrl(*new_entry); |
814 DCHECK(upload_url.is_valid()); | 816 DCHECK(upload_url.is_valid()); |
815 | 817 |
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
974 const std::string& app_id, | 976 const std::string& app_id, |
975 const AuthorizeAppCallback& callback) { | 977 const AuthorizeAppCallback& callback) { |
976 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 978 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
977 DCHECK(!callback.is_null()); | 979 DCHECK(!callback.is_null()); |
978 } | 980 } |
979 | 981 |
980 void FakeDriveService::AddNewFile(const std::string& content_type, | 982 void FakeDriveService::AddNewFile(const std::string& content_type, |
981 int64 content_length, | 983 int64 content_length, |
982 const std::string& parent_resource_id, | 984 const std::string& parent_resource_id, |
983 const std::string& title, | 985 const std::string& title, |
| 986 bool shared_with_me, |
984 const GetResourceEntryCallback& callback) { | 987 const GetResourceEntryCallback& callback) { |
985 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 988 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
986 DCHECK(!callback.is_null()); | 989 DCHECK(!callback.is_null()); |
987 | 990 |
988 if (offline_) { | 991 if (offline_) { |
989 scoped_ptr<ResourceEntry> null; | 992 scoped_ptr<ResourceEntry> null; |
990 MessageLoop::current()->PostTask( | 993 MessageLoop::current()->PostTask( |
991 FROM_HERE, | 994 FROM_HERE, |
992 base::Bind(callback, | 995 base::Bind(callback, |
993 GDATA_NO_CONNECTION, | 996 GDATA_NO_CONNECTION, |
994 base::Passed(&null))); | 997 base::Passed(&null))); |
995 return; | 998 return; |
996 } | 999 } |
997 | 1000 |
998 // Prepare "kind" for hosted documents. This only supports Google Document. | 1001 // Prepare "kind" for hosted documents. This only supports Google Document. |
999 std::string entry_kind; | 1002 std::string entry_kind; |
1000 if (content_type == "application/vnd.google-apps.document") | 1003 if (content_type == "application/vnd.google-apps.document") |
1001 entry_kind = "document"; | 1004 entry_kind = "document"; |
1002 else | 1005 else |
1003 entry_kind = "file"; | 1006 entry_kind = "file"; |
1004 | 1007 |
1005 const base::DictionaryValue* new_entry = AddNewEntry(content_type, | 1008 const base::DictionaryValue* new_entry = AddNewEntry(content_type, |
1006 content_length, | 1009 content_length, |
1007 parent_resource_id, | 1010 parent_resource_id, |
1008 title, | 1011 title, |
| 1012 shared_with_me, |
1009 entry_kind); | 1013 entry_kind); |
1010 if (!new_entry) { | 1014 if (!new_entry) { |
1011 scoped_ptr<ResourceEntry> null; | 1015 scoped_ptr<ResourceEntry> null; |
1012 MessageLoop::current()->PostTask( | 1016 MessageLoop::current()->PostTask( |
1013 FROM_HERE, | 1017 FROM_HERE, |
1014 base::Bind(callback, HTTP_NOT_FOUND, base::Passed(&null))); | 1018 base::Bind(callback, HTTP_NOT_FOUND, base::Passed(&null))); |
1015 return; | 1019 return; |
1016 } | 1020 } |
1017 | 1021 |
1018 scoped_ptr<ResourceEntry> parsed_entry( | 1022 scoped_ptr<ResourceEntry> parsed_entry( |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1150 ++largest_changestamp_; | 1154 ++largest_changestamp_; |
1151 entry->SetString("docs$changestamp.value", | 1155 entry->SetString("docs$changestamp.value", |
1152 base::Int64ToString(largest_changestamp_)); | 1156 base::Int64ToString(largest_changestamp_)); |
1153 } | 1157 } |
1154 | 1158 |
1155 const base::DictionaryValue* FakeDriveService::AddNewEntry( | 1159 const base::DictionaryValue* FakeDriveService::AddNewEntry( |
1156 const std::string& content_type, | 1160 const std::string& content_type, |
1157 int64 content_length, | 1161 int64 content_length, |
1158 const std::string& parent_resource_id, | 1162 const std::string& parent_resource_id, |
1159 const std::string& title, | 1163 const std::string& title, |
| 1164 bool shared_with_me, |
1160 const std::string& entry_kind) { | 1165 const std::string& entry_kind) { |
1161 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 1166 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
1162 | 1167 |
1163 if (parent_resource_id != GetRootResourceId() && | 1168 if (parent_resource_id != GetRootResourceId() && |
1164 !FindEntryByResourceId(parent_resource_id)) { | 1169 !FindEntryByResourceId(parent_resource_id)) { |
1165 return NULL; | 1170 return NULL; |
1166 } | 1171 } |
1167 | 1172 |
1168 base::DictionaryValue* resource_list_dict = NULL; | 1173 base::DictionaryValue* resource_list_dict = NULL; |
1169 if (!resource_list_value_->GetAsDictionary(&resource_list_dict)) | 1174 if (!resource_list_value_->GetAsDictionary(&resource_list_dict)) |
(...skipping 16 matching lines...) Expand all Loading... |
1186 } | 1191 } |
1187 | 1192 |
1188 // Add "category" which sets the resource type to |entry_kind|. | 1193 // Add "category" which sets the resource type to |entry_kind|. |
1189 base::ListValue* categories = new base::ListValue; | 1194 base::ListValue* categories = new base::ListValue; |
1190 base::DictionaryValue* category = new base::DictionaryValue; | 1195 base::DictionaryValue* category = new base::DictionaryValue; |
1191 category->SetString("scheme", "http://schemas.google.com/g/2005#kind"); | 1196 category->SetString("scheme", "http://schemas.google.com/g/2005#kind"); |
1192 category->SetString("term", "http://schemas.google.com/docs/2007#" + | 1197 category->SetString("term", "http://schemas.google.com/docs/2007#" + |
1193 entry_kind); | 1198 entry_kind); |
1194 categories->Append(category); | 1199 categories->Append(category); |
1195 new_entry->Set("category", categories); | 1200 new_entry->Set("category", categories); |
| 1201 if (shared_with_me) { |
| 1202 base::DictionaryValue* shared_with_me_label = new base::DictionaryValue; |
| 1203 shared_with_me_label->SetString("label", "shared-with-me"); |
| 1204 shared_with_me_label->SetString("scheme", |
| 1205 "http://schemas.google.com/g/2005/labels"); |
| 1206 shared_with_me_label->SetString( |
| 1207 "term", "http://schemas.google.com/g/2005/labels#shared"); |
| 1208 categories->Append(shared_with_me_label); |
| 1209 } |
1196 | 1210 |
1197 // Add "content" which sets the content URL. | 1211 // Add "content" which sets the content URL. |
1198 base::DictionaryValue* content = new base::DictionaryValue; | 1212 base::DictionaryValue* content = new base::DictionaryValue; |
1199 content->SetString("src", "https://xxx/content/" + resource_id); | 1213 content->SetString("src", "https://xxx/content/" + resource_id); |
1200 content->SetString("type", content_type); | 1214 content->SetString("type", content_type); |
1201 new_entry->Set("content", content); | 1215 new_entry->Set("content", content); |
1202 | 1216 |
1203 // Add "link" which sets the parent URL, the edit URL and the upload URL. | 1217 // Add "link" which sets the parent URL, the edit URL and the upload URL. |
1204 base::ListValue* links = new base::ListValue; | 1218 base::ListValue* links = new base::ListValue; |
1205 | 1219 |
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1343 | 1357 |
1344 ++resource_list_load_count_; | 1358 ++resource_list_load_count_; |
1345 MessageLoop::current()->PostTask( | 1359 MessageLoop::current()->PostTask( |
1346 FROM_HERE, | 1360 FROM_HERE, |
1347 base::Bind(callback, | 1361 base::Bind(callback, |
1348 HTTP_SUCCESS, | 1362 HTTP_SUCCESS, |
1349 base::Passed(&resource_list))); | 1363 base::Passed(&resource_list))); |
1350 } | 1364 } |
1351 | 1365 |
1352 } // namespace google_apis | 1366 } // namespace google_apis |
OLD | NEW |