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

Side by Side Diff: chrome/browser/ui/views/omnibox/omnibox_result_view.cc

Issue 2642893002: Adjust positioning of location bar icons. (Closed)
Patch Set: nits Created 3 years, 10 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
« no previous file with comments | « chrome/browser/ui/views/location_bar/location_bar_view.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 // For WinDDK ATL compatibility, these ATL headers must come first. 5 // For WinDDK ATL compatibility, these ATL headers must come first.
6 #include "build/build_config.h" 6 #include "build/build_config.h"
7 7
8 #if defined(OS_WIN) 8 #if defined(OS_WIN)
9 #include <atlbase.h> // NOLINT 9 #include <atlbase.h> // NOLINT
10 #include <atlwin.h> // NOLINT 10 #include <atlwin.h> // NOLINT
11 #endif 11 #endif
12 12
13 #include "base/macros.h" 13 #include "base/macros.h"
14 #include "chrome/browser/ui/views/omnibox/omnibox_result_view.h" 14 #include "chrome/browser/ui/views/omnibox/omnibox_result_view.h"
15 15
16 #include <limits.h> 16 #include <limits.h>
17 17
18 #include <algorithm> // NOLINT 18 #include <algorithm> // NOLINT
19 19
20 #include "base/i18n/bidi_line_iterator.h" 20 #include "base/i18n/bidi_line_iterator.h"
21 #include "base/strings/string_number_conversions.h" 21 #include "base/strings/string_number_conversions.h"
22 #include "base/strings/string_util.h" 22 #include "base/strings/string_util.h"
23 #include "chrome/browser/ui/layout_constants.h"
23 #include "chrome/browser/ui/views/location_bar/background_with_1_px_border.h" 24 #include "chrome/browser/ui/views/location_bar/background_with_1_px_border.h"
24 #include "chrome/browser/ui/views/location_bar/location_bar_view.h" 25 #include "chrome/browser/ui/views/location_bar/location_bar_view.h"
25 #include "chrome/browser/ui/views/omnibox/omnibox_popup_contents_view.h" 26 #include "chrome/browser/ui/views/omnibox/omnibox_popup_contents_view.h"
26 #include "chrome/grit/generated_resources.h" 27 #include "chrome/grit/generated_resources.h"
27 #include "components/grit/components_scaled_resources.h" 28 #include "components/grit/components_scaled_resources.h"
28 #include "components/omnibox/browser/omnibox_popup_model.h" 29 #include "components/omnibox/browser/omnibox_popup_model.h"
29 #include "third_party/skia/include/core/SkColor.h" 30 #include "third_party/skia/include/core/SkColor.h"
30 #include "ui/accessibility/ax_node_data.h" 31 #include "ui/accessibility/ax_node_data.h"
31 #include "ui/base/l10n/l10n_util.h" 32 #include "ui/base/l10n/l10n_util.h"
32 #include "ui/base/material_design/material_design_controller.h" 33 #include "ui/base/material_design/material_design_controller.h"
(...skipping 554 matching lines...) Expand 10 before | Expand all | Expand 10 after
587 588
588 void OmniboxResultView::InitContentsRenderTextIfNecessary() const { 589 void OmniboxResultView::InitContentsRenderTextIfNecessary() const {
589 if (!contents_rendertext_) { 590 if (!contents_rendertext_) {
590 contents_rendertext_.reset( 591 contents_rendertext_.reset(
591 CreateClassifiedRenderText( 592 CreateClassifiedRenderText(
592 match_.contents, match_.contents_class, false).release()); 593 match_.contents, match_.contents_class, false).release());
593 } 594 }
594 } 595 }
595 596
596 void OmniboxResultView::Layout() { 597 void OmniboxResultView::Layout() {
597 constexpr int horizontal_padding = LocationBarView::kHorizontalPadding; 598 const int horizontal_padding =
599 GetLayoutConstant(LOCATION_BAR_ELEMENT_PADDING) +
600 LocationBarView::kIconInteriorPadding;
598 // The horizontal bounds we're given are the outside bounds, so we can match 601 // The horizontal bounds we're given are the outside bounds, so we can match
599 // the omnibox border outline shape exactly in OnPaint(). We have to inset 602 // the omnibox border outline shape exactly in OnPaint(). We have to inset
600 // here to keep the icons lined up. 603 // here to keep the icons lined up.
601 constexpr int start_x = 604 const int start_x = BackgroundWith1PxBorder::kLocationBarBorderThicknessDip +
602 BackgroundWith1PxBorder::kLocationBarBorderThicknessDip + 605 horizontal_padding;
603 horizontal_padding;
604 const int end_x = width() - start_x; 606 const int end_x = width() - start_x;
605 607
606 const gfx::ImageSkia icon = GetIcon(); 608 const gfx::ImageSkia icon = GetIcon();
607 icon_bounds_.SetRect(start_x, (GetContentLineHeight() - icon.height()) / 2, 609 icon_bounds_.SetRect(start_x, (GetContentLineHeight() - icon.height()) / 2,
608 icon.width(), icon.height()); 610 icon.width(), icon.height());
609 611
610 constexpr int text_x = 612 const int text_x = start_x + LocationBarView::kIconWidth + horizontal_padding;
611 start_x + LocationBarView::kIconWidth + horizontal_padding;
612 int text_width = end_x - text_x; 613 int text_width = end_x - text_x;
613 614
614 if (match_.associated_keyword.get()) { 615 if (match_.associated_keyword.get()) {
615 const int max_kw_x = end_x - keyword_icon_->width(); 616 const int max_kw_x = end_x - keyword_icon_->width();
616 const int kw_x = animation_->CurrentValueBetween(max_kw_x, start_x); 617 const int kw_x = animation_->CurrentValueBetween(max_kw_x, start_x);
617 const int kw_text_x = kw_x + keyword_icon_->width() + horizontal_padding; 618 const int kw_text_x = kw_x + keyword_icon_->width() + horizontal_padding;
618 619
619 text_width = kw_x - text_x - horizontal_padding; 620 text_width = kw_x - text_x - horizontal_padding;
620 keyword_text_bounds_.SetRect( 621 keyword_text_bounds_.SetRect(
621 kw_text_x, 0, std::max(end_x - kw_text_x, 0), height()); 622 kw_text_x, 0, std::max(end_x - kw_text_x, 0), height());
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
773 destination->AppendText(text); 774 destination->AppendText(text);
774 const TextStyle& text_style = GetTextStyle(text_type); 775 const TextStyle& text_style = GetTextStyle(text_type);
775 // TODO(dschuyler): follow up on the problem of different font sizes within 776 // TODO(dschuyler): follow up on the problem of different font sizes within
776 // one RenderText. Maybe with destination->SetFontList(...). 777 // one RenderText. Maybe with destination->SetFontList(...).
777 destination->ApplyWeight( 778 destination->ApplyWeight(
778 is_bold ? gfx::Font::Weight::BOLD : gfx::Font::Weight::NORMAL, range); 779 is_bold ? gfx::Font::Weight::BOLD : gfx::Font::Weight::NORMAL, range);
779 destination->ApplyColor( 780 destination->ApplyColor(
780 GetNativeTheme()->GetSystemColor(text_style.colors[GetState()]), range); 781 GetNativeTheme()->GetSystemColor(text_style.colors[GetState()]), range);
781 destination->ApplyBaselineStyle(text_style.baseline, range); 782 destination->ApplyBaselineStyle(text_style.baseline, range);
782 } 783 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/location_bar/location_bar_view.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698