playwright-ruby-client 0.0.8 → 0.3.0

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.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -3
  3. data/docs/api_coverage.md +159 -101
  4. data/lib/playwright.rb +5 -2
  5. data/lib/playwright/{input_types/android_input.rb → android_input_impl.rb} +5 -1
  6. data/lib/playwright/api_implementation.rb +18 -0
  7. data/lib/playwright/channel.rb +13 -6
  8. data/lib/playwright/channel_owner.rb +3 -5
  9. data/lib/playwright/channel_owners/android.rb +1 -1
  10. data/lib/playwright/channel_owners/android_device.rb +12 -12
  11. data/lib/playwright/channel_owners/binding_call.rb +3 -0
  12. data/lib/playwright/channel_owners/browser.rb +1 -1
  13. data/lib/playwright/channel_owners/browser_context.rb +157 -3
  14. data/lib/playwright/channel_owners/dialog.rb +28 -0
  15. data/lib/playwright/channel_owners/download.rb +27 -0
  16. data/lib/playwright/channel_owners/element_handle.rb +15 -4
  17. data/lib/playwright/channel_owners/frame.rb +24 -5
  18. data/lib/playwright/channel_owners/js_handle.rb +1 -1
  19. data/lib/playwright/channel_owners/page.rb +367 -29
  20. data/lib/playwright/channel_owners/playwright.rb +4 -0
  21. data/lib/playwright/channel_owners/request.rb +35 -3
  22. data/lib/playwright/channel_owners/response.rb +60 -0
  23. data/lib/playwright/channel_owners/route.rb +78 -0
  24. data/lib/playwright/channel_owners/selectors.rb +19 -1
  25. data/lib/playwright/errors.rb +1 -1
  26. data/lib/playwright/event_emitter.rb +8 -1
  27. data/lib/playwright/event_emitter_proxy.rb +49 -0
  28. data/lib/playwright/file_chooser_impl.rb +23 -0
  29. data/lib/playwright/http_headers.rb +20 -0
  30. data/lib/playwright/input_files.rb +1 -1
  31. data/lib/playwright/{input_types/keyboard.rb → keyboard_impl.rb} +5 -1
  32. data/lib/playwright/mouse_impl.rb +7 -0
  33. data/lib/playwright/playwright_api.rb +59 -20
  34. data/lib/playwright/route_handler_entry.rb +36 -0
  35. data/lib/playwright/select_option_values.rb +14 -4
  36. data/lib/playwright/touchscreen_impl.rb +7 -0
  37. data/lib/playwright/utils.rb +4 -3
  38. data/lib/playwright/version.rb +1 -1
  39. data/lib/playwright/wait_helper.rb +1 -1
  40. data/lib/playwright_api/android.rb +82 -11
  41. data/lib/playwright_api/android_device.rb +148 -32
  42. data/lib/playwright_api/android_input.rb +17 -13
  43. data/lib/playwright_api/android_socket.rb +16 -0
  44. data/lib/playwright_api/android_web_view.rb +21 -0
  45. data/lib/playwright_api/binding_call.rb +14 -5
  46. data/lib/playwright_api/browser.rb +22 -23
  47. data/lib/playwright_api/browser_context.rb +49 -35
  48. data/lib/playwright_api/browser_type.rb +24 -64
  49. data/lib/playwright_api/chromium_browser_context.rb +10 -8
  50. data/lib/playwright_api/console_message.rb +10 -6
  51. data/lib/playwright_api/dialog.rb +37 -6
  52. data/lib/playwright_api/download.rb +28 -11
  53. data/lib/playwright_api/element_handle.rb +107 -96
  54. data/lib/playwright_api/file_chooser.rb +18 -10
  55. data/lib/playwright_api/frame.rb +124 -117
  56. data/lib/playwright_api/js_handle.rb +20 -22
  57. data/lib/playwright_api/keyboard.rb +5 -5
  58. data/lib/playwright_api/page.rb +206 -148
  59. data/lib/playwright_api/playwright.rb +33 -45
  60. data/lib/playwright_api/request.rb +11 -12
  61. data/lib/playwright_api/response.rb +30 -16
  62. data/lib/playwright_api/route.rb +27 -5
  63. data/lib/playwright_api/selectors.rb +14 -10
  64. data/lib/playwright_api/web_socket.rb +10 -1
  65. data/lib/playwright_api/worker.rb +13 -13
  66. metadata +16 -7
  67. data/lib/playwright/input_type.rb +0 -19
  68. data/lib/playwright/input_types/mouse.rb +0 -4
  69. data/lib/playwright/input_types/touchscreen.rb +0 -4
@@ -113,51 +113,15 @@ module Playwright
113
113
  wrap_impl(@impl.devices)
114
114
  end
115
115
 
116
- # Playwright methods might throw errors if they are unable to fulfill a request. For example,
117
- # [`method: Page.waitForSelector`] might fail if the selector doesn't match any nodes during the given timeframe.
118
- #
119
- # For certain types of errors Playwright uses specific error classes. These classes are available via
120
- # [`playwright.errors`](#playwrighterrors).
121
- #
122
- # An example of handling a timeout error:
123
- #
124
- #
125
- # ```js
126
- # try {
127
- # await page.waitForSelector('.foo');
128
- # } catch (e) {
129
- # if (e instanceof playwright.errors.TimeoutError) {
130
- # // Do something if this is a timeout.
131
- # }
132
- # }
133
- # ```
134
- #
135
- # ```python async
136
- # try:
137
- # await page.wait_for_selector(".foo")
138
- # except TimeoutError as e:
139
- # # do something if this is a timeout.
140
- # ```
141
- #
142
- # ```python sync
143
- # try:
144
- # page.wait_for_selector(".foo")
145
- # except TimeoutError as e:
146
- # # do something if this is a timeout.
147
- # ```
148
- def errors # property
149
- raise NotImplementedError.new('errors is not implemented yet.')
150
- end
151
-
152
116
  # This object can be used to launch or connect to Firefox, returning instances of `FirefoxBrowser`.
153
117
  def firefox # property
154
118
  wrap_impl(@impl.firefox)
155
119
  end
156
120
 
157
- # Selectors can be used to install custom selector engines. See
158
- # [Working with selectors](./selectors.md#working-with-selectors) for more information.
121
+ # Selectors can be used to install custom selector engines. See [Working with selectors](./selectors.md) for more
122
+ # information.
159
123
  def selectors # property
160
- raise NotImplementedError.new('selectors is not implemented yet.')
124
+ wrap_impl(@impl.selectors)
161
125
  end
162
126
 
163
127
  # This object can be used to launch or connect to WebKit, returning instances of `WebKitBrowser`.
@@ -165,6 +129,26 @@ module Playwright
165
129
  wrap_impl(@impl.webkit)
166
130
  end
167
131
 
132
+ # Terminates this instance of Playwright in case it was created bypassing the Python context manager. This is useful in
133
+ # REPL applications.
134
+ #
135
+ # ```py
136
+ # >>> from playwright.sync_api import sync_playwright
137
+ #
138
+ # >>> playwright = sync_playwright().start()
139
+ #
140
+ # >>> browser = playwright.chromium.launch()
141
+ # >>> page = browser.new_page()
142
+ # >>> page.goto("http://whatsmyuseragent.org/")
143
+ # >>> page.screenshot(path="example.png")
144
+ # >>> browser.close()
145
+ #
146
+ # >>> playwright.stop()
147
+ # ```
148
+ def stop
149
+ raise NotImplementedError.new('stop is not implemented yet.')
150
+ end
151
+
168
152
  # @nodoc
169
153
  def android
170
154
  wrap_impl(@impl.android)
@@ -177,20 +161,24 @@ module Playwright
177
161
 
178
162
  # -- inherited from EventEmitter --
179
163
  # @nodoc
180
- def on(event, callback)
181
- wrap_impl(@impl.on(unwrap_impl(event), unwrap_impl(callback)))
164
+ def off(event, callback)
165
+ event_emitter_proxy.off(event, callback)
182
166
  end
183
167
 
184
168
  # -- inherited from EventEmitter --
185
169
  # @nodoc
186
- def off(event, callback)
187
- wrap_impl(@impl.off(unwrap_impl(event), unwrap_impl(callback)))
170
+ def once(event, callback)
171
+ event_emitter_proxy.once(event, callback)
188
172
  end
189
173
 
190
174
  # -- inherited from EventEmitter --
191
175
  # @nodoc
192
- def once(event, callback)
193
- wrap_impl(@impl.once(unwrap_impl(event), unwrap_impl(callback)))
176
+ def on(event, callback)
177
+ event_emitter_proxy.on(event, callback)
178
+ end
179
+
180
+ private def event_emitter_proxy
181
+ @event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
194
182
  end
195
183
  end
196
184
  end
@@ -2,10 +2,10 @@ module Playwright
2
2
  # Whenever the page sends a request for a network resource the following sequence of events are emitted by `Page`:
3
3
  # - [`event: Page.request`] emitted when the request is issued by the page.
4
4
  # - [`event: Page.response`] emitted when/if the response status and headers are received for the request.
5
- # - [`event: Page.requestfinished`] emitted when the response body is downloaded and the request is complete.
5
+ # - [`event: Page.requestFinished`] emitted when the response body is downloaded and the request is complete.
6
6
  #
7
7
  # If request fails at some point, then instead of `'requestfinished'` event (and possibly instead of 'response' event),
8
- # the [`event: Page.requestfailed`] event is emitted.
8
+ # the [`event: Page.requestFailed`] event is emitted.
9
9
  #
10
10
  # > NOTE: HTTP Error responses, such as 404 or 503, are still successful responses from HTTP standpoint, so request will
11
11
  # complete with `'requestfinished'` event.
@@ -178,27 +178,26 @@ module Playwright
178
178
  wrap_impl(@impl.url)
179
179
  end
180
180
 
181
+ # -- inherited from EventEmitter --
181
182
  # @nodoc
182
- def after_initialize
183
- wrap_impl(@impl.after_initialize)
183
+ def off(event, callback)
184
+ event_emitter_proxy.off(event, callback)
184
185
  end
185
186
 
186
187
  # -- inherited from EventEmitter --
187
188
  # @nodoc
188
- def on(event, callback)
189
- wrap_impl(@impl.on(unwrap_impl(event), unwrap_impl(callback)))
189
+ def once(event, callback)
190
+ event_emitter_proxy.once(event, callback)
190
191
  end
191
192
 
192
193
  # -- inherited from EventEmitter --
193
194
  # @nodoc
194
- def off(event, callback)
195
- wrap_impl(@impl.off(unwrap_impl(event), unwrap_impl(callback)))
195
+ def on(event, callback)
196
+ event_emitter_proxy.on(event, callback)
196
197
  end
197
198
 
198
- # -- inherited from EventEmitter --
199
- # @nodoc
200
- def once(event, callback)
201
- wrap_impl(@impl.once(unwrap_impl(event), unwrap_impl(callback)))
199
+ private def event_emitter_proxy
200
+ @event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
202
201
  end
203
202
  end
204
203
  end
@@ -4,77 +4,91 @@ module Playwright
4
4
 
5
5
  # Returns the buffer with response body.
6
6
  def body
7
- raise NotImplementedError.new('body is not implemented yet.')
7
+ wrap_impl(@impl.body)
8
8
  end
9
9
 
10
10
  # Waits for this response to finish, returns failure error if request failed.
11
11
  def finished
12
- raise NotImplementedError.new('finished is not implemented yet.')
12
+ wrap_impl(@impl.finished)
13
13
  end
14
14
 
15
15
  # Returns the `Frame` that initiated this response.
16
16
  def frame
17
- raise NotImplementedError.new('frame is not implemented yet.')
17
+ wrap_impl(@impl.frame)
18
18
  end
19
19
 
20
20
  # Returns the object with HTTP headers associated with the response. All header names are lower-case.
21
21
  def headers
22
- raise NotImplementedError.new('headers is not implemented yet.')
22
+ wrap_impl(@impl.headers)
23
23
  end
24
24
 
25
25
  # Returns the JSON representation of response body.
26
26
  #
27
27
  # This method will throw if the response body is not parsable via `JSON.parse`.
28
28
  def json
29
- raise NotImplementedError.new('json is not implemented yet.')
29
+ wrap_impl(@impl.json)
30
30
  end
31
31
 
32
32
  # Contains a boolean stating whether the response was successful (status in the range 200-299) or not.
33
33
  def ok
34
- raise NotImplementedError.new('ok is not implemented yet.')
34
+ wrap_impl(@impl.ok)
35
35
  end
36
36
 
37
37
  # Returns the matching `Request` object.
38
38
  def request
39
- raise NotImplementedError.new('request is not implemented yet.')
39
+ wrap_impl(@impl.request)
40
40
  end
41
41
 
42
42
  # Contains the status code of the response (e.g., 200 for a success).
43
43
  def status
44
- raise NotImplementedError.new('status is not implemented yet.')
44
+ wrap_impl(@impl.status)
45
45
  end
46
46
 
47
47
  # Contains the status text of the response (e.g. usually an "OK" for a success).
48
48
  def status_text
49
- raise NotImplementedError.new('status_text is not implemented yet.')
49
+ wrap_impl(@impl.status_text)
50
50
  end
51
51
 
52
52
  # Returns the text representation of response body.
53
53
  def text
54
- raise NotImplementedError.new('text is not implemented yet.')
54
+ wrap_impl(@impl.text)
55
55
  end
56
56
 
57
57
  # Contains the URL of the response.
58
58
  def url
59
- raise NotImplementedError.new('url is not implemented yet.')
59
+ wrap_impl(@impl.url)
60
60
  end
61
61
 
62
- # -- inherited from EventEmitter --
63
62
  # @nodoc
64
- def on(event, callback)
65
- wrap_impl(@impl.on(unwrap_impl(event), unwrap_impl(callback)))
63
+ def ok?
64
+ wrap_impl(@impl.ok?)
65
+ end
66
+
67
+ # @nodoc
68
+ def after_initialize
69
+ wrap_impl(@impl.after_initialize)
66
70
  end
67
71
 
68
72
  # -- inherited from EventEmitter --
69
73
  # @nodoc
70
74
  def off(event, callback)
71
- wrap_impl(@impl.off(unwrap_impl(event), unwrap_impl(callback)))
75
+ event_emitter_proxy.off(event, callback)
72
76
  end
73
77
 
74
78
  # -- inherited from EventEmitter --
75
79
  # @nodoc
76
80
  def once(event, callback)
77
- wrap_impl(@impl.once(unwrap_impl(event), unwrap_impl(callback)))
81
+ event_emitter_proxy.once(event, callback)
82
+ end
83
+
84
+ # -- inherited from EventEmitter --
85
+ # @nodoc
86
+ def on(event, callback)
87
+ event_emitter_proxy.on(event, callback)
88
+ end
89
+
90
+ private def event_emitter_proxy
91
+ @event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
78
92
  end
79
93
  end
80
94
  end
@@ -5,7 +5,7 @@ module Playwright
5
5
 
6
6
  # Aborts the route's request.
7
7
  def abort(errorCode: nil)
8
- raise NotImplementedError.new('abort is not implemented yet.')
8
+ wrap_impl(@impl.abort(errorCode: unwrap_impl(errorCode)))
9
9
  end
10
10
 
11
11
  # Continues route's request with optional overrides.
@@ -48,8 +48,8 @@ module Playwright
48
48
  # }
49
49
  # page.route("**/*", handle)
50
50
  # ```
51
- def continue_(headers: nil, method: nil, postData: nil, url: nil)
52
- raise NotImplementedError.new('continue_ is not implemented yet.')
51
+ def continue(headers: nil, method: nil, postData: nil, url: nil)
52
+ wrap_impl(@impl.continue(headers: unwrap_impl(headers), method: unwrap_impl(method), postData: unwrap_impl(postData), url: unwrap_impl(url)))
53
53
  end
54
54
 
55
55
  # Fulfills route's request with given response.
@@ -101,12 +101,34 @@ module Playwright
101
101
  headers: nil,
102
102
  path: nil,
103
103
  status: nil)
104
- raise NotImplementedError.new('fulfill is not implemented yet.')
104
+ wrap_impl(@impl.fulfill(body: unwrap_impl(body), contentType: unwrap_impl(contentType), headers: unwrap_impl(headers), path: unwrap_impl(path), status: unwrap_impl(status)))
105
105
  end
106
106
 
107
107
  # A request to be routed.
108
108
  def request
109
- raise NotImplementedError.new('request is not implemented yet.')
109
+ wrap_impl(@impl.request)
110
+ end
111
+
112
+ # -- inherited from EventEmitter --
113
+ # @nodoc
114
+ def off(event, callback)
115
+ event_emitter_proxy.off(event, callback)
116
+ end
117
+
118
+ # -- inherited from EventEmitter --
119
+ # @nodoc
120
+ def once(event, callback)
121
+ event_emitter_proxy.once(event, callback)
122
+ end
123
+
124
+ # -- inherited from EventEmitter --
125
+ # @nodoc
126
+ def on(event, callback)
127
+ event_emitter_proxy.on(event, callback)
128
+ end
129
+
130
+ private def event_emitter_proxy
131
+ @event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
110
132
  end
111
133
  end
112
134
  end
@@ -1,6 +1,6 @@
1
1
  module Playwright
2
- # Selectors can be used to install custom selector engines. See
3
- # [Working with selectors](./selectors.md#working-with-selectors) for more information.
2
+ # Selectors can be used to install custom selector engines. See [Working with selectors](./selectors.md) for more
3
+ # information.
4
4
  class Selectors < PlaywrightApi
5
5
 
6
6
  # An example of registering selector engine that queries elements based on a tag name:
@@ -48,26 +48,30 @@ module Playwright
48
48
  # ```python sync
49
49
  # # FIXME: add snippet
50
50
  # ```
51
- def register(name, script, contentScript: nil)
52
- raise NotImplementedError.new('register is not implemented yet.')
51
+ def register(name, contentScript: nil, path: nil, script: nil)
52
+ wrap_impl(@impl.register(unwrap_impl(name), contentScript: unwrap_impl(contentScript), path: unwrap_impl(path), script: unwrap_impl(script)))
53
53
  end
54
54
 
55
55
  # -- inherited from EventEmitter --
56
56
  # @nodoc
57
- def on(event, callback)
58
- wrap_impl(@impl.on(unwrap_impl(event), unwrap_impl(callback)))
57
+ def off(event, callback)
58
+ event_emitter_proxy.off(event, callback)
59
59
  end
60
60
 
61
61
  # -- inherited from EventEmitter --
62
62
  # @nodoc
63
- def off(event, callback)
64
- wrap_impl(@impl.off(unwrap_impl(event), unwrap_impl(callback)))
63
+ def once(event, callback)
64
+ event_emitter_proxy.once(event, callback)
65
65
  end
66
66
 
67
67
  # -- inherited from EventEmitter --
68
68
  # @nodoc
69
- def once(event, callback)
70
- wrap_impl(@impl.once(unwrap_impl(event), unwrap_impl(callback)))
69
+ def on(event, callback)
70
+ event_emitter_proxy.on(event, callback)
71
+ end
72
+
73
+ private def event_emitter_proxy
74
+ @event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
71
75
  end
72
76
  end
73
77
  end
@@ -14,8 +14,17 @@ module Playwright
14
14
 
15
15
  # Waits for event to fire and passes its value into the predicate function. Returns when the predicate returns truthy
16
16
  # value. Will throw an error if the webSocket is closed before the event is fired. Returns the event data value.
17
- def expect_event(event, optionsOrPredicate: nil)
17
+ def expect_event(event, predicate: nil, timeout: nil)
18
18
  raise NotImplementedError.new('expect_event is not implemented yet.')
19
19
  end
20
+
21
+ # > NOTE: In most cases, you should use [`method: WebSocket.waitForEvent`].
22
+ #
23
+ # Waits for given `event` to fire. If predicate is provided, it passes event's value into the `predicate` function and
24
+ # waits for `predicate(event)` to return a truthy value. Will throw an error if the socket is closed before the `event` is
25
+ # fired.
26
+ def wait_for_event(event, predicate: nil, timeout: nil)
27
+ raise NotImplementedError.new('wait_for_event is not implemented yet.')
28
+ end
20
29
  end
21
30
  end
@@ -28,26 +28,26 @@ module Playwright
28
28
  # ```
29
29
  class Worker < PlaywrightApi
30
30
 
31
- # Returns the return value of `pageFunction`
31
+ # Returns the return value of `expression`.
32
32
  #
33
- # If the function passed to the `worker.evaluate` returns a [Promise], then `worker.evaluate` would wait for the promise
34
- # to resolve and return its value.
33
+ # If the function passed to the [`method: Worker.evaluate`] returns a [Promise], then [`method: Worker.evaluate`] would
34
+ # wait for the promise to resolve and return its value.
35
35
  #
36
- # If the function passed to the `worker.evaluate` returns a non-[Serializable] value, then `worker.evaluate` returns
37
- # `undefined`. DevTools Protocol also supports transferring some additional values that are not serializable by `JSON`:
38
- # `-0`, `NaN`, `Infinity`, `-Infinity`, and bigint literals.
39
- def evaluate(pageFunction, arg: nil)
36
+ # If the function passed to the [`method: Worker.evaluate`] returns a non-[Serializable] value, then
37
+ # [`method: Worker.evaluate`] returns `undefined`. Playwright also supports transferring some additional values that are
38
+ # not serializable by `JSON`: `-0`, `NaN`, `Infinity`, `-Infinity`.
39
+ def evaluate(expression, arg: nil)
40
40
  raise NotImplementedError.new('evaluate is not implemented yet.')
41
41
  end
42
42
 
43
- # Returns the return value of `pageFunction` as in-page object (JSHandle).
43
+ # Returns the return value of `expression` as a `JSHandle`.
44
44
  #
45
- # The only difference between `worker.evaluate` and `worker.evaluateHandle` is that `worker.evaluateHandle` returns
46
- # in-page object (JSHandle).
45
+ # The only difference between [`method: Worker.evaluate`] and [`method: Worker.evaluateHandle`] is that
46
+ # [`method: Worker.evaluateHandle`] returns `JSHandle`.
47
47
  #
48
- # If the function passed to the `worker.evaluateHandle` returns a [Promise], then `worker.evaluateHandle` would wait for
49
- # the promise to resolve and return its value.
50
- def evaluate_handle(pageFunction, arg: nil)
48
+ # If the function passed to the [`method: Worker.evaluateHandle`] returns a [Promise], then
49
+ # [`method: Worker.evaluateHandle`] would wait for the promise to resolve and return its value.
50
+ def evaluate_handle(expression, arg: nil)
51
51
  raise NotImplementedError.new('evaluate_handle is not implemented yet.')
52
52
  end
53
53
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: playwright-ruby-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - YusukeIwaki
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-02-11 00:00:00.000000000 Z
11
+ date: 2021-03-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -181,6 +181,8 @@ files:
181
181
  - bin/setup
182
182
  - docs/api_coverage.md
183
183
  - lib/playwright.rb
184
+ - lib/playwright/android_input_impl.rb
185
+ - lib/playwright/api_implementation.rb
184
186
  - lib/playwright/channel.rb
185
187
  - lib/playwright/channel_owner.rb
186
188
  - lib/playwright/channel_owners/android.rb
@@ -192,6 +194,8 @@ files:
192
194
  - lib/playwright/channel_owners/chromium_browser.rb
193
195
  - lib/playwright/channel_owners/chromium_browser_context.rb
194
196
  - lib/playwright/channel_owners/console_message.rb
197
+ - lib/playwright/channel_owners/dialog.rb
198
+ - lib/playwright/channel_owners/download.rb
195
199
  - lib/playwright/channel_owners/electron.rb
196
200
  - lib/playwright/channel_owners/element_handle.rb
197
201
  - lib/playwright/channel_owners/firefox_browser.rb
@@ -201,26 +205,29 @@ files:
201
205
  - lib/playwright/channel_owners/playwright.rb
202
206
  - lib/playwright/channel_owners/request.rb
203
207
  - lib/playwright/channel_owners/response.rb
208
+ - lib/playwright/channel_owners/route.rb
204
209
  - lib/playwright/channel_owners/selectors.rb
205
210
  - lib/playwright/channel_owners/webkit_browser.rb
206
211
  - lib/playwright/connection.rb
207
212
  - lib/playwright/errors.rb
208
213
  - lib/playwright/event_emitter.rb
214
+ - lib/playwright/event_emitter_proxy.rb
209
215
  - lib/playwright/events.rb
216
+ - lib/playwright/file_chooser_impl.rb
217
+ - lib/playwright/http_headers.rb
210
218
  - lib/playwright/input_files.rb
211
- - lib/playwright/input_type.rb
212
- - lib/playwright/input_types/android_input.rb
213
- - lib/playwright/input_types/keyboard.rb
214
- - lib/playwright/input_types/mouse.rb
215
- - lib/playwright/input_types/touchscreen.rb
216
219
  - lib/playwright/javascript.rb
217
220
  - lib/playwright/javascript/expression.rb
218
221
  - lib/playwright/javascript/function.rb
219
222
  - lib/playwright/javascript/value_parser.rb
220
223
  - lib/playwright/javascript/value_serializer.rb
224
+ - lib/playwright/keyboard_impl.rb
225
+ - lib/playwright/mouse_impl.rb
221
226
  - lib/playwright/playwright_api.rb
227
+ - lib/playwright/route_handler_entry.rb
222
228
  - lib/playwright/select_option_values.rb
223
229
  - lib/playwright/timeout_settings.rb
230
+ - lib/playwright/touchscreen_impl.rb
224
231
  - lib/playwright/transport.rb
225
232
  - lib/playwright/url_matcher.rb
226
233
  - lib/playwright/utils.rb
@@ -230,6 +237,8 @@ files:
230
237
  - lib/playwright_api/android.rb
231
238
  - lib/playwright_api/android_device.rb
232
239
  - lib/playwright_api/android_input.rb
240
+ - lib/playwright_api/android_socket.rb
241
+ - lib/playwright_api/android_web_view.rb
233
242
  - lib/playwright_api/binding_call.rb
234
243
  - lib/playwright_api/browser.rb
235
244
  - lib/playwright_api/browser_context.rb