'use strict';
-const {BrowserWindow, app} = require('electron');
+const {BrowserWindow, app, protocol} = require('electron');
const WAS_EVENT = require('./was_event');
const wrt = require('../browser/wrt');
} else {
this.preloadState = 'none';
}
+ this.accessiblePath = wrt.getAccessiblePath();
+ console.log(this.accessiblePath);
+ if (this.accessiblePath) {
+ protocol.interceptFileProtocol('file', (request, callback) => {
+ const url = require('url');
+ let access_path, parsed_info = url.parse(request.url);
+ access_path = parsed_info.host + parsed_info.pathname;
+ console.log("check path: " + access_path);
+
+ for (let p in this.accessiblePath) {
+ if (access_path.startsWith(this.accessiblePath[p])) {
+ callback(access_path);
+ return;
+ }
+ }
+ if (access_path.indexOf("/shared/res/") > -1) {
+ callback(access_path);
+ return;
+ }
+ else {
+ console.log("invalid access: " + access_path);
+ callback(403);
+ }
+ }, (error) => {
+ console.log(error);
+ });
+ }
}
getBrowserWindowOption(options) {
return {