| OLD | NEW | 
|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_OMNIBOX_OMNIBOX_RESULT_VIEW_H_ | 5 #ifndef CHROME_BROWSER_UI_VIEWS_OMNIBOX_OMNIBOX_RESULT_VIEW_H_ | 
| 6 #define CHROME_BROWSER_UI_VIEWS_OMNIBOX_OMNIBOX_RESULT_VIEW_H_ | 6 #define CHROME_BROWSER_UI_VIEWS_OMNIBOX_OMNIBOX_RESULT_VIEW_H_ | 
| 7 | 7 | 
| 8 #include <vector> | 8 #include <vector> | 
| 9 | 9 | 
| 10 #include "base/gtest_prod_util.h" | 10 #include "base/gtest_prod_util.h" | 
| 11 #include "chrome/browser/bitmap_fetcher/bitmap_fetcher_service.h" | 11 #include "chrome/browser/bitmap_fetcher/bitmap_fetcher_service.h" | 
| 12 #include "components/omnibox/autocomplete_match.h" | 12 #include "components/omnibox/autocomplete_match.h" | 
|  | 13 #include "components/omnibox/suggestion_answer.h" | 
| 13 #include "third_party/skia/include/core/SkColor.h" | 14 #include "third_party/skia/include/core/SkColor.h" | 
| 14 #include "ui/gfx/animation/animation_delegate.h" | 15 #include "ui/gfx/animation/animation_delegate.h" | 
| 15 #include "ui/gfx/animation/slide_animation.h" | 16 #include "ui/gfx/animation/slide_animation.h" | 
| 16 #include "ui/gfx/font_list.h" | 17 #include "ui/gfx/font_list.h" | 
| 17 #include "ui/gfx/geometry/rect.h" | 18 #include "ui/gfx/geometry/rect.h" | 
| 18 #include "ui/views/controls/image_view.h" | 19 #include "ui/views/controls/image_view.h" | 
| 19 #include "ui/views/view.h" | 20 #include "ui/views/view.h" | 
| 20 | 21 | 
| 21 class LocationBarView; | 22 class LocationBarView; | 
| 22 class OmniboxPopupContentsView; | 23 class OmniboxPopupContentsView; | 
| (...skipping 17 matching lines...) Expand all  Loading... | 
| 40 | 41 | 
| 41   enum ColorKind { | 42   enum ColorKind { | 
| 42     BACKGROUND = 0, | 43     BACKGROUND = 0, | 
| 43     TEXT, | 44     TEXT, | 
| 44     DIMMED_TEXT, | 45     DIMMED_TEXT, | 
| 45     URL, | 46     URL, | 
| 46     DIVIDER, | 47     DIVIDER, | 
| 47     NUM_KINDS | 48     NUM_KINDS | 
| 48   }; | 49   }; | 
| 49 | 50 | 
|  | 51   // The minimum distance between the top and bottom of the text and the | 
|  | 52   // top or bottom of the row. | 
|  | 53   static const int kMinimumTextVerticalPadding = 3; | 
|  | 54 | 
| 50   OmniboxResultView(OmniboxPopupContentsView* model, | 55   OmniboxResultView(OmniboxPopupContentsView* model, | 
| 51                     int model_index, | 56                     int model_index, | 
| 52                     LocationBarView* location_bar_view, | 57                     LocationBarView* location_bar_view, | 
| 53                     const gfx::FontList& font_list); | 58                     const gfx::FontList& font_list); | 
| 54   ~OmniboxResultView() override; | 59   ~OmniboxResultView() override; | 
| 55 | 60 | 
| 56   SkColor GetColor(ResultViewState state, ColorKind kind) const; | 61   SkColor GetColor(ResultViewState state, ColorKind kind) const; | 
| 57 | 62 | 
| 58   // Updates the match used to paint the contents of this result view. We copy | 63   // Updates the match used to paint the contents of this result view. We copy | 
| 59   // the match so that we can continue to paint the last result even after the | 64   // the match so that we can continue to paint the last result even after the | 
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 110   // |classifications| and |force_dim| are used to style the text. | 115   // |classifications| and |force_dim| are used to style the text. | 
| 111   scoped_ptr<gfx::RenderText> CreateClassifiedRenderText( | 116   scoped_ptr<gfx::RenderText> CreateClassifiedRenderText( | 
| 112       const base::string16& text, | 117       const base::string16& text, | 
| 113       const ACMatchClassifications& classifications, | 118       const ACMatchClassifications& classifications, | 
| 114       bool force_dim) const; | 119       bool force_dim) const; | 
| 115 | 120 | 
| 116   const gfx::Rect& text_bounds() const { return text_bounds_; } | 121   const gfx::Rect& text_bounds() const { return text_bounds_; } | 
| 117 | 122 | 
| 118   void set_edge_item_padding(int value) { edge_item_padding_ = value; } | 123   void set_edge_item_padding(int value) { edge_item_padding_ = value; } | 
| 119   void set_item_padding(int value) { item_padding_ = value; } | 124   void set_item_padding(int value) { item_padding_ = value; } | 
| 120   void set_minimum_text_vertical_padding(int value) { |  | 
| 121     minimum_text_vertical_padding_ = value; |  | 
| 122   } |  | 
| 123 | 125 | 
| 124  private: | 126  private: | 
| 125   // views::View: | 127   // views::View: | 
| 126   const char* GetClassName() const override; | 128   const char* GetClassName() const override; | 
| 127 | 129 | 
| 128   gfx::ImageSkia GetIcon() const; | 130   gfx::ImageSkia GetIcon() const; | 
| 129   const gfx::ImageSkia* GetKeywordIcon() const; | 131   const gfx::ImageSkia* GetKeywordIcon() const; | 
| 130 | 132 | 
| 131   // Whether to render only the keyword match.  Returns true if |match_| has an | 133   // Whether to render only the keyword match.  Returns true if |match_| has an | 
| 132   // associated keyword match that has been animated so close to the start that | 134   // associated keyword match that has been animated so close to the start that | 
| (...skipping 15 matching lines...) Expand all  Loading... | 
| 148   // gfx::AnimationDelegate: | 150   // gfx::AnimationDelegate: | 
| 149   void AnimationProgressed(const gfx::Animation* animation) override; | 151   void AnimationProgressed(const gfx::Animation* animation) override; | 
| 150 | 152 | 
| 151   // Returns the offset at which the contents of the |match| should be displayed | 153   // Returns the offset at which the contents of the |match| should be displayed | 
| 152   // within the text bounds. The directionality of UI and match contents is used | 154   // within the text bounds. The directionality of UI and match contents is used | 
| 153   // to determine the offset relative to the correct edge. | 155   // to determine the offset relative to the correct edge. | 
| 154   int GetDisplayOffset(const AutocompleteMatch& match, | 156   int GetDisplayOffset(const AutocompleteMatch& match, | 
| 155                        bool is_ui_rtl, | 157                        bool is_ui_rtl, | 
| 156                        bool is_match_contents_rtl) const; | 158                        bool is_match_contents_rtl) const; | 
| 157 | 159 | 
|  | 160   int GetAnswerLineHeight() const; | 
|  | 161   int GetContentLineHeight() const; | 
|  | 162 | 
|  | 163   void AppendAnswerText(const SuggestionAnswer::TextField& text_field); | 
|  | 164 | 
| 158   static int default_icon_size_; | 165   static int default_icon_size_; | 
| 159 | 166 | 
| 160   // Default values cached here, may be overridden using the setters above. | 167   // Default values cached here, may be overridden using the setters above. | 
| 161   int edge_item_padding_; | 168   int edge_item_padding_; | 
| 162   int item_padding_; | 169   int item_padding_; | 
| 163   int minimum_text_vertical_padding_; |  | 
| 164 | 170 | 
| 165   // This row's model and model index. | 171   // This row's model and model index. | 
| 166   OmniboxPopupContentsView* model_; | 172   OmniboxPopupContentsView* model_; | 
| 167   size_t model_index_; | 173   size_t model_index_; | 
| 168 | 174 | 
| 169   LocationBarView* location_bar_view_; | 175   LocationBarView* location_bar_view_; | 
| 170   // Note: image_service_ may be null in some unit tests. | 176   // Note: image_service_ may be null in some unit tests. | 
| 171   BitmapFetcherService* image_service_; | 177   BitmapFetcherService* image_service_; | 
| 172 | 178 | 
| 173   const gfx::FontList font_list_; | 179   const gfx::FontList font_list_; | 
| (...skipping 27 matching lines...) Expand all  Loading... | 
| 201   mutable scoped_ptr<gfx::RenderText> keyword_description_rendertext_; | 207   mutable scoped_ptr<gfx::RenderText> keyword_description_rendertext_; | 
| 202 | 208 | 
| 203   mutable int separator_width_; | 209   mutable int separator_width_; | 
| 204 | 210 | 
| 205   base::WeakPtrFactory<OmniboxResultView> weak_ptr_factory_; | 211   base::WeakPtrFactory<OmniboxResultView> weak_ptr_factory_; | 
| 206 | 212 | 
| 207   DISALLOW_COPY_AND_ASSIGN(OmniboxResultView); | 213   DISALLOW_COPY_AND_ASSIGN(OmniboxResultView); | 
| 208 }; | 214 }; | 
| 209 | 215 | 
| 210 #endif  // CHROME_BROWSER_UI_VIEWS_OMNIBOX_OMNIBOX_RESULT_VIEW_H_ | 216 #endif  // CHROME_BROWSER_UI_VIEWS_OMNIBOX_OMNIBOX_RESULT_VIEW_H_ | 
| OLD | NEW | 
|---|