cdp-0.0.1.0: src/CDP/Domains/Overlay.hs
{-# LANGUAGE OverloadedStrings, RecordWildCards, TupleSections #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE TypeFamilies #-}
{- |
= Overlay
This domain provides various functionality related to drawing atop the inspected page.
-}
module CDP.Domains.Overlay (module CDP.Domains.Overlay) where
import Control.Applicative ((<$>))
import Control.Monad
import Control.Monad.Loops
import Control.Monad.Trans (liftIO)
import qualified Data.Map as M
import Data.Maybe
import Data.Functor.Identity
import Data.String
import qualified Data.Text as T
import qualified Data.List as List
import qualified Data.Text.IO as TI
import qualified Data.Vector as V
import Data.Aeson.Types (Parser(..))
import Data.Aeson (FromJSON (..), ToJSON (..), (.:), (.:?), (.=), (.!=), (.:!))
import qualified Data.Aeson as A
import qualified Network.HTTP.Simple as Http
import qualified Network.URI as Uri
import qualified Network.WebSockets as WS
import Control.Concurrent
import qualified Data.ByteString.Lazy as BS
import qualified Data.Map as Map
import Data.Proxy
import System.Random
import GHC.Generics
import Data.Char
import Data.Default
import CDP.Internal.Utils
import CDP.Domains.DOMPageNetworkEmulationSecurity as DOMPageNetworkEmulationSecurity
import CDP.Domains.Runtime as Runtime
-- | Type 'Overlay.SourceOrderConfig'.
-- Configuration data for drawing the source order of an elements children.
data OverlaySourceOrderConfig = OverlaySourceOrderConfig
{
-- | the color to outline the givent element in.
overlaySourceOrderConfigParentOutlineColor :: DOMPageNetworkEmulationSecurity.DOMRGBA,
-- | the color to outline the child elements in.
overlaySourceOrderConfigChildOutlineColor :: DOMPageNetworkEmulationSecurity.DOMRGBA
}
deriving (Eq, Show)
instance FromJSON OverlaySourceOrderConfig where
parseJSON = A.withObject "OverlaySourceOrderConfig" $ \o -> OverlaySourceOrderConfig
<$> o A..: "parentOutlineColor"
<*> o A..: "childOutlineColor"
instance ToJSON OverlaySourceOrderConfig where
toJSON p = A.object $ catMaybes [
("parentOutlineColor" A..=) <$> Just (overlaySourceOrderConfigParentOutlineColor p),
("childOutlineColor" A..=) <$> Just (overlaySourceOrderConfigChildOutlineColor p)
]
-- | Type 'Overlay.GridHighlightConfig'.
-- Configuration data for the highlighting of Grid elements.
data OverlayGridHighlightConfig = OverlayGridHighlightConfig
{
-- | Whether the extension lines from grid cells to the rulers should be shown (default: false).
overlayGridHighlightConfigShowGridExtensionLines :: Maybe Bool,
-- | Show Positive line number labels (default: false).
overlayGridHighlightConfigShowPositiveLineNumbers :: Maybe Bool,
-- | Show Negative line number labels (default: false).
overlayGridHighlightConfigShowNegativeLineNumbers :: Maybe Bool,
-- | Show area name labels (default: false).
overlayGridHighlightConfigShowAreaNames :: Maybe Bool,
-- | Show line name labels (default: false).
overlayGridHighlightConfigShowLineNames :: Maybe Bool,
-- | Show track size labels (default: false).
overlayGridHighlightConfigShowTrackSizes :: Maybe Bool,
-- | The grid container border highlight color (default: transparent).
overlayGridHighlightConfigGridBorderColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA,
-- | The row line color (default: transparent).
overlayGridHighlightConfigRowLineColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA,
-- | The column line color (default: transparent).
overlayGridHighlightConfigColumnLineColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA,
-- | Whether the grid border is dashed (default: false).
overlayGridHighlightConfigGridBorderDash :: Maybe Bool,
-- | Whether row lines are dashed (default: false).
overlayGridHighlightConfigRowLineDash :: Maybe Bool,
-- | Whether column lines are dashed (default: false).
overlayGridHighlightConfigColumnLineDash :: Maybe Bool,
-- | The row gap highlight fill color (default: transparent).
overlayGridHighlightConfigRowGapColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA,
-- | The row gap hatching fill color (default: transparent).
overlayGridHighlightConfigRowHatchColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA,
-- | The column gap highlight fill color (default: transparent).
overlayGridHighlightConfigColumnGapColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA,
-- | The column gap hatching fill color (default: transparent).
overlayGridHighlightConfigColumnHatchColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA,
-- | The named grid areas border color (Default: transparent).
overlayGridHighlightConfigAreaBorderColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA,
-- | The grid container background color (Default: transparent).
overlayGridHighlightConfigGridBackgroundColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA
}
deriving (Eq, Show)
instance FromJSON OverlayGridHighlightConfig where
parseJSON = A.withObject "OverlayGridHighlightConfig" $ \o -> OverlayGridHighlightConfig
<$> o A..:? "showGridExtensionLines"
<*> o A..:? "showPositiveLineNumbers"
<*> o A..:? "showNegativeLineNumbers"
<*> o A..:? "showAreaNames"
<*> o A..:? "showLineNames"
<*> o A..:? "showTrackSizes"
<*> o A..:? "gridBorderColor"
<*> o A..:? "rowLineColor"
<*> o A..:? "columnLineColor"
<*> o A..:? "gridBorderDash"
<*> o A..:? "rowLineDash"
<*> o A..:? "columnLineDash"
<*> o A..:? "rowGapColor"
<*> o A..:? "rowHatchColor"
<*> o A..:? "columnGapColor"
<*> o A..:? "columnHatchColor"
<*> o A..:? "areaBorderColor"
<*> o A..:? "gridBackgroundColor"
instance ToJSON OverlayGridHighlightConfig where
toJSON p = A.object $ catMaybes [
("showGridExtensionLines" A..=) <$> (overlayGridHighlightConfigShowGridExtensionLines p),
("showPositiveLineNumbers" A..=) <$> (overlayGridHighlightConfigShowPositiveLineNumbers p),
("showNegativeLineNumbers" A..=) <$> (overlayGridHighlightConfigShowNegativeLineNumbers p),
("showAreaNames" A..=) <$> (overlayGridHighlightConfigShowAreaNames p),
("showLineNames" A..=) <$> (overlayGridHighlightConfigShowLineNames p),
("showTrackSizes" A..=) <$> (overlayGridHighlightConfigShowTrackSizes p),
("gridBorderColor" A..=) <$> (overlayGridHighlightConfigGridBorderColor p),
("rowLineColor" A..=) <$> (overlayGridHighlightConfigRowLineColor p),
("columnLineColor" A..=) <$> (overlayGridHighlightConfigColumnLineColor p),
("gridBorderDash" A..=) <$> (overlayGridHighlightConfigGridBorderDash p),
("rowLineDash" A..=) <$> (overlayGridHighlightConfigRowLineDash p),
("columnLineDash" A..=) <$> (overlayGridHighlightConfigColumnLineDash p),
("rowGapColor" A..=) <$> (overlayGridHighlightConfigRowGapColor p),
("rowHatchColor" A..=) <$> (overlayGridHighlightConfigRowHatchColor p),
("columnGapColor" A..=) <$> (overlayGridHighlightConfigColumnGapColor p),
("columnHatchColor" A..=) <$> (overlayGridHighlightConfigColumnHatchColor p),
("areaBorderColor" A..=) <$> (overlayGridHighlightConfigAreaBorderColor p),
("gridBackgroundColor" A..=) <$> (overlayGridHighlightConfigGridBackgroundColor p)
]
-- | Type 'Overlay.FlexContainerHighlightConfig'.
-- Configuration data for the highlighting of Flex container elements.
data OverlayFlexContainerHighlightConfig = OverlayFlexContainerHighlightConfig
{
-- | The style of the container border
overlayFlexContainerHighlightConfigContainerBorder :: Maybe OverlayLineStyle,
-- | The style of the separator between lines
overlayFlexContainerHighlightConfigLineSeparator :: Maybe OverlayLineStyle,
-- | The style of the separator between items
overlayFlexContainerHighlightConfigItemSeparator :: Maybe OverlayLineStyle,
-- | Style of content-distribution space on the main axis (justify-content).
overlayFlexContainerHighlightConfigMainDistributedSpace :: Maybe OverlayBoxStyle,
-- | Style of content-distribution space on the cross axis (align-content).
overlayFlexContainerHighlightConfigCrossDistributedSpace :: Maybe OverlayBoxStyle,
-- | Style of empty space caused by row gaps (gap/row-gap).
overlayFlexContainerHighlightConfigRowGapSpace :: Maybe OverlayBoxStyle,
-- | Style of empty space caused by columns gaps (gap/column-gap).
overlayFlexContainerHighlightConfigColumnGapSpace :: Maybe OverlayBoxStyle,
-- | Style of the self-alignment line (align-items).
overlayFlexContainerHighlightConfigCrossAlignment :: Maybe OverlayLineStyle
}
deriving (Eq, Show)
instance FromJSON OverlayFlexContainerHighlightConfig where
parseJSON = A.withObject "OverlayFlexContainerHighlightConfig" $ \o -> OverlayFlexContainerHighlightConfig
<$> o A..:? "containerBorder"
<*> o A..:? "lineSeparator"
<*> o A..:? "itemSeparator"
<*> o A..:? "mainDistributedSpace"
<*> o A..:? "crossDistributedSpace"
<*> o A..:? "rowGapSpace"
<*> o A..:? "columnGapSpace"
<*> o A..:? "crossAlignment"
instance ToJSON OverlayFlexContainerHighlightConfig where
toJSON p = A.object $ catMaybes [
("containerBorder" A..=) <$> (overlayFlexContainerHighlightConfigContainerBorder p),
("lineSeparator" A..=) <$> (overlayFlexContainerHighlightConfigLineSeparator p),
("itemSeparator" A..=) <$> (overlayFlexContainerHighlightConfigItemSeparator p),
("mainDistributedSpace" A..=) <$> (overlayFlexContainerHighlightConfigMainDistributedSpace p),
("crossDistributedSpace" A..=) <$> (overlayFlexContainerHighlightConfigCrossDistributedSpace p),
("rowGapSpace" A..=) <$> (overlayFlexContainerHighlightConfigRowGapSpace p),
("columnGapSpace" A..=) <$> (overlayFlexContainerHighlightConfigColumnGapSpace p),
("crossAlignment" A..=) <$> (overlayFlexContainerHighlightConfigCrossAlignment p)
]
-- | Type 'Overlay.FlexItemHighlightConfig'.
-- Configuration data for the highlighting of Flex item elements.
data OverlayFlexItemHighlightConfig = OverlayFlexItemHighlightConfig
{
-- | Style of the box representing the item's base size
overlayFlexItemHighlightConfigBaseSizeBox :: Maybe OverlayBoxStyle,
-- | Style of the border around the box representing the item's base size
overlayFlexItemHighlightConfigBaseSizeBorder :: Maybe OverlayLineStyle,
-- | Style of the arrow representing if the item grew or shrank
overlayFlexItemHighlightConfigFlexibilityArrow :: Maybe OverlayLineStyle
}
deriving (Eq, Show)
instance FromJSON OverlayFlexItemHighlightConfig where
parseJSON = A.withObject "OverlayFlexItemHighlightConfig" $ \o -> OverlayFlexItemHighlightConfig
<$> o A..:? "baseSizeBox"
<*> o A..:? "baseSizeBorder"
<*> o A..:? "flexibilityArrow"
instance ToJSON OverlayFlexItemHighlightConfig where
toJSON p = A.object $ catMaybes [
("baseSizeBox" A..=) <$> (overlayFlexItemHighlightConfigBaseSizeBox p),
("baseSizeBorder" A..=) <$> (overlayFlexItemHighlightConfigBaseSizeBorder p),
("flexibilityArrow" A..=) <$> (overlayFlexItemHighlightConfigFlexibilityArrow p)
]
-- | Type 'Overlay.LineStyle'.
-- Style information for drawing a line.
data OverlayLineStylePattern = OverlayLineStylePatternDashed | OverlayLineStylePatternDotted
deriving (Ord, Eq, Show, Read)
instance FromJSON OverlayLineStylePattern where
parseJSON = A.withText "OverlayLineStylePattern" $ \v -> case v of
"dashed" -> pure OverlayLineStylePatternDashed
"dotted" -> pure OverlayLineStylePatternDotted
"_" -> fail "failed to parse OverlayLineStylePattern"
instance ToJSON OverlayLineStylePattern where
toJSON v = A.String $ case v of
OverlayLineStylePatternDashed -> "dashed"
OverlayLineStylePatternDotted -> "dotted"
data OverlayLineStyle = OverlayLineStyle
{
-- | The color of the line (default: transparent)
overlayLineStyleColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA,
-- | The line pattern (default: solid)
overlayLineStylePattern :: Maybe OverlayLineStylePattern
}
deriving (Eq, Show)
instance FromJSON OverlayLineStyle where
parseJSON = A.withObject "OverlayLineStyle" $ \o -> OverlayLineStyle
<$> o A..:? "color"
<*> o A..:? "pattern"
instance ToJSON OverlayLineStyle where
toJSON p = A.object $ catMaybes [
("color" A..=) <$> (overlayLineStyleColor p),
("pattern" A..=) <$> (overlayLineStylePattern p)
]
-- | Type 'Overlay.BoxStyle'.
-- Style information for drawing a box.
data OverlayBoxStyle = OverlayBoxStyle
{
-- | The background color for the box (default: transparent)
overlayBoxStyleFillColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA,
-- | The hatching color for the box (default: transparent)
overlayBoxStyleHatchColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA
}
deriving (Eq, Show)
instance FromJSON OverlayBoxStyle where
parseJSON = A.withObject "OverlayBoxStyle" $ \o -> OverlayBoxStyle
<$> o A..:? "fillColor"
<*> o A..:? "hatchColor"
instance ToJSON OverlayBoxStyle where
toJSON p = A.object $ catMaybes [
("fillColor" A..=) <$> (overlayBoxStyleFillColor p),
("hatchColor" A..=) <$> (overlayBoxStyleHatchColor p)
]
-- | Type 'Overlay.ContrastAlgorithm'.
data OverlayContrastAlgorithm = OverlayContrastAlgorithmAa | OverlayContrastAlgorithmAaa | OverlayContrastAlgorithmApca
deriving (Ord, Eq, Show, Read)
instance FromJSON OverlayContrastAlgorithm where
parseJSON = A.withText "OverlayContrastAlgorithm" $ \v -> case v of
"aa" -> pure OverlayContrastAlgorithmAa
"aaa" -> pure OverlayContrastAlgorithmAaa
"apca" -> pure OverlayContrastAlgorithmApca
"_" -> fail "failed to parse OverlayContrastAlgorithm"
instance ToJSON OverlayContrastAlgorithm where
toJSON v = A.String $ case v of
OverlayContrastAlgorithmAa -> "aa"
OverlayContrastAlgorithmAaa -> "aaa"
OverlayContrastAlgorithmApca -> "apca"
-- | Type 'Overlay.HighlightConfig'.
-- Configuration data for the highlighting of page elements.
data OverlayHighlightConfig = OverlayHighlightConfig
{
-- | Whether the node info tooltip should be shown (default: false).
overlayHighlightConfigShowInfo :: Maybe Bool,
-- | Whether the node styles in the tooltip (default: false).
overlayHighlightConfigShowStyles :: Maybe Bool,
-- | Whether the rulers should be shown (default: false).
overlayHighlightConfigShowRulers :: Maybe Bool,
-- | Whether the a11y info should be shown (default: true).
overlayHighlightConfigShowAccessibilityInfo :: Maybe Bool,
-- | Whether the extension lines from node to the rulers should be shown (default: false).
overlayHighlightConfigShowExtensionLines :: Maybe Bool,
-- | The content box highlight fill color (default: transparent).
overlayHighlightConfigContentColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA,
-- | The padding highlight fill color (default: transparent).
overlayHighlightConfigPaddingColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA,
-- | The border highlight fill color (default: transparent).
overlayHighlightConfigBorderColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA,
-- | The margin highlight fill color (default: transparent).
overlayHighlightConfigMarginColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA,
-- | The event target element highlight fill color (default: transparent).
overlayHighlightConfigEventTargetColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA,
-- | The shape outside fill color (default: transparent).
overlayHighlightConfigShapeColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA,
-- | The shape margin fill color (default: transparent).
overlayHighlightConfigShapeMarginColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA,
-- | The grid layout color (default: transparent).
overlayHighlightConfigCssGridColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA,
-- | The color format used to format color styles (default: hex).
overlayHighlightConfigColorFormat :: Maybe OverlayColorFormat,
-- | The grid layout highlight configuration (default: all transparent).
overlayHighlightConfigGridHighlightConfig :: Maybe OverlayGridHighlightConfig,
-- | The flex container highlight configuration (default: all transparent).
overlayHighlightConfigFlexContainerHighlightConfig :: Maybe OverlayFlexContainerHighlightConfig,
-- | The flex item highlight configuration (default: all transparent).
overlayHighlightConfigFlexItemHighlightConfig :: Maybe OverlayFlexItemHighlightConfig,
-- | The contrast algorithm to use for the contrast ratio (default: aa).
overlayHighlightConfigContrastAlgorithm :: Maybe OverlayContrastAlgorithm,
-- | The container query container highlight configuration (default: all transparent).
overlayHighlightConfigContainerQueryContainerHighlightConfig :: Maybe OverlayContainerQueryContainerHighlightConfig
}
deriving (Eq, Show)
instance FromJSON OverlayHighlightConfig where
parseJSON = A.withObject "OverlayHighlightConfig" $ \o -> OverlayHighlightConfig
<$> o A..:? "showInfo"
<*> o A..:? "showStyles"
<*> o A..:? "showRulers"
<*> o A..:? "showAccessibilityInfo"
<*> o A..:? "showExtensionLines"
<*> o A..:? "contentColor"
<*> o A..:? "paddingColor"
<*> o A..:? "borderColor"
<*> o A..:? "marginColor"
<*> o A..:? "eventTargetColor"
<*> o A..:? "shapeColor"
<*> o A..:? "shapeMarginColor"
<*> o A..:? "cssGridColor"
<*> o A..:? "colorFormat"
<*> o A..:? "gridHighlightConfig"
<*> o A..:? "flexContainerHighlightConfig"
<*> o A..:? "flexItemHighlightConfig"
<*> o A..:? "contrastAlgorithm"
<*> o A..:? "containerQueryContainerHighlightConfig"
instance ToJSON OverlayHighlightConfig where
toJSON p = A.object $ catMaybes [
("showInfo" A..=) <$> (overlayHighlightConfigShowInfo p),
("showStyles" A..=) <$> (overlayHighlightConfigShowStyles p),
("showRulers" A..=) <$> (overlayHighlightConfigShowRulers p),
("showAccessibilityInfo" A..=) <$> (overlayHighlightConfigShowAccessibilityInfo p),
("showExtensionLines" A..=) <$> (overlayHighlightConfigShowExtensionLines p),
("contentColor" A..=) <$> (overlayHighlightConfigContentColor p),
("paddingColor" A..=) <$> (overlayHighlightConfigPaddingColor p),
("borderColor" A..=) <$> (overlayHighlightConfigBorderColor p),
("marginColor" A..=) <$> (overlayHighlightConfigMarginColor p),
("eventTargetColor" A..=) <$> (overlayHighlightConfigEventTargetColor p),
("shapeColor" A..=) <$> (overlayHighlightConfigShapeColor p),
("shapeMarginColor" A..=) <$> (overlayHighlightConfigShapeMarginColor p),
("cssGridColor" A..=) <$> (overlayHighlightConfigCssGridColor p),
("colorFormat" A..=) <$> (overlayHighlightConfigColorFormat p),
("gridHighlightConfig" A..=) <$> (overlayHighlightConfigGridHighlightConfig p),
("flexContainerHighlightConfig" A..=) <$> (overlayHighlightConfigFlexContainerHighlightConfig p),
("flexItemHighlightConfig" A..=) <$> (overlayHighlightConfigFlexItemHighlightConfig p),
("contrastAlgorithm" A..=) <$> (overlayHighlightConfigContrastAlgorithm p),
("containerQueryContainerHighlightConfig" A..=) <$> (overlayHighlightConfigContainerQueryContainerHighlightConfig p)
]
-- | Type 'Overlay.ColorFormat'.
data OverlayColorFormat = OverlayColorFormatRgb | OverlayColorFormatHsl | OverlayColorFormatHwb | OverlayColorFormatHex
deriving (Ord, Eq, Show, Read)
instance FromJSON OverlayColorFormat where
parseJSON = A.withText "OverlayColorFormat" $ \v -> case v of
"rgb" -> pure OverlayColorFormatRgb
"hsl" -> pure OverlayColorFormatHsl
"hwb" -> pure OverlayColorFormatHwb
"hex" -> pure OverlayColorFormatHex
"_" -> fail "failed to parse OverlayColorFormat"
instance ToJSON OverlayColorFormat where
toJSON v = A.String $ case v of
OverlayColorFormatRgb -> "rgb"
OverlayColorFormatHsl -> "hsl"
OverlayColorFormatHwb -> "hwb"
OverlayColorFormatHex -> "hex"
-- | Type 'Overlay.GridNodeHighlightConfig'.
-- Configurations for Persistent Grid Highlight
data OverlayGridNodeHighlightConfig = OverlayGridNodeHighlightConfig
{
-- | A descriptor for the highlight appearance.
overlayGridNodeHighlightConfigGridHighlightConfig :: OverlayGridHighlightConfig,
-- | Identifier of the node to highlight.
overlayGridNodeHighlightConfigNodeId :: DOMPageNetworkEmulationSecurity.DOMNodeId
}
deriving (Eq, Show)
instance FromJSON OverlayGridNodeHighlightConfig where
parseJSON = A.withObject "OverlayGridNodeHighlightConfig" $ \o -> OverlayGridNodeHighlightConfig
<$> o A..: "gridHighlightConfig"
<*> o A..: "nodeId"
instance ToJSON OverlayGridNodeHighlightConfig where
toJSON p = A.object $ catMaybes [
("gridHighlightConfig" A..=) <$> Just (overlayGridNodeHighlightConfigGridHighlightConfig p),
("nodeId" A..=) <$> Just (overlayGridNodeHighlightConfigNodeId p)
]
-- | Type 'Overlay.FlexNodeHighlightConfig'.
data OverlayFlexNodeHighlightConfig = OverlayFlexNodeHighlightConfig
{
-- | A descriptor for the highlight appearance of flex containers.
overlayFlexNodeHighlightConfigFlexContainerHighlightConfig :: OverlayFlexContainerHighlightConfig,
-- | Identifier of the node to highlight.
overlayFlexNodeHighlightConfigNodeId :: DOMPageNetworkEmulationSecurity.DOMNodeId
}
deriving (Eq, Show)
instance FromJSON OverlayFlexNodeHighlightConfig where
parseJSON = A.withObject "OverlayFlexNodeHighlightConfig" $ \o -> OverlayFlexNodeHighlightConfig
<$> o A..: "flexContainerHighlightConfig"
<*> o A..: "nodeId"
instance ToJSON OverlayFlexNodeHighlightConfig where
toJSON p = A.object $ catMaybes [
("flexContainerHighlightConfig" A..=) <$> Just (overlayFlexNodeHighlightConfigFlexContainerHighlightConfig p),
("nodeId" A..=) <$> Just (overlayFlexNodeHighlightConfigNodeId p)
]
-- | Type 'Overlay.ScrollSnapContainerHighlightConfig'.
data OverlayScrollSnapContainerHighlightConfig = OverlayScrollSnapContainerHighlightConfig
{
-- | The style of the snapport border (default: transparent)
overlayScrollSnapContainerHighlightConfigSnapportBorder :: Maybe OverlayLineStyle,
-- | The style of the snap area border (default: transparent)
overlayScrollSnapContainerHighlightConfigSnapAreaBorder :: Maybe OverlayLineStyle,
-- | The margin highlight fill color (default: transparent).
overlayScrollSnapContainerHighlightConfigScrollMarginColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA,
-- | The padding highlight fill color (default: transparent).
overlayScrollSnapContainerHighlightConfigScrollPaddingColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA
}
deriving (Eq, Show)
instance FromJSON OverlayScrollSnapContainerHighlightConfig where
parseJSON = A.withObject "OverlayScrollSnapContainerHighlightConfig" $ \o -> OverlayScrollSnapContainerHighlightConfig
<$> o A..:? "snapportBorder"
<*> o A..:? "snapAreaBorder"
<*> o A..:? "scrollMarginColor"
<*> o A..:? "scrollPaddingColor"
instance ToJSON OverlayScrollSnapContainerHighlightConfig where
toJSON p = A.object $ catMaybes [
("snapportBorder" A..=) <$> (overlayScrollSnapContainerHighlightConfigSnapportBorder p),
("snapAreaBorder" A..=) <$> (overlayScrollSnapContainerHighlightConfigSnapAreaBorder p),
("scrollMarginColor" A..=) <$> (overlayScrollSnapContainerHighlightConfigScrollMarginColor p),
("scrollPaddingColor" A..=) <$> (overlayScrollSnapContainerHighlightConfigScrollPaddingColor p)
]
-- | Type 'Overlay.ScrollSnapHighlightConfig'.
data OverlayScrollSnapHighlightConfig = OverlayScrollSnapHighlightConfig
{
-- | A descriptor for the highlight appearance of scroll snap containers.
overlayScrollSnapHighlightConfigScrollSnapContainerHighlightConfig :: OverlayScrollSnapContainerHighlightConfig,
-- | Identifier of the node to highlight.
overlayScrollSnapHighlightConfigNodeId :: DOMPageNetworkEmulationSecurity.DOMNodeId
}
deriving (Eq, Show)
instance FromJSON OverlayScrollSnapHighlightConfig where
parseJSON = A.withObject "OverlayScrollSnapHighlightConfig" $ \o -> OverlayScrollSnapHighlightConfig
<$> o A..: "scrollSnapContainerHighlightConfig"
<*> o A..: "nodeId"
instance ToJSON OverlayScrollSnapHighlightConfig where
toJSON p = A.object $ catMaybes [
("scrollSnapContainerHighlightConfig" A..=) <$> Just (overlayScrollSnapHighlightConfigScrollSnapContainerHighlightConfig p),
("nodeId" A..=) <$> Just (overlayScrollSnapHighlightConfigNodeId p)
]
-- | Type 'Overlay.HingeConfig'.
-- Configuration for dual screen hinge
data OverlayHingeConfig = OverlayHingeConfig
{
-- | A rectangle represent hinge
overlayHingeConfigRect :: DOMPageNetworkEmulationSecurity.DOMRect,
-- | The content box highlight fill color (default: a dark color).
overlayHingeConfigContentColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA,
-- | The content box highlight outline color (default: transparent).
overlayHingeConfigOutlineColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA
}
deriving (Eq, Show)
instance FromJSON OverlayHingeConfig where
parseJSON = A.withObject "OverlayHingeConfig" $ \o -> OverlayHingeConfig
<$> o A..: "rect"
<*> o A..:? "contentColor"
<*> o A..:? "outlineColor"
instance ToJSON OverlayHingeConfig where
toJSON p = A.object $ catMaybes [
("rect" A..=) <$> Just (overlayHingeConfigRect p),
("contentColor" A..=) <$> (overlayHingeConfigContentColor p),
("outlineColor" A..=) <$> (overlayHingeConfigOutlineColor p)
]
-- | Type 'Overlay.ContainerQueryHighlightConfig'.
data OverlayContainerQueryHighlightConfig = OverlayContainerQueryHighlightConfig
{
-- | A descriptor for the highlight appearance of container query containers.
overlayContainerQueryHighlightConfigContainerQueryContainerHighlightConfig :: OverlayContainerQueryContainerHighlightConfig,
-- | Identifier of the container node to highlight.
overlayContainerQueryHighlightConfigNodeId :: DOMPageNetworkEmulationSecurity.DOMNodeId
}
deriving (Eq, Show)
instance FromJSON OverlayContainerQueryHighlightConfig where
parseJSON = A.withObject "OverlayContainerQueryHighlightConfig" $ \o -> OverlayContainerQueryHighlightConfig
<$> o A..: "containerQueryContainerHighlightConfig"
<*> o A..: "nodeId"
instance ToJSON OverlayContainerQueryHighlightConfig where
toJSON p = A.object $ catMaybes [
("containerQueryContainerHighlightConfig" A..=) <$> Just (overlayContainerQueryHighlightConfigContainerQueryContainerHighlightConfig p),
("nodeId" A..=) <$> Just (overlayContainerQueryHighlightConfigNodeId p)
]
-- | Type 'Overlay.ContainerQueryContainerHighlightConfig'.
data OverlayContainerQueryContainerHighlightConfig = OverlayContainerQueryContainerHighlightConfig
{
-- | The style of the container border.
overlayContainerQueryContainerHighlightConfigContainerBorder :: Maybe OverlayLineStyle,
-- | The style of the descendants' borders.
overlayContainerQueryContainerHighlightConfigDescendantBorder :: Maybe OverlayLineStyle
}
deriving (Eq, Show)
instance FromJSON OverlayContainerQueryContainerHighlightConfig where
parseJSON = A.withObject "OverlayContainerQueryContainerHighlightConfig" $ \o -> OverlayContainerQueryContainerHighlightConfig
<$> o A..:? "containerBorder"
<*> o A..:? "descendantBorder"
instance ToJSON OverlayContainerQueryContainerHighlightConfig where
toJSON p = A.object $ catMaybes [
("containerBorder" A..=) <$> (overlayContainerQueryContainerHighlightConfigContainerBorder p),
("descendantBorder" A..=) <$> (overlayContainerQueryContainerHighlightConfigDescendantBorder p)
]
-- | Type 'Overlay.IsolatedElementHighlightConfig'.
data OverlayIsolatedElementHighlightConfig = OverlayIsolatedElementHighlightConfig
{
-- | A descriptor for the highlight appearance of an element in isolation mode.
overlayIsolatedElementHighlightConfigIsolationModeHighlightConfig :: OverlayIsolationModeHighlightConfig,
-- | Identifier of the isolated element to highlight.
overlayIsolatedElementHighlightConfigNodeId :: DOMPageNetworkEmulationSecurity.DOMNodeId
}
deriving (Eq, Show)
instance FromJSON OverlayIsolatedElementHighlightConfig where
parseJSON = A.withObject "OverlayIsolatedElementHighlightConfig" $ \o -> OverlayIsolatedElementHighlightConfig
<$> o A..: "isolationModeHighlightConfig"
<*> o A..: "nodeId"
instance ToJSON OverlayIsolatedElementHighlightConfig where
toJSON p = A.object $ catMaybes [
("isolationModeHighlightConfig" A..=) <$> Just (overlayIsolatedElementHighlightConfigIsolationModeHighlightConfig p),
("nodeId" A..=) <$> Just (overlayIsolatedElementHighlightConfigNodeId p)
]
-- | Type 'Overlay.IsolationModeHighlightConfig'.
data OverlayIsolationModeHighlightConfig = OverlayIsolationModeHighlightConfig
{
-- | The fill color of the resizers (default: transparent).
overlayIsolationModeHighlightConfigResizerColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA,
-- | The fill color for resizer handles (default: transparent).
overlayIsolationModeHighlightConfigResizerHandleColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA,
-- | The fill color for the mask covering non-isolated elements (default: transparent).
overlayIsolationModeHighlightConfigMaskColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA
}
deriving (Eq, Show)
instance FromJSON OverlayIsolationModeHighlightConfig where
parseJSON = A.withObject "OverlayIsolationModeHighlightConfig" $ \o -> OverlayIsolationModeHighlightConfig
<$> o A..:? "resizerColor"
<*> o A..:? "resizerHandleColor"
<*> o A..:? "maskColor"
instance ToJSON OverlayIsolationModeHighlightConfig where
toJSON p = A.object $ catMaybes [
("resizerColor" A..=) <$> (overlayIsolationModeHighlightConfigResizerColor p),
("resizerHandleColor" A..=) <$> (overlayIsolationModeHighlightConfigResizerHandleColor p),
("maskColor" A..=) <$> (overlayIsolationModeHighlightConfigMaskColor p)
]
-- | Type 'Overlay.InspectMode'.
data OverlayInspectMode = OverlayInspectModeSearchForNode | OverlayInspectModeSearchForUAShadowDOM | OverlayInspectModeCaptureAreaScreenshot | OverlayInspectModeShowDistances | OverlayInspectModeNone
deriving (Ord, Eq, Show, Read)
instance FromJSON OverlayInspectMode where
parseJSON = A.withText "OverlayInspectMode" $ \v -> case v of
"searchForNode" -> pure OverlayInspectModeSearchForNode
"searchForUAShadowDOM" -> pure OverlayInspectModeSearchForUAShadowDOM
"captureAreaScreenshot" -> pure OverlayInspectModeCaptureAreaScreenshot
"showDistances" -> pure OverlayInspectModeShowDistances
"none" -> pure OverlayInspectModeNone
"_" -> fail "failed to parse OverlayInspectMode"
instance ToJSON OverlayInspectMode where
toJSON v = A.String $ case v of
OverlayInspectModeSearchForNode -> "searchForNode"
OverlayInspectModeSearchForUAShadowDOM -> "searchForUAShadowDOM"
OverlayInspectModeCaptureAreaScreenshot -> "captureAreaScreenshot"
OverlayInspectModeShowDistances -> "showDistances"
OverlayInspectModeNone -> "none"
-- | Type of the 'Overlay.inspectNodeRequested' event.
data OverlayInspectNodeRequested = OverlayInspectNodeRequested
{
-- | Id of the node to inspect.
overlayInspectNodeRequestedBackendNodeId :: DOMPageNetworkEmulationSecurity.DOMBackendNodeId
}
deriving (Eq, Show)
instance FromJSON OverlayInspectNodeRequested where
parseJSON = A.withObject "OverlayInspectNodeRequested" $ \o -> OverlayInspectNodeRequested
<$> o A..: "backendNodeId"
instance Event OverlayInspectNodeRequested where
eventName _ = "Overlay.inspectNodeRequested"
-- | Type of the 'Overlay.nodeHighlightRequested' event.
data OverlayNodeHighlightRequested = OverlayNodeHighlightRequested
{
overlayNodeHighlightRequestedNodeId :: DOMPageNetworkEmulationSecurity.DOMNodeId
}
deriving (Eq, Show)
instance FromJSON OverlayNodeHighlightRequested where
parseJSON = A.withObject "OverlayNodeHighlightRequested" $ \o -> OverlayNodeHighlightRequested
<$> o A..: "nodeId"
instance Event OverlayNodeHighlightRequested where
eventName _ = "Overlay.nodeHighlightRequested"
-- | Type of the 'Overlay.screenshotRequested' event.
data OverlayScreenshotRequested = OverlayScreenshotRequested
{
-- | Viewport to capture, in device independent pixels (dip).
overlayScreenshotRequestedViewport :: DOMPageNetworkEmulationSecurity.PageViewport
}
deriving (Eq, Show)
instance FromJSON OverlayScreenshotRequested where
parseJSON = A.withObject "OverlayScreenshotRequested" $ \o -> OverlayScreenshotRequested
<$> o A..: "viewport"
instance Event OverlayScreenshotRequested where
eventName _ = "Overlay.screenshotRequested"
-- | Type of the 'Overlay.inspectModeCanceled' event.
data OverlayInspectModeCanceled = OverlayInspectModeCanceled
deriving (Eq, Show, Read)
instance FromJSON OverlayInspectModeCanceled where
parseJSON _ = pure OverlayInspectModeCanceled
instance Event OverlayInspectModeCanceled where
eventName _ = "Overlay.inspectModeCanceled"
-- | Disables domain notifications.
-- | Parameters of the 'Overlay.disable' command.
data POverlayDisable = POverlayDisable
deriving (Eq, Show)
pOverlayDisable
:: POverlayDisable
pOverlayDisable
= POverlayDisable
instance ToJSON POverlayDisable where
toJSON _ = A.Null
instance Command POverlayDisable where
type CommandResponse POverlayDisable = ()
commandName _ = "Overlay.disable"
fromJSON = const . A.Success . const ()
-- | Enables domain notifications.
-- | Parameters of the 'Overlay.enable' command.
data POverlayEnable = POverlayEnable
deriving (Eq, Show)
pOverlayEnable
:: POverlayEnable
pOverlayEnable
= POverlayEnable
instance ToJSON POverlayEnable where
toJSON _ = A.Null
instance Command POverlayEnable where
type CommandResponse POverlayEnable = ()
commandName _ = "Overlay.enable"
fromJSON = const . A.Success . const ()
-- | For testing.
-- | Parameters of the 'Overlay.getHighlightObjectForTest' command.
data POverlayGetHighlightObjectForTest = POverlayGetHighlightObjectForTest
{
-- | Id of the node to get highlight object for.
pOverlayGetHighlightObjectForTestNodeId :: DOMPageNetworkEmulationSecurity.DOMNodeId,
-- | Whether to include distance info.
pOverlayGetHighlightObjectForTestIncludeDistance :: Maybe Bool,
-- | Whether to include style info.
pOverlayGetHighlightObjectForTestIncludeStyle :: Maybe Bool,
-- | The color format to get config with (default: hex).
pOverlayGetHighlightObjectForTestColorFormat :: Maybe OverlayColorFormat,
-- | Whether to show accessibility info (default: true).
pOverlayGetHighlightObjectForTestShowAccessibilityInfo :: Maybe Bool
}
deriving (Eq, Show)
pOverlayGetHighlightObjectForTest
{-
-- | Id of the node to get highlight object for.
-}
:: DOMPageNetworkEmulationSecurity.DOMNodeId
-> POverlayGetHighlightObjectForTest
pOverlayGetHighlightObjectForTest
arg_pOverlayGetHighlightObjectForTestNodeId
= POverlayGetHighlightObjectForTest
arg_pOverlayGetHighlightObjectForTestNodeId
Nothing
Nothing
Nothing
Nothing
instance ToJSON POverlayGetHighlightObjectForTest where
toJSON p = A.object $ catMaybes [
("nodeId" A..=) <$> Just (pOverlayGetHighlightObjectForTestNodeId p),
("includeDistance" A..=) <$> (pOverlayGetHighlightObjectForTestIncludeDistance p),
("includeStyle" A..=) <$> (pOverlayGetHighlightObjectForTestIncludeStyle p),
("colorFormat" A..=) <$> (pOverlayGetHighlightObjectForTestColorFormat p),
("showAccessibilityInfo" A..=) <$> (pOverlayGetHighlightObjectForTestShowAccessibilityInfo p)
]
data OverlayGetHighlightObjectForTest = OverlayGetHighlightObjectForTest
{
-- | Highlight data for the node.
overlayGetHighlightObjectForTestHighlight :: [(T.Text, T.Text)]
}
deriving (Eq, Show)
instance FromJSON OverlayGetHighlightObjectForTest where
parseJSON = A.withObject "OverlayGetHighlightObjectForTest" $ \o -> OverlayGetHighlightObjectForTest
<$> o A..: "highlight"
instance Command POverlayGetHighlightObjectForTest where
type CommandResponse POverlayGetHighlightObjectForTest = OverlayGetHighlightObjectForTest
commandName _ = "Overlay.getHighlightObjectForTest"
-- | For Persistent Grid testing.
-- | Parameters of the 'Overlay.getGridHighlightObjectsForTest' command.
data POverlayGetGridHighlightObjectsForTest = POverlayGetGridHighlightObjectsForTest
{
-- | Ids of the node to get highlight object for.
pOverlayGetGridHighlightObjectsForTestNodeIds :: [DOMPageNetworkEmulationSecurity.DOMNodeId]
}
deriving (Eq, Show)
pOverlayGetGridHighlightObjectsForTest
{-
-- | Ids of the node to get highlight object for.
-}
:: [DOMPageNetworkEmulationSecurity.DOMNodeId]
-> POverlayGetGridHighlightObjectsForTest
pOverlayGetGridHighlightObjectsForTest
arg_pOverlayGetGridHighlightObjectsForTestNodeIds
= POverlayGetGridHighlightObjectsForTest
arg_pOverlayGetGridHighlightObjectsForTestNodeIds
instance ToJSON POverlayGetGridHighlightObjectsForTest where
toJSON p = A.object $ catMaybes [
("nodeIds" A..=) <$> Just (pOverlayGetGridHighlightObjectsForTestNodeIds p)
]
data OverlayGetGridHighlightObjectsForTest = OverlayGetGridHighlightObjectsForTest
{
-- | Grid Highlight data for the node ids provided.
overlayGetGridHighlightObjectsForTestHighlights :: [(T.Text, T.Text)]
}
deriving (Eq, Show)
instance FromJSON OverlayGetGridHighlightObjectsForTest where
parseJSON = A.withObject "OverlayGetGridHighlightObjectsForTest" $ \o -> OverlayGetGridHighlightObjectsForTest
<$> o A..: "highlights"
instance Command POverlayGetGridHighlightObjectsForTest where
type CommandResponse POverlayGetGridHighlightObjectsForTest = OverlayGetGridHighlightObjectsForTest
commandName _ = "Overlay.getGridHighlightObjectsForTest"
-- | For Source Order Viewer testing.
-- | Parameters of the 'Overlay.getSourceOrderHighlightObjectForTest' command.
data POverlayGetSourceOrderHighlightObjectForTest = POverlayGetSourceOrderHighlightObjectForTest
{
-- | Id of the node to highlight.
pOverlayGetSourceOrderHighlightObjectForTestNodeId :: DOMPageNetworkEmulationSecurity.DOMNodeId
}
deriving (Eq, Show)
pOverlayGetSourceOrderHighlightObjectForTest
{-
-- | Id of the node to highlight.
-}
:: DOMPageNetworkEmulationSecurity.DOMNodeId
-> POverlayGetSourceOrderHighlightObjectForTest
pOverlayGetSourceOrderHighlightObjectForTest
arg_pOverlayGetSourceOrderHighlightObjectForTestNodeId
= POverlayGetSourceOrderHighlightObjectForTest
arg_pOverlayGetSourceOrderHighlightObjectForTestNodeId
instance ToJSON POverlayGetSourceOrderHighlightObjectForTest where
toJSON p = A.object $ catMaybes [
("nodeId" A..=) <$> Just (pOverlayGetSourceOrderHighlightObjectForTestNodeId p)
]
data OverlayGetSourceOrderHighlightObjectForTest = OverlayGetSourceOrderHighlightObjectForTest
{
-- | Source order highlight data for the node id provided.
overlayGetSourceOrderHighlightObjectForTestHighlight :: [(T.Text, T.Text)]
}
deriving (Eq, Show)
instance FromJSON OverlayGetSourceOrderHighlightObjectForTest where
parseJSON = A.withObject "OverlayGetSourceOrderHighlightObjectForTest" $ \o -> OverlayGetSourceOrderHighlightObjectForTest
<$> o A..: "highlight"
instance Command POverlayGetSourceOrderHighlightObjectForTest where
type CommandResponse POverlayGetSourceOrderHighlightObjectForTest = OverlayGetSourceOrderHighlightObjectForTest
commandName _ = "Overlay.getSourceOrderHighlightObjectForTest"
-- | Hides any highlight.
-- | Parameters of the 'Overlay.hideHighlight' command.
data POverlayHideHighlight = POverlayHideHighlight
deriving (Eq, Show)
pOverlayHideHighlight
:: POverlayHideHighlight
pOverlayHideHighlight
= POverlayHideHighlight
instance ToJSON POverlayHideHighlight where
toJSON _ = A.Null
instance Command POverlayHideHighlight where
type CommandResponse POverlayHideHighlight = ()
commandName _ = "Overlay.hideHighlight"
fromJSON = const . A.Success . const ()
-- | Highlights DOM node with given id or with the given JavaScript object wrapper. Either nodeId or
-- objectId must be specified.
-- | Parameters of the 'Overlay.highlightNode' command.
data POverlayHighlightNode = POverlayHighlightNode
{
-- | A descriptor for the highlight appearance.
pOverlayHighlightNodeHighlightConfig :: OverlayHighlightConfig,
-- | Identifier of the node to highlight.
pOverlayHighlightNodeNodeId :: Maybe DOMPageNetworkEmulationSecurity.DOMNodeId,
-- | Identifier of the backend node to highlight.
pOverlayHighlightNodeBackendNodeId :: Maybe DOMPageNetworkEmulationSecurity.DOMBackendNodeId,
-- | JavaScript object id of the node to be highlighted.
pOverlayHighlightNodeObjectId :: Maybe Runtime.RuntimeRemoteObjectId,
-- | Selectors to highlight relevant nodes.
pOverlayHighlightNodeSelector :: Maybe T.Text
}
deriving (Eq, Show)
pOverlayHighlightNode
{-
-- | A descriptor for the highlight appearance.
-}
:: OverlayHighlightConfig
-> POverlayHighlightNode
pOverlayHighlightNode
arg_pOverlayHighlightNodeHighlightConfig
= POverlayHighlightNode
arg_pOverlayHighlightNodeHighlightConfig
Nothing
Nothing
Nothing
Nothing
instance ToJSON POverlayHighlightNode where
toJSON p = A.object $ catMaybes [
("highlightConfig" A..=) <$> Just (pOverlayHighlightNodeHighlightConfig p),
("nodeId" A..=) <$> (pOverlayHighlightNodeNodeId p),
("backendNodeId" A..=) <$> (pOverlayHighlightNodeBackendNodeId p),
("objectId" A..=) <$> (pOverlayHighlightNodeObjectId p),
("selector" A..=) <$> (pOverlayHighlightNodeSelector p)
]
instance Command POverlayHighlightNode where
type CommandResponse POverlayHighlightNode = ()
commandName _ = "Overlay.highlightNode"
fromJSON = const . A.Success . const ()
-- | Highlights given quad. Coordinates are absolute with respect to the main frame viewport.
-- | Parameters of the 'Overlay.highlightQuad' command.
data POverlayHighlightQuad = POverlayHighlightQuad
{
-- | Quad to highlight
pOverlayHighlightQuadQuad :: DOMPageNetworkEmulationSecurity.DOMQuad,
-- | The highlight fill color (default: transparent).
pOverlayHighlightQuadColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA,
-- | The highlight outline color (default: transparent).
pOverlayHighlightQuadOutlineColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA
}
deriving (Eq, Show)
pOverlayHighlightQuad
{-
-- | Quad to highlight
-}
:: DOMPageNetworkEmulationSecurity.DOMQuad
-> POverlayHighlightQuad
pOverlayHighlightQuad
arg_pOverlayHighlightQuadQuad
= POverlayHighlightQuad
arg_pOverlayHighlightQuadQuad
Nothing
Nothing
instance ToJSON POverlayHighlightQuad where
toJSON p = A.object $ catMaybes [
("quad" A..=) <$> Just (pOverlayHighlightQuadQuad p),
("color" A..=) <$> (pOverlayHighlightQuadColor p),
("outlineColor" A..=) <$> (pOverlayHighlightQuadOutlineColor p)
]
instance Command POverlayHighlightQuad where
type CommandResponse POverlayHighlightQuad = ()
commandName _ = "Overlay.highlightQuad"
fromJSON = const . A.Success . const ()
-- | Highlights given rectangle. Coordinates are absolute with respect to the main frame viewport.
-- | Parameters of the 'Overlay.highlightRect' command.
data POverlayHighlightRect = POverlayHighlightRect
{
-- | X coordinate
pOverlayHighlightRectX :: Int,
-- | Y coordinate
pOverlayHighlightRectY :: Int,
-- | Rectangle width
pOverlayHighlightRectWidth :: Int,
-- | Rectangle height
pOverlayHighlightRectHeight :: Int,
-- | The highlight fill color (default: transparent).
pOverlayHighlightRectColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA,
-- | The highlight outline color (default: transparent).
pOverlayHighlightRectOutlineColor :: Maybe DOMPageNetworkEmulationSecurity.DOMRGBA
}
deriving (Eq, Show)
pOverlayHighlightRect
{-
-- | X coordinate
-}
:: Int
{-
-- | Y coordinate
-}
-> Int
{-
-- | Rectangle width
-}
-> Int
{-
-- | Rectangle height
-}
-> Int
-> POverlayHighlightRect
pOverlayHighlightRect
arg_pOverlayHighlightRectX
arg_pOverlayHighlightRectY
arg_pOverlayHighlightRectWidth
arg_pOverlayHighlightRectHeight
= POverlayHighlightRect
arg_pOverlayHighlightRectX
arg_pOverlayHighlightRectY
arg_pOverlayHighlightRectWidth
arg_pOverlayHighlightRectHeight
Nothing
Nothing
instance ToJSON POverlayHighlightRect where
toJSON p = A.object $ catMaybes [
("x" A..=) <$> Just (pOverlayHighlightRectX p),
("y" A..=) <$> Just (pOverlayHighlightRectY p),
("width" A..=) <$> Just (pOverlayHighlightRectWidth p),
("height" A..=) <$> Just (pOverlayHighlightRectHeight p),
("color" A..=) <$> (pOverlayHighlightRectColor p),
("outlineColor" A..=) <$> (pOverlayHighlightRectOutlineColor p)
]
instance Command POverlayHighlightRect where
type CommandResponse POverlayHighlightRect = ()
commandName _ = "Overlay.highlightRect"
fromJSON = const . A.Success . const ()
-- | Highlights the source order of the children of the DOM node with given id or with the given
-- JavaScript object wrapper. Either nodeId or objectId must be specified.
-- | Parameters of the 'Overlay.highlightSourceOrder' command.
data POverlayHighlightSourceOrder = POverlayHighlightSourceOrder
{
-- | A descriptor for the appearance of the overlay drawing.
pOverlayHighlightSourceOrderSourceOrderConfig :: OverlaySourceOrderConfig,
-- | Identifier of the node to highlight.
pOverlayHighlightSourceOrderNodeId :: Maybe DOMPageNetworkEmulationSecurity.DOMNodeId,
-- | Identifier of the backend node to highlight.
pOverlayHighlightSourceOrderBackendNodeId :: Maybe DOMPageNetworkEmulationSecurity.DOMBackendNodeId,
-- | JavaScript object id of the node to be highlighted.
pOverlayHighlightSourceOrderObjectId :: Maybe Runtime.RuntimeRemoteObjectId
}
deriving (Eq, Show)
pOverlayHighlightSourceOrder
{-
-- | A descriptor for the appearance of the overlay drawing.
-}
:: OverlaySourceOrderConfig
-> POverlayHighlightSourceOrder
pOverlayHighlightSourceOrder
arg_pOverlayHighlightSourceOrderSourceOrderConfig
= POverlayHighlightSourceOrder
arg_pOverlayHighlightSourceOrderSourceOrderConfig
Nothing
Nothing
Nothing
instance ToJSON POverlayHighlightSourceOrder where
toJSON p = A.object $ catMaybes [
("sourceOrderConfig" A..=) <$> Just (pOverlayHighlightSourceOrderSourceOrderConfig p),
("nodeId" A..=) <$> (pOverlayHighlightSourceOrderNodeId p),
("backendNodeId" A..=) <$> (pOverlayHighlightSourceOrderBackendNodeId p),
("objectId" A..=) <$> (pOverlayHighlightSourceOrderObjectId p)
]
instance Command POverlayHighlightSourceOrder where
type CommandResponse POverlayHighlightSourceOrder = ()
commandName _ = "Overlay.highlightSourceOrder"
fromJSON = const . A.Success . const ()
-- | Enters the 'inspect' mode. In this mode, elements that user is hovering over are highlighted.
-- Backend then generates 'inspectNodeRequested' event upon element selection.
-- | Parameters of the 'Overlay.setInspectMode' command.
data POverlaySetInspectMode = POverlaySetInspectMode
{
-- | Set an inspection mode.
pOverlaySetInspectModeMode :: OverlayInspectMode,
-- | A descriptor for the highlight appearance of hovered-over nodes. May be omitted if `enabled
-- == false`.
pOverlaySetInspectModeHighlightConfig :: Maybe OverlayHighlightConfig
}
deriving (Eq, Show)
pOverlaySetInspectMode
{-
-- | Set an inspection mode.
-}
:: OverlayInspectMode
-> POverlaySetInspectMode
pOverlaySetInspectMode
arg_pOverlaySetInspectModeMode
= POverlaySetInspectMode
arg_pOverlaySetInspectModeMode
Nothing
instance ToJSON POverlaySetInspectMode where
toJSON p = A.object $ catMaybes [
("mode" A..=) <$> Just (pOverlaySetInspectModeMode p),
("highlightConfig" A..=) <$> (pOverlaySetInspectModeHighlightConfig p)
]
instance Command POverlaySetInspectMode where
type CommandResponse POverlaySetInspectMode = ()
commandName _ = "Overlay.setInspectMode"
fromJSON = const . A.Success . const ()
-- | Highlights owner element of all frames detected to be ads.
-- | Parameters of the 'Overlay.setShowAdHighlights' command.
data POverlaySetShowAdHighlights = POverlaySetShowAdHighlights
{
-- | True for showing ad highlights
pOverlaySetShowAdHighlightsShow :: Bool
}
deriving (Eq, Show)
pOverlaySetShowAdHighlights
{-
-- | True for showing ad highlights
-}
:: Bool
-> POverlaySetShowAdHighlights
pOverlaySetShowAdHighlights
arg_pOverlaySetShowAdHighlightsShow
= POverlaySetShowAdHighlights
arg_pOverlaySetShowAdHighlightsShow
instance ToJSON POverlaySetShowAdHighlights where
toJSON p = A.object $ catMaybes [
("show" A..=) <$> Just (pOverlaySetShowAdHighlightsShow p)
]
instance Command POverlaySetShowAdHighlights where
type CommandResponse POverlaySetShowAdHighlights = ()
commandName _ = "Overlay.setShowAdHighlights"
fromJSON = const . A.Success . const ()
-- | Parameters of the 'Overlay.setPausedInDebuggerMessage' command.
data POverlaySetPausedInDebuggerMessage = POverlaySetPausedInDebuggerMessage
{
-- | The message to display, also triggers resume and step over controls.
pOverlaySetPausedInDebuggerMessageMessage :: Maybe T.Text
}
deriving (Eq, Show)
pOverlaySetPausedInDebuggerMessage
:: POverlaySetPausedInDebuggerMessage
pOverlaySetPausedInDebuggerMessage
= POverlaySetPausedInDebuggerMessage
Nothing
instance ToJSON POverlaySetPausedInDebuggerMessage where
toJSON p = A.object $ catMaybes [
("message" A..=) <$> (pOverlaySetPausedInDebuggerMessageMessage p)
]
instance Command POverlaySetPausedInDebuggerMessage where
type CommandResponse POverlaySetPausedInDebuggerMessage = ()
commandName _ = "Overlay.setPausedInDebuggerMessage"
fromJSON = const . A.Success . const ()
-- | Requests that backend shows debug borders on layers
-- | Parameters of the 'Overlay.setShowDebugBorders' command.
data POverlaySetShowDebugBorders = POverlaySetShowDebugBorders
{
-- | True for showing debug borders
pOverlaySetShowDebugBordersShow :: Bool
}
deriving (Eq, Show)
pOverlaySetShowDebugBorders
{-
-- | True for showing debug borders
-}
:: Bool
-> POverlaySetShowDebugBorders
pOverlaySetShowDebugBorders
arg_pOverlaySetShowDebugBordersShow
= POverlaySetShowDebugBorders
arg_pOverlaySetShowDebugBordersShow
instance ToJSON POverlaySetShowDebugBorders where
toJSON p = A.object $ catMaybes [
("show" A..=) <$> Just (pOverlaySetShowDebugBordersShow p)
]
instance Command POverlaySetShowDebugBorders where
type CommandResponse POverlaySetShowDebugBorders = ()
commandName _ = "Overlay.setShowDebugBorders"
fromJSON = const . A.Success . const ()
-- | Requests that backend shows the FPS counter
-- | Parameters of the 'Overlay.setShowFPSCounter' command.
data POverlaySetShowFPSCounter = POverlaySetShowFPSCounter
{
-- | True for showing the FPS counter
pOverlaySetShowFPSCounterShow :: Bool
}
deriving (Eq, Show)
pOverlaySetShowFPSCounter
{-
-- | True for showing the FPS counter
-}
:: Bool
-> POverlaySetShowFPSCounter
pOverlaySetShowFPSCounter
arg_pOverlaySetShowFPSCounterShow
= POverlaySetShowFPSCounter
arg_pOverlaySetShowFPSCounterShow
instance ToJSON POverlaySetShowFPSCounter where
toJSON p = A.object $ catMaybes [
("show" A..=) <$> Just (pOverlaySetShowFPSCounterShow p)
]
instance Command POverlaySetShowFPSCounter where
type CommandResponse POverlaySetShowFPSCounter = ()
commandName _ = "Overlay.setShowFPSCounter"
fromJSON = const . A.Success . const ()
-- | Highlight multiple elements with the CSS Grid overlay.
-- | Parameters of the 'Overlay.setShowGridOverlays' command.
data POverlaySetShowGridOverlays = POverlaySetShowGridOverlays
{
-- | An array of node identifiers and descriptors for the highlight appearance.
pOverlaySetShowGridOverlaysGridNodeHighlightConfigs :: [OverlayGridNodeHighlightConfig]
}
deriving (Eq, Show)
pOverlaySetShowGridOverlays
{-
-- | An array of node identifiers and descriptors for the highlight appearance.
-}
:: [OverlayGridNodeHighlightConfig]
-> POverlaySetShowGridOverlays
pOverlaySetShowGridOverlays
arg_pOverlaySetShowGridOverlaysGridNodeHighlightConfigs
= POverlaySetShowGridOverlays
arg_pOverlaySetShowGridOverlaysGridNodeHighlightConfigs
instance ToJSON POverlaySetShowGridOverlays where
toJSON p = A.object $ catMaybes [
("gridNodeHighlightConfigs" A..=) <$> Just (pOverlaySetShowGridOverlaysGridNodeHighlightConfigs p)
]
instance Command POverlaySetShowGridOverlays where
type CommandResponse POverlaySetShowGridOverlays = ()
commandName _ = "Overlay.setShowGridOverlays"
fromJSON = const . A.Success . const ()
-- | Parameters of the 'Overlay.setShowFlexOverlays' command.
data POverlaySetShowFlexOverlays = POverlaySetShowFlexOverlays
{
-- | An array of node identifiers and descriptors for the highlight appearance.
pOverlaySetShowFlexOverlaysFlexNodeHighlightConfigs :: [OverlayFlexNodeHighlightConfig]
}
deriving (Eq, Show)
pOverlaySetShowFlexOverlays
{-
-- | An array of node identifiers and descriptors for the highlight appearance.
-}
:: [OverlayFlexNodeHighlightConfig]
-> POverlaySetShowFlexOverlays
pOverlaySetShowFlexOverlays
arg_pOverlaySetShowFlexOverlaysFlexNodeHighlightConfigs
= POverlaySetShowFlexOverlays
arg_pOverlaySetShowFlexOverlaysFlexNodeHighlightConfigs
instance ToJSON POverlaySetShowFlexOverlays where
toJSON p = A.object $ catMaybes [
("flexNodeHighlightConfigs" A..=) <$> Just (pOverlaySetShowFlexOverlaysFlexNodeHighlightConfigs p)
]
instance Command POverlaySetShowFlexOverlays where
type CommandResponse POverlaySetShowFlexOverlays = ()
commandName _ = "Overlay.setShowFlexOverlays"
fromJSON = const . A.Success . const ()
-- | Parameters of the 'Overlay.setShowScrollSnapOverlays' command.
data POverlaySetShowScrollSnapOverlays = POverlaySetShowScrollSnapOverlays
{
-- | An array of node identifiers and descriptors for the highlight appearance.
pOverlaySetShowScrollSnapOverlaysScrollSnapHighlightConfigs :: [OverlayScrollSnapHighlightConfig]
}
deriving (Eq, Show)
pOverlaySetShowScrollSnapOverlays
{-
-- | An array of node identifiers and descriptors for the highlight appearance.
-}
:: [OverlayScrollSnapHighlightConfig]
-> POverlaySetShowScrollSnapOverlays
pOverlaySetShowScrollSnapOverlays
arg_pOverlaySetShowScrollSnapOverlaysScrollSnapHighlightConfigs
= POverlaySetShowScrollSnapOverlays
arg_pOverlaySetShowScrollSnapOverlaysScrollSnapHighlightConfigs
instance ToJSON POverlaySetShowScrollSnapOverlays where
toJSON p = A.object $ catMaybes [
("scrollSnapHighlightConfigs" A..=) <$> Just (pOverlaySetShowScrollSnapOverlaysScrollSnapHighlightConfigs p)
]
instance Command POverlaySetShowScrollSnapOverlays where
type CommandResponse POverlaySetShowScrollSnapOverlays = ()
commandName _ = "Overlay.setShowScrollSnapOverlays"
fromJSON = const . A.Success . const ()
-- | Parameters of the 'Overlay.setShowContainerQueryOverlays' command.
data POverlaySetShowContainerQueryOverlays = POverlaySetShowContainerQueryOverlays
{
-- | An array of node identifiers and descriptors for the highlight appearance.
pOverlaySetShowContainerQueryOverlaysContainerQueryHighlightConfigs :: [OverlayContainerQueryHighlightConfig]
}
deriving (Eq, Show)
pOverlaySetShowContainerQueryOverlays
{-
-- | An array of node identifiers and descriptors for the highlight appearance.
-}
:: [OverlayContainerQueryHighlightConfig]
-> POverlaySetShowContainerQueryOverlays
pOverlaySetShowContainerQueryOverlays
arg_pOverlaySetShowContainerQueryOverlaysContainerQueryHighlightConfigs
= POverlaySetShowContainerQueryOverlays
arg_pOverlaySetShowContainerQueryOverlaysContainerQueryHighlightConfigs
instance ToJSON POverlaySetShowContainerQueryOverlays where
toJSON p = A.object $ catMaybes [
("containerQueryHighlightConfigs" A..=) <$> Just (pOverlaySetShowContainerQueryOverlaysContainerQueryHighlightConfigs p)
]
instance Command POverlaySetShowContainerQueryOverlays where
type CommandResponse POverlaySetShowContainerQueryOverlays = ()
commandName _ = "Overlay.setShowContainerQueryOverlays"
fromJSON = const . A.Success . const ()
-- | Requests that backend shows paint rectangles
-- | Parameters of the 'Overlay.setShowPaintRects' command.
data POverlaySetShowPaintRects = POverlaySetShowPaintRects
{
-- | True for showing paint rectangles
pOverlaySetShowPaintRectsResult :: Bool
}
deriving (Eq, Show)
pOverlaySetShowPaintRects
{-
-- | True for showing paint rectangles
-}
:: Bool
-> POverlaySetShowPaintRects
pOverlaySetShowPaintRects
arg_pOverlaySetShowPaintRectsResult
= POverlaySetShowPaintRects
arg_pOverlaySetShowPaintRectsResult
instance ToJSON POverlaySetShowPaintRects where
toJSON p = A.object $ catMaybes [
("result" A..=) <$> Just (pOverlaySetShowPaintRectsResult p)
]
instance Command POverlaySetShowPaintRects where
type CommandResponse POverlaySetShowPaintRects = ()
commandName _ = "Overlay.setShowPaintRects"
fromJSON = const . A.Success . const ()
-- | Requests that backend shows layout shift regions
-- | Parameters of the 'Overlay.setShowLayoutShiftRegions' command.
data POverlaySetShowLayoutShiftRegions = POverlaySetShowLayoutShiftRegions
{
-- | True for showing layout shift regions
pOverlaySetShowLayoutShiftRegionsResult :: Bool
}
deriving (Eq, Show)
pOverlaySetShowLayoutShiftRegions
{-
-- | True for showing layout shift regions
-}
:: Bool
-> POverlaySetShowLayoutShiftRegions
pOverlaySetShowLayoutShiftRegions
arg_pOverlaySetShowLayoutShiftRegionsResult
= POverlaySetShowLayoutShiftRegions
arg_pOverlaySetShowLayoutShiftRegionsResult
instance ToJSON POverlaySetShowLayoutShiftRegions where
toJSON p = A.object $ catMaybes [
("result" A..=) <$> Just (pOverlaySetShowLayoutShiftRegionsResult p)
]
instance Command POverlaySetShowLayoutShiftRegions where
type CommandResponse POverlaySetShowLayoutShiftRegions = ()
commandName _ = "Overlay.setShowLayoutShiftRegions"
fromJSON = const . A.Success . const ()
-- | Requests that backend shows scroll bottleneck rects
-- | Parameters of the 'Overlay.setShowScrollBottleneckRects' command.
data POverlaySetShowScrollBottleneckRects = POverlaySetShowScrollBottleneckRects
{
-- | True for showing scroll bottleneck rects
pOverlaySetShowScrollBottleneckRectsShow :: Bool
}
deriving (Eq, Show)
pOverlaySetShowScrollBottleneckRects
{-
-- | True for showing scroll bottleneck rects
-}
:: Bool
-> POverlaySetShowScrollBottleneckRects
pOverlaySetShowScrollBottleneckRects
arg_pOverlaySetShowScrollBottleneckRectsShow
= POverlaySetShowScrollBottleneckRects
arg_pOverlaySetShowScrollBottleneckRectsShow
instance ToJSON POverlaySetShowScrollBottleneckRects where
toJSON p = A.object $ catMaybes [
("show" A..=) <$> Just (pOverlaySetShowScrollBottleneckRectsShow p)
]
instance Command POverlaySetShowScrollBottleneckRects where
type CommandResponse POverlaySetShowScrollBottleneckRects = ()
commandName _ = "Overlay.setShowScrollBottleneckRects"
fromJSON = const . A.Success . const ()
-- | Request that backend shows an overlay with web vital metrics.
-- | Parameters of the 'Overlay.setShowWebVitals' command.
data POverlaySetShowWebVitals = POverlaySetShowWebVitals
{
pOverlaySetShowWebVitalsShow :: Bool
}
deriving (Eq, Show)
pOverlaySetShowWebVitals
:: Bool
-> POverlaySetShowWebVitals
pOverlaySetShowWebVitals
arg_pOverlaySetShowWebVitalsShow
= POverlaySetShowWebVitals
arg_pOverlaySetShowWebVitalsShow
instance ToJSON POverlaySetShowWebVitals where
toJSON p = A.object $ catMaybes [
("show" A..=) <$> Just (pOverlaySetShowWebVitalsShow p)
]
instance Command POverlaySetShowWebVitals where
type CommandResponse POverlaySetShowWebVitals = ()
commandName _ = "Overlay.setShowWebVitals"
fromJSON = const . A.Success . const ()
-- | Paints viewport size upon main frame resize.
-- | Parameters of the 'Overlay.setShowViewportSizeOnResize' command.
data POverlaySetShowViewportSizeOnResize = POverlaySetShowViewportSizeOnResize
{
-- | Whether to paint size or not.
pOverlaySetShowViewportSizeOnResizeShow :: Bool
}
deriving (Eq, Show)
pOverlaySetShowViewportSizeOnResize
{-
-- | Whether to paint size or not.
-}
:: Bool
-> POverlaySetShowViewportSizeOnResize
pOverlaySetShowViewportSizeOnResize
arg_pOverlaySetShowViewportSizeOnResizeShow
= POverlaySetShowViewportSizeOnResize
arg_pOverlaySetShowViewportSizeOnResizeShow
instance ToJSON POverlaySetShowViewportSizeOnResize where
toJSON p = A.object $ catMaybes [
("show" A..=) <$> Just (pOverlaySetShowViewportSizeOnResizeShow p)
]
instance Command POverlaySetShowViewportSizeOnResize where
type CommandResponse POverlaySetShowViewportSizeOnResize = ()
commandName _ = "Overlay.setShowViewportSizeOnResize"
fromJSON = const . A.Success . const ()
-- | Add a dual screen device hinge
-- | Parameters of the 'Overlay.setShowHinge' command.
data POverlaySetShowHinge = POverlaySetShowHinge
{
-- | hinge data, null means hideHinge
pOverlaySetShowHingeHingeConfig :: Maybe OverlayHingeConfig
}
deriving (Eq, Show)
pOverlaySetShowHinge
:: POverlaySetShowHinge
pOverlaySetShowHinge
= POverlaySetShowHinge
Nothing
instance ToJSON POverlaySetShowHinge where
toJSON p = A.object $ catMaybes [
("hingeConfig" A..=) <$> (pOverlaySetShowHingeHingeConfig p)
]
instance Command POverlaySetShowHinge where
type CommandResponse POverlaySetShowHinge = ()
commandName _ = "Overlay.setShowHinge"
fromJSON = const . A.Success . const ()
-- | Show elements in isolation mode with overlays.
-- | Parameters of the 'Overlay.setShowIsolatedElements' command.
data POverlaySetShowIsolatedElements = POverlaySetShowIsolatedElements
{
-- | An array of node identifiers and descriptors for the highlight appearance.
pOverlaySetShowIsolatedElementsIsolatedElementHighlightConfigs :: [OverlayIsolatedElementHighlightConfig]
}
deriving (Eq, Show)
pOverlaySetShowIsolatedElements
{-
-- | An array of node identifiers and descriptors for the highlight appearance.
-}
:: [OverlayIsolatedElementHighlightConfig]
-> POverlaySetShowIsolatedElements
pOverlaySetShowIsolatedElements
arg_pOverlaySetShowIsolatedElementsIsolatedElementHighlightConfigs
= POverlaySetShowIsolatedElements
arg_pOverlaySetShowIsolatedElementsIsolatedElementHighlightConfigs
instance ToJSON POverlaySetShowIsolatedElements where
toJSON p = A.object $ catMaybes [
("isolatedElementHighlightConfigs" A..=) <$> Just (pOverlaySetShowIsolatedElementsIsolatedElementHighlightConfigs p)
]
instance Command POverlaySetShowIsolatedElements where
type CommandResponse POverlaySetShowIsolatedElements = ()
commandName _ = "Overlay.setShowIsolatedElements"
fromJSON = const . A.Success . const ()