RSS Git Download  Clone
Raw Blame History
const electron =require('electron');
const fs = require('fs');
const shell = electron.shell;
const ipc = electron.ipcRenderer;
const remote = electron.remote;

const cssPath = __dirname + '/css/onenoteStyles/onenote.css';
let cssData;

const BrowserWindow =  electron.BrowserWindow;

fs.readFile(cssPath, 'utf-8', function(err, data) {
	if (err) {
		console.log(err);
    }
	cssData = data;
	window.cssData = cssData;
	console.log("set data");
});

const data = {
	url: ''
};

window.electronWindowSetup = function() {

    ipc.on('onload-user', function(event, data) {
    	if (data !== null && data !== undefined) {
    		if (data.hasOwnProperty('url')) {
				webview.src = data.url;
			}
		}
    })

	ipc.on('action', function(event, data) {
		switch (data.action) {
			case 'restart':
                let session = webview.getWebContents().session;
                session.cookies.get({}, async function(error, cookies) {
                    if (error) {
                    	alert(error.message);
                    	console.error(error);
                    	return;
					};
                    for (var i = cookies.length - 1; i >= 0; i--) {
                    	const cookie = cookies[i];
                        let domain = cookie.domain;
                        if (domain.startsWith('.')) {
                            domain = domain.substring(1);
                        }
                        const url = "http" + (cookie.secure ? "s" : "") + "://" + domain  + cookie.path;
                        console.info(`
cookie.domain: ${cookie.domain} 
cookie.hostOnly: ${cookie.hostOnly}
cookie.httpOnly: ${cookie.httpOnly}
cookie.name: ${cookie.name}
cookie.path: ${cookie.path}
cookie.secure: ${cookie.secure}
cookie.session: ${cookie.session} 
cookie.value: ${cookie.value} 
url: ${url} 
                        `);
                        const promises = [];

                        promises.push(
                        	new Promise((resolve) => {
                                session.cookies.remove(url, name, function (error) {
                                        if (error) {
                                            alert(error.message);
                                            console.error(error);
                                            return;
                                        };
                                        resolve();
                                        console.log('cookie delete : ', cookie.name);
                                    }
                                );
							})
						)
						await Promise.all(promises);
                        webview.reload();
                    };
                });


                break;
		}
	})

    const webview = document.getElementById("onenote-webview");
	webview.addEventListener('did-stop-loading', function(event) {
		webview.insertCSS(window.cssData);
	});

    webview.addEventListener('did-navigate', function(event, url) {
    	data.url = webview.src;
        ipc.send('save', data);
    });

	webview.addEventListener('new-window', function(event) {
		shell.openExternal(event.url);
	});

    ipc.send('did-finish-load');

	/*
	document.getElementById('openConsoleBtn').addEventListener('click', function(event) {
		BrowserWindow.getFocusedWindow().webContents.openDevTools();
	});

	document.getElementById('min-btn').addEventListener('click', function(event) {
		BrowserWindow.getFocusedWindow().minimize();
	});

	document.getElementById('max-btn').addEventListener('click', function(event) {
		BrowserWindow.getFocusedWindow().maximize();
	});

	// use an IPC for this one so we can get the window state and save it to a file before it closes
	document.getElementById('close-btn').addEventListener('click', function(event) {
		ipc.send('appClose');
	});
	*/
}