// Content Script läuft auf der Web-App-Seite // Lauscht auf window.postMessage von der Web-App und leitet an Background weiter const MESSAGE_SOURCE = "eship-webapp"; // Markiere Extension als verfügbar // #region agent log try { console.log('[ESHIP-CONTENT] Content script loaded'); if (typeof window !== 'undefined') { window.__EBAY_EXTENSION__ = true; console.log('[ESHIP-CONTENT] window.__EBAY_EXTENSION__ set to true'); } else { console.error('[ESHIP-CONTENT] window is undefined!'); } } catch (e) { console.error('[ESHIP-CONTENT] Error setting flag:', e); } // #endregion window.addEventListener("message", (event) => { // Sicherheitscheck: Nur Nachrichten von derselben Origin akzeptieren if (event.data?.source !== MESSAGE_SOURCE) return; // Auth Messages (JWT) if (event.data.type === "AUTH_JWT" || event.data.type === "AUTH_CLEARED") { chrome.runtime.sendMessage( { type: event.data.type, jwt: event.data.jwt, }, (response) => { // Antwort zurück an Web-App senden window.postMessage( { source: "eship-extension", type: event.data.type, response: response, }, "*" ); } ); return; } // eBay Parsing Request (PARSE_URL) if (event.data.action === "PARSE_URL" && event.data.url) { chrome.runtime.sendMessage( { action: "PARSE_URL", url: event.data.url, }, (response) => { // Antwort zurück an Web-App senden window.postMessage( { source: "eship-extension", messageId: event.data.messageId, ok: response?.ok, data: response?.data, error: response?.error, }, "*" ); } ); return; } });