Browse Source

fix #1893: add GM_info.isIncognito boolean

tophf 2 years ago
parent
commit
01bee6caf9
2 changed files with 4 additions and 0 deletions
  1. 3 0
      src/injected/content/inject.js
  2. 1 0
      src/injected/web/gm-api-wrapper.js

+ 3 - 0
src/injected/content/inject.js

@@ -134,6 +134,9 @@ export async function injectScripts(data, isXml) {
   if (IS_FIREFOX) {
     IS_FIREFOX = parseFloat(info.ua.browserVersion); // eslint-disable-line no-global-assign
   }
+  info.gmi = {
+    isIncognito: chrome.extension.inIncognitoContext,
+  };
   bridgeInfo = createNullObj();
   bridgeInfo[PAGE] = info;
   bridgeInfo[CONTENT] = info;

+ 1 - 0
src/injected/web/gm-api-wrapper.js

@@ -94,6 +94,7 @@ function makeGmInfo(gmInfo, meta, resources) {
   });
   // No __proto__:null because these are standard objects for userscripts
   meta.resources = resourcesArr;
+  safeAssign(gmInfo, bridge.gmi);
   return safeAssign(gmInfo, {
     [INJECT_INTO]: bridge.mode,
     platform: safeAssign({}, bridge.ua),