172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// Use of this source code is governed by a BSD-style license that can be
3bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// found in the LICENSE file.
4bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "chrome/browser/ui/views/frame/popup_non_client_frame_view.h"
6bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "ui/gfx/point.h"
872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "ui/gfx/rect.h"
972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "ui/gfx/size.h"
10bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
11bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen#if defined(OS_LINUX)
12bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen#include "views/window/hit_test.h"
13bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen#endif
14bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
15bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsengfx::Rect PopupNonClientFrameView::GetBoundsForClientView() const {
16bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  return gfx::Rect(0, 0, width(), height());
17bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen}
18bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
19bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenbool PopupNonClientFrameView::AlwaysUseCustomFrame() const {
20bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  return false;
21bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen}
22bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
23bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenbool PopupNonClientFrameView::AlwaysUseNativeFrame() const {
24bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  return true;
25bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen}
26bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
27bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsengfx::Rect PopupNonClientFrameView::GetWindowBoundsForClientBounds(
28bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    const gfx::Rect& client_bounds) const {
29bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  return client_bounds;
30bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen}
31bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
32bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenint PopupNonClientFrameView::NonClientHitTest(const gfx::Point& point) {
33bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  return bounds().Contains(point) ? HTCLIENT : HTNOWHERE;
34bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen}
35bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
36bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenvoid PopupNonClientFrameView::GetWindowMask(const gfx::Size& size,
37bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen                                                    gfx::Path* window_mask) {
38bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen}
39bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
40bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenvoid PopupNonClientFrameView::EnableClose(bool enable) {
41bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen}
42bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
43bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenvoid PopupNonClientFrameView::ResetWindowControls() {
44bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen}
45bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
46ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid PopupNonClientFrameView::UpdateWindowIcon() {
47ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen}
48ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
49bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsengfx::Rect PopupNonClientFrameView::GetBoundsForTabStrip(
5072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen    views::View* tabstrip) const {
5172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  return gfx::Rect(0, 0, width(), tabstrip->GetPreferredSize().height());
52bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen}
53bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
54bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenint PopupNonClientFrameView::GetHorizontalTabStripVerticalOffset(
55bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    bool restored) const {
56bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  return 0;
57bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen}
58bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
59bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenvoid PopupNonClientFrameView::UpdateThrobber(bool running) {
60bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen}
61