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

Side by Side Diff: chrome/test/automation/browser_proxy.h

Issue 223163003: Remove the remaining automation-based tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 6 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « chrome/test/automation/automation_proxy.cc ('k') | chrome/test/automation/browser_proxy.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef CHROME_TEST_AUTOMATION_BROWSER_PROXY_H_
6 #define CHROME_TEST_AUTOMATION_BROWSER_PROXY_H_
7
8 #include <string>
9 #include <vector>
10
11 #include "base/compiler_specific.h"
12 #include "chrome/browser/ui/browser.h"
13 #include "chrome/common/content_settings.h"
14 #include "chrome/test/automation/automation_handle_tracker.h"
15
16 class GURL;
17 class TabProxy;
18 class WindowProxy;
19
20 namespace gfx {
21 class Point;
22 class Rect;
23 }
24
25 // This class presents the interface to actions that can be performed on
26 // a given browser window. Note that this object can be invalidated at any
27 // time if the corresponding browser window in the app is closed. In that case,
28 // any subsequent calls will return false immediately.
29 class BrowserProxy : public AutomationResourceProxy {
30 public:
31 BrowserProxy(AutomationMessageSender* sender,
32 AutomationHandleTracker* tracker,
33 int handle)
34 : AutomationResourceProxy(tracker, sender, handle) {}
35
36 // Activates the tab corresponding to (zero-based) tab_index. Returns true if
37 // successful.
38 bool ActivateTab(int tab_index) WARN_UNUSED_RESULT;
39
40 // Bring the browser window to the front, activating it. Returns true on
41 // success.
42 bool BringToFront() WARN_UNUSED_RESULT;
43
44 // Append a new tab to the TabStrip. The new tab is selected.
45 // The new tab navigates to the given tab_url.
46 // Returns true if successful.
47 bool AppendTab(const GURL& tab_url) WARN_UNUSED_RESULT;
48
49 // Gets the (zero-based) index of the currently active tab. Returns true if
50 // successful.
51 bool GetActiveTabIndex(int* active_tab_index) const WARN_UNUSED_RESULT;
52
53 // Returns the number of tabs in the given window. Returns true if
54 // the call was successful.
55 bool GetTabCount(int* num_tabs) const WARN_UNUSED_RESULT;
56
57 // Returns the type of the given window. Returns true if the call was
58 // successful.
59 bool GetType(Browser::Type* type) const WARN_UNUSED_RESULT;
60
61 // Returns the TabProxy for the tab at the given index, transferring
62 // ownership of the pointer to the caller. On failure, returns NULL.
63 //
64 // Use GetTabCount to see how many windows you can ask for. Tab numbers
65 // are 0-based.
66 scoped_refptr<TabProxy> GetTab(int tab_index) const;
67
68 // Returns the TabProxy for the currently active tab, transferring
69 // ownership of the pointer to the caller. On failure, returns NULL.
70 scoped_refptr<TabProxy> GetActiveTab() const;
71
72 // Returns the WindowProxy for this browser's window. It can be used to
73 // retreive view bounds, simulate clicks and key press events. The caller
74 // owns the returned WindowProxy.
75 // On failure, returns NULL.
76 scoped_refptr<WindowProxy> GetWindow() const;
77
78 // Apply the accelerator with given id (IDC_BACK, IDC_NEWTAB ...)
79 // The list can be found at chrome/app/chrome_command_ids.h
80 // Returns true if the call was successful.
81 //
82 // The alternate way to test the accelerators is to use the Windows messaging
83 // system to send the actual keyboard events (ui_controls.h) A precondition
84 // to using this system is that the target window should have the keyboard
85 // focus. This leads to a flaky test behavior in circumstances when the
86 // desktop screen is locked or the test is being executed over a remote
87 // desktop.
88 bool ApplyAccelerator(int id) WARN_UNUSED_RESULT;
89
90 // Block the thread until the tab count is |count|.
91 // Returns true on success.
92 bool WaitForTabCountToBecome(int count) WARN_UNUSED_RESULT;
93
94 // Block the thread until the specified tab is the active tab.
95 // |wait_timeout| is the timeout, in milliseconds, for waiting.
96 // Returns false if the tab does not become active.
97 bool WaitForTabToBecomeActive(
98 int tab,
99 base::TimeDelta wait_timeout) WARN_UNUSED_RESULT;
100
101 // Returns whether the Find window is fully visible If animating, |is_visible|
102 // will be false. Returns false on failure.
103 bool IsFindWindowFullyVisible(bool* is_visible) WARN_UNUSED_RESULT;
104
105 // Run the specified command in the browser
106 // (see Browser::ExecuteCommandWithDisposition() for the list of supported
107 // commands). Returns true if the command was successfully dispatched,
108 // false otherwise.
109 bool RunCommandAsync(int browser_command) const WARN_UNUSED_RESULT;
110
111 // Run the specified command in the browser
112 // (see Browser::ExecuteCommandWithDisposition() for the list of supported
113 // commands). Returns true if the command was successfully dispatched and
114 // executed, false otherwise.
115 bool RunCommand(int browser_command) const WARN_UNUSED_RESULT;
116
117 // Simulates a termination the browser session (as if the user logged off the
118 // mahine).
119 bool TerminateSession() WARN_UNUSED_RESULT;
120
121 // Generic pattern for sending automation requests.
122 bool SendJSONRequest(const std::string& request,
123 int timeout_ms,
124 std::string* response) WARN_UNUSED_RESULT;
125
126 // Gets the load times for all tabs started from the command line.
127 // Puts the time of the first tab to start loading into |min_start_time|,
128 // the time when loading stopped into |max_stop_time| (should be similar to
129 // the delay that WaitForInitialLoads waits for), and a list of all
130 // finished timestamps into |stop_times|. Returns true on success.
131 bool GetInitialLoadTimes(
132 base::TimeDelta timeout,
133 float* min_start_time,
134 float* max_stop_time,
135 std::vector<float>* stop_times);
136
137
138 protected:
139 virtual ~BrowserProxy() {}
140 private:
141 DISALLOW_COPY_AND_ASSIGN(BrowserProxy);
142 };
143
144 #endif // CHROME_TEST_AUTOMATION_BROWSER_PROXY_H_
OLDNEW
« no previous file with comments | « chrome/test/automation/automation_proxy.cc ('k') | chrome/test/automation/browser_proxy.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698