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

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

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 #ifndef CHROME_BROWSER_UI_VIEWS_AUTOCOMPLETE_AUTOCOMPLETE_POPUP_CONTENTS_VIEW_H_ 5 #ifndef CHROME_BROWSER_UI_VIEWS_AUTOCOMPLETE_AUTOCOMPLETE_POPUP_CONTENTS_VIEW_H_
6 #define CHROME_BROWSER_UI_VIEWS_AUTOCOMPLETE_AUTOCOMPLETE_POPUP_CONTENTS_VIEW_H_ 6 #define CHROME_BROWSER_UI_VIEWS_AUTOCOMPLETE_AUTOCOMPLETE_POPUP_CONTENTS_VIEW_H_
7 #pragma once 7 #pragma once
8 8
9 #include "chrome/browser/autocomplete/autocomplete.h" 9 #include "chrome/browser/autocomplete/autocomplete.h"
10 #include "chrome/browser/autocomplete/autocomplete_popup_model.h" 10 #include "chrome/browser/autocomplete/autocomplete_popup_model.h"
(...skipping 19 matching lines...) Expand all
30 // A view representing the contents of the autocomplete popup. 30 // A view representing the contents of the autocomplete popup.
31 class AutocompletePopupContentsView : public views::View, 31 class AutocompletePopupContentsView : public views::View,
32 public AutocompleteResultViewModel, 32 public AutocompleteResultViewModel,
33 public AutocompletePopupView, 33 public AutocompletePopupView,
34 public ui::AnimationDelegate { 34 public ui::AnimationDelegate {
35 public: 35 public:
36 AutocompletePopupContentsView(const gfx::Font& font, 36 AutocompletePopupContentsView(const gfx::Font& font,
37 OmniboxView* omnibox_view, 37 OmniboxView* omnibox_view,
38 AutocompleteEditModel* edit_model, 38 AutocompleteEditModel* edit_model,
39 Profile* profile, 39 Profile* profile,
40 const views::View* location_bar); 40 views::View* location_bar);
41 virtual ~AutocompletePopupContentsView(); 41 virtual ~AutocompletePopupContentsView();
42 42
43 // Returns the bounds the popup should be shown at. This is the display bounds 43 // Returns the bounds the popup should be shown at. This is the display bounds
44 // and includes offsets for the dropshadow which this view's border renders. 44 // and includes offsets for the dropshadow which this view's border renders.
45 gfx::Rect GetPopupBounds() const; 45 gfx::Rect GetPopupBounds() const;
46 46
47 virtual void LayoutChildren(); 47 virtual void LayoutChildren();
48 48
49 // Overridden from AutocompletePopupView: 49 // Overridden from AutocompletePopupView:
50 virtual bool IsOpen() const OVERRIDE; 50 virtual bool IsOpen() const OVERRIDE;
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 // The popup that contains this view. We create this, but it deletes itself 137 // The popup that contains this view. We create this, but it deletes itself
138 // when its window is destroyed. This is a WeakPtr because it's possible for 138 // when its window is destroyed. This is a WeakPtr because it's possible for
139 // the OS to destroy the window and thus delete this object before we're 139 // the OS to destroy the window and thus delete this object before we're
140 // deleted, or without our knowledge. 140 // deleted, or without our knowledge.
141 base::WeakPtr<AutocompletePopupWidget> popup_; 141 base::WeakPtr<AutocompletePopupWidget> popup_;
142 142
143 // The edit view that invokes us. 143 // The edit view that invokes us.
144 OmniboxView* omnibox_view_; 144 OmniboxView* omnibox_view_;
145 145
146 // An object that the popup positions itself against. 146 // An object that the popup positions itself against.
147 const views::View* location_bar_; 147 views::View* location_bar_;
148 148
149 // Our border, which can compute our desired bounds. 149 // Our border, which can compute our desired bounds.
150 const BubbleBorder* bubble_border_; 150 const BubbleBorder* bubble_border_;
151 151
152 // The font that we should use for result rows. This is based on the font used 152 // The font that we should use for result rows. This is based on the font used
153 // by the edit that created us. 153 // by the edit that created us.
154 gfx::Font result_font_; 154 gfx::Font result_font_;
155 155
156 // The font used for portions that match the input. 156 // The font used for portions that match the input.
157 gfx::Font result_bold_font_; 157 gfx::Font result_bold_font_;
158 158
159 // If the user cancels a dragging action (i.e. by pressing ESC), we don't have 159 // If the user cancels a dragging action (i.e. by pressing ESC), we don't have
160 // a convenient way to release mouse capture. Instead we use this flag to 160 // a convenient way to release mouse capture. Instead we use this flag to
161 // simply ignore all remaining drag events, and the eventual mouse release 161 // simply ignore all remaining drag events, and the eventual mouse release
162 // event. Since OnDragCanceled() can be called when we're not dragging, this 162 // event. Since OnDragCanceled() can be called when we're not dragging, this
163 // flag is reset to false on a mouse pressed event, to make sure we don't 163 // flag is reset to false on a mouse pressed event, to make sure we don't
164 // erroneously ignore the next drag. 164 // erroneously ignore the next drag.
165 bool ignore_mouse_drag_; 165 bool ignore_mouse_drag_;
166 166
167 // The popup sizes vertically using an animation when the popup is getting 167 // The popup sizes vertically using an animation when the popup is getting
168 // shorter (not larger, that makes it look "slow"). 168 // shorter (not larger, that makes it look "slow").
169 ui::SlideAnimation size_animation_; 169 ui::SlideAnimation size_animation_;
170 gfx::Rect start_bounds_; 170 gfx::Rect start_bounds_;
171 gfx::Rect target_bounds_; 171 gfx::Rect target_bounds_;
172 172
173 DISALLOW_COPY_AND_ASSIGN(AutocompletePopupContentsView); 173 DISALLOW_COPY_AND_ASSIGN(AutocompletePopupContentsView);
174 }; 174 };
175 175
176 #endif // CHROME_BROWSER_UI_VIEWS_AUTOCOMPLETE_AUTOCOMPLETE_POPUP_CONTENTS_VIEW _H_ 176 #endif // CHROME_BROWSER_UI_VIEWS_AUTOCOMPLETE_AUTOCOMPLETE_POPUP_CONTENTS_VIEW _H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698