#include "chrome/browser/ui/views/download/download_shelf_view.h"
#include <stddef.h>
#include <optional>
#include <utility>
#include "base/check.h"
#include "base/containers/adapters.h"
#include "base/not_fatal_until.h"
#include "base/ranges/algorithm.h"
#include "base/time/time.h"
#include "chrome/browser/download/download_ui_model.h"
#include "chrome/browser/themes/theme_properties.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/chrome_pages.h"
#include "chrome/browser/ui/color/chrome_color_id.h"
#include "chrome/browser/ui/view_ids.h"
#include "chrome/browser/ui/views/download/download_item_view.h"
#include "chrome/browser/ui/views/frame/browser_view.h"
#include "chrome/browser/ui/views/toolbar/toolbar_view.h"
#include "chrome/grit/generated_resources.h"
#include "components/download/public/common/download_item.h"
#include "components/strings/grit/components_strings.h"
#include "components/vector_icons/vector_icons.h"
#include "ui/accessibility/ax_enums.mojom.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/gfx/animation/animation.h"
#include "ui/gfx/animation/tween.h"
#include "ui/gfx/canvas.h"
#include "ui/gfx/color_utils.h"
#include "ui/gfx/geometry/rect.h"
#include "ui/gfx/geometry/size.h"
#include "ui/gfx/presentation_feedback.h"
#include "ui/views/accessibility/view_accessibility.h"
#include "ui/views/background.h"
#include "ui/views/cascading_property.h"
#include "ui/views/controls/button/image_button.h"
#include "ui/views/controls/button/image_button_factory.h"
#include "ui/views/controls/button/md_text_button.h"
#include "ui/views/controls/webview/webview.h"
#include "ui/views/focus/focus_manager.h"
#include "ui/views/view.h"
#include "ui/views/widget/widget.h"
namespace {
constexpr int kTopPadding = …;
constexpr int kStartPadding = …;
constexpr int kEndPadding = …;
constexpr int kCloseAndLinkPadding = …;
}
DownloadShelfView::DownloadShelfView(Browser* browser, BrowserView* parent)
: … { … }
DownloadShelfView::~DownloadShelfView() = default;
bool DownloadShelfView::IsShowing() const { … }
bool DownloadShelfView::IsClosing() const { … }
views::View* DownloadShelfView::GetView() { … }
gfx::Size DownloadShelfView::CalculatePreferredSize(
const views::SizeBounds& ) const { … }
void DownloadShelfView::Layout(PassKey) { … }
void DownloadShelfView::AnimationProgressed(const gfx::Animation* animation) { … }
void DownloadShelfView::AnimationEnded(const gfx::Animation* animation) { … }
void DownloadShelfView::MouseMovedOutOfHost() { … }
void DownloadShelfView::AutoClose() { … }
void DownloadShelfView::RemoveDownloadView(View* view) { … }
void DownloadShelfView::ConfigureButtonForTheme(views::MdTextButton* button) { … }
void DownloadShelfView::DoShowDownload(
DownloadUIModel::DownloadUIModelPtr download) { … }
void DownloadShelfView::DoOpen() { … }
void DownloadShelfView::DoClose() { … }
void DownloadShelfView::DoHide() { … }
void DownloadShelfView::DoUnhide() { … }
void DownloadShelfView::OnPaintBorder(gfx::Canvas* canvas) { … }
void DownloadShelfView::OnThemeChanged() { … }
views::View* DownloadShelfView::GetDefaultFocusableChild() { … }
DownloadItemView* DownloadShelfView::GetViewOfLastDownloadItemForTesting() { … }
BEGIN_METADATA(…)