From c7a0752149d3db841a039c66268ebfb567eb279c Mon Sep 17 00:00:00 2001 From: Piotr Tomiak Date: Fri, 12 Sep 2025 12:35:48 +0200 Subject: [PATCH] [svg] WEB-69508 Disable spell checking for data urls GitOrigin-RevId: a00437b815b6094ad6f2cdf7f6c3af2478e565a2 --- .../testData/inspection/xmlWithMistakes/dataUrl.svg | 9 +++++++++ .../inspection/XmlWithMistakesInspectionTest.java | 4 ++++ spellchecker/xml/src/XmlSpellcheckingStrategy.java | 6 ++++++ 3 files changed, 19 insertions(+) create mode 100644 spellchecker/testData/inspection/xmlWithMistakes/dataUrl.svg diff --git a/spellchecker/testData/inspection/xmlWithMistakes/dataUrl.svg b/spellchecker/testData/inspection/xmlWithMistakes/dataUrl.svg new file mode 100644 index 000000000000..3c06d7c908eb --- /dev/null +++ b/spellchecker/testData/inspection/xmlWithMistakes/dataUrl.svg @@ -0,0 +1,9 @@ + + + foddd" + xlink:href="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTjMuMXoiIC8+CiAgICA8QzMwMDJGIiBkPSJNMTI1IDMwdjIyLjItLjFWMjMwbDc4LjktNsbD0iI0ZGRkZGRiZnPg==" + /> + diff --git a/spellchecker/testSrc/com/intellij/spellchecker/inspection/XmlWithMistakesInspectionTest.java b/spellchecker/testSrc/com/intellij/spellchecker/inspection/XmlWithMistakesInspectionTest.java index 2b6db89d450d..9aff7e3fb66c 100644 --- a/spellchecker/testSrc/com/intellij/spellchecker/inspection/XmlWithMistakesInspectionTest.java +++ b/spellchecker/testSrc/com/intellij/spellchecker/inspection/XmlWithMistakesInspectionTest.java @@ -41,6 +41,10 @@ public class XmlWithMistakesInspectionTest extends SpellcheckerInspectionTestCas doTest("enumerations.svg"); } + public void testDataUrl() { + doTest("dataUrl.svg"); + } + public void testLinkIntegrity() { doTest("htmlIntegrity.html"); } diff --git a/spellchecker/xml/src/XmlSpellcheckingStrategy.java b/spellchecker/xml/src/XmlSpellcheckingStrategy.java index c1d435a31b2d..ec61aafa6484 100644 --- a/spellchecker/xml/src/XmlSpellcheckingStrategy.java +++ b/spellchecker/xml/src/XmlSpellcheckingStrategy.java @@ -19,6 +19,7 @@ import com.intellij.spellchecker.tokenizer.TokenConsumer; import com.intellij.spellchecker.tokenizer.Tokenizer; import com.intellij.util.SmartList; import com.intellij.util.containers.ContainerUtil; +import com.intellij.util.io.URLUtil; import com.intellij.util.xml.DomElement; import com.intellij.util.xml.DomUtil; import com.intellij.xml.util.XmlEnumeratedValueReference; @@ -228,6 +229,11 @@ public class XmlSpellcheckingStrategy extends SuppressibleSpellcheckingStrategy return; } + // Do not inspect data URIs + if (URLUtil.isDataUri(ElementManipulators.getValueText(element))) { + return; + } + super.tokenize(element, consumer); }