Skip to content

Commit 62cc470

Browse files
authoredDec 22, 2021
Merge pull request #96 from opal/staging
Correct an Opal v1.4 compatibility issue
2 parents c869443 + da7a885 commit 62cc470

File tree

4 files changed

+45
-47
lines changed

4 files changed

+45
-47
lines changed
 

‎.github/workflows/build.yml

+8-25
Original file line numberDiff line numberDiff line change
@@ -16,39 +16,23 @@ jobs:
1616
matrix:
1717
combo:
1818
- name: Chromium/Linux/Opal-master
19-
browser: chrome
20-
os: ubuntu-latest
2119
opal: master
20+
- name: Chromium/Linux/Opal-1.4
21+
opal: 1.4
2222
- name: Chromium/Linux/Opal-1.3/PromiseV2
23-
browser: chrome
24-
os: ubuntu-latest
2523
opal: 1.3
2624
promise: v2
2725
- name: Chromium/Linux/Opal-1.3
28-
browser: chrome
29-
os: ubuntu-latest
3026
opal: 1.3
31-
- name: Chromium/Linux/Opal-1.2
32-
browser: chrome
33-
os: ubuntu-latest
34-
opal: 1.2
3527
- name: Chromium/Linux/Opal-1.0
36-
browser: chrome
37-
os: ubuntu-latest
3828
opal: '1.0'
3929
- name: Chromium/Linux/Ruby-2.7
40-
browser: chrome
41-
os: ubuntu-latest
4230
ruby: 2.7
4331
- name: Chromium/Linux/Ruby-2.6
44-
browser: chrome
45-
os: ubuntu-latest
4632
ruby: 2.6
4733
- name: Firefox/Linux
4834
browser: gecko
49-
os: ubuntu-latest
5035
- name: Chromium/Windows
51-
browser: chrome
5236
os: windows-latest
5337
- name: Firefox/Windows
5438
browser: gecko
@@ -57,7 +41,6 @@ jobs:
5741
browser: edge
5842
os: windows-latest
5943
- name: Chromium/macOS
60-
browser: chrome
6144
os: macos-latest
6245
- name: Firefox/macOS
6346
browser: gecko
@@ -66,7 +49,7 @@ jobs:
6649
browser: safari
6750
os: macos-latest
6851

69-
runs-on: ${{ matrix.combo.os }}
52+
runs-on: ${{ matrix.combo.os || 'ubuntu-latest' }}
7053

7154
steps:
7255
- uses: actions/checkout@v2
@@ -81,15 +64,15 @@ jobs:
8164
- uses: actions/cache@v2
8265
with:
8366
path: ./vendor/bundle
84-
key: ${{ runner.os }}-${{ matrix.combo.ruby || '3.0' }}-gems-${{ matrix.combo.opal || '1.2.0.beta1' }}-${{ github.ref }}-${{ hashFiles('**/Gemfile.lock') }}
67+
key: ${{ runner.os }}-${{ matrix.combo.ruby || '3.0' }}-gems-${{ matrix.combo.opal || '1.3' }}-${{ github.ref }}-${{ hashFiles('**/Gemfile.lock') }}
8568
restore-keys: |
86-
${{ runner.os }}-${{ matrix.combo.ruby || '3.0' }}-gems-${{ matrix.combo.opal || '1.2.0.beta1' }}-${{ github.ref }}
87-
${{ runner.os }}-${{ matrix.combo.ruby || '3.0' }}-gems-${{ matrix.combo.opal || '1.2.0.beta1' }}-master
88-
${{ runner.os }}-${{ matrix.combo.ruby || '3.0' }}-gems-${{ matrix.combo.opal || '1.2.0.beta1' }}-
69+
${{ runner.os }}-${{ matrix.combo.ruby || '3.0' }}-gems-${{ matrix.combo.opal || '1.3' }}-${{ github.ref }}
70+
${{ runner.os }}-${{ matrix.combo.ruby || '3.0' }}-gems-${{ matrix.combo.opal || '1.3' }}-master
71+
${{ runner.os }}-${{ matrix.combo.ruby || '3.0' }}-gems-${{ matrix.combo.opal || '1.3' }}-
8972
${{ runner.os }}-${{ matrix.combo.ruby || '3.0' }}-gems-
9073
- name: bundle install
9174
run: |
9275
bundle config path $PWD/vendor/bundle
9376
bundle install --jobs 4 --retry 3
9477
bundle clean
95-
- run: bundle exec rake selenium_${{ matrix.combo.browser }}
78+
- run: bundle exec rake selenium_${{ matrix.combo.browser || 'chrome' }}

‎CHANGELOG.md

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
## 0.3.3
2+
* Compatibility fix for Opal 1.4
3+
14
## 0.3.2
25
* Cookie: refactor the module
36
* Note in documentation it's available as `$document.cookies` and it's the preferred way to access it

‎opal/browser/support.rb

+33-21
Original file line numberDiff line numberDiff line change
@@ -75,14 +75,16 @@ def self.supports?(feature)
7575
when 'Window.send (Asynchronous)'
7676
if defined?(`window.postMessage`) && !defined?(`window.importScripts`)
7777
%x{
78-
var ok = true,
79-
old = window.onmessage;
78+
(function() {
79+
var ok = true,
80+
old = window.onmessage;
8081
81-
window.onmessage = function() { ok = false; };
82-
window.postMessage("", "*")
83-
window.onmessage = old;
82+
window.onmessage = function() { ok = false; };
83+
window.postMessage("", "*")
84+
window.onmessage = old;
8485
85-
return ok;
86+
return ok;
87+
})()
8688
}
8789
end
8890

@@ -106,45 +108,55 @@ def self.supports?(feature)
106108

107109
when 'Attr.isId'
108110
%x{
109-
var div = document.createElement('div');
110-
div.setAttribute('id', 'xxxxxxxxxxxxx');
111+
(function() {
112+
var div = document.createElement('div');
113+
div.setAttribute('id', 'xxxxxxxxxxxxx');
111114
112-
return typeof(div.attributes['id'].isId) !== "undefined";
115+
return typeof(div.attributes['id'].isId) !== "undefined";
116+
})()
113117
}
114118

115119
when 'Element.addBehavior'
116120
defined?(`document.documentElement.addBehavior`)
117121

118122
when 'Element.className'
119123
%x{
120-
var div = document.createElement("div");
121-
div.setAttribute('className', 'x');
124+
(function() {
125+
var div = document.createElement("div");
126+
div.setAttribute('className', 'x');
122127
123-
return div.className === 'x';
128+
return div.className === 'x';
129+
})()
124130
}
125131

126132
when 'Element.class'
127133
%x{
128-
var div = document.createElement("div");
129-
div.setAttribute('class', 'x');
134+
(function() {
135+
var div = document.createElement("div");
136+
div.setAttribute('class', 'x');
130137
131-
return div.className === 'x';
138+
return div.className === 'x';
139+
})()
132140
}
133141

134142
when 'Element.for'
135143
%x{
136-
var label = document.createElement("label");
137-
label.setAttribute('for', 'x');
144+
(function() {
145+
var label = document.createElement("label");
146+
label.setAttribute('for', 'x');
138147
139-
return label.htmlFor === 'x';
148+
return label.htmlFor === 'x';
149+
})()
140150
}
141151

142152
when 'Element.htmlFor'
143153
%x{
144-
var label = document.createElement("label");
145-
label.setAttribute('htmlFor', 'x');
154+
(function() {
155+
var label = document.createElement("label");
156+
label.setAttribute('htmlFor', 'x');
146157
147-
return label.htmlFor === 'x';
158+
return label.htmlFor === 'x';
159+
})()
148160
}
149161

150162
when 'Element.clientSize'

‎opal/browser/version.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
module Browser
2-
VERSION = '0.3.2'
2+
VERSION = '0.3.3'
33
end

0 commit comments

Comments
 (0)
Please sign in to comment.