OLD | NEW |
---|---|
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/macros.h" | 5 #include "base/macros.h" |
6 #include "base/strings/utf_string_conversions.h" | 6 #include "base/strings/utf_string_conversions.h" |
7 #include "base/values.h" | 7 #include "base/values.h" |
8 #include "build/build_config.h" | 8 #include "build/build_config.h" |
9 #include "content/browser/frame_host/navigation_entry_impl.h" | 9 #include "content/browser/frame_host/navigation_entry_impl.h" |
10 #include "content/browser/renderer_host/render_widget_host_impl.h" | 10 #include "content/browser/renderer_host/render_widget_host_impl.h" |
(...skipping 1149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1160 | 1160 |
1161 // Check that pre-warmed process isn't used. | 1161 // Check that pre-warmed process isn't used. |
1162 EXPECT_NE(renderer_id, web_contents->GetRenderProcessHost()->GetID()); | 1162 EXPECT_NE(renderer_id, web_contents->GetRenderProcessHost()->GetID()); |
1163 EXPECT_EQ(1, web_contents->GetController().GetEntryCount()); | 1163 EXPECT_EQ(1, web_contents->GetController().GetEntryCount()); |
1164 NavigationEntry* entry = | 1164 NavigationEntry* entry = |
1165 web_contents->GetController().GetLastCommittedEntry(); | 1165 web_contents->GetController().GetLastCommittedEntry(); |
1166 ASSERT_TRUE(entry); | 1166 ASSERT_TRUE(entry); |
1167 EXPECT_EQ(web_ui_url, entry->GetURL()); | 1167 EXPECT_EQ(web_ui_url, entry->GetURL()); |
1168 } | 1168 } |
1169 | 1169 |
1170 namespace { | |
1171 | |
1172 class DownloadImageObserver { | |
1173 public: | |
1174 MOCK_METHOD5(OnFinishDownloadImage, void( | |
1175 int id, | |
1176 int status_code, | |
1177 const GURL& image_url, | |
1178 const std::vector<SkBitmap>& bitmap, | |
1179 const std::vector<gfx::Size>& sizes)); | |
1180 ~DownloadImageObserver() = default; | |
1181 }; | |
1182 | |
1183 void DownloadImageTestInternal(Shell* shell, | |
1184 const GURL &page_url, | |
1185 const GURL &image_url, | |
1186 int expected_http_status) { | |
1187 using ::testing::_; | |
1188 using ::testing::InvokeWithoutArgs; | |
1189 using ::testing::Ne; | |
1190 | |
1191 // Set up everything. | |
1192 DownloadImageObserver download_image_observer; | |
1193 scoped_refptr<MessageLoopRunner> loop_runner = | |
1194 new MessageLoopRunner(); | |
1195 | |
1196 // Set up expectation and stub. | |
1197 EXPECT_CALL(download_image_observer, | |
1198 OnFinishDownloadImage(_, expected_http_status, _, _, _)) | |
1199 .WillOnce(InvokeWithoutArgs([&]() { | |
1200 loop_runner->Quit(); | |
1201 })); | |
1202 ON_CALL(download_image_observer, | |
1203 OnFinishDownloadImage(_, Ne(expected_http_status), _, _, _)) | |
1204 .WillByDefault(InvokeWithoutArgs([&]() { | |
1205 loop_runner->Quit(); | |
1206 })); | |
1207 | |
1208 // Load test URL and start download image. | |
1209 shell->LoadURL(page_url); | |
1210 | |
1211 shell->web_contents()->DownloadImage( | |
1212 image_url, false, 1024, false, | |
1213 base::Bind(&DownloadImageObserver::OnFinishDownloadImage, | |
1214 base::Unretained(&download_image_observer))); | |
1215 | |
1216 // Wait for response. | |
1217 loop_runner->Run(); | |
1218 } | |
1219 | |
1220 } // anonymous namespace | |
1221 | |
1222 IN_PROC_BROWSER_TEST_F(WebContentsImplBrowserTest, | |
1223 DownloadImage_HttpPage_HttpImage) { | |
pkotwicz
2016/07/04 20:17:17
I tried this test locally and it fails.
I think t
Zhiqiang Zhang (Slow)
2016/07/05 15:46:58
Done.
| |
1224 ASSERT_TRUE(embedded_test_server()->Start()); | |
1225 | |
1226 const GURL kPageUrl = | |
1227 embedded_test_server()->GetURL("/simple_page.html"); | |
1228 const GURL kImageUrl = | |
1229 embedded_test_server()->GetURL("/image.jpg"); | |
1230 | |
1231 DownloadImageTestInternal(shell(), kPageUrl, kImageUrl, 0); | |
1232 } | |
1233 | |
1234 IN_PROC_BROWSER_TEST_F(WebContentsImplBrowserTest, | |
1235 DownloadImage_FilePage_HttpImage) { | |
1236 ASSERT_TRUE(embedded_test_server()->Start()); | |
1237 | |
1238 const GURL kPageUrl = | |
1239 GetTestUrl("", "simple_page.html"); | |
1240 const GURL kImageUrl = | |
1241 embedded_test_server()->GetURL("/image.jpg"); | |
1242 | |
1243 DownloadImageTestInternal(shell(), kPageUrl, kImageUrl, 200); | |
1244 } | |
1245 | |
1246 IN_PROC_BROWSER_TEST_F(WebContentsImplBrowserTest, | |
1247 DownloadImage_Deny_HttpPage_FileImage) { | |
1248 ASSERT_TRUE(embedded_test_server()->Start()); | |
1249 | |
1250 const GURL kPageUrl = | |
1251 embedded_test_server()->GetURL("/simple_page.html"); | |
1252 const GURL kImageUrl = | |
1253 GetTestUrl("", "image.jpg"); | |
1254 | |
1255 DownloadImageTestInternal(shell(), kPageUrl, kImageUrl, 0); | |
1256 } | |
1257 | |
1258 IN_PROC_BROWSER_TEST_F(WebContentsImplBrowserTest, | |
1259 DownloadImage_Deny_FilePage_FileImage) { | |
1260 const GURL kPageUrl = GetTestUrl("", "simple-page.html"); | |
1261 const GURL kImageUrl = GetTestUrl("", "image.jpg"); | |
1262 | |
1263 DownloadImageTestInternal(shell(), kPageUrl, kImageUrl, 0); | |
1264 } | |
1265 | |
1170 } // namespace content | 1266 } // namespace content |
OLD | NEW |