1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_BROWSER_UI_VALIDATION_MESSAGE_BUBBLE_H_ 6 #define CHROME_BROWSER_UI_VALIDATION_MESSAGE_BUBBLE_H_ 7 8 #include "base/memory/scoped_ptr.h" 9 #include "base/strings/string16.h" 10 11 namespace content { 12 class RenderWidgetHost; 13 } 14 15 namespace gfx { 16 class Rect; 17 } 18 19 namespace chrome { 20 21 class ValidationMessageBubble { 22 public: 23 // Open a tooltip-like window to show the specified messages. The window 24 // should not change focus state. 25 static scoped_ptr<ValidationMessageBubble> CreateAndShow( 26 content::RenderWidgetHost* widget_host, 27 const gfx::Rect& anchor_in_root_view, 28 const base::string16& main_text, 29 const base::string16& sub_text); 30 31 // Close the window and destruct the object. ~ValidationMessageBubble()32 virtual ~ValidationMessageBubble() {} 33 34 // Move the window to a position such that the bubble arrow points to the 35 // specified anchor. |anchor_in_root_view| is in DIP unit, and relative to 36 // RWHV for |widget_host|. 37 virtual void SetPositionRelativeToAnchor( 38 content::RenderWidgetHost* widget_host, 39 const gfx::Rect& anchor_in_root_view) = 0; 40 }; 41 42 } // namespace chrome 43 44 #endif // CHROME_BROWSER_UI_VALIDATION_MESSAGE_BUBBLE_H_ 45