#include "chrome/browser/background_sync/periodic_background_sync_permission_context.h"
#include "base/feature_list.h"
#include "build/build_config.h"
#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/search_engines/template_url_service_factory.h"
#include "chrome/browser/webapps/installable/installable_utils.h"
#include "chrome/common/chrome_features.h"
#include "components/content_settings/core/browser/host_content_settings_map.h"
#include "components/search_engines/template_url.h"
#include "components/search_engines/template_url_service.h"
#include "content/public/browser/browser_thread.h"
#include "third_party/blink/public/mojom/permissions_policy/permissions_policy.mojom.h"
#include "url/origin.h"
#if BUILDFLAG(IS_ANDROID)
#include "chrome/browser/android/shortcut_helper.h"
#endif
namespace features {
BASE_FEATURE(…);
}
PeriodicBackgroundSyncPermissionContext::
PeriodicBackgroundSyncPermissionContext(
content::BrowserContext* browser_context)
: … { … }
PeriodicBackgroundSyncPermissionContext::
~PeriodicBackgroundSyncPermissionContext() = default;
bool PeriodicBackgroundSyncPermissionContext::IsPwaInstalled(
const GURL& origin) const { … }
#if BUILDFLAG(IS_ANDROID)
bool PeriodicBackgroundSyncPermissionContext::IsTwaInstalled(
const GURL& origin) const {
return ShortcutHelper::DoesOriginContainAnyInstalledTrustedWebActivity(
origin);
}
#endif
GURL PeriodicBackgroundSyncPermissionContext::GetDefaultSearchEngineUrl()
const { … }
ContentSetting
PeriodicBackgroundSyncPermissionContext::GetPermissionStatusInternal(
content::RenderFrameHost* render_frame_host,
const GURL& requesting_origin,
const GURL& embedding_origin) const { … }
void PeriodicBackgroundSyncPermissionContext::DecidePermission(
permissions::PermissionRequestData request_data,
permissions::BrowserPermissionCallback callback) { … }
void PeriodicBackgroundSyncPermissionContext::NotifyPermissionSet(
const permissions::PermissionRequestID& id,
const GURL& requesting_origin,
const GURL& embedding_origin,
permissions::BrowserPermissionCallback callback,
bool persist,
ContentSetting content_setting,
bool is_one_time,
bool is_final_decision) { … }