# frozen_string_literal: true
# Licensed to the Software Freedom Conservancy (SFC) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The SFC licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# This file is automatically generated. DO NOT EDIT!
# Regenerate with: bazel run //rb/lib/selenium/webdriver:bidi-generate
module Selenium
module WebDriver
class BiDi
module Protocol
# @api private
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
class Emulation < Domain
FORCED_COLORS_MODE_THEME = {
light: 'light',
dark: 'dark'
}.freeze
SCREEN_ORIENTATION_NATURAL = {
portrait: 'portrait',
landscape: 'landscape'
}.freeze
SCREEN_ORIENTATION_TYPE = {
portrait_primary: 'portrait-primary',
portrait_secondary: 'portrait-secondary',
landscape_primary: 'landscape-primary',
landscape_secondary: 'landscape-secondary'
}.freeze
# @api private
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
SetForcedColorsModeThemeOverrideParameters = Serialization::Record.define(
theme: {wire_key: 'theme', nullable: true, enum: 'Emulation::FORCED_COLORS_MODE_THEME'},
contexts: {wire_key: 'contexts', required: false, list: true},
user_contexts: {wire_key: 'userContexts', required: false, list: true}
)
# @api private
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
class SetGeolocationOverrideParameters < Serialization::Union
presence(
'Emulation::SetGeolocationOverrideParameters::Coordinates' => ['coordinates'],
'Emulation::SetGeolocationOverrideParameters::Error' => ['error']
)
# @api private
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
Coordinates = Serialization::Record.define(
contexts: {wire_key: 'contexts', required: false, list: true},
user_contexts: {wire_key: 'userContexts', required: false, list: true},
coordinates: {wire_key: 'coordinates', nullable: true, ref: 'Emulation::GeolocationCoordinates'}
)
# @api private
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
Error = Serialization::Record.define(
contexts: {wire_key: 'contexts', required: false, list: true},
user_contexts: {wire_key: 'userContexts', required: false, list: true},
error: {wire_key: 'error', ref: 'Emulation::GeolocationPositionError'}
)
end
# @api private
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
GeolocationCoordinates = Serialization::Record.define(
latitude: {wire_key: 'latitude', primitive: 'integer'},
longitude: {wire_key: 'longitude', primitive: 'integer'},
accuracy: {wire_key: 'accuracy', required: false, primitive: 'number'},
altitude: {wire_key: 'altitude', required: false, nullable: true, primitive: 'number'},
altitude_accuracy: {wire_key: 'altitudeAccuracy', required: false, nullable: true, primitive: 'number'},
heading: {wire_key: 'heading', required: false, nullable: true, primitive: 'integer'},
speed: {wire_key: 'speed', required: false, nullable: true, primitive: 'number'}
)
# @api private
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
GeolocationPositionError = Serialization::Record.define(type: {fixed: 'positionUnavailable'})
# @api private
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
SetLocaleOverrideParameters = Serialization::Record.define(
locale: {wire_key: 'locale', nullable: true, primitive: 'string'},
contexts: {wire_key: 'contexts', required: false, list: true},
user_contexts: {wire_key: 'userContexts', required: false, list: true}
)
# @api private
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
SetNetworkConditionsParameters = Serialization::Record.define(
network_conditions: {
wire_key: 'networkConditions',
nullable: true,
ref: 'Emulation::NetworkConditionsOffline'
},
contexts: {wire_key: 'contexts', required: false, list: true},
user_contexts: {wire_key: 'userContexts', required: false, list: true}
)
# @api private
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
NetworkConditionsOffline = Serialization::Record.define(type: {fixed: 'offline'})
# @api private
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
ScreenArea = Serialization::Record.define(width: 'width', height: 'height')
# @api private
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
SetScreenSettingsOverrideParameters = Serialization::Record.define(
screen_area: {wire_key: 'screenArea', nullable: true, ref: 'Emulation::ScreenArea'},
contexts: {wire_key: 'contexts', required: false, list: true},
user_contexts: {wire_key: 'userContexts', required: false, list: true}
)
# @api private
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
ScreenOrientation = Serialization::Record.define(
natural: {wire_key: 'natural', enum: 'Emulation::SCREEN_ORIENTATION_NATURAL'},
type: {wire_key: 'type', enum: 'Emulation::SCREEN_ORIENTATION_TYPE'}
)
# @api private
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
SetScreenOrientationOverrideParameters = Serialization::Record.define(
screen_orientation: {wire_key: 'screenOrientation', nullable: true, ref: 'Emulation::ScreenOrientation'},
contexts: {wire_key: 'contexts', required: false, list: true},
user_contexts: {wire_key: 'userContexts', required: false, list: true}
)
# @api private
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
SetUserAgentOverrideParameters = Serialization::Record.define(
user_agent: {wire_key: 'userAgent', nullable: true, primitive: 'string'},
contexts: {wire_key: 'contexts', required: false, list: true},
user_contexts: {wire_key: 'userContexts', required: false, list: true}
)
# @api private
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
SetScriptingEnabledParameters = Serialization::Record.define(
enabled: {wire_key: 'enabled', nullable: true},
contexts: {wire_key: 'contexts', required: false, list: true},
user_contexts: {wire_key: 'userContexts', required: false, list: true}
)
# @api private
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
SetScrollbarTypeOverrideParameters = Serialization::Record.define(
scrollbar_type: {wire_key: 'scrollbarType', nullable: true},
contexts: {wire_key: 'contexts', required: false, list: true},
user_contexts: {wire_key: 'userContexts', required: false, list: true}
)
# @api private
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
SetTimezoneOverrideParameters = Serialization::Record.define(
timezone: {wire_key: 'timezone', nullable: true, primitive: 'string'},
contexts: {wire_key: 'contexts', required: false, list: true},
user_contexts: {wire_key: 'userContexts', required: false, list: true}
)
# @api private
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
SetTouchOverrideParameters = Serialization::Record.define(
max_touch_points: {wire_key: 'maxTouchPoints', nullable: true},
contexts: {wire_key: 'contexts', required: false, list: true},
user_contexts: {wire_key: 'userContexts', required: false, list: true}
)
# @api private
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
def set_forced_colors_mode_theme_override(
theme:,
contexts: Serialization::UNSET,
user_contexts: Serialization::UNSET
)
Serialization.validate!('theme', theme, Emulation::FORCED_COLORS_MODE_THEME)
params = SetForcedColorsModeThemeOverrideParameters.new(
theme: theme,
contexts: contexts,
user_contexts: user_contexts
)
execute(cmd: 'emulation.setForcedColorsModeThemeOverride', params: params)
end
# @api private
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
def set_geolocation_override(
contexts: Serialization::UNSET,
user_contexts: Serialization::UNSET,
coordinates: Serialization::UNSET,
error: Serialization::UNSET
)
params = SetGeolocationOverrideParameters.build(
contexts: contexts,
user_contexts: user_contexts,
coordinates: coordinates,
error: error
)
execute(cmd: 'emulation.setGeolocationOverride', params: params)
end
# @api private
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
def set_locale_override(locale:, contexts: Serialization::UNSET, user_contexts: Serialization::UNSET)
params = SetLocaleOverrideParameters.new(locale: locale, contexts: contexts, user_contexts: user_contexts)
execute(cmd: 'emulation.setLocaleOverride', params: params)
end
# @api private
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
def set_network_conditions(
network_conditions:,
contexts: Serialization::UNSET,
user_contexts: Serialization::UNSET
)
params = SetNetworkConditionsParameters.new(
network_conditions: network_conditions,
contexts: contexts,
user_contexts: user_contexts
)
execute(cmd: 'emulation.setNetworkConditions', params: params)
end
# @api private
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
def set_screen_orientation_override(
screen_orientation:,
contexts: Serialization::UNSET,
user_contexts: Serialization::UNSET
)
params = SetScreenOrientationOverrideParameters.new(
screen_orientation: screen_orientation,
contexts: contexts,
user_contexts: user_contexts
)
execute(cmd: 'emulation.setScreenOrientationOverride', params: params)
end
# @api private
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
def set_screen_settings_override(
screen_area:,
contexts: Serialization::UNSET,
user_contexts: Serialization::UNSET
)
params = SetScreenSettingsOverrideParameters.new(
screen_area: screen_area,
contexts: contexts,
user_contexts: user_contexts
)
execute(cmd: 'emulation.setScreenSettingsOverride', params: params)
end
# @api private
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
def set_scripting_enabled(enabled:, contexts: Serialization::UNSET, user_contexts: Serialization::UNSET)
params = SetScriptingEnabledParameters.new(
enabled: enabled,
contexts: contexts,
user_contexts: user_contexts
)
execute(cmd: 'emulation.setScriptingEnabled', params: params)
end
# @api private
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
def set_scrollbar_type_override(
scrollbar_type:,
contexts: Serialization::UNSET,
user_contexts: Serialization::UNSET
)
params = SetScrollbarTypeOverrideParameters.new(
scrollbar_type: scrollbar_type,
contexts: contexts,
user_contexts: user_contexts
)
execute(cmd: 'emulation.setScrollbarTypeOverride', params: params)
end
# @api private
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
def set_timezone_override(timezone:, contexts: Serialization::UNSET, user_contexts: Serialization::UNSET)
params = SetTimezoneOverrideParameters.new(
timezone: timezone,
contexts: contexts,
user_contexts: user_contexts
)
execute(cmd: 'emulation.setTimezoneOverride', params: params)
end
# @api private
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
def set_touch_override(max_touch_points:, contexts: Serialization::UNSET, user_contexts: Serialization::UNSET)
params = SetTouchOverrideParameters.new(
max_touch_points: max_touch_points,
contexts: contexts,
user_contexts: user_contexts
)
execute(cmd: 'emulation.setTouchOverride', params: params)
end
# @api private
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
def set_user_agent_override(user_agent:, contexts: Serialization::UNSET, user_contexts: Serialization::UNSET)
params = SetUserAgentOverrideParameters.new(
user_agent: user_agent,
contexts: contexts,
user_contexts: user_contexts
)
execute(cmd: 'emulation.setUserAgentOverride', params: params)
end
end # Emulation
end # Protocol
end # BiDi
end # WebDriver
end # Selenium