diff --git a/src/browser/index.jsx b/src/browser/index.jsx
index 8aa6707e..978261ee 100644
--- a/src/browser/index.jsx
+++ b/src/browser/index.jsx
@@ -247,8 +247,10 @@ var MattermostView = React.createClass({
var webview = ReactDOM.findDOMNode(this.refs.webview);
// This option disables the same-origin policy and allows js/css/plugins not only content like images.
- // So this should not be enabled.
- webview.setAttribute('disablewebsecurity', true);
+ if (config.disablewebsecurity === true) {
+ // webview.setAttribute('disablewebsecurity', false) disables websecurity. (electron's bug?)
+ webview.setAttribute('disablewebsecurity', true);
+ }
webview.addEventListener('did-fail-load', function(e) {
console.log(thisObj.props.name, 'webview did-fail-load', e);
diff --git a/src/browser/settings.jsx b/src/browser/settings.jsx
index 4a91591e..36edb207 100644
--- a/src/browser/settings.jsx
+++ b/src/browser/settings.jsx
@@ -28,11 +28,7 @@ var SettingsPage = React.createClass({
} catch (e) {
config = settings.loadDefault();
}
- return {
- teams: config.teams,
- hideMenuBar: config.hideMenuBar,
- showTrayIcon: config.showTrayIcon
- };
+ return config;
},
handleTeamsChange: function(teams) {
this.setState({
@@ -44,6 +40,7 @@ var SettingsPage = React.createClass({
teams: this.state.teams,
hideMenuBar: this.state.hideMenuBar,
showTrayIcon: this.state.showTrayIcon,
+ disablewebsecurity: this.state.disablewebsecurity,
version: settings.version
};
settings.writeFileSync(this.props.configFile, config);
@@ -57,6 +54,11 @@ var SettingsPage = React.createClass({
handleCancel: function() {
backToIndex();
},
+ handleChangeDisableWebSecurity: function() {
+ this.setState({
+ disablewebsecurity: this.refs.disablewebsecurity.getChecked()
+ });
+ },
handleChangeHideMenuBar: function() {
this.setState({
hideMenuBar: this.refs.hideMenuBar.getChecked()
@@ -85,6 +87,8 @@ var SettingsPage = React.createClass({
options.push();
}
+ options.push();
var options_row = (options.length > 0) ? (
diff --git a/src/common/settings.js b/src/common/settings.js
index f9974d7c..14dcdee0 100644
--- a/src/common/settings.js
+++ b/src/common/settings.js
@@ -24,6 +24,7 @@ var loadDefault = function(version) {
teams: [],
hideMenuBar: false,
showTrayIcon: false,
+ disablewebsecurity: false,
version: 1
};
}