--- old/modules/javafx.web/src/main/native/Source/WebCore/platform/java/DragClientJava.cpp 2017-10-17 14:02:07.200743424 +0530 +++ new/modules/javafx.web/src/main/native/Source/WebCore/platform/java/DragClientJava.cpp 2017-10-17 14:02:06.456371424 +0530 @@ -145,6 +145,7 @@ "[Ljava/lang/String;" "[Ljava/lang/Object;" "Z" + "Ljava/lang/String;" ")V"); ASSERT(mid); @@ -199,8 +200,27 @@ eventPos.y(), jobjectArray(jmimeTypes), jobjectArray(jvalues), - bool_to_jbool(isImageSource)); + bool_to_jbool(isImageSource), + (jstring)m_fileExt.toJavaString(env)); CheckAndClearException(env); } +void DragClientJava::updateFileExtension(const URL& imageURL) +{ + if (imageURL.isNull() || imageURL.isEmpty()) { + m_fileExt = emptyString(); + return; + } + + String lastPathComponent = imageURL.lastPathComponent(); + String extension; + size_t dotOffset = lastPathComponent.reverseFind('.'); + if (dotOffset != notFound) + extension = lastPathComponent.substring(dotOffset + 1); + else + extension = "png"; // Fallback to png if image does not have an extension + + m_fileExt = extension; +} + } // namespace WebCore