summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos/frame/browser_view.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/chromeos/frame/browser_view.cc')
-rw-r--r--chrome/browser/chromeos/frame/browser_view.cc16
1 files changed, 15 insertions, 1 deletions
diff --git a/chrome/browser/chromeos/frame/browser_view.cc b/chrome/browser/chromeos/frame/browser_view.cc
index d6aff2f..b3925c1 100644
--- a/chrome/browser/chromeos/frame/browser_view.cc
+++ b/chrome/browser/chromeos/frame/browser_view.cc
@@ -6,6 +6,7 @@
#include <algorithm>
#include <string>
+#include <vector>
#include "app/menus/simple_menu_model.h"
#include "app/theme_provider.h"
@@ -392,16 +393,29 @@ void BrowserView::Init() {
otr_avatar_icon_->SetImage(GetOTRAvatarIcon());
otr_avatar_icon_->SetID(VIEW_ID_OTR_AVATAR);
AddChildView(otr_avatar_icon_);
+
+ // Make sure the window is set to the right type.
+ std::vector<int> params;
+ params.push_back(browser()->tab_count());
+ params.push_back(browser()->selected_index());
+ WmIpc::instance()->SetWindowType(
+ GTK_WIDGET(frame()->GetWindow()->GetNativeWindow()),
+ WmIpc::WINDOW_TYPE_CHROME_TOPLEVEL,
+ &params);
}
void BrowserView::Show() {
bool was_visible = frame()->GetWindow()->IsVisible();
::BrowserView::Show();
if (!was_visible) {
+ // Have to update the tab count and selected index to reflect reality.
+ std::vector<int> params;
+ params.push_back(browser()->tab_count());
+ params.push_back(browser()->selected_index());
WmIpc::instance()->SetWindowType(
GTK_WIDGET(frame()->GetWindow()->GetNativeWindow()),
WmIpc::WINDOW_TYPE_CHROME_TOPLEVEL,
- NULL);
+ &params);
}
}