Chromium Code Reviews| 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/path_service.h" | 5 #include "base/path_service.h" |
| 6 #include "base/strings/stringprintf.h" | 6 #include "base/strings/stringprintf.h" |
| 7 #include "base/strings/utf_string_conversions.h" | 7 #include "base/strings/utf_string_conversions.h" |
| 8 #include "chrome/browser/apps/app_browsertest_util.h" | 8 #include "chrome/browser/apps/app_browsertest_util.h" |
| 9 #include "chrome/browser/chrome_content_browser_client.h" | 9 #include "chrome/browser/chrome_content_browser_client.h" |
| 10 #include "chrome/browser/prerender/prerender_link_manager.h" | 10 #include "chrome/browser/prerender/prerender_link_manager.h" |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 62 using task_manager::browsertest_util::MatchAnyWebView; | 62 using task_manager::browsertest_util::MatchAnyWebView; |
| 63 using task_manager::browsertest_util::MatchApp; | 63 using task_manager::browsertest_util::MatchApp; |
| 64 using task_manager::browsertest_util::MatchBackground; | 64 using task_manager::browsertest_util::MatchBackground; |
| 65 using task_manager::browsertest_util::MatchWebView; | 65 using task_manager::browsertest_util::MatchWebView; |
| 66 using task_manager::browsertest_util::WaitForTaskManagerRows; | 66 using task_manager::browsertest_util::WaitForTaskManagerRows; |
| 67 using ui::MenuModel; | 67 using ui::MenuModel; |
| 68 | 68 |
| 69 namespace { | 69 namespace { |
| 70 const char kEmptyResponsePath[] = "/close-socket"; | 70 const char kEmptyResponsePath[] = "/close-socket"; |
| 71 const char kRedirectResponsePath[] = "/server-redirect"; | 71 const char kRedirectResponsePath[] = "/server-redirect"; |
| 72 const char kUserAgentRedirectResponsePath[] = "/detect-user-agent"; | |
| 72 const char kRedirectResponseFullPath[] = | 73 const char kRedirectResponseFullPath[] = |
| 73 "/extensions/platform_apps/web_view/shim/guest_redirect.html"; | 74 "/extensions/platform_apps/web_view/shim/guest_redirect.html"; |
| 74 | 75 |
| 75 // Platform-specific filename relative to the chrome executable. | 76 // Platform-specific filename relative to the chrome executable. |
| 76 #if defined(OS_WIN) | 77 #if defined(OS_WIN) |
| 77 const wchar_t library_name[] = L"ppapi_tests.dll"; | 78 const wchar_t library_name[] = L"ppapi_tests.dll"; |
| 78 #elif defined(OS_MACOSX) | 79 #elif defined(OS_MACOSX) |
| 79 const char library_name[] = "ppapi_tests.plugin"; | 80 const char library_name[] = "ppapi_tests.plugin"; |
| 80 #elif defined(OS_POSIX) | 81 #elif defined(OS_POSIX) |
| 81 const char library_name[] = "libppapi_tests.so"; | 82 const char library_name[] = "libppapi_tests.so"; |
| (...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 463 *persistent_partition_contents1 = source5->GetWebContents(); | 464 *persistent_partition_contents1 = source5->GetWebContents(); |
| 464 } | 465 } |
| 465 if (persistent_partition_contents2) { | 466 if (persistent_partition_contents2) { |
| 466 *persistent_partition_contents2 = source6->GetWebContents(); | 467 *persistent_partition_contents2 = source6->GetWebContents(); |
| 467 } | 468 } |
| 468 if (persistent_partition_contents3) { | 469 if (persistent_partition_contents3) { |
| 469 *persistent_partition_contents3 = source7->GetWebContents(); | 470 *persistent_partition_contents3 = source7->GetWebContents(); |
| 470 } | 471 } |
| 471 } | 472 } |
| 472 | 473 |
| 474 // Handles |request| by serving a redirect response if the |User-Agent| is | |
| 475 // foobar. | |
| 476 static scoped_ptr<net::test_server::HttpResponse> UserAgentResponseHandler( | |
| 477 const std::string& path, | |
| 478 const GURL& redirect_target, | |
| 479 const net::test_server::HttpRequest& request) { | |
| 480 if (!StartsWithASCII(path, request.relative_url, true)) | |
| 481 return scoped_ptr<net::test_server::HttpResponse>(); | |
| 482 | |
| 483 std::map<std::string, std::string>::const_iterator it = | |
| 484 request.headers.find("User-Agent"); | |
| 485 EXPECT_TRUE(it != request.headers.end()); | |
| 486 if (!StartsWithASCII("foobar", it->second, true)) | |
| 487 return scoped_ptr<net::test_server::HttpResponse>(); | |
| 488 | |
| 489 scoped_ptr<net::test_server::BasicHttpResponse> http_response( | |
| 490 new net::test_server::BasicHttpResponse); | |
| 491 http_response->set_code(net::HTTP_MOVED_PERMANENTLY); | |
| 492 http_response->AddCustomHeader("Location", redirect_target.spec()); | |
| 493 return http_response.PassAs<net::test_server::HttpResponse>(); | |
| 494 } | |
| 495 | |
| 473 // Handles |request| by serving a redirect response. | 496 // Handles |request| by serving a redirect response. |
| 474 static scoped_ptr<net::test_server::HttpResponse> RedirectResponseHandler( | 497 static scoped_ptr<net::test_server::HttpResponse> RedirectResponseHandler( |
| 475 const std::string& path, | 498 const std::string& path, |
| 476 const GURL& redirect_target, | 499 const GURL& redirect_target, |
| 477 const net::test_server::HttpRequest& request) { | 500 const net::test_server::HttpRequest& request) { |
| 478 if (!StartsWithASCII(path, request.relative_url, true)) | 501 if (!StartsWithASCII(path, request.relative_url, true)) |
| 479 return scoped_ptr<net::test_server::HttpResponse>(); | 502 return scoped_ptr<net::test_server::HttpResponse>(); |
| 480 | 503 |
| 481 scoped_ptr<net::test_server::BasicHttpResponse> http_response( | 504 scoped_ptr<net::test_server::BasicHttpResponse> http_response( |
| 482 new net::test_server::BasicHttpResponse); | 505 new net::test_server::BasicHttpResponse); |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 530 LOG(ERROR) << "FAILED TO START TEST SERVER."; | 553 LOG(ERROR) << "FAILED TO START TEST SERVER."; |
| 531 return; | 554 return; |
| 532 } | 555 } |
| 533 embedded_test_server()->RegisterRequestHandler( | 556 embedded_test_server()->RegisterRequestHandler( |
| 534 base::Bind(&WebViewTest::RedirectResponseHandler, | 557 base::Bind(&WebViewTest::RedirectResponseHandler, |
| 535 kRedirectResponsePath, | 558 kRedirectResponsePath, |
| 536 embedded_test_server()->GetURL(kRedirectResponseFullPath))); | 559 embedded_test_server()->GetURL(kRedirectResponseFullPath))); |
| 537 | 560 |
| 538 embedded_test_server()->RegisterRequestHandler( | 561 embedded_test_server()->RegisterRequestHandler( |
| 539 base::Bind(&WebViewTest::EmptyResponseHandler, kEmptyResponsePath)); | 562 base::Bind(&WebViewTest::EmptyResponseHandler, kEmptyResponsePath)); |
| 563 | |
| 564 embedded_test_server()->RegisterRequestHandler( | |
|
lfg
2014/10/08 17:23:31
The request handler should be defined in web_view_
Fady Samuel
2014/10/08 19:18:50
Done.
| |
| 565 base::Bind( | |
| 566 &WebViewTest::UserAgentResponseHandler, | |
| 567 kUserAgentRedirectResponsePath, | |
| 568 embedded_test_server()->GetURL(kRedirectResponseFullPath))); | |
| 540 } | 569 } |
| 541 | 570 |
| 542 LoadAndLaunchPlatformApp(app_location.c_str(), "Launched"); | 571 LoadAndLaunchPlatformApp(app_location.c_str(), "Launched"); |
| 543 | 572 |
| 544 // Flush any pending events to make sure we start with a clean slate. | 573 // Flush any pending events to make sure we start with a clean slate. |
| 545 content::RunAllPendingInMessageLoop(); | 574 content::RunAllPendingInMessageLoop(); |
| 546 | 575 |
| 547 content::WebContents* embedder_web_contents = | 576 content::WebContents* embedder_web_contents = |
| 548 GetFirstAppWindowWebContents(); | 577 GetFirstAppWindowWebContents(); |
| 549 if (!embedder_web_contents) { | 578 if (!embedder_web_contents) { |
| (...skipping 471 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1021 Shim_TestDeclarativeWebRequestAPISendMessage) { | 1050 Shim_TestDeclarativeWebRequestAPISendMessage) { |
| 1022 TestHelper("testDeclarativeWebRequestAPISendMessage", | 1051 TestHelper("testDeclarativeWebRequestAPISendMessage", |
| 1023 "web_view/shim", | 1052 "web_view/shim", |
| 1024 NEEDS_TEST_SERVER); | 1053 NEEDS_TEST_SERVER); |
| 1025 } | 1054 } |
| 1026 | 1055 |
| 1027 IN_PROC_BROWSER_TEST_F(WebViewTest, Shim_TestWebRequestAPI) { | 1056 IN_PROC_BROWSER_TEST_F(WebViewTest, Shim_TestWebRequestAPI) { |
| 1028 TestHelper("testWebRequestAPI", "web_view/shim", NEEDS_TEST_SERVER); | 1057 TestHelper("testWebRequestAPI", "web_view/shim", NEEDS_TEST_SERVER); |
| 1029 } | 1058 } |
| 1030 | 1059 |
| 1060 IN_PROC_BROWSER_TEST_F(WebViewTest, Shim_TestWebRequestAPIWithHeaders) { | |
| 1061 TestHelper("testWebRequestAPIWithHeaders", | |
| 1062 "web_view/shim", | |
| 1063 NEEDS_TEST_SERVER); | |
| 1064 } | |
| 1065 | |
| 1031 IN_PROC_BROWSER_TEST_F(WebViewTest, Shim_TestWebRequestAPIGoogleProperty) { | 1066 IN_PROC_BROWSER_TEST_F(WebViewTest, Shim_TestWebRequestAPIGoogleProperty) { |
| 1032 TestHelper("testWebRequestAPIGoogleProperty", | 1067 TestHelper("testWebRequestAPIGoogleProperty", |
| 1033 "web_view/shim", | 1068 "web_view/shim", |
| 1034 NO_TEST_SERVER); | 1069 NO_TEST_SERVER); |
| 1035 } | 1070 } |
| 1036 | 1071 |
| 1037 // This test is disabled due to being flaky. http://crbug.com/309451 | 1072 // This test is disabled due to being flaky. http://crbug.com/309451 |
| 1038 #if defined(OS_WIN) | 1073 #if defined(OS_WIN) |
| 1039 #define MAYBE_Shim_TestWebRequestListenerSurvivesReparenting \ | 1074 #define MAYBE_Shim_TestWebRequestListenerSurvivesReparenting \ |
| 1040 DISABLED_Shim_TestWebRequestListenerSurvivesReparenting | 1075 DISABLED_Shim_TestWebRequestListenerSurvivesReparenting |
| (...skipping 1231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2272 // http://crbug.com/403325 | 2307 // http://crbug.com/403325 |
| 2273 #define MAYBE_WebViewInBackgroundPage \ | 2308 #define MAYBE_WebViewInBackgroundPage \ |
| 2274 DISABLED_WebViewInBackgroundPage | 2309 DISABLED_WebViewInBackgroundPage |
| 2275 #else | 2310 #else |
| 2276 #define MAYBE_WebViewInBackgroundPage WebViewInBackgroundPage | 2311 #define MAYBE_WebViewInBackgroundPage WebViewInBackgroundPage |
| 2277 #endif | 2312 #endif |
| 2278 IN_PROC_BROWSER_TEST_F(WebViewTest, MAYBE_WebViewInBackgroundPage) { | 2313 IN_PROC_BROWSER_TEST_F(WebViewTest, MAYBE_WebViewInBackgroundPage) { |
| 2279 ASSERT_TRUE(RunExtensionTest("platform_apps/web_view/background")) | 2314 ASSERT_TRUE(RunExtensionTest("platform_apps/web_view/background")) |
| 2280 << message_; | 2315 << message_; |
| 2281 } | 2316 } |
| OLD | NEW |