backgroundExecution: boolean;
defaultBackgroundColor: string;
defaultTransparent: boolean;
+ isAlwaysReload: boolean;
mainWindow: Electron.BrowserWindow;
multitaskingSupport: boolean;
notificationPermissionMap?: Map<Electron.WebContents, boolean>;
backgroundSupport = wrt.getBackgroundSupport();
debugPort = 0;
firstRendered = false;
+ contentSrc = '';
inspectorSrc = '';
loadFinished = false;
pendingCallbacks: Map<number, any> = new Map();
this.backgroundExecution = false;
}
this.accessiblePath = wrt.tv?.getAccessiblePath();
+ this.isAlwaysReload = (wrt.tv ? wrt.tv.isAlwaysReload() : false);
this.multitaskingSupport = (wrt.tv ? wrt.tv.getMultitaskingSupport() : true);
this.defaultBackgroundColor = (wrt.tv ? '#0000' :
((wrt.getPlatformType() === "product_wearable") ? '#000' : '#FFF'));
this.sendAppControlEvent();
}
- loadUrl(src: string) {
- this.mainWindow.loadURL(src);
- this.prelaunch(src);
+ private launchInspectorIfNeeded(appControl: NativeWRTjs.AppControl) {
+ console.log('launchInspectorIfNeeded');
+ let inspectorEnabledByVconf = wrt.tv ? wrt.tv.needUseInspector() : false;
+ if (inspectorEnabledByVconf && !this.backgroundExecution) {
+ this.inspectorSrc = this.contentSrc;
+ this.contentSrc = 'about:blank';
+ }
+ let hasAulDebug = (appControl.getData('__AUL_DEBUG__') === '1');
+ if (hasAulDebug || inspectorEnabledByVconf) {
+ let debugPort = wrt.startInspectorServer();
+ let data = { "port": [debugPort.toString()] };
+ this.debugPort = debugPort;
+ appControl.reply(data);
+ }
+ }
+
+ loadUrl(appControl: NativeWRTjs.AppControl) {
+ this.contentSrc = appControl.getLoadInfo().getSrc();
+ this.launchInspectorIfNeeded(appControl);
+ this.mainWindow.loadURL(this.contentSrc);
+ this.prelaunch(this.contentSrc);
if (wrt.da) {
this.mainWindow.emit('ready-to-show');
}
}
private needReload(src: string) {
- let isAlwaysReload = (wrt.tv ? wrt.tv.isAlwaysReload() : false);
- if (isAlwaysReload) {
+ if (this.isAlwaysReload) {
return true;
}
let reload = false;