puppeteer-ruby 0.0.20 → 0.0.26

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.
@@ -32,14 +32,14 @@ class Puppeteer::Page
32
32
  @type ||= 'png'
33
33
 
34
34
  if options[:quality]
35
- unless @type == 'png'
35
+ unless @type == 'jpeg'
36
36
  raise ArgumentError.new("options.quality is unsupported for the #{@type} screenshots")
37
37
  end
38
38
  unless options[:quality].is_a?(Numeric)
39
39
  raise ArgumentError.new("Expected options.quality to be a number but found #{options[:quality].class}")
40
40
  end
41
41
  quality = options[:quality].to_i
42
- unless (0..100).include?(qualizy)
42
+ unless (0..100).include?(quality)
43
43
  raise ArgumentError.new("Expected options.quality to be between 0 and 100 (inclusive), got #{quality}")
44
44
  end
45
45
  @quality = quality
@@ -0,0 +1,13 @@
1
+ class Puppeteer::Page
2
+ class ScreenshotTaskQueue
3
+ def initialize
4
+ @chain = Concurrent::Promises.fulfilled_future(nil)
5
+ end
6
+
7
+ def post_task(&block)
8
+ result = @chain.then { block.call }
9
+ @chain = result.rescue { nil }
10
+ result.value!
11
+ end
12
+ end
13
+ end
@@ -18,15 +18,13 @@ class Puppeteer::Target
18
18
  # @param {!function():!Promise<!Puppeteer.CDPSession>} sessionFactory
19
19
  # @param {boolean} ignoreHTTPSErrors
20
20
  # @param {?Puppeteer.Viewport} defaultViewport
21
- # @param {!Puppeteer.TaskQueue} screenshotTaskQueue
22
- def initialize(target_info:, browser_context:, session_factory:, ignore_https_errors:, default_viewport:, screenshot_task_queue:)
21
+ def initialize(target_info:, browser_context:, session_factory:, ignore_https_errors:, default_viewport:)
23
22
  @target_info = target_info
24
23
  @browser_context = browser_context
25
24
  @target_id = target_info.target_id
26
25
  @session_factory = session_factory
27
26
  @ignore_https_errors = ignore_https_errors
28
27
  @default_viewport = default_viewport
29
- @screenshot_task_queue = screenshot_task_queue
30
28
 
31
29
 
32
30
  # /** @type {?Promise<!Puppeteer.Page>} */
@@ -68,10 +66,10 @@ class Puppeteer::Target
68
66
  if opener_page.nil? || type != 'page'
69
67
  return true
70
68
  end
71
- # if (!openerPage.listenerCount(Events.Page.Popup))
69
+ # if (!openerPage.listenerCount(PageEmittedEvents::Popup))
72
70
  # return true;
73
71
  popup_page = page
74
- opener_page.emit_event('Events.Page.Popup', popup_page)
72
+ opener_page.emit_event(PageEmittedEvents::Popup, popup_page)
75
73
 
76
74
  true
77
75
  end
@@ -87,7 +85,7 @@ class Puppeteer::Target
87
85
  def page
88
86
  if ['page', 'background_page', 'webview'].include?(@target_info.type) && @page.nil?
89
87
  client = @session_factory.call
90
- @page = Puppeteer::Page.create(client, self, @ignore_https_errors, @default_viewport, @screenshot_task_queue)
88
+ @page = Puppeteer::Page.create(client, self, @ignore_https_errors, @default_viewport)
91
89
  end
92
90
  @page
93
91
  end
@@ -1,3 +1,3 @@
1
1
  class Puppeteer
2
- VERSION = '0.0.20'
2
+ VERSION = '0.0.26'
3
3
  end
@@ -22,6 +22,7 @@ Gem::Specification.new do |spec|
22
22
  spec.add_dependency 'websocket-driver', '>= 0.6.0'
23
23
  spec.add_dependency 'mime-types', '>= 3.0'
24
24
  spec.add_development_dependency 'bundler', '~> 1.17'
25
+ spec.add_development_dependency 'chunky_png'
25
26
  spec.add_development_dependency 'pry-byebug'
26
27
  spec.add_development_dependency 'rake', '~> 10.0'
27
28
  spec.add_development_dependency 'rspec', '~> 3.0'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppeteer-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.20
4
+ version: 0.0.26
5
5
  platform: ruby
6
6
  authors:
7
7
  - YusukeIwaki
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-09-21 00:00:00.000000000 Z
11
+ date: 2020-12-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '1.17'
69
+ - !ruby/object:Gem::Dependency
70
+ name: chunky_png
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: pry-byebug
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -193,6 +207,7 @@ files:
193
207
  - ".rspec"
194
208
  - ".rubocop.yml"
195
209
  - ".travis.yml"
210
+ - CHANGELOG.md
196
211
  - Dockerfile
197
212
  - Gemfile
198
213
  - README.md
@@ -223,10 +238,13 @@ files:
223
238
  - lib/puppeteer/env.rb
224
239
  - lib/puppeteer/errors.rb
225
240
  - lib/puppeteer/event_callbackable.rb
241
+ - lib/puppeteer/events.rb
242
+ - lib/puppeteer/exception_details.rb
226
243
  - lib/puppeteer/execution_context.rb
227
244
  - lib/puppeteer/file_chooser.rb
228
245
  - lib/puppeteer/frame.rb
229
246
  - lib/puppeteer/frame_manager.rb
247
+ - lib/puppeteer/geolocation.rb
230
248
  - lib/puppeteer/if_present.rb
231
249
  - lib/puppeteer/js_handle.rb
232
250
  - lib/puppeteer/keyboard.rb
@@ -245,6 +263,7 @@ files:
245
263
  - lib/puppeteer/page.rb
246
264
  - lib/puppeteer/page/pdf_options.rb
247
265
  - lib/puppeteer/page/screenshot_options.rb
266
+ - lib/puppeteer/page/screenshot_task_queue.rb
248
267
  - lib/puppeteer/remote_object.rb
249
268
  - lib/puppeteer/request.rb
250
269
  - lib/puppeteer/response.rb