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