Title: [226173] trunk
Revision
226173
Author
[email protected]
Date
2017-12-20 04:44:10 -0800 (Wed, 20 Dec 2017)

Log Message

REGRESSION(r222699): Drag & drop from a web page to Gmail fails
https://bugs.webkit.org/show_bug.cgi?id=181019

Reviewed by Wenson Hsieh.

Source/WebCore:

The bug was caused by imageTypeToFakeFilename returning "image/png" instead of "image.png" for
the filename for a PING image converted from a TIFF image. Fixed the bug by correcting this typo.

Tests: PasteImage.PasteLegacyTIFFImage
       PasteImage.PasteTIFFImage

* platform/cocoa/PasteboardCocoa.mm:
(WebCore::imageTypeToFakeFilename):

Tools:

Added assertions for filenames.

* TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (226172 => 226173)


--- trunk/Source/WebCore/ChangeLog	2017-12-20 03:24:15 UTC (rev 226172)
+++ trunk/Source/WebCore/ChangeLog	2017-12-20 12:44:10 UTC (rev 226173)
@@ -1,3 +1,19 @@
+2017-12-20  Ryosuke Niwa  <[email protected]>
+
+        REGRESSION(r222699): Drag & drop from a web page to Gmail fails
+        https://bugs.webkit.org/show_bug.cgi?id=181019
+
+        Reviewed by Wenson Hsieh.
+
+        The bug was caused by imageTypeToFakeFilename returning "image/png" instead of "image.png" for
+        the filename for a PING image converted from a TIFF image. Fixed the bug by correcting this typo.
+
+        Tests: PasteImage.PasteLegacyTIFFImage
+               PasteImage.PasteTIFFImage 
+
+        * platform/cocoa/PasteboardCocoa.mm:
+        (WebCore::imageTypeToFakeFilename):
+
 2017-12-19  Myles C. Maxfield  <[email protected]>
 
         Refactor user-installed font setting for clarity

Modified: trunk/Source/WebCore/platform/cocoa/PasteboardCocoa.mm (226172 => 226173)


--- trunk/Source/WebCore/platform/cocoa/PasteboardCocoa.mm	2017-12-20 03:24:15 UTC (rev 226172)
+++ trunk/Source/WebCore/platform/cocoa/PasteboardCocoa.mm	2017-12-20 12:44:10 UTC (rev 226173)
@@ -107,7 +107,7 @@
         return nullptr;
     case ImageType::TIFF:
 #if PLATFORM(MAC)
-        return "image/png"; // For Web compatibility, we pretend to have PNG instead.
+        return "image.png"; // For Web compatibility, we pretend to have PNG instead.
 #else
         ASSERT_NOT_REACHED();
         return nullptr;

Modified: trunk/Tools/ChangeLog (226172 => 226173)


--- trunk/Tools/ChangeLog	2017-12-20 03:24:15 UTC (rev 226172)
+++ trunk/Tools/ChangeLog	2017-12-20 12:44:10 UTC (rev 226173)
@@ -1,3 +1,14 @@
+2017-12-20  Ryosuke Niwa  <[email protected]>
+
+        REGRESSION(r222699): Drag & drop from a web page to Gmail fails
+        https://bugs.webkit.org/show_bug.cgi?id=181019
+
+        Reviewed by Wenson Hsieh.
+
+        Added assertions for filenames.
+
+        * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
+
 2017-12-19  Daniel Bates  <[email protected]>
 
         MarkerSubrange.SubdivideGrammarAndSelectionOverlap{Frontmost, FrontmostWithLongestEffectiveRange} are failing

Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm (226172 => 226173)


--- trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm	2017-12-20 03:24:15 UTC (rev 226172)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm	2017-12-20 12:44:10 UTC (rev 226173)
@@ -67,6 +67,7 @@
     EXPECT_WK_STREQ("true", [webView stringByEvaluatingJavaScript:@"gifItem = dataTransfer.items.find((item) => item.type == 'image/gif'); (!!gifItem).toString()"]);
     EXPECT_WK_STREQ("file", [webView stringByEvaluatingJavaScript:@"gifItem.kind"]);
     EXPECT_WK_STREQ("image/gif", [webView stringByEvaluatingJavaScript:@"gifItem.file.type"]);
+    EXPECT_WK_STREQ("image.gif", [webView stringByEvaluatingJavaScript:@"gifItem.file.name"]);
     EXPECT_WK_STREQ("true", [webView stringByEvaluatingJavaScript:@"dataTransfer.files.includes(gifItem.file).toString()"]);
 
     [webView stringByEvaluatingJavaScript:@"insertFileAsImage(gifItem.file)"];
@@ -88,6 +89,7 @@
     EXPECT_WK_STREQ("true", [webView stringByEvaluatingJavaScript:@"jpegItem = dataTransfer.items.find((item) => item.type == 'image/jpeg'); (!!jpegItem).toString()"]);
     EXPECT_WK_STREQ("file", [webView stringByEvaluatingJavaScript:@"jpegItem.kind"]);
     EXPECT_WK_STREQ("image/jpeg", [webView stringByEvaluatingJavaScript:@"jpegItem.file.type"]);
+    EXPECT_WK_STREQ("image.jpeg", [webView stringByEvaluatingJavaScript:@"jpegItem.file.name"]);
     EXPECT_WK_STREQ("true", [webView stringByEvaluatingJavaScript:@"dataTransfer.files.includes(jpegItem.file).toString()"]);
 
     [webView stringByEvaluatingJavaScript:@"insertFileAsImage(jpegItem.file)"];
@@ -109,6 +111,7 @@
     EXPECT_WK_STREQ("true", [webView stringByEvaluatingJavaScript:@"pngItem = dataTransfer.items.find((item) => item.type == 'image/png'); (!!pngItem).toString()"]);
     EXPECT_WK_STREQ("file", [webView stringByEvaluatingJavaScript:@"pngItem.kind"]);
     EXPECT_WK_STREQ("image/png", [webView stringByEvaluatingJavaScript:@"pngItem.file.type"]);
+    EXPECT_WK_STREQ("image.png", [webView stringByEvaluatingJavaScript:@"pngItem.file.name"]);
     EXPECT_WK_STREQ("true", [webView stringByEvaluatingJavaScript:@"dataTransfer.files.includes(pngItem.file).toString()"]);
 
     [webView stringByEvaluatingJavaScript:@"insertFileAsImage(pngItem.file)"];
@@ -136,6 +139,7 @@
     EXPECT_WK_STREQ("1", [webView stringByEvaluatingJavaScript:@"dataTransfer.items.filter((item) => item.kind == 'file').length"]);
     EXPECT_WK_STREQ("1", [webView stringByEvaluatingJavaScript:@"dataTransfer.files.length"]);
     EXPECT_WK_STREQ("image/gif", [webView stringByEvaluatingJavaScript:@"file = dataTransfer.files[0]; file.type"]);
+    EXPECT_WK_STREQ("sunset-in-cupertino-400px.gif", [webView stringByEvaluatingJavaScript:@"file.name"]);
 
     [webView stringByEvaluatingJavaScript:@"insertFileAsImage(file)"];
     [webView waitForMessage:@"loaded"];
@@ -156,6 +160,7 @@
     EXPECT_WK_STREQ("1", [webView stringByEvaluatingJavaScript:@"dataTransfer.items.filter((item) => item.kind == 'file').length"]);
     EXPECT_WK_STREQ("1", [webView stringByEvaluatingJavaScript:@"dataTransfer.files.length"]);
     EXPECT_WK_STREQ("image/jpeg", [webView stringByEvaluatingJavaScript:@"file = dataTransfer.files[0]; file.type"]);
+    EXPECT_WK_STREQ("sunset-in-cupertino-600px.jpg", [webView stringByEvaluatingJavaScript:@"file.name"]);
 
     [webView stringByEvaluatingJavaScript:@"insertFileAsImage(file)"];
     [webView waitForMessage:@"loaded"];
@@ -176,6 +181,7 @@
     EXPECT_WK_STREQ("1", [webView stringByEvaluatingJavaScript:@"dataTransfer.items.filter((item) => item.kind == 'file').length"]);
     EXPECT_WK_STREQ("1", [webView stringByEvaluatingJavaScript:@"dataTransfer.files.length"]);
     EXPECT_WK_STREQ("image/png", [webView stringByEvaluatingJavaScript:@"file = dataTransfer.files[0]; file.type"]);
+    EXPECT_WK_STREQ("sunset-in-cupertino-200px.png", [webView stringByEvaluatingJavaScript:@"file.name"]);
 
     [webView stringByEvaluatingJavaScript:@"insertFileAsImage(file)"];
     [webView waitForMessage:@"loaded"];
@@ -196,6 +202,7 @@
     EXPECT_WK_STREQ("1", [webView stringByEvaluatingJavaScript:@"dataTransfer.items.filter((item) => item.kind == 'file').length"]);
     EXPECT_WK_STREQ("1", [webView stringByEvaluatingJavaScript:@"dataTransfer.files.length"]);
     EXPECT_WK_STREQ("image/tiff", [webView stringByEvaluatingJavaScript:@"file = dataTransfer.files[0]; file.type"]);
+    EXPECT_WK_STREQ("sunset-in-cupertino-100px.tiff", [webView stringByEvaluatingJavaScript:@"file.name"]);
 
     [webView stringByEvaluatingJavaScript:@"insertFileAsImage(file)"];
     [webView waitForMessage:@"loaded"];
@@ -217,6 +224,7 @@
     EXPECT_WK_STREQ("1", [webView stringByEvaluatingJavaScript:@"dataTransfer.items.filter((item) => item.kind == 'file').length"]);
     EXPECT_WK_STREQ("1", [webView stringByEvaluatingJavaScript:@"dataTransfer.files.length"]);
     EXPECT_WK_STREQ("image/png", [webView stringByEvaluatingJavaScript:@"file = dataTransfer.files[0]; file.type"]);
+    EXPECT_WK_STREQ("image.png", [webView stringByEvaluatingJavaScript:@"file.name"]);
 
     [webView stringByEvaluatingJavaScript:@"insertFileAsImage(file)"];
     EXPECT_WK_STREQ("blob:", [webView stringByEvaluatingJavaScript:@"url = "" URL(imageElement.src); url.protocol"]);
@@ -237,6 +245,7 @@
     EXPECT_WK_STREQ("true", [webView stringByEvaluatingJavaScript:@"pngItem = dataTransfer.items.find((item) => item.type == 'image/png'); (!!pngItem).toString()"]);
     EXPECT_WK_STREQ("file", [webView stringByEvaluatingJavaScript:@"pngItem.kind"]);
     EXPECT_WK_STREQ("image/png", [webView stringByEvaluatingJavaScript:@"pngItem.file.type"]);
+    EXPECT_WK_STREQ("image.png", [webView stringByEvaluatingJavaScript:@"pngItem.file.name"]);
     EXPECT_WK_STREQ("true", [webView stringByEvaluatingJavaScript:@"dataTransfer.files.includes(pngItem.file).toString()"]);
 
     [webView stringByEvaluatingJavaScript:@"insertFileAsImage(pngItem.file)"];
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to