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

Side by Side Diff: chrome/browser/ui/views/autocomplete/autocomplete_popup_contents_view.cc

Issue 7584024: views omnibox popup: Setup the parent Widget, instead of the parent NativeView. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 9 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/views/autocomplete/autocomplete_popup_contents_view. h" 5 #include "chrome/browser/ui/views/autocomplete/autocomplete_popup_contents_view. h"
6 6
7 #include "base/compiler_specific.h" 7 #include "base/compiler_specific.h"
8 #include "base/utf_string_conversions.h" 8 #include "base/utf_string_conversions.h"
9 #include "chrome/browser/autocomplete/autocomplete_popup_model.h" 9 #include "chrome/browser/autocomplete/autocomplete_popup_model.h"
10 #include "chrome/browser/instant/instant_confirm_dialog.h" 10 #include "chrome/browser/instant/instant_confirm_dialog.h"
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 }; 223 };
224 224
225 //////////////////////////////////////////////////////////////////////////////// 225 ////////////////////////////////////////////////////////////////////////////////
226 // AutocompletePopupContentsView, public: 226 // AutocompletePopupContentsView, public:
227 227
228 AutocompletePopupContentsView::AutocompletePopupContentsView( 228 AutocompletePopupContentsView::AutocompletePopupContentsView(
229 const gfx::Font& font, 229 const gfx::Font& font,
230 OmniboxView* omnibox_view, 230 OmniboxView* omnibox_view,
231 AutocompleteEditModel* edit_model, 231 AutocompleteEditModel* edit_model,
232 Profile* profile, 232 Profile* profile,
233 const views::View* location_bar) 233 views::View* location_bar)
234 : model_(new AutocompletePopupModel(this, edit_model, profile)), 234 : model_(new AutocompletePopupModel(this, edit_model, profile)),
235 opt_in_view_(NULL), 235 opt_in_view_(NULL),
236 omnibox_view_(omnibox_view), 236 omnibox_view_(omnibox_view),
237 location_bar_(location_bar), 237 location_bar_(location_bar),
238 result_font_(font.DeriveFont(kEditFontAdjust)), 238 result_font_(font.DeriveFont(kEditFontAdjust)),
239 result_bold_font_(result_font_.DeriveFont(0, gfx::Font::BOLD)), 239 result_bold_font_(result_font_.DeriveFont(0, gfx::Font::BOLD)),
240 ignore_mouse_drag_(false), 240 ignore_mouse_drag_(false),
241 ALLOW_THIS_IN_INITIALIZER_LIST(size_animation_(this)) { 241 ALLOW_THIS_IN_INITIALIZER_LIST(size_animation_(this)) {
242 // The following little dance is required because set_border() requires a 242 // The following little dance is required because set_border() requires a
243 // pointer to a non-const object. 243 // pointer to a non-const object.
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
350 if (new_target_bounds.height() != target_bounds_.height()) 350 if (new_target_bounds.height() != target_bounds_.height())
351 size_animation_.Reset(); 351 size_animation_.Reset();
352 target_bounds_ = new_target_bounds; 352 target_bounds_ = new_target_bounds;
353 353
354 if (popup_ == NULL) { 354 if (popup_ == NULL) {
355 // If the popup is currently closed, we need to create it. 355 // If the popup is currently closed, we need to create it.
356 popup_ = (new AutocompletePopupWidget)->AsWeakPtr(); 356 popup_ = (new AutocompletePopupWidget)->AsWeakPtr();
357 views::Widget::InitParams params(views::Widget::InitParams::TYPE_POPUP); 357 views::Widget::InitParams params(views::Widget::InitParams::TYPE_POPUP);
358 params.can_activate = false; 358 params.can_activate = false;
359 params.transparent = true; 359 params.transparent = true;
360 params.parent = location_bar_->GetWidget()->GetNativeView(); 360 params.parent_widget = location_bar_->GetWidget();
sky 2011/08/08 16:35:28 Should InitParams parent_widget be a const* Widget
sadrul 2011/08/08 17:05:33 I think that'll be very difficult, considering NWV
361 params.bounds = GetPopupBounds(); 361 params.bounds = GetPopupBounds();
362 popup_->Init(params); 362 popup_->Init(params);
363 popup_->SetContentsView(this); 363 popup_->SetContentsView(this);
364 popup_->MoveAbove( 364 popup_->MoveAbove(
365 GetRelativeWindowForPopup(omnibox_view_->GetNativeView())); 365 GetRelativeWindowForPopup(omnibox_view_->GetNativeView()));
366 popup_->Show(); 366 popup_->Show();
367 } else { 367 } else {
368 // Animate the popup shrinking, but don't animate growing larger since that 368 // Animate the popup shrinking, but don't animate growing larger since that
369 // would make the popup feel less responsive. 369 // would make the popup feel less responsive.
370 start_bounds_ = GetWidget()->GetWindowScreenBounds(); 370 start_bounds_ = GetWidget()->GetWindowScreenBounds();
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after
696 opt_in_view_ = NULL; 696 opt_in_view_ = NULL;
697 PromoCounter* counter = model_->profile()->GetInstantPromoCounter(); 697 PromoCounter* counter = model_->profile()->GetInstantPromoCounter();
698 DCHECK(counter); 698 DCHECK(counter);
699 counter->Hide(); 699 counter->Hide();
700 if (opt_in) { 700 if (opt_in) {
701 browser::ShowInstantConfirmDialogIfNecessary( 701 browser::ShowInstantConfirmDialogIfNecessary(
702 location_bar_->GetWidget()->GetNativeWindow(), model_->profile()); 702 location_bar_->GetWidget()->GetNativeWindow(), model_->profile());
703 } 703 }
704 UpdatePopupAppearance(); 704 UpdatePopupAppearance();
705 } 705 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698