selenium-devtools 0.98.0 → 0.100.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. checksums.yaml +4 -4
  2. data/lib/selenium/devtools/v100/accessibility.rb +92 -0
  3. data/lib/selenium/devtools/v100/animation.rb +94 -0
  4. data/lib/selenium/devtools/v100/audits.rb +62 -0
  5. data/lib/selenium/devtools/v100/background_service.rb +63 -0
  6. data/lib/selenium/devtools/v100/browser.rb +135 -0
  7. data/lib/selenium/devtools/v100/cache_storage.rb +69 -0
  8. data/lib/selenium/devtools/v100/cast.rb +71 -0
  9. data/lib/selenium/devtools/v100/console.rb +53 -0
  10. data/lib/selenium/devtools/v100/css.rb +189 -0
  11. data/lib/selenium/devtools/v100/database.rb +60 -0
  12. data/lib/selenium/devtools/v100/debugger.rb +220 -0
  13. data/lib/selenium/devtools/v100/device_orientation.rb +49 -0
  14. data/lib/selenium/devtools/v100/dom.rb +335 -0
  15. data/lib/selenium/devtools/v100/dom_debugger.rb +94 -0
  16. data/lib/selenium/devtools/v100/dom_snapshot.rb +63 -0
  17. data/lib/selenium/devtools/v100/dom_storage.rb +75 -0
  18. data/lib/selenium/devtools/v100/emulation.rb +196 -0
  19. data/lib/selenium/devtools/v100/event_breakpoints.rb +48 -0
  20. data/lib/selenium/devtools/v100/fetch.rb +103 -0
  21. data/lib/selenium/devtools/v100/headless_experimental.rb +57 -0
  22. data/lib/selenium/devtools/v100/heap_profiler.rb +105 -0
  23. data/lib/selenium/devtools/v100/indexed_db.rb +96 -0
  24. data/lib/selenium/devtools/v100/input.rb +168 -0
  25. data/lib/selenium/devtools/v100/inspector.rb +51 -0
  26. data/lib/selenium/devtools/v100/io.rb +55 -0
  27. data/lib/selenium/devtools/v100/layer_tree.rb +91 -0
  28. data/lib/selenium/devtools/v100/log.rb +62 -0
  29. data/lib/selenium/devtools/v100/media.rb +53 -0
  30. data/lib/selenium/devtools/v100/memory.rb +82 -0
  31. data/lib/selenium/devtools/v100/network.rb +264 -0
  32. data/lib/selenium/devtools/v100/overlay.rb +202 -0
  33. data/lib/selenium/devtools/v100/page.rb +394 -0
  34. data/lib/selenium/devtools/v100/performance.rb +59 -0
  35. data/lib/selenium/devtools/v100/performance_timeline.rb +46 -0
  36. data/lib/selenium/devtools/v100/profiler.rb +95 -0
  37. data/lib/selenium/devtools/v100/runtime.rb +199 -0
  38. data/lib/selenium/devtools/v100/schema.rb +42 -0
  39. data/lib/selenium/devtools/v100/security.rb +67 -0
  40. data/lib/selenium/devtools/v100/service_worker.rb +112 -0
  41. data/lib/selenium/devtools/v100/storage.rb +118 -0
  42. data/lib/selenium/devtools/v100/system_info.rb +46 -0
  43. data/lib/selenium/devtools/v100/target.rb +146 -0
  44. data/lib/selenium/devtools/v100/tethering.rb +51 -0
  45. data/lib/selenium/devtools/v100/tracing.rb +75 -0
  46. data/lib/selenium/devtools/v100/web_audio.rb +66 -0
  47. data/lib/selenium/devtools/v100/web_authn.rb +96 -0
  48. data/lib/selenium/devtools/v100.rb +1 -0
  49. data/lib/selenium/devtools/v99/accessibility.rb +92 -0
  50. data/lib/selenium/devtools/v99/animation.rb +94 -0
  51. data/lib/selenium/devtools/v99/audits.rb +62 -0
  52. data/lib/selenium/devtools/v99/background_service.rb +63 -0
  53. data/lib/selenium/devtools/v99/browser.rb +135 -0
  54. data/lib/selenium/devtools/v99/cache_storage.rb +69 -0
  55. data/lib/selenium/devtools/v99/cast.rb +71 -0
  56. data/lib/selenium/devtools/v99/console.rb +53 -0
  57. data/lib/selenium/devtools/v99/css.rb +182 -0
  58. data/lib/selenium/devtools/v99/database.rb +60 -0
  59. data/lib/selenium/devtools/v99/debugger.rb +220 -0
  60. data/lib/selenium/devtools/v99/device_orientation.rb +49 -0
  61. data/lib/selenium/devtools/v99/dom.rb +334 -0
  62. data/lib/selenium/devtools/v99/dom_debugger.rb +94 -0
  63. data/lib/selenium/devtools/v99/dom_snapshot.rb +63 -0
  64. data/lib/selenium/devtools/v99/dom_storage.rb +75 -0
  65. data/lib/selenium/devtools/v99/emulation.rb +197 -0
  66. data/lib/selenium/devtools/v99/event_breakpoints.rb +48 -0
  67. data/lib/selenium/devtools/v99/fetch.rb +103 -0
  68. data/lib/selenium/devtools/v99/headless_experimental.rb +57 -0
  69. data/lib/selenium/devtools/v99/heap_profiler.rb +105 -0
  70. data/lib/selenium/devtools/v99/indexed_db.rb +96 -0
  71. data/lib/selenium/devtools/v99/input.rb +168 -0
  72. data/lib/selenium/devtools/v99/inspector.rb +51 -0
  73. data/lib/selenium/devtools/v99/io.rb +55 -0
  74. data/lib/selenium/devtools/v99/layer_tree.rb +91 -0
  75. data/lib/selenium/devtools/v99/log.rb +62 -0
  76. data/lib/selenium/devtools/v99/media.rb +53 -0
  77. data/lib/selenium/devtools/v99/memory.rb +82 -0
  78. data/lib/selenium/devtools/v99/network.rb +264 -0
  79. data/lib/selenium/devtools/v99/overlay.rb +202 -0
  80. data/lib/selenium/devtools/v99/page.rb +394 -0
  81. data/lib/selenium/devtools/v99/performance.rb +59 -0
  82. data/lib/selenium/devtools/v99/performance_timeline.rb +46 -0
  83. data/lib/selenium/devtools/v99/profiler.rb +95 -0
  84. data/lib/selenium/devtools/v99/runtime.rb +199 -0
  85. data/lib/selenium/devtools/v99/schema.rb +42 -0
  86. data/lib/selenium/devtools/v99/security.rb +67 -0
  87. data/lib/selenium/devtools/v99/service_worker.rb +112 -0
  88. data/lib/selenium/devtools/v99/storage.rb +118 -0
  89. data/lib/selenium/devtools/v99/system_info.rb +46 -0
  90. data/lib/selenium/devtools/v99/target.rb +146 -0
  91. data/lib/selenium/devtools/v99/tethering.rb +51 -0
  92. data/lib/selenium/devtools/v99/tracing.rb +75 -0
  93. data/lib/selenium/devtools/v99/web_audio.rb +66 -0
  94. data/lib/selenium/devtools/v99/web_authn.rb +96 -0
  95. data/lib/selenium/devtools/v99.rb +1 -0
  96. data/lib/selenium/devtools/version.rb +1 -1
  97. metadata +96 -2
@@ -0,0 +1,168 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Licensed to the Software Freedom Conservancy (SFC) under one
4
+ # or more contributor license agreements. See the NOTICE file
5
+ # distributed with this work for additional information
6
+ # regarding copyright ownership. The SFC licenses this file
7
+ # to you under the Apache License, Version 2.0 (the
8
+ # "License"); you may not use this file except in compliance
9
+ # with the License. You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing,
14
+ # software distributed under the License is distributed on an
15
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
+ # KIND, either express or implied. See the License for the
17
+ # specific language governing permissions and limitations
18
+ # under the License.
19
+
20
+ # This file is automatically generated. Any changes will be lost!
21
+ module Selenium
22
+ module DevTools
23
+ module V100
24
+ class Input
25
+ EVENTS = {
26
+ drag_intercepted: 'dragIntercepted',
27
+ }.freeze
28
+
29
+ def initialize(devtools)
30
+ @devtools = devtools
31
+ end
32
+
33
+ def on(event, &block)
34
+ event = EVENTS[event] if event.is_a?(Symbol)
35
+ @devtools.callbacks["Input.#{event}"] << block
36
+ end
37
+
38
+ def dispatch_drag_event(type:, x:, y:, data:, modifiers: nil)
39
+ @devtools.send_cmd('Input.dispatchDragEvent',
40
+ type: type,
41
+ x: x,
42
+ y: y,
43
+ data: data,
44
+ modifiers: modifiers)
45
+ end
46
+
47
+ def dispatch_key_event(type:, modifiers: nil, timestamp: nil, text: nil, unmodified_text: nil, key_identifier: nil, code: nil, key: nil, windows_virtual_key_code: nil, native_virtual_key_code: nil, auto_repeat: nil, is_keypad: nil, is_system_key: nil, location: nil, commands: nil)
48
+ @devtools.send_cmd('Input.dispatchKeyEvent',
49
+ type: type,
50
+ modifiers: modifiers,
51
+ timestamp: timestamp,
52
+ text: text,
53
+ unmodifiedText: unmodified_text,
54
+ keyIdentifier: key_identifier,
55
+ code: code,
56
+ key: key,
57
+ windowsVirtualKeyCode: windows_virtual_key_code,
58
+ nativeVirtualKeyCode: native_virtual_key_code,
59
+ autoRepeat: auto_repeat,
60
+ isKeypad: is_keypad,
61
+ isSystemKey: is_system_key,
62
+ location: location,
63
+ commands: commands)
64
+ end
65
+
66
+ def insert_text(text:)
67
+ @devtools.send_cmd('Input.insertText',
68
+ text: text)
69
+ end
70
+
71
+ def ime_set_composition(text:, selection_start:, selection_end:, replacement_start: nil, replacement_end: nil)
72
+ @devtools.send_cmd('Input.imeSetComposition',
73
+ text: text,
74
+ selectionStart: selection_start,
75
+ selectionEnd: selection_end,
76
+ replacementStart: replacement_start,
77
+ replacementEnd: replacement_end)
78
+ end
79
+
80
+ def dispatch_mouse_event(type:, x:, y:, modifiers: nil, timestamp: nil, button: nil, buttons: nil, click_count: nil, force: nil, tangential_pressure: nil, tilt_x: nil, tilt_y: nil, twist: nil, delta_x: nil, delta_y: nil, pointer_type: nil)
81
+ @devtools.send_cmd('Input.dispatchMouseEvent',
82
+ type: type,
83
+ x: x,
84
+ y: y,
85
+ modifiers: modifiers,
86
+ timestamp: timestamp,
87
+ button: button,
88
+ buttons: buttons,
89
+ clickCount: click_count,
90
+ force: force,
91
+ tangentialPressure: tangential_pressure,
92
+ tiltX: tilt_x,
93
+ tiltY: tilt_y,
94
+ twist: twist,
95
+ deltaX: delta_x,
96
+ deltaY: delta_y,
97
+ pointerType: pointer_type)
98
+ end
99
+
100
+ def dispatch_touch_event(type:, touch_points:, modifiers: nil, timestamp: nil)
101
+ @devtools.send_cmd('Input.dispatchTouchEvent',
102
+ type: type,
103
+ touchPoints: touch_points,
104
+ modifiers: modifiers,
105
+ timestamp: timestamp)
106
+ end
107
+
108
+ def emulate_touch_from_mouse_event(type:, x:, y:, button:, timestamp: nil, delta_x: nil, delta_y: nil, modifiers: nil, click_count: nil)
109
+ @devtools.send_cmd('Input.emulateTouchFromMouseEvent',
110
+ type: type,
111
+ x: x,
112
+ y: y,
113
+ button: button,
114
+ timestamp: timestamp,
115
+ deltaX: delta_x,
116
+ deltaY: delta_y,
117
+ modifiers: modifiers,
118
+ clickCount: click_count)
119
+ end
120
+
121
+ def set_ignore_input_events(ignore:)
122
+ @devtools.send_cmd('Input.setIgnoreInputEvents',
123
+ ignore: ignore)
124
+ end
125
+
126
+ def set_intercept_drags(enabled:)
127
+ @devtools.send_cmd('Input.setInterceptDrags',
128
+ enabled: enabled)
129
+ end
130
+
131
+ def synthesize_pinch_gesture(x:, y:, scale_factor:, relative_speed: nil, gesture_source_type: nil)
132
+ @devtools.send_cmd('Input.synthesizePinchGesture',
133
+ x: x,
134
+ y: y,
135
+ scaleFactor: scale_factor,
136
+ relativeSpeed: relative_speed,
137
+ gestureSourceType: gesture_source_type)
138
+ end
139
+
140
+ def synthesize_scroll_gesture(x:, y:, x_distance: nil, y_distance: nil, x_overscroll: nil, y_overscroll: nil, prevent_fling: nil, speed: nil, gesture_source_type: nil, repeat_count: nil, repeat_delay_ms: nil, interaction_marker_name: nil)
141
+ @devtools.send_cmd('Input.synthesizeScrollGesture',
142
+ x: x,
143
+ y: y,
144
+ xDistance: x_distance,
145
+ yDistance: y_distance,
146
+ xOverscroll: x_overscroll,
147
+ yOverscroll: y_overscroll,
148
+ preventFling: prevent_fling,
149
+ speed: speed,
150
+ gestureSourceType: gesture_source_type,
151
+ repeatCount: repeat_count,
152
+ repeatDelayMs: repeat_delay_ms,
153
+ interactionMarkerName: interaction_marker_name)
154
+ end
155
+
156
+ def synthesize_tap_gesture(x:, y:, duration: nil, tap_count: nil, gesture_source_type: nil)
157
+ @devtools.send_cmd('Input.synthesizeTapGesture',
158
+ x: x,
159
+ y: y,
160
+ duration: duration,
161
+ tapCount: tap_count,
162
+ gestureSourceType: gesture_source_type)
163
+ end
164
+
165
+ end # Input
166
+ end # V100
167
+ end # DevTools
168
+ end # Selenium
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Licensed to the Software Freedom Conservancy (SFC) under one
4
+ # or more contributor license agreements. See the NOTICE file
5
+ # distributed with this work for additional information
6
+ # regarding copyright ownership. The SFC licenses this file
7
+ # to you under the Apache License, Version 2.0 (the
8
+ # "License"); you may not use this file except in compliance
9
+ # with the License. You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing,
14
+ # software distributed under the License is distributed on an
15
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
+ # KIND, either express or implied. See the License for the
17
+ # specific language governing permissions and limitations
18
+ # under the License.
19
+
20
+ # This file is automatically generated. Any changes will be lost!
21
+ module Selenium
22
+ module DevTools
23
+ module V100
24
+ class Inspector
25
+ EVENTS = {
26
+ detached: 'detached',
27
+ target_crashed: 'targetCrashed',
28
+ target_reloaded_after_crash: 'targetReloadedAfterCrash',
29
+ }.freeze
30
+
31
+ def initialize(devtools)
32
+ @devtools = devtools
33
+ end
34
+
35
+ def on(event, &block)
36
+ event = EVENTS[event] if event.is_a?(Symbol)
37
+ @devtools.callbacks["Inspector.#{event}"] << block
38
+ end
39
+
40
+ def disable
41
+ @devtools.send_cmd('Inspector.disable')
42
+ end
43
+
44
+ def enable
45
+ @devtools.send_cmd('Inspector.enable')
46
+ end
47
+
48
+ end # Inspector
49
+ end # V100
50
+ end # DevTools
51
+ end # Selenium
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Licensed to the Software Freedom Conservancy (SFC) under one
4
+ # or more contributor license agreements. See the NOTICE file
5
+ # distributed with this work for additional information
6
+ # regarding copyright ownership. The SFC licenses this file
7
+ # to you under the Apache License, Version 2.0 (the
8
+ # "License"); you may not use this file except in compliance
9
+ # with the License. You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing,
14
+ # software distributed under the License is distributed on an
15
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
+ # KIND, either express or implied. See the License for the
17
+ # specific language governing permissions and limitations
18
+ # under the License.
19
+
20
+ # This file is automatically generated. Any changes will be lost!
21
+ module Selenium
22
+ module DevTools
23
+ module V100
24
+ class IO
25
+
26
+ def initialize(devtools)
27
+ @devtools = devtools
28
+ end
29
+
30
+ def on(event, &block)
31
+ event = EVENTS[event] if event.is_a?(Symbol)
32
+ @devtools.callbacks["IO.#{event}"] << block
33
+ end
34
+
35
+ def close(handle:)
36
+ @devtools.send_cmd('IO.close',
37
+ handle: handle)
38
+ end
39
+
40
+ def read(handle:, offset: nil, size: nil)
41
+ @devtools.send_cmd('IO.read',
42
+ handle: handle,
43
+ offset: offset,
44
+ size: size)
45
+ end
46
+
47
+ def resolve_blob(object_id:)
48
+ @devtools.send_cmd('IO.resolveBlob',
49
+ objectId: object_id)
50
+ end
51
+
52
+ end # IO
53
+ end # V100
54
+ end # DevTools
55
+ end # Selenium
@@ -0,0 +1,91 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Licensed to the Software Freedom Conservancy (SFC) under one
4
+ # or more contributor license agreements. See the NOTICE file
5
+ # distributed with this work for additional information
6
+ # regarding copyright ownership. The SFC licenses this file
7
+ # to you under the Apache License, Version 2.0 (the
8
+ # "License"); you may not use this file except in compliance
9
+ # with the License. You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing,
14
+ # software distributed under the License is distributed on an
15
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
+ # KIND, either express or implied. See the License for the
17
+ # specific language governing permissions and limitations
18
+ # under the License.
19
+
20
+ # This file is automatically generated. Any changes will be lost!
21
+ module Selenium
22
+ module DevTools
23
+ module V100
24
+ class LayerTree
25
+ EVENTS = {
26
+ layer_painted: 'layerPainted',
27
+ layer_tree_did_change: 'layerTreeDidChange',
28
+ }.freeze
29
+
30
+ def initialize(devtools)
31
+ @devtools = devtools
32
+ end
33
+
34
+ def on(event, &block)
35
+ event = EVENTS[event] if event.is_a?(Symbol)
36
+ @devtools.callbacks["LayerTree.#{event}"] << block
37
+ end
38
+
39
+ def compositing_reasons(layer_id:)
40
+ @devtools.send_cmd('LayerTree.compositingReasons',
41
+ layerId: layer_id)
42
+ end
43
+
44
+ def disable
45
+ @devtools.send_cmd('LayerTree.disable')
46
+ end
47
+
48
+ def enable
49
+ @devtools.send_cmd('LayerTree.enable')
50
+ end
51
+
52
+ def load_snapshot(tiles:)
53
+ @devtools.send_cmd('LayerTree.loadSnapshot',
54
+ tiles: tiles)
55
+ end
56
+
57
+ def make_snapshot(layer_id:)
58
+ @devtools.send_cmd('LayerTree.makeSnapshot',
59
+ layerId: layer_id)
60
+ end
61
+
62
+ def profile_snapshot(snapshot_id:, min_repeat_count: nil, min_duration: nil, clip_rect: nil)
63
+ @devtools.send_cmd('LayerTree.profileSnapshot',
64
+ snapshotId: snapshot_id,
65
+ minRepeatCount: min_repeat_count,
66
+ minDuration: min_duration,
67
+ clipRect: clip_rect)
68
+ end
69
+
70
+ def release_snapshot(snapshot_id:)
71
+ @devtools.send_cmd('LayerTree.releaseSnapshot',
72
+ snapshotId: snapshot_id)
73
+ end
74
+
75
+ def replay_snapshot(snapshot_id:, from_step: nil, to_step: nil, scale: nil)
76
+ @devtools.send_cmd('LayerTree.replaySnapshot',
77
+ snapshotId: snapshot_id,
78
+ fromStep: from_step,
79
+ toStep: to_step,
80
+ scale: scale)
81
+ end
82
+
83
+ def snapshot_command_log(snapshot_id:)
84
+ @devtools.send_cmd('LayerTree.snapshotCommandLog',
85
+ snapshotId: snapshot_id)
86
+ end
87
+
88
+ end # LayerTree
89
+ end # V100
90
+ end # DevTools
91
+ end # Selenium
@@ -0,0 +1,62 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Licensed to the Software Freedom Conservancy (SFC) under one
4
+ # or more contributor license agreements. See the NOTICE file
5
+ # distributed with this work for additional information
6
+ # regarding copyright ownership. The SFC licenses this file
7
+ # to you under the Apache License, Version 2.0 (the
8
+ # "License"); you may not use this file except in compliance
9
+ # with the License. You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing,
14
+ # software distributed under the License is distributed on an
15
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
+ # KIND, either express or implied. See the License for the
17
+ # specific language governing permissions and limitations
18
+ # under the License.
19
+
20
+ # This file is automatically generated. Any changes will be lost!
21
+ module Selenium
22
+ module DevTools
23
+ module V100
24
+ class Log
25
+ EVENTS = {
26
+ entry_added: 'entryAdded',
27
+ }.freeze
28
+
29
+ def initialize(devtools)
30
+ @devtools = devtools
31
+ end
32
+
33
+ def on(event, &block)
34
+ event = EVENTS[event] if event.is_a?(Symbol)
35
+ @devtools.callbacks["Log.#{event}"] << block
36
+ end
37
+
38
+ def clear
39
+ @devtools.send_cmd('Log.clear')
40
+ end
41
+
42
+ def disable
43
+ @devtools.send_cmd('Log.disable')
44
+ end
45
+
46
+ def enable
47
+ @devtools.send_cmd('Log.enable')
48
+ end
49
+
50
+ def start_violations_report(config:)
51
+ @devtools.send_cmd('Log.startViolationsReport',
52
+ config: config)
53
+ end
54
+
55
+ def stop_violations_report
56
+ @devtools.send_cmd('Log.stopViolationsReport')
57
+ end
58
+
59
+ end # Log
60
+ end # V100
61
+ end # DevTools
62
+ end # Selenium
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Licensed to the Software Freedom Conservancy (SFC) under one
4
+ # or more contributor license agreements. See the NOTICE file
5
+ # distributed with this work for additional information
6
+ # regarding copyright ownership. The SFC licenses this file
7
+ # to you under the Apache License, Version 2.0 (the
8
+ # "License"); you may not use this file except in compliance
9
+ # with the License. You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing,
14
+ # software distributed under the License is distributed on an
15
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
+ # KIND, either express or implied. See the License for the
17
+ # specific language governing permissions and limitations
18
+ # under the License.
19
+
20
+ # This file is automatically generated. Any changes will be lost!
21
+ module Selenium
22
+ module DevTools
23
+ module V100
24
+ class Media
25
+ EVENTS = {
26
+ player_properties_changed: 'playerPropertiesChanged',
27
+ player_events_added: 'playerEventsAdded',
28
+ player_messages_logged: 'playerMessagesLogged',
29
+ player_errors_raised: 'playerErrorsRaised',
30
+ players_created: 'playersCreated',
31
+ }.freeze
32
+
33
+ def initialize(devtools)
34
+ @devtools = devtools
35
+ end
36
+
37
+ def on(event, &block)
38
+ event = EVENTS[event] if event.is_a?(Symbol)
39
+ @devtools.callbacks["Media.#{event}"] << block
40
+ end
41
+
42
+ def enable
43
+ @devtools.send_cmd('Media.enable')
44
+ end
45
+
46
+ def disable
47
+ @devtools.send_cmd('Media.disable')
48
+ end
49
+
50
+ end # Media
51
+ end # V100
52
+ end # DevTools
53
+ end # Selenium
@@ -0,0 +1,82 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Licensed to the Software Freedom Conservancy (SFC) under one
4
+ # or more contributor license agreements. See the NOTICE file
5
+ # distributed with this work for additional information
6
+ # regarding copyright ownership. The SFC licenses this file
7
+ # to you under the Apache License, Version 2.0 (the
8
+ # "License"); you may not use this file except in compliance
9
+ # with the License. You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing,
14
+ # software distributed under the License is distributed on an
15
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
+ # KIND, either express or implied. See the License for the
17
+ # specific language governing permissions and limitations
18
+ # under the License.
19
+
20
+ # This file is automatically generated. Any changes will be lost!
21
+ module Selenium
22
+ module DevTools
23
+ module V100
24
+ class Memory
25
+
26
+ def initialize(devtools)
27
+ @devtools = devtools
28
+ end
29
+
30
+ def on(event, &block)
31
+ event = EVENTS[event] if event.is_a?(Symbol)
32
+ @devtools.callbacks["Memory.#{event}"] << block
33
+ end
34
+
35
+ def get_dom_counters
36
+ @devtools.send_cmd('Memory.getDOMCounters')
37
+ end
38
+
39
+ def prepare_for_leak_detection
40
+ @devtools.send_cmd('Memory.prepareForLeakDetection')
41
+ end
42
+
43
+ def forcibly_purge_javascript_memory
44
+ @devtools.send_cmd('Memory.forciblyPurgeJavaScriptMemory')
45
+ end
46
+
47
+ def set_pressure_notifications_suppressed(suppressed:)
48
+ @devtools.send_cmd('Memory.setPressureNotificationsSuppressed',
49
+ suppressed: suppressed)
50
+ end
51
+
52
+ def simulate_pressure_notification(level:)
53
+ @devtools.send_cmd('Memory.simulatePressureNotification',
54
+ level: level)
55
+ end
56
+
57
+ def start_sampling(sampling_interval: nil, suppress_randomness: nil)
58
+ @devtools.send_cmd('Memory.startSampling',
59
+ samplingInterval: sampling_interval,
60
+ suppressRandomness: suppress_randomness)
61
+ end
62
+
63
+ def stop_sampling
64
+ @devtools.send_cmd('Memory.stopSampling')
65
+ end
66
+
67
+ def get_all_time_sampling_profile
68
+ @devtools.send_cmd('Memory.getAllTimeSamplingProfile')
69
+ end
70
+
71
+ def get_browser_sampling_profile
72
+ @devtools.send_cmd('Memory.getBrowserSamplingProfile')
73
+ end
74
+
75
+ def get_sampling_profile
76
+ @devtools.send_cmd('Memory.getSamplingProfile')
77
+ end
78
+
79
+ end # Memory
80
+ end # V100
81
+ end # DevTools
82
+ end # Selenium