 Chromium Code Reviews
 Chromium Code Reviews Issue 2907983002:
  Allow dialogs to use a custom View as their title.  (Closed)
    
  
    Issue 2907983002:
  Allow dialogs to use a custom View as their title.  (Closed) 
  | Index: chrome/browser/ui/views/passwords/manage_passwords_bubble_view.h | 
| diff --git a/chrome/browser/ui/views/passwords/manage_passwords_bubble_view.h b/chrome/browser/ui/views/passwords/manage_passwords_bubble_view.h | 
| index ea2c923a95338424ed2be3e74bd30a3c9b764437..5e2ed8fe763ad332fd23e62048da5c05af795c98 100644 | 
| --- a/chrome/browser/ui/views/passwords/manage_passwords_bubble_view.h | 
| +++ b/chrome/browser/ui/views/passwords/manage_passwords_bubble_view.h | 
| @@ -9,6 +9,7 @@ | 
| #include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h" | 
| #include "chrome/browser/ui/views/location_bar/location_bar_bubble_delegate_view.h" | 
| #include "ui/base/ui_features.h" | 
| +#include "ui/views/controls/styled_label_listener.h" | 
| namespace content { | 
| class WebContents; | 
| @@ -22,7 +23,8 @@ class WebContents; | 
| // 2. ManageView: Displays the current page's saved credentials. | 
| // 3. BlacklistedView: Informs the user that the current page is blacklisted. | 
| // | 
| -class ManagePasswordsBubbleView : public LocationBarBubbleDelegateView { | 
| +class ManagePasswordsBubbleView : public LocationBarBubbleDelegateView, | 
| + public views::StyledLabelListener { | 
| public: | 
| static constexpr int kDesiredBubbleWidth = 370; | 
| @@ -78,13 +80,20 @@ class ManagePasswordsBubbleView : public LocationBarBubbleDelegateView { | 
| void Init() override; | 
| void CloseBubble() override; | 
| - // WidgetDelegate: | 
| + // views::BubbleDialogDelegateView: | 
| 
Peter Kasting
2017/06/17 01:16:20
Nit: You don't directly subclass this class, or Wi
 
Bret
2017/06/21 22:37:54
Moved both lists under LocationBarBubbleDelegateVi
 | 
| + views::View* CreateTitleView(const base::string16& title_text) override; | 
| + | 
| + // views::WidgetDelegate: | 
| base::string16 GetWindowTitle() const override; | 
| gfx::ImageSkia GetWindowIcon() override; | 
| - bool ShouldShowWindowTitle() const override; | 
| bool ShouldShowWindowIcon() const override; | 
| bool ShouldShowCloseButton() const override; | 
| + // views::StyledLabelListener: | 
| + void StyledLabelLinkClicked(views::StyledLabel* label, | 
| + const gfx::Range& range, | 
| + int event_flags) override; | 
| + | 
| // Refreshes the bubble's state. | 
| void Refresh(); | 
| @@ -109,6 +118,9 @@ class ManagePasswordsBubbleView : public LocationBarBubbleDelegateView { | 
| views::View* initially_focused_view_; | 
| + // Used by BubbleFrameView as the dialog title. | 
| + views::StyledLabel* title_view_; | 
| + | 
| std::unique_ptr<WebContentMouseHandler> mouse_handler_; | 
| DISALLOW_COPY_AND_ASSIGN(ManagePasswordsBubbleView); |