• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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