Browse Source

test: webRequest no crash

Samuel Maddock 3 months ago
parent
commit
3a18e564f5

+ 7 - 1
spec/extensions-spec.ts

@@ -1,4 +1,4 @@
-import { app, session, BrowserWindow, ipcMain, WebContents, Extension, Session } from 'electron/main';
+import { app, session, BrowserWindow, ipcMain, net, WebContents, Extension, Session } from 'electron/main';
 
 import { expect } from 'chai';
 import * as WebSocket from 'ws';
@@ -434,6 +434,12 @@ describe('chrome extensions', () => {
         });
       });
     });
+
+    it('does not crash when net.fetch is called', async () => {
+      await session.defaultSession.loadExtension(path.join(fixtures, 'extensions', 'chrome-webRequest-non-blocking'));
+      const requestUrl = `${url}/test.zip`;
+      await net.fetch(requestUrl);
+    });
   });
 
   describe('chrome.tabs', () => {

+ 9 - 0
spec/fixtures/extensions/chrome-webRequest-non-blocking/background.js

@@ -0,0 +1,9 @@
+/* global chrome */
+
+chrome.webRequest.onBeforeRequest.addListener(
+  // eslint-disable-next-line @typescript-eslint/no-unused-vars
+  (details) => {
+    console.log(details);
+  },
+  { urls: ['<all_urls>'] }
+);

+ 10 - 0
spec/fixtures/extensions/chrome-webRequest-non-blocking/manifest.json

@@ -0,0 +1,10 @@
+{
+  "name": "chrome-webRequest-non-blocking",
+  "version": "1.0",
+  "background": {
+    "service_worker": "background.js"
+  },
+  "permissions": ["webRequest"],
+  "manifest_version": 3,
+  "host_permissions": ["<all_urls>"]
+}