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

Side by Side Diff: chrome/test/webdriver/commands/window_commands.cc

Issue 23526047: Delete old chromedriver code, and remove mongoose webserver. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 7 years, 3 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/webdriver/commands/window_commands.h ('k') | chrome/test/webdriver/frame_path.h » ('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 #include "chrome/test/webdriver/commands/window_commands.h"
6
7 #include "base/values.h"
8 #include "chrome/test/webdriver/commands/response.h"
9 #include "chrome/test/webdriver/webdriver_error.h"
10 #include "chrome/test/webdriver/webdriver_session.h"
11 #include "chrome/test/webdriver/webdriver_util.h"
12
13 using base::Value;
14
15 namespace webdriver {
16
17 namespace {
18
19 bool GetWindowId(const std::string& window_id_string,
20 const WebViewId& current_id,
21 WebViewId* window_id,
22 Response* const response) {
23 if (window_id_string == "current") {
24 *window_id = current_id;
25 } else if (!StringToWebViewId(window_id_string, window_id)) {
26 response->SetError(
27 new Error(kBadRequest, "Invalid window ID"));
28 return false;
29 }
30 return true;
31 }
32
33 }
34
35 WindowSizeCommand::WindowSizeCommand(
36 const std::vector<std::string>& path_segments,
37 const base::DictionaryValue* parameters)
38 : WebDriverCommand(path_segments, parameters) {
39 }
40
41 WindowSizeCommand::~WindowSizeCommand() {
42 }
43
44 bool WindowSizeCommand::DoesGet() {
45 return true;
46 }
47
48 bool WindowSizeCommand::DoesPost() {
49 return true;
50 }
51
52 void WindowSizeCommand::ExecuteGet(Response* const response) {
53 // Path segment: "/session/$sessionId/window/$windowHandle/size"
54 WebViewId window_id;
55 WebViewId current_id = session_->current_target().view_id;
56 if (!GetWindowId(GetPathVariable(4), current_id, &window_id, response))
57 return;
58
59 Rect bounds;
60 Error* error = session_->GetWindowBounds(window_id, &bounds);
61 if (error) {
62 response->SetError(error);
63 return;
64 }
65 base::DictionaryValue* size = new base::DictionaryValue();
66 size->SetInteger("width", bounds.width());
67 size->SetInteger("height", bounds.height());
68 response->SetValue(size);
69 }
70
71 void WindowSizeCommand::ExecutePost(Response* const response) {
72 // Path segment: "/session/$sessionId/window/$windowHandle/size"
73 WebViewId window_id;
74 WebViewId current_id = session_->current_target().view_id;
75 if (!GetWindowId(GetPathVariable(4), current_id, &window_id, response))
76 return;
77
78 int width, height;
79 if (!GetIntegerParameter("width", &width) ||
80 !GetIntegerParameter("height", &height)) {
81 response->SetError(new Error(
82 kBadRequest,
83 "Missing or invalid 'width' or 'height' parameters"));
84 return;
85 }
86 Rect bounds;
87 Error* error = session_->GetWindowBounds(window_id, &bounds);
88 if (!error) {
89 bounds = Rect(bounds.origin(), Size(width, height));
90 error = session_->SetWindowBounds(window_id, bounds);
91 }
92 if (error) {
93 response->SetError(error);
94 return;
95 }
96 }
97
98 WindowPositionCommand::WindowPositionCommand(
99 const std::vector<std::string>& path_segments,
100 const base::DictionaryValue* parameters)
101 : WebDriverCommand(path_segments, parameters) {
102 }
103
104 WindowPositionCommand::~WindowPositionCommand() {
105 }
106
107 bool WindowPositionCommand::DoesGet() {
108 return true;
109 }
110
111 bool WindowPositionCommand::DoesPost() {
112 return true;
113 }
114
115 void WindowPositionCommand::ExecuteGet(Response* const response) {
116 // Path segment: "/session/$sessionId/window/$windowHandle/position"
117 WebViewId window_id;
118 WebViewId current_id = session_->current_target().view_id;
119 if (!GetWindowId(GetPathVariable(4), current_id, &window_id, response))
120 return;
121
122 Rect bounds;
123 Error* error = session_->GetWindowBounds(window_id, &bounds);
124 if (error) {
125 response->SetError(error);
126 return;
127 }
128 base::DictionaryValue* size = new base::DictionaryValue();
129 size->SetInteger("x", bounds.x());
130 size->SetInteger("y", bounds.y());
131 response->SetValue(size);
132 }
133
134 void WindowPositionCommand::ExecutePost(Response* const response) {
135 // Path segment: "/session/$sessionId/window/$windowHandle/position"
136 WebViewId window_id;
137 WebViewId current_id = session_->current_target().view_id;
138 if (!GetWindowId(GetPathVariable(4), current_id, &window_id, response))
139 return;
140
141 int x, y;
142 if (!GetIntegerParameter("x", &x) ||
143 !GetIntegerParameter("y", &y)) {
144 response->SetError(new Error(
145 kBadRequest,
146 "Missing or invalid 'x' or 'y' parameters"));
147 return;
148 }
149 Rect bounds;
150 Error* error = session_->GetWindowBounds(window_id, &bounds);
151 if (!error) {
152 bounds = Rect(Point(x, y), bounds.size());
153 error = session_->SetWindowBounds(window_id, bounds);
154 }
155 if (error) {
156 response->SetError(error);
157 return;
158 }
159 }
160
161 WindowMaximizeCommand::WindowMaximizeCommand(
162 const std::vector<std::string>& path_segments,
163 const base::DictionaryValue* parameters)
164 : WebDriverCommand(path_segments, parameters) {
165 }
166
167 WindowMaximizeCommand::~WindowMaximizeCommand() {
168 }
169
170 bool WindowMaximizeCommand::DoesPost() {
171 return true;
172 }
173
174 void WindowMaximizeCommand::ExecutePost(Response* const response) {
175 // Path segment: "/session/$sessionId/window/$windowHandle/maximize"
176 WebViewId window_id;
177 WebViewId current_id = session_->current_target().view_id;
178 if (!GetWindowId(GetPathVariable(4), current_id, &window_id, response))
179 return;
180
181 Error* error = session_->MaximizeWindow(window_id);
182 if (error) {
183 response->SetError(error);
184 return;
185 }
186 }
187
188 } // namespace webdriver
OLDNEW
« no previous file with comments | « chrome/test/webdriver/commands/window_commands.h ('k') | chrome/test/webdriver/frame_path.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698