puppeteer-ruby 0.0.8 → 0.0.9

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 (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