summaryrefslogtreecommitdiffstats
path: root/chrome/test
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/test')
-rw-r--r--chrome/test/automation/automation_proxy.cc14
-rw-r--r--chrome/test/automation/automation_proxy.h18
-rw-r--r--chrome/test/automation/automation_proxy_uitest.cc20
-rw-r--r--chrome/test/automation/automation_proxy_uitest.h14
-rw-r--r--chrome/test/automation/proxy_launcher.cc75
-rw-r--r--chrome/test/automation/proxy_launcher.h78
-rw-r--r--chrome/test/ui/named_interface_uitest.cc42
-rw-r--r--chrome/test/ui/ui_test.cc60
-rw-r--r--chrome/test/ui/ui_test.h27
9 files changed, 48 insertions, 300 deletions
diff --git a/chrome/test/automation/automation_proxy.cc b/chrome/test/automation/automation_proxy.cc
index a33f095..fbdde25 100644
--- a/chrome/test/automation/automation_proxy.cc
+++ b/chrome/test/automation/automation_proxy.cc
@@ -107,8 +107,10 @@ AutomationProxy::AutomationProxy(int command_execution_timeout_ms,
// least it is legal... ;-)
DCHECK_GE(command_execution_timeout_ms, 0);
listener_thread_id_ = PlatformThread::CurrentId();
+ InitializeChannelID();
InitializeHandleTracker();
InitializeThread();
+ InitializeChannel();
}
AutomationProxy::~AutomationProxy() {
@@ -120,7 +122,7 @@ AutomationProxy::~AutomationProxy() {
tracker_.reset();
}
-std::string AutomationProxy::GenerateChannelID() {
+void AutomationProxy::InitializeChannelID() {
// The channel counter keeps us out of trouble if we create and destroy
// several AutomationProxies sequentially over the course of a test run.
// (Creating the channel sometimes failed before when running a lot of
@@ -131,7 +133,7 @@ std::string AutomationProxy::GenerateChannelID() {
std::ostringstream buf;
buf << "ChromeTestingInterface:" << base::GetCurrentProcId() <<
"." << ++channel_counter;
- return buf.str();
+ channel_id_ = buf.str();
}
void AutomationProxy::InitializeThread() {
@@ -144,8 +146,7 @@ void AutomationProxy::InitializeThread() {
thread_.swap(thread);
}
-void AutomationProxy::InitializeChannel(const std::string& channel_id,
- bool use_named_interface) {
+void AutomationProxy::InitializeChannel() {
DCHECK(shutdown_event_.get() != NULL);
// TODO(iyengar)
@@ -153,9 +154,8 @@ void AutomationProxy::InitializeChannel(const std::string& channel_id,
// provider, where we use the shutdown event provided by the chrome browser
// process.
channel_.reset(new IPC::SyncChannel(
- channel_id,
- use_named_interface ? IPC::Channel::MODE_NAMED_CLIENT
- : IPC::Channel::MODE_SERVER,
+ channel_id_,
+ IPC::Channel::MODE_SERVER,
this, // we are the listener
new AutomationMessageFilter(this),
thread_->message_loop(),
diff --git a/chrome/test/automation/automation_proxy.h b/chrome/test/automation/automation_proxy.h
index 7902ef0..853a6d3 100644
--- a/chrome/test/automation/automation_proxy.h
+++ b/chrome/test/automation/automation_proxy.h
@@ -61,17 +61,6 @@ class AutomationProxy : public IPC::Channel::Listener,
AutomationProxy(int command_execution_timeout_ms, bool disconnect_on_failure);
virtual ~AutomationProxy();
- // Creates a previously unused channel id.
- static std::string GenerateChannelID();
-
- // Initializes a channel for a connection to an AutomationProvider.
- // If use_named_interface is false, it will act as a client
- // and connect to the named IPC socket with channel_id as its path.
- // If use_named_interface is true, it will act as a server and
- // use an anonymous socketpair instead.
- void InitializeChannel(const std::string& channel_id,
- bool use_named_interface);
-
// IPC callback
virtual void OnMessageReceived(const IPC::Message& msg);
virtual void OnChannelError();
@@ -219,6 +208,10 @@ class AutomationProxy : public IPC::Channel::Listener,
const std::string& password) WARN_UNUSED_RESULT;
#endif
+ // Returns the ID of the automation IPC channel, so that it can be
+ // passed to the app as a launch parameter.
+ const std::string& channel_id() const { return channel_id_; }
+
#if defined(OS_POSIX)
base::file_handle_mapping_vector fds_to_map() const;
#endif
@@ -270,9 +263,12 @@ class AutomationProxy : public IPC::Channel::Listener,
protected:
template <class T> scoped_refptr<T> ProxyObjectFromHandle(int handle);
+ void InitializeChannelID();
void InitializeThread();
+ void InitializeChannel();
void InitializeHandleTracker();
+ std::string channel_id_;
scoped_ptr<base::Thread> thread_;
scoped_ptr<IPC::SyncChannel> channel_;
scoped_ptr<AutomationHandleTracker> tracker_;
diff --git a/chrome/test/automation/automation_proxy_uitest.cc b/chrome/test/automation/automation_proxy_uitest.cc
index f94e442..db6a18e4 100644
--- a/chrome/test/automation/automation_proxy_uitest.cc
+++ b/chrome/test/automation/automation_proxy_uitest.cc
@@ -841,27 +841,11 @@ template <typename T> T** ReceivePointer(scoped_refptr<T>& p) { // NOLINT
return reinterpret_cast<T**>(&p);
}
-// Replace the default automation proxy with our mock client.
-ProxyLauncher* ExternalTabUITest::CreateProxyLauncher() {
- channel_id_ = AutomationProxy::GenerateChannelID();
- return this;
-}
-
-AutomationProxy* ExternalTabUITest::CreateAutomationProxy(
- int execution_timeout) {
- mock_ = new ExternalTabUITestMockClient(execution_timeout);
- mock_->InitializeChannel(channel_id_, false);
+AutomationProxy* ExternalTabUITest::CreateAutomationProxy(int exec_timeout) {
+ mock_ = new ExternalTabUITestMockClient(exec_timeout);
return mock_;
}
-void ExternalTabUITest::InitializeConnection(UITestBase* ui_test_base) const {
- ui_test_base->LaunchBrowserAndServer();
-}
-
-std::string ExternalTabUITest::PrefixedChannelID() const {
- return channel_id_;
-}
-
// Create with specifying a url
// Flaky, http://crbug.com/32293
TEST_F(ExternalTabUITest, FLAKY_CreateExternalTab1) {
diff --git a/chrome/test/automation/automation_proxy_uitest.h b/chrome/test/automation/automation_proxy_uitest.h
index 073cd5b..55da8cc 100644
--- a/chrome/test/automation/automation_proxy_uitest.h
+++ b/chrome/test/automation/automation_proxy_uitest.h
@@ -12,7 +12,6 @@
#include "base/platform_thread.h"
#include "base/time.h"
#include "chrome/test/automation/automation_proxy.h"
-#include "chrome/test/automation/proxy_launcher.h"
#include "chrome/test/ui/ui_test.h"
#include "gfx/native_widget_types.h"
#include "googleurl/src/gurl.h"
@@ -110,26 +109,19 @@ class ExternalTabUITestMockClient : public AutomationProxy {
};
// Base your external tab UI tests on this.
-class ExternalTabUITest : public UITest, public ProxyLauncher {
+class ExternalTabUITest : public UITest {
public:
ExternalTabUITest() : UITest(MessageLoop::TYPE_UI) {}
-
- // Override UITest's CreateProxyLauncher to provide the unit test
+ // Override UITest's CreateAutomationProxy to provide the unit test
// with our special implementation of AutomationProxy.
- // This function is called from within UITest::SetUp().
- virtual ProxyLauncher* CreateProxyLauncher();
-
- // ProxyLauncher functions
+ // This function is called from within UITest::LaunchBrowserAndServer.
virtual AutomationProxy* CreateAutomationProxy(int execution_timeout);
- virtual void InitializeConnection(UITestBase* ui_test_base) const;
- virtual std::string PrefixedChannelID() const;
protected:
// Filtered Inet will override automation callbacks for network resources.
virtual bool ShouldFilterInet() {
return false;
}
ExternalTabUITestMockClient* mock_;
- std::string channel_id_; // Channel id of automation proxy.
};
#endif // CHROME_TEST_AUTOMATION_AUTOMATION_PROXY_UITEST_H_
diff --git a/chrome/test/automation/proxy_launcher.cc b/chrome/test/automation/proxy_launcher.cc
deleted file mode 100644
index 2325958..0000000
--- a/chrome/test/automation/proxy_launcher.cc
+++ /dev/null
@@ -1,75 +0,0 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/test/automation/proxy_launcher.h"
-
-#include "chrome/common/automation_constants.h"
-#include "chrome/common/logging_chrome.h"
-#include "chrome/test/automation/automation_proxy.h"
-#include "chrome/test/ui/ui_test.h"
-
-// Default path of named testing interface.
-static const char kInterfacePath[] = "/var/tmp/ChromeTestingInterface";
-
-// NamedProxyLauncher functions
-
-NamedProxyLauncher::NamedProxyLauncher(bool launch_browser,
- bool disconnect_on_failure)
- : launch_browser_(launch_browser),
- disconnect_on_failure_(disconnect_on_failure) {
- channel_id_ = kInterfacePath;
-}
-
-AutomationProxy* NamedProxyLauncher::CreateAutomationProxy(
- int execution_timeout) {
- AutomationProxy* proxy = new AutomationProxy(execution_timeout,
- disconnect_on_failure_);
- proxy->InitializeChannel(channel_id_, true);
- return proxy;
-}
-
-void NamedProxyLauncher::InitializeConnection(UITestBase* ui_test_base) const {
- if (launch_browser_) {
- // Set up IPC testing interface as a client.
- ui_test_base->LaunchBrowser();
-
- // Wait for browser to be ready for connections.
- struct stat file_info;
- while (stat(kInterfacePath, &file_info))
- PlatformThread::Sleep(automation::kSleepTime);
- }
-
- ui_test_base->ConnectToRunningBrowser();
-}
-
-std::string NamedProxyLauncher::PrefixedChannelID() const {
- std::string channel_id;
- channel_id.append(automation::kNamedInterfacePrefix).append(channel_id_);
- return channel_id;
-}
-
-// AnonymousProxyLauncher functions
-
-AnonymousProxyLauncher::AnonymousProxyLauncher(bool disconnect_on_failure)
- : disconnect_on_failure_(disconnect_on_failure) {
- channel_id_ = AutomationProxy::GenerateChannelID();
-}
-
-AutomationProxy* AnonymousProxyLauncher::CreateAutomationProxy(
- int execution_timeout) {
- AutomationProxy* proxy = new AutomationProxy(execution_timeout,
- disconnect_on_failure_);
- proxy->InitializeChannel(channel_id_, false);
- return proxy;
-}
-
-void AnonymousProxyLauncher::InitializeConnection(
- UITestBase* ui_test_base) const {
- ui_test_base->LaunchBrowserAndServer();
-}
-
-std::string AnonymousProxyLauncher::PrefixedChannelID() const {
- return channel_id_;
-}
-
diff --git a/chrome/test/automation/proxy_launcher.h b/chrome/test/automation/proxy_launcher.h
deleted file mode 100644
index 0f4d04d..0000000
--- a/chrome/test/automation/proxy_launcher.h
+++ /dev/null
@@ -1,78 +0,0 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_TEST_AUTOMATION_PROXY_LAUNCHER_H_
-#define CHROME_TEST_AUTOMATION_PROXY_LAUNCHER_H_
-
-#include <string>
-
-#include "base/basictypes.h"
-
-class AutomationProxy;
-class UITestBase;
-
-// Subclass from this class to use a different implementation of AutomationProxy
-// or to use different channel IDs inside a class that derives from UITest.
-class ProxyLauncher {
- public:
- ProxyLauncher() {}
- virtual ~ProxyLauncher() {}
-
- // Creates an automation proxy.
- virtual AutomationProxy* CreateAutomationProxy(
- int execution_timeout) = 0;
-
- // Launches the browser if needed and establishes a connection
- // connection with it using the specified UITestBase.
- virtual void InitializeConnection(UITestBase* ui_test_base) const = 0;
-
- // Returns the automation proxy's channel with any prefixes prepended,
- // for passing as a command line parameter over to the browser.
- virtual std::string PrefixedChannelID() const = 0;
-
- private:
- DISALLOW_COPY_AND_ASSIGN(ProxyLauncher);
-};
-
-// Uses an automation proxy that communicates over a named socket.
-// This is used if you want to connect an AutomationProxy
-// to a browser process that is already running.
-// The channel id of the proxy is a constant specified by kInterfacePath.
-class NamedProxyLauncher : public ProxyLauncher {
- public:
- // If launch_browser is true, launches Chrome with named interface enabled.
- // Otherwise, there should be an existing instance the proxy can connect to.
- NamedProxyLauncher(bool launch_browser, bool disconnect_on_failure);
-
- virtual AutomationProxy* CreateAutomationProxy(int execution_timeout);
- virtual void InitializeConnection(UITestBase* ui_test_base) const;
- virtual std::string PrefixedChannelID() const;
-
- protected:
- std::string channel_id_; // Channel id of automation proxy.
- bool launch_browser_; // True if we should launch the browser too.
- bool disconnect_on_failure_; // True if we disconnect on IPC channel failure.
-
- private:
- DISALLOW_COPY_AND_ASSIGN(NamedProxyLauncher);
-};
-
-// Uses an automation proxy that communicates over an anonymous socket.
-class AnonymousProxyLauncher : public ProxyLauncher {
- public:
- explicit AnonymousProxyLauncher(bool disconnect_on_failure);
- virtual AutomationProxy* CreateAutomationProxy(int execution_timeout);
- virtual void InitializeConnection(UITestBase* ui_test_base) const;
- virtual std::string PrefixedChannelID() const;
-
- protected:
- std::string channel_id_; // Channel id of automation proxy.
- bool disconnect_on_failure_; // True if we disconnect on IPC channel failure.
-
- private:
- DISALLOW_COPY_AND_ASSIGN(AnonymousProxyLauncher);
-};
-
-#endif // CHROME_TEST_AUTOMATION_PROXY_LAUNCHER_H_
-
diff --git a/chrome/test/ui/named_interface_uitest.cc b/chrome/test/ui/named_interface_uitest.cc
deleted file mode 100644
index ee44820..0000000
--- a/chrome/test/ui/named_interface_uitest.cc
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/test/ui/ui_test.h"
-
-#include "chrome/common/url_constants.h"
-#include "chrome/test/automation/proxy_launcher.h"
-
-// The named testing interface enables the use of a named socket for controlling
-// the browser. This eliminates the dependency that the browser must be forked
-// from the controlling process.
-namespace {
-
-class NamedInterfaceTest : public UITest {
- public:
- NamedInterfaceTest() {
- show_window_ = true;
- }
-
- virtual ProxyLauncher *CreateProxyLauncher() {
- return new NamedProxyLauncher(true, true);
- }
-};
-
-// Basic sanity test for named testing interface which
-// launches a browser instance that uses a named socket, then
-// sends it some commands to open some tabs over that socket.
-TEST_F(NamedInterfaceTest, BasicNamedInterface) {
- scoped_refptr<BrowserProxy> browser_proxy(
- automation()->GetBrowserWindow(0));
- ASSERT_TRUE(browser_proxy.get());
-
- for (int i = 0; i < 10; ++i)
- ASSERT_TRUE(browser_proxy->AppendTab(GURL(chrome::kAboutBlankURL)));
-}
-
-// TODO(dtu): crosbug.com/8514: Write a test that makes sure you can disconnect,
-// then reconnect with a new connection and continue automation.
-
-} // namespace
-
diff --git a/chrome/test/ui/ui_test.cc b/chrome/test/ui/ui_test.cc
index e6aff60..9fbb857 100644
--- a/chrome/test/ui/ui_test.cc
+++ b/chrome/test/ui/ui_test.cc
@@ -43,7 +43,6 @@
#include "chrome/test/automation/automation_proxy.h"
#include "chrome/test/automation/browser_proxy.h"
#include "chrome/test/automation/javascript_execution_controller.h"
-#include "chrome/test/automation/proxy_launcher.h"
#include "chrome/test/automation/tab_proxy.h"
#include "chrome/test/automation/window_proxy.h"
#include "chrome/test/chrome_process_util.h"
@@ -141,9 +140,7 @@ void UITestBase::SetUp() {
JavaScriptExecutionController::set_timeout(
TestTimeouts::action_max_timeout_ms());
test_start_time_ = Time::NowFromSystemTime();
-
- launcher_.reset(CreateProxyLauncher());
- launcher_->InitializeConnection(this);
+ LaunchBrowserAndServer();
}
void UITestBase::TearDown() {
@@ -178,39 +175,24 @@ void UITestBase::TearDown() {
// TODO(phajdan.jr): get rid of set_command_execution_timeout_ms.
void UITestBase::set_command_execution_timeout_ms(int timeout) {
- automation_proxy_->set_command_execution_timeout_ms(timeout);
+ server_->set_command_execution_timeout_ms(timeout);
VLOG(1) << "Automation command execution timeout set to " << timeout << " ms";
}
-ProxyLauncher* UITestBase::CreateProxyLauncher() {
- return new AnonymousProxyLauncher(false);
-}
-
-void UITestBase::LaunchBrowser() {
- LaunchBrowser(launch_arguments_, clear_profile_);
+AutomationProxy* UITestBase::CreateAutomationProxy(int execution_timeout) {
+ return new AutomationProxy(execution_timeout, false);
}
void UITestBase::LaunchBrowserAndServer() {
- // Set up IPC testing interface as a server.
- automation_proxy_.reset(launcher_->CreateAutomationProxy(
- TestTimeouts::command_execution_timeout_ms()));
+ // Set up IPC testing interface server.
+ server_.reset(CreateAutomationProxy(
+ TestTimeouts::command_execution_timeout_ms()));
LaunchBrowser(launch_arguments_, clear_profile_);
- WaitForBrowserLaunch();
-}
-
-void UITestBase::ConnectToRunningBrowser() {
- // Set up IPC testing interface as a client.
- automation_proxy_.reset(launcher_->CreateAutomationProxy(
- TestTimeouts::command_execution_timeout_ms()));
- WaitForBrowserLaunch();
-}
-
-void UITestBase::WaitForBrowserLaunch() {
- ASSERT_EQ(AUTOMATION_SUCCESS, automation_proxy_->WaitForAppLaunch())
+ ASSERT_EQ(AUTOMATION_SUCCESS, server_->WaitForAppLaunch())
<< "Error while awaiting automation ping from browser process";
if (wait_for_initial_loads_)
- ASSERT_TRUE(automation_proxy_->WaitForInitialLoads());
+ ASSERT_TRUE(server_->WaitForInitialLoads());
else
PlatformThread::Sleep(sleep_timeout_ms());
@@ -228,7 +210,7 @@ void UITestBase::CloseBrowserAndServer() {
AssertAppNotRunning(StringPrintf(
L"Unable to quit all browser processes. Original PID %d", process_id_));
- automation_proxy_.reset(); // Shut down IPC testing interface.
+ server_.reset(); // Shut down IPC testing interface.
}
void UITestBase::LaunchBrowser(const CommandLine& arguments,
@@ -585,7 +567,7 @@ FilePath UITestBase::GetDownloadDirectory() {
}
void UITestBase::CloseBrowserAsync(BrowserProxy* browser) const {
- ASSERT_TRUE(automation_proxy_->Send(
+ ASSERT_TRUE(server_->Send(
new AutomationMsg_CloseBrowserRequestAsync(0, browser->handle())));
}
@@ -597,7 +579,7 @@ bool UITestBase::CloseBrowser(BrowserProxy* browser,
bool result = true;
- bool succeeded = automation_proxy_->Send(new AutomationMsg_CloseBrowser(
+ bool succeeded = server_->Send(new AutomationMsg_CloseBrowser(
0, browser->handle(), &result, application_closed));
if (!succeeded)
@@ -712,9 +694,10 @@ void UITestBase::PrepareTestCommandline(CommandLine* command_line) {
if (dom_automation_enabled_)
command_line->AppendSwitch(switches::kDomAutomationController);
- if (include_testing_id_)
+ if (include_testing_id_) {
command_line->AppendSwitchASCII(switches::kTestingChannelID,
- launcher_->PrefixedChannelID());
+ server_->channel_id());
+ }
if (!show_error_dialogs_ &&
!CommandLine::ForCurrentProcess()->HasSwitch(
@@ -803,11 +786,10 @@ bool UITestBase::LaunchBrowserHelper(const CommandLine& arguments,
<< browser_wrapper;
}
- base::file_handle_mapping_vector fds;
- if (automation_proxy_.get())
- fds = automation_proxy_->fds_to_map();
-
- bool started = base::LaunchApp(command_line.argv(), fds, wait, process);
+ bool started = base::LaunchApp(command_line.argv(),
+ server_->fds_to_map(),
+ wait,
+ process);
#endif
return started;
@@ -885,11 +867,11 @@ void UITest::TearDown() {
PlatformTest::TearDown();
}
-ProxyLauncher* UITest::CreateProxyLauncher() {
+AutomationProxy* UITest::CreateAutomationProxy(int execution_timeout) {
// Make the AutomationProxy disconnect the channel on the first error,
// so that we avoid spending a lot of time in timeouts. The browser is likely
// hosed if we hit those errors.
- return new AnonymousProxyLauncher(true);
+ return new AutomationProxy(execution_timeout, true);
}
static CommandLine* CreatePythonCommandLine() {
diff --git a/chrome/test/ui/ui_test.h b/chrome/test/ui/ui_test.h
index 3305cc5..ced9f34 100644
--- a/chrome/test/ui/ui_test.h
+++ b/chrome/test/ui/ui_test.h
@@ -38,7 +38,6 @@ class BrowserProxy;
class DictionaryValue;
class FilePath;
class GURL;
-class ProxyLauncher;
class ScopedTempDir;
class TabProxy;
@@ -69,21 +68,14 @@ class UITestBase {
public:
// ********* Utility functions *********
- // Launches the browser only.
- void LaunchBrowser();
-
- // Launches the browser and IPC testing connection in server mode.
+ // Launches the browser and IPC testing server.
void LaunchBrowserAndServer();
- // Launches the IPC testing connection in client mode,
- // which then attempts to connect to a browser.
- void ConnectToRunningBrowser();
-
// Only for pyauto.
void set_command_execution_timeout_ms(int timeout);
- // Overridable so that derived classes can provide their own ProxyLauncher.
- virtual ProxyLauncher* CreateProxyLauncher();
+ // Overridable so that derived classes can provide their own AutomationProxy.
+ virtual AutomationProxy* CreateAutomationProxy(int execution_timeout);
// Closes the browser and IPC testing server.
void CloseBrowserAndServer();
@@ -110,7 +102,7 @@ class UITestBase {
// Terminates the browser, simulates end of session.
void TerminateBrowser();
- // Tells the browser to navigate to the given URL in the active tab
+ // Tells the browser to navigato to the givne URL in the active tab
// of the first app window.
// Does not wait for the navigation to complete to return.
void NavigateToURLAsync(const GURL& url);
@@ -369,8 +361,8 @@ class UITestBase {
protected:
AutomationProxy* automation() {
- EXPECT_TRUE(automation_proxy_.get());
- return automation_proxy_.get();
+ EXPECT_TRUE(server_.get());
+ return server_.get();
}
virtual bool ShouldFilterInet() {
@@ -420,7 +412,6 @@ class UITestBase {
// id on the command line? Default is
// true.
bool enable_file_cookies_; // Enable file cookies, default is true.
- scoped_ptr<ProxyLauncher> launcher_; // Launches browser and AutomationProxy.
ProfileType profile_type_; // Are we using a profile with a
// complex theme?
FilePath websocket_pid_file_; // PID file for websocket server.
@@ -428,8 +419,6 @@ class UITestBase {
// the browser. Used in ShutdownTest.
private:
- void WaitForBrowserLaunch();
-
bool LaunchBrowserHelper(const CommandLine& arguments,
bool wait,
base::ProcessHandle* process);
@@ -461,7 +450,7 @@ class UITestBase {
static std::string js_flags_; // Flags passed to the JS engine.
static std::string log_level_; // Logging level.
- scoped_ptr<AutomationProxy> automation_proxy_;
+ scoped_ptr<AutomationProxy> server_;
std::string ui_test_name_;
@@ -479,7 +468,7 @@ class UITest : public UITestBase, public PlatformTest {
virtual void SetUp();
virtual void TearDown();
- virtual ProxyLauncher* CreateProxyLauncher();
+ virtual AutomationProxy* CreateAutomationProxy(int execution_timeout);
// Synchronously launches local http server normally used to run LayoutTests.
void StartHttpServer(const FilePath& root_directory);