blob: 598a75c9d1c5f35cf8686fccd42667c9af6bb136 [file] [log] [blame]
[email protected]c107d492012-01-30 17:59:161// Copyright (c) 2012 The Chromium Authors. All rights reserved.
[email protected]912256b32009-09-18 09:47:352// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "chrome/browser/extensions/extension_apitest.h"
[email protected]f2cb3cf2013-03-21 01:40:536#include "net/dns/mock_host_resolver.h"
[email protected]912256b32009-09-18 09:47:357
[email protected]4712e852010-11-24 13:17:198class 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");
15 }
16};
[email protected]912256b32009-09-18 09:47:3517
[email protected]59d8048a2012-02-09 19:27:0018// If failing, mark disabled and update http://crbug.com/92105.
[email protected]de4381e2012-11-26 22:43:1419IN_PROC_BROWSER_TEST_F(ExecuteScriptApiTest, ExecuteScriptBasic) {
[email protected]4712e852010-11-24 13:17:1920 SetupDelayedHostResolver();
[email protected]c1dffe82013-06-26 20:59:0521 ASSERT_TRUE(StartEmbeddedTestServer());
[email protected]ad6530c2009-12-17 19:43:5622 ASSERT_TRUE(RunExtensionTest("executescript/basic")) << message_;
[email protected]4712e852010-11-24 13:17:1923}
24
[email protected]59d8048a2012-02-09 19:27:0025// If failing, mark disabled and update http://crbug.com/92105.
[email protected]de4381e2012-11-26 22:43:1426IN_PROC_BROWSER_TEST_F(ExecuteScriptApiTest, ExecuteScriptInFrame) {
[email protected]4712e852010-11-24 13:17:1927 SetupDelayedHostResolver();
[email protected]c1dffe82013-06-26 20:59:0528 ASSERT_TRUE(StartEmbeddedTestServer());
[email protected]ad6530c2009-12-17 19:43:5629 ASSERT_TRUE(RunExtensionTest("executescript/in_frame")) << message_;
[email protected]4712e852010-11-24 13:17:1930}
31
[email protected]110642b2013-02-06 21:25:5232// Fails often on Windows.
33// http://crbug.com/174715
34#if defined(OS_WIN)
35#define MAYBE_ExecuteScriptPermissions DISABLED_ExecuteScriptPermissions
36#else
37#define MAYBE_ExecuteScriptPermissions ExecuteScriptPermissions
38#endif // defined(OS_WIN)
39
40IN_PROC_BROWSER_TEST_F(ExecuteScriptApiTest, MAYBE_ExecuteScriptPermissions) {
[email protected]4712e852010-11-24 13:17:1941 SetupDelayedHostResolver();
[email protected]c1dffe82013-06-26 20:59:0542 ASSERT_TRUE(StartEmbeddedTestServer());
[email protected]61f5a7b2009-12-22 22:21:2043 ASSERT_TRUE(RunExtensionTest("executescript/permissions")) << message_;
[email protected]912256b32009-09-18 09:47:3544}
[email protected]a7664e12010-04-08 20:37:4345
[email protected]59d8048a2012-02-09 19:27:0046// If failing, mark disabled and update http://crbug.com/84760.
[email protected]f34706be2012-09-04 07:32:0947IN_PROC_BROWSER_TEST_F(ExecuteScriptApiTest, ExecuteScriptFileAfterClose) {
[email protected]a7664e12010-04-08 20:37:4348 host_resolver()->AddRule("b.com", "127.0.0.1");
[email protected]c1dffe82013-06-26 20:59:0549 ASSERT_TRUE(StartEmbeddedTestServer());
[email protected]a7664e12010-04-08 20:37:4350 ASSERT_TRUE(RunExtensionTest("executescript/file_after_close")) << message_;
51}
[email protected]10e40f312011-02-01 03:54:2052
[email protected]59d8048a2012-02-09 19:27:0053// If crashing, mark disabled and update http://crbug.com/67774.
54IN_PROC_BROWSER_TEST_F(ExecuteScriptApiTest, ExecuteScriptFragmentNavigation) {
[email protected]c1dffe82013-06-26 20:59:0555 ASSERT_TRUE(StartEmbeddedTestServer());
[email protected]10e40f312011-02-01 03:54:2056 const char* extension_name = "executescript/fragment";
57 ASSERT_TRUE(RunExtensionTest(extension_name)) << message_;
58}
[email protected]4b96a992011-04-07 19:47:0759
[email protected]e1b3f40a2013-05-24 10:40:0860// Fails often on Windows dbg bots. http://crbug.com/177163
61#if defined(OS_WIN)
62#define MAYBE_NavigationRaceExecuteScript DISABLED_NavigationRaceExecuteScript
63#else
64#define MAYBE_NavigationRaceExecuteScript NavigationRaceExecuteScript
65#endif // defined(OS_WIN)
66IN_PROC_BROWSER_TEST_F(ExecuteScriptApiTest,
67 MAYBE_NavigationRaceExecuteScript) {
[email protected]4b96a992011-04-07 19:47:0768 host_resolver()->AddRule("a.com", "127.0.0.1");
69 host_resolver()->AddRule("b.com", "127.0.0.1");
[email protected]c1dffe82013-06-26 20:59:0570 ASSERT_TRUE(StartEmbeddedTestServer());
[email protected]4b96a992011-04-07 19:47:0771 ASSERT_TRUE(RunExtensionSubtest("executescript/navigation_race",
72 "execute_script.html")) << message_;
[email protected]c30cf4b2011-06-09 01:25:1073}
74
[email protected]c107d492012-01-30 17:59:1675IN_PROC_BROWSER_TEST_F(ExecuteScriptApiTest, NavigationRaceJavaScriptURL) {
[email protected]c30cf4b2011-06-09 01:25:1076 host_resolver()->AddRule("a.com", "127.0.0.1");
77 host_resolver()->AddRule("b.com", "127.0.0.1");
[email protected]c1dffe82013-06-26 20:59:0578 ASSERT_TRUE(StartEmbeddedTestServer());
[email protected]4b96a992011-04-07 19:47:0779 ASSERT_TRUE(RunExtensionSubtest("executescript/navigation_race",
80 "javascript_url.html")) << message_;
81}
[email protected]d45ce252011-04-11 18:20:5082
[email protected]59d8048a2012-02-09 19:27:0083// If failing, mark disabled and update http://crbug.com/92105.
84IN_PROC_BROWSER_TEST_F(ExecuteScriptApiTest, ExecuteScriptFrameAfterLoad) {
[email protected]d45ce252011-04-11 18:20:5085 SetupDelayedHostResolver();
[email protected]c1dffe82013-06-26 20:59:0586 ASSERT_TRUE(StartEmbeddedTestServer());
[email protected]d45ce252011-04-11 18:20:5087 ASSERT_TRUE(RunExtensionTest("executescript/frame_after_load")) << message_;
88}
[email protected]e7d6ec82012-04-13 19:00:2489
90IN_PROC_BROWSER_TEST_F(ExecuteScriptApiTest, ExecuteScriptRunAt) {
91 SetupDelayedHostResolver();
[email protected]c1dffe82013-06-26 20:59:0592 ASSERT_TRUE(StartEmbeddedTestServer());
[email protected]e7d6ec82012-04-13 19:00:2493 ASSERT_TRUE(RunExtensionTest("executescript/run_at")) << message_;
94}
[email protected]cab8cd982012-07-20 20:57:0395
96IN_PROC_BROWSER_TEST_F(ExecuteScriptApiTest, ExecuteScriptCallback) {
97 SetupDelayedHostResolver();
[email protected]c1dffe82013-06-26 20:59:0598 ASSERT_TRUE(StartEmbeddedTestServer());
[email protected]cab8cd982012-07-20 20:57:0399 ASSERT_TRUE(RunExtensionTest("executescript/callback")) << message_;
100}
[email protected]0df49432014-03-04 01:02:50101
102IN_PROC_BROWSER_TEST_F(ExecuteScriptApiTest, UserGesture) {
103 SetupDelayedHostResolver();
104 ASSERT_TRUE(StartEmbeddedTestServer());
105 ASSERT_TRUE(RunExtensionTest("executescript/user_gesture")) << message_;
106}