Просмотр исходного кода

Deletion of comparison process

Shun Miyazawa 3 лет назад
Родитель
Сommit
7a92f73c80
1 измененных файлов с 3 добавлено и 9 удалено
  1. 3 9
      packages/app/src/services/renderer/renderer.tsx

+ 3 - 9
packages/app/src/services/renderer/renderer.tsx

@@ -7,7 +7,6 @@ import growiDirective from '@growi/remark-growi-directive';
 import { Lsx, LsxImmutable } from '@growi/remark-lsx/components';
 import * as lsxGrowiPlugin from '@growi/remark-lsx/services/renderer';
 import { Schema as SanitizeOption } from 'hast-util-sanitize';
-import { isEqual } from 'lodash';
 import { SpecialComponents } from 'react-markdown/lib/ast-to-react';
 import { NormalComponents } from 'react-markdown/lib/complex-types';
 import { ReactMarkdownOptions } from 'react-markdown/lib/react-markdown';
@@ -81,15 +80,10 @@ const commonSanitizeOption: SanitizeOption = deepmerge(
 let isInjectedCustomSanitaizeOption = false;
 
 const injectCustomSanitizeOption = (config: RendererConfig) => {
-  if (!isInjectedCustomSanitaizeOption && config.xssOption === RehypeSanitizeOption.CUSTOM) {
-    const mergedCommonAttributes = deepmerge(commonSanitizeAttributes, config.attrWhiteList ?? {});
-
-    const isInjectedCustomTags = isEqual(commonSanitizeOption.tagNames, config.tagWhiteList);
-    const isInjectedCustomAttributes = isEqual(commonSanitizeOption.attributes, mergedCommonAttributes);
-    isInjectedCustomSanitaizeOption = isInjectedCustomTags && isInjectedCustomAttributes;
-
+  if (!isInjectedCustomSanitaizeOption && config.isEnabledXssPrevention && config.xssOption === RehypeSanitizeOption.CUSTOM) {
     commonSanitizeOption.tagNames = config.tagWhiteList;
-    commonSanitizeOption.attributes = mergedCommonAttributes;
+    commonSanitizeOption.attributes = deepmerge(commonSanitizeAttributes, config.attrWhiteList ?? {});
+    isInjectedCustomSanitaizeOption = true;
   }
 };