#include "chrome/browser/picture_in_picture/auto_pip_setting_helper.h"
#include "base/metrics/histogram_functions.h"
#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
#include "chrome/browser/permissions/permission_decision_auto_blocker_factory.h"
#include "chrome/browser/profiles/profile.h"
#include "components/content_settings/core/browser/host_content_settings_map.h"
#include "components/content_settings/core/common/content_settings.h"
#include "components/permissions/permission_decision_auto_blocker.h"
#include "content/public/browser/web_contents.h"
std::unique_ptr<AutoPipSettingHelper>
AutoPipSettingHelper::CreateForWebContents(
content::WebContents* web_contents,
HostContentSettingsMap* settings_map,
permissions::PermissionDecisionAutoBlockerBase* auto_blocker) { … }
AutoPipSettingHelper::AutoPipSettingHelper(
const GURL& origin,
HostContentSettingsMap* settings_map,
permissions::PermissionDecisionAutoBlockerBase* auto_blocker)
: … { … }
AutoPipSettingHelper::~AutoPipSettingHelper() = default;
void AutoPipSettingHelper::OnUserClosedWindow() { … }
ContentSetting AutoPipSettingHelper::GetEffectiveContentSetting() { … }
void AutoPipSettingHelper::UpdateContentSetting(ContentSetting new_setting) { … }
AutoPipSettingHelper::ResultCb AutoPipSettingHelper::CreateResultCb(
base::OnceClosure close_pip_cb) { … }
std::unique_ptr<AutoPipSettingOverlayView>
AutoPipSettingHelper::CreateOverlayViewIfNeeded(
base::OnceClosure close_pip_cb,
const gfx::Rect& browser_view_overridden_bounds,
views::View* anchor_view,
views::BubbleBorder::Arrow arrow) { … }
void AutoPipSettingHelper::OnAutoPipBlockedByPermission() { … }
void AutoPipSettingHelper::OnAutoPipBlockedByIncognito() { … }
void AutoPipSettingHelper::OnUiResult(base::OnceClosure close_pip_cb,
AutoPipSettingView::UiResult result) { … }
void AutoPipSettingHelper::RecordResult(PromptResult result) { … }