@@ -39,7 +39,9 @@ public void replaceAlertMethod(WebDriver driver) {
39
39
((JavascriptExecutor ) driver ).executeScript (
40
40
"var canUseLocalStorage = false; " +
41
41
"try { canUseLocalStorage = !!window.localStorage; } catch(ex) { /* probe failed */ } " +
42
- "if (canUseLocalStorage) { " +
42
+ "var canUseJSON = false; " +
43
+ "try { canUseJSON = !!JSON; } catch(ex) { /* probe failed */ } " +
44
+ "if (canUseLocalStorage && canUseJSON) { " +
43
45
" window.localStorage.setItem('__webdriverAlerts', JSON.stringify([])); " +
44
46
" window.alert = function(msg) { " +
45
47
" var alerts = JSON.parse(window.localStorage.getItem('__webdriverAlerts')); " +
@@ -84,7 +86,9 @@ public String getNextAlert(WebDriver driver) {
84
86
String result = (String ) ((JavascriptExecutor ) driver ).executeScript (
85
87
"var canUseLocalStorage = false; " +
86
88
"try { canUseLocalStorage = !!window.localStorage; } catch(ex) { /* probe failed */ } " +
87
- "if (canUseLocalStorage) { " +
89
+ "var canUseJSON = false; " +
90
+ "try { canUseJSON = !!JSON; } catch(ex) { /* probe failed */ } " +
91
+ "if (canUseLocalStorage && canUseJSON) { " +
88
92
" if (!('__webdriverAlerts' in window.localStorage)) { return null } " +
89
93
" var alerts = JSON.parse(window.localStorage.getItem('__webdriverAlerts')); " +
90
94
" if (! alerts) { return null } " +
@@ -112,7 +116,9 @@ public boolean isAlertPresent(WebDriver driver) {
112
116
return Boolean .TRUE .equals (((JavascriptExecutor ) driver ).executeScript (
113
117
"var canUseLocalStorage = false; " +
114
118
"try { canUseLocalStorage = !!window.localStorage; } catch(ex) { /* probe failed */ } " +
115
- "if (canUseLocalStorage) { " +
119
+ "var canUseJSON = false; " +
120
+ "try { canUseJSON = !!JSON; } catch(ex) { /* probe failed */ } " +
121
+ "if (canUseLocalStorage && canUseJSON) { " +
116
122
" if (!('__webdriverAlerts' in window.localStorage)) { return false } " +
117
123
" var alerts = JSON.parse(window.localStorage.getItem('__webdriverAlerts')); " +
118
124
" return alerts && alerts.length > 0; " +
@@ -127,7 +133,9 @@ public String getNextConfirmation(WebDriver driver) {
127
133
String result = (String ) ((JavascriptExecutor ) driver ).executeScript (
128
134
"var canUseLocalStorage = false; " +
129
135
"try { canUseLocalStorage = !!window.localStorage; } catch(ex) { /* probe failed */ } " +
130
- "if (canUseLocalStorage) { " +
136
+ "var canUseJSON = false; " +
137
+ "try { canUseJSON = !!JSON; } catch(ex) { /* probe failed */ } " +
138
+ "if (canUseLocalStorage && canUseJSON) { " +
131
139
" if (!('__webdriverConfirms' in window.localStorage)) { return null } " +
132
140
" var confirms = JSON.parse(window.localStorage.getItem('__webdriverConfirms')); " +
133
141
" if (! confirms) { return null } " +
@@ -153,7 +161,9 @@ public boolean isConfirmationPresent(WebDriver driver) {
153
161
return Boolean .TRUE .equals (((JavascriptExecutor ) driver ).executeScript (
154
162
"var canUseLocalStorage = false; " +
155
163
"try { canUseLocalStorage = !!window.localStorage; } catch(ex) { /* probe failed */ } " +
156
- "if (canUseLocalStorage) { " +
164
+ "var canUseJSON = false; " +
165
+ "try { canUseJSON = !!JSON; } catch(ex) { /* probe failed */ } " +
166
+ "if (canUseLocalStorage && canUseJSON) { " +
157
167
" if (!('__webdriverConfirms' in window.localStorage)) { return false } " +
158
168
" var confirms = JSON.parse(window.localStorage.getItem('__webdriverConfirms')); " +
159
169
" return confirms && confirms.length > 0; " +
0 commit comments