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

Unified Diff: chrome/browser/ui/views/search_view_controller.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/search_view_controller.cc
diff --git a/chrome/browser/ui/views/search_view_controller.cc b/chrome/browser/ui/views/search_view_controller.cc
index 21aac0f61800da235ca8672bf8a4934082b6cb92..147999730d8549f298dbdf94cdf0ddfc9b627b48 100644
--- a/chrome/browser/ui/views/search_view_controller.cc
+++ b/chrome/browser/ui/views/search_view_controller.cc
@@ -236,10 +236,8 @@ void SearchViewController::OmniboxPopupViewParent::ChildPreferredSizeChanged(
// SearchViewController --------------------------------------------------------
SearchViewController::SearchViewController(
- content::BrowserContext* browser_context,
ContentsContainer* contents_container)
- : browser_context_(browser_context),
- contents_container_(contents_container),
+ : contents_container_(contents_container),
location_bar_container_(NULL),
state_(STATE_NOT_VISIBLE),
tab_contents_(NULL),
@@ -340,7 +338,6 @@ void SearchViewController::UpdateState() {
break;
}
SetState(new_state);
- MaybeLoadNTP();
}
void SearchViewController::SetState(State state) {
@@ -357,9 +354,6 @@ void SearchViewController::SetState(State state) {
case STATE_NTP:
DestroyViews();
CreateViews();
- // TODO(dhollowa): This is temporary. The |content_view_| should pull its
- // web contents from the current tab's |search_tab_helper|.
- content_view_->LoadInitialURL(GURL(chrome::kChromeUINewTabURL));
break;
case STATE_ANIMATING:
@@ -432,8 +426,10 @@ void SearchViewController::CreateViews() {
logo_view_->SetPaintToLayer(true);
logo_view_->SetFillsBoundsOpaquely(false);
- content_view_ = new views::WebView(browser_context_);
- content_view_->SetFillsBoundsOpaquely(false);
+ // Reparent the main web contents view out of |contents_container_| and
+ // in to |ntp_view_| below. Reparent back in destructor.
+ content_view_ = contents_container_->active();
+ contents_container_->SetActive(NULL);
sky 2012/08/09 00:39:14 How about a DCHECK(content_view_) between 431/432.
dhollowa 2012/08/09 16:07:25 Done.
ntp_view_->SetLayoutManager(
new NTPViewLayoutManager(logo_view_, content_view_));
@@ -458,10 +454,15 @@ void SearchViewController::DestroyViews() {
omnibox_popup_view_parent_->parent()->RemoveChildView(
omnibox_popup_view_parent_);
- if (content_view_)
- content_view_->SetWebContents(NULL);
-
+ // Restore control/parenting of the web_contents back to the
+ // |main_contents_view_|.
+ ntp_view_->SetLayoutManager(NULL);
+ ntp_view_->RemoveChildView(content_view_);
+ if (content_view_->web_contents())
+ content_view_->web_contents()->GetNativeView()->layer()->SetOpacity(1.0f);
+ contents_container_->SetActive(content_view_);
contents_container_->SetOverlay(NULL);
+
delete search_container_;
search_container_ = NULL;
ntp_view_ = NULL;
@@ -480,14 +481,6 @@ void SearchViewController::PopupVisibilityChanged() {
}
}
-void SearchViewController::MaybeLoadNTP() {
- if (state_ != STATE_NTP || !content_view_)
- return;
-
- content_view_->SetWebContents(
- tab_contents_->search_tab_helper()->GetNTPWebContents());
-}
-
chrome::search::SearchModel* SearchViewController::search_model() {
return tab_contents_ ? tab_contents_->search_tab_helper()->model() : NULL;
}

Powered by Google App Engine
This is Rietveld 408576698