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

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

Issue 10832216: Clicks broken in NTP section of Search overlay (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 4 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
Index: chrome/browser/ui/views/frame/contents_container.cc
diff --git a/chrome/browser/ui/views/frame/contents_container.cc b/chrome/browser/ui/views/frame/contents_container.cc
index a502c93d4aba157ad6a8d5ddb156f8fa575e6df1..508fff9f24523528d3bd8804b09a49af50f3bfda 100644
--- a/chrome/browser/ui/views/frame/contents_container.cc
+++ b/chrome/browser/ui/views/frame/contents_container.cc
@@ -5,6 +5,7 @@
#include "chrome/browser/ui/views/frame/contents_container.h"
#include "base/logging.h"
+#include "ui/views/controls/webview/webview.h"
using content::WebContents;
@@ -12,7 +13,7 @@ using content::WebContents;
const char ContentsContainer::kViewClassName[] =
"browser/ui/views/frame/ContentsContainer";
-ContentsContainer::ContentsContainer(views::View* active)
+ContentsContainer::ContentsContainer(views::WebView* active)
: active_(active),
overlay_(NULL),
preview_(NULL),
@@ -24,6 +25,16 @@ ContentsContainer::ContentsContainer(views::View* active)
ContentsContainer::~ContentsContainer() {
}
+void ContentsContainer::SetActive(views::WebView* active) {
+ if (active_)
+ RemoveChildView(active_);
+ active_ = active;
+ // Note the active view is always the first child.
+ if (active_)
+ AddChildViewAt(active_, 0);
+ Layout();
+}
+
void ContentsContainer::SetOverlay(views::View* overlay) {
if (overlay_)
RemoveChildView(overlay_);
@@ -42,7 +53,7 @@ void ContentsContainer::MakePreviewContentsActiveContents() {
Layout();
}
-void ContentsContainer::SetPreview(views::View* preview,
+void ContentsContainer::SetPreview(views::WebView* preview,
WebContents* preview_web_contents) {
if (preview == preview_)
return;
@@ -77,7 +88,8 @@ void ContentsContainer::Layout() {
int content_y = active_top_margin_;
int content_height = std::max(0, height() - content_y);
- active_->SetBounds(0, content_y, width(), content_height);
+ if (active_)
+ active_->SetBounds(0, content_y, width(), content_height);
if (overlay_)
overlay_->SetBounds(0, 0, width(), height());

Powered by Google App Engine
This is Rietveld 408576698