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

Side by Side Diff: chrome/browser/chromeos/frame/dom_browser_view_layout.cc

Issue 6973029: Integrate WebUI Login with cros. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Fixed patch staleness Created 9 years, 7 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
OLDNEW
(Empty)
1 // Copyright (c) 2011 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/browser/chromeos/frame/dom_browser_view_layout.h"
6
7 #include <algorithm>
8
9 #include "chrome/browser/chromeos/status/status_area_view.h"
10 #include "chrome/browser/chromeos/view_ids.h"
11 #include "views/window/hit_test.h"
12
13 namespace chromeos {
14
15 // DOMBrowserViewLayout public: ------------------------------------------------
16
17 DOMBrowserViewLayout::DOMBrowserViewLayout() : ::BrowserViewLayout() {}
18
19 DOMBrowserViewLayout::~DOMBrowserViewLayout() {}
20
21 // DOMBrowserViewLayout, ::DOMBrowserViewLayout overrides: ---------------------
22
23 void DOMBrowserViewLayout::Installed(views::View* host) {
24 status_area_ = NULL;
25 ::BrowserViewLayout::Installed(host);
26 }
27
28 void DOMBrowserViewLayout::ViewAdded(views::View* host,
29 views::View* view) {
30 ::BrowserViewLayout::ViewAdded(host, view);
31 switch (view->GetID()) {
32 case VIEW_ID_STATUS_AREA:
33 status_area_ = static_cast<chromeos::StatusAreaView*>(view);
34 break;
35 }
36 }
37
38 int DOMBrowserViewLayout::LayoutTabStrip() {
39 status_area_->SetVisible(true);
40 gfx::Size status_size = status_area_->GetPreferredSize();
41 status_area_->SetBounds(vertical_layout_rect_.width() - status_size.width(),
42 0,
43 vertical_layout_rect_.width(),
44 status_size.height());
45
46 return status_size.height();
47 }
48
49 int DOMBrowserViewLayout::LayoutToolbar(int top) {
50 return top;
51 }
52
53 int DOMBrowserViewLayout::LayoutBookmarkAndInfoBars(int top) {
54 return top;
55 }
56
57 bool DOMBrowserViewLayout::IsPositionInWindowCaption(const gfx::Point& point) {
58 return false;
59 }
60
61 int DOMBrowserViewLayout::NonClientHitTest(const gfx::Point& point) {
62 views::View* parent = browser_view_->parent();
63 gfx::Point point_in_browser_view_coords(point);
64 views::View::ConvertPointToView(
65 parent, browser_view_, &point_in_browser_view_coords);
66 gfx::Rect bv_bounds = browser_view_->bounds();
67 if (bv_bounds.Contains(point))
68 return HTCLIENT;
69 // If the point is somewhere else, delegate to the default implementation.
70 return browser_view_->views::ClientView::NonClientHitTest(point);
71 }
72
73 // DOMBrowserViewLayout private: -----------------------------------------------
74
75 bool DOMBrowserViewLayout::IsPointInViewsInTitleArea(const gfx::Point& point)
76 const {
77 gfx::Point point_in_status_area_coords(point);
78 views::View::ConvertPointToView(browser_view_, status_area_,
79 &point_in_status_area_coords);
80 return status_area_->HitTest(point_in_status_area_coords);
81 }
82
83 int DOMBrowserViewLayout::LayoutTitlebarComponents(const gfx::Rect& bounds) {
84 status_area_->SetVisible(true);
85 gfx::Size status_size = status_area_->GetPreferredSize();
86 status_area_->SetBounds(bounds.right() - status_size.width(),
87 bounds.y(),
88 status_size.width(),
89 status_size.height());
90 return status_size.height();
91 }
92
93 const DOMBrowserView* DOMBrowserViewLayout::GetDOMBrowserView() {
94 return static_cast<DOMBrowserView*>(browser_view_);
95 }
96
97 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/frame/dom_browser_view_layout.h ('k') | chrome/browser/chromeos/login/background_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698