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

Unified Diff: chrome/browser/automation/automation_provider_win.cc

Issue 211033: Automated ui test porting + cleanup:... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: all green\! Created 11 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/automation/automation_provider_win.cc
===================================================================
--- chrome/browser/automation/automation_provider_win.cc (revision 26702)
+++ chrome/browser/automation/automation_provider_win.cc (working copy)
@@ -74,10 +74,6 @@
*handle = window_tracker_->Add(window);
}
-void AutomationProvider::GetWindowHWND(int handle, HWND* win32_handle) {
- *win32_handle = window_tracker_->GetResource(handle);
-}
-
void AutomationProvider::WindowGetViewBounds(int handle, int view_id,
bool screen_coordinates,
bool* success,
@@ -184,15 +180,13 @@
};
void AutomationProvider::WindowSimulateDrag(int handle,
- std::vector<POINT> drag_path,
+ std::vector<gfx::Point> drag_path,
int flags,
bool press_escape_en_route,
IPC::Message* reply_message) {
- bool succeeded = false;
if (browser_tracker_->ContainsHandle(handle) && (drag_path.size() > 1)) {
gfx::NativeWindow window =
browser_tracker_->GetResource(handle)->window()->GetNativeHandle();
- succeeded = true;
UINT down_message = 0;
UINT up_message = 0;
@@ -221,19 +215,19 @@
DCHECK(browser);
HWND top_level_hwnd =
reinterpret_cast<HWND>(browser->window()->GetNativeHandle());
- POINT temp = drag_path[0];
+ POINT temp = drag_path[0].ToPOINT();
MapWindowPoints(top_level_hwnd, HWND_DESKTOP, &temp, 1);
MoveMouse(temp);
SendMessage(top_level_hwnd, down_message, wparam_flags,
- MAKELPARAM(drag_path[0].x, drag_path[0].y));
+ MAKELPARAM(drag_path[0].x(), drag_path[0].y()));
for (int i = 1; i < static_cast<int>(drag_path.size()); ++i) {
- temp = drag_path[i];
+ temp = drag_path[i].ToPOINT();
MapWindowPoints(top_level_hwnd, HWND_DESKTOP, &temp, 1);
MoveMouse(temp);
SendMessage(top_level_hwnd, WM_MOUSEMOVE, wparam_flags,
- MAKELPARAM(drag_path[i].x, drag_path[i].y));
+ MAKELPARAM(drag_path[i].x(), drag_path[i].y()));
}
- POINT end = drag_path[drag_path.size() - 1];
+ POINT end = drag_path[drag_path.size() - 1].ToPOINT();
MapWindowPoints(top_level_hwnd, HWND_DESKTOP, &end, 1);
MoveMouse(end);
@@ -253,7 +247,7 @@
MessageLoop::current()->PostTask(FROM_HERE, new InvokeTaskLaterTask(
new WindowDragResponseTask(this, reply_message)));
} else {
- AutomationMsg_WindowDrag::WriteReplyParams(reply_message, true);
+ AutomationMsg_WindowDrag::WriteReplyParams(reply_message, false);
Send(reply_message);
}
}
@@ -290,6 +284,18 @@
}
}
+void AutomationProvider::GetWindowBounds(int handle, gfx::Rect* bounds,
+ bool* success) {
+ *success = false;
+ HWND hwnd = window_tracker_->GetResource(handle);
+ if (hwnd) {
+ *success = true;
+ WINDOWPLACEMENT window_placement;
+ GetWindowPlacement(hwnd, &window_placement);
+ *bounds = window_placement.rcNormalPosition;
+ }
+}
+
void AutomationProvider::SetWindowBounds(int handle, const gfx::Rect& bounds,
bool* success) {
*success = false;
@@ -319,6 +325,19 @@
}
}
+void AutomationProvider::IsWindowMaximized(int handle, bool* is_maximized,
+ bool* success) {
+ *success = false;
+
+ HWND hwnd = window_tracker_->GetResource(handle);
+ if (hwnd) {
+ *success = true;
+ WINDOWPLACEMENT window_placement;
+ GetWindowPlacement(hwnd, &window_placement);
+ *is_maximized = (window_placement.showCmd == SW_MAXIMIZE);
+ }
+}
+
void AutomationProvider::GetTabHWND(int handle, HWND* tab_hwnd) {
*tab_hwnd = NULL;
@@ -408,35 +427,6 @@
return NULL;
}
-void AutomationProvider::OnTabReposition(
- int tab_handle, const IPC::Reposition_Params& params) {
- if (!tab_tracker_->ContainsHandle(tab_handle))
- return;
-
- if (!IsWindow(params.window))
- return;
-
- unsigned long process_id = 0;
- unsigned long thread_id = 0;
-
- thread_id = GetWindowThreadProcessId(params.window, &process_id);
-
- if (thread_id != GetCurrentThreadId()) {
- NOTREACHED();
- return;
- }
-
- SetWindowPos(params.window, params.window_insert_after, params.left,
- params.top, params.width, params.height, params.flags);
-
- if (params.set_parent) {
- if (IsWindow(params.parent_window)) {
- if (!SetParent(params.window, params.parent_window))
- DLOG(WARNING) << "SetParent failed. Error 0x%x" << GetLastError();
- }
- }
-}
-
void AutomationProvider::OnForwardContextMenuCommandToChrome(int tab_handle,
int command) {
if (tab_tracker_->ContainsHandle(tab_handle)) {
@@ -485,3 +475,12 @@
}
}
+void AutomationProvider::TerminateSession(int handle, bool* success) {
+ *success = false;
+
+ if (browser_tracker_->ContainsHandle(handle)) {
+ Browser* browser = browser_tracker_->GetResource(handle);
+ HWND window = browser->window()->GetNativeHandle();
+ *success = (::PostMessageW(window, WM_ENDSESSION, 0, 0) == TRUE);
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698