OLD | NEW |
| (Empty) |
1 // Copyright (c) 2010 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_WINDOW_PROXY_H__ | |
6 #define CHROME_TEST_AUTOMATION_WINDOW_PROXY_H__ | |
7 | |
8 #include "build/build_config.h" | |
9 | |
10 #if defined(OS_WIN) | |
11 #include <windows.h> | |
12 #endif | |
13 | |
14 #include "base/strings/string16.h" | |
15 #include "base/threading/thread.h" | |
16 #include "chrome/test/automation/automation_handle_tracker.h" | |
17 | |
18 class BrowserProxy; | |
19 class WindowProxy; | |
20 | |
21 namespace gfx { | |
22 class Rect; | |
23 } | |
24 | |
25 // This class presents the interface to actions that can be performed on a given | |
26 // window. Note that this object can be invalidated at any time if the | |
27 // corresponding window in the app is closed. In that case, any subsequent | |
28 // calls will return false immediately. | |
29 class WindowProxy : public AutomationResourceProxy { | |
30 public: | |
31 WindowProxy(AutomationMessageSender* sender, | |
32 AutomationHandleTracker* tracker, | |
33 int handle) | |
34 : AutomationResourceProxy(tracker, sender, handle) {} | |
35 | |
36 // Gets the bounds (in window coordinates) that correspond to the view with | |
37 // the given ID in this window. Returns true if bounds could be obtained. | |
38 // If |screen_coordinates| is true, the bounds are returned in the coordinates | |
39 // of the screen, if false in the coordinates of the browser. | |
40 bool GetViewBounds(int view_id, gfx::Rect* bounds, bool screen_coordinates); | |
41 | |
42 // Sets the position and size of the window. Returns true if setting the | |
43 // bounds was successful. | |
44 bool SetBounds(const gfx::Rect& bounds); | |
45 | |
46 protected: | |
47 virtual ~WindowProxy() {} | |
48 private: | |
49 DISALLOW_COPY_AND_ASSIGN(WindowProxy); | |
50 }; | |
51 | |
52 #endif // CHROME_TEST_AUTOMATION_WINDOW_PROXY_H__ | |
OLD | NEW |