summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views/info_bar_view.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/views/info_bar_view.cc')
-rw-r--r--chrome/browser/views/info_bar_view.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/chrome/browser/views/info_bar_view.cc b/chrome/browser/views/info_bar_view.cc
index 00a704f9..17d4a2a 100644
--- a/chrome/browser/views/info_bar_view.cc
+++ b/chrome/browser/views/info_bar_view.cc
@@ -9,6 +9,7 @@
#include "chrome/browser/navigation_entry.h"
#include "chrome/browser/tab_contents_delegate.h"
#include "chrome/browser/web_contents.h"
+#include "chrome/browser/web_contents_view.h"
#include "chrome/common/gfx/chrome_canvas.h"
#include "chrome/common/l10n_util.h"
#include "chrome/common/resource_bundle.h"
@@ -128,10 +129,13 @@ void InfoBarView::ViewHierarchyChanged(bool is_add, View *parent,
expire_map_[child] = GetActiveID();
}
- if (web_contents_->IsInfoBarVisible()) {
+ // TODO(brettw) clean up the ownership of this info bar. It should be owned
+ // by the web contents view instead. In the meantime, we assume we're owned
+ // by a WebContents.
+ if (web_contents_->AsWebContents()->view()->IsInfoBarVisible()) {
web_contents_->ToolbarSizeChanged(false);
} else {
- web_contents_->SetInfoBarVisible(true);
+ web_contents_->view()->SetInfoBarVisible(true);
}
}
}
@@ -231,7 +235,7 @@ void InfoBarView::Observe(NotificationType type,
if (GetChildViewCount() == 0) {
// All our views have been removed, no need to stay visible.
- web_contents_->SetInfoBarVisible(false);
+ web_contents_->view()->SetInfoBarVisible(false);
} else if (web_contents_) {
// This triggers a layout.
web_contents_->ToolbarSizeChanged(false);