#include "third_party/blink/renderer/core/inspector/inspector_emulation_agent.h"
#include "third_party/blink/public/common/input/web_touch_event.h"
#include "third_party/blink/public/common/loader/network_utils.h"
#include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/public/platform/web_theme_engine.h"
#include "third_party/blink/public/web/web_render_theme.h"
#include "third_party/blink/renderer/core/css/vision_deficiency.h"
#include "third_party/blink/renderer/core/exported/web_view_impl.h"
#include "third_party/blink/renderer/core/frame/local_frame_view.h"
#include "third_party/blink/renderer/core/frame/settings.h"
#include "third_party/blink/renderer/core/frame/web_local_frame_impl.h"
#include "third_party/blink/renderer/core/inspector/dev_tools_emulator.h"
#include "third_party/blink/renderer/core/inspector/locale_controller.h"
#include "third_party/blink/renderer/core/inspector/protocol/dom.h"
#include "third_party/blink/renderer/core/loader/document_loader.h"
#include "third_party/blink/renderer/core/page/focus_controller.h"
#include "third_party/blink/renderer/core/page/page.h"
#include "third_party/blink/renderer/platform/graphics/color.h"
#include "third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h"
#include "third_party/blink/renderer/platform/loader/fetch/loader_freeze_mode.h"
#include "third_party/blink/renderer/platform/loader/fetch/resource.h"
#include "third_party/blink/renderer/platform/loader/fetch/resource_request.h"
#include "third_party/blink/renderer/platform/loader/fetch/url_loader/request_conversion.h"
#include "third_party/blink/renderer/platform/network/network_utils.h"
#include "third_party/blink/renderer/platform/scheduler/public/thread_cpu_throttler.h"
#include "third_party/blink/renderer/platform/scheduler/public/virtual_time_controller.h"
#include "third_party/blink/renderer/platform/theme/web_theme_engine_helper.h"
namespace blink {
Maybe;
InspectorEmulationAgent::InspectorEmulationAgent(
WebLocalFrameImpl* web_local_frame_impl,
VirtualTimeController& virtual_time_controller)
: … { … }
InspectorEmulationAgent::~InspectorEmulationAgent() = default;
WebViewImpl* InspectorEmulationAgent::GetWebViewImpl() { … }
void InspectorEmulationAgent::Restore() { … }
protocol::Response InspectorEmulationAgent::disable() { … }
protocol::Response InspectorEmulationAgent::resetPageScaleFactor() { … }
protocol::Response InspectorEmulationAgent::setPageScaleFactor(
double page_scale_factor) { … }
protocol::Response InspectorEmulationAgent::setScriptExecutionDisabled(
bool value) { … }
protocol::Response InspectorEmulationAgent::setScrollbarsHidden(bool hidden) { … }
protocol::Response InspectorEmulationAgent::setDocumentCookieDisabled(
bool disabled) { … }
protocol::Response InspectorEmulationAgent::setTouchEmulationEnabled(
bool enabled,
protocol::Maybe<int> max_touch_points) { … }
protocol::Response InspectorEmulationAgent::setEmulatedMedia(
Maybe<String> media,
Maybe<protocol::Array<protocol::Emulation::MediaFeature>> features) { … }
protocol::Response InspectorEmulationAgent::setEmulatedVisionDeficiency(
const String& type) { … }
protocol::Response InspectorEmulationAgent::setCPUThrottlingRate(double rate) { … }
protocol::Response InspectorEmulationAgent::setFocusEmulationEnabled(
bool enabled) { … }
protocol::Response InspectorEmulationAgent::setAutoDarkModeOverride(
Maybe<bool> enabled) { … }
protocol::Response InspectorEmulationAgent::setVirtualTimePolicy(
const String& policy,
Maybe<double> virtual_time_budget_ms,
protocol::Maybe<int> max_virtual_time_task_starvation_count,
protocol::Maybe<double> initial_virtual_time,
double* virtual_time_ticks_base_ms) { … }
AtomicString InspectorEmulationAgent::OverrideAcceptImageHeader(
const HashSet<String>* disabled_image_types) { … }
void InspectorEmulationAgent::PrepareRequest(DocumentLoader* loader,
ResourceRequest& request,
ResourceLoaderOptions& options,
ResourceType resource_type) { … }
protocol::Response InspectorEmulationAgent::setNavigatorOverrides(
const String& platform) { … }
void InspectorEmulationAgent::VirtualTimeBudgetExpired() { … }
protocol::Response InspectorEmulationAgent::setDefaultBackgroundColorOverride(
Maybe<protocol::DOM::RGBA> color) { … }
protocol::Response InspectorEmulationAgent::setDeviceMetricsOverride(
int width,
int height,
double device_scale_factor,
bool mobile,
Maybe<double> scale,
Maybe<int> screen_width,
Maybe<int> screen_height,
Maybe<int> position_x,
Maybe<int> position_y,
Maybe<bool> dont_set_visible_size,
Maybe<protocol::Emulation::ScreenOrientation>,
Maybe<protocol::Page::Viewport>,
Maybe<protocol::Emulation::DisplayFeature>,
Maybe<protocol::Emulation::DevicePosture>) { … }
protocol::Response InspectorEmulationAgent::clearDeviceMetricsOverride() { … }
protocol::Response InspectorEmulationAgent::setHardwareConcurrencyOverride(
int hardware_concurrency) { … }
protocol::Response InspectorEmulationAgent::setUserAgentOverride(
const String& user_agent,
protocol::Maybe<String> accept_language,
protocol::Maybe<String> platform,
protocol::Maybe<protocol::Emulation::UserAgentMetadata>
ua_metadata_override) { … }
protocol::Response InspectorEmulationAgent::setLocaleOverride(
protocol::Maybe<String> maybe_locale) { … }
protocol::Response InspectorEmulationAgent::setTimezoneOverride(
const String& timezone_id) { … }
void InspectorEmulationAgent::GetDisabledImageTypes(HashSet<String>* result) { … }
void InspectorEmulationAgent::WillCommitLoad(LocalFrame*,
DocumentLoader* loader) { … }
void InspectorEmulationAgent::WillCreateDocumentParser(
bool& force_sync_parsing) { … }
void InspectorEmulationAgent::ApplyAcceptLanguageOverride(String* accept_lang) { … }
void InspectorEmulationAgent::ApplyHardwareConcurrencyOverride(
unsigned int& hardware_concurrency) { … }
void InspectorEmulationAgent::ApplyUserAgentOverride(String* user_agent) { … }
void InspectorEmulationAgent::ApplyUserAgentMetadataOverride(
std::optional<blink::UserAgentMetadata>* ua_metadata) { … }
void InspectorEmulationAgent::InnerEnable() { … }
void InspectorEmulationAgent::SetSystemThemeState() { … }
protocol::Response InspectorEmulationAgent::AssertPage() { … }
void InspectorEmulationAgent::Trace(Visitor* visitor) const { … }
protocol::Response InspectorEmulationAgent::setDisabledImageTypes(
std::unique_ptr<protocol::Array<protocol::Emulation::DisabledImageType>>
disabled_types) { … }
protocol::Response InspectorEmulationAgent::setAutomationOverride(
bool enabled) { … }
void InspectorEmulationAgent::ApplyAutomationOverride(bool& enabled) const { … }
}