chromium/chrome/browser/ui/views/download/download_shelf_view.cc

// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#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 {

// TODO(pkasting): Replace these with LayoutProvider constants

// Padding above the content.
constexpr int kTopPadding =;

// Padding from left edge and first download view.
constexpr int kStartPadding =;

// Padding from right edge and close button/show downloads link.
constexpr int kEndPadding =;

// Padding between the show all link and close button.
constexpr int kCloseAndLinkPadding =;

}  // namespace

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& /*available_size*/) 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()