puppeteer-ruby 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/docs/Puppeteer.html +2 -2
  3. data/docs/Puppeteer/AsyncAwaitBehavior.html +1 -1
  4. data/docs/Puppeteer/Browser.html +47 -49
  5. data/docs/Puppeteer/BrowserContext.html +1 -1
  6. data/docs/Puppeteer/BrowserFetcher.html +1 -1
  7. data/docs/Puppeteer/BrowserRunner.html +1 -1
  8. data/docs/Puppeteer/BrowserRunner/BrowserProcess.html +1 -1
  9. data/docs/Puppeteer/CDPSession.html +1 -1
  10. data/docs/Puppeteer/CDPSession/Error.html +1 -1
  11. data/docs/Puppeteer/ConcurrentRubyUtils.html +1 -1
  12. data/docs/Puppeteer/Connection.html +1 -1
  13. data/docs/Puppeteer/Connection/MessageCallback.html +1 -1
  14. data/docs/Puppeteer/Connection/ProtocolError.html +1 -1
  15. data/docs/Puppeteer/Connection/RequestDebugPrinter.html +1 -1
  16. data/docs/Puppeteer/Connection/ResponseDebugPrinter.html +1 -1
  17. data/docs/Puppeteer/ConsoleMessage.html +1 -1
  18. data/docs/Puppeteer/ConsoleMessage/Location.html +1 -1
  19. data/docs/Puppeteer/DOMWorld.html +1 -1
  20. data/docs/Puppeteer/DOMWorld/DetachedError.html +1 -1
  21. data/docs/Puppeteer/DOMWorld/DocumentEvaluationError.html +1 -1
  22. data/docs/Puppeteer/DebugPrint.html +1 -1
  23. data/docs/Puppeteer/Device.html +1 -1
  24. data/docs/Puppeteer/Devices.html +1 -1
  25. data/docs/Puppeteer/ElementHandle.html +1 -1
  26. data/docs/Puppeteer/ElementHandle/ElementNotFoundError.html +1 -1
  27. data/docs/Puppeteer/ElementHandle/ElementNotVisibleError.html +1 -1
  28. data/docs/Puppeteer/ElementHandle/Point.html +1 -1
  29. data/docs/Puppeteer/ElementHandle/ScrollIntoViewError.html +1 -1
  30. data/docs/Puppeteer/EmulationManager.html +1 -1
  31. data/docs/Puppeteer/EventCallbackable.html +1 -1
  32. data/docs/Puppeteer/EventCallbackable/EventListeners.html +1 -1
  33. data/docs/Puppeteer/ExecutionContext.html +1 -1
  34. data/docs/Puppeteer/ExecutionContext/EvaluationError.html +1 -1
  35. data/docs/Puppeteer/ExecutionContext/JavaScriptExpression.html +1 -1
  36. data/docs/Puppeteer/ExecutionContext/JavaScriptFunction.html +1 -1
  37. data/docs/Puppeteer/FileChooser.html +1 -1
  38. data/docs/Puppeteer/Frame.html +1 -1
  39. data/docs/Puppeteer/FrameManager.html +22 -26
  40. data/docs/Puppeteer/FrameManager/NavigationError.html +1 -1
  41. data/docs/Puppeteer/IfPresent.html +1 -1
  42. data/docs/Puppeteer/JSHandle.html +1 -1
  43. data/docs/Puppeteer/Keyboard.html +1 -1
  44. data/docs/Puppeteer/Keyboard/KeyDefinition.html +1 -1
  45. data/docs/Puppeteer/Keyboard/KeyDescription.html +1 -1
  46. data/docs/Puppeteer/Launcher.html +1 -1
  47. data/docs/Puppeteer/Launcher/Base.html +1 -1
  48. data/docs/Puppeteer/Launcher/Base/ExecutablePathNotFound.html +1 -1
  49. data/docs/Puppeteer/Launcher/BrowserOptions.html +1 -1
  50. data/docs/Puppeteer/Launcher/Chrome.html +1 -1
  51. data/docs/Puppeteer/Launcher/Chrome/DefaultArgs.html +1 -1
  52. data/docs/Puppeteer/Launcher/ChromeArgOptions.html +1 -1
  53. data/docs/Puppeteer/Launcher/LaunchOptions.html +1 -1
  54. data/docs/Puppeteer/LifecycleWatcher.html +1 -1
  55. data/docs/Puppeteer/LifecycleWatcher/ExpectedLifecycle.html +1 -1
  56. data/docs/Puppeteer/LifecycleWatcher/FrameDetachedError.html +1 -1
  57. data/docs/Puppeteer/LifecycleWatcher/TerminatedError.html +1 -1
  58. data/docs/Puppeteer/Mouse.html +1 -1
  59. data/docs/Puppeteer/Mouse/Button.html +1 -1
  60. data/docs/Puppeteer/NetworkManager.html +1 -1
  61. data/docs/Puppeteer/NetworkManager/Credentials.html +1 -1
  62. data/docs/Puppeteer/Page.html +1 -1
  63. data/docs/Puppeteer/Page/FileChooserTimeoutError.html +1 -1
  64. data/docs/Puppeteer/Page/ScreenshotOptions.html +1 -1
  65. data/docs/Puppeteer/Page/ScriptTag.html +1 -1
  66. data/docs/Puppeteer/Page/StyleTag.html +1 -1
  67. data/docs/Puppeteer/Page/TargetCrashedError.html +1 -1
  68. data/docs/Puppeteer/RemoteObject.html +1 -1
  69. data/docs/Puppeteer/Target.html +102 -172
  70. data/docs/Puppeteer/Target/InitializeFailure.html +1 -1
  71. data/docs/Puppeteer/Target/TargetInfo.html +1 -1
  72. data/docs/Puppeteer/TimeoutError.html +1 -1
  73. data/docs/Puppeteer/TimeoutSettings.html +1 -1
  74. data/docs/Puppeteer/TouchScreen.html +1 -1
  75. data/docs/Puppeteer/Viewport.html +1 -1
  76. data/docs/Puppeteer/WaitTask.html +1 -1
  77. data/docs/Puppeteer/WaitTask/TerminatedError.html +1 -1
  78. data/docs/Puppeteer/WaitTask/TimeoutError.html +1 -1
  79. data/docs/Puppeteer/WebSocket.html +1 -1
  80. data/docs/Puppeteer/WebSocket/DriverImpl.html +1 -1
  81. data/docs/Puppeteer/WebSocketTransport.html +1 -1
  82. data/docs/Puppeteer/WebSocktTransportError.html +1 -1
  83. data/docs/_index.html +1 -1
  84. data/docs/file.README.html +1 -1
  85. data/docs/index.html +1 -1
  86. data/docs/method_list.html +300 -308
  87. data/docs/top-level-namespace.html +1 -1
  88. data/lib/puppeteer/browser.rb +3 -4
  89. data/lib/puppeteer/target.rb +16 -13
  90. data/lib/puppeteer/version.rb +1 -1
  91. metadata +2 -2
@@ -116,7 +116,7 @@
116
116
  </div>
117
117
 
118
118
  <div id="footer">
119
- Generated on Thu Jun 4 23:54:40 2020 by
119
+ Generated on Tue Jun 9 00:13:39 2020 by
120
120
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
121
121
  0.9.24 (ruby-2.6.3).
122
122
  </div>
@@ -102,8 +102,7 @@ class Puppeteer::Browser
102
102
  )
103
103
  # assert(!this._targets.has(event.targetInfo.targetId), 'Target should not exist before targetCreated');
104
104
  @targets[target_info.target_id] = target
105
-
106
- target.on_initialize_succeeded do
105
+ if await target.initialized_promise
107
106
  emit_event 'Events.Browser.TargetCreated', target
108
107
  context.emit_event 'Events.BrowserContext.TargetCreated', target
109
108
  end
@@ -118,10 +117,10 @@ class Puppeteer::Browser
118
117
  def handle_target_destroyed(event)
119
118
  target_id = event['targetId']
120
119
  target = @targets[target_id]
121
- target.handle_initialized(false)
120
+ target.ignore_initialize_callback_promise
122
121
  @targets.delete(target_id)
123
122
  target.handle_closed
124
- target.on_initialize_succeeded do
123
+ if await target.initialized_promise
125
124
  emit_event 'Events.Browser.TargetDestroyed', target
126
125
  target.browser_context.emit_event 'Events.BrowserContext.TargetDestroyed', target
127
126
  end
@@ -33,13 +33,16 @@ class Puppeteer::Target
33
33
  # this._pagePromise = null;
34
34
  # /** @type {?Promise<!Worker>} */
35
35
  # this._workerPromise = null;
36
- @initialized_promise = resolvable_future
36
+ @initialize_callback_promise = resolvable_future
37
+ @initialized_promise = @initialize_callback_promise.then do |success|
38
+ handle_initialized(success)
39
+ end
37
40
  # this._isClosedPromise = new Promise(fulfill => this._closedCallback = fulfill);
38
41
 
39
42
  @is_initialized = @target_info.type != 'page' || !@target_info.url.empty?
40
43
 
41
44
  if @is_initialized
42
- handle_initialized(true)
45
+ @initialize_callback_promise.fulfill(true)
43
46
  end
44
47
  end
45
48
 
@@ -47,24 +50,24 @@ class Puppeteer::Target
47
50
 
48
51
  class InitializeFailure < StandardError; end
49
52
 
50
- def handle_initialized(success)
53
+ def ignore_initialize_callback_promise
54
+ @initialize_callback_promise.fulfill(false)
55
+ end
56
+
57
+ private def handle_initialized(success)
51
58
  unless success
52
- @initialized_promise.reject(InitializeFailure.new('Failed to create target for page'))
59
+ raise InitializeFailure.new('Failed to create target for page')
53
60
  end
54
- @on_initialize_succeeded&.call
55
- @initialized_promise.fulfill(true)
56
61
  opener_page = opener&.page
57
62
  if opener_page.nil? || type != 'page'
58
- return
63
+ return true
59
64
  end
60
65
  # if (!openerPage.listenerCount(Events.Page.Popup))
61
66
  # return true;
62
67
  popup_page = page
63
68
  opener_page.emit_event('Events.Page.Popup', popup_page)
64
- end
65
69
 
66
- def on_initialize_succeeded(&block)
67
- @on_initialize_succeeded = block
70
+ true
68
71
  end
69
72
 
70
73
  def handle_closed
@@ -85,7 +88,7 @@ class Puppeteer::Target
85
88
  end
86
89
 
87
90
  def page
88
- if ['page', 'background_page'].include?(@target_info.type) && @page.nil?
91
+ if ['page', 'background_page', 'webview'].include?(@target_info.type) && @page.nil?
89
92
  client = @session_factory.call
90
93
  @page = Puppeteer::Page.create(client, self, @ignore_https_errors, @default_viewport, @screenshot_task_queue)
91
94
  end
@@ -142,9 +145,9 @@ class Puppeteer::Target
142
145
  def handle_target_info_changed(target_info)
143
146
  @target_info = target_info
144
147
 
145
- if !@is_initialized && (@target_info.type != 'page' || !target_info.url.empty?)
148
+ if !@is_initialized && (@target_info.type != 'page' || !@target_info.url.empty?)
146
149
  @is_initialized = true
147
- handle_initialized(true)
150
+ @initialize_callback_promise.fulfill(true)
148
151
  end
149
152
  end
150
153
  end
@@ -1,3 +1,3 @@
1
1
  class Puppeteer
2
- VERSION = '0.0.8'
2
+ VERSION = '0.0.9'
3
3
  end
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.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - YusukeIwaki
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-06-05 00:00:00.000000000 Z
11
+ date: 2020-06-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby