Index: chrome/browser/ui/validation_message_bubble.h |
diff --git a/chrome/browser/ui/validation_message_bubble.h b/chrome/browser/ui/validation_message_bubble.h |
index 8307107b8e0503316432a8988956e6db3e2dfdd3..d4e73780ca6c027774e685c0ee6f1b1b00b75bb1 100644 |
--- a/chrome/browser/ui/validation_message_bubble.h |
+++ b/chrome/browser/ui/validation_message_bubble.h |
@@ -21,21 +21,24 @@ class ValidationMessageBubble { |
public: |
// Open a tooltip-like window to show the specified messages. The window |
// should not change focus state. |
- static std::unique_ptr<ValidationMessageBubble> CreateAndShow( |
+ static base::WeakPtr<ValidationMessageBubble> CreateAndShow( |
content::RenderWidgetHost* widget_host, |
const gfx::Rect& anchor_in_root_view, |
const base::string16& main_text, |
const base::string16& sub_text); |
- // Close the window and destruct the object. |
- virtual ~ValidationMessageBubble() {} |
- |
// Move the window to a position such that the bubble arrow points to the |
// specified anchor. |anchor_in_root_view| is in DIP unit, and relative to |
// RWHV for |widget_host|. |
virtual void SetPositionRelativeToAnchor( |
content::RenderWidgetHost* widget_host, |
const gfx::Rect& anchor_in_root_view) = 0; |
+ |
+ // Called to close the bubble. This should lead to destruction of |this|. |
+ virtual void CloseValidationMessage() = 0; |
+ |
+ protected: |
+ virtual ~ValidationMessageBubble() {} |
}; |
#endif // CHROME_BROWSER_UI_VALIDATION_MESSAGE_BUBBLE_H_ |