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 "base/bind.h" | 5 #include "base/bind.h" |
6 #include "base/bind_helpers.h" | 6 #include "base/bind_helpers.h" |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/files/scoped_temp_dir.h" | 8 #include "base/files/scoped_temp_dir.h" |
9 #include "base/strings/stringprintf.h" | 9 #include "base/strings/stringprintf.h" |
10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
(...skipping 26 matching lines...) Expand all Loading... |
37 #endif | 37 #endif |
38 | 38 |
39 const char kTestGalleries[] = "testGalleries(%d)"; | 39 const char kTestGalleries[] = "testGalleries(%d)"; |
40 | 40 |
41 } // namespace | 41 } // namespace |
42 | 42 |
43 // This function is to ensure at least one (fake) media gallery exists for | 43 // This function is to ensure at least one (fake) media gallery exists for |
44 // testing platforms with no default media galleries, such as CHROMEOS. | 44 // testing platforms with no default media galleries, such as CHROMEOS. |
45 void MakeFakeMediaGalleryForTest(Profile* profile, const base::FilePath& path) { | 45 void MakeFakeMediaGalleryForTest(Profile* profile, const base::FilePath& path) { |
46 base::RunLoop runloop; | 46 base::RunLoop runloop; |
47 chrome::StorageMonitor::GetInstance()->EnsureInitialized( | 47 StorageMonitor::GetInstance()->EnsureInitialized(runloop.QuitClosure()); |
48 runloop.QuitClosure()); | |
49 runloop.Run(); | 48 runloop.Run(); |
50 | 49 |
51 chrome::MediaGalleriesPreferences* preferences = | 50 MediaGalleriesPreferences* preferences = |
52 g_browser_process->media_file_system_registry()->GetPreferences(profile); | 51 g_browser_process->media_file_system_registry()->GetPreferences(profile); |
53 | 52 |
54 chrome::MediaGalleryPrefInfo gallery_info; | 53 MediaGalleryPrefInfo gallery_info; |
55 ASSERT_FALSE(preferences->LookUpGalleryByPath(path, &gallery_info)); | 54 ASSERT_FALSE(preferences->LookUpGalleryByPath(path, &gallery_info)); |
56 preferences->AddGallery(gallery_info.device_id, | 55 preferences->AddGallery(gallery_info.device_id, |
57 gallery_info.path, | 56 gallery_info.path, |
58 false /* user_added */, | 57 false /* user_added */, |
59 gallery_info.volume_label, | 58 gallery_info.volume_label, |
60 gallery_info.vendor_name, | 59 gallery_info.vendor_name, |
61 gallery_info.model_name, | 60 gallery_info.model_name, |
62 gallery_info.total_size_in_bytes, | 61 gallery_info.total_size_in_bytes, |
63 gallery_info.last_attach_time); | 62 gallery_info.last_attach_time); |
64 | 63 |
(...skipping 10 matching lines...) Expand all Loading... |
75 extensions::ExtensionSystem::Get(browser()->profile())-> | 74 extensions::ExtensionSystem::Get(browser()->profile())-> |
76 process_manager()->GetBackgroundHostForExtension(extension->id()); | 75 process_manager()->GetBackgroundHostForExtension(extension->id()); |
77 ASSERT_TRUE(host); | 76 ASSERT_TRUE(host); |
78 | 77 |
79 ResultCatcher catcher; | 78 ResultCatcher catcher; |
80 host->render_view_host()->ExecuteJavascriptInWebFrame(string16(), command); | 79 host->render_view_host()->ExecuteJavascriptInWebFrame(string16(), command); |
81 EXPECT_TRUE(catcher.GetNextResult()) << message_; | 80 EXPECT_TRUE(catcher.GetNextResult()) << message_; |
82 } | 81 } |
83 | 82 |
84 void AttachFakeDevice() { | 83 void AttachFakeDevice() { |
85 device_id_ = chrome::StorageInfo::MakeDeviceId( | 84 device_id_ = StorageInfo::MakeDeviceId( |
86 chrome::StorageInfo::REMOVABLE_MASS_STORAGE_WITH_DCIM, kDeviceId); | 85 StorageInfo::REMOVABLE_MASS_STORAGE_WITH_DCIM, kDeviceId); |
87 | 86 |
88 chrome::StorageMonitor::GetInstance()->receiver()->ProcessAttach( | 87 StorageMonitor::GetInstance()->receiver()->ProcessAttach( |
89 chrome::StorageInfo(device_id_, string16(), kDevicePath, | 88 StorageInfo(device_id_, string16(), kDevicePath, |
90 ASCIIToUTF16(kDeviceName), | 89 ASCIIToUTF16(kDeviceName), string16(), string16(), 0)); |
91 string16(), string16(), 0)); | |
92 content::RunAllPendingInMessageLoop(); | 90 content::RunAllPendingInMessageLoop(); |
93 } | 91 } |
94 | 92 |
95 void DetachFakeDevice() { | 93 void DetachFakeDevice() { |
96 chrome::StorageMonitor::GetInstance()->receiver()->ProcessDetach( | 94 StorageMonitor::GetInstance()->receiver()->ProcessDetach(device_id_); |
97 device_id_); | |
98 content::RunAllPendingInMessageLoop(); | 95 content::RunAllPendingInMessageLoop(); |
99 } | 96 } |
100 | 97 |
101 private: | 98 private: |
102 std::string device_id_; | 99 std::string device_id_; |
103 }; | 100 }; |
104 | 101 |
105 IN_PROC_BROWSER_TEST_F(MediaGalleriesPlatformAppBrowserTest, | 102 IN_PROC_BROWSER_TEST_F(MediaGalleriesPlatformAppBrowserTest, |
106 MediaGalleriesNoAccess) { | 103 MediaGalleriesNoAccess) { |
107 chrome::EnsureMediaDirectoriesExists media_directories; | 104 EnsureMediaDirectoriesExists media_directories; |
108 ASSERT_TRUE(RunPlatformAppTest("api_test/media_galleries/no_access")) | 105 ASSERT_TRUE(RunPlatformAppTest("api_test/media_galleries/no_access")) |
109 << message_; | 106 << message_; |
110 RunSecondTestPhase(base::UTF8ToUTF16(base::StringPrintf( | 107 RunSecondTestPhase(base::UTF8ToUTF16(base::StringPrintf( |
111 kTestGalleries, media_directories.num_galleries()))); | 108 kTestGalleries, media_directories.num_galleries()))); |
112 } | 109 } |
113 | 110 |
114 IN_PROC_BROWSER_TEST_F(MediaGalleriesPlatformAppBrowserTest, NoGalleriesRead) { | 111 IN_PROC_BROWSER_TEST_F(MediaGalleriesPlatformAppBrowserTest, NoGalleriesRead) { |
115 chrome::EnsureMediaDirectoriesExists media_directories; | 112 EnsureMediaDirectoriesExists media_directories; |
116 ASSERT_TRUE(RunPlatformAppTest("api_test/media_galleries/no_galleries")) | 113 ASSERT_TRUE(RunPlatformAppTest("api_test/media_galleries/no_galleries")) |
117 << message_; | 114 << message_; |
118 } | 115 } |
119 | 116 |
120 IN_PROC_BROWSER_TEST_F(MediaGalleriesPlatformAppBrowserTest, | 117 IN_PROC_BROWSER_TEST_F(MediaGalleriesPlatformAppBrowserTest, |
121 NoGalleriesCopyTo) { | 118 NoGalleriesCopyTo) { |
122 chrome::EnsureMediaDirectoriesExists media_directories; | 119 EnsureMediaDirectoriesExists media_directories; |
123 ASSERT_TRUE(RunPlatformAppTest( | 120 ASSERT_TRUE(RunPlatformAppTest( |
124 "api_test/media_galleries/no_galleries_copy_to")) << message_; | 121 "api_test/media_galleries/no_galleries_copy_to")) << message_; |
125 } | 122 } |
126 | 123 |
127 IN_PROC_BROWSER_TEST_F(MediaGalleriesPlatformAppBrowserTest, | 124 IN_PROC_BROWSER_TEST_F(MediaGalleriesPlatformAppBrowserTest, |
128 MediaGalleriesRead) { | 125 MediaGalleriesRead) { |
129 chrome::EnsureMediaDirectoriesExists media_directories; | 126 EnsureMediaDirectoriesExists media_directories; |
130 ASSERT_TRUE(RunPlatformAppTest("api_test/media_galleries/read_access")) | 127 ASSERT_TRUE(RunPlatformAppTest("api_test/media_galleries/read_access")) |
131 << message_; | 128 << message_; |
132 RunSecondTestPhase(base::UTF8ToUTF16(base::StringPrintf( | 129 RunSecondTestPhase(base::UTF8ToUTF16(base::StringPrintf( |
133 kTestGalleries, media_directories.num_galleries()))); | 130 kTestGalleries, media_directories.num_galleries()))); |
134 } | 131 } |
135 | 132 |
136 IN_PROC_BROWSER_TEST_F(MediaGalleriesPlatformAppBrowserTest, | 133 IN_PROC_BROWSER_TEST_F(MediaGalleriesPlatformAppBrowserTest, |
137 MediaGalleriesCopyTo) { | 134 MediaGalleriesCopyTo) { |
138 chrome::EnsureMediaDirectoriesExists media_directories; | 135 EnsureMediaDirectoriesExists media_directories; |
139 base::ScopedTempDir temp_dir; | 136 base::ScopedTempDir temp_dir; |
140 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 137 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
141 MakeFakeMediaGalleryForTest(browser()->profile(), temp_dir.path()); | 138 MakeFakeMediaGalleryForTest(browser()->profile(), temp_dir.path()); |
142 ASSERT_TRUE(RunPlatformAppTest("api_test/media_galleries/copy_to_access")) | 139 ASSERT_TRUE(RunPlatformAppTest("api_test/media_galleries/copy_to_access")) |
143 << message_; | 140 << message_; |
144 } | 141 } |
145 | 142 |
146 IN_PROC_BROWSER_TEST_F(MediaGalleriesPlatformAppBrowserTest, | 143 IN_PROC_BROWSER_TEST_F(MediaGalleriesPlatformAppBrowserTest, |
147 MediaGalleriesCopyToNoAccess) { | 144 MediaGalleriesCopyToNoAccess) { |
148 chrome::EnsureMediaDirectoriesExists media_directories; | 145 EnsureMediaDirectoriesExists media_directories; |
149 base::ScopedTempDir temp_dir; | 146 base::ScopedTempDir temp_dir; |
150 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 147 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
151 MakeFakeMediaGalleryForTest(browser()->profile(), temp_dir.path()); | 148 MakeFakeMediaGalleryForTest(browser()->profile(), temp_dir.path()); |
152 ASSERT_TRUE(RunPlatformAppTest( | 149 ASSERT_TRUE(RunPlatformAppTest( |
153 "api_test/media_galleries/copy_to_access/no_access")) | 150 "api_test/media_galleries/copy_to_access/no_access")) |
154 << message_; | 151 << message_; |
155 } | 152 } |
156 | 153 |
157 IN_PROC_BROWSER_TEST_F(MediaGalleriesPlatformAppBrowserTest, | 154 IN_PROC_BROWSER_TEST_F(MediaGalleriesPlatformAppBrowserTest, |
158 MediaGalleriesAccessAttached) { | 155 MediaGalleriesAccessAttached) { |
159 chrome::EnsureMediaDirectoriesExists media_directories; | 156 EnsureMediaDirectoriesExists media_directories; |
160 | 157 |
161 AttachFakeDevice(); | 158 AttachFakeDevice(); |
162 | 159 |
163 ASSERT_TRUE(RunPlatformAppTest("api_test/media_galleries/access_attached")) | 160 ASSERT_TRUE(RunPlatformAppTest("api_test/media_galleries/access_attached")) |
164 << message_; | 161 << message_; |
165 | 162 |
166 RunSecondTestPhase(ASCIIToUTF16(base::StringPrintf( | 163 RunSecondTestPhase(ASCIIToUTF16(base::StringPrintf( |
167 "testGalleries(%d, \"%s\")", | 164 "testGalleries(%d, \"%s\")", |
168 media_directories.num_galleries() + 1, kDeviceName))); | 165 media_directories.num_galleries() + 1, kDeviceName))); |
169 | 166 |
170 DetachFakeDevice(); | 167 DetachFakeDevice(); |
171 } | 168 } |
172 | 169 |
173 IN_PROC_BROWSER_TEST_F(MediaGalleriesPlatformAppBrowserTest, | 170 IN_PROC_BROWSER_TEST_F(MediaGalleriesPlatformAppBrowserTest, |
174 GetFilesystemMetadata) { | 171 GetFilesystemMetadata) { |
175 chrome::EnsureMediaDirectoriesExists media_directories; | 172 EnsureMediaDirectoriesExists media_directories; |
176 ASSERT_TRUE(RunPlatformAppTest("api_test/media_galleries/metadata")) | 173 ASSERT_TRUE(RunPlatformAppTest("api_test/media_galleries/metadata")) |
177 << message_; | 174 << message_; |
178 } | 175 } |
OLD | NEW |