From 6a6560ea4f86800fdf30df3111ae44984cdda01c Mon Sep 17 00:00:00 2001 From: Dennis Ushakov Date: Wed, 13 Nov 2013 17:35:14 +0400 Subject: [PATCH] don't check script inside true html files #WEB-9833 fixed --- .../xml/util/CheckValidXmlInScriptBodyInspectionBase.java | 2 ++ xml/xml-psi-impl/src/com/intellij/xml/util/HtmlUtil.java | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/xml/xml-analysis-impl/src/com/intellij/xml/util/CheckValidXmlInScriptBodyInspectionBase.java b/xml/xml-analysis-impl/src/com/intellij/xml/util/CheckValidXmlInScriptBodyInspectionBase.java index 2f6dadee9e95..427a022e04e3 100644 --- a/xml/xml-analysis-impl/src/com/intellij/xml/util/CheckValidXmlInScriptBodyInspectionBase.java +++ b/xml/xml-analysis-impl/src/com/intellij/xml/util/CheckValidXmlInScriptBodyInspectionBase.java @@ -55,6 +55,8 @@ public class CheckValidXmlInScriptBodyInspectionBase extends XmlSuppressableInsp public PsiElementVisitor buildVisitor(@NotNull final ProblemsHolder holder, boolean isOnTheFly) { return new XmlElementVisitor() { @Override public void visitXmlTag(final XmlTag tag) { + if (HtmlUtil.isHtmlTag(tag)) return; + if (SCRIPT_TAG_NAME.equals(tag.getName()) || tag instanceof HtmlTag && SCRIPT_TAG_NAME.equalsIgnoreCase(tag.getName())) { final PsiFile psiFile = tag.getContainingFile(); diff --git a/xml/xml-psi-impl/src/com/intellij/xml/util/HtmlUtil.java b/xml/xml-psi-impl/src/com/intellij/xml/util/HtmlUtil.java index 8301f4782fda..b46b6bfca0c8 100644 --- a/xml/xml-psi-impl/src/com/intellij/xml/util/HtmlUtil.java +++ b/xml/xml-psi-impl/src/com/intellij/xml/util/HtmlUtil.java @@ -17,6 +17,7 @@ package com.intellij.xml.util; import com.intellij.codeInspection.InspectionProfile; import com.intellij.codeInspection.htmlInspections.XmlEntitiesInspection; +import com.intellij.html.RelaxedHtmlNSDescriptor; import com.intellij.ide.highlighter.HtmlFileType; import com.intellij.ide.highlighter.XHtmlFileType; import com.intellij.javaee.ExternalResourceManagerEx; @@ -397,6 +398,12 @@ public class HtmlUtil { return isHtml5Document(doc); } + public static boolean isHtmlTag(XmlTag tag) { + final XmlElementDescriptor descriptor = tag.getDescriptor(); + return descriptor != null && descriptor.getNSDescriptor() instanceof RelaxedHtmlNSDescriptor && + tag.getLanguage() != XHTMLLanguage.INSTANCE; + } + public static boolean hasNonHtml5Doctype(XmlElement context) { XmlDocument doc = PsiTreeUtil.getParentOfType(context, XmlDocument.class); if (doc == null) {