diff --git a/js/components/main.js b/js/components/main.js
index d5484da8d2a..9d467a87005 100644
--- a/js/components/main.js
+++ b/js/components/main.js
@@ -1123,7 +1123,6 @@ class Main extends ImmutableComponent {
{
noScriptIsVisible
?
: null
}
diff --git a/js/components/noScriptInfo.js b/js/components/noScriptInfo.js
index 08d4ab2248e..7142e7b0e06 100644
--- a/js/components/noScriptInfo.js
+++ b/js/components/noScriptInfo.js
@@ -24,12 +24,12 @@ class NoScriptCheckbox extends ImmutableComponent {
}
render () {
- return
+ return
{ e.stopPropagation() }}
ref={(node) => { this.checkbox = node }} defaultChecked
origin={this.props.origin} />
-
+
}
}
@@ -52,6 +52,10 @@ class NoScriptInfo extends ImmutableComponent {
return this.props.frameProps.get('isPrivate')
}
+ onClickInner (e) {
+ e.stopPropagation()
+ }
+
unselectAll (e) {
e.stopPropagation()
let checkboxes = this.checkboxes.querySelectorAll('input')
@@ -71,40 +75,30 @@ class NoScriptInfo extends ImmutableComponent {
if (!this.origin) {
return
}
- if (setting === false) {
- appActions.changeSiteSetting(this.origin, 'noScript', setting)
- this.reload()
- } else {
- let checkedOrigins = new Immutable.Map()
- this.checkboxes.querySelectorAll('input').forEach((box) => {
- const origin = box.getAttribute('origin')
- if (origin) {
- checkedOrigins = checkedOrigins.set(origin, box.checked ? setting : false)
- }
- })
- if (checkedOrigins.size) {
- appActions.noScriptExceptionsAdded(this.origin, checkedOrigins)
- this.reload()
+ let checkedOrigins = new Immutable.Map()
+ this.checkboxes.querySelectorAll('input').forEach((box) => {
+ const origin = box.getAttribute('origin')
+ if (origin) {
+ checkedOrigins = checkedOrigins.set(origin, box.checked ? setting : false)
}
+ })
+ if (checkedOrigins.filter((value) => value !== false).size) {
+ appActions.noScriptExceptionsAdded(this.origin, checkedOrigins)
+ this.reload()
+ this.props.onHide()
}
}
get buttons () {
- if (!this.props.noScriptGlobalEnabled) {
- // NoScript is not turned on globally
- return
- } else {
- return
-
- {this.isPrivate
- ? null
- :
- }
-
- }
+ return
+
+ {this.isPrivate
+ ? null
+ :
+ }
+
}
render () {
@@ -115,7 +109,7 @@ class NoScriptInfo extends ImmutableComponent {
site: urlParse(this.props.frameProps.get('location')).host
}
return