#ifndef CHROME_BROWSER_UI_VIEWS_FRAME_PICTURE_IN_PICTURE_BROWSER_FRAME_VIEW_H_
#define CHROME_BROWSER_UI_VIEWS_FRAME_PICTURE_IN_PICTURE_BROWSER_FRAME_VIEW_H_
#include <optional>
#include "base/containers/flat_set.h"
#include "base/memory/raw_ptr.h"
#include "base/scoped_observation.h"
#include "build/build_config.h"
#include "chrome/browser/ui/content_settings/content_setting_image_model_states.h"
#include "chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.h"
#include "chrome/browser/ui/views/frame/browser_frame.h"
#include "chrome/browser/ui/views/frame/browser_non_client_frame_view.h"
#include "chrome/browser/ui/views/location_bar/content_setting_image_view.h"
#include "chrome/browser/ui/views/location_bar/location_icon_view.h"
#include "chrome/browser/ui/views/overlay/close_image_button.h"
#include "components/omnibox/browser/location_bar_model.h"
#include "content/public/browser/web_contents.h"
#include "ui/base/metadata/metadata_header_macros.h"
#include "ui/gfx/animation/multi_animation.h"
#include "ui/gfx/animation/slide_animation.h"
#include "ui/views/controls/image_view.h"
#include "ui/views/layout/flex_layout_view.h"
#include "ui/views/widget/widget_observer.h"
#if BUILDFLAG(IS_LINUX)
#include "ui/linux/window_frame_provider.h"
#endif
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_LACROS)
#define RESIZE_DOCUMENT_PICTURE_IN_PICTURE_TO_DIALOG …
#endif
#if RESIZE_DOCUMENT_PICTURE_IN_PICTURE_TO_DIALOG
#include "base/scoped_multi_source_observation.h"
#include "ui/aura/client/transient_window_client.h"
#include "ui/aura/client/transient_window_client_observer.h"
#include "ui/aura/window_observer.h"
#endif
class BrowserFrameBoundsChangeAnimation;
namespace views {
class FrameBackground;
class Label;
class View;
}
namespace {
class WindowEventObserver;
}
class PictureInPictureBrowserFrameView
: public BrowserNonClientFrameView,
public ChromeLocationBarModelDelegate,
public LocationIconView::Delegate,
public IconLabelBubbleView::Delegate,
public ContentSettingImageView::Delegate,
public views::WidgetObserver,
public gfx::AnimationDelegate { … };
#endif