blob: b357e501e08103bedf92559bfa67d412d604057d [file] [log] [blame]
// Copyright 2018 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 ASH_SHELF_SHELF_TOOLTIP_BUBBLE_BASE_H_
#define ASH_SHELF_SHELF_TOOLTIP_BUBBLE_BASE_H_
#include "ash/ash_export.h"
#include "ui/views/bubble/bubble_dialog_delegate_view.h"
namespace views {
class View;
} // namespace views
namespace ash {
// A base class for all shelf tooltip bubbles.
class ASH_EXPORT ShelfTooltipBubbleBase
: public views::BubbleDialogDelegateView {
public:
ShelfTooltipBubbleBase(views::View* anchor, views::BubbleBorder::Arrow arrow);
// Returns true if we should let the tooltip manager close us.
virtual bool ShouldCloseOnPressDown() = 0;
// Returns true if this tooltip should disappear when the mouse leaves the
// corresponding shelf item.
virtual bool ShouldCloseOnMouseExit() = 0;
private:
// BubbleDialogDelegateView overrides:
int GetDialogButtons() const override;
DISALLOW_COPY_AND_ASSIGN(ShelfTooltipBubbleBase);
};
} // namespace ash
#endif // ASH_SHELF_SHELF_TOOLTIP_BUBBLE_BASE_H_