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

Unified Diff: chrome/browser/chromeos/webui/login/browser/dom_browser_view_layout.cc

Issue 6692001: Add in DOMBrowserView and Frame related classes (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Removed DOMBrowserFrame* classes and added changes in line with oshima's comments Created 9 years, 9 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/chromeos/webui/login/browser/dom_browser_view_layout.cc
diff --git a/chrome/browser/chromeos/webui/login/browser/dom_browser_view_layout.cc b/chrome/browser/chromeos/webui/login/browser/dom_browser_view_layout.cc
new file mode 100644
index 0000000000000000000000000000000000000000..c525302e4fd367cf35ff1018d1db9e6c48b98429
--- /dev/null
+++ b/chrome/browser/chromeos/webui/login/browser/dom_browser_view_layout.cc
@@ -0,0 +1,97 @@
+// Copyright (c) 2011 The Chromium 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 "chrome/browser/chromeos/webui/login/browser/dom_browser_view_layout.h"
+
+#include <algorithm>
+
+#include "chrome/browser/chromeos/status/status_area_view.h"
+#include "chrome/browser/chromeos/view_ids.h"
+#include "views/window/hit_test.h"
+
+namespace chromeos {
+
+// DOMBrowserViewLayout public: ------------------------------------------------
+
+DOMBrowserViewLayout::DOMBrowserViewLayout() : ::BrowserViewLayout() {}
+
+DOMBrowserViewLayout::~DOMBrowserViewLayout() {}
+
+// DOMBrowserViewLayout, ::DOMBrowserViewLayout overrides: ---------------------
+
+void DOMBrowserViewLayout::Installed(views::View* host) {
+ status_area_ = NULL;
+ ::BrowserViewLayout::Installed(host);
+}
+
+void DOMBrowserViewLayout::ViewAdded(views::View* host,
+ views::View* view) {
+ ::BrowserViewLayout::ViewAdded(host, view);
+ switch (view->GetID()) {
+ case VIEW_ID_STATUS_AREA:
+ status_area_ = static_cast<chromeos::StatusAreaView*>(view);
+ break;
+ }
+}
+
+int DOMBrowserViewLayout::LayoutTabStrip() {
+ status_area_->SetVisible(true);
+ gfx::Size status_size = status_area_->GetPreferredSize();
+ status_area_->SetBounds(vertical_layout_rect_.width() - status_size.width(),
+ 0,
+ vertical_layout_rect_.width(),
+ status_size.height());
+
+ return status_size.height();
+}
+
+int DOMBrowserViewLayout::LayoutToolbar(int top) {
+ return top;
+}
+
+int DOMBrowserViewLayout::LayoutBookmarkAndInfoBars(int top) {
+ return top;
+}
+
+bool DOMBrowserViewLayout::IsPositionInWindowCaption(const gfx::Point& point) {
+ return false;
+}
+
+int DOMBrowserViewLayout::NonClientHitTest(const gfx::Point& point) {
+ views::View* parent = browser_view_->parent();
+ gfx::Point point_in_browser_view_coords(point);
+ views::View::ConvertPointToView(
+ parent, browser_view_, &point_in_browser_view_coords);
+ gfx::Rect bv_bounds = browser_view_->bounds();
+ if (bv_bounds.Contains(point))
+ return HTCLIENT;
+ // If the point is somewhere else, delegate to the default implementation.
+ return browser_view_->views::ClientView::NonClientHitTest(point);
+}
+
+// DOMBrowserViewLayout private: -----------------------------------------------
+
+bool DOMBrowserViewLayout::IsPointInViewsInTitleArea(const gfx::Point& point)
+ const {
+ gfx::Point point_in_status_area_coords(point);
+ views::View::ConvertPointToView(browser_view_, status_area_,
+ &point_in_status_area_coords);
+ return status_area_->HitTest(point_in_status_area_coords);
+}
+
+int DOMBrowserViewLayout::LayoutTitlebarComponents(const gfx::Rect& bounds) {
+ status_area_->SetVisible(true);
+ gfx::Size status_size = status_area_->GetPreferredSize();
+ status_area_->SetBounds(bounds.right() - status_size.width(),
+ bounds.y(),
+ status_size.width(),
+ status_size.height());
+ return status_size.height();
+}
+
+const DOMBrowserView* DOMBrowserViewLayout::GetDOMBrowserView() {
+ return static_cast<DOMBrowserView*>(browser_view_);
+}
+
+} // namespace chromeos
« no previous file with comments | « chrome/browser/chromeos/webui/login/browser/dom_browser_view_layout.h ('k') | chrome/browser/ui/views/frame/browser_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698