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 #include "chrome/browser/ui/views/omnibox/omnibox_view_views.h" | 5 #include "chrome/browser/ui/views/omnibox/omnibox_view_views.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/string_util.h" | 8 #include "base/string_util.h" |
9 #include "base/utf_string_conversions.h" | 9 #include "base/utf_string_conversions.h" |
10 #include "chrome/app/chrome_command_ids.h" | 10 #include "chrome/app/chrome_command_ids.h" |
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
187 bool result = views::Textfield::OnMouseDragged(event); | 187 bool result = views::Textfield::OnMouseDragged(event); |
188 omnibox_view_->HandleMouseDragEvent(event); | 188 omnibox_view_->HandleMouseDragEvent(event); |
189 return result; | 189 return result; |
190 } | 190 } |
191 | 191 |
192 virtual void OnMouseReleased(const ui::MouseEvent& event) OVERRIDE { | 192 virtual void OnMouseReleased(const ui::MouseEvent& event) OVERRIDE { |
193 views::Textfield::OnMouseReleased(event); | 193 views::Textfield::OnMouseReleased(event); |
194 omnibox_view_->HandleMouseReleaseEvent(event); | 194 omnibox_view_->HandleMouseReleaseEvent(event); |
195 } | 195 } |
196 | 196 |
197 protected: | |
198 // views::View implementation. | |
199 virtual void PaintChildren(gfx::Canvas* canvas) { | |
200 views::Textfield::PaintChildren(canvas); | |
201 } | |
202 | |
203 private: | 197 private: |
204 OmniboxViewViews* omnibox_view_; | 198 OmniboxViewViews* omnibox_view_; |
205 LocationBarView* location_bar_view_; | 199 LocationBarView* location_bar_view_; |
206 | 200 |
207 DISALLOW_COPY_AND_ASSIGN(AutocompleteTextfield); | 201 DISALLOW_COPY_AND_ASSIGN(AutocompleteTextfield); |
208 }; | 202 }; |
209 | 203 |
210 // static | 204 // static |
211 const char OmniboxViewViews::kViewClassName[] = "BrowserOmniboxViewViews"; | 205 const char OmniboxViewViews::kViewClassName[] = "BrowserOmniboxViewViews"; |
212 | 206 |
(...skipping 28 matching lines...) Expand all Loading... |
241 //////////////////////////////////////////////////////////////////////////////// | 235 //////////////////////////////////////////////////////////////////////////////// |
242 // OmniboxViewViews public: | 236 // OmniboxViewViews public: |
243 | 237 |
244 void OmniboxViewViews::Init() { | 238 void OmniboxViewViews::Init() { |
245 // The height of the text view is going to change based on the font used. We | 239 // The height of the text view is going to change based on the font used. We |
246 // don't want to stretch the height, and we want it vertically centered. | 240 // don't want to stretch the height, and we want it vertically centered. |
247 // TODO(oshima): make sure the above happens with views. | 241 // TODO(oshima): make sure the above happens with views. |
248 textfield_ = new AutocompleteTextfield(this, location_bar_view_); | 242 textfield_ = new AutocompleteTextfield(this, location_bar_view_); |
249 textfield_->SetController(this); | 243 textfield_->SetController(this); |
250 textfield_->SetTextInputType(ui::TEXT_INPUT_TYPE_URL); | 244 textfield_->SetTextInputType(ui::TEXT_INPUT_TYPE_URL); |
251 textfield_->SetBackgroundColor(location_bar_view_->GetColor( | |
252 ToolbarModel::NONE, LocationBarView::BACKGROUND)); | |
253 | |
254 if (popup_window_mode_) | 245 if (popup_window_mode_) |
255 textfield_->SetReadOnly(true); | 246 textfield_->SetReadOnly(true); |
256 | 247 |
257 const int font_size = GetEditFontPixelSize(popup_window_mode_); | 248 const int font_size = GetEditFontPixelSize(popup_window_mode_); |
258 const int old_size = textfield_->font().GetFontSize(); | 249 const int old_size = textfield_->font().GetFontSize(); |
259 if (font_size != old_size) | 250 if (font_size != old_size) |
260 textfield_->SetFont(textfield_->font().DeriveFont(font_size - old_size)); | 251 textfield_->SetFont(textfield_->font().DeriveFont(font_size - old_size)); |
261 | 252 |
262 // Create popup view using the same font as |textfield_|'s. | 253 // Create popup view using the same font as |textfield_|'s. |
263 popup_view_.reset( | 254 popup_view_.reset( |
(...skipping 670 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
934 if (!text.empty()) { | 925 if (!text.empty()) { |
935 // Record this paste, so we can do different behavior. | 926 // Record this paste, so we can do different behavior. |
936 model()->on_paste(); | 927 model()->on_paste(); |
937 // Force a Paste operation to trigger the text_changed code in | 928 // Force a Paste operation to trigger the text_changed code in |
938 // OnAfterPossibleChange(), even if identical contents are pasted into the | 929 // OnAfterPossibleChange(), even if identical contents are pasted into the |
939 // text box. | 930 // text box. |
940 text_before_change_.clear(); | 931 text_before_change_.clear(); |
941 textfield_->ReplaceSelection(text); | 932 textfield_->ReplaceSelection(text); |
942 } | 933 } |
943 } | 934 } |
OLD | NEW |