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.
- checksums.yaml +5 -5
- data/.github/workflows/build.yml +95 -0
- data/.gitignore +3 -0
- data/CHANGELOG.md +8 -0
- data/Gemfile +17 -3
- data/LICENSE +2 -1
- data/README.md +183 -52
- data/Rakefile +29 -1
- data/config.ru +20 -3
- data/docs/polyfills.md +24 -0
- data/examples/2048/Gemfile +6 -0
- data/examples/2048/README.md +13 -0
- data/examples/2048/app/application.rb +169 -0
- data/examples/2048/config.ru +9 -0
- data/examples/canvas/Gemfile +6 -0
- data/examples/canvas/README.md +9 -0
- data/examples/canvas/app/application.rb +55 -0
- data/examples/canvas/config.ru +9 -0
- data/examples/component/Gemfile +6 -0
- data/examples/component/README.md +10 -0
- data/examples/component/app/application.rb +66 -0
- data/examples/component/config.ru +9 -0
- data/examples/integrations/README.md +24 -0
- data/examples/integrations/dynamic-rack-opal-sprockets-server/Gemfile +6 -0
- data/examples/integrations/dynamic-rack-opal-sprockets-server/README.md +16 -0
- data/examples/integrations/dynamic-rack-opal-sprockets-server/app/application.rb +6 -0
- data/examples/integrations/dynamic-rack-opal-sprockets-server/config.ru +9 -0
- data/examples/integrations/dynamic-roda-roda-sprockets/.gitignore +1 -0
- data/examples/integrations/dynamic-roda-roda-sprockets/Gemfile +7 -0
- data/examples/integrations/dynamic-roda-roda-sprockets/README.md +22 -0
- data/examples/integrations/dynamic-roda-roda-sprockets/Rakefile +4 -0
- data/examples/integrations/dynamic-roda-roda-sprockets/app/application.rb +6 -0
- data/examples/integrations/dynamic-roda-roda-sprockets/app.rb +32 -0
- data/examples/integrations/dynamic-roda-roda-sprockets/config.ru +3 -0
- data/examples/integrations/dynamic-roda-tilt/.gitignore +1 -0
- data/examples/integrations/dynamic-roda-tilt/Gemfile +8 -0
- data/examples/integrations/dynamic-roda-tilt/README.md +17 -0
- data/examples/integrations/dynamic-roda-tilt/Rakefile +6 -0
- data/examples/integrations/dynamic-roda-tilt/app/application.rb +6 -0
- data/examples/integrations/dynamic-roda-tilt/app.rb +50 -0
- data/examples/integrations/dynamic-roda-tilt/config.ru +3 -0
- data/examples/integrations/dynamic-sinatra-opal-sprockets-server/Gemfile +7 -0
- data/examples/integrations/dynamic-sinatra-opal-sprockets-server/README.md +16 -0
- data/examples/integrations/dynamic-sinatra-opal-sprockets-server/app/application.rb +6 -0
- data/examples/integrations/dynamic-sinatra-opal-sprockets-server/config.ru +29 -0
- data/examples/integrations/static-bash/.gitignore +2 -0
- data/examples/integrations/static-bash/Gemfile +3 -0
- data/examples/integrations/static-bash/README.md +8 -0
- data/examples/integrations/static-bash/app/application.rb +6 -0
- data/examples/integrations/static-bash/build.sh +4 -0
- data/examples/integrations/static-bash/index.html +10 -0
- data/examples/integrations/static-bash-opal-parser/.gitignore +3 -0
- data/examples/integrations/static-bash-opal-parser/Gemfile +3 -0
- data/examples/integrations/static-bash-opal-parser/README.md +10 -0
- data/examples/integrations/static-bash-opal-parser/build.sh +4 -0
- data/examples/integrations/static-bash-opal-parser/index.html +19 -0
- data/examples/integrations/static-rake/.gitignore +1 -0
- data/examples/integrations/static-rake/Gemfile +4 -0
- data/examples/integrations/static-rake/README.md +7 -0
- data/examples/integrations/static-rake/Rakefile +10 -0
- data/examples/integrations/static-rake/app/application.rb +6 -0
- data/examples/integrations/static-rake/index.html +9 -0
- data/examples/integrations/static-rake-guard/.gitignore +1 -0
- data/examples/integrations/static-rake-guard/Gemfile +6 -0
- data/examples/integrations/static-rake-guard/Guardfile +3 -0
- data/examples/integrations/static-rake-guard/README.md +10 -0
- data/examples/integrations/static-rake-guard/Rakefile +10 -0
- data/examples/integrations/static-rake-guard/app/application.rb +6 -0
- data/examples/integrations/static-rake-guard/index.html +9 -0
- data/examples/svg/.gitignore +1 -0
- data/examples/svg/Gemfile +4 -0
- data/examples/svg/README.md +7 -0
- data/examples/svg/Rakefile +10 -0
- data/examples/svg/app/application.rb +11 -0
- data/examples/svg/index.html +17 -0
- data/examples/svg/index.svg +6 -0
- data/index.html.erb +8 -6
- data/lib/opal-browser.rb +1 -0
- data/opal/browser/animation_frame.rb +26 -1
- data/opal/browser/audio/node.rb +121 -0
- data/opal/browser/audio/param_schedule.rb +43 -0
- data/opal/browser/audio.rb +66 -0
- data/opal/browser/blob.rb +94 -0
- data/opal/browser/canvas/data.rb +1 -11
- data/opal/browser/canvas/gradient.rb +1 -11
- data/opal/browser/canvas/style.rb +3 -11
- data/opal/browser/canvas/text.rb +1 -11
- data/opal/browser/canvas.rb +17 -13
- data/opal/browser/console.rb +3 -1
- data/opal/browser/cookies.rb +78 -42
- data/opal/browser/crypto.rb +79 -0
- data/opal/browser/css/declaration.rb +1 -1
- data/opal/browser/css/rule.rb +1 -1
- data/opal/browser/css/style_sheet.rb +2 -2
- data/opal/browser/css.rb +23 -7
- data/opal/browser/database/sql.rb +193 -0
- data/opal/browser/delay.rb +41 -7
- data/opal/browser/dom/attribute.rb +13 -12
- data/opal/browser/dom/builder.rb +31 -17
- data/opal/browser/dom/document.rb +174 -42
- data/opal/browser/dom/document_fragment.rb +18 -0
- data/opal/browser/dom/document_or_shadow_root.rb +19 -0
- data/opal/browser/dom/element/attributes.rb +111 -0
- data/opal/browser/dom/element/button.rb +31 -0
- data/opal/browser/dom/element/custom.rb +177 -0
- data/opal/browser/dom/element/data.rb +82 -0
- data/opal/browser/dom/element/editable.rb +47 -0
- data/opal/browser/dom/element/form.rb +38 -0
- data/opal/browser/dom/element/iframe.rb +37 -0
- data/opal/browser/dom/element/image.rb +2 -0
- data/opal/browser/dom/element/input.rb +48 -1
- data/opal/browser/dom/element/media.rb +17 -0
- data/opal/browser/dom/element/offset.rb +5 -0
- data/opal/browser/dom/element/position.rb +11 -2
- data/opal/browser/dom/element/scroll.rb +123 -24
- data/opal/browser/dom/element/select.rb +42 -0
- data/opal/browser/dom/element/size.rb +17 -0
- data/opal/browser/dom/element/template.rb +11 -0
- data/opal/browser/dom/element/textarea.rb +26 -0
- data/opal/browser/dom/element.rb +468 -238
- data/opal/browser/dom/mutation_observer.rb +4 -4
- data/opal/browser/dom/node.rb +142 -60
- data/opal/browser/dom/node_set.rb +73 -44
- data/opal/browser/dom/shadow_root.rb +12 -0
- data/opal/browser/dom/text.rb +2 -2
- data/opal/browser/dom.rb +40 -16
- data/opal/browser/effects.rb +180 -3
- data/opal/browser/event/all.rb +26 -0
- data/opal/browser/{dom/event → event}/animation.rb +4 -2
- data/opal/browser/{dom/event → event}/audio_processing.rb +4 -2
- data/opal/browser/{dom/event → event}/base.rb +98 -9
- data/opal/browser/{dom/event → event}/before_unload.rb +4 -2
- data/opal/browser/{dom/event → event}/clipboard.rb +11 -2
- data/opal/browser/{dom/event → event}/close.rb +4 -2
- data/opal/browser/{dom/event → event}/composition.rb +4 -2
- data/opal/browser/{dom/event → event}/custom.rb +3 -3
- data/opal/browser/event/data_transfer.rb +95 -0
- data/opal/browser/{dom/event → event}/device_light.rb +4 -2
- data/opal/browser/{dom/event → event}/device_motion.rb +4 -2
- data/opal/browser/{dom/event → event}/device_orientation.rb +4 -2
- data/opal/browser/{dom/event → event}/device_proximity.rb +4 -2
- data/opal/browser/{dom/event → event}/drag.rb +11 -7
- data/opal/browser/{dom/event → event}/focus.rb +4 -2
- data/opal/browser/{dom/event → event}/gamepad.rb +5 -3
- data/opal/browser/{dom/event → event}/hash_change.rb +4 -2
- data/opal/browser/{dom/event → event}/keyboard.rb +16 -3
- data/opal/browser/{dom/event → event}/message.rb +4 -2
- data/opal/browser/{dom/event → event}/mouse.rb +12 -8
- data/opal/browser/{dom/event → event}/page_transition.rb +4 -2
- data/opal/browser/{dom/event → event}/pop_state.rb +4 -2
- data/opal/browser/{dom/event → event}/progress.rb +4 -2
- data/opal/browser/{dom/event → event}/sensor.rb +4 -2
- data/opal/browser/{dom/event → event}/storage.rb +4 -2
- data/opal/browser/{dom/event → event}/touch.rb +4 -2
- data/opal/browser/{dom/event → event}/ui.rb +2 -2
- data/opal/browser/{dom/event → event}/wheel.rb +4 -2
- data/opal/browser/event.rb +163 -0
- data/opal/browser/event_source.rb +2 -2
- data/opal/browser/form_data.rb +225 -0
- data/opal/browser/history.rb +4 -8
- data/opal/browser/http/binary.rb +1 -0
- data/opal/browser/http/headers.rb +16 -2
- data/opal/browser/http/request.rb +46 -48
- data/opal/browser/http/response.rb +5 -1
- data/opal/browser/http.rb +25 -2
- data/opal/browser/immediate.rb +9 -5
- data/opal/browser/interval.rb +34 -11
- data/opal/browser/location.rb +7 -1
- data/opal/browser/navigator.rb +127 -7
- data/opal/browser/polyfill/visual_viewport.rb +216 -0
- data/opal/browser/screen.rb +3 -3
- data/opal/browser/setup/base.rb +6 -0
- data/opal/browser/setup/full.rb +13 -0
- data/opal/browser/setup/large.rb +17 -0
- data/opal/browser/setup/mini.rb +8 -0
- data/opal/browser/setup/traditional.rb +10 -0
- data/opal/browser/socket.rb +8 -4
- data/opal/browser/storage.rb +53 -35
- data/opal/browser/support.rb +72 -5
- data/opal/browser/utils.rb +94 -14
- data/opal/browser/version.rb +1 -1
- data/opal/browser/visual_viewport.rb +39 -0
- data/opal/browser/window/size.rb +31 -3
- data/opal/browser/window/view.rb +15 -0
- data/opal/browser/window.rb +46 -25
- data/opal/browser.rb +1 -10
- data/opal/opal-browser.rb +1 -0
- data/opal-browser.gemspec +3 -3
- data/spec/database/sql_spec.rb +139 -0
- data/spec/delay_spec.rb +41 -0
- data/spec/dom/attribute_spec.rb +49 -0
- data/spec/dom/builder_spec.rb +25 -8
- data/spec/dom/document_spec.rb +22 -0
- data/spec/dom/element/attributes_spec.rb +52 -0
- data/spec/dom/element/custom_spec.rb +106 -0
- data/spec/dom/element/subclass_spec.rb +144 -0
- data/spec/dom/element_spec.rb +181 -4
- data/spec/dom/mutation_observer_spec.rb +12 -8
- data/spec/dom/node_set_spec.rb +44 -0
- data/spec/dom/node_spec.rb +48 -0
- data/spec/dom_spec.rb +8 -0
- data/spec/event_source_spec.rb +15 -12
- data/spec/{dom/event_spec.rb → event_spec.rb} +44 -15
- data/spec/history_spec.rb +23 -19
- data/spec/http_spec.rb +19 -31
- data/spec/immediate_spec.rb +5 -4
- data/spec/interval_spec.rb +59 -0
- data/spec/native_cached_wrapper_spec.rb +46 -0
- data/spec/runner.rb +62 -69
- data/spec/socket_spec.rb +16 -12
- data/spec/spec_helper.rb +2 -5
- data/spec/spec_helper_promise.rb.erb +25 -0
- data/spec/storage_spec.rb +1 -1
- metadata +172 -50
- data/.travis.yml +0 -60
- data/opal/browser/dom/event.rb +0 -253
- data/opal/browser/http/parameters.rb +0 -8
- 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
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- meh.
|
8
|
-
|
8
|
+
- hmdne
|
9
|
+
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date:
|
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:
|
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:
|
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:
|
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:
|
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/
|
90
|
-
- opal/browser/dom/
|
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:
|
294
|
+
version: '0'
|
181
295
|
requirements: []
|
182
|
-
|
183
|
-
|
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"
|
data/opal/browser/dom/event.rb
DELETED
@@ -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
|