Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / browser / extensions / execute_script_apitest.cc
blob90c30b856945656f4fc07c13a68d55206c82e351
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
3 // found in the LICENSE file.
5 #include "chrome/browser/extensions/extension_apitest.h"
6 #include "net/dns/mock_host_resolver.h"
8 class ExecuteScriptApiTest : public ExtensionApiTest {
9 protected:
10 void SetupDelayedHostResolver() {
11 // We need a.com to be a little bit slow to trigger a race condition.
12 host_resolver()->AddRuleWithLatency("a.com", "127.0.0.1", 500);
13 host_resolver()->AddRule("b.com", "127.0.0.1");
14 host_resolver()->AddRule("c.com", "127.0.0.1");
18 // If failing, mark disabled and update http://crbug.com/92105.
19 IN_PROC_BROWSER_TEST_F(ExecuteScriptApiTest, ExecuteScriptBasic) {
20 SetupDelayedHostResolver();
21 ASSERT_TRUE(StartEmbeddedTestServer());
22 ASSERT_TRUE(RunExtensionTest("executescript/basic")) << message_;
25 IN_PROC_BROWSER_TEST_F(ExecuteScriptApiTest, ExecuteScriptBadEncoding) {
26 SetupDelayedHostResolver();
27 ASSERT_TRUE(StartEmbeddedTestServer());
28 // data/extensions/api_test/../bad = data/extensions/bad
29 ASSERT_TRUE(RunExtensionTest("../bad")) << message_;
32 // If failing, mark disabled and update http://crbug.com/92105.
33 IN_PROC_BROWSER_TEST_F(ExecuteScriptApiTest, ExecuteScriptInFrame) {
34 SetupDelayedHostResolver();
35 ASSERT_TRUE(StartEmbeddedTestServer());
36 ASSERT_TRUE(RunExtensionTest("executescript/in_frame")) << message_;
39 // Fails often on Windows.
40 // http://crbug.com/174715
41 #if defined(OS_WIN)
42 #define MAYBE_ExecuteScriptPermissions DISABLED_ExecuteScriptPermissions
43 #else
44 #define MAYBE_ExecuteScriptPermissions ExecuteScriptPermissions
45 #endif // defined(OS_WIN)
47 IN_PROC_BROWSER_TEST_F(ExecuteScriptApiTest, MAYBE_ExecuteScriptPermissions) {
48 SetupDelayedHostResolver();
49 ASSERT_TRUE(StartEmbeddedTestServer());
50 ASSERT_TRUE(RunExtensionTest("executescript/permissions")) << message_;
53 // If failing, mark disabled and update http://crbug.com/84760.
54 IN_PROC_BROWSER_TEST_F(ExecuteScriptApiTest, ExecuteScriptFileAfterClose) {
55 host_resolver()->AddRule("b.com", "127.0.0.1");
56 ASSERT_TRUE(StartEmbeddedTestServer());
57 ASSERT_TRUE(RunExtensionTest("executescript/file_after_close")) << message_;
60 // If crashing, mark disabled and update http://crbug.com/67774.
61 IN_PROC_BROWSER_TEST_F(ExecuteScriptApiTest, ExecuteScriptFragmentNavigation) {
62 ASSERT_TRUE(StartEmbeddedTestServer());
63 const char extension_name[] = "executescript/fragment";
64 ASSERT_TRUE(RunExtensionTest(extension_name)) << message_;
67 // Fails often on Windows dbg bots. http://crbug.com/177163
68 #if defined(OS_WIN)
69 #define MAYBE_NavigationRaceExecuteScript DISABLED_NavigationRaceExecuteScript
70 #else
71 #define MAYBE_NavigationRaceExecuteScript NavigationRaceExecuteScript
72 #endif // defined(OS_WIN)
73 IN_PROC_BROWSER_TEST_F(ExecuteScriptApiTest,
74 MAYBE_NavigationRaceExecuteScript) {
75 host_resolver()->AddRule("a.com", "127.0.0.1");
76 host_resolver()->AddRule("b.com", "127.0.0.1");
77 ASSERT_TRUE(StartEmbeddedTestServer());
78 ASSERT_TRUE(RunExtensionSubtest("executescript/navigation_race",
79 "execute_script.html")) << message_;
82 IN_PROC_BROWSER_TEST_F(ExecuteScriptApiTest, NavigationRaceJavaScriptURL) {
83 host_resolver()->AddRule("a.com", "127.0.0.1");
84 host_resolver()->AddRule("b.com", "127.0.0.1");
85 ASSERT_TRUE(StartEmbeddedTestServer());
86 ASSERT_TRUE(RunExtensionSubtest("executescript/navigation_race",
87 "javascript_url.html")) << message_;
90 // If failing, mark disabled and update http://crbug.com/92105.
91 IN_PROC_BROWSER_TEST_F(ExecuteScriptApiTest, ExecuteScriptFrameAfterLoad) {
92 SetupDelayedHostResolver();
93 ASSERT_TRUE(StartEmbeddedTestServer());
94 ASSERT_TRUE(RunExtensionTest("executescript/frame_after_load")) << message_;
97 IN_PROC_BROWSER_TEST_F(ExecuteScriptApiTest, ExecuteScriptRunAt) {
98 SetupDelayedHostResolver();
99 ASSERT_TRUE(StartEmbeddedTestServer());
100 ASSERT_TRUE(RunExtensionTest("executescript/run_at")) << message_;
103 IN_PROC_BROWSER_TEST_F(ExecuteScriptApiTest, ExecuteScriptCallback) {
104 SetupDelayedHostResolver();
105 ASSERT_TRUE(StartEmbeddedTestServer());
106 ASSERT_TRUE(RunExtensionTest("executescript/callback")) << message_;
109 IN_PROC_BROWSER_TEST_F(ExecuteScriptApiTest, UserGesture) {
110 SetupDelayedHostResolver();
111 ASSERT_TRUE(StartEmbeddedTestServer());
112 ASSERT_TRUE(RunExtensionTest("executescript/user_gesture")) << message_;
115 IN_PROC_BROWSER_TEST_F(ExecuteScriptApiTest, InjectIntoSubframesOnLoad) {
116 SetupDelayedHostResolver();
117 ASSERT_TRUE(StartEmbeddedTestServer());
118 ASSERT_TRUE(RunExtensionTest("executescript/subframes_on_load")) << message_;
121 IN_PROC_BROWSER_TEST_F(ExecuteScriptApiTest, RemovedFrames) {
122 SetupDelayedHostResolver();
123 ASSERT_TRUE(StartEmbeddedTestServer());
124 ASSERT_TRUE(RunExtensionTest("executescript/removed_frames")) << message_;