Index: chrome/test/pyautolib/pyautolib.h |
=================================================================== |
--- chrome/test/pyautolib/pyautolib.h (revision 261231) |
+++ chrome/test/pyautolib/pyautolib.h (working copy) |
@@ -1,121 +0,0 @@ |
-// Copyright (c) 2012 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. |
-// |
-// This file declares the C++ side of PyAuto, the python interface to |
-// Chromium automation. It access Chromium's internals using Automation Proxy. |
- |
-#ifndef CHROME_TEST_PYAUTOLIB_PYAUTOLIB_H_ |
-#define CHROME_TEST_PYAUTOLIB_PYAUTOLIB_H_ |
- |
-#include "base/compiler_specific.h" |
-#include "base/message_loop/message_loop.h" |
-#include "base/test/test_timeouts.h" |
-#include "base/time/time.h" |
-#include "chrome/test/ui/ui_test.h" |
-#include "chrome/test/ui/ui_test_suite.h" |
- |
-#if defined(OS_MACOSX) |
-#include "base/mac/scoped_nsautorelease_pool.h" |
-#endif |
- |
-class AutomationProxy; |
- |
-// The C++ style guide forbids using default arguments but I'm taking the |
-// liberty of allowing it in this file. The sole purpose of this (and the |
-// .cc) is to support the python interface, and default args are allowed in |
-// python. Strictly adhering to the guide here would mean having to re-define |
-// all methods in python just for the sake of providing default args. This |
-// seems cumbersome and unwanted. |
- |
-// Test Suite for Pyauto tests. All one-time initializations go here. |
-class PyUITestSuiteBase : public UITestSuite { |
- public: |
- PyUITestSuiteBase(int argc, char** argv); |
- virtual ~PyUITestSuiteBase(); |
- |
- void InitializeWithPath(const base::FilePath& browser_dir); |
- |
- void SetCrSourceRoot(const base::FilePath& path); |
- |
- private: |
-#if defined(OS_MACOSX) |
- base::mac::ScopedNSAutoreleasePool pool_; |
-#endif |
-}; |
- |
-// The primary class that interfaces with Automation Proxy. |
-// This class is accessed from python using swig. |
-class PyUITestBase : public UITestBase { |
- public: |
- // Only public methods are accessible from swig. |
- |
- // Constructor. Lookup pyauto.py for doc on these args. |
- PyUITestBase(bool clear_profile, std::wstring homepage); |
- virtual ~PyUITestBase(); |
- |
- // Initialize the setup. Should be called before launching the browser. |
- // |browser_dir| is the path to dir containing chromium binaries. |
- void Initialize(const base::FilePath& browser_dir); |
- |
- void UseNamedChannelID(const std::string& named_channel_id) { |
- named_channel_id_ = named_channel_id; |
- launcher_.reset(CreateProxyLauncher()); |
- } |
- |
- virtual ProxyLauncher* CreateProxyLauncher() OVERRIDE; |
- |
- // SetUp,TearDown is redeclared as public to make it accessible from swig. |
- virtual void SetUp() OVERRIDE; |
- virtual void TearDown() OVERRIDE; |
- |
- // AutomationProxy methods |
- |
- // Meta-methods. Generic pattern of passing args and response as |
- // JSON dict to avoid future use of the SWIG interface and |
- // automation proxy additions. Returns response as JSON dict. |
- // Use -ve window_index for automation calls not targetted at a browser |
- // window. Example: Login call for chromeos. |
- std::string _SendJSONRequest(int window_index, |
- const std::string& request, |
- int timeout); |
- |
- // Sets a cookie value for a url. Returns true on success. |
- bool SetCookie(const GURL& cookie_url, const std::string& value, |
- int window_index = 0, int tab_index = 0); |
- // Gets a cookie value for the given url. |
- std::string GetCookie(const GURL& cookie_url, int window_index = 0, |
- int tab_index = 0); |
- |
- protected: |
- // Gets the automation proxy and checks that it exists. |
- virtual AutomationProxy* automation() const OVERRIDE; |
- |
- virtual void SetLaunchSwitches() OVERRIDE; |
- |
- private: |
- // Create JSON error responses. |
- void ErrorResponse(const std::string& error_string, |
- const std::string& request, |
- bool is_timeout, |
- std::string* response); |
- void RequestFailureResponse( |
- const std::string& request, |
- const base::TimeDelta& duration, |
- const base::TimeDelta& timeout, |
- std::string* response); |
- |
- // Enables PostTask to main thread. |
- // Should be shared across multiple instances of PyUITestBase so that this |
- // class is re-entrant and multiple instances can be created. |
- // This is necessary since python's unittest module creates instances of |
- // TestCase at load time itself. |
- static base::MessageLoop* GetSharedMessageLoop( |
- base::MessageLoop::Type msg_loop_type); |
- static base::MessageLoop* message_loop_; |
- |
- // Path to named channel id. |
- std::string named_channel_id_; |
-}; |
- |
-#endif // CHROME_TEST_PYAUTOLIB_PYAUTOLIB_H_ |