Przeglądaj źródła

Merge pull request #7305 from weseek/imprv/113763-override-process-for-common-sanitize-options

imprv: Override process for CommonSanitizeOptions
Yuki Takei 3 lat temu
rodzic
commit
61bdf9cc36

+ 7 - 2
packages/app/src/services/renderer/renderer.tsx

@@ -77,9 +77,14 @@ const commonSanitizeOption: SanitizeOption = deepmerge(
   },
   },
 );
 );
 
 
+let isInjectedCustomSanitaizeOption = false;
+
 const injectCustomSanitizeOption = (config: RendererConfig) => {
 const injectCustomSanitizeOption = (config: RendererConfig) => {
-  commonSanitizeOption.tagNames = config.tagWhiteList;
-  commonSanitizeOption.attributes = deepmerge(commonSanitizeAttributes, config.attrWhiteList ?? {});
+  if (!isInjectedCustomSanitaizeOption && config.isEnabledXssPrevention && config.xssOption === RehypeSanitizeOption.CUSTOM) {
+    commonSanitizeOption.tagNames = config.tagWhiteList;
+    commonSanitizeOption.attributes = deepmerge(commonSanitizeAttributes, config.attrWhiteList ?? {});
+    isInjectedCustomSanitaizeOption = true;
+  }
 };
 };
 
 
 const isSanitizePlugin = (pluggable: Pluggable): pluggable is SanitizePlugin => {
 const isSanitizePlugin = (pluggable: Pluggable): pluggable is SanitizePlugin => {