| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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/strings/stringprintf.h" | 5 #include "base/strings/stringprintf.h" |
| 6 #include "chrome/browser/extensions/activity_log/activity_log.h" | 6 #include "chrome/browser/extensions/activity_log/activity_log.h" |
| 7 #include "chrome/browser/extensions/extension_apitest.h" | 7 #include "chrome/browser/extensions/extension_apitest.h" |
| 8 #include "chrome/browser/extensions/extension_browsertest.h" | 8 #include "chrome/browser/extensions/extension_browsertest.h" |
| 9 #include "chrome/browser/prerender/prerender_handle.h" | 9 #include "chrome/browser/prerender/prerender_handle.h" |
| 10 #include "chrome/browser/prerender/prerender_manager.h" | 10 #include "chrome/browser/prerender/prerender_manager.h" |
| 11 #include "chrome/browser/prerender/prerender_manager_factory.h" | 11 #include "chrome/browser/prerender/prerender_manager_factory.h" |
| 12 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 12 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
| 13 #include "chrome/common/chrome_switches.h" | 13 #include "chrome/common/chrome_switches.h" |
| 14 #include "chrome/test/base/ui_test_utils.h" | 14 #include "chrome/test/base/ui_test_utils.h" |
| 15 #include "content/public/browser/notification_service.h" | 15 #include "content/public/browser/notification_service.h" |
| 16 #include "content/public/test/browser_test_utils.h" | 16 #include "content/public/test/browser_test_utils.h" |
| 17 #include "net/dns/mock_host_resolver.h" | 17 #include "net/dns/mock_host_resolver.h" |
| 18 #include "net/test/embedded_test_server/embedded_test_server.h" |
| 18 | 19 |
| 19 namespace extensions { | 20 namespace extensions { |
| 20 | 21 |
| 21 // Used to fire all of the listeners on the test buttons. | 22 // Used to fire all of the listeners on the test buttons. |
| 22 static const char kScriptBeginClickingTestButtons[] = | 23 static const char kScriptBeginClickingTestButtons[] = |
| 23 "(function() {" | 24 "(function() {" |
| 24 " setRunningAsRobot();" | 25 " setRunningAsRobot();" |
| 25 " beginClickingTestButtons();" | 26 " beginClickingTestButtons();" |
| 26 "})();"; | 27 "})();"; |
| 27 | 28 |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 77 // TODO(ataly): test flaky on windows. See Bug: crbug.com/245594 | 78 // TODO(ataly): test flaky on windows. See Bug: crbug.com/245594 |
| 78 #define MAYBE_ChromeEndToEnd DISABLED_ChromeEndToEnd | 79 #define MAYBE_ChromeEndToEnd DISABLED_ChromeEndToEnd |
| 79 #else | 80 #else |
| 80 #define MAYBE_ChromeEndToEnd ChromeEndToEnd | 81 #define MAYBE_ChromeEndToEnd ChromeEndToEnd |
| 81 #endif | 82 #endif |
| 82 | 83 |
| 83 IN_PROC_BROWSER_TEST_F(ActivityLogExtensionTest, MAYBE_ChromeEndToEnd) { | 84 IN_PROC_BROWSER_TEST_F(ActivityLogExtensionTest, MAYBE_ChromeEndToEnd) { |
| 84 TabStripModel* tab_strip = StartTestServerAndInitialize(); | 85 TabStripModel* tab_strip = StartTestServerAndInitialize(); |
| 85 ResultCatcher catcher; | 86 ResultCatcher catcher; |
| 86 // Set the default URL so that is has the correct port number. | 87 // Set the default URL so that is has the correct port number. |
| 87 net::HostPortPair host_port = test_server()->host_port_pair(); | |
| 88 std::string url_setting_script = base::StringPrintf( | 88 std::string url_setting_script = base::StringPrintf( |
| 89 "defaultUrl = \'http://www.google.com:%d\';", host_port.port()); | 89 "defaultUrl = \'http://www.google.com:%d\';", |
| 90 embedded_test_server()->port()); |
| 90 ASSERT_TRUE(content::ExecuteScript(tab_strip->GetActiveWebContents(), | 91 ASSERT_TRUE(content::ExecuteScript(tab_strip->GetActiveWebContents(), |
| 91 url_setting_script)); | 92 url_setting_script)); |
| 92 // Set the test buttons array | 93 // Set the test buttons array |
| 93 std::string test_buttons_setting_script = | 94 std::string test_buttons_setting_script = |
| 94 "setTestButtons(document.getElementsByName('chromeButton'))"; | 95 "setTestButtons(document.getElementsByName('chromeButton'))"; |
| 95 ASSERT_TRUE(content::ExecuteScript(tab_strip->GetActiveWebContents(), | 96 ASSERT_TRUE(content::ExecuteScript(tab_strip->GetActiveWebContents(), |
| 96 test_buttons_setting_script)); | 97 test_buttons_setting_script)); |
| 97 // Run the test by firing all the buttons. Wait until completion. | 98 // Run the test by firing all the buttons. Wait until completion. |
| 98 ASSERT_TRUE(content::ExecuteScript(tab_strip->GetActiveWebContents(), | 99 ASSERT_TRUE(content::ExecuteScript(tab_strip->GetActiveWebContents(), |
| 99 kScriptBeginClickingTestButtons)); | 100 kScriptBeginClickingTestButtons)); |
| 100 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 101 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
| 101 } | 102 } |
| 102 | 103 |
| 103 #if defined(OS_WIN) || defined(OS_MACOSX) | 104 #if defined(OS_WIN) || defined(OS_MACOSX) |
| 104 // TODO(ataly): test flaky on windows and Mac. See Bug: crbug.com/245594 | 105 // TODO(ataly): test flaky on windows and Mac. See Bug: crbug.com/245594 |
| 105 #define MAYBE_DOMEndToEnd DISABLED_DOMEndToEnd | 106 #define MAYBE_DOMEndToEnd DISABLED_DOMEndToEnd |
| 106 #else | 107 #else |
| 107 #define MAYBE_DOMEndToEnd DOMEndToEnd | 108 #define MAYBE_DOMEndToEnd DOMEndToEnd |
| 108 #endif | 109 #endif |
| 109 | 110 |
| 110 IN_PROC_BROWSER_TEST_F(ActivityLogExtensionTest, MAYBE_DOMEndToEnd) { | 111 IN_PROC_BROWSER_TEST_F(ActivityLogExtensionTest, MAYBE_DOMEndToEnd) { |
| 111 TabStripModel* tab_strip = StartTestServerAndInitialize(); | 112 TabStripModel* tab_strip = StartTestServerAndInitialize(); |
| 112 ResultCatcher catcher; | 113 ResultCatcher catcher; |
| 113 // Set the default URL so that is has the correct port number. | 114 // Set the default URL so that is has the correct port number. |
| 114 net::HostPortPair host_port = test_server()->host_port_pair(); | |
| 115 std::string url_setting_script = base::StringPrintf( | 115 std::string url_setting_script = base::StringPrintf( |
| 116 "defaultUrl = \'http://www.google.com:%d\';", host_port.port()); | 116 "defaultUrl = \'http://www.google.com:%d\';", |
| 117 embedded_test_server()->port()); |
| 117 ASSERT_TRUE(content::ExecuteScript(tab_strip->GetActiveWebContents(), | 118 ASSERT_TRUE(content::ExecuteScript(tab_strip->GetActiveWebContents(), |
| 118 url_setting_script)); | 119 url_setting_script)); |
| 119 // Set the test buttons array | 120 // Set the test buttons array |
| 120 std::string test_buttons_setting_script = | 121 std::string test_buttons_setting_script = |
| 121 "setTestButtons(document.getElementsByName('domButton'))"; | 122 "setTestButtons(document.getElementsByName('domButton'))"; |
| 122 ASSERT_TRUE(content::ExecuteScript(tab_strip->GetActiveWebContents(), | 123 ASSERT_TRUE(content::ExecuteScript(tab_strip->GetActiveWebContents(), |
| 123 test_buttons_setting_script)); | 124 test_buttons_setting_script)); |
| 124 // Run the test by firing all the buttons. Wait until completion. | 125 // Run the test by firing all the buttons. Wait until completion. |
| 125 ASSERT_TRUE(content::ExecuteScript(tab_strip->GetActiveWebContents(), | 126 ASSERT_TRUE(content::ExecuteScript(tab_strip->GetActiveWebContents(), |
| 126 kScriptBeginClickingTestButtons)); | 127 kScriptBeginClickingTestButtons)); |
| 127 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 128 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
| 128 } | 129 } |
| 129 | 130 |
| 130 IN_PROC_BROWSER_TEST_F(ActivityLogExtensionTest, ExtensionPrerender) { | 131 IN_PROC_BROWSER_TEST_F(ActivityLogExtensionTest, ExtensionPrerender) { |
| 131 host_resolver()->AddRule("*", "127.0.0.1"); | 132 host_resolver()->AddRule("*", "127.0.0.1"); |
| 132 StartTestServer(); | 133 StartTestServer(); |
| 133 int port = test_server()->host_port_pair().port(); | 134 int port = embedded_test_server()->port(); |
| 134 | 135 |
| 135 // Get the extension (chrome/test/data/extensions/activity_log) | 136 // Get the extension (chrome/test/data/extensions/activity_log) |
| 136 const Extension* ext = | 137 const Extension* ext = |
| 137 LoadExtension(test_data_dir_.AppendASCII("activity_log")); | 138 LoadExtension(test_data_dir_.AppendASCII("activity_log")); |
| 138 ASSERT_TRUE(ext); | 139 ASSERT_TRUE(ext); |
| 139 | 140 |
| 140 ActivityLog* activity_log = ActivityLog::GetInstance(profile()); | 141 ActivityLog* activity_log = ActivityLog::GetInstance(profile()); |
| 141 activity_log->SetDefaultPolicy(ActivityLogPolicy::POLICY_FULLSTREAM); | 142 activity_log->SetDefaultPolicy(ActivityLogPolicy::POLICY_FULLSTREAM); |
| 142 ASSERT_TRUE(activity_log); | 143 ASSERT_TRUE(activity_log); |
| 143 | 144 |
| (...skipping 29 matching lines...) Expand all Loading... |
| 173 | 174 |
| 174 activity_log->GetActions( | 175 activity_log->GetActions( |
| 175 ext->id(), 0, base::Bind( | 176 ext->id(), 0, base::Bind( |
| 176 ActivityLogExtensionTest::Prerender_Arguments, port)); | 177 ActivityLogExtensionTest::Prerender_Arguments, port)); |
| 177 | 178 |
| 178 // Allow invocation of Prerender_Arguments | 179 // Allow invocation of Prerender_Arguments |
| 179 base::MessageLoop::current()->Run(); | 180 base::MessageLoop::current()->Run(); |
| 180 } | 181 } |
| 181 | 182 |
| 182 } // namespace extensions | 183 } // namespace extensions |
| OLD | NEW |