Chromium Code Reviews| Index: chrome/browser/ui/views/omnibox/inline_omnibox_popup_view.h |
| diff --git a/chrome/browser/ui/views/omnibox/omnibox_popup_contents_view.h b/chrome/browser/ui/views/omnibox/inline_omnibox_popup_view.h |
| similarity index 71% |
| copy from chrome/browser/ui/views/omnibox/omnibox_popup_contents_view.h |
| copy to chrome/browser/ui/views/omnibox/inline_omnibox_popup_view.h |
| index d1e58eb4eac9ea629639b0d9e4a12d7f23a4e721..4dd15e74cdf8b62b475586e38e7801186da33679 100644 |
| --- a/chrome/browser/ui/views/omnibox/omnibox_popup_contents_view.h |
| +++ b/chrome/browser/ui/views/omnibox/inline_omnibox_popup_view.h |
| @@ -2,8 +2,8 @@ |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| -#ifndef CHROME_BROWSER_UI_VIEWS_OMNIBOX_OMNIBOX_POPUP_CONTENTS_VIEW_H_ |
| -#define CHROME_BROWSER_UI_VIEWS_OMNIBOX_OMNIBOX_POPUP_CONTENTS_VIEW_H_ |
| +#ifndef CHROME_BROWSER_UI_VIEWS_OMNIBOX_INLINE_OMNIBOX_POPUP_VIEW_H_ |
| +#define CHROME_BROWSER_UI_VIEWS_OMNIBOX_INLINE_OMNIBOX_POPUP_VIEW_H_ |
| #pragma once |
| #include "base/memory/weak_ptr.h" |
| @@ -27,18 +27,18 @@ class BubbleBorder; |
| } |
| // A view representing the contents of the autocomplete popup. |
|
tfarina
2012/06/21 06:28:55
nit: s/autocomplete/omnibox?
|
| -class OmniboxPopupContentsView : public views::View, |
| - public OmniboxResultViewModel, |
| - public AutocompletePopupView, |
| - public ui::AnimationDelegate { |
| +class InlineOmniboxPopupView : public views::View, |
| + public OmniboxResultViewModel, |
| + public AutocompletePopupView, |
| + public ui::AnimationDelegate { |
| public: |
| - // Creates the appropriate type of omnibox dropdown for the |
| - // current environment, e.g. desktop vs. touch optimized layout. |
| - static OmniboxPopupContentsView* CreateForEnvironment( |
| - const gfx::Font& font, |
| - OmniboxView* omnibox_view, |
| - AutocompleteEditModel* edit_model, |
| - views::View* location_bar); |
| + InlineOmniboxPopupView(const gfx::Font& font, |
| + OmniboxView* omnibox_view, |
| + AutocompleteEditModel* edit_model, |
| + views::View* location_bar); |
| + |
| + // Call immediately after construction. |
| + void Init(); |
| // Returns the bounds the popup should be shown at. This is the display bounds |
| // and includes offsets for the dropshadow which this view's border renders. |
| @@ -63,6 +63,7 @@ class OmniboxPopupContentsView : public views::View, |
| virtual void AnimationProgressed(const ui::Animation* animation) OVERRIDE; |
| // Overridden from views::View: |
| + virtual gfx::Size GetPreferredSize() OVERRIDE; |
| virtual void Layout() OVERRIDE; |
| virtual views::View* GetEventHandlerForPoint( |
| const gfx::Point& point) OVERRIDE; |
| @@ -77,13 +78,7 @@ class OmniboxPopupContentsView : public views::View, |
| const views::GestureEvent& event) OVERRIDE; |
| protected: |
| - OmniboxPopupContentsView(const gfx::Font& font, |
| - OmniboxView* omnibox_view, |
| - AutocompleteEditModel* edit_model, |
| - views::View* location_bar); |
| - virtual ~OmniboxPopupContentsView(); |
| - |
| - virtual void PaintResultViews(gfx::Canvas* canvas); |
| + virtual ~InlineOmniboxPopupView(); |
| // Calculates the height needed to show all the results in the model. |
| virtual int CalculatePopupHeight(); |
| @@ -93,22 +88,11 @@ class OmniboxPopupContentsView : public views::View, |
| const gfx::Font& font, |
| const gfx::Font& bold_font); |
| - // Overridden from views::View: |
| - virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE; |
| - // This method should not be triggered directly as we paint our children |
| - // in an un-conventional way inside OnPaint. We use a separate canvas to |
| - // paint the children. Hence we override this method to a no-op so that |
| - // the view hierarchy does not "accidentally" trigger this. |
| - virtual void PaintChildren(gfx::Canvas* canvas) OVERRIDE; |
| - |
| scoped_ptr<AutocompletePopupModel> model_; |
| private: |
| class AutocompletePopupWidget; |
| - // Call immediately after construction. |
| - void Init(); |
| - |
| // Returns true if the model has a match at the specified index. |
| bool HasMatchAt(size_t index) const; |
| @@ -119,12 +103,6 @@ class OmniboxPopupContentsView : public views::View, |
| // bounds the path. |
| void MakeContentsPath(gfx::Path* path, const gfx::Rect& bounding_rect); |
| - // Updates the window's blur region for the current size. |
| - void UpdateBlurRegion(); |
| - |
| - // Makes the contents of the canvas slightly transparent. |
| - void MakeCanvasTransparent(gfx::Canvas* canvas); |
| - |
| // Called when the line at the specified index should be opened with the |
| // provided disposition. |
| void OpenIndex(size_t index, WindowOpenDisposition disposition); |
| @@ -145,14 +123,9 @@ class OmniboxPopupContentsView : public views::View, |
| WindowOpenDisposition disposition); |
| // Returns the target bounds given the specified content height. |
| + // TODO(sky): convert to size. |
| gfx::Rect CalculateTargetBounds(int h); |
| - // The popup that contains this view. We create this, but it deletes itself |
| - // when its window is destroyed. This is a WeakPtr because it's possible for |
| - // the OS to destroy the window and thus delete this object before we're |
| - // deleted, or without our knowledge. |
| - base::WeakPtr<AutocompletePopupWidget> popup_; |
| - |
| // The edit view that invokes us. |
| OmniboxView* omnibox_view_; |
| @@ -161,9 +134,6 @@ class OmniboxPopupContentsView : public views::View, |
| // An object that the popup positions itself against. |
| views::View* location_bar_; |
| - // Our border, which can compute our desired bounds. |
| - const views::BubbleBorder* bubble_border_; |
| - |
| // The font that we should use for result rows. This is based on the font used |
| // by the edit that created us. |
| gfx::Font result_font_; |
| @@ -182,10 +152,11 @@ class OmniboxPopupContentsView : public views::View, |
| // The popup sizes vertically using an animation when the popup is getting |
| // shorter (not larger, that makes it look "slow"). |
| ui::SlideAnimation size_animation_; |
| + // TODO(sky): convert to sizes. |
| gfx::Rect start_bounds_; |
| gfx::Rect target_bounds_; |
| - DISALLOW_COPY_AND_ASSIGN(OmniboxPopupContentsView); |
| + DISALLOW_COPY_AND_ASSIGN(InlineOmniboxPopupView); |
| }; |
| -#endif // CHROME_BROWSER_UI_VIEWS_OMNIBOX_OMNIBOX_POPUP_CONTENTS_VIEW_H_ |
| +#endif // CHROME_BROWSER_UI_VIEWS_OMNIBOX_INLINE_OMNIBOX_POPUP_VIEW_H_ |