[iOS simulator] API test WKAttachmentTests.InjectedBundleReplaceURLWhenPastingImage...
authorwenson_hsieh@apple.com <wenson_hsieh@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 17 Jan 2018 22:16:03 +0000 (22:16 +0000)
committerwenson_hsieh@apple.com <wenson_hsieh@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 17 Jan 2018 22:16:03 +0000 (22:16 +0000)
https://bugs.webkit.org/show_bug.cgi?id=181758

Reviewed by Tim Horton.

This test is failing because Editor::clientReplacementURLForResource expects a MIME type, but on iOS, the type
paramter passed into WebContentReader::readImage is a UTI; subsequently, the bundle editing delegate receives
a MIME type that's actually a UTI, which is incorrect. To address this, ensure that a MIME type is passed to
bundle SPI by converting the type in WebContentReader::readImage to a MIME type.

* editing/cocoa/WebContentReaderCocoa.mm:
(WebCore::WebContentReader::readImage):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227084 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/editing/cocoa/WebContentReaderCocoa.mm

index 03270ba377670325ef8c38109b328a25b7fe3c94..cc646350aafa4755d3a20088d3a8d16d64d62e08 100644 (file)
@@ -1,3 +1,18 @@
+2018-01-17  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        [iOS simulator] API test WKAttachmentTests.InjectedBundleReplaceURLWhenPastingImage is failing
+        https://bugs.webkit.org/show_bug.cgi?id=181758
+
+        Reviewed by Tim Horton.
+
+        This test is failing because Editor::clientReplacementURLForResource expects a MIME type, but on iOS, the type
+        paramter passed into WebContentReader::readImage is a UTI; subsequently, the bundle editing delegate receives
+        a MIME type that's actually a UTI, which is incorrect. To address this, ensure that a MIME type is passed to
+        bundle SPI by converting the type in WebContentReader::readImage to a MIME type.
+
+        * editing/cocoa/WebContentReaderCocoa.mm:
+        (WebCore::WebContentReader::readImage):
+
 2018-01-17  Antti Koivisto  <antti@apple.com>
 
         REGRESSION (r226385?): Crash in com.apple.WebCore: WebCore::MediaQueryEvaluator::evaluate const + 32
index 03e18c0be313053514f284e94b14d5ff9011265c..80488a9228915531a6251bed646b8ae37723c4aa 100644 (file)
@@ -53,6 +53,7 @@
 #import "SocketProvider.h"
 #import "TypedElementDescendantIterator.h"
 #import "URLParser.h"
+#import "UTIUtilities.h"
 #import "WebArchiveResourceFromNSAttributedString.h"
 #import "WebArchiveResourceWebResourceHandler.h"
 #import "WebNSAttributedStringExtras.h"
@@ -614,7 +615,7 @@ bool WebContentReader::readImage(Ref<SharedBuffer>&& buffer, const String& type)
     ASSERT(frame.document());
     auto& document = *frame.document();
 
-    auto replacementURL = frame.editor().clientReplacementURLForResource(buffer.copyRef(), type);
+    auto replacementURL = frame.editor().clientReplacementURLForResource(buffer.copyRef(), isDeclaredUTI(type) ? MIMETypeFromUTI(type) : type);
     if (!replacementURL.isEmpty()) {
         addFragment(createFragmentForImageAndURL(document, replacementURL));
         return true;