#include "ui/views/bubble/info_bubble.h"
#include <memory>
#include <utility>
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/base/mojom/dialog_button.mojom.h"
#include "ui/gfx/geometry/point.h"
#include "ui/gfx/geometry/rect.h"
#include "ui/gfx/geometry/size.h"
#include "ui/views/bubble/bubble_border.h"
#include "ui/views/bubble/bubble_frame_view.h"
#include "ui/views/controls/label.h"
#include "ui/views/layout/fill_layout.h"
#include "ui/views/layout/layout_provider.h"
#include "ui/views/widget/widget.h"
namespace views {
namespace {
constexpr int kBubbleBorderVisibleWidth = …;
}
class InfoBubbleFrame : public BubbleFrameView { … };
InfoBubble::InfoBubble(View* anchor,
BubbleBorder::Arrow arrow,
const std::u16string& message)
: … { … }
InfoBubble::~InfoBubble() = default;
void InfoBubble::Show() { … }
void InfoBubble::Hide() { … }
std::unique_ptr<NonClientFrameView> InfoBubble::CreateNonClientFrameView(
Widget* widget) { … }
gfx::Size InfoBubble::CalculatePreferredSize(
const SizeBounds& available_size) const { … }
void InfoBubble::OnWidgetBoundsChanged(Widget* widget,
const gfx::Rect& new_bounds) { … }
void InfoBubble::UpdatePosition() { … }
BEGIN_METADATA(…)
}