Chromium Code Reviews| 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 424 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 435 state->name = l10n_util::GetStringUTF16(IDS_ACCNAME_LOCATION); | 435 state->name = l10n_util::GetStringUTF16(IDS_ACCNAME_LOCATION); |
| 436 } | 436 } |
| 437 | 437 |
| 438 std::string OmniboxViewViews::GetClassName() const { | 438 std::string OmniboxViewViews::GetClassName() const { |
| 439 return kViewClassName; | 439 return kViewClassName; |
| 440 } | 440 } |
| 441 | 441 |
| 442 void OmniboxViewViews::OnBoundsChanged(const gfx::Rect& previous_bounds) { | 442 void OmniboxViewViews::OnBoundsChanged(const gfx::Rect& previous_bounds) { |
| 443 if (popup_view_->IsOpen()) | 443 if (popup_view_->IsOpen()) |
| 444 popup_view_->UpdatePopupAppearance(); | 444 popup_view_->UpdatePopupAppearance(); |
| 445 | |
| 446 // Pass the location bar's bounds to the edit model. The OmniboxView bounds | |
| 447 // cannot be used here because the OmniboxView does not fill the entire box | |
| 448 // when gray text is showing. | |
| 449 model()->OnOmniboxBoundsChanged(location_bar_view_->GetBoundsInScreen()); | |
|
sky
2012/12/04 23:06:36
The locationbarview might contain a bunch of other
melevin
2012/12/06 23:13:00
Yes, we want the outer bounds of the location box.
| |
| 445 } | 450 } |
| 446 | 451 |
| 447 //////////////////////////////////////////////////////////////////////////////// | 452 //////////////////////////////////////////////////////////////////////////////// |
| 448 // OmniboxViewViews, AutocopmleteEditView implementation: | 453 // OmniboxViewViews, AutocopmleteEditView implementation: |
| 449 | 454 |
| 450 void OmniboxViewViews::SaveStateToTab(WebContents* tab) { | 455 void OmniboxViewViews::SaveStateToTab(WebContents* tab) { |
| 451 DCHECK(tab); | 456 DCHECK(tab); |
| 452 | 457 |
| 453 // We don't want to keep the IME status, so force quit the current | 458 // We don't want to keep the IME status, so force quit the current |
| 454 // session here. It may affect the selection status, so order is | 459 // session here. It may affect the selection status, so order is |
| (...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 674 | 679 |
| 675 int OmniboxViewViews::TextWidth() const { | 680 int OmniboxViewViews::TextWidth() const { |
| 676 // TODO(oshima): add horizontal margin. | 681 // TODO(oshima): add horizontal margin. |
| 677 return textfield_->font().GetStringWidth(textfield_->text()); | 682 return textfield_->font().GetStringWidth(textfield_->text()); |
| 678 } | 683 } |
| 679 | 684 |
| 680 bool OmniboxViewViews::IsImeComposing() const { | 685 bool OmniboxViewViews::IsImeComposing() const { |
| 681 return false; | 686 return false; |
| 682 } | 687 } |
| 683 | 688 |
| 689 gfx::Rect OmniboxViewViews::GetContainerBounds() const { | |
| 690 return location_bar_view_->parent()->GetBoundsInScreen(); | |
| 691 } | |
| 692 | |
| 684 int OmniboxViewViews::GetMaxEditWidth(int entry_width) const { | 693 int OmniboxViewViews::GetMaxEditWidth(int entry_width) const { |
| 685 return entry_width; | 694 return entry_width; |
| 686 } | 695 } |
| 687 | 696 |
| 688 views::View* OmniboxViewViews::AddToView(views::View* parent) { | 697 views::View* OmniboxViewViews::AddToView(views::View* parent) { |
| 689 parent->AddChildView(this); | 698 parent->AddChildView(this); |
| 690 AddChildView(textfield_); | 699 AddChildView(textfield_); |
| 691 return this; | 700 return this; |
| 692 } | 701 } |
| 693 | 702 |
| (...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 934 if (!text.empty()) { | 943 if (!text.empty()) { |
| 935 // Record this paste, so we can do different behavior. | 944 // Record this paste, so we can do different behavior. |
| 936 model()->on_paste(); | 945 model()->on_paste(); |
| 937 // Force a Paste operation to trigger the text_changed code in | 946 // Force a Paste operation to trigger the text_changed code in |
| 938 // OnAfterPossibleChange(), even if identical contents are pasted into the | 947 // OnAfterPossibleChange(), even if identical contents are pasted into the |
| 939 // text box. | 948 // text box. |
| 940 text_before_change_.clear(); | 949 text_before_change_.clear(); |
| 941 textfield_->ReplaceSelection(text); | 950 textfield_->ReplaceSelection(text); |
| 942 } | 951 } |
| 943 } | 952 } |
| OLD | NEW |