summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/views/frame/browser_view.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/ui/views/frame/browser_view.cc')
-rw-r--r--chrome/browser/ui/views/frame/browser_view.cc19
1 files changed, 19 insertions, 0 deletions
diff --git a/chrome/browser/ui/views/frame/browser_view.cc b/chrome/browser/ui/views/frame/browser_view.cc
index 06d8389..b4ff7aa 100644
--- a/chrome/browser/ui/views/frame/browser_view.cc
+++ b/chrome/browser/ui/views/frame/browser_view.cc
@@ -51,6 +51,7 @@
#include "chrome/browser/ui/views/frame/browser_view_layout.h"
#include "chrome/browser/ui/views/frame/contents_container.h"
#include "chrome/browser/ui/views/fullscreen_exit_bubble.h"
+#include "chrome/browser/ui/views/location_bar/location_icon_view.h"
#include "chrome/browser/ui/views/status_bubble_views.h"
#include "chrome/browser/ui/views/tab_contents/tab_contents_container.h"
#include "chrome/browser/ui/views/tabs/browser_tab_strip_controller.h"
@@ -1804,6 +1805,14 @@ void BrowserView::Layout() {
#endif
}
+void BrowserView::PaintChildren(gfx::Canvas* canvas) {
+ views::ClientView::PaintChildren(canvas);
+
+ infobar_container_->PaintInfoBarArrows(canvas->AsCanvasSkia(),
+ this,
+ GetInfoBarArrowCenterX());
+}
+
void BrowserView::ViewHierarchyChanged(bool is_add,
views::View* parent,
views::View* child) {
@@ -1976,6 +1985,16 @@ void BrowserView::InitSystemMenu() {
}
#endif
+int BrowserView::GetInfoBarArrowCenterX() const {
+ LocationBarView* location_bar_view = toolbar_->location_bar();
+ const LocationIconView* location_icon_view =
+ location_bar_view->location_icon_view();
+ gfx::Rect icon_bounds = location_icon_view->bounds();
+ gfx::Point icon_center = icon_bounds.CenterPoint();
+ ConvertPointToView(location_bar_view, this, &icon_center);
+ return icon_center.x();
+}
+
BrowserViewLayout* BrowserView::GetBrowserViewLayout() const {
return static_cast<BrowserViewLayout*>(GetLayoutManager());
}