| 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));
|
|
|