opal-browser 0.2.0.beta1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
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