61 lines
1.9 KiB
JavaScript
61 lines
1.9 KiB
JavaScript
|
|
// Background Service Worker for SAL Modular Cryptographic Extension
|
|
// This is a simplified version that only handles messaging
|
|
|
|
console.log('Background script initialized');
|
|
|
|
// Store active WebSocket connection
|
|
let activeWebSocket = null;
|
|
let sessionActive = false;
|
|
|
|
// Listen for messages from popup or content scripts
|
|
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
|
|
console.log('Background received message:', message.type);
|
|
|
|
if (message.type === 'SESSION_STATUS') {
|
|
sendResponse({ active: sessionActive });
|
|
return true;
|
|
}
|
|
|
|
if (message.type === 'SESSION_UNLOCK') {
|
|
sessionActive = true;
|
|
sendResponse({ success: true });
|
|
return true;
|
|
}
|
|
|
|
if (message.type === 'SESSION_LOCK') {
|
|
sessionActive = false;
|
|
if (activeWebSocket) {
|
|
activeWebSocket.close();
|
|
activeWebSocket = null;
|
|
}
|
|
sendResponse({ success: true });
|
|
return true;
|
|
}
|
|
|
|
if (message.type === 'CONNECT_WEBSOCKET') {
|
|
// Simplified WebSocket handling
|
|
sendResponse({ success: true });
|
|
return true;
|
|
}
|
|
|
|
if (message.type === 'DISCONNECT_WEBSOCKET') {
|
|
if (activeWebSocket) {
|
|
activeWebSocket.close();
|
|
activeWebSocket = null;
|
|
sendResponse({ success: true });
|
|
} else {
|
|
sendResponse({ success: false, error: 'No active WebSocket connection' });
|
|
}
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
});
|
|
|
|
// Initialize notification setup
|
|
chrome.notifications.onClicked.addListener((notificationId) => {
|
|
// Open the extension popup when a notification is clicked
|
|
chrome.action.openPopup();
|
|
});
|
|
|