diff --git a/plugins/javaFX/javaFX-CE/testSrc/org/jetbrains/plugins/javaFX/fxml/JavaFXHighlightingTest.java b/plugins/javaFX/javaFX-CE/testSrc/org/jetbrains/plugins/javaFX/fxml/JavaFXHighlightingTest.java index b7e3309e7f0b..83b2f7c0901f 100644 --- a/plugins/javaFX/javaFX-CE/testSrc/org/jetbrains/plugins/javaFX/fxml/JavaFXHighlightingTest.java +++ b/plugins/javaFX/javaFX-CE/testSrc/org/jetbrains/plugins/javaFX/fxml/JavaFXHighlightingTest.java @@ -428,6 +428,10 @@ public class JavaFXHighlightingTest extends AbstractJavaFXTestCase { myFixture.testHighlighting(true, false, false, getTestName(false) + ".java"); } + public void testAbsoluteRemoteUrl() throws Exception { + doTest(); + } + private void doTest() throws Exception { myFixture.testHighlighting(false, false, false, getTestName(true) + ".fxml"); } diff --git a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/FxmlConstants.java b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/FxmlConstants.java index c123e6d5073a..91276f94f793 100644 --- a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/FxmlConstants.java +++ b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/FxmlConstants.java @@ -45,6 +45,7 @@ public class FxmlConstants { @NonNls public static final String STYLE_CLASS = "styleClass"; @NonNls public static final String STYLESHEETS = "stylesheets"; + @NonNls public static final String URL = "url"; @NonNls public static final String SOURCE = "source"; diff --git a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/refs/FxmlReferencesContributor.java b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/refs/FxmlReferencesContributor.java index 052887b10b4f..bc1e087a5e5a 100644 --- a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/refs/FxmlReferencesContributor.java +++ b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/refs/FxmlReferencesContributor.java @@ -99,8 +99,10 @@ public class FxmlReferencesContributor extends PsiReferenceContributor { .and(attributeValueInFxml), new JavaFxComponentIdReferenceProvider()); - registrar.registerReferenceProvider(XmlPatterns.xmlAttributeValue().withParent(XmlPatterns.xmlAttribute().withName("url")).and(attributeValueInFxml), - new JavaFxLocationReferenceProvider(false, "png")); + registrar.registerReferenceProvider(XmlPatterns.xmlAttributeValue().withParent(XmlPatterns.xmlAttribute().withName(FxmlConstants.URL)) + .andNot(XmlPatterns.xmlAttributeValue().withValue(string().matches("^http(s)?://.*"))) + .and(attributeValueInFxml), + new JavaFxLocationReferenceProvider(false, "png", "jpg", "gif", "bmp")); registrar.registerReferenceProvider(XmlPatterns.xmlAttributeValue().withParent(XmlPatterns.xmlAttribute().withName(FxmlConstants.STYLESHEETS)).and(attributeValueInFxml), new JavaFxLocationReferenceProvider(true, "css")); diff --git a/plugins/javaFX/testData/highlighting/absoluteRemoteUrl.fxml b/plugins/javaFX/testData/highlighting/absoluteRemoteUrl.fxml new file mode 100644 index 000000000000..8a54717797ad --- /dev/null +++ b/plugins/javaFX/testData/highlighting/absoluteRemoteUrl.fxml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file