瀏覽代碼

fix #1893: add GM_info.isIncognito boolean

tophf 2 年之前
父節點
當前提交
01bee6caf9
共有 2 個文件被更改,包括 4 次插入0 次删除
  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) {
   if (IS_FIREFOX) {
     IS_FIREFOX = parseFloat(info.ua.browserVersion); // eslint-disable-line no-global-assign
     IS_FIREFOX = parseFloat(info.ua.browserVersion); // eslint-disable-line no-global-assign
   }
   }
+  info.gmi = {
+    isIncognito: chrome.extension.inIncognitoContext,
+  };
   bridgeInfo = createNullObj();
   bridgeInfo = createNullObj();
   bridgeInfo[PAGE] = info;
   bridgeInfo[PAGE] = info;
   bridgeInfo[CONTENT] = 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
   // No __proto__:null because these are standard objects for userscripts
   meta.resources = resourcesArr;
   meta.resources = resourcesArr;
+  safeAssign(gmInfo, bridge.gmi);
   return safeAssign(gmInfo, {
   return safeAssign(gmInfo, {
     [INJECT_INTO]: bridge.mode,
     [INJECT_INTO]: bridge.mode,
     platform: safeAssign({}, bridge.ua),
     platform: safeAssign({}, bridge.ua),