chromedeveloperprotocol-client 0.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- cdp/__init__.py +4 -0
- cdp/domains.py +582 -0
- cdp/generator/__init__.py +3 -0
- cdp/generator/client_generator.py +246 -0
- cdp/generator/constant.py +4 -0
- cdp/generator/domain_generator.py +149 -0
- cdp/generator/event_generator.py +202 -0
- cdp/generator/method_generator.py +215 -0
- cdp/generator/service.py +153 -0
- cdp/generator/type_generator.py +231 -0
- cdp/protocol/__init__.py +0 -0
- cdp/protocol/accessibility/__init__.py +0 -0
- cdp/protocol/accessibility/events/__init__.py +0 -0
- cdp/protocol/accessibility/events/service.py +37 -0
- cdp/protocol/accessibility/events/types.py +14 -0
- cdp/protocol/accessibility/methods/__init__.py +0 -0
- cdp/protocol/accessibility/methods/service.py +109 -0
- cdp/protocol/accessibility/methods/types.py +70 -0
- cdp/protocol/accessibility/service.py +21 -0
- cdp/protocol/accessibility/types.py +89 -0
- cdp/protocol/animation/__init__.py +0 -0
- cdp/protocol/animation/events/__init__.py +0 -0
- cdp/protocol/animation/events/service.py +53 -0
- cdp/protocol/animation/events/types.py +20 -0
- cdp/protocol/animation/methods/__init__.py +0 -0
- cdp/protocol/animation/methods/service.py +131 -0
- cdp/protocol/animation/methods/types.py +52 -0
- cdp/protocol/animation/service.py +21 -0
- cdp/protocol/animation/types.py +79 -0
- cdp/protocol/audits/__init__.py +0 -0
- cdp/protocol/audits/events/__init__.py +0 -0
- cdp/protocol/audits/events/service.py +29 -0
- cdp/protocol/audits/events/types.py +10 -0
- cdp/protocol/audits/methods/__init__.py +0 -0
- cdp/protocol/audits/methods/service.py +76 -0
- cdp/protocol/audits/methods/types.py +36 -0
- cdp/protocol/audits/service.py +21 -0
- cdp/protocol/audits/types.py +293 -0
- cdp/protocol/autofill/__init__.py +0 -0
- cdp/protocol/autofill/events/__init__.py +0 -0
- cdp/protocol/autofill/events/service.py +29 -0
- cdp/protocol/autofill/events/types.py +14 -0
- cdp/protocol/autofill/methods/__init__.py +0 -0
- cdp/protocol/autofill/methods/service.py +65 -0
- cdp/protocol/autofill/methods/types.py +22 -0
- cdp/protocol/autofill/service.py +21 -0
- cdp/protocol/autofill/types.py +54 -0
- cdp/protocol/background_service/__init__.py +0 -0
- cdp/protocol/background_service/events/__init__.py +0 -0
- cdp/protocol/background_service/events/service.py +37 -0
- cdp/protocol/background_service/events/types.py +14 -0
- cdp/protocol/background_service/methods/__init__.py +0 -0
- cdp/protocol/background_service/methods/service.py +65 -0
- cdp/protocol/background_service/methods/types.py +17 -0
- cdp/protocol/background_service/service.py +21 -0
- cdp/protocol/background_service/types.py +32 -0
- cdp/protocol/bluetooth_emulation/__init__.py +0 -0
- cdp/protocol/bluetooth_emulation/events/__init__.py +0 -0
- cdp/protocol/bluetooth_emulation/events/service.py +45 -0
- cdp/protocol/bluetooth_emulation/events/types.py +23 -0
- cdp/protocol/bluetooth_emulation/methods/__init__.py +0 -0
- cdp/protocol/bluetooth_emulation/methods/service.py +186 -0
- cdp/protocol/bluetooth_emulation/methods/types.py +81 -0
- cdp/protocol/bluetooth_emulation/service.py +21 -0
- cdp/protocol/bluetooth_emulation/types.py +45 -0
- cdp/protocol/browser/__init__.py +0 -0
- cdp/protocol/browser/events/__init__.py +0 -0
- cdp/protocol/browser/events/service.py +37 -0
- cdp/protocol/browser/events/types.py +28 -0
- cdp/protocol/browser/methods/__init__.py +0 -0
- cdp/protocol/browser/methods/service.py +230 -0
- cdp/protocol/browser/methods/types.py +126 -0
- cdp/protocol/browser/service.py +21 -0
- cdp/protocol/browser/types.py +57 -0
- cdp/protocol/cache_storage/__init__.py +0 -0
- cdp/protocol/cache_storage/events/__init__.py +0 -0
- cdp/protocol/cache_storage/events/service.py +20 -0
- cdp/protocol/cache_storage/events/types.py +3 -0
- cdp/protocol/cache_storage/methods/__init__.py +0 -0
- cdp/protocol/cache_storage/methods/service.py +76 -0
- cdp/protocol/cache_storage/methods/types.py +57 -0
- cdp/protocol/cache_storage/service.py +21 -0
- cdp/protocol/cache_storage/types.py +49 -0
- cdp/protocol/cast/__init__.py +0 -0
- cdp/protocol/cast/events/__init__.py +0 -0
- cdp/protocol/cast/events/service.py +37 -0
- cdp/protocol/cast/events/types.py +12 -0
- cdp/protocol/cast/methods/__init__.py +0 -0
- cdp/protocol/cast/methods/service.py +87 -0
- cdp/protocol/cast/methods/types.py +15 -0
- cdp/protocol/cast/service.py +21 -0
- cdp/protocol/cast/types.py +9 -0
- cdp/protocol/css/__init__.py +0 -0
- cdp/protocol/css/events/__init__.py +0 -0
- cdp/protocol/css/events/service.py +69 -0
- cdp/protocol/css/events/types.py +27 -0
- cdp/protocol/css/methods/__init__.py +0 -0
- cdp/protocol/css/methods/service.py +428 -0
- cdp/protocol/css/methods/types.py +278 -0
- cdp/protocol/css/service.py +21 -0
- cdp/protocol/css/types.py +451 -0
- cdp/protocol/debugger/__init__.py +0 -0
- cdp/protocol/debugger/events/__init__.py +0 -0
- cdp/protocol/debugger/events/service.py +53 -0
- cdp/protocol/debugger/events/types.py +112 -0
- cdp/protocol/debugger/methods/__init__.py +0 -0
- cdp/protocol/debugger/methods/service.py +362 -0
- cdp/protocol/debugger/methods/types.py +250 -0
- cdp/protocol/debugger/service.py +21 -0
- cdp/protocol/debugger/types.py +91 -0
- cdp/protocol/device_access/__init__.py +0 -0
- cdp/protocol/device_access/events/__init__.py +0 -0
- cdp/protocol/device_access/events/service.py +29 -0
- cdp/protocol/device_access/events/types.py +12 -0
- cdp/protocol/device_access/methods/__init__.py +0 -0
- cdp/protocol/device_access/methods/service.py +65 -0
- cdp/protocol/device_access/methods/types.py +16 -0
- cdp/protocol/device_access/service.py +21 -0
- cdp/protocol/device_access/types.py +13 -0
- cdp/protocol/device_orientation/__init__.py +0 -0
- cdp/protocol/device_orientation/events/__init__.py +0 -0
- cdp/protocol/device_orientation/events/service.py +20 -0
- cdp/protocol/device_orientation/events/types.py +3 -0
- cdp/protocol/device_orientation/methods/__init__.py +0 -0
- cdp/protocol/device_orientation/methods/service.py +43 -0
- cdp/protocol/device_orientation/methods/types.py +12 -0
- cdp/protocol/device_orientation/service.py +21 -0
- cdp/protocol/device_orientation/types.py +3 -0
- cdp/protocol/dom/__init__.py +0 -0
- cdp/protocol/dom/events/__init__.py +0 -0
- cdp/protocol/dom/events/service.py +165 -0
- cdp/protocol/dom/events/types.py +97 -0
- cdp/protocol/dom/methods/__init__.py +0 -0
- cdp/protocol/dom/methods/service.py +593 -0
- cdp/protocol/dom/methods/types.py +384 -0
- cdp/protocol/dom/service.py +21 -0
- cdp/protocol/dom/types.py +151 -0
- cdp/protocol/dom_debugger/__init__.py +0 -0
- cdp/protocol/dom_debugger/events/__init__.py +0 -0
- cdp/protocol/dom_debugger/events/service.py +20 -0
- cdp/protocol/dom_debugger/events/types.py +3 -0
- cdp/protocol/dom_debugger/methods/__init__.py +0 -0
- cdp/protocol/dom_debugger/methods/service.py +109 -0
- cdp/protocol/dom_debugger/methods/types.py +51 -0
- cdp/protocol/dom_debugger/service.py +21 -0
- cdp/protocol/dom_debugger/types.py +36 -0
- cdp/protocol/dom_snapshot/__init__.py +0 -0
- cdp/protocol/dom_snapshot/events/__init__.py +0 -0
- cdp/protocol/dom_snapshot/events/service.py +20 -0
- cdp/protocol/dom_snapshot/events/types.py +3 -0
- cdp/protocol/dom_snapshot/methods/__init__.py +0 -0
- cdp/protocol/dom_snapshot/methods/service.py +54 -0
- cdp/protocol/dom_snapshot/methods/types.py +28 -0
- cdp/protocol/dom_snapshot/service.py +21 -0
- cdp/protocol/dom_snapshot/types.py +220 -0
- cdp/protocol/dom_storage/__init__.py +0 -0
- cdp/protocol/dom_storage/events/__init__.py +0 -0
- cdp/protocol/dom_storage/events/service.py +53 -0
- cdp/protocol/dom_storage/events/types.py +22 -0
- cdp/protocol/dom_storage/methods/__init__.py +0 -0
- cdp/protocol/dom_storage/methods/service.py +87 -0
- cdp/protocol/dom_storage/methods/types.py +27 -0
- cdp/protocol/dom_storage/service.py +21 -0
- cdp/protocol/dom_storage/types.py +15 -0
- cdp/protocol/emulation/__init__.py +0 -0
- cdp/protocol/emulation/events/__init__.py +0 -0
- cdp/protocol/emulation/events/service.py +29 -0
- cdp/protocol/emulation/events/types.py +6 -0
- cdp/protocol/emulation/methods/__init__.py +0 -0
- cdp/protocol/emulation/methods/service.py +494 -0
- cdp/protocol/emulation/methods/types.py +261 -0
- cdp/protocol/emulation/service.py +21 -0
- cdp/protocol/emulation/types.py +132 -0
- cdp/protocol/event_breakpoints/__init__.py +0 -0
- cdp/protocol/event_breakpoints/events/__init__.py +0 -0
- cdp/protocol/event_breakpoints/events/service.py +20 -0
- cdp/protocol/event_breakpoints/events/types.py +3 -0
- cdp/protocol/event_breakpoints/methods/__init__.py +0 -0
- cdp/protocol/event_breakpoints/methods/service.py +54 -0
- cdp/protocol/event_breakpoints/methods/types.py +10 -0
- cdp/protocol/event_breakpoints/service.py +21 -0
- cdp/protocol/event_breakpoints/types.py +3 -0
- cdp/protocol/extensions/__init__.py +0 -0
- cdp/protocol/extensions/events/__init__.py +0 -0
- cdp/protocol/extensions/events/service.py +20 -0
- cdp/protocol/extensions/events/types.py +3 -0
- cdp/protocol/extensions/methods/__init__.py +0 -0
- cdp/protocol/extensions/methods/service.py +87 -0
- cdp/protocol/extensions/methods/types.py +46 -0
- cdp/protocol/extensions/service.py +21 -0
- cdp/protocol/extensions/types.py +6 -0
- cdp/protocol/fed_cm/__init__.py +0 -0
- cdp/protocol/fed_cm/events/__init__.py +0 -0
- cdp/protocol/fed_cm/events/service.py +37 -0
- cdp/protocol/fed_cm/events/types.py +18 -0
- cdp/protocol/fed_cm/methods/__init__.py +0 -0
- cdp/protocol/fed_cm/methods/service.py +98 -0
- cdp/protocol/fed_cm/methods/types.py +26 -0
- cdp/protocol/fed_cm/service.py +21 -0
- cdp/protocol/fed_cm/types.py +25 -0
- cdp/protocol/fetch/__init__.py +0 -0
- cdp/protocol/fetch/events/__init__.py +0 -0
- cdp/protocol/fetch/events/service.py +37 -0
- cdp/protocol/fetch/events/types.py +47 -0
- cdp/protocol/fetch/methods/__init__.py +0 -0
- cdp/protocol/fetch/methods/service.py +120 -0
- cdp/protocol/fetch/methods/types.py +85 -0
- cdp/protocol/fetch/service.py +21 -0
- cdp/protocol/fetch/types.py +41 -0
- cdp/protocol/file_system/__init__.py +0 -0
- cdp/protocol/file_system/events/__init__.py +0 -0
- cdp/protocol/file_system/events/service.py +20 -0
- cdp/protocol/file_system/events/types.py +3 -0
- cdp/protocol/file_system/methods/__init__.py +0 -0
- cdp/protocol/file_system/methods/service.py +32 -0
- cdp/protocol/file_system/methods/types.py +14 -0
- cdp/protocol/file_system/service.py +21 -0
- cdp/protocol/file_system/types.py +28 -0
- cdp/protocol/headless_experimental/__init__.py +0 -0
- cdp/protocol/headless_experimental/events/__init__.py +0 -0
- cdp/protocol/headless_experimental/events/service.py +20 -0
- cdp/protocol/headless_experimental/events/types.py +3 -0
- cdp/protocol/headless_experimental/methods/__init__.py +0 -0
- cdp/protocol/headless_experimental/methods/service.py +32 -0
- cdp/protocol/headless_experimental/methods/types.py +22 -0
- cdp/protocol/headless_experimental/service.py +21 -0
- cdp/protocol/headless_experimental/types.py +12 -0
- cdp/protocol/heap_profiler/__init__.py +0 -0
- cdp/protocol/heap_profiler/events/__init__.py +0 -0
- cdp/protocol/heap_profiler/events/service.py +61 -0
- cdp/protocol/heap_profiler/events/types.py +18 -0
- cdp/protocol/heap_profiler/methods/__init__.py +0 -0
- cdp/protocol/heap_profiler/methods/service.py +153 -0
- cdp/protocol/heap_profiler/methods/types.py +73 -0
- cdp/protocol/heap_profiler/service.py +21 -0
- cdp/protocol/heap_profiler/types.py +32 -0
- cdp/protocol/indexed_db/__init__.py +0 -0
- cdp/protocol/indexed_db/events/__init__.py +0 -0
- cdp/protocol/indexed_db/events/service.py +20 -0
- cdp/protocol/indexed_db/events/types.py +3 -0
- cdp/protocol/indexed_db/methods/__init__.py +0 -0
- cdp/protocol/indexed_db/methods/service.py +120 -0
- cdp/protocol/indexed_db/methods/types.py +111 -0
- cdp/protocol/indexed_db/service.py +21 -0
- cdp/protocol/indexed_db/types.py +74 -0
- cdp/protocol/input/__init__.py +0 -0
- cdp/protocol/input/events/__init__.py +0 -0
- cdp/protocol/input/events/service.py +29 -0
- cdp/protocol/input/events/types.py +10 -0
- cdp/protocol/input/methods/__init__.py +0 -0
- cdp/protocol/input/methods/service.py +164 -0
- cdp/protocol/input/methods/types.py +181 -0
- cdp/protocol/input/service.py +21 -0
- cdp/protocol/input/types.py +46 -0
- cdp/protocol/inspector/__init__.py +0 -0
- cdp/protocol/inspector/events/__init__.py +0 -0
- cdp/protocol/inspector/events/service.py +53 -0
- cdp/protocol/inspector/events/types.py +13 -0
- cdp/protocol/inspector/methods/__init__.py +0 -0
- cdp/protocol/inspector/methods/service.py +43 -0
- cdp/protocol/inspector/methods/types.py +3 -0
- cdp/protocol/inspector/service.py +21 -0
- cdp/protocol/inspector/types.py +3 -0
- cdp/protocol/io/__init__.py +0 -0
- cdp/protocol/io/events/__init__.py +0 -0
- cdp/protocol/io/events/service.py +20 -0
- cdp/protocol/io/events/types.py +3 -0
- cdp/protocol/io/methods/__init__.py +0 -0
- cdp/protocol/io/methods/service.py +54 -0
- cdp/protocol/io/methods/types.py +33 -0
- cdp/protocol/io/service.py +21 -0
- cdp/protocol/io/types.py +6 -0
- cdp/protocol/layer_tree/__init__.py +0 -0
- cdp/protocol/layer_tree/events/__init__.py +0 -0
- cdp/protocol/layer_tree/events/service.py +37 -0
- cdp/protocol/layer_tree/events/types.py +18 -0
- cdp/protocol/layer_tree/methods/__init__.py +0 -0
- cdp/protocol/layer_tree/methods/service.py +120 -0
- cdp/protocol/layer_tree/methods/types.py +70 -0
- cdp/protocol/layer_tree/service.py +21 -0
- cdp/protocol/layer_tree/types.py +73 -0
- cdp/protocol/log/__init__.py +0 -0
- cdp/protocol/log/events/__init__.py +0 -0
- cdp/protocol/log/events/service.py +29 -0
- cdp/protocol/log/events/types.py +11 -0
- cdp/protocol/log/methods/__init__.py +0 -0
- cdp/protocol/log/methods/service.py +76 -0
- cdp/protocol/log/methods/types.py +14 -0
- cdp/protocol/log/service.py +21 -0
- cdp/protocol/log/types.py +40 -0
- cdp/protocol/media/__init__.py +0 -0
- cdp/protocol/media/events/__init__.py +0 -0
- cdp/protocol/media/events/service.py +61 -0
- cdp/protocol/media/events/types.py +27 -0
- cdp/protocol/media/methods/__init__.py +0 -0
- cdp/protocol/media/methods/service.py +43 -0
- cdp/protocol/media/methods/types.py +3 -0
- cdp/protocol/media/service.py +21 -0
- cdp/protocol/media/types.py +42 -0
- cdp/protocol/memory/__init__.py +0 -0
- cdp/protocol/memory/events/__init__.py +0 -0
- cdp/protocol/memory/events/service.py +20 -0
- cdp/protocol/memory/events/types.py +3 -0
- cdp/protocol/memory/methods/__init__.py +0 -0
- cdp/protocol/memory/methods/service.py +142 -0
- cdp/protocol/memory/methods/types.py +48 -0
- cdp/protocol/memory/service.py +21 -0
- cdp/protocol/memory/types.py +34 -0
- cdp/protocol/network/__init__.py +0 -0
- cdp/protocol/network/events/__init__.py +0 -0
- cdp/protocol/network/events/service.py +365 -0
- cdp/protocol/network/events/types.py +360 -0
- cdp/protocol/network/methods/__init__.py +0 -0
- cdp/protocol/network/methods/service.py +384 -0
- cdp/protocol/network/methods/types.py +252 -0
- cdp/protocol/network/service.py +21 -0
- cdp/protocol/network/types.py +691 -0
- cdp/protocol/overlay/__init__.py +0 -0
- cdp/protocol/overlay/events/__init__.py +0 -0
- cdp/protocol/overlay/events/service.py +53 -0
- cdp/protocol/overlay/events/types.py +20 -0
- cdp/protocol/overlay/methods/__init__.py +0 -0
- cdp/protocol/overlay/methods/service.py +307 -0
- cdp/protocol/overlay/methods/types.py +144 -0
- cdp/protocol/overlay/service.py +21 -0
- cdp/protocol/overlay/types.py +198 -0
- cdp/protocol/page/__init__.py +0 -0
- cdp/protocol/page/events/__init__.py +0 -0
- cdp/protocol/page/events/service.py +213 -0
- cdp/protocol/page/events/types.py +147 -0
- cdp/protocol/page/methods/__init__.py +0 -0
- cdp/protocol/page/methods/service.py +560 -0
- cdp/protocol/page/methods/types.py +346 -0
- cdp/protocol/page/service.py +21 -0
- cdp/protocol/page/types.py +379 -0
- cdp/protocol/performance/__init__.py +0 -0
- cdp/protocol/performance/events/__init__.py +0 -0
- cdp/protocol/performance/events/service.py +29 -0
- cdp/protocol/performance/events/types.py +13 -0
- cdp/protocol/performance/methods/__init__.py +0 -0
- cdp/protocol/performance/methods/service.py +54 -0
- cdp/protocol/performance/methods/types.py +18 -0
- cdp/protocol/performance/service.py +21 -0
- cdp/protocol/performance/types.py +10 -0
- cdp/protocol/performance_timeline/__init__.py +0 -0
- cdp/protocol/performance_timeline/events/__init__.py +0 -0
- cdp/protocol/performance_timeline/events/service.py +29 -0
- cdp/protocol/performance_timeline/events/types.py +10 -0
- cdp/protocol/performance_timeline/methods/__init__.py +0 -0
- cdp/protocol/performance_timeline/methods/service.py +32 -0
- cdp/protocol/performance_timeline/methods/types.py +7 -0
- cdp/protocol/performance_timeline/service.py +21 -0
- cdp/protocol/performance_timeline/types.py +46 -0
- cdp/protocol/preload/__init__.py +0 -0
- cdp/protocol/preload/events/__init__.py +0 -0
- cdp/protocol/preload/events/service.py +69 -0
- cdp/protocol/preload/events/types.py +49 -0
- cdp/protocol/preload/methods/__init__.py +0 -0
- cdp/protocol/preload/methods/service.py +43 -0
- cdp/protocol/preload/methods/types.py +3 -0
- cdp/protocol/preload/service.py +21 -0
- cdp/protocol/preload/types.py +56 -0
- cdp/protocol/profiler/__init__.py +0 -0
- cdp/protocol/profiler/events/__init__.py +0 -0
- cdp/protocol/profiler/events/service.py +45 -0
- cdp/protocol/profiler/events/types.py +30 -0
- cdp/protocol/profiler/methods/__init__.py +0 -0
- cdp/protocol/profiler/methods/service.py +120 -0
- cdp/protocol/profiler/methods/types.py +45 -0
- cdp/protocol/profiler/service.py +21 -0
- cdp/protocol/profiler/types.py +65 -0
- cdp/protocol/pwa/__init__.py +0 -0
- cdp/protocol/pwa/events/__init__.py +0 -0
- cdp/protocol/pwa/events/service.py +20 -0
- cdp/protocol/pwa/events/types.py +3 -0
- cdp/protocol/pwa/methods/__init__.py +0 -0
- cdp/protocol/pwa/methods/service.py +98 -0
- cdp/protocol/pwa/methods/types.py +43 -0
- cdp/protocol/pwa/service.py +21 -0
- cdp/protocol/pwa/types.py +15 -0
- cdp/protocol/py.typed +0 -0
- cdp/protocol/runtime/__init__.py +0 -0
- cdp/protocol/runtime/events/__init__.py +0 -0
- cdp/protocol/runtime/events/service.py +85 -0
- cdp/protocol/runtime/events/types.py +55 -0
- cdp/protocol/runtime/methods/__init__.py +0 -0
- cdp/protocol/runtime/methods/service.py +274 -0
- cdp/protocol/runtime/methods/types.py +226 -0
- cdp/protocol/runtime/service.py +21 -0
- cdp/protocol/runtime/types.py +194 -0
- cdp/protocol/security/__init__.py +0 -0
- cdp/protocol/security/events/__init__.py +0 -0
- cdp/protocol/security/events/service.py +29 -0
- cdp/protocol/security/events/types.py +11 -0
- cdp/protocol/security/methods/__init__.py +0 -0
- cdp/protocol/security/methods/service.py +54 -0
- cdp/protocol/security/methods/types.py +9 -0
- cdp/protocol/security/service.py +21 -0
- cdp/protocol/security/types.py +102 -0
- cdp/protocol/service_worker/__init__.py +0 -0
- cdp/protocol/service_worker/events/__init__.py +0 -0
- cdp/protocol/service_worker/events/service.py +45 -0
- cdp/protocol/service_worker/events/types.py +16 -0
- cdp/protocol/service_worker/methods/__init__.py +0 -0
- cdp/protocol/service_worker/methods/service.py +153 -0
- cdp/protocol/service_worker/methods/types.py +36 -0
- cdp/protocol/service_worker/service.py +21 -0
- cdp/protocol/service_worker/types.py +38 -0
- cdp/protocol/storage/__init__.py +0 -0
- cdp/protocol/storage/events/__init__.py +0 -0
- cdp/protocol/storage/events/service.py +141 -0
- cdp/protocol/storage/events/types.py +139 -0
- cdp/protocol/storage/methods/__init__.py +0 -0
- cdp/protocol/storage/methods/service.py +428 -0
- cdp/protocol/storage/methods/types.py +184 -0
- cdp/protocol/storage/service.py +21 -0
- cdp/protocol/storage/types.py +236 -0
- cdp/protocol/system_info/__init__.py +0 -0
- cdp/protocol/system_info/events/__init__.py +0 -0
- cdp/protocol/system_info/events/service.py +20 -0
- cdp/protocol/system_info/events/types.py +3 -0
- cdp/protocol/system_info/methods/__init__.py +0 -0
- cdp/protocol/system_info/methods/service.py +54 -0
- cdp/protocol/system_info/methods/types.py +27 -0
- cdp/protocol/system_info/service.py +21 -0
- cdp/protocol/system_info/types.py +71 -0
- cdp/protocol/target/__init__.py +0 -0
- cdp/protocol/target/events/__init__.py +0 -0
- cdp/protocol/target/events/service.py +77 -0
- cdp/protocol/target/events/types.py +38 -0
- cdp/protocol/target/methods/__init__.py +0 -0
- cdp/protocol/target/methods/service.py +219 -0
- cdp/protocol/target/methods/types.py +148 -0
- cdp/protocol/target/service.py +21 -0
- cdp/protocol/target/types.py +44 -0
- cdp/protocol/tethering/__init__.py +0 -0
- cdp/protocol/tethering/events/__init__.py +0 -0
- cdp/protocol/tethering/events/service.py +29 -0
- cdp/protocol/tethering/events/types.py +9 -0
- cdp/protocol/tethering/methods/__init__.py +0 -0
- cdp/protocol/tethering/methods/service.py +43 -0
- cdp/protocol/tethering/methods/types.py +10 -0
- cdp/protocol/tethering/service.py +21 -0
- cdp/protocol/tethering/types.py +3 -0
- cdp/protocol/tracing/__init__.py +0 -0
- cdp/protocol/tracing/events/__init__.py +0 -0
- cdp/protocol/tracing/events/service.py +45 -0
- cdp/protocol/tracing/events/types.py +28 -0
- cdp/protocol/tracing/methods/__init__.py +0 -0
- cdp/protocol/tracing/methods/service.py +87 -0
- cdp/protocol/tracing/methods/types.py +54 -0
- cdp/protocol/tracing/service.py +21 -0
- cdp/protocol/tracing/types.py +34 -0
- cdp/protocol/web_audio/__init__.py +0 -0
- cdp/protocol/web_audio/events/__init__.py +0 -0
- cdp/protocol/web_audio/events/service.py +125 -0
- cdp/protocol/web_audio/events/types.py +56 -0
- cdp/protocol/web_audio/methods/__init__.py +0 -0
- cdp/protocol/web_audio/methods/service.py +54 -0
- cdp/protocol/web_audio/methods/types.py +17 -0
- cdp/protocol/web_audio/service.py +21 -0
- cdp/protocol/web_audio/types.py +66 -0
- cdp/protocol/web_authn/__init__.py +0 -0
- cdp/protocol/web_authn/events/__init__.py +0 -0
- cdp/protocol/web_authn/events/service.py +53 -0
- cdp/protocol/web_authn/events/types.py +21 -0
- cdp/protocol/web_authn/methods/__init__.py +0 -0
- cdp/protocol/web_authn/methods/service.py +164 -0
- cdp/protocol/web_authn/methods/types.py +61 -0
- cdp/protocol/web_authn/service.py +21 -0
- cdp/protocol/web_authn/types.py +54 -0
- cdp/py.typed +0 -0
- cdp/service.py +184 -0
- chromedeveloperprotocol_client-0.1.0.dist-info/METADATA +15 -0
- chromedeveloperprotocol_client-0.1.0.dist-info/RECORD +476 -0
- chromedeveloperprotocol_client-0.1.0.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"""CDP Animation Types"""
|
|
2
|
+
|
|
3
|
+
from typing import TypedDict, NotRequired, Required, Literal, Any, Dict, Union, Optional, List, Set, Tuple
|
|
4
|
+
|
|
5
|
+
from typing import TYPE_CHECKING
|
|
6
|
+
if TYPE_CHECKING:
|
|
7
|
+
from cdp.protocol.dom.types import BackendNodeId
|
|
8
|
+
from cdp.protocol.dom.types import ScrollOrientation
|
|
9
|
+
|
|
10
|
+
class Animation(TypedDict, total=True):
|
|
11
|
+
"""Animation instance."""
|
|
12
|
+
id: 'str'
|
|
13
|
+
"""Animation's id."""
|
|
14
|
+
name: 'str'
|
|
15
|
+
"""Animation's name."""
|
|
16
|
+
pausedState: 'bool'
|
|
17
|
+
"""Animation's internal paused state."""
|
|
18
|
+
playState: 'str'
|
|
19
|
+
"""Animation's play state."""
|
|
20
|
+
playbackRate: 'float'
|
|
21
|
+
"""Animation's playback rate."""
|
|
22
|
+
startTime: 'float'
|
|
23
|
+
"""Animation's start time. Milliseconds for time based animations and percentage [0 - 100] for scroll driven animations (i.e. when viewOrScrollTimeline exists)."""
|
|
24
|
+
currentTime: 'float'
|
|
25
|
+
"""Animation's current time."""
|
|
26
|
+
type: 'Literal["CSSTransition", "CSSAnimation", "WebAnimation"]'
|
|
27
|
+
"""Animation type of Animation."""
|
|
28
|
+
source: NotRequired['AnimationEffect']
|
|
29
|
+
"""Animation's source animation node."""
|
|
30
|
+
cssId: NotRequired['str']
|
|
31
|
+
"""A unique ID for Animation representing the sources that triggered this CSS animation/transition."""
|
|
32
|
+
viewOrScrollTimeline: NotRequired['ViewOrScrollTimeline']
|
|
33
|
+
"""View or scroll timeline"""
|
|
34
|
+
class ViewOrScrollTimeline(TypedDict, total=True):
|
|
35
|
+
"""Timeline instance"""
|
|
36
|
+
axis: 'ScrollOrientation'
|
|
37
|
+
"""Orientation of the scroll"""
|
|
38
|
+
sourceNodeId: NotRequired['BackendNodeId']
|
|
39
|
+
"""Scroll container node"""
|
|
40
|
+
startOffset: NotRequired['float']
|
|
41
|
+
"""Represents the starting scroll position of the timeline as a length offset in pixels from scroll origin."""
|
|
42
|
+
endOffset: NotRequired['float']
|
|
43
|
+
"""Represents the ending scroll position of the timeline as a length offset in pixels from scroll origin."""
|
|
44
|
+
subjectNodeId: NotRequired['BackendNodeId']
|
|
45
|
+
"""The element whose principal box's visibility in the scrollport defined the progress of the timeline. Does not exist for animations with ScrollTimeline"""
|
|
46
|
+
class AnimationEffect(TypedDict, total=True):
|
|
47
|
+
"""AnimationEffect instance"""
|
|
48
|
+
delay: 'float'
|
|
49
|
+
"""AnimationEffect's delay."""
|
|
50
|
+
endDelay: 'float'
|
|
51
|
+
"""AnimationEffect's end delay."""
|
|
52
|
+
iterationStart: 'float'
|
|
53
|
+
"""AnimationEffect's iteration start."""
|
|
54
|
+
duration: 'float'
|
|
55
|
+
"""AnimationEffect's iteration duration. Milliseconds for time based animations and percentage [0 - 100] for scroll driven animations (i.e. when viewOrScrollTimeline exists)."""
|
|
56
|
+
direction: 'str'
|
|
57
|
+
"""AnimationEffect's playback direction."""
|
|
58
|
+
fill: 'str'
|
|
59
|
+
"""AnimationEffect's fill mode."""
|
|
60
|
+
easing: 'str'
|
|
61
|
+
"""AnimationEffect's timing function."""
|
|
62
|
+
iterations: NotRequired['float']
|
|
63
|
+
"""AnimationEffect's iterations. Omitted if the value is infinite."""
|
|
64
|
+
backendNodeId: NotRequired['BackendNodeId']
|
|
65
|
+
"""AnimationEffect's target node."""
|
|
66
|
+
keyframesRule: NotRequired['KeyframesRule']
|
|
67
|
+
"""AnimationEffect's keyframes."""
|
|
68
|
+
class KeyframesRule(TypedDict, total=True):
|
|
69
|
+
"""Keyframes Rule"""
|
|
70
|
+
keyframes: 'List[KeyframeStyle]'
|
|
71
|
+
"""List of animation keyframes."""
|
|
72
|
+
name: NotRequired['str']
|
|
73
|
+
"""CSS keyframed animation's name."""
|
|
74
|
+
class KeyframeStyle(TypedDict, total=True):
|
|
75
|
+
"""Keyframe Style"""
|
|
76
|
+
offset: 'str'
|
|
77
|
+
"""Keyframe's time offset."""
|
|
78
|
+
easing: 'str'
|
|
79
|
+
"""AnimationEffect's timing function."""
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"""CDP Audits Domain Events"""
|
|
2
|
+
from ..types import *
|
|
3
|
+
from .types import *
|
|
4
|
+
from typing import Optional, Dict, Any, Callable, TYPE_CHECKING
|
|
5
|
+
|
|
6
|
+
if TYPE_CHECKING:
|
|
7
|
+
from ....service import Client
|
|
8
|
+
|
|
9
|
+
class AuditsEvents:
|
|
10
|
+
"""
|
|
11
|
+
Events for the Audits domain.
|
|
12
|
+
"""
|
|
13
|
+
def __init__(self, client: "Client"):
|
|
14
|
+
"""
|
|
15
|
+
Initialize the Audits events.
|
|
16
|
+
|
|
17
|
+
Args:
|
|
18
|
+
client ("Client"): The parent CDP client instance.
|
|
19
|
+
"""
|
|
20
|
+
self.client = client
|
|
21
|
+
|
|
22
|
+
def on_issue_added(self, callback: Callable[[issueAddedEvent,Optional[str]], None]=None) -> None:
|
|
23
|
+
"""
|
|
24
|
+
No description available for issueAdded.
|
|
25
|
+
Args:
|
|
26
|
+
callback (callable, optional): Function called when the event is fired.
|
|
27
|
+
The callback receives (params: issueAddedEvent, session_id: Optional[str]).
|
|
28
|
+
"""
|
|
29
|
+
self.client.on('Audits.issueAdded', callback)
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"""CDP Audits Events"""
|
|
2
|
+
|
|
3
|
+
from typing import TypedDict, NotRequired, Required, Literal, Any, Dict, Union, Optional, List, Set, Tuple
|
|
4
|
+
|
|
5
|
+
from typing import TYPE_CHECKING
|
|
6
|
+
if TYPE_CHECKING:
|
|
7
|
+
from cdp.protocol.audits.types import InspectorIssue
|
|
8
|
+
|
|
9
|
+
class issueAddedEvent(TypedDict, total=True):
|
|
10
|
+
issue: 'InspectorIssue'
|
|
File without changes
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"""CDP Audits Domain Methods"""
|
|
2
|
+
from ..types import *
|
|
3
|
+
from .types import *
|
|
4
|
+
from typing import Optional, Dict, Any, Callable, TYPE_CHECKING
|
|
5
|
+
|
|
6
|
+
if TYPE_CHECKING:
|
|
7
|
+
from ....service import Client
|
|
8
|
+
|
|
9
|
+
class AuditsMethods:
|
|
10
|
+
"""
|
|
11
|
+
Methods for the Audits domain.
|
|
12
|
+
"""
|
|
13
|
+
def __init__(self, client: "Client"):
|
|
14
|
+
"""
|
|
15
|
+
Initialize the Audits methods.
|
|
16
|
+
|
|
17
|
+
Args:
|
|
18
|
+
client ("Client"): The parent CDP client instance.
|
|
19
|
+
"""
|
|
20
|
+
self.client = client
|
|
21
|
+
|
|
22
|
+
async def get_encoded_response(self, params: Optional[getEncodedResponseParameters]=None,session_id: Optional[str] = None) -> getEncodedResponseReturns:
|
|
23
|
+
"""
|
|
24
|
+
Returns the response body and size if it were re-encoded with the specified settings. Only applies to images.
|
|
25
|
+
Args:
|
|
26
|
+
params (getEncodedResponseParameters, optional): Parameters for the getEncodedResponse method.
|
|
27
|
+
session_id (str, optional): Target session ID for flat protocol usage.
|
|
28
|
+
|
|
29
|
+
Returns:
|
|
30
|
+
getEncodedResponseReturns: The result of the getEncodedResponse call.
|
|
31
|
+
"""
|
|
32
|
+
return await self.client.send(method="Audits.getEncodedResponse", params=params,session_id=session_id)
|
|
33
|
+
async def disable(self, params: None=None,session_id: Optional[str] = None) -> Dict[str, Any]:
|
|
34
|
+
"""
|
|
35
|
+
Disables issues domain, prevents further issues from being reported to the client.
|
|
36
|
+
Args:
|
|
37
|
+
params (None, optional): Parameters for the disable method.
|
|
38
|
+
session_id (str, optional): Target session ID for flat protocol usage.
|
|
39
|
+
|
|
40
|
+
Returns:
|
|
41
|
+
Dict[str, Any]: The result of the disable call.
|
|
42
|
+
"""
|
|
43
|
+
return await self.client.send(method="Audits.disable", params=params,session_id=session_id)
|
|
44
|
+
async def enable(self, params: None=None,session_id: Optional[str] = None) -> Dict[str, Any]:
|
|
45
|
+
"""
|
|
46
|
+
Enables issues domain, sends the issues collected so far to the client by means of the `issueAdded` event.
|
|
47
|
+
Args:
|
|
48
|
+
params (None, optional): Parameters for the enable method.
|
|
49
|
+
session_id (str, optional): Target session ID for flat protocol usage.
|
|
50
|
+
|
|
51
|
+
Returns:
|
|
52
|
+
Dict[str, Any]: The result of the enable call.
|
|
53
|
+
"""
|
|
54
|
+
return await self.client.send(method="Audits.enable", params=params,session_id=session_id)
|
|
55
|
+
async def check_contrast(self, params: Optional[checkContrastParameters]=None,session_id: Optional[str] = None) -> Dict[str, Any]:
|
|
56
|
+
"""
|
|
57
|
+
Runs the contrast check for the target page. Found issues are reported using Audits.issueAdded event.
|
|
58
|
+
Args:
|
|
59
|
+
params (checkContrastParameters, optional): Parameters for the checkContrast method.
|
|
60
|
+
session_id (str, optional): Target session ID for flat protocol usage.
|
|
61
|
+
|
|
62
|
+
Returns:
|
|
63
|
+
Dict[str, Any]: The result of the checkContrast call.
|
|
64
|
+
"""
|
|
65
|
+
return await self.client.send(method="Audits.checkContrast", params=params,session_id=session_id)
|
|
66
|
+
async def check_forms_issues(self, params: None=None,session_id: Optional[str] = None) -> checkFormsIssuesReturns:
|
|
67
|
+
"""
|
|
68
|
+
Runs the form issues check for the target page. Found issues are reported using Audits.issueAdded event.
|
|
69
|
+
Args:
|
|
70
|
+
params (None, optional): Parameters for the checkFormsIssues method.
|
|
71
|
+
session_id (str, optional): Target session ID for flat protocol usage.
|
|
72
|
+
|
|
73
|
+
Returns:
|
|
74
|
+
checkFormsIssuesReturns: The result of the checkFormsIssues call.
|
|
75
|
+
"""
|
|
76
|
+
return await self.client.send(method="Audits.checkFormsIssues", params=params,session_id=session_id)
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"""CDP Audits Methods Types"""
|
|
2
|
+
|
|
3
|
+
from typing import TypedDict, NotRequired, Required, Literal, Any, Dict, Union, Optional, List, Set, Tuple
|
|
4
|
+
|
|
5
|
+
from typing import TYPE_CHECKING
|
|
6
|
+
if TYPE_CHECKING:
|
|
7
|
+
from cdp.protocol.audits.types import GenericIssueDetails
|
|
8
|
+
from cdp.protocol.network.types import RequestId
|
|
9
|
+
|
|
10
|
+
class getEncodedResponseParameters(TypedDict, total=True):
|
|
11
|
+
requestId: 'RequestId'
|
|
12
|
+
"""Identifier of the network request to get content for."""
|
|
13
|
+
encoding: 'Literal["webp", "jpeg", "png"]'
|
|
14
|
+
"""The encoding to use."""
|
|
15
|
+
quality: NotRequired['float']
|
|
16
|
+
"""The quality of the encoding (0-1). (defaults to 1)"""
|
|
17
|
+
sizeOnly: NotRequired['bool']
|
|
18
|
+
"""Whether to only return the size information (defaults to false)."""
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class checkContrastParameters(TypedDict, total=False):
|
|
22
|
+
reportAAA: NotRequired['bool']
|
|
23
|
+
"""Whether to report WCAG AAA level issues. Default is false."""
|
|
24
|
+
|
|
25
|
+
class getEncodedResponseReturns(TypedDict):
|
|
26
|
+
body: 'str'
|
|
27
|
+
"""The encoded body as a base64 string. Omitted if sizeOnly is true. (Encoded as a base64 string when passed over JSON)"""
|
|
28
|
+
originalSize: 'int'
|
|
29
|
+
"""Size before re-encoding."""
|
|
30
|
+
encodedSize: 'int'
|
|
31
|
+
"""Size after re-encoding."""
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class checkFormsIssuesReturns(TypedDict):
|
|
36
|
+
formIssues: 'List[GenericIssueDetails]'
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"""CDP Audits Domain"""
|
|
2
|
+
from typing import TYPE_CHECKING
|
|
3
|
+
from .methods.service import AuditsMethods
|
|
4
|
+
from .events.service import AuditsEvents
|
|
5
|
+
|
|
6
|
+
if TYPE_CHECKING:
|
|
7
|
+
from ...service import Client
|
|
8
|
+
|
|
9
|
+
class Audits(AuditsMethods, AuditsEvents):
|
|
10
|
+
"""
|
|
11
|
+
Audits domain allows investigation of page violations and possible improvements.
|
|
12
|
+
"""
|
|
13
|
+
def __init__(self, client: "Client"):
|
|
14
|
+
"""
|
|
15
|
+
Initialize the Audits domain.
|
|
16
|
+
|
|
17
|
+
Args:
|
|
18
|
+
client ("Client"): The parent CDP client instance.
|
|
19
|
+
"""
|
|
20
|
+
AuditsMethods.__init__(self, client)
|
|
21
|
+
AuditsEvents.__init__(self, client)
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
"""CDP Audits Types"""
|
|
2
|
+
|
|
3
|
+
from typing import TypedDict, NotRequired, Required, Literal, Any, Dict, Union, Optional, List, Set, Tuple
|
|
4
|
+
|
|
5
|
+
from typing import TYPE_CHECKING
|
|
6
|
+
if TYPE_CHECKING:
|
|
7
|
+
from cdp.protocol.dom.types import BackendNodeId
|
|
8
|
+
from cdp.protocol.network.types import ClientSecurityState
|
|
9
|
+
from cdp.protocol.network.types import CorsErrorStatus
|
|
10
|
+
from cdp.protocol.network.types import IPAddressSpace
|
|
11
|
+
from cdp.protocol.network.types import LoaderId
|
|
12
|
+
from cdp.protocol.network.types import RequestId
|
|
13
|
+
from cdp.protocol.page.types import FrameId
|
|
14
|
+
from cdp.protocol.runtime.types import ScriptId
|
|
15
|
+
|
|
16
|
+
class AffectedCookie(TypedDict, total=True):
|
|
17
|
+
"""Information about a cookie that is affected by an inspector issue."""
|
|
18
|
+
name: 'str'
|
|
19
|
+
"""The following three properties uniquely identify a cookie"""
|
|
20
|
+
path: 'str'
|
|
21
|
+
domain: 'str'
|
|
22
|
+
class AffectedRequest(TypedDict, total=True):
|
|
23
|
+
"""Information about a request that is affected by an inspector issue."""
|
|
24
|
+
url: 'str'
|
|
25
|
+
requestId: NotRequired['RequestId']
|
|
26
|
+
"""The unique request id."""
|
|
27
|
+
class AffectedFrame(TypedDict, total=True):
|
|
28
|
+
"""Information about the frame affected by an inspector issue."""
|
|
29
|
+
frameId: 'FrameId'
|
|
30
|
+
CookieExclusionReason = Literal['ExcludeSameSiteUnspecifiedTreatedAsLax','ExcludeSameSiteNoneInsecure','ExcludeSameSiteLax','ExcludeSameSiteStrict','ExcludeDomainNonASCII','ExcludeThirdPartyCookieBlockedInFirstPartySet','ExcludeThirdPartyPhaseout','ExcludePortMismatch','ExcludeSchemeMismatch']
|
|
31
|
+
CookieWarningReason = Literal['WarnSameSiteUnspecifiedCrossSiteContext','WarnSameSiteNoneInsecure','WarnSameSiteUnspecifiedLaxAllowUnsafe','WarnSameSiteStrictLaxDowngradeStrict','WarnSameSiteStrictCrossDowngradeStrict','WarnSameSiteStrictCrossDowngradeLax','WarnSameSiteLaxCrossDowngradeStrict','WarnSameSiteLaxCrossDowngradeLax','WarnAttributeValueExceedsMaxSize','WarnDomainNonASCII','WarnThirdPartyPhaseout','WarnCrossSiteRedirectDowngradeChangesInclusion','WarnDeprecationTrialMetadata','WarnThirdPartyCookieHeuristic']
|
|
32
|
+
CookieOperation = Literal['SetCookie','ReadCookie']
|
|
33
|
+
InsightType = Literal['GitHubResource','GracePeriod','Heuristics']
|
|
34
|
+
"""Represents the category of insight that a cookie issue falls under."""
|
|
35
|
+
class CookieIssueInsight(TypedDict, total=True):
|
|
36
|
+
"""Information about the suggested solution to a cookie issue."""
|
|
37
|
+
type: 'InsightType'
|
|
38
|
+
tableEntryUrl: NotRequired['str']
|
|
39
|
+
"""Link to table entry in third-party cookie migration readiness list."""
|
|
40
|
+
class CookieIssueDetails(TypedDict, total=True):
|
|
41
|
+
"""This information is currently necessary, as the front-end has a difficult time finding a specific cookie. With this, we can convey specific error information without the cookie."""
|
|
42
|
+
cookieWarningReasons: 'List[CookieWarningReason]'
|
|
43
|
+
cookieExclusionReasons: 'List[CookieExclusionReason]'
|
|
44
|
+
operation: 'CookieOperation'
|
|
45
|
+
"""Optionally identifies the site-for-cookies and the cookie url, which may be used by the front-end as additional context."""
|
|
46
|
+
cookie: NotRequired['AffectedCookie']
|
|
47
|
+
"""If AffectedCookie is not set then rawCookieLine contains the raw Set-Cookie header string. This hints at a problem where the cookie line is syntactically or semantically malformed in a way that no valid cookie could be created."""
|
|
48
|
+
rawCookieLine: NotRequired['str']
|
|
49
|
+
siteForCookies: NotRequired['str']
|
|
50
|
+
cookieUrl: NotRequired['str']
|
|
51
|
+
request: NotRequired['AffectedRequest']
|
|
52
|
+
insight: NotRequired['CookieIssueInsight']
|
|
53
|
+
"""The recommended solution to the issue."""
|
|
54
|
+
MixedContentResolutionStatus = Literal['MixedContentBlocked','MixedContentAutomaticallyUpgraded','MixedContentWarning']
|
|
55
|
+
MixedContentResourceType = Literal['AttributionSrc','Audio','Beacon','CSPReport','Download','EventSource','Favicon','Font','Form','Frame','Image','Import','JSON','Manifest','Ping','PluginData','PluginResource','Prefetch','Resource','Script','ServiceWorker','SharedWorker','SpeculationRules','Stylesheet','Track','Video','Worker','XMLHttpRequest','XSLT']
|
|
56
|
+
class MixedContentIssueDetails(TypedDict, total=True):
|
|
57
|
+
resolutionStatus: 'MixedContentResolutionStatus'
|
|
58
|
+
"""The way the mixed content issue is being resolved."""
|
|
59
|
+
insecureURL: 'str'
|
|
60
|
+
"""The unsafe http url causing the mixed content issue."""
|
|
61
|
+
mainResourceURL: 'str'
|
|
62
|
+
"""The url responsible for the call to an unsafe url."""
|
|
63
|
+
resourceType: NotRequired['MixedContentResourceType']
|
|
64
|
+
"""The type of resource causing the mixed content issue (css, js, iframe, form,...). Marked as optional because it is mapped to from blink::mojom::RequestContextType, which will be replaced by network::mojom::RequestDestination"""
|
|
65
|
+
request: NotRequired['AffectedRequest']
|
|
66
|
+
"""The mixed content request. Does not always exist (e.g. for unsafe form submission urls)."""
|
|
67
|
+
frame: NotRequired['AffectedFrame']
|
|
68
|
+
"""Optional because not every mixed content issue is necessarily linked to a frame."""
|
|
69
|
+
BlockedByResponseReason = Literal['CoepFrameResourceNeedsCoepHeader','CoopSandboxedIFrameCannotNavigateToCoopPage','CorpNotSameOrigin','CorpNotSameOriginAfterDefaultedToSameOriginByCoep','CorpNotSameOriginAfterDefaultedToSameOriginByDip','CorpNotSameOriginAfterDefaultedToSameOriginByCoepAndDip','CorpNotSameSite','SRIMessageSignatureMismatch']
|
|
70
|
+
"""Enum indicating the reason a response has been blocked. These reasons are refinements of the net error BLOCKED_BY_RESPONSE."""
|
|
71
|
+
class BlockedByResponseIssueDetails(TypedDict, total=True):
|
|
72
|
+
"""Details for a request that has been blocked with the BLOCKED_BY_RESPONSE code. Currently only used for COEP/COOP, but may be extended to include some CSP errors in the future."""
|
|
73
|
+
request: 'AffectedRequest'
|
|
74
|
+
reason: 'BlockedByResponseReason'
|
|
75
|
+
parentFrame: NotRequired['AffectedFrame']
|
|
76
|
+
blockedFrame: NotRequired['AffectedFrame']
|
|
77
|
+
HeavyAdResolutionStatus = Literal['HeavyAdBlocked','HeavyAdWarning']
|
|
78
|
+
HeavyAdReason = Literal['NetworkTotalLimit','CpuTotalLimit','CpuPeakLimit']
|
|
79
|
+
class HeavyAdIssueDetails(TypedDict, total=True):
|
|
80
|
+
resolution: 'HeavyAdResolutionStatus'
|
|
81
|
+
"""The resolution status, either blocking the content or warning."""
|
|
82
|
+
reason: 'HeavyAdReason'
|
|
83
|
+
"""The reason the ad was blocked, total network or cpu or peak cpu."""
|
|
84
|
+
frame: 'AffectedFrame'
|
|
85
|
+
"""The frame that was blocked."""
|
|
86
|
+
ContentSecurityPolicyViolationType = Literal['kInlineViolation','kEvalViolation','kURLViolation','kSRIViolation','kTrustedTypesSinkViolation','kTrustedTypesPolicyViolation','kWasmEvalViolation']
|
|
87
|
+
class SourceCodeLocation(TypedDict, total=True):
|
|
88
|
+
url: 'str'
|
|
89
|
+
lineNumber: 'int'
|
|
90
|
+
columnNumber: 'int'
|
|
91
|
+
scriptId: NotRequired['ScriptId']
|
|
92
|
+
class ContentSecurityPolicyIssueDetails(TypedDict, total=True):
|
|
93
|
+
violatedDirective: 'str'
|
|
94
|
+
"""Specific directive that is violated, causing the CSP issue."""
|
|
95
|
+
isReportOnly: 'bool'
|
|
96
|
+
contentSecurityPolicyViolationType: 'ContentSecurityPolicyViolationType'
|
|
97
|
+
blockedURL: NotRequired['str']
|
|
98
|
+
"""The url not included in allowed sources."""
|
|
99
|
+
frameAncestor: NotRequired['AffectedFrame']
|
|
100
|
+
sourceCodeLocation: NotRequired['SourceCodeLocation']
|
|
101
|
+
violatingNodeId: NotRequired['BackendNodeId']
|
|
102
|
+
SharedArrayBufferIssueType = Literal['TransferIssue','CreationIssue']
|
|
103
|
+
class SharedArrayBufferIssueDetails(TypedDict, total=True):
|
|
104
|
+
"""Details for a issue arising from an SAB being instantiated in, or transferred to a context that is not cross-origin isolated."""
|
|
105
|
+
sourceCodeLocation: 'SourceCodeLocation'
|
|
106
|
+
isWarning: 'bool'
|
|
107
|
+
type: 'SharedArrayBufferIssueType'
|
|
108
|
+
class LowTextContrastIssueDetails(TypedDict, total=True):
|
|
109
|
+
violatingNodeId: 'BackendNodeId'
|
|
110
|
+
violatingNodeSelector: 'str'
|
|
111
|
+
contrastRatio: 'float'
|
|
112
|
+
thresholdAA: 'float'
|
|
113
|
+
thresholdAAA: 'float'
|
|
114
|
+
fontSize: 'str'
|
|
115
|
+
fontWeight: 'str'
|
|
116
|
+
class CorsIssueDetails(TypedDict, total=True):
|
|
117
|
+
"""Details for a CORS related issue, e.g. a warning or error related to CORS RFC1918 enforcement."""
|
|
118
|
+
corsErrorStatus: 'CorsErrorStatus'
|
|
119
|
+
isWarning: 'bool'
|
|
120
|
+
request: 'AffectedRequest'
|
|
121
|
+
location: NotRequired['SourceCodeLocation']
|
|
122
|
+
initiatorOrigin: NotRequired['str']
|
|
123
|
+
resourceIPAddressSpace: NotRequired['IPAddressSpace']
|
|
124
|
+
clientSecurityState: NotRequired['ClientSecurityState']
|
|
125
|
+
AttributionReportingIssueType = Literal['PermissionPolicyDisabled','UntrustworthyReportingOrigin','InsecureContext','InvalidHeader','InvalidRegisterTriggerHeader','SourceAndTriggerHeaders','SourceIgnored','TriggerIgnored','OsSourceIgnored','OsTriggerIgnored','InvalidRegisterOsSourceHeader','InvalidRegisterOsTriggerHeader','WebAndOsHeaders','NoWebOrOsSupport','NavigationRegistrationWithoutTransientUserActivation','InvalidInfoHeader','NoRegisterSourceHeader','NoRegisterTriggerHeader','NoRegisterOsSourceHeader','NoRegisterOsTriggerHeader','NavigationRegistrationUniqueScopeAlreadySet']
|
|
126
|
+
SharedDictionaryError = Literal['UseErrorCrossOriginNoCorsRequest','UseErrorDictionaryLoadFailure','UseErrorMatchingDictionaryNotUsed','UseErrorUnexpectedContentDictionaryHeader','WriteErrorCossOriginNoCorsRequest','WriteErrorDisallowedBySettings','WriteErrorExpiredResponse','WriteErrorFeatureDisabled','WriteErrorInsufficientResources','WriteErrorInvalidMatchField','WriteErrorInvalidStructuredHeader','WriteErrorInvalidTTLField','WriteErrorNavigationRequest','WriteErrorNoMatchField','WriteErrorNonIntegerTTLField','WriteErrorNonListMatchDestField','WriteErrorNonSecureContext','WriteErrorNonStringIdField','WriteErrorNonStringInMatchDestList','WriteErrorNonStringMatchField','WriteErrorNonTokenTypeField','WriteErrorRequestAborted','WriteErrorShuttingDown','WriteErrorTooLongIdField','WriteErrorUnsupportedType']
|
|
127
|
+
SRIMessageSignatureError = Literal['MissingSignatureHeader','MissingSignatureInputHeader','InvalidSignatureHeader','InvalidSignatureInputHeader','SignatureHeaderValueIsNotByteSequence','SignatureHeaderValueIsParameterized','SignatureHeaderValueIsIncorrectLength','SignatureInputHeaderMissingLabel','SignatureInputHeaderValueNotInnerList','SignatureInputHeaderValueMissingComponents','SignatureInputHeaderInvalidComponentType','SignatureInputHeaderInvalidComponentName','SignatureInputHeaderInvalidHeaderComponentParameter','SignatureInputHeaderInvalidDerivedComponentParameter','SignatureInputHeaderKeyIdLength','SignatureInputHeaderInvalidParameter','SignatureInputHeaderMissingRequiredParameters','ValidationFailedSignatureExpired','ValidationFailedInvalidLength','ValidationFailedSignatureMismatch','ValidationFailedIntegrityMismatch']
|
|
128
|
+
UnencodedDigestError = Literal['MalformedDictionary','UnknownAlgorithm','IncorrectDigestType','IncorrectDigestLength']
|
|
129
|
+
class AttributionReportingIssueDetails(TypedDict, total=True):
|
|
130
|
+
"""Details for issues around "Attribution Reporting API" usage. Explainer: https://github.com/WICG/attribution-reporting-api"""
|
|
131
|
+
violationType: 'AttributionReportingIssueType'
|
|
132
|
+
request: NotRequired['AffectedRequest']
|
|
133
|
+
violatingNodeId: NotRequired['BackendNodeId']
|
|
134
|
+
invalidParameter: NotRequired['str']
|
|
135
|
+
class QuirksModeIssueDetails(TypedDict, total=True):
|
|
136
|
+
"""Details for issues about documents in Quirks Mode or Limited Quirks Mode that affects page layouting."""
|
|
137
|
+
isLimitedQuirksMode: 'bool'
|
|
138
|
+
"""If false, it means the document's mode is quirks instead of limited-quirks."""
|
|
139
|
+
documentNodeId: 'BackendNodeId'
|
|
140
|
+
url: 'str'
|
|
141
|
+
frameId: 'FrameId'
|
|
142
|
+
loaderId: 'LoaderId'
|
|
143
|
+
class NavigatorUserAgentIssueDetails(TypedDict, total=True):
|
|
144
|
+
url: 'str'
|
|
145
|
+
location: NotRequired['SourceCodeLocation']
|
|
146
|
+
class SharedDictionaryIssueDetails(TypedDict, total=True):
|
|
147
|
+
sharedDictionaryError: 'SharedDictionaryError'
|
|
148
|
+
request: 'AffectedRequest'
|
|
149
|
+
class SRIMessageSignatureIssueDetails(TypedDict, total=True):
|
|
150
|
+
error: 'SRIMessageSignatureError'
|
|
151
|
+
signatureBase: 'str'
|
|
152
|
+
integrityAssertions: 'List[str]'
|
|
153
|
+
request: 'AffectedRequest'
|
|
154
|
+
class UnencodedDigestIssueDetails(TypedDict, total=True):
|
|
155
|
+
error: 'UnencodedDigestError'
|
|
156
|
+
request: 'AffectedRequest'
|
|
157
|
+
GenericIssueErrorType = Literal['FormLabelForNameError','FormDuplicateIdForInputError','FormInputWithNoLabelError','FormAutocompleteAttributeEmptyError','FormEmptyIdAndNameAttributesForInputError','FormAriaLabelledByToNonExistingIdError','FormInputAssignedAutocompleteValueToIdOrNameAttributeError','FormLabelHasNeitherForNorNestedInputError','FormLabelForMatchesNonExistingIdError','FormInputHasWrongButWellIntendedAutocompleteValueError','ResponseWasBlockedByORB','NavigationEntryMarkedSkippable','AutofillAndManualTextPolicyControlledFeaturesInfo','AutofillPolicyControlledFeatureInfo','ManualTextPolicyControlledFeatureInfo']
|
|
158
|
+
class GenericIssueDetails(TypedDict, total=True):
|
|
159
|
+
"""Depending on the concrete errorType, different properties are set."""
|
|
160
|
+
errorType: 'GenericIssueErrorType'
|
|
161
|
+
"""Issues with the same errorType are aggregated in the frontend."""
|
|
162
|
+
frameId: NotRequired['FrameId']
|
|
163
|
+
violatingNodeId: NotRequired['BackendNodeId']
|
|
164
|
+
violatingNodeAttribute: NotRequired['str']
|
|
165
|
+
request: NotRequired['AffectedRequest']
|
|
166
|
+
class DeprecationIssueDetails(TypedDict, total=True):
|
|
167
|
+
"""This issue tracks information needed to print a deprecation message. https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/frame/third_party/blink/renderer/core/frame/deprecation/README.md"""
|
|
168
|
+
sourceCodeLocation: 'SourceCodeLocation'
|
|
169
|
+
type: 'str'
|
|
170
|
+
"""One of the deprecation names from third_party/blink/renderer/core/frame/deprecation/deprecation.json5"""
|
|
171
|
+
affectedFrame: NotRequired['AffectedFrame']
|
|
172
|
+
class BounceTrackingIssueDetails(TypedDict, total=True):
|
|
173
|
+
"""This issue warns about sites in the redirect chain of a finished navigation that may be flagged as trackers and have their state cleared if they don't receive a user interaction. Note that in this context 'site' means eTLD+1. For example, if the URL https://example.test:80/bounce was in the redirect chain, the site reported would be example.test."""
|
|
174
|
+
trackingSites: 'List[str]'
|
|
175
|
+
class CookieDeprecationMetadataIssueDetails(TypedDict, total=True):
|
|
176
|
+
"""This issue warns about third-party sites that are accessing cookies on the current page, and have been permitted due to having a global metadata grant. Note that in this context 'site' means eTLD+1. For example, if the URL https://example.test:80/web_page was accessing cookies, the site reported would be example.test."""
|
|
177
|
+
allowedSites: 'List[str]'
|
|
178
|
+
optOutPercentage: 'float'
|
|
179
|
+
isOptOutTopLevel: 'bool'
|
|
180
|
+
operation: 'CookieOperation'
|
|
181
|
+
ClientHintIssueReason = Literal['MetaTagAllowListInvalidOrigin','MetaTagModifiedHTML']
|
|
182
|
+
class FederatedAuthRequestIssueDetails(TypedDict, total=True):
|
|
183
|
+
federatedAuthRequestIssueReason: 'FederatedAuthRequestIssueReason'
|
|
184
|
+
FederatedAuthRequestIssueReason = Literal['ShouldEmbargo','TooManyRequests','WellKnownHttpNotFound','WellKnownNoResponse','WellKnownInvalidResponse','WellKnownListEmpty','WellKnownInvalidContentType','ConfigNotInWellKnown','WellKnownTooBig','ConfigHttpNotFound','ConfigNoResponse','ConfigInvalidResponse','ConfigInvalidContentType','ClientMetadataHttpNotFound','ClientMetadataNoResponse','ClientMetadataInvalidResponse','ClientMetadataInvalidContentType','IdpNotPotentiallyTrustworthy','DisabledInSettings','DisabledInFlags','ErrorFetchingSignin','InvalidSigninResponse','AccountsHttpNotFound','AccountsNoResponse','AccountsInvalidResponse','AccountsListEmpty','AccountsInvalidContentType','IdTokenHttpNotFound','IdTokenNoResponse','IdTokenInvalidResponse','IdTokenIdpErrorResponse','IdTokenCrossSiteIdpErrorResponse','IdTokenInvalidRequest','IdTokenInvalidContentType','ErrorIdToken','Canceled','RpPageNotVisible','SilentMediationFailure','ThirdPartyCookiesBlocked','NotSignedInWithIdp','MissingTransientUserActivation','ReplacedByActiveMode','InvalidFieldsSpecified','RelyingPartyOriginIsOpaque','TypeNotMatching','UiDismissedNoEmbargo','CorsError','SuppressedBySegmentationPlatform']
|
|
185
|
+
"""Represents the failure reason when a federated authentication reason fails. Should be updated alongside RequestIdTokenStatus in third_party/blink/public/mojom/devtools/inspector_issue.mojom to include all cases except for success."""
|
|
186
|
+
class FederatedAuthUserInfoRequestIssueDetails(TypedDict, total=True):
|
|
187
|
+
federatedAuthUserInfoRequestIssueReason: 'FederatedAuthUserInfoRequestIssueReason'
|
|
188
|
+
FederatedAuthUserInfoRequestIssueReason = Literal['NotSameOrigin','NotIframe','NotPotentiallyTrustworthy','NoApiPermission','NotSignedInWithIdp','NoAccountSharingPermission','InvalidConfigOrWellKnown','InvalidAccountsResponse','NoReturningUserFromFetchedAccounts']
|
|
189
|
+
"""Represents the failure reason when a getUserInfo() call fails. Should be updated alongside FederatedAuthUserInfoRequestResult in third_party/blink/public/mojom/devtools/inspector_issue.mojom."""
|
|
190
|
+
class ClientHintIssueDetails(TypedDict, total=True):
|
|
191
|
+
"""This issue tracks client hints related issues. It's used to deprecate old features, encourage the use of new ones, and provide general guidance."""
|
|
192
|
+
sourceCodeLocation: 'SourceCodeLocation'
|
|
193
|
+
clientHintIssueReason: 'ClientHintIssueReason'
|
|
194
|
+
class FailedRequestInfo(TypedDict, total=True):
|
|
195
|
+
url: 'str'
|
|
196
|
+
"""The URL that failed to load."""
|
|
197
|
+
failureMessage: 'str'
|
|
198
|
+
"""The failure message for the failed request."""
|
|
199
|
+
requestId: NotRequired['RequestId']
|
|
200
|
+
PartitioningBlobURLInfo = Literal['BlockedCrossPartitionFetching','EnforceNoopenerForNavigation']
|
|
201
|
+
class PartitioningBlobURLIssueDetails(TypedDict, total=True):
|
|
202
|
+
url: 'str'
|
|
203
|
+
"""The BlobURL that failed to load."""
|
|
204
|
+
partitioningBlobURLInfo: 'PartitioningBlobURLInfo'
|
|
205
|
+
"""Additional information about the Partitioning Blob URL issue."""
|
|
206
|
+
ElementAccessibilityIssueReason = Literal['DisallowedSelectChild','DisallowedOptGroupChild','NonPhrasingContentOptionChild','InteractiveContentOptionChild','InteractiveContentLegendChild','InteractiveContentSummaryDescendant']
|
|
207
|
+
class ElementAccessibilityIssueDetails(TypedDict, total=True):
|
|
208
|
+
"""This issue warns about errors in the select or summary element content model."""
|
|
209
|
+
nodeId: 'BackendNodeId'
|
|
210
|
+
elementAccessibilityIssueReason: 'ElementAccessibilityIssueReason'
|
|
211
|
+
hasDisallowedAttributes: 'bool'
|
|
212
|
+
StyleSheetLoadingIssueReason = Literal['LateImportRule','RequestFailed']
|
|
213
|
+
class StylesheetLoadingIssueDetails(TypedDict, total=True):
|
|
214
|
+
"""This issue warns when a referenced stylesheet couldn't be loaded."""
|
|
215
|
+
sourceCodeLocation: 'SourceCodeLocation'
|
|
216
|
+
"""Source code position that referenced the failing stylesheet."""
|
|
217
|
+
styleSheetLoadingIssueReason: 'StyleSheetLoadingIssueReason'
|
|
218
|
+
"""Reason why the stylesheet couldn't be loaded."""
|
|
219
|
+
failedRequestInfo: NotRequired['FailedRequestInfo']
|
|
220
|
+
"""Contains additional info when the failure was due to a request."""
|
|
221
|
+
PropertyRuleIssueReason = Literal['InvalidSyntax','InvalidInitialValue','InvalidInherits','InvalidName']
|
|
222
|
+
class PropertyRuleIssueDetails(TypedDict, total=True):
|
|
223
|
+
"""This issue warns about errors in property rules that lead to property registrations being ignored."""
|
|
224
|
+
sourceCodeLocation: 'SourceCodeLocation'
|
|
225
|
+
"""Source code position of the property rule."""
|
|
226
|
+
propertyRuleIssueReason: 'PropertyRuleIssueReason'
|
|
227
|
+
"""Reason why the property rule was discarded."""
|
|
228
|
+
propertyValue: NotRequired['str']
|
|
229
|
+
"""The value of the property rule property that failed to parse"""
|
|
230
|
+
UserReidentificationIssueType = Literal['BlockedFrameNavigation','BlockedSubresource','NoisedCanvasReadback']
|
|
231
|
+
class UserReidentificationIssueDetails(TypedDict, total=True):
|
|
232
|
+
"""This issue warns about uses of APIs that may be considered misuse to re-identify users."""
|
|
233
|
+
type: 'UserReidentificationIssueType'
|
|
234
|
+
request: NotRequired['AffectedRequest']
|
|
235
|
+
"""Applies to BlockedFrameNavigation and BlockedSubresource issue types."""
|
|
236
|
+
sourceCodeLocation: NotRequired['SourceCodeLocation']
|
|
237
|
+
"""Applies to NoisedCanvasReadback issue type."""
|
|
238
|
+
PermissionElementIssueType = Literal['InvalidType','FencedFrameDisallowed','CspFrameAncestorsMissing','PermissionsPolicyBlocked','PaddingRightUnsupported','PaddingBottomUnsupported','InsetBoxShadowUnsupported','RequestInProgress','UntrustedEvent','RegistrationFailed','TypeNotSupported','InvalidTypeActivation','SecurityChecksFailed','ActivationDisabled','GeolocationDeprecated','InvalidDisplayStyle','NonOpaqueColor','LowContrast','FontSizeTooSmall','FontSizeTooLarge','InvalidSizeValue']
|
|
239
|
+
class PermissionElementIssueDetails(TypedDict, total=True):
|
|
240
|
+
"""This issue warns about improper usage of the <permission> element."""
|
|
241
|
+
issueType: 'PermissionElementIssueType'
|
|
242
|
+
type: NotRequired['str']
|
|
243
|
+
"""The value of the type attribute."""
|
|
244
|
+
nodeId: NotRequired['BackendNodeId']
|
|
245
|
+
"""The node ID of the <permission> element."""
|
|
246
|
+
isWarning: NotRequired['bool']
|
|
247
|
+
"""True if the issue is a warning, false if it is an error."""
|
|
248
|
+
permissionName: NotRequired['str']
|
|
249
|
+
"""Fields for message construction: Used for messages that reference a specific permission name"""
|
|
250
|
+
occluderNodeInfo: NotRequired['str']
|
|
251
|
+
"""Used for messages about occlusion"""
|
|
252
|
+
occluderParentNodeInfo: NotRequired['str']
|
|
253
|
+
"""Used for messages about occluder's parent"""
|
|
254
|
+
disableReason: NotRequired['str']
|
|
255
|
+
"""Used for messages about activation disabled reason"""
|
|
256
|
+
InspectorIssueCode = Literal['CookieIssue','MixedContentIssue','BlockedByResponseIssue','HeavyAdIssue','ContentSecurityPolicyIssue','SharedArrayBufferIssue','LowTextContrastIssue','CorsIssue','AttributionReportingIssue','QuirksModeIssue','PartitioningBlobURLIssue','NavigatorUserAgentIssue','GenericIssue','DeprecationIssue','ClientHintIssue','FederatedAuthRequestIssue','BounceTrackingIssue','CookieDeprecationMetadataIssue','StylesheetLoadingIssue','FederatedAuthUserInfoRequestIssue','PropertyRuleIssue','SharedDictionaryIssue','ElementAccessibilityIssue','SRIMessageSignatureIssue','UnencodedDigestIssue','UserReidentificationIssue','PermissionElementIssue']
|
|
257
|
+
"""A unique identifier for the type of issue. Each type may use one of the optional fields in InspectorIssueDetails to convey more specific information about the kind of issue."""
|
|
258
|
+
class InspectorIssueDetails(TypedDict, total=False):
|
|
259
|
+
"""This struct holds a list of optional fields with additional information specific to the kind of issue. When adding a new issue code, please also add a new optional field to this type."""
|
|
260
|
+
cookieIssueDetails: NotRequired['CookieIssueDetails']
|
|
261
|
+
mixedContentIssueDetails: NotRequired['MixedContentIssueDetails']
|
|
262
|
+
blockedByResponseIssueDetails: NotRequired['BlockedByResponseIssueDetails']
|
|
263
|
+
heavyAdIssueDetails: NotRequired['HeavyAdIssueDetails']
|
|
264
|
+
contentSecurityPolicyIssueDetails: NotRequired['ContentSecurityPolicyIssueDetails']
|
|
265
|
+
sharedArrayBufferIssueDetails: NotRequired['SharedArrayBufferIssueDetails']
|
|
266
|
+
lowTextContrastIssueDetails: NotRequired['LowTextContrastIssueDetails']
|
|
267
|
+
corsIssueDetails: NotRequired['CorsIssueDetails']
|
|
268
|
+
attributionReportingIssueDetails: NotRequired['AttributionReportingIssueDetails']
|
|
269
|
+
quirksModeIssueDetails: NotRequired['QuirksModeIssueDetails']
|
|
270
|
+
partitioningBlobURLIssueDetails: NotRequired['PartitioningBlobURLIssueDetails']
|
|
271
|
+
genericIssueDetails: NotRequired['GenericIssueDetails']
|
|
272
|
+
deprecationIssueDetails: NotRequired['DeprecationIssueDetails']
|
|
273
|
+
clientHintIssueDetails: NotRequired['ClientHintIssueDetails']
|
|
274
|
+
federatedAuthRequestIssueDetails: NotRequired['FederatedAuthRequestIssueDetails']
|
|
275
|
+
bounceTrackingIssueDetails: NotRequired['BounceTrackingIssueDetails']
|
|
276
|
+
cookieDeprecationMetadataIssueDetails: NotRequired['CookieDeprecationMetadataIssueDetails']
|
|
277
|
+
stylesheetLoadingIssueDetails: NotRequired['StylesheetLoadingIssueDetails']
|
|
278
|
+
propertyRuleIssueDetails: NotRequired['PropertyRuleIssueDetails']
|
|
279
|
+
federatedAuthUserInfoRequestIssueDetails: NotRequired['FederatedAuthUserInfoRequestIssueDetails']
|
|
280
|
+
sharedDictionaryIssueDetails: NotRequired['SharedDictionaryIssueDetails']
|
|
281
|
+
elementAccessibilityIssueDetails: NotRequired['ElementAccessibilityIssueDetails']
|
|
282
|
+
sriMessageSignatureIssueDetails: NotRequired['SRIMessageSignatureIssueDetails']
|
|
283
|
+
unencodedDigestIssueDetails: NotRequired['UnencodedDigestIssueDetails']
|
|
284
|
+
userReidentificationIssueDetails: NotRequired['UserReidentificationIssueDetails']
|
|
285
|
+
permissionElementIssueDetails: NotRequired['PermissionElementIssueDetails']
|
|
286
|
+
IssueId = str
|
|
287
|
+
"""A unique id for a DevTools inspector issue. Allows other entities (e.g. exceptions, CDP message, console messages, etc.) to reference an issue."""
|
|
288
|
+
class InspectorIssue(TypedDict, total=True):
|
|
289
|
+
"""An inspector issue reported from the back-end."""
|
|
290
|
+
code: 'InspectorIssueCode'
|
|
291
|
+
details: 'InspectorIssueDetails'
|
|
292
|
+
issueId: NotRequired['IssueId']
|
|
293
|
+
"""A unique id for this issue. May be omitted if no other entity (e.g. exception, CDP message, etc.) is referencing this issue."""
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"""CDP Autofill Domain Events"""
|
|
2
|
+
from ..types import *
|
|
3
|
+
from .types import *
|
|
4
|
+
from typing import Optional, Dict, Any, Callable, TYPE_CHECKING
|
|
5
|
+
|
|
6
|
+
if TYPE_CHECKING:
|
|
7
|
+
from ....service import Client
|
|
8
|
+
|
|
9
|
+
class AutofillEvents:
|
|
10
|
+
"""
|
|
11
|
+
Events for the Autofill domain.
|
|
12
|
+
"""
|
|
13
|
+
def __init__(self, client: "Client"):
|
|
14
|
+
"""
|
|
15
|
+
Initialize the Autofill events.
|
|
16
|
+
|
|
17
|
+
Args:
|
|
18
|
+
client ("Client"): The parent CDP client instance.
|
|
19
|
+
"""
|
|
20
|
+
self.client = client
|
|
21
|
+
|
|
22
|
+
def on_address_form_filled(self, callback: Callable[[addressFormFilledEvent,Optional[str]], None]=None) -> None:
|
|
23
|
+
"""
|
|
24
|
+
Emitted when an address form is filled.
|
|
25
|
+
Args:
|
|
26
|
+
callback (callable, optional): Function called when the event is fired.
|
|
27
|
+
The callback receives (params: addressFormFilledEvent, session_id: Optional[str]).
|
|
28
|
+
"""
|
|
29
|
+
self.client.on('Autofill.addressFormFilled', callback)
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"""CDP Autofill Events"""
|
|
2
|
+
|
|
3
|
+
from typing import TypedDict, NotRequired, Required, Literal, Any, Dict, Union, Optional, List, Set, Tuple
|
|
4
|
+
|
|
5
|
+
from typing import TYPE_CHECKING
|
|
6
|
+
if TYPE_CHECKING:
|
|
7
|
+
from cdp.protocol.autofill.types import AddressUI
|
|
8
|
+
from cdp.protocol.autofill.types import FilledField
|
|
9
|
+
|
|
10
|
+
class addressFormFilledEvent(TypedDict, total=True):
|
|
11
|
+
filledFields: 'List[FilledField]'
|
|
12
|
+
"""Information about the fields that were filled"""
|
|
13
|
+
addressUi: 'AddressUI'
|
|
14
|
+
"""An UI representation of the address used to fill the form. Consists of a 2D array where each child represents an address/profile line."""
|
|
File without changes
|