top_container_view.h revision 868fa2fe829687343ffae624259930155e16dbd8
1// Copyright 2013 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#ifndef CHROME_BROWSER_UI_VIEWS_FRAME_TOP_CONTAINER_VIEW_H_ 6#define CHROME_BROWSER_UI_VIEWS_FRAME_TOP_CONTAINER_VIEW_H_ 7 8#include "base/basictypes.h" 9#include "base/compiler_specific.h" 10#include "ui/views/view.h" 11 12class BrowserView; 13 14// Container for the BrowserView's tab strip, toolbar, and sometimes bookmark 15// bar. In Chrome OS immersive fullscreen it stacks on top of other views in 16// order to slide in and out over the web contents. It informs the immersive 17// mode controller when its children lose focus to trigger a slide out. 18class TopContainerView : public views::View { 19 public: 20 explicit TopContainerView(BrowserView* browser_view); 21 virtual ~TopContainerView(); 22 23 // views::View overrides: 24 virtual gfx::Size GetPreferredSize() OVERRIDE; 25 virtual const char* GetClassName() const OVERRIDE; 26 virtual void OnBoundsChanged(const gfx::Rect& bounds) OVERRIDE; 27 virtual void PaintChildren(gfx::Canvas* canvas) OVERRIDE; 28 29 private: 30 // The parent of this view. Not owned. 31 BrowserView* browser_view_; 32 33 DISALLOW_COPY_AND_ASSIGN(TopContainerView); 34}; 35 36#endif // CHROME_BROWSER_UI_VIEWS_FRAME_TOP_CONTAINER_VIEW_H_ 37