session import and export
parent
6245a712f7
commit
89c8ccc8b4
|
@ -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>
|
|
@ -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();
|
||||||
|
|
Binary file not shown.
|
@ -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": {
|
||||||
|
|
Loading…
Reference in New Issue