opal-browser 0.2.0.beta1 → 0.3.2

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 (218) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/build.yml +95 -0
  3. data/.gitignore +3 -0
  4. data/CHANGELOG.md +8 -0
  5. data/Gemfile +17 -3
  6. data/LICENSE +2 -1
  7. data/README.md +183 -52
  8. data/Rakefile +29 -1
  9. data/config.ru +20 -3
  10. data/docs/polyfills.md +24 -0
  11. data/examples/2048/Gemfile +6 -0
  12. data/examples/2048/README.md +13 -0
  13. data/examples/2048/app/application.rb +169 -0
  14. data/examples/2048/config.ru +9 -0
  15. data/examples/canvas/Gemfile +6 -0
  16. data/examples/canvas/README.md +9 -0
  17. data/examples/canvas/app/application.rb +55 -0
  18. data/examples/canvas/config.ru +9 -0
  19. data/examples/component/Gemfile +6 -0
  20. data/examples/component/README.md +10 -0
  21. data/examples/component/app/application.rb +66 -0
  22. data/examples/component/config.ru +9 -0
  23. data/examples/integrations/README.md +24 -0
  24. data/examples/integrations/dynamic-rack-opal-sprockets-server/Gemfile +6 -0
  25. data/examples/integrations/dynamic-rack-opal-sprockets-server/README.md +16 -0
  26. data/examples/integrations/dynamic-rack-opal-sprockets-server/app/application.rb +6 -0
  27. data/examples/integrations/dynamic-rack-opal-sprockets-server/config.ru +9 -0
  28. data/examples/integrations/dynamic-roda-roda-sprockets/.gitignore +1 -0
  29. data/examples/integrations/dynamic-roda-roda-sprockets/Gemfile +7 -0
  30. data/examples/integrations/dynamic-roda-roda-sprockets/README.md +22 -0
  31. data/examples/integrations/dynamic-roda-roda-sprockets/Rakefile +4 -0
  32. data/examples/integrations/dynamic-roda-roda-sprockets/app/application.rb +6 -0
  33. data/examples/integrations/dynamic-roda-roda-sprockets/app.rb +32 -0
  34. data/examples/integrations/dynamic-roda-roda-sprockets/config.ru +3 -0
  35. data/examples/integrations/dynamic-roda-tilt/.gitignore +1 -0
  36. data/examples/integrations/dynamic-roda-tilt/Gemfile +8 -0
  37. data/examples/integrations/dynamic-roda-tilt/README.md +17 -0
  38. data/examples/integrations/dynamic-roda-tilt/Rakefile +6 -0
  39. data/examples/integrations/dynamic-roda-tilt/app/application.rb +6 -0
  40. data/examples/integrations/dynamic-roda-tilt/app.rb +50 -0
  41. data/examples/integrations/dynamic-roda-tilt/config.ru +3 -0
  42. data/examples/integrations/dynamic-sinatra-opal-sprockets-server/Gemfile +7 -0
  43. data/examples/integrations/dynamic-sinatra-opal-sprockets-server/README.md +16 -0
  44. data/examples/integrations/dynamic-sinatra-opal-sprockets-server/app/application.rb +6 -0
  45. data/examples/integrations/dynamic-sinatra-opal-sprockets-server/config.ru +29 -0
  46. data/examples/integrations/static-bash/.gitignore +2 -0
  47. data/examples/integrations/static-bash/Gemfile +3 -0
  48. data/examples/integrations/static-bash/README.md +8 -0
  49. data/examples/integrations/static-bash/app/application.rb +6 -0
  50. data/examples/integrations/static-bash/build.sh +4 -0
  51. data/examples/integrations/static-bash/index.html +10 -0
  52. data/examples/integrations/static-bash-opal-parser/.gitignore +3 -0
  53. data/examples/integrations/static-bash-opal-parser/Gemfile +3 -0
  54. data/examples/integrations/static-bash-opal-parser/README.md +10 -0
  55. data/examples/integrations/static-bash-opal-parser/build.sh +4 -0
  56. data/examples/integrations/static-bash-opal-parser/index.html +19 -0
  57. data/examples/integrations/static-rake/.gitignore +1 -0
  58. data/examples/integrations/static-rake/Gemfile +4 -0
  59. data/examples/integrations/static-rake/README.md +7 -0
  60. data/examples/integrations/static-rake/Rakefile +10 -0
  61. data/examples/integrations/static-rake/app/application.rb +6 -0
  62. data/examples/integrations/static-rake/index.html +9 -0
  63. data/examples/integrations/static-rake-guard/.gitignore +1 -0
  64. data/examples/integrations/static-rake-guard/Gemfile +6 -0
  65. data/examples/integrations/static-rake-guard/Guardfile +3 -0
  66. data/examples/integrations/static-rake-guard/README.md +10 -0
  67. data/examples/integrations/static-rake-guard/Rakefile +10 -0
  68. data/examples/integrations/static-rake-guard/app/application.rb +6 -0
  69. data/examples/integrations/static-rake-guard/index.html +9 -0
  70. data/examples/svg/.gitignore +1 -0
  71. data/examples/svg/Gemfile +4 -0
  72. data/examples/svg/README.md +7 -0
  73. data/examples/svg/Rakefile +10 -0
  74. data/examples/svg/app/application.rb +11 -0
  75. data/examples/svg/index.html +17 -0
  76. data/examples/svg/index.svg +6 -0
  77. data/index.html.erb +8 -6
  78. data/lib/opal-browser.rb +1 -0
  79. data/opal/browser/animation_frame.rb +26 -1
  80. data/opal/browser/audio/node.rb +121 -0
  81. data/opal/browser/audio/param_schedule.rb +43 -0
  82. data/opal/browser/audio.rb +66 -0
  83. data/opal/browser/blob.rb +94 -0
  84. data/opal/browser/canvas/data.rb +1 -11
  85. data/opal/browser/canvas/gradient.rb +1 -11
  86. data/opal/browser/canvas/style.rb +3 -11
  87. data/opal/browser/canvas/text.rb +1 -11
  88. data/opal/browser/canvas.rb +17 -13
  89. data/opal/browser/console.rb +3 -1
  90. data/opal/browser/cookies.rb +78 -42
  91. data/opal/browser/crypto.rb +79 -0
  92. data/opal/browser/css/declaration.rb +1 -1
  93. data/opal/browser/css/rule.rb +1 -1
  94. data/opal/browser/css/style_sheet.rb +2 -2
  95. data/opal/browser/css.rb +23 -7
  96. data/opal/browser/database/sql.rb +193 -0
  97. data/opal/browser/delay.rb +41 -7
  98. data/opal/browser/dom/attribute.rb +13 -12
  99. data/opal/browser/dom/builder.rb +31 -17
  100. data/opal/browser/dom/document.rb +174 -42
  101. data/opal/browser/dom/document_fragment.rb +18 -0
  102. data/opal/browser/dom/document_or_shadow_root.rb +19 -0
  103. data/opal/browser/dom/element/attributes.rb +111 -0
  104. data/opal/browser/dom/element/button.rb +31 -0
  105. data/opal/browser/dom/element/custom.rb +177 -0
  106. data/opal/browser/dom/element/data.rb +82 -0
  107. data/opal/browser/dom/element/editable.rb +47 -0
  108. data/opal/browser/dom/element/form.rb +38 -0
  109. data/opal/browser/dom/element/iframe.rb +37 -0
  110. data/opal/browser/dom/element/image.rb +2 -0
  111. data/opal/browser/dom/element/input.rb +48 -1
  112. data/opal/browser/dom/element/media.rb +17 -0
  113. data/opal/browser/dom/element/offset.rb +5 -0
  114. data/opal/browser/dom/element/position.rb +11 -2
  115. data/opal/browser/dom/element/scroll.rb +123 -24
  116. data/opal/browser/dom/element/select.rb +42 -0
  117. data/opal/browser/dom/element/size.rb +17 -0
  118. data/opal/browser/dom/element/template.rb +11 -0
  119. data/opal/browser/dom/element/textarea.rb +26 -0
  120. data/opal/browser/dom/element.rb +468 -238
  121. data/opal/browser/dom/mutation_observer.rb +4 -4
  122. data/opal/browser/dom/node.rb +142 -60
  123. data/opal/browser/dom/node_set.rb +73 -44
  124. data/opal/browser/dom/shadow_root.rb +12 -0
  125. data/opal/browser/dom/text.rb +2 -2
  126. data/opal/browser/dom.rb +40 -16
  127. data/opal/browser/effects.rb +180 -3
  128. data/opal/browser/event/all.rb +26 -0
  129. data/opal/browser/{dom/event → event}/animation.rb +4 -2
  130. data/opal/browser/{dom/event → event}/audio_processing.rb +4 -2
  131. data/opal/browser/{dom/event → event}/base.rb +98 -9
  132. data/opal/browser/{dom/event → event}/before_unload.rb +4 -2
  133. data/opal/browser/{dom/event → event}/clipboard.rb +11 -2
  134. data/opal/browser/{dom/event → event}/close.rb +4 -2
  135. data/opal/browser/{dom/event → event}/composition.rb +4 -2
  136. data/opal/browser/{dom/event → event}/custom.rb +3 -3
  137. data/opal/browser/event/data_transfer.rb +95 -0
  138. data/opal/browser/{dom/event → event}/device_light.rb +4 -2
  139. data/opal/browser/{dom/event → event}/device_motion.rb +4 -2
  140. data/opal/browser/{dom/event → event}/device_orientation.rb +4 -2
  141. data/opal/browser/{dom/event → event}/device_proximity.rb +4 -2
  142. data/opal/browser/{dom/event → event}/drag.rb +11 -7
  143. data/opal/browser/{dom/event → event}/focus.rb +4 -2
  144. data/opal/browser/{dom/event → event}/gamepad.rb +5 -3
  145. data/opal/browser/{dom/event → event}/hash_change.rb +4 -2
  146. data/opal/browser/{dom/event → event}/keyboard.rb +16 -3
  147. data/opal/browser/{dom/event → event}/message.rb +4 -2
  148. data/opal/browser/{dom/event → event}/mouse.rb +12 -8
  149. data/opal/browser/{dom/event → event}/page_transition.rb +4 -2
  150. data/opal/browser/{dom/event → event}/pop_state.rb +4 -2
  151. data/opal/browser/{dom/event → event}/progress.rb +4 -2
  152. data/opal/browser/{dom/event → event}/sensor.rb +4 -2
  153. data/opal/browser/{dom/event → event}/storage.rb +4 -2
  154. data/opal/browser/{dom/event → event}/touch.rb +4 -2
  155. data/opal/browser/{dom/event → event}/ui.rb +2 -2
  156. data/opal/browser/{dom/event → event}/wheel.rb +4 -2
  157. data/opal/browser/event.rb +163 -0
  158. data/opal/browser/event_source.rb +2 -2
  159. data/opal/browser/form_data.rb +225 -0
  160. data/opal/browser/history.rb +4 -8
  161. data/opal/browser/http/binary.rb +1 -0
  162. data/opal/browser/http/headers.rb +16 -2
  163. data/opal/browser/http/request.rb +46 -48
  164. data/opal/browser/http/response.rb +5 -1
  165. data/opal/browser/http.rb +25 -2
  166. data/opal/browser/immediate.rb +9 -5
  167. data/opal/browser/interval.rb +34 -11
  168. data/opal/browser/location.rb +7 -1
  169. data/opal/browser/navigator.rb +127 -7
  170. data/opal/browser/polyfill/visual_viewport.rb +216 -0
  171. data/opal/browser/screen.rb +3 -3
  172. data/opal/browser/setup/base.rb +6 -0
  173. data/opal/browser/setup/full.rb +13 -0
  174. data/opal/browser/setup/large.rb +17 -0
  175. data/opal/browser/setup/mini.rb +8 -0
  176. data/opal/browser/setup/traditional.rb +10 -0
  177. data/opal/browser/socket.rb +8 -4
  178. data/opal/browser/storage.rb +53 -35
  179. data/opal/browser/support.rb +72 -5
  180. data/opal/browser/utils.rb +94 -14
  181. data/opal/browser/version.rb +1 -1
  182. data/opal/browser/visual_viewport.rb +39 -0
  183. data/opal/browser/window/size.rb +31 -3
  184. data/opal/browser/window/view.rb +15 -0
  185. data/opal/browser/window.rb +46 -25
  186. data/opal/browser.rb +1 -10
  187. data/opal/opal-browser.rb +1 -0
  188. data/opal-browser.gemspec +3 -3
  189. data/spec/database/sql_spec.rb +139 -0
  190. data/spec/delay_spec.rb +41 -0
  191. data/spec/dom/attribute_spec.rb +49 -0
  192. data/spec/dom/builder_spec.rb +25 -8
  193. data/spec/dom/document_spec.rb +22 -0
  194. data/spec/dom/element/attributes_spec.rb +52 -0
  195. data/spec/dom/element/custom_spec.rb +106 -0
  196. data/spec/dom/element/subclass_spec.rb +144 -0
  197. data/spec/dom/element_spec.rb +181 -4
  198. data/spec/dom/mutation_observer_spec.rb +12 -8
  199. data/spec/dom/node_set_spec.rb +44 -0
  200. data/spec/dom/node_spec.rb +48 -0
  201. data/spec/dom_spec.rb +8 -0
  202. data/spec/event_source_spec.rb +15 -12
  203. data/spec/{dom/event_spec.rb → event_spec.rb} +44 -15
  204. data/spec/history_spec.rb +23 -19
  205. data/spec/http_spec.rb +19 -31
  206. data/spec/immediate_spec.rb +5 -4
  207. data/spec/interval_spec.rb +59 -0
  208. data/spec/native_cached_wrapper_spec.rb +46 -0
  209. data/spec/runner.rb +62 -69
  210. data/spec/socket_spec.rb +16 -12
  211. data/spec/spec_helper.rb +2 -5
  212. data/spec/spec_helper_promise.rb.erb +25 -0
  213. data/spec/storage_spec.rb +1 -1
  214. metadata +172 -50
  215. data/.travis.yml +0 -60
  216. data/opal/browser/dom/event.rb +0 -253
  217. data/opal/browser/http/parameters.rb +0 -8
  218. data/opal/browser/window/scroll.rb +0 -59
metadata CHANGED
@@ -1,62 +1,142 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opal-browser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0.beta1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - meh.
8
- autorequire:
8
+ - hmdne
9
+ autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2014-01-28 00:00:00.000000000 Z
12
+ date: 2021-12-22 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: opal
15
16
  requirement: !ruby/object:Gem::Requirement
16
17
  requirements:
17
- - - "~>"
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: '1.0'
21
+ - - "<"
18
22
  - !ruby/object:Gem::Version
19
- version: 0.6.0
23
+ version: '2.0'
20
24
  type: :runtime
21
25
  prerelease: false
22
26
  version_requirements: !ruby/object:Gem::Requirement
23
27
  requirements:
24
- - - "~>"
28
+ - - ">="
25
29
  - !ruby/object:Gem::Version
26
- version: 0.6.0
30
+ version: '1.0'
31
+ - - "<"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.0'
27
34
  - !ruby/object:Gem::Dependency
28
35
  name: paggio
29
36
  requirement: !ruby/object:Gem::Requirement
30
37
  requirements:
31
38
  - - ">="
32
39
  - !ruby/object:Gem::Version
33
- version: '0'
40
+ version: 0.3.0
34
41
  type: :runtime
35
42
  prerelease: false
36
43
  version_requirements: !ruby/object:Gem::Requirement
37
44
  requirements:
38
45
  - - ">="
39
46
  - !ruby/object:Gem::Version
40
- version: '0'
41
- description:
47
+ version: 0.3.0
48
+ description:
42
49
  email: meh@schizofreni.co
43
50
  executables: []
44
51
  extensions: []
45
52
  extra_rdoc_files: []
46
53
  files:
54
+ - ".github/workflows/build.yml"
47
55
  - ".gitignore"
48
- - ".travis.yml"
49
56
  - ".yardopts"
57
+ - CHANGELOG.md
50
58
  - Gemfile
51
59
  - LICENSE
52
60
  - README.md
53
61
  - Rakefile
54
62
  - config.ru
63
+ - docs/polyfills.md
64
+ - examples/2048/Gemfile
65
+ - examples/2048/README.md
66
+ - examples/2048/app/application.rb
67
+ - examples/2048/config.ru
68
+ - examples/canvas/Gemfile
69
+ - examples/canvas/README.md
70
+ - examples/canvas/app/application.rb
71
+ - examples/canvas/config.ru
72
+ - examples/component/Gemfile
73
+ - examples/component/README.md
74
+ - examples/component/app/application.rb
75
+ - examples/component/config.ru
76
+ - examples/integrations/README.md
77
+ - examples/integrations/dynamic-rack-opal-sprockets-server/Gemfile
78
+ - examples/integrations/dynamic-rack-opal-sprockets-server/README.md
79
+ - examples/integrations/dynamic-rack-opal-sprockets-server/app/application.rb
80
+ - examples/integrations/dynamic-rack-opal-sprockets-server/config.ru
81
+ - examples/integrations/dynamic-roda-roda-sprockets/.gitignore
82
+ - examples/integrations/dynamic-roda-roda-sprockets/Gemfile
83
+ - examples/integrations/dynamic-roda-roda-sprockets/README.md
84
+ - examples/integrations/dynamic-roda-roda-sprockets/Rakefile
85
+ - examples/integrations/dynamic-roda-roda-sprockets/app.rb
86
+ - examples/integrations/dynamic-roda-roda-sprockets/app/application.rb
87
+ - examples/integrations/dynamic-roda-roda-sprockets/config.ru
88
+ - examples/integrations/dynamic-roda-tilt/.gitignore
89
+ - examples/integrations/dynamic-roda-tilt/Gemfile
90
+ - examples/integrations/dynamic-roda-tilt/README.md
91
+ - examples/integrations/dynamic-roda-tilt/Rakefile
92
+ - examples/integrations/dynamic-roda-tilt/app.rb
93
+ - examples/integrations/dynamic-roda-tilt/app/application.rb
94
+ - examples/integrations/dynamic-roda-tilt/config.ru
95
+ - examples/integrations/dynamic-sinatra-opal-sprockets-server/Gemfile
96
+ - examples/integrations/dynamic-sinatra-opal-sprockets-server/README.md
97
+ - examples/integrations/dynamic-sinatra-opal-sprockets-server/app/application.rb
98
+ - examples/integrations/dynamic-sinatra-opal-sprockets-server/config.ru
99
+ - examples/integrations/static-bash-opal-parser/.gitignore
100
+ - examples/integrations/static-bash-opal-parser/Gemfile
101
+ - examples/integrations/static-bash-opal-parser/README.md
102
+ - examples/integrations/static-bash-opal-parser/build.sh
103
+ - examples/integrations/static-bash-opal-parser/index.html
104
+ - examples/integrations/static-bash/.gitignore
105
+ - examples/integrations/static-bash/Gemfile
106
+ - examples/integrations/static-bash/README.md
107
+ - examples/integrations/static-bash/app/application.rb
108
+ - examples/integrations/static-bash/build.sh
109
+ - examples/integrations/static-bash/index.html
110
+ - examples/integrations/static-rake-guard/.gitignore
111
+ - examples/integrations/static-rake-guard/Gemfile
112
+ - examples/integrations/static-rake-guard/Guardfile
113
+ - examples/integrations/static-rake-guard/README.md
114
+ - examples/integrations/static-rake-guard/Rakefile
115
+ - examples/integrations/static-rake-guard/app/application.rb
116
+ - examples/integrations/static-rake-guard/index.html
117
+ - examples/integrations/static-rake/.gitignore
118
+ - examples/integrations/static-rake/Gemfile
119
+ - examples/integrations/static-rake/README.md
120
+ - examples/integrations/static-rake/Rakefile
121
+ - examples/integrations/static-rake/app/application.rb
122
+ - examples/integrations/static-rake/index.html
123
+ - examples/svg/.gitignore
124
+ - examples/svg/Gemfile
125
+ - examples/svg/README.md
126
+ - examples/svg/Rakefile
127
+ - examples/svg/app/application.rb
128
+ - examples/svg/index.html
129
+ - examples/svg/index.svg
55
130
  - index.html.erb
131
+ - lib/opal-browser.rb
56
132
  - lib/opal/browser.rb
57
133
  - opal-browser.gemspec
58
134
  - opal/browser.rb
59
135
  - opal/browser/animation_frame.rb
136
+ - opal/browser/audio.rb
137
+ - opal/browser/audio/node.rb
138
+ - opal/browser/audio/param_schedule.rb
139
+ - opal/browser/blob.rb
60
140
  - opal/browser/canvas.rb
61
141
  - opal/browser/canvas/data.rb
62
142
  - opal/browser/canvas/gradient.rb
@@ -64,12 +144,14 @@ files:
64
144
  - opal/browser/canvas/text.rb
65
145
  - opal/browser/console.rb
66
146
  - opal/browser/cookies.rb
147
+ - opal/browser/crypto.rb
67
148
  - opal/browser/css.rb
68
149
  - opal/browser/css/declaration.rb
69
150
  - opal/browser/css/rule.rb
70
151
  - opal/browser/css/rule/style.rb
71
152
  - opal/browser/css/style_sheet.rb
72
153
  - opal/browser/css/unit.rb
154
+ - opal/browser/database/sql.rb
73
155
  - opal/browser/delay.rb
74
156
  - opal/browser/dom.rb
75
157
  - opal/browser/dom/attribute.rb
@@ -79,84 +161,116 @@ files:
79
161
  - opal/browser/dom/comment.rb
80
162
  - opal/browser/dom/document.rb
81
163
  - opal/browser/dom/document_fragment.rb
164
+ - opal/browser/dom/document_or_shadow_root.rb
82
165
  - opal/browser/dom/element.rb
166
+ - opal/browser/dom/element/attributes.rb
167
+ - opal/browser/dom/element/button.rb
168
+ - opal/browser/dom/element/custom.rb
169
+ - opal/browser/dom/element/data.rb
170
+ - opal/browser/dom/element/editable.rb
171
+ - opal/browser/dom/element/form.rb
172
+ - opal/browser/dom/element/iframe.rb
83
173
  - opal/browser/dom/element/image.rb
84
174
  - opal/browser/dom/element/input.rb
175
+ - opal/browser/dom/element/media.rb
85
176
  - opal/browser/dom/element/offset.rb
86
177
  - opal/browser/dom/element/position.rb
87
178
  - opal/browser/dom/element/scroll.rb
179
+ - opal/browser/dom/element/select.rb
88
180
  - opal/browser/dom/element/size.rb
89
- - opal/browser/dom/event.rb
90
- - opal/browser/dom/event/animation.rb
91
- - opal/browser/dom/event/audio_processing.rb
92
- - opal/browser/dom/event/base.rb
93
- - opal/browser/dom/event/before_unload.rb
94
- - opal/browser/dom/event/clipboard.rb
95
- - opal/browser/dom/event/close.rb
96
- - opal/browser/dom/event/composition.rb
97
- - opal/browser/dom/event/custom.rb
98
- - opal/browser/dom/event/device_light.rb
99
- - opal/browser/dom/event/device_motion.rb
100
- - opal/browser/dom/event/device_orientation.rb
101
- - opal/browser/dom/event/device_proximity.rb
102
- - opal/browser/dom/event/drag.rb
103
- - opal/browser/dom/event/focus.rb
104
- - opal/browser/dom/event/gamepad.rb
105
- - opal/browser/dom/event/hash_change.rb
106
- - opal/browser/dom/event/keyboard.rb
107
- - opal/browser/dom/event/message.rb
108
- - opal/browser/dom/event/mouse.rb
109
- - opal/browser/dom/event/page_transition.rb
110
- - opal/browser/dom/event/pop_state.rb
111
- - opal/browser/dom/event/progress.rb
112
- - opal/browser/dom/event/sensor.rb
113
- - opal/browser/dom/event/storage.rb
114
- - opal/browser/dom/event/touch.rb
115
- - opal/browser/dom/event/ui.rb
116
- - opal/browser/dom/event/wheel.rb
181
+ - opal/browser/dom/element/template.rb
182
+ - opal/browser/dom/element/textarea.rb
117
183
  - opal/browser/dom/mutation_observer.rb
118
184
  - opal/browser/dom/node.rb
119
185
  - opal/browser/dom/node_set.rb
186
+ - opal/browser/dom/shadow_root.rb
120
187
  - opal/browser/dom/text.rb
121
188
  - opal/browser/effects.rb
189
+ - opal/browser/event.rb
190
+ - opal/browser/event/all.rb
191
+ - opal/browser/event/animation.rb
192
+ - opal/browser/event/audio_processing.rb
193
+ - opal/browser/event/base.rb
194
+ - opal/browser/event/before_unload.rb
195
+ - opal/browser/event/clipboard.rb
196
+ - opal/browser/event/close.rb
197
+ - opal/browser/event/composition.rb
198
+ - opal/browser/event/custom.rb
199
+ - opal/browser/event/data_transfer.rb
200
+ - opal/browser/event/device_light.rb
201
+ - opal/browser/event/device_motion.rb
202
+ - opal/browser/event/device_orientation.rb
203
+ - opal/browser/event/device_proximity.rb
204
+ - opal/browser/event/drag.rb
205
+ - opal/browser/event/focus.rb
206
+ - opal/browser/event/gamepad.rb
207
+ - opal/browser/event/hash_change.rb
208
+ - opal/browser/event/keyboard.rb
209
+ - opal/browser/event/message.rb
210
+ - opal/browser/event/mouse.rb
211
+ - opal/browser/event/page_transition.rb
212
+ - opal/browser/event/pop_state.rb
213
+ - opal/browser/event/progress.rb
214
+ - opal/browser/event/sensor.rb
215
+ - opal/browser/event/storage.rb
216
+ - opal/browser/event/touch.rb
217
+ - opal/browser/event/ui.rb
218
+ - opal/browser/event/wheel.rb
122
219
  - opal/browser/event_source.rb
220
+ - opal/browser/form_data.rb
123
221
  - opal/browser/history.rb
124
222
  - opal/browser/http.rb
125
223
  - opal/browser/http/binary.rb
126
224
  - opal/browser/http/headers.rb
127
- - opal/browser/http/parameters.rb
128
225
  - opal/browser/http/request.rb
129
226
  - opal/browser/http/response.rb
130
227
  - opal/browser/immediate.rb
131
228
  - opal/browser/interval.rb
132
229
  - opal/browser/location.rb
133
230
  - opal/browser/navigator.rb
231
+ - opal/browser/polyfill/visual_viewport.rb
134
232
  - opal/browser/screen.rb
233
+ - opal/browser/setup/base.rb
234
+ - opal/browser/setup/full.rb
235
+ - opal/browser/setup/large.rb
236
+ - opal/browser/setup/mini.rb
237
+ - opal/browser/setup/traditional.rb
135
238
  - opal/browser/socket.rb
136
239
  - opal/browser/storage.rb
137
240
  - opal/browser/support.rb
138
241
  - opal/browser/utils.rb
139
242
  - opal/browser/version.rb
243
+ - opal/browser/visual_viewport.rb
140
244
  - opal/browser/window.rb
141
- - opal/browser/window/scroll.rb
142
245
  - opal/browser/window/size.rb
143
246
  - opal/browser/window/view.rb
247
+ - opal/opal-browser.rb
248
+ - spec/database/sql_spec.rb
249
+ - spec/delay_spec.rb
250
+ - spec/dom/attribute_spec.rb
144
251
  - spec/dom/builder_spec.rb
145
252
  - spec/dom/document_spec.rb
253
+ - spec/dom/element/attributes_spec.rb
254
+ - spec/dom/element/custom_spec.rb
255
+ - spec/dom/element/subclass_spec.rb
146
256
  - spec/dom/element_spec.rb
147
- - spec/dom/event_spec.rb
148
257
  - spec/dom/mutation_observer_spec.rb
258
+ - spec/dom/node_set_spec.rb
149
259
  - spec/dom/node_spec.rb
150
260
  - spec/dom_spec.rb
151
261
  - spec/event_source_spec.rb
262
+ - spec/event_spec.rb
152
263
  - spec/history_spec.rb
153
264
  - spec/http_spec.rb
154
265
  - spec/immediate_spec.rb
266
+ - spec/interval_spec.rb
155
267
  - spec/json2.js
268
+ - spec/native_cached_wrapper_spec.rb
156
269
  - spec/runner.rb
157
270
  - spec/sizzle.js
158
271
  - spec/socket_spec.rb
159
272
  - spec/spec_helper.rb
273
+ - spec/spec_helper_promise.rb.erb
160
274
  - spec/storage_spec.rb
161
275
  - spec/wgxpath.install.js
162
276
  - spec/window_spec.rb
@@ -164,7 +278,7 @@ homepage: http://github.com/opal/opal-browser
164
278
  licenses:
165
279
  - MIT
166
280
  metadata: {}
167
- post_install_message:
281
+ post_install_message:
168
282
  rdoc_options: []
169
283
  require_paths:
170
284
  - lib
@@ -175,33 +289,41 @@ required_ruby_version: !ruby/object:Gem::Requirement
175
289
  version: '0'
176
290
  required_rubygems_version: !ruby/object:Gem::Requirement
177
291
  requirements:
178
- - - ">"
292
+ - - ">="
179
293
  - !ruby/object:Gem::Version
180
- version: 1.3.1
294
+ version: '0'
181
295
  requirements: []
182
- rubyforge_project:
183
- rubygems_version: 2.2.0
184
- signing_key:
296
+ rubygems_version: 3.2.22
297
+ signing_key:
185
298
  specification_version: 4
186
299
  summary: Browser support for Opal.
187
300
  test_files:
301
+ - spec/database/sql_spec.rb
302
+ - spec/delay_spec.rb
303
+ - spec/dom/attribute_spec.rb
188
304
  - spec/dom/builder_spec.rb
189
305
  - spec/dom/document_spec.rb
306
+ - spec/dom/element/attributes_spec.rb
307
+ - spec/dom/element/custom_spec.rb
308
+ - spec/dom/element/subclass_spec.rb
190
309
  - spec/dom/element_spec.rb
191
- - spec/dom/event_spec.rb
192
310
  - spec/dom/mutation_observer_spec.rb
311
+ - spec/dom/node_set_spec.rb
193
312
  - spec/dom/node_spec.rb
194
313
  - spec/dom_spec.rb
195
314
  - spec/event_source_spec.rb
315
+ - spec/event_spec.rb
196
316
  - spec/history_spec.rb
197
317
  - spec/http_spec.rb
198
318
  - spec/immediate_spec.rb
319
+ - spec/interval_spec.rb
199
320
  - spec/json2.js
321
+ - spec/native_cached_wrapper_spec.rb
200
322
  - spec/runner.rb
201
323
  - spec/sizzle.js
202
324
  - spec/socket_spec.rb
203
325
  - spec/spec_helper.rb
326
+ - spec/spec_helper_promise.rb.erb
204
327
  - spec/storage_spec.rb
205
328
  - spec/wgxpath.install.js
206
329
  - spec/window_spec.rb
207
- has_rdoc:
data/.travis.yml DELETED
@@ -1,60 +0,0 @@
1
- language: ruby
2
- rvm: 2.0.0
3
- cache: bundler
4
-
5
- env:
6
- global:
7
- - SELENIUM_HOST=hub.browserstack.com
8
- - SELENIUM_PORT=80
9
-
10
- - BS_AUTOMATE_PROJECT="$TRAVIS_REPO_SLUG"
11
- - BS_AUTOMATE_BUILD="Travis build No. $TRAVIS_BUILD_NUMBER for $TRAVIS_REPO_SLUG"
12
- - secure: "L70bh0nIOaIoS7Va4Mr0GsdRlAjOILsNNrfwFDr3RjM2HaR3oeEKK1tJIEDEMamgBw6Ljhz7EWdDwt3bQ0HrhO9cI0kuzl+dA9Obf3+gucPSdi8QCZbjZDkwA56srsDEAMGAKkNWI1kmQTbPUPUoIuKmjj3Y3T68Ud2qi+hi5ag="
13
- - secure: "T7RSwd/aIYwsbuoyLPLzB0ZwOATDAFrpi9GQSVIbV1rZV2oGq+yisjeARUPyRfKTI0Q08CNgarLWfL/kONR6AL19XUD3Rm1+hag8bNixRYot2c65We6d40BMtPfZyO13kSWlTtDnzotYavhXoXujJNLfSjbdLdTlmy2m9Q0UfQc="
14
-
15
- matrix:
16
- - SELENIUM_BROWSER=firefox SELENIUM_VERSION=25
17
- - SELENIUM_BROWSER=firefox SELENIUM_VERSION=26
18
-
19
- - SELENIUM_BROWSER=safari SELENIUM_VERSION=5.1
20
- - SELENIUM_BROWSER=safari SELENIUM_VERSION=6.1
21
- - SELENIUM_BROWSER=safari SELENIUM_VERSION=7.0
22
-
23
- - SELENIUM_BROWSER=opera SELENIUM_VERSION=12.15
24
- - SELENIUM_BROWSER=opera SELENIUM_VERSION=12.16
25
-
26
- - SELENIUM_BROWSER=ie SELENIUM_VERSION=6
27
- - SELENIUM_BROWSER=ie SELENIUM_VERSION=7
28
- - SELENIUM_BROWSER=ie SELENIUM_VERSION=8
29
- - SELENIUM_BROWSER=ie SELENIUM_VERSION=9
30
- - SELENIUM_BROWSER=ie SELENIUM_VERSION=10
31
- - SELENIUM_BROWSER=ie SELENIUM_VERSION=11
32
-
33
- - SELENIUM_BROWSER=chrome SELENIUM_VERSION=30
34
- - SELENIUM_BROWSER=chrome SELENIUM_VERSION=31
35
-
36
- matrix:
37
- allow_failures:
38
- # I know these fail
39
- - env: SELENIUM_BROWSER=ie SELENIUM_VERSION=6
40
- - env: SELENIUM_BROWSER=ie SELENIUM_VERSION=7
41
-
42
- # ChromeDriver be broken
43
- - env: SELENIUM_BROWSER=chrome SELENIUM_VERSION=31
44
- - env: SELENIUM_BROWSER=chrome SELENIUM_VERSION=30
45
-
46
- before_install:
47
- - gem update bundler
48
- - bundle --version
49
- - gem update --system
50
- - gem --version
51
-
52
- before_script:
53
- - bundle exec rackup -p 9292 &
54
- - sleep 10
55
-
56
- script:
57
- - bundle exec spec/runner.rb
58
-
59
- notifications:
60
- irc: "irc.freenode.org#opal"
@@ -1,253 +0,0 @@
1
- require 'browser/dom/event/base'
2
- require 'browser/dom/event/ui'
3
- require 'browser/dom/event/mouse'
4
- require 'browser/dom/event/keyboard'
5
- require 'browser/dom/event/focus'
6
- require 'browser/dom/event/wheel'
7
- require 'browser/dom/event/composition'
8
- require 'browser/dom/event/animation'
9
- require 'browser/dom/event/audio_processing'
10
- require 'browser/dom/event/before_unload'
11
- require 'browser/dom/event/composition'
12
- require 'browser/dom/event/clipboard'
13
- require 'browser/dom/event/device_light'
14
- require 'browser/dom/event/device_motion'
15
- require 'browser/dom/event/device_orientation'
16
- require 'browser/dom/event/device_proximity'
17
- require 'browser/dom/event/drag'
18
- require 'browser/dom/event/gamepad'
19
- require 'browser/dom/event/hash_change'
20
- require 'browser/dom/event/progress'
21
- require 'browser/dom/event/page_transition'
22
- require 'browser/dom/event/pop_state'
23
- require 'browser/dom/event/storage'
24
- require 'browser/dom/event/touch'
25
- require 'browser/dom/event/sensor'
26
- require 'browser/dom/event/custom'
27
- require 'browser/dom/event/message'
28
- require 'browser/dom/event/close'
29
-
30
- module Browser; module DOM
31
-
32
- class Event
33
- def self.aliases
34
- @aliases ||= {
35
- 'dom:load' => 'DOMContentLoaded',
36
- 'hover' => 'mouse:over'
37
- }
38
- end
39
-
40
- def self.name_for(name)
41
- (aliases[name] || name).gsub(?:, '')
42
- end
43
-
44
- def self.class_for(name)
45
- type = case name_for(name)
46
- when 'animationend', 'animationiteration', 'animationstart'
47
- Animation
48
-
49
- when 'audioprocess'
50
- AudioProcessing
51
-
52
- when 'beforeunload'
53
- BeforeUnload
54
-
55
- when 'compositionend', 'compositionstart', 'compositionupdate'
56
- Composition
57
-
58
- when 'copy', 'cut'
59
- Clipboard
60
-
61
- when 'devicelight'
62
- DeviceLight
63
-
64
- when 'devicemotion'
65
- DeviceMotion
66
-
67
- when 'deviceorientation'
68
- DeviceOrientation
69
-
70
- when 'deviceproximity'
71
- DeviceProximity
72
-
73
- when 'drag', 'dragend', 'dragleave', 'dragover', 'dragstart', 'drop'
74
- Drag
75
-
76
- when 'gamepadconnected', 'gamepaddisconnected'
77
- Gamepad
78
-
79
- when 'hashchange'
80
- HashChange
81
-
82
- when 'load', 'loadend', 'loadstart'
83
- Progress
84
-
85
- when 'pagehide', 'pageshow'
86
- PageTransition
87
-
88
- when 'popstate'
89
- PopState
90
-
91
- when 'storage'
92
- Storage
93
-
94
- when 'touchcancel', 'touchend', 'touchleave', 'touchmove', 'touchstart'
95
- Touch
96
-
97
- when 'compassneedscalibration', 'userproximity'
98
- Sensor
99
-
100
- when 'message'
101
- Message
102
-
103
- when 'close'
104
- Close
105
-
106
- when 'click', 'contextmenu', 'dblclick', 'mousedown', 'mouseenter',
107
- 'mouseleave', 'mousemove', 'mouseout', 'mouseover', 'mouseup',
108
- 'show'
109
- Mouse
110
-
111
- when 'keydown', 'keypress', 'keyup'
112
- Keyboard
113
-
114
- when 'blur', 'focus', 'focusin', 'focusout'
115
- Focus
116
-
117
- when 'wheel'
118
- Wheel
119
-
120
- when 'abort', 'afterprint', 'beforeprint', 'cached', 'canplay',
121
- 'canplaythrough', 'change', 'chargingchange', 'chargingtimechange',
122
- 'checking', 'close', 'dischargingtimechange', 'DOMContentLoaded',
123
- 'downloading', 'durationchange', 'emptied', 'ended', 'error',
124
- 'fullscreenchange', 'fullscreenerror', 'input', 'invalid',
125
- 'levelchange', 'loadeddata', 'loadedmetadata', 'noupdate', 'obsolete',
126
- 'offline', 'online', 'open', 'orientationchange', 'pause',
127
- 'pointerlockchange', 'pointerlockerror', 'play', 'playing',
128
- 'ratechange', 'readystatechange', 'reset', 'seeked', 'seeking',
129
- 'stalled', 'submit', 'success', 'suspend', 'timeupdate', 'updateready',
130
- 'visibilitychange', 'volumechange', 'waiting'
131
- Event
132
-
133
- else
134
- Custom
135
- end
136
- end
137
-
138
- def self.supported?
139
- true
140
- end
141
-
142
- def self.create(name, *args, &block)
143
- name = name_for(name)
144
- klass = class_for(name)
145
-
146
- event = klass.new(klass.construct(name, klass.const_get(:Definition).new(&block)))
147
- event.arguments = args
148
-
149
- event
150
- end
151
-
152
- if Browser.supports? 'Event.constructor'
153
- def self.construct(name, desc)
154
- `new Event(#{name}, #{desc})`
155
- end
156
- elsif Browser.supports? 'Event.create'
157
- def self.construct(name, desc)
158
- %x{
159
- var event = document.createEvent("HTMLEvents");
160
- event.initEvent(name, desc.bubbles, desc.cancelable);
161
-
162
- #{return Native(`event`).merge!(desc)};
163
- }
164
- end
165
- elsif Browser.supports? 'Event.createObject'
166
- def self.construct(name, desc)
167
- Native(`document.createEventObject()`) \
168
- .merge!(desc) \
169
- .merge!(`{ type: name }`) \
170
- .to_n
171
- end
172
- else
173
- def self.construct(name, desc)
174
- Native(desc).merge!(`{ type: name }`).to_n
175
- end
176
- end
177
-
178
- def self.new(value, callback = nil)
179
- return super unless self == Event
180
-
181
- klass = class_for(callback ? callback.name : `value.type`)
182
-
183
- if klass == Event
184
- super
185
- else
186
- klass.new(value, callback)
187
- end
188
- end
189
-
190
- attr_reader :callback
191
- attr_writer :on
192
-
193
- def initialize(event, callback = nil)
194
- super(event)
195
-
196
- @callback = callback
197
- end
198
-
199
- def name
200
- `#@native.type`
201
- end
202
-
203
- def on
204
- @on || Target.convert(`#@native.currentTarget`)
205
- end
206
-
207
- def target
208
- Target.convert(`#@native.srcElement || #@native.target`)
209
- end
210
-
211
- def arguments
212
- `#@native.arguments || []`
213
- end
214
-
215
- def arguments=(args)
216
- `#@native.arguments = #{args}`
217
- end
218
-
219
- alias_native :bubbles?, :bubbles
220
- alias_native :cancelable?, :cancelable
221
- alias_native :data
222
- alias_native :phase, :eventPhase
223
- alias_native :at, :timeStamp
224
-
225
- def off
226
- @callback.off if @callback
227
- end
228
-
229
- def stopped?
230
- `!!#@native.stopped`
231
- end
232
-
233
- def stop
234
- `#@native.stopPropagation()` if defined?(`#@native.stopPropagation`)
235
- `#@native.stopped = true`
236
- end
237
-
238
- def prevent
239
- `#@native.preventDefault()` if defined?(`#@native.preventDefault`)
240
- `#@native.prevented = true`
241
- end
242
-
243
- def prevented?
244
- `!!#@native.prevented`
245
- end
246
-
247
- def stop!
248
- prevent
249
- stop
250
- end
251
- end
252
-
253
- end; end
@@ -1,8 +0,0 @@
1
- module Browser; module HTTP
2
-
3
- class Parameters < Hash
4
- def to_str
5
- end
6
- end
7
-
8
- end; end