chromium/chrome/browser/ui/views/commerce/product_specifications_button.cc

// Copyright 2024 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/commerce/product_specifications_button.h"

#include "base/metrics/user_metrics.h"
#include "base/metrics/user_metrics_action.h"
#include "chrome/app/vector_icons/vector_icons.h"
#include "chrome/browser/ui/browser_element_identifiers.h"
#include "chrome/browser/ui/color/chrome_color_id.h"
#include "chrome/browser/ui/views/tabs/tab_strip_controller.h"
#include "chrome/grit/generated_resources.h"
#include "components/strings/grit/components_strings.h"
#include "components/vector_icons/vector_icons.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/compositor/layer.h"
#include "ui/views/animation/ink_drop.h"
#include "ui/views/controls/highlight_path_generator.h"
#include "ui/views/layout/box_layout.h"
#include "ui/views/layout/flex_layout.h"
#include "ui/views/mouse_watcher_view_host.h"
#include "ui/views/view_class_properties.h"

namespace {
// TODO(b/335015993): These constants are shared with TabSearchContainer, and
// should be moved into one place. Similar for the LockedExpansionMode enum used
// in this file.
constexpr int kProductSpecificationsButtonCornerRadius =;
constexpr int kProductSpecificationsButtonLabelMargin =;
constexpr int kProductSpecificationsCloseButtonMargin =;
constexpr int kProductSpecificationsCloseButtonSize =;

constexpr base::TimeDelta kExpansionInDuration =;
constexpr base::TimeDelta kExpansionOutDuration =;
constexpr base::TimeDelta kOpacityInDuration =;
constexpr base::TimeDelta kOpacityOutDuration =;
constexpr base::TimeDelta kOpacityDelay =;
constexpr base::TimeDelta kShowDuration =;

}  // namespace

ProductSpecificationsButton::ProductSpecificationsButton(
    TabStripController* tab_strip_controller,
    TabStripModel* tab_strip_model,
    commerce::ProductSpecificationsEntryPointController* entry_point_controller,
    bool before_tab_strip,
    View* locked_expansion_view)
    :{}

ProductSpecificationsButton::~ProductSpecificationsButton() = default;

gfx::Size ProductSpecificationsButton::CalculatePreferredSize(
    const views::SizeBounds& available_size) const {}

void ProductSpecificationsButton::MouseMovedOutOfHost() {}

void ProductSpecificationsButton::AnimationCanceled(
    const gfx::Animation* animation) {}

void ProductSpecificationsButton::AnimationEnded(
    const gfx::Animation* animation) {}

void ProductSpecificationsButton::AnimationProgressed(
    const gfx::Animation* animation) {}

void ProductSpecificationsButton::Show() {}

void ProductSpecificationsButton::Hide() {}

void ProductSpecificationsButton::ShowEntryPointWithTitle(
    const std::u16string& title) {}

void ProductSpecificationsButton::HideEntryPoint() {}

void ProductSpecificationsButton::SetOpacity(float factor) {}

int ProductSpecificationsButton::GetCornerRadius() const {}

void ProductSpecificationsButton::ApplyAnimationValue(
    const gfx::Animation* animation) {}

void ProductSpecificationsButton::ExecuteShow() {}

void ProductSpecificationsButton::ExecuteHide() {}

void ProductSpecificationsButton::OnClicked() {}

void ProductSpecificationsButton::OnDismissed() {}

void ProductSpecificationsButton::OnTimeout() {}

void ProductSpecificationsButton::SetCloseButton(
    views::LabelButton::PressedCallback pressed_callback) {}

void ProductSpecificationsButton::SetLockedExpansionMode(
    LockedExpansionMode mode) {}

void ProductSpecificationsButton::SetWidthFactor(float factor) {}

void ProductSpecificationsButton::ShowOpacityAnimation() {}

base::TimeDelta ProductSpecificationsButton::GetAnimationDuration(
    base::TimeDelta duration) {}

BEGIN_METADATA()