Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(881)

Side by Side Diff: chrome/test/in_process_browser_test.h

Issue 199074: Don't allow updating tabs to javascript URLs without host (Closed)
Patch Set: Remove unchanged file Created 11 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 #ifndef CHROME_TEST_IN_PROCESS_BROWSER_TEST_H_ 5 #ifndef CHROME_TEST_IN_PROCESS_BROWSER_TEST_H_
6 #define CHROME_TEST_IN_PROCESS_BROWSER_TEST_H_ 6 #define CHROME_TEST_IN_PROCESS_BROWSER_TEST_H_
7 7
8 #include "net/base/mock_host_resolver.h"
8 #include "net/url_request/url_request_unittest.h" 9 #include "net/url_request/url_request_unittest.h"
9 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
10 11
11 class Browser; 12 class Browser;
12 class Profile; 13 class Profile;
13 namespace net { 14 namespace net {
14 class RuleBasedHostResolverProc; 15 class RuleBasedHostResolverProc;
15 } 16 }
16 17
17 // Base class for tests wanting to bring up a browser in the unit test process. 18 // Base class for tests wanting to bring up a browser in the unit test process.
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 // Override this rather than TestBody. 64 // Override this rather than TestBody.
64 virtual void RunTestOnMainThread() = 0; 65 virtual void RunTestOnMainThread() = 0;
65 66
66 // Override this to add command line flags specific to your test. 67 // Override this to add command line flags specific to your test.
67 virtual void SetUpCommandLine(CommandLine* command_line) {} 68 virtual void SetUpCommandLine(CommandLine* command_line) {}
68 69
69 // Override this to add any custom cleanup code that needs to be done on the 70 // Override this to add any custom cleanup code that needs to be done on the
70 // main thread before the browser is torn down. 71 // main thread before the browser is torn down.
71 virtual void CleanUpOnMainThread() {} 72 virtual void CleanUpOnMainThread() {}
72 73
73 // Allows subclasses to configure the host resolver procedure. By default
74 // this blocks requests to google.com as Chrome pings that on startup and we
75 // don't want to do that during testing.
76 virtual void ConfigureHostResolverProc(net::RuleBasedHostResolverProc* proc);
77
78 // Invoked when a test is not finishing in a timely manner. 74 // Invoked when a test is not finishing in a timely manner.
79 void TimedOut(); 75 void TimedOut();
80 76
81 // Sets Initial Timeout value. 77 // Sets Initial Timeout value.
82 void SetInitialTimeoutInMS(int initial_timeout); 78 void SetInitialTimeoutInMS(int initial_timeout);
83 79
84 // Starts an HTTP server. 80 // Starts an HTTP server.
85 HTTPTestServer* StartHTTPServer(); 81 HTTPTestServer* StartHTTPServer();
86 82
87 // Creates a browser with a single tab (about:blank), waits for the tab to 83 // Creates a browser with a single tab (about:blank), waits for the tab to
88 // finish loading and shows the browser. 84 // finish loading and shows the browser.
89 // 85 //
90 // This is invoked from Setup. 86 // This is invoked from Setup.
91 virtual Browser* CreateBrowser(Profile* profile); 87 virtual Browser* CreateBrowser(Profile* profile);
92 88
89 // Returns the host resolver being used for the tests. Subclasses might want
90 // to configure it inside tests.
91 net::RuleBasedHostResolverProc* host_resolver() {
92 return host_resolver_.get();
93 }
94
93 // Sets some test states (see below for comments). Call this in your test 95 // Sets some test states (see below for comments). Call this in your test
94 // constructor. 96 // constructor.
95 void set_show_window(bool show) { show_window_ = show; } 97 void set_show_window(bool show) { show_window_ = show; }
96 void EnableDOMAutomation() { dom_automation_enabled_ = true; } 98 void EnableDOMAutomation() { dom_automation_enabled_ = true; }
97 void EnableSingleProcess() { single_process_ = true; } 99 void EnableSingleProcess() { single_process_ = true; }
98 100
99 private: 101 private:
100 // Invokes CreateBrowser to create a browser, then RunTestOnMainThread, and 102 // Invokes CreateBrowser to create a browser, then RunTestOnMainThread, and
101 // destroys the browser. 103 // destroys the browser.
102 void RunTestOnMainThreadLoop(); 104 void RunTestOnMainThreadLoop();
(...skipping 18 matching lines...) Expand all
121 // We muck with the global command line for this process. Keep the original 123 // We muck with the global command line for this process. Keep the original
122 // so we can reset it when we're done. 124 // so we can reset it when we're done.
123 scoped_ptr<CommandLine> original_command_line_; 125 scoped_ptr<CommandLine> original_command_line_;
124 126
125 // Saved to restore the value of RenderProcessHost::run_renderer_in_process. 127 // Saved to restore the value of RenderProcessHost::run_renderer_in_process.
126 bool original_single_process_; 128 bool original_single_process_;
127 129
128 // Initial timeout value in ms. 130 // Initial timeout value in ms.
129 int initial_timeout_; 131 int initial_timeout_;
130 132
133 // Host resolver to use during the test.
134 scoped_refptr<net::RuleBasedHostResolverProc> host_resolver_;
135
131 DISALLOW_COPY_AND_ASSIGN(InProcessBrowserTest); 136 DISALLOW_COPY_AND_ASSIGN(InProcessBrowserTest);
132 }; 137 };
133 138
134 // We only want to use IN_PROC_BROWSER_TEST in binaries which will properly 139 // We only want to use IN_PROC_BROWSER_TEST in binaries which will properly
135 // isolate each test case. Otherwise hard-to-debug, possibly intermittent 140 // isolate each test case. Otherwise hard-to-debug, possibly intermittent
136 // crashes caused by carrying state in singletons are very likely. 141 // crashes caused by carrying state in singletons are very likely.
137 #if defined(ALLOW_IN_PROC_BROWSER_TEST) 142 #if defined(ALLOW_IN_PROC_BROWSER_TEST)
138 143
139 #define IN_PROC_BROWSER_TEST_(test_case_name, test_name, parent_class,\ 144 #define IN_PROC_BROWSER_TEST_(test_case_name, test_name, parent_class,\
140 parent_id)\ 145 parent_id)\
(...skipping 20 matching lines...) Expand all
161 GTEST_TEST_CLASS_NAME_(test_case_name, test_name)>);\ 166 GTEST_TEST_CLASS_NAME_(test_case_name, test_name)>);\
162 void GTEST_TEST_CLASS_NAME_(test_case_name, test_name)::RunTestOnMainThread() 167 void GTEST_TEST_CLASS_NAME_(test_case_name, test_name)::RunTestOnMainThread()
163 168
164 #define IN_PROC_BROWSER_TEST_F(test_fixture, test_name)\ 169 #define IN_PROC_BROWSER_TEST_F(test_fixture, test_name)\
165 IN_PROC_BROWSER_TEST_(test_fixture, test_name, test_fixture,\ 170 IN_PROC_BROWSER_TEST_(test_fixture, test_name, test_fixture,\
166 ::testing::internal::GetTypeId<test_fixture>()) 171 ::testing::internal::GetTypeId<test_fixture>())
167 172
168 #endif // defined(ALLOW_IN_PROC_BROWSER_TEST) 173 #endif // defined(ALLOW_IN_PROC_BROWSER_TEST)
169 174
170 #endif // CHROME_TEST_IN_PROCESS_BROWSER_TEST_H_ 175 #endif // CHROME_TEST_IN_PROCESS_BROWSER_TEST_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698