#ifndef CHROME_BROWSER_CHROME_CONTENT_BROWSER_CLIENT_H_
#define CHROME_BROWSER_CHROME_CONTENT_BROWSER_CLIENT_H_
#include <stddef.h>
#include <memory>
#include <optional>
#include <set>
#include <string>
#include <string_view>
#include <vector>
#include "base/containers/flat_map.h"
#include "base/functional/callback.h"
#include "base/gtest_prod_util.h"
#include "base/memory/scoped_refptr.h"
#include "base/memory/weak_ptr.h"
#include "base/supports_user_data.h"
#include "base/task/sequenced_task_runner.h"
#include "base/time/time.h"
#include "base/timer/timer.h"
#include "base/values.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "chrome/browser/startup_data.h"
#include "components/file_access/scoped_file_access.h"
#include "components/safe_browsing/buildflags.h"
#include "content/public/browser/child_process_security_policy.h"
#include "content/public/browser/content_browser_client.h"
#include "content/public/browser/digital_identity_provider.h"
#include "content/public/browser/legacy_tech_cookie_issue_details.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/alternative_error_page_override_info.mojom-forward.h"
#include "extensions/buildflags/buildflags.h"
#include "media/media_buildflags.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "net/base/network_handle.h"
#include "services/device/public/cpp/geolocation/buildflags.h"
#include "services/metrics/public/cpp/ukm_source_id.h"
#include "services/network/public/mojom/network_context.mojom.h"
#include "services/network/public/mojom/url_loader_factory.mojom.h"
#include "services/video_effects/public/mojom/video_effects_processor.mojom-forward.h"
#include "third_party/blink/public/mojom/worker/shared_worker_info.mojom.h"
class ChromeContentBrowserClientParts;
class PrefRegistrySimple;
class ScopedKeepAlive;
namespace base {
class CommandLine;
}
namespace blink {
namespace mojom {
class WindowFeatures;
}
namespace web_pref {
struct WebPreferences;
}
class StorageKey;
class URLLoaderThrottle;
}
namespace blocked_content {
class PopupNavigationDelegate;
}
namespace content {
class BrowserContext;
class RenderFrameHost;
enum class SmsFetchFailureType;
struct ServiceWorkerVersionBaseInfo;
}
namespace net {
class IsolationInfo;
class SiteForCookies;
}
namespace permissions {
class BluetoothDelegateImpl;
}
namespace safe_browsing {
class AsyncCheckTracker;
class RealTimeUrlLookupServiceBase;
class SafeBrowsingService;
class UrlCheckerDelegate;
namespace hash_realtime_utils {
enum class HashRealTimeSelection;
}
}
namespace sandbox {
class SandboxCompiler;
}
namespace ui {
class NativeTheme;
}
namespace url {
class Origin;
}
namespace user_prefs {
class PrefRegistrySyncable;
}
namespace version_info {
enum class Channel;
}
class ChromeDirectSocketsDelegate;
class ChromeHidDelegate;
class ChromePrivateNetworkDeviceDelegate;
class ChromeSerialDelegate;
class ChromeUsbDelegate;
class ChromeWebAuthenticationDelegate;
class HttpAuthCoordinator;
class MainThreadStackSamplingProfiler;
struct NavigateParams;
#if BUILDFLAG(ENABLE_VR)
namespace vr {
class ChromeXrIntegrationClient;
}
#endif
class ChromeContentBrowserClient : public content::ContentBrowserClient { … };
#endif