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

Unified Diff: chrome/browser/ui/views/frame/browser_view.cc

Issue 14348011: Add a unit test for BrowserViewLayout (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 8 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
« no previous file with comments | « chrome/browser/ui/views/frame/browser_view.h ('k') | chrome/browser/ui/views/frame/browser_view_layout.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/views/frame/browser_view.cc
diff --git a/chrome/browser/ui/views/frame/browser_view.cc b/chrome/browser/ui/views/frame/browser_view.cc
index 64966b0398cf35741c33a41aff554a94f43923a1..b984bffcc78738b0ff0e19895e4036ef6586c66f 100644
--- a/chrome/browser/ui/views/frame/browser_view.cc
+++ b/chrome/browser/ui/views/frame/browser_view.cc
@@ -428,12 +428,11 @@ class ResizeCorner : public views::View {
///////////////////////////////////////////////////////////////////////////////
// BrowserView, public:
-BrowserView::BrowserView(Browser* browser)
+BrowserView::BrowserView()
: views::ClientView(NULL, NULL),
last_focused_view_storage_id_(
views::ViewStorage::GetInstance()->CreateStorageID()),
frame_(NULL),
- browser_(browser),
top_container_(NULL),
tabstrip_(NULL),
toolbar_(NULL),
@@ -455,7 +454,6 @@ BrowserView::BrowserView(Browser* browser)
immersive_mode_controller_(chrome::CreateImmersiveModeController()),
ALLOW_THIS_IN_INITIALIZER_LIST(color_change_listener_(this)),
ALLOW_THIS_IN_INITIALIZER_LIST(activate_modal_dialog_factory_(this)) {
- browser_->tab_strip_model()->AddObserver(this);
}
BrowserView::~BrowserView() {
@@ -510,6 +508,11 @@ BrowserView::~BrowserView() {
browser_.reset();
}
+void BrowserView::Init(Browser* browser) {
+ browser_.reset(browser);
+ browser_->tab_strip_model()->AddObserver(this);
+}
+
// static
BrowserView* BrowserView::GetBrowserViewForNativeWindow(
gfx::NativeWindow window) {
@@ -1923,7 +1926,7 @@ void BrowserView::ViewHierarchyChanged(bool is_add,
views::View* parent,
views::View* child) {
if (!initialized_ && is_add && child == this && GetWidget()) {
- Init();
+ InitViews();
initialized_ = true;
}
}
@@ -2015,10 +2018,10 @@ void BrowserView::OnSysColorChange() {
chrome::MaybeShowInvertBubbleView(browser_.get(), contents_container_);
}
-void BrowserView::Init() {
+void BrowserView::InitViews() {
GetWidget()->AddObserver(this);
- SetLayoutManager(new BrowserViewLayout);
+ SetLayoutManager(new BrowserViewLayout(browser()));
// Stow a pointer to this object onto the window handle so that we can get at
// it later when all we have is a native view.
GetWidget()->SetNativeWindowProperty(kBrowserViewKey, this);
@@ -2611,7 +2614,8 @@ void BrowserView::CreateLauncherIcon() {
BrowserWindow* BrowserWindow::CreateBrowserWindow(Browser* browser) {
// Create the view and the frame. The frame will attach itself via the view
// so we don't need to do anything with the pointer.
- BrowserView* view = new BrowserView(browser);
+ BrowserView* view = new BrowserView();
+ view->Init(browser);
(new BrowserFrame(view))->InitBrowserFrame();
view->GetWidget()->non_client_view()->SetAccessibleName(
l10n_util::GetStringUTF16(IDS_PRODUCT_NAME));
« no previous file with comments | « chrome/browser/ui/views/frame/browser_view.h ('k') | chrome/browser/ui/views/frame/browser_view_layout.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698