| // Copyright (c) 2016 The Chromium Embedded Framework Authors. All rights |
| // reserved. Use of this source code is governed by a BSD-style license that |
| // can be found in the LICENSE file. |
| |
| #include "tests/cefclient/browser/window_test_runner_views.h" |
| |
| #include "include/views/cef_browser_view.h" |
| #include "include/views/cef_display.h" |
| #include "include/views/cef_window.h" |
| #include "include/wrapper/cef_helpers.h" |
| |
| namespace client { |
| namespace window_test { |
| |
| namespace { |
| |
| CefRefPtr<CefWindow> GetWindow(CefRefPtr<CefBrowser> browser) { |
| CEF_REQUIRE_UI_THREAD(); |
| DCHECK(browser->GetHost()->HasView()); |
| |
| CefRefPtr<CefBrowserView> browser_view = |
| CefBrowserView::GetForBrowser(browser); |
| DCHECK(browser_view.get()); |
| |
| CefRefPtr<CefWindow> window = browser_view->GetWindow(); |
| DCHECK(window.get()); |
| return window; |
| } |
| |
| } // namespace |
| |
| WindowTestRunnerViews::WindowTestRunnerViews() {} |
| |
| void WindowTestRunnerViews::SetPos(CefRefPtr<CefBrowser> browser, |
| int x, |
| int y, |
| int width, |
| int height) { |
| CefRefPtr<CefWindow> window = GetWindow(browser); |
| |
| CefRect window_bounds(x, y, width, height); |
| ModifyBounds(window->GetDisplay()->GetWorkArea(), window_bounds); |
| |
| window->SetBounds(window_bounds); |
| } |
| |
| void WindowTestRunnerViews::Minimize(CefRefPtr<CefBrowser> browser) { |
| GetWindow(browser)->Minimize(); |
| } |
| |
| void WindowTestRunnerViews::Maximize(CefRefPtr<CefBrowser> browser) { |
| GetWindow(browser)->Maximize(); |
| } |
| |
| void WindowTestRunnerViews::Restore(CefRefPtr<CefBrowser> browser) { |
| GetWindow(browser)->Restore(); |
| } |
| |
| } // namespace window_test |
| } // namespace client |