session import and export

master
subhra74 2020-04-27 02:13:52 +02:00
parent 6245a712f7
commit 89c8ccc8b4
4 changed files with 69 additions and 44 deletions

View File

@ -1,7 +1,13 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<meta charset="UTF-8">
<script src="bg.js"></script> <script src="bg.js"></script>
</head> </head>
<body></body> <body></body>
</html> </html>

View File

@ -155,7 +155,7 @@
}; };
var isVideoMime = function (mimeText) { var isVideoMime = function (mimeText) {
if(!mimeList){ if (!mimeList) {
return false; return false;
} }
var mime = mimeText.toLowerCase(); var mime = mimeText.toLowerCase();
@ -168,7 +168,7 @@
} }
var checkForVideo = function (request, response) { var checkForVideo = function (request, response) {
var mime = ""; var mime = "";
var video = false; var video = false;
var url = response.url; var url = response.url;
@ -180,11 +180,11 @@
} }
} }
if (mime.startsWith("audio/") || mime.startsWith("video/") || if (mime.startsWith("audio/") || mime.startsWith("video/") ||
mime.indexOf("mpegurl") > 0 || mime.indexOf("f4m") > 0 || isVideoMime(mime)) { mime.indexOf("mpegurl") > 0 || mime.indexOf("f4m") > 0 || isVideoMime(mime)) {
log("Checking video mime: "+mime+" "+JSON.stringify(mimeList)); log("Checking video mime: " + mime + " " + JSON.stringify(mimeList));
video = true; video = true;
} }
@ -230,10 +230,10 @@
if (request.tabId != -1) { if (request.tabId != -1) {
chrome.tabs.get chrome.tabs.get
( (
request.tabId, request.tabId,
function (tab) { function (tab) {
sendToXDM(request, response, tab.title, true); sendToXDM(request, response, tab.title, true);
} }
); );
} else { } else {
sendToXDM(request, response, null, true); sendToXDM(request, response, null, true);
@ -424,24 +424,24 @@
//the object is removed from array when request completes or fails //the object is removed from array when request completes or fails
chrome.webRequest.onSendHeaders.addListener chrome.webRequest.onSendHeaders.addListener
( (
function (info) { requests.push(info); }, function (info) { requests.push(info); },
{ urls: ["http://*/*", "https://*/*"] }, { urls: ["http://*/*", "https://*/*"] },
["requestHeaders"] ["requestHeaders"] // on chrome "extraHeaders" also needs to be added?
); );
chrome.webRequest.onCompleted.addListener chrome.webRequest.onCompleted.addListener
( (
function (info) { function (info) {
removeRequest(info.requestId); removeRequest(info.requestId);
}, },
{ urls: ["http://*/*", "https://*/*"] } { urls: ["http://*/*", "https://*/*"] }
); );
chrome.webRequest.onErrorOccurred.addListener chrome.webRequest.onErrorOccurred.addListener
( (
function (info) { function (info) {
removeRequest(info.requestId); removeRequest(info.requestId);
}, },
{ urls: ["http://*/*", "https://*/*"] } { urls: ["http://*/*", "https://*/*"] }
); );
//This will monitor and intercept files download if //This will monitor and intercept files download if
@ -449,36 +449,36 @@
//Use request array to get request headers //Use request array to get request headers
chrome.webRequest.onHeadersReceived.addListener chrome.webRequest.onHeadersReceived.addListener
( (
function (response) { function (response) {
var requests = removeRequest(response.requestId); var requests = removeRequest(response.requestId);
if (!isXDMUp) { if (!isXDMUp) {
return; return;
} }
if (!monitoring) { if (!monitoring) {
return; return;
} }
if (disabled) { if (disabled) {
return; return;
} }
if (!(response.statusLine.indexOf("200") > 0 if (!(response.statusLine.indexOf("200") > 0
|| response.statusLine.indexOf("206") > 0)) { || response.statusLine.indexOf("206") > 0)) {
return; return;
} }
if (requests) { if (requests) {
if (requests.length == 1) { if (requests.length == 1) {
if (!(response.url + "").startsWith(xdmHost)) { if (!(response.url + "").startsWith(xdmHost)) {
//console.log("processing request " + response.url); //console.log("processing request " + response.url);
return processRequest(requests[0], response); return processRequest(requests[0], response);
}
} }
} }
} },
}, { urls: ["http://*/*", "https://*/*"] },
{ urls: ["http://*/*", "https://*/*"] }, ["blocking", "responseHeaders"]
["blocking", "responseHeaders"]
); );
//check XDM if is running and enable monitoring //check XDM if is running and enable monitoring
@ -541,6 +541,24 @@
contexts: ["all"], contexts: ["all"],
onclick: runContentScript, onclick: runContentScript,
}); });
/*
On startup, connect to the "native" app.
*/
var port = browser.runtime.connectNative("xdmff.native_host");
/*
Listen for messages from the app.
*/
port.onMessage.addListener((response) => {
console.log("Received: " + response);
});
/*
On start up send the app a message.
*/
console.log("Sending to native...")
port.postMessage("hello from extension");
}; };
initSelf(); initSelf();

View File

@ -3,7 +3,7 @@
"minimum_chrome_version": "18.0", "minimum_chrome_version": "18.0",
"name": "XDM Browser Monitor", "name": "XDM Browser Monitor",
"description": "XDM integration module for Firefox Quantum", "description": "XDM integration module for Firefox Quantum",
"version": "2.1", "version": "2.2",
"icons": { "icons": {
"48": "icon.png" "48": "icon.png"
}, },
@ -20,6 +20,7 @@
"activeTab", "activeTab",
"webRequest", "webRequest",
"webRequestBlocking", "webRequestBlocking",
"nativeMessaging",
"*://*/*" "*://*/*"
], ],
"applications": { "applications": {