| Index: chrome/test/automation/tab_proxy.h
|
| ===================================================================
|
| --- chrome/test/automation/tab_proxy.h (revision 261647)
|
| +++ chrome/test/automation/tab_proxy.h (working copy)
|
| @@ -1,208 +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.
|
| -
|
| -#ifndef CHROME_TEST_AUTOMATION_TAB_PROXY_H_
|
| -#define CHROME_TEST_AUTOMATION_TAB_PROXY_H_
|
| -
|
| -#include "build/build_config.h" // NOLINT
|
| -
|
| -#if defined(OS_WIN)
|
| -#include <wtypes.h> // NOLINT
|
| -#endif
|
| -
|
| -#include <string>
|
| -#include <vector>
|
| -
|
| -#include "base/compiler_specific.h"
|
| -#include "base/memory/ref_counted.h"
|
| -#include "base/observer_list.h"
|
| -#include "chrome/common/automation_constants.h"
|
| -#include "chrome/test/automation/automation_handle_tracker.h"
|
| -#include "content/public/browser/save_page_type.h"
|
| -#include "content/public/common/page_type.h"
|
| -#include "content/public/common/security_style.h"
|
| -#include "net/cert/cert_status_flags.h"
|
| -#include "ui/base/window_open_disposition.h"
|
| -#include "ui/events/keycodes/keyboard_codes.h"
|
| -
|
| -class BrowserProxy;
|
| -class GURL;
|
| -
|
| -namespace IPC {
|
| -class Message;
|
| -}
|
| -
|
| -namespace base {
|
| -class FilePath;
|
| -class Value;
|
| -}
|
| -
|
| -class TabProxy : public AutomationResourceProxy {
|
| - public:
|
| - class TabProxyDelegate {
|
| - public:
|
| - virtual bool OnMessageReceived(TabProxy* tab, const IPC::Message& msg) {
|
| - return false;
|
| - }
|
| - virtual void OnChannelError(TabProxy* tab) {}
|
| -
|
| - protected:
|
| - virtual ~TabProxyDelegate() {}
|
| - };
|
| -
|
| - TabProxy(AutomationMessageSender* sender,
|
| - AutomationHandleTracker* tracker,
|
| - int handle);
|
| -
|
| - // Gets the current url of the tab.
|
| - bool GetCurrentURL(GURL* url) const WARN_UNUSED_RESULT;
|
| -
|
| - // Gets the title of the tab.
|
| - bool GetTabTitle(std::wstring* title) const WARN_UNUSED_RESULT;
|
| -
|
| - // Gets the tabstrip index of the tab.
|
| - bool GetTabIndex(int* index) const WARN_UNUSED_RESULT;
|
| -
|
| - // Executes a javascript in a frame's context whose xpath is provided as the
|
| - // first parameter and extract the values from the resulting json string.
|
| - // Examples:
|
| - // jscript = "window.domAutomationController.send('string');"
|
| - // will result in value = "string"
|
| - // jscript = "window.domAutomationController.send(24);"
|
| - // will result in value = 24
|
| - // NOTE: If this is called from a ui test, |dom_automation_enabled_| must be
|
| - // set to true for these functions to work.
|
| - bool ExecuteAndExtractString(const std::wstring& frame_xpath,
|
| - const std::wstring& jscript,
|
| - std::wstring* value) WARN_UNUSED_RESULT;
|
| - bool ExecuteAndExtractBool(const std::wstring& frame_xpath,
|
| - const std::wstring& jscript,
|
| - bool* value) WARN_UNUSED_RESULT;
|
| - bool ExecuteAndExtractInt(const std::wstring& frame_xpath,
|
| - const std::wstring& jscript,
|
| - int* value) WARN_UNUSED_RESULT;
|
| -
|
| - // Navigates to a url. This method accepts the same kinds of URL input that
|
| - // can be passed to Chrome on the command line. This is a synchronous call and
|
| - // hence blocks until the navigation completes.
|
| - AutomationMsg_NavigationResponseValues NavigateToURL(
|
| - const GURL& url) WARN_UNUSED_RESULT;
|
| -
|
| - // Navigates to a url. This method accepts the same kinds of URL input that
|
| - // can be passed to Chrome on the command line. This is a synchronous call and
|
| - // hence blocks until the |number_of_navigations| navigations complete.
|
| - AutomationMsg_NavigationResponseValues
|
| - NavigateToURLBlockUntilNavigationsComplete(
|
| - const GURL& url, int number_of_navigations) WARN_UNUSED_RESULT;
|
| -
|
| -
|
| - // Navigates to a url. This is an asynchronous version of NavigateToURL.
|
| - // The function returns immediately after sending the LoadURL notification
|
| - // to the browser.
|
| - // TODO(vibhor): Add a callback if needed in future.
|
| - // TODO(mpcomplete): If the navigation results in an auth challenge, the
|
| - // TabProxy we attach won't know about it. See bug 666730.
|
| - bool NavigateToURLAsync(const GURL& url) WARN_UNUSED_RESULT;
|
| -
|
| - // Equivalent to hitting the Back button. This is a synchronous call and
|
| - // hence blocks until the navigation completes.
|
| - AutomationMsg_NavigationResponseValues GoBack() WARN_UNUSED_RESULT;
|
| -
|
| - // Equivalent to hitting the Back button. This is a synchronous call and
|
| - // hence blocks until the |number_of_navigations| navigations complete.
|
| - AutomationMsg_NavigationResponseValues GoBackBlockUntilNavigationsComplete(
|
| - int number_of_navigations) WARN_UNUSED_RESULT;
|
| -
|
| - // Equivalent to hitting the Forward button. This is a synchronous call and
|
| - // hence blocks until the navigation completes.
|
| - AutomationMsg_NavigationResponseValues GoForward() WARN_UNUSED_RESULT;
|
| -
|
| - // Equivalent to hitting the Forward button. This is a synchronous call and
|
| - // hence blocks until the |number_of_navigations| navigations complete.
|
| - AutomationMsg_NavigationResponseValues GoForwardBlockUntilNavigationsComplete(
|
| - int number_of_navigations) WARN_UNUSED_RESULT;
|
| -
|
| - // Equivalent to hitting the Reload button. This is a synchronous call and
|
| - // hence blocks until the navigation completes.
|
| - AutomationMsg_NavigationResponseValues Reload() WARN_UNUSED_RESULT;
|
| -
|
| - // Closes the tab. This is synchronous, but does NOT block until the tab has
|
| - // closed, rather it blocks until the browser has initiated the close. Use
|
| - // Close(true) if you need to block until tab completely closes.
|
| - //
|
| - // Note that this proxy is invalid after this call.
|
| - bool Close() WARN_UNUSED_RESULT;
|
| -
|
| - // Variant of close that allows you to specify whether you want to block
|
| - // until the tab has completely closed (wait_until_closed == true) or block
|
| - // until the browser has initiated the close (wait_until_closed = false).
|
| - //
|
| - // When a tab is closed the browser does additional work via invoke later
|
| - // and may wait for messages from the renderer. Supplying a value of true to
|
| - // this method waits until all processing is done. Be careful with this,
|
| - // when closing the last tab it is possible for the browser to shutdown BEFORE
|
| - // the tab has completely closed. In other words, this may NOT be sent for
|
| - // the last tab.
|
| - bool Close(bool wait_until_closed) WARN_UNUSED_RESULT;
|
| -
|
| - // Starts a search within the current tab. The parameter |search_string|
|
| - // specifies what string to search for, |forward| specifies whether to search
|
| - // in forward direction, and |match_case| specifies case sensitivity
|
| - // (true=case sensitive). |find_next| specifies whether this is a new search
|
| - // or a continuation of the old one. |ordinal| is an optional parameter that
|
| - // returns the ordinal of the active match (also known as "the 7" part of
|
| - // "7 of 9"). A return value of -1 indicates failure.
|
| - int FindInPage(const std::wstring& search_string, FindInPageDirection forward,
|
| - FindInPageCase match_case, bool find_next, int* ordinal);
|
| -
|
| - bool GetCookies(const GURL& url, std::string* cookies) WARN_UNUSED_RESULT;
|
| - bool GetCookieByName(const GURL& url,
|
| - const std::string& name,
|
| - std::string* cookies) WARN_UNUSED_RESULT;
|
| - // Waits until the infobar count is |count|.
|
| - // Returns true on success.
|
| - bool WaitForInfoBarCount(size_t count) WARN_UNUSED_RESULT;
|
| -
|
| - // Uses the specified encoding to override encoding of the page in the tab.
|
| - bool OverrideEncoding(const std::string& encoding) WARN_UNUSED_RESULT;
|
| -
|
| - // These handlers issue asynchronous Reload, Stop and SaveAs notifications to
|
| - // the chrome instance.
|
| - void ReloadAsync();
|
| - void StopAsync();
|
| -
|
| - // Notify the JavaScript engine in the render to change its parameters
|
| - // while performing stress testing. See
|
| - // |ViewHostMsg_JavaScriptStressTestControl_Commands| in render_messages.h
|
| - // for information on the arguments.
|
| - void JavaScriptStressTestControl(int cmd, int param);
|
| -
|
| - // Calls delegates
|
| - void AddObserver(TabProxyDelegate* observer);
|
| - void RemoveObserver(TabProxyDelegate* observer);
|
| - bool OnMessageReceived(const IPC::Message& message);
|
| - void OnChannelError();
|
| - protected:
|
| - virtual ~TabProxy();
|
| -
|
| - // Called when tracking the first object. Used for reference counting
|
| - // purposes.
|
| - void FirstObjectAdded();
|
| -
|
| - // Called when no longer tracking any objects. Used for reference counting
|
| - // purposes.
|
| - void LastObjectRemoved();
|
| -
|
| - // Caller takes ownership over returned value. Returns NULL on failure.
|
| - base::Value* ExecuteAndExtractValue(
|
| - const std::wstring& frame_xpath,
|
| - const std::wstring& jscript) WARN_UNUSED_RESULT;
|
| -
|
| - private:
|
| - base::Lock list_lock_; // Protects the observers_list_.
|
| - ObserverList<TabProxyDelegate> observers_list_;
|
| - DISALLOW_COPY_AND_ASSIGN(TabProxy);
|
| -};
|
| -
|
| -#endif // CHROME_TEST_AUTOMATION_TAB_PROXY_H_
|
|
|