// Copyright (c) 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_BROWSER_UI_VALIDATION_MESSAGE_BUBBLE_H_ #define CHROME_BROWSER_UI_VALIDATION_MESSAGE_BUBBLE_H_ #include "base/memory/scoped_ptr.h" #include "base/strings/string16.h" namespace content { class RenderWidgetHost; } namespace gfx { class Rect; } class ValidationMessageBubble { public: // Open a tooltip-like window to show the specified messages. The window // should not change focus state. static scoped_ptr 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; }; #endif // CHROME_BROWSER_UI_VALIDATION_MESSAGE_BUBBLE_H_