#include "third_party/blink/renderer/core/html/media/picture_in_picture_interstitial.h"
#include "cc/layers/layer.h"
#include "third_party/blink/public/strings/grit/blink_strings.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/geometry/dom_rect_read_only.h"
#include "third_party/blink/renderer/core/html/html_image_element.h"
#include "third_party/blink/renderer/core/html/media/html_video_element.h"
#include "third_party/blink/renderer/core/html/media/media_controls.h"
#include "third_party/blink/renderer/core/layout/layout_object.h"
#include "third_party/blink/renderer/core/resize_observer/resize_observer.h"
#include "third_party/blink/renderer/core/resize_observer/resize_observer_entry.h"
#include "third_party/blink/renderer/platform/bindings/exception_state.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/text/platform_locale.h"
namespace {
constexpr base::TimeDelta kPictureInPictureStyleChangeTransitionDuration = …;
constexpr base::TimeDelta kPictureInPictureHiddenAnimationSeconds = …;
}
namespace blink {
class PictureInPictureInterstitial::VideoElementResizeObserverDelegate final
: public ResizeObserver::Delegate { … };
PictureInPictureInterstitial::PictureInPictureInterstitial(
HTMLVideoElement& videoElement)
: … { … }
void PictureInPictureInterstitial::Show() { … }
void PictureInPictureInterstitial::Hide() { … }
Node::InsertionNotificationRequest PictureInPictureInterstitial::InsertedInto(
ContainerNode& root) { … }
void PictureInPictureInterstitial::RemovedFrom(ContainerNode& insertion_point) { … }
void PictureInPictureInterstitial::NotifyElementSizeChanged(
const DOMRectReadOnly& new_size) { … }
void PictureInPictureInterstitial::ToggleInterstitialTimerFired(TimerBase*) { … }
void PictureInPictureInterstitial::OnPosterImageChanged() { … }
void PictureInPictureInterstitial::Trace(Visitor* visitor) const { … }
}