| Index: chrome/test/automation/proxy_launcher.cc
|
| diff --git a/chrome/test/automation/proxy_launcher.cc b/chrome/test/automation/proxy_launcher.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..2325958b618122a74ce6209f5541e6f69ae4a5c2
|
| --- /dev/null
|
| +++ b/chrome/test/automation/proxy_launcher.cc
|
| @@ -0,0 +1,75 @@
|
| +// 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_;
|
| +}
|
| +
|
|
|