#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 {
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 = …;
}
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(…)