OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/chromeos/file_system_provider/service.h" | 5 #include "chrome/browser/chromeos/file_system_provider/service.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/files/file.h" | 10 #include "base/files/file.h" |
(...skipping 15 matching lines...) Expand all Loading... |
26 #include "extensions/common/manifest_constants.h" | 26 #include "extensions/common/manifest_constants.h" |
27 #include "testing/gtest/include/gtest/gtest.h" | 27 #include "testing/gtest/include/gtest/gtest.h" |
28 #include "webkit/browser/fileapi/external_mount_points.h" | 28 #include "webkit/browser/fileapi/external_mount_points.h" |
29 | 29 |
30 namespace chromeos { | 30 namespace chromeos { |
31 namespace file_system_provider { | 31 namespace file_system_provider { |
32 namespace { | 32 namespace { |
33 | 33 |
34 const char kExtensionId[] = "mbflcebpggnecokmikipoihdbecnjfoj"; | 34 const char kExtensionId[] = "mbflcebpggnecokmikipoihdbecnjfoj"; |
35 const char kFileSystemId[] = "camera/pictures/id !@#$%^&*()_+"; | 35 const char kFileSystemId[] = "camera/pictures/id !@#$%^&*()_+"; |
36 const char kFileSystemName[] = "Camera Pictures"; | 36 const char kDisplayName[] = "Camera Pictures"; |
37 | 37 |
38 // Utility observer, logging events from file_system_provider::Service. | 38 // Utility observer, logging events from file_system_provider::Service. |
39 class LoggingObserver : public Observer { | 39 class LoggingObserver : public Observer { |
40 public: | 40 public: |
41 class Event { | 41 class Event { |
42 public: | 42 public: |
43 Event(const ProvidedFileSystemInfo& file_system_info, | 43 Event(const ProvidedFileSystemInfo& file_system_info, |
44 base::File::Error error) | 44 base::File::Error error) |
45 : file_system_info_(file_system_info), error_(error) {} | 45 : file_system_info_(file_system_info), error_(error) {} |
46 ~Event() {} | 46 ~Event() {} |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 manifest, | 87 manifest, |
88 extensions::Extension::NO_FLAGS, | 88 extensions::Extension::NO_FLAGS, |
89 extension_id, | 89 extension_id, |
90 &error); | 90 &error); |
91 } | 91 } |
92 | 92 |
93 // Stores a provided file system information in preferences. | 93 // Stores a provided file system information in preferences. |
94 void RememberFakeFileSystem(TestingProfile* profile, | 94 void RememberFakeFileSystem(TestingProfile* profile, |
95 const std::string& extension_id, | 95 const std::string& extension_id, |
96 const std::string& file_system_id, | 96 const std::string& file_system_id, |
97 const std::string& file_system_name) { | 97 const std::string& display_name) { |
98 TestingPrefServiceSyncable* pref_service = profile->GetTestingPrefService(); | 98 TestingPrefServiceSyncable* pref_service = profile->GetTestingPrefService(); |
99 ASSERT_TRUE(pref_service); | 99 ASSERT_TRUE(pref_service); |
100 | 100 |
101 base::DictionaryValue extensions; | 101 base::DictionaryValue extensions; |
102 base::ListValue* file_systems = new base::ListValue(); | 102 base::ListValue* file_systems = new base::ListValue(); |
103 base::DictionaryValue* file_system = new base::DictionaryValue(); | 103 base::DictionaryValue* file_system = new base::DictionaryValue(); |
104 file_system->SetString(kPrefKeyFileSystemId, kFileSystemId); | 104 file_system->SetString(kPrefKeyFileSystemId, kFileSystemId); |
105 file_system->SetString(kPrefKeyFileSystemName, kFileSystemName); | 105 file_system->SetString(kPrefKeyDisplayName, kDisplayName); |
106 file_systems->Append(file_system); | 106 file_systems->Append(file_system); |
107 extensions.Set(kExtensionId, file_systems); | 107 extensions.Set(kExtensionId, file_systems); |
108 | 108 |
109 pref_service->Set(prefs::kFileSystemProviderMounted, extensions); | 109 pref_service->Set(prefs::kFileSystemProviderMounted, extensions); |
110 } | 110 } |
111 | 111 |
112 } // namespace | 112 } // namespace |
113 | 113 |
114 class FileSystemProviderServiceTest : public testing::Test { | 114 class FileSystemProviderServiceTest : public testing::Test { |
115 protected: | 115 protected: |
(...skipping 21 matching lines...) Expand all Loading... |
137 scoped_ptr<extensions::ExtensionRegistry> extension_registry_; | 137 scoped_ptr<extensions::ExtensionRegistry> extension_registry_; |
138 scoped_ptr<Service> file_system_provider_service_; | 138 scoped_ptr<Service> file_system_provider_service_; |
139 scoped_refptr<extensions::Extension> extension_; | 139 scoped_refptr<extensions::Extension> extension_; |
140 }; | 140 }; |
141 | 141 |
142 TEST_F(FileSystemProviderServiceTest, MountFileSystem) { | 142 TEST_F(FileSystemProviderServiceTest, MountFileSystem) { |
143 LoggingObserver observer; | 143 LoggingObserver observer; |
144 file_system_provider_service_->AddObserver(&observer); | 144 file_system_provider_service_->AddObserver(&observer); |
145 | 145 |
146 const bool result = file_system_provider_service_->MountFileSystem( | 146 const bool result = file_system_provider_service_->MountFileSystem( |
147 kExtensionId, kFileSystemId, kFileSystemName); | 147 kExtensionId, kFileSystemId, kDisplayName); |
148 EXPECT_TRUE(result); | 148 EXPECT_TRUE(result); |
149 | 149 |
150 ASSERT_EQ(1u, observer.mounts.size()); | 150 ASSERT_EQ(1u, observer.mounts.size()); |
151 EXPECT_EQ(kExtensionId, observer.mounts[0].file_system_info().extension_id()); | 151 EXPECT_EQ(kExtensionId, observer.mounts[0].file_system_info().extension_id()); |
152 EXPECT_EQ(kFileSystemId, | 152 EXPECT_EQ(kFileSystemId, |
153 observer.mounts[0].file_system_info().file_system_id()); | 153 observer.mounts[0].file_system_info().file_system_id()); |
154 base::FilePath expected_mount_path = | 154 base::FilePath expected_mount_path = |
155 util::GetMountPath(profile_.get(), kExtensionId, kFileSystemId); | 155 util::GetMountPath(profile_.get(), kExtensionId, kFileSystemId); |
156 EXPECT_EQ(expected_mount_path.AsUTF8Unsafe(), | 156 EXPECT_EQ(expected_mount_path.AsUTF8Unsafe(), |
157 observer.mounts[0].file_system_info().mount_path().AsUTF8Unsafe()); | 157 observer.mounts[0].file_system_info().mount_path().AsUTF8Unsafe()); |
158 EXPECT_EQ(kFileSystemName, | 158 EXPECT_EQ(kDisplayName, observer.mounts[0].file_system_info().display_name()); |
159 observer.mounts[0].file_system_info().file_system_name()); | |
160 EXPECT_EQ(base::File::FILE_OK, observer.mounts[0].error()); | 159 EXPECT_EQ(base::File::FILE_OK, observer.mounts[0].error()); |
161 ASSERT_EQ(0u, observer.unmounts.size()); | 160 ASSERT_EQ(0u, observer.unmounts.size()); |
162 | 161 |
163 std::vector<ProvidedFileSystemInfo> file_system_info_list = | 162 std::vector<ProvidedFileSystemInfo> file_system_info_list = |
164 file_system_provider_service_->GetProvidedFileSystemInfoList(); | 163 file_system_provider_service_->GetProvidedFileSystemInfoList(); |
165 ASSERT_EQ(1u, file_system_info_list.size()); | 164 ASSERT_EQ(1u, file_system_info_list.size()); |
166 | 165 |
167 file_system_provider_service_->RemoveObserver(&observer); | 166 file_system_provider_service_->RemoveObserver(&observer); |
168 } | 167 } |
169 | 168 |
170 TEST_F(FileSystemProviderServiceTest, MountFileSystem_UniqueIds) { | 169 TEST_F(FileSystemProviderServiceTest, MountFileSystem_UniqueIds) { |
171 LoggingObserver observer; | 170 LoggingObserver observer; |
172 file_system_provider_service_->AddObserver(&observer); | 171 file_system_provider_service_->AddObserver(&observer); |
173 | 172 |
174 const bool result = file_system_provider_service_->MountFileSystem( | 173 const bool result = file_system_provider_service_->MountFileSystem( |
175 kExtensionId, kFileSystemId, kFileSystemName); | 174 kExtensionId, kFileSystemId, kDisplayName); |
176 EXPECT_TRUE(result); | 175 EXPECT_TRUE(result); |
177 | 176 |
178 const bool second_result = file_system_provider_service_->MountFileSystem( | 177 const bool second_result = file_system_provider_service_->MountFileSystem( |
179 kExtensionId, kFileSystemId, kFileSystemName); | 178 kExtensionId, kFileSystemId, kDisplayName); |
180 EXPECT_FALSE(second_result); | 179 EXPECT_FALSE(second_result); |
181 | 180 |
182 ASSERT_EQ(2u, observer.mounts.size()); | 181 ASSERT_EQ(2u, observer.mounts.size()); |
183 EXPECT_EQ(base::File::FILE_OK, observer.mounts[0].error()); | 182 EXPECT_EQ(base::File::FILE_OK, observer.mounts[0].error()); |
184 EXPECT_EQ(base::File::FILE_ERROR_EXISTS, observer.mounts[1].error()); | 183 EXPECT_EQ(base::File::FILE_ERROR_EXISTS, observer.mounts[1].error()); |
185 | 184 |
186 std::vector<ProvidedFileSystemInfo> file_system_info_list = | 185 std::vector<ProvidedFileSystemInfo> file_system_info_list = |
187 file_system_provider_service_->GetProvidedFileSystemInfoList(); | 186 file_system_provider_service_->GetProvidedFileSystemInfoList(); |
188 ASSERT_EQ(1u, file_system_info_list.size()); | 187 ASSERT_EQ(1u, file_system_info_list.size()); |
189 | 188 |
190 file_system_provider_service_->RemoveObserver(&observer); | 189 file_system_provider_service_->RemoveObserver(&observer); |
191 } | 190 } |
192 | 191 |
193 TEST_F(FileSystemProviderServiceTest, MountFileSystem_StressTest) { | 192 TEST_F(FileSystemProviderServiceTest, MountFileSystem_StressTest) { |
194 LoggingObserver observer; | 193 LoggingObserver observer; |
195 file_system_provider_service_->AddObserver(&observer); | 194 file_system_provider_service_->AddObserver(&observer); |
196 | 195 |
197 const size_t kMaxFileSystems = 16; | 196 const size_t kMaxFileSystems = 16; |
198 for (size_t i = 0; i < kMaxFileSystems; ++i) { | 197 for (size_t i = 0; i < kMaxFileSystems; ++i) { |
199 const std::string file_system_id = | 198 const std::string file_system_id = |
200 std::string("test-") + base::IntToString(i); | 199 std::string("test-") + base::IntToString(i); |
201 const bool result = file_system_provider_service_->MountFileSystem( | 200 const bool result = file_system_provider_service_->MountFileSystem( |
202 kExtensionId, file_system_id, kFileSystemName); | 201 kExtensionId, file_system_id, kDisplayName); |
203 EXPECT_TRUE(result); | 202 EXPECT_TRUE(result); |
204 } | 203 } |
205 ASSERT_EQ(kMaxFileSystems, observer.mounts.size()); | 204 ASSERT_EQ(kMaxFileSystems, observer.mounts.size()); |
206 | 205 |
207 // The next file system is out of limit, and registering it should fail. | 206 // The next file system is out of limit, and registering it should fail. |
208 const bool result = file_system_provider_service_->MountFileSystem( | 207 const bool result = file_system_provider_service_->MountFileSystem( |
209 kExtensionId, kFileSystemId, kFileSystemName); | 208 kExtensionId, kFileSystemId, kDisplayName); |
210 EXPECT_FALSE(result); | 209 EXPECT_FALSE(result); |
211 | 210 |
212 ASSERT_EQ(kMaxFileSystems + 1, observer.mounts.size()); | 211 ASSERT_EQ(kMaxFileSystems + 1, observer.mounts.size()); |
213 EXPECT_EQ(base::File::FILE_ERROR_TOO_MANY_OPENED, | 212 EXPECT_EQ(base::File::FILE_ERROR_TOO_MANY_OPENED, |
214 observer.mounts[kMaxFileSystems].error()); | 213 observer.mounts[kMaxFileSystems].error()); |
215 | 214 |
216 std::vector<ProvidedFileSystemInfo> file_system_info_list = | 215 std::vector<ProvidedFileSystemInfo> file_system_info_list = |
217 file_system_provider_service_->GetProvidedFileSystemInfoList(); | 216 file_system_provider_service_->GetProvidedFileSystemInfoList(); |
218 ASSERT_EQ(kMaxFileSystems, file_system_info_list.size()); | 217 ASSERT_EQ(kMaxFileSystems, file_system_info_list.size()); |
219 | 218 |
220 file_system_provider_service_->RemoveObserver(&observer); | 219 file_system_provider_service_->RemoveObserver(&observer); |
221 } | 220 } |
222 | 221 |
223 TEST_F(FileSystemProviderServiceTest, UnmountFileSystem) { | 222 TEST_F(FileSystemProviderServiceTest, UnmountFileSystem) { |
224 LoggingObserver observer; | 223 LoggingObserver observer; |
225 file_system_provider_service_->AddObserver(&observer); | 224 file_system_provider_service_->AddObserver(&observer); |
226 | 225 |
227 const bool result = file_system_provider_service_->MountFileSystem( | 226 const bool result = file_system_provider_service_->MountFileSystem( |
228 kExtensionId, kFileSystemId, kFileSystemName); | 227 kExtensionId, kFileSystemId, kDisplayName); |
229 EXPECT_TRUE(result); | 228 EXPECT_TRUE(result); |
230 ASSERT_EQ(1u, observer.mounts.size()); | 229 ASSERT_EQ(1u, observer.mounts.size()); |
231 | 230 |
232 const bool unmount_result = file_system_provider_service_->UnmountFileSystem( | 231 const bool unmount_result = file_system_provider_service_->UnmountFileSystem( |
233 kExtensionId, kFileSystemId); | 232 kExtensionId, kFileSystemId); |
234 EXPECT_TRUE(unmount_result); | 233 EXPECT_TRUE(unmount_result); |
235 ASSERT_EQ(1u, observer.unmounts.size()); | 234 ASSERT_EQ(1u, observer.unmounts.size()); |
236 EXPECT_EQ(base::File::FILE_OK, observer.unmounts[0].error()); | 235 EXPECT_EQ(base::File::FILE_OK, observer.unmounts[0].error()); |
237 | 236 |
238 EXPECT_EQ(kExtensionId, | 237 EXPECT_EQ(kExtensionId, |
239 observer.unmounts[0].file_system_info().extension_id()); | 238 observer.unmounts[0].file_system_info().extension_id()); |
240 EXPECT_EQ(kFileSystemId, | 239 EXPECT_EQ(kFileSystemId, |
241 observer.unmounts[0].file_system_info().file_system_id()); | 240 observer.unmounts[0].file_system_info().file_system_id()); |
242 | 241 |
243 std::vector<ProvidedFileSystemInfo> file_system_info_list = | 242 std::vector<ProvidedFileSystemInfo> file_system_info_list = |
244 file_system_provider_service_->GetProvidedFileSystemInfoList(); | 243 file_system_provider_service_->GetProvidedFileSystemInfoList(); |
245 ASSERT_EQ(0u, file_system_info_list.size()); | 244 ASSERT_EQ(0u, file_system_info_list.size()); |
246 | 245 |
247 file_system_provider_service_->RemoveObserver(&observer); | 246 file_system_provider_service_->RemoveObserver(&observer); |
248 } | 247 } |
249 | 248 |
250 TEST_F(FileSystemProviderServiceTest, UnmountFileSystem_OnExtensionUnload) { | 249 TEST_F(FileSystemProviderServiceTest, UnmountFileSystem_OnExtensionUnload) { |
251 LoggingObserver observer; | 250 LoggingObserver observer; |
252 file_system_provider_service_->AddObserver(&observer); | 251 file_system_provider_service_->AddObserver(&observer); |
253 | 252 |
254 const bool result = file_system_provider_service_->MountFileSystem( | 253 const bool result = file_system_provider_service_->MountFileSystem( |
255 kExtensionId, kFileSystemId, kFileSystemName); | 254 kExtensionId, kFileSystemId, kDisplayName); |
256 EXPECT_TRUE(result); | 255 EXPECT_TRUE(result); |
257 ASSERT_EQ(1u, observer.mounts.size()); | 256 ASSERT_EQ(1u, observer.mounts.size()); |
258 | 257 |
259 // Directly call the observer's method. | 258 // Directly call the observer's method. |
260 file_system_provider_service_->OnExtensionUnloaded( | 259 file_system_provider_service_->OnExtensionUnloaded( |
261 profile_.get(), | 260 profile_.get(), |
262 extension_.get(), | 261 extension_.get(), |
263 extensions::UnloadedExtensionInfo::REASON_DISABLE); | 262 extensions::UnloadedExtensionInfo::REASON_DISABLE); |
264 | 263 |
265 ASSERT_EQ(1u, observer.unmounts.size()); | 264 ASSERT_EQ(1u, observer.unmounts.size()); |
(...skipping 11 matching lines...) Expand all Loading... |
277 file_system_provider_service_->RemoveObserver(&observer); | 276 file_system_provider_service_->RemoveObserver(&observer); |
278 } | 277 } |
279 | 278 |
280 TEST_F(FileSystemProviderServiceTest, UnmountFileSystem_WrongExtensionId) { | 279 TEST_F(FileSystemProviderServiceTest, UnmountFileSystem_WrongExtensionId) { |
281 LoggingObserver observer; | 280 LoggingObserver observer; |
282 file_system_provider_service_->AddObserver(&observer); | 281 file_system_provider_service_->AddObserver(&observer); |
283 | 282 |
284 const std::string kWrongExtensionId = "helloworldhelloworldhelloworldhe"; | 283 const std::string kWrongExtensionId = "helloworldhelloworldhelloworldhe"; |
285 | 284 |
286 const bool result = file_system_provider_service_->MountFileSystem( | 285 const bool result = file_system_provider_service_->MountFileSystem( |
287 kExtensionId, kFileSystemId, kFileSystemName); | 286 kExtensionId, kFileSystemId, kDisplayName); |
288 EXPECT_TRUE(result); | 287 EXPECT_TRUE(result); |
289 ASSERT_EQ(1u, observer.mounts.size()); | 288 ASSERT_EQ(1u, observer.mounts.size()); |
290 ASSERT_EQ( | 289 ASSERT_EQ( |
291 1u, | 290 1u, |
292 file_system_provider_service_->GetProvidedFileSystemInfoList().size()); | 291 file_system_provider_service_->GetProvidedFileSystemInfoList().size()); |
293 | 292 |
294 const bool unmount_result = file_system_provider_service_->UnmountFileSystem( | 293 const bool unmount_result = file_system_provider_service_->UnmountFileSystem( |
295 kWrongExtensionId, kFileSystemId); | 294 kWrongExtensionId, kFileSystemId); |
296 EXPECT_FALSE(unmount_result); | 295 EXPECT_FALSE(unmount_result); |
297 ASSERT_EQ(1u, observer.unmounts.size()); | 296 ASSERT_EQ(1u, observer.unmounts.size()); |
298 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, observer.unmounts[0].error()); | 297 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, observer.unmounts[0].error()); |
299 ASSERT_EQ( | 298 ASSERT_EQ( |
300 1u, | 299 1u, |
301 file_system_provider_service_->GetProvidedFileSystemInfoList().size()); | 300 file_system_provider_service_->GetProvidedFileSystemInfoList().size()); |
302 | 301 |
303 std::vector<ProvidedFileSystemInfo> file_system_info_list = | 302 std::vector<ProvidedFileSystemInfo> file_system_info_list = |
304 file_system_provider_service_->GetProvidedFileSystemInfoList(); | 303 file_system_provider_service_->GetProvidedFileSystemInfoList(); |
305 ASSERT_EQ(1u, file_system_info_list.size()); | 304 ASSERT_EQ(1u, file_system_info_list.size()); |
306 | 305 |
307 file_system_provider_service_->RemoveObserver(&observer); | 306 file_system_provider_service_->RemoveObserver(&observer); |
308 } | 307 } |
309 | 308 |
310 TEST_F(FileSystemProviderServiceTest, RestoreFileSystem_OnExtensionLoad) { | 309 TEST_F(FileSystemProviderServiceTest, RestoreFileSystem_OnExtensionLoad) { |
311 LoggingObserver observer; | 310 LoggingObserver observer; |
312 file_system_provider_service_->AddObserver(&observer); | 311 file_system_provider_service_->AddObserver(&observer); |
313 | 312 |
314 // Create a fake entry in the preferences. | 313 // Create a fake entry in the preferences. |
315 RememberFakeFileSystem( | 314 RememberFakeFileSystem( |
316 profile_.get(), kExtensionId, kFileSystemId, kFileSystemName); | 315 profile_.get(), kExtensionId, kFileSystemId, kDisplayName); |
317 | 316 |
318 EXPECT_EQ(0u, observer.mounts.size()); | 317 EXPECT_EQ(0u, observer.mounts.size()); |
319 | 318 |
320 // Directly call the observer's method. | 319 // Directly call the observer's method. |
321 file_system_provider_service_->OnExtensionLoaded(profile_.get(), | 320 file_system_provider_service_->OnExtensionLoaded(profile_.get(), |
322 extension_.get()); | 321 extension_.get()); |
323 | 322 |
324 ASSERT_EQ(1u, observer.mounts.size()); | 323 ASSERT_EQ(1u, observer.mounts.size()); |
325 EXPECT_EQ(base::File::FILE_OK, observer.mounts[0].error()); | 324 EXPECT_EQ(base::File::FILE_OK, observer.mounts[0].error()); |
326 | 325 |
327 EXPECT_EQ(kExtensionId, observer.mounts[0].file_system_info().extension_id()); | 326 EXPECT_EQ(kExtensionId, observer.mounts[0].file_system_info().extension_id()); |
328 EXPECT_EQ(kFileSystemId, | 327 EXPECT_EQ(kFileSystemId, |
329 observer.mounts[0].file_system_info().file_system_id()); | 328 observer.mounts[0].file_system_info().file_system_id()); |
330 | 329 |
331 std::vector<ProvidedFileSystemInfo> file_system_info_list = | 330 std::vector<ProvidedFileSystemInfo> file_system_info_list = |
332 file_system_provider_service_->GetProvidedFileSystemInfoList(); | 331 file_system_provider_service_->GetProvidedFileSystemInfoList(); |
333 ASSERT_EQ(1u, file_system_info_list.size()); | 332 ASSERT_EQ(1u, file_system_info_list.size()); |
334 | 333 |
335 file_system_provider_service_->RemoveObserver(&observer); | 334 file_system_provider_service_->RemoveObserver(&observer); |
336 } | 335 } |
337 | 336 |
338 TEST_F(FileSystemProviderServiceTest, ForgetFileSystem_OnExtensionUnload) { | 337 TEST_F(FileSystemProviderServiceTest, ForgetFileSystem_OnExtensionUnload) { |
339 LoggingObserver observer; | 338 LoggingObserver observer; |
340 file_system_provider_service_->AddObserver(&observer); | 339 file_system_provider_service_->AddObserver(&observer); |
341 | 340 |
342 // Create a fake entry in the preferences. | 341 // Create a fake entry in the preferences. |
343 RememberFakeFileSystem( | 342 RememberFakeFileSystem( |
344 profile_.get(), kExtensionId, kFileSystemId, kFileSystemName); | 343 profile_.get(), kExtensionId, kFileSystemId, kDisplayName); |
345 | 344 |
346 // Directly call the observer's methods. | 345 // Directly call the observer's methods. |
347 file_system_provider_service_->OnExtensionLoaded(profile_.get(), | 346 file_system_provider_service_->OnExtensionLoaded(profile_.get(), |
348 extension_.get()); | 347 extension_.get()); |
349 | 348 |
350 file_system_provider_service_->OnExtensionUnloaded( | 349 file_system_provider_service_->OnExtensionUnloaded( |
351 profile_.get(), | 350 profile_.get(), |
352 extension_.get(), | 351 extension_.get(), |
353 extensions::UnloadedExtensionInfo::REASON_DISABLE); | 352 extensions::UnloadedExtensionInfo::REASON_DISABLE); |
354 | 353 |
(...skipping 19 matching lines...) Expand all Loading... |
374 { | 373 { |
375 scoped_ptr<Service> service( | 374 scoped_ptr<Service> service( |
376 new Service(profile_.get(), extension_registry_.get())); | 375 new Service(profile_.get(), extension_registry_.get())); |
377 service->SetFileSystemFactoryForTesting( | 376 service->SetFileSystemFactoryForTesting( |
378 base::Bind(&FakeProvidedFileSystem::Create)); | 377 base::Bind(&FakeProvidedFileSystem::Create)); |
379 | 378 |
380 LoggingObserver observer; | 379 LoggingObserver observer; |
381 service->AddObserver(&observer); | 380 service->AddObserver(&observer); |
382 | 381 |
383 const bool result = | 382 const bool result = |
384 service->MountFileSystem(kExtensionId, kFileSystemId, kFileSystemName); | 383 service->MountFileSystem(kExtensionId, kFileSystemId, kDisplayName); |
385 EXPECT_TRUE(result); | 384 EXPECT_TRUE(result); |
386 ASSERT_EQ(1u, observer.mounts.size()); | 385 ASSERT_EQ(1u, observer.mounts.size()); |
387 | 386 |
388 service->RemoveObserver(&observer); | 387 service->RemoveObserver(&observer); |
389 } | 388 } |
390 | 389 |
391 TestingPrefServiceSyncable* pref_service = profile_->GetTestingPrefService(); | 390 TestingPrefServiceSyncable* pref_service = profile_->GetTestingPrefService(); |
392 ASSERT_TRUE(pref_service); | 391 ASSERT_TRUE(pref_service); |
393 | 392 |
394 const base::DictionaryValue* extensions = | 393 const base::DictionaryValue* extensions = |
395 pref_service->GetDictionary(prefs::kFileSystemProviderMounted); | 394 pref_service->GetDictionary(prefs::kFileSystemProviderMounted); |
396 ASSERT_TRUE(extensions); | 395 ASSERT_TRUE(extensions); |
397 | 396 |
398 const base::ListValue* file_systems; | 397 const base::ListValue* file_systems; |
399 ASSERT_TRUE(extensions->GetList(kExtensionId, &file_systems)); | 398 ASSERT_TRUE(extensions->GetList(kExtensionId, &file_systems)); |
400 ASSERT_EQ(1u, file_systems->GetSize()); | 399 ASSERT_EQ(1u, file_systems->GetSize()); |
401 | 400 |
402 const base::DictionaryValue* file_system = NULL; | 401 const base::DictionaryValue* file_system = NULL; |
403 ASSERT_TRUE(file_systems->GetDictionary(0, &file_system)); | 402 ASSERT_TRUE(file_systems->GetDictionary(0, &file_system)); |
404 | 403 |
405 std::string file_system_id; | 404 std::string file_system_id; |
406 file_system->GetString(kPrefKeyFileSystemId, &file_system_id); | 405 file_system->GetString(kPrefKeyFileSystemId, &file_system_id); |
407 EXPECT_EQ(kFileSystemId, file_system_id); | 406 EXPECT_EQ(kFileSystemId, file_system_id); |
408 | 407 |
409 std::string file_system_name; | 408 std::string display_name; |
410 file_system->GetString(kPrefKeyFileSystemName, &file_system_name); | 409 file_system->GetString(kPrefKeyDisplayName, &display_name); |
411 EXPECT_EQ(kFileSystemName, file_system_name); | 410 EXPECT_EQ(kDisplayName, display_name); |
412 } | 411 } |
413 | 412 |
414 } // namespace file_system_provider | 413 } // namespace file_system_provider |
415 } // namespace chromeos | 414 } // namespace chromeos |
OLD | NEW |