From bc7ab508b16d6d6d4d33878d8ce62f5917a424f6 Mon Sep 17 00:00:00 2001 From: "trop[bot]" <37223003+trop[bot]@users.noreply.github.com> Date: Tue, 19 Nov 2024 17:08:49 -0600 Subject: [PATCH] fix: cyclical #include dependency between autofill_popup.h and autofill_popup_view.h (#44736) fix: AutofillPopup warning: use '= default' to define a trivial default constructor [modernize-use-equals-default] refactor: reduce #indclude scope in autofill_popup.h and autofill_popup_view.h Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Charles Kerr --- shell/browser/ui/autofill_popup.cc | 7 ++----- shell/browser/ui/autofill_popup.h | 19 ++++++++++++++----- shell/browser/ui/views/autofill_popup_view.cc | 1 + shell/browser/ui/views/autofill_popup_view.h | 9 ++------- 4 files changed, 19 insertions(+), 17 deletions(-) diff --git a/shell/browser/ui/autofill_popup.cc b/shell/browser/ui/autofill_popup.cc index 9db3b5ac77cb..d63b33459c5a 100644 --- a/shell/browser/ui/autofill_popup.cc +++ b/shell/browser/ui/autofill_popup.cc @@ -15,6 +15,7 @@ #include "shell/browser/osr/osr_render_widget_host_view.h" #include "shell/browser/osr/osr_view_proxy.h" #include "shell/browser/ui/autofill_popup.h" +#include "shell/browser/ui/views/autofill_popup_view.h" #include "shell/common/api/api.mojom.h" #include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h" #include "ui/color/color_id.h" @@ -160,11 +161,7 @@ gfx::Rect CalculatePopupBounds(const gfx::Size& desired_size, } // namespace -AutofillPopup::AutofillPopup() { - bold_font_list_ = gfx::FontList().DeriveWithWeight(gfx::Font::Weight::BOLD); - smaller_font_list_ = - gfx::FontList().DeriveWithSizeDelta(kSmallerFontSizeDelta); -} +AutofillPopup::AutofillPopup() = default; AutofillPopup::~AutofillPopup() { Hide(); diff --git a/shell/browser/ui/autofill_popup.h b/shell/browser/ui/autofill_popup.h index 00c1c900ee06..e652d2088ddc 100644 --- a/shell/browser/ui/autofill_popup.h +++ b/shell/browser/ui/autofill_popup.h @@ -8,15 +8,18 @@ #include #include "base/memory/raw_ptr.h" -#include "shell/browser/ui/views/autofill_popup_view.h" #include "ui/gfx/font_list.h" -#include "ui/views/view.h" -#include "ui/views/widget/widget.h" +#include "ui/gfx/geometry/rect.h" +#include "ui/views/view_observer.h" namespace content { class RenderFrameHost; } // namespace content +namespace gfx { +class RectF; +} // namespace gfx + namespace ui { using ColorId = int; } // namespace ui @@ -68,6 +71,10 @@ class AutofillPopup : private views::ViewObserver { const std::u16string& label_at(int i) const { return labels_.at(i); } int LineFromY(int y) const; + static constexpr int kNamePadding = 15; + static constexpr int kRowHeight = 24; + static constexpr int kSmallerFontSizeDelta = -1; + int selected_index_; // Popup location @@ -81,8 +88,10 @@ class AutofillPopup : private views::ViewObserver { std::vector labels_; // Font lists for the suggestions - gfx::FontList smaller_font_list_; - gfx::FontList bold_font_list_; + const gfx::FontList smaller_font_list_ = + gfx::FontList{}.DeriveWithSizeDelta(kSmallerFontSizeDelta); + const gfx::FontList bold_font_list_ = + gfx::FontList{}.DeriveWithWeight(gfx::Font::Weight::BOLD); // For sending the accepted suggestion to the render frame that // asked to open the popup diff --git a/shell/browser/ui/views/autofill_popup_view.cc b/shell/browser/ui/views/autofill_popup_view.cc index 68e1d6dfa38b..da7527b41923 100644 --- a/shell/browser/ui/views/autofill_popup_view.cc +++ b/shell/browser/ui/views/autofill_popup_view.cc @@ -12,6 +12,7 @@ #include "cc/paint/skia_paint_canvas.h" #include "content/public/browser/render_frame_host.h" #include "content/public/browser/render_view_host.h" +#include "shell/browser/ui/autofill_popup.h" #include "ui/accessibility/ax_enums.mojom.h" #include "ui/base/dragdrop/drag_drop_types.h" #include "ui/color/color_provider.h" diff --git a/shell/browser/ui/views/autofill_popup_view.h b/shell/browser/ui/views/autofill_popup_view.h index de66c3b35004..9c0035dc4954 100644 --- a/shell/browser/ui/views/autofill_popup_view.h +++ b/shell/browser/ui/views/autofill_popup_view.h @@ -8,8 +8,6 @@ #include #include -#include "shell/browser/ui/autofill_popup.h" - #include "base/memory/raw_ptr.h" #include "content/public/browser/render_widget_host.h" #include "electron/buildflags/buildflags.h" @@ -31,11 +29,8 @@ struct AXNodeData; namespace electron { -const int kPopupBorderThickness = 1; -const int kSmallerFontSizeDelta = -1; -const int kEndPadding = 8; -const int kNamePadding = 15; -const int kRowHeight = 24; +constexpr int kPopupBorderThickness = 1; +constexpr int kEndPadding = 8; class AutofillPopup;