Title: [231061] trunk
- Revision
- 231061
- Author
- [email protected]
- Date
- 2018-04-26 11:46:42 -0700 (Thu, 26 Apr 2018)
Log Message
ASSERTION FAILED: ASSERT(!containsImage || MIMETypeRegistry::isSupportedImageResourceMIMEType([resource MIMEType])) in -[NSPasteboard(WebExtras) _web_writePromisedRTFDFromArchive:containsImage:]
https://bugs.webkit.org/show_bug.cgi?id=184161
<rdar://problem/39051645>
Reviewed by Dan Bernstein.
.:
* ManualTests/DragInlinePDFImageDocument.html: Added.
* ManualTests/resources/simple.pdf: Added.
Source/WebKitLegacy/mac:
Fixes an assertion failure when quitting an app that uses a Legacy WebKit web view after dragging-and-
dropping a PDF embedded using an HTML image element into the same web view.
When performing a drag-and-drop of a PDF document image (WebCore::PDFDocumentImage) we create a WebArchive
from the main frame's WebHTMLView and promise AppKit that we will provide a Rich Text Format (RTF) document
from this archive if needed. For some reason, on app termination AppKit requests that the WebHTMLView
fulfill its RTF document promise for the WebArchive created at the start of the drag operation. To do this,
we need to extract the image resource from the Web Archive. Currently we query MIMETypeRegistry::isSupportedImageResourceMIMEType()
to see if the contained image is one that we can handle. However MIMETypeRegistry::isSupportedImageResourceMIMEType()
only returns true if WebKit supports creating an image document for the specified MIME type. Disregarding
the iOS motivated setting Settings::useImageDocumentForSubframePDF, PDFs and PostScripts do not create an
image document when navigated to directly. Since we can support dragging PDF document images we need to
query if MIMETypeRegistry::isPDFOrPostScriptMIMEType() in addition to querying MIMETypeRegistry::isSupportedImageResourceMIMEType().
We need to do both such queries before falling back to using the main resource of the Web Archive as
the image. Otherwise, we will cause an assertion failure if the main resource of the Web Archive is
not an image document.
* Misc/WebNSPasteboardExtras.mm:
(-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]):
Modified Paths
Added Paths
Diff
Modified: trunk/ChangeLog (231060 => 231061)
--- trunk/ChangeLog 2018-04-26 18:42:01 UTC (rev 231060)
+++ trunk/ChangeLog 2018-04-26 18:46:42 UTC (rev 231061)
@@ -1,3 +1,14 @@
+2018-04-26 Daniel Bates <[email protected]>
+
+ ASSERTION FAILED: ASSERT(!containsImage || MIMETypeRegistry::isSupportedImageResourceMIMEType([resource MIMEType])) in -[NSPasteboard(WebExtras) _web_writePromisedRTFDFromArchive:containsImage:]
+ https://bugs.webkit.org/show_bug.cgi?id=184161
+ <rdar://problem/39051645>
+
+ Reviewed by Dan Bernstein.
+
+ * ManualTests/DragInlinePDFImageDocument.html: Added.
+ * ManualTests/resources/simple.pdf: Added.
+
2018-04-26 Andy VanWagoner <[email protected]>
[INTL] Implement Intl.PluralRules
Added: trunk/ManualTests/DragInlinePDFImageDocument.html (0 => 231061)
--- trunk/ManualTests/DragInlinePDFImageDocument.html (rev 0)
+++ trunk/ManualTests/DragInlinePDFImageDocument.html 2018-04-26 18:46:42 UTC (rev 231061)
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+<body>
+<p>This is a test for <a href="" 184161</a>. Perform the following using a debug build of Legacy WebKit:</p>
+<ol>
+ <li>Drag and drop the PDF (the content demarcated with a black border on the page below) within the web view.</li>
+ <li>Quit this app.</li>
+</ol>
+<p>This test PASSED if this app does not crash with an assertion failure.</p>
+<img src="" style="border:1px solid black">
+</body>
+</html>
Added: trunk/ManualTests/resources/simple.pdf (0 => 231061)
--- trunk/ManualTests/resources/simple.pdf (rev 0)
+++ trunk/ManualTests/resources/simple.pdf 2018-04-26 18:46:42 UTC (rev 231061)
@@ -0,0 +1,171 @@
+%PDF-1.3
+%\xC4\xE5\xF2\xE5\xEB\xA7\xF3\xA0\xD0\xC4\xC6
+4 0 obj
+<< /Length 5 0 R /Filter /FlateDecode >>
+stream
+xm\x90\xCD\x820\x84\xEF}\x8A9\xC2A\xD8-<k\xD4\xC4I\xC6)\xFE$\x95`9\xF0\xF8.
+\x89$\xA4\x87\xA63_fgۢD\x8BB#3뜐\xE5o\x873^H\x8F\x81qHwrW\x8CP-\xA05H%\xB4\xE8V8\x92\xB3\xE2\x81-4\xA1\xF2\xD8Z\xB0e+fX\x8F\xF4\xC0 nk\u1(\xC9\xDD!V\x940"\x8C\x8Ab\xFD ӻ\xF1\xA3\xE1&t
+q\xFD\xE8t\xB1\xBA\xB0\xB7\xDFM\x97\xBBQB\xC4\xD8j\xDER\x9ByK\x85\xC6;\xF8F>\xA8s\xBD̲\xCF_p\xF9
+H8
+endstream
+endobj
+5 0 obj
+186
+endobj
+2 0 obj
+<< /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]
+>>
+endobj
+6 0 obj
+<< /ProcSet [ /PDF /Text ] /ColorSpace << /Cs1 7 0 R >> /ExtGState << /Gs2
+9 0 R /Gs1 10 0 R >> /Font << /F1.0 8 0 R >> >>
+endobj
+9 0 obj
+<< /Type /ExtGState /AAPL:AA true >>
+endobj
+10 0 obj
+<< /Type /ExtGState /AAPL:AA false >>
+endobj
+11 0 obj
+<< /Length 12 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode >>
+stream
+x\x85ROHQ\xFE\xCD6\x84\x88A\x85x\x88w
+ \x95)\xAC\xAC\xA0\xDAvuY\x95m[\x95Ңgߺ\xA3\xB33ӛ\xD95œ]\xA2<u\xA2ct\xECС\x9B\x97\xA2\xC0\xACK\xD7 \xA9 <u\xE8\xFB\xCD\xEC\xEA(\x84oy;\xDF\xFB\xFD\xFD~\xDF{Dm\x9D\xA6\xEF;)ATsC\x95+\xA5\xA7nNM\x8B\x83)E\xD4NX\xA6\xF8\xE9bq\x8C\xB1빒\xBF\xBB\xD7\xD6g\xD2ز\xDEǵv\xFB\xF6=\xB5\x95e`!\xEA-\xB6\xB7\xFA!\x91f��\x99\x9F(e\x80\xB3\xC0\x96\xAF\xD8><X\xAC\xF0#\xA2\x9A\xB90\xD3ќt\xA5\xB2-\x91S\xE6\xA2(*\xAFb;I\xAE\xFB\xF9\xB9ƾ\x8B\xB5\x89\x83\xFE\\x8Ff֎\xBD\xB3\xEA\xAA\xD1LԴ\xF7D\xA1\xBC\xAED\xCF_T\xF6l5\xA7+\xE3\x9CHC)\xF2\xAE\xD5\xDF+L\xC7\x91+JR5d\xB9\x9FjN\x9Du\xE0u\xBB]\xBA\x93\xE3\xF8\xF6\xA5>\xC9`\xA8\x89\xB5鲙\x85}��v*\xCB\xEC\xF0\xE8\xF1\xB2b\xE7\x81{a\xFF[QÓ\xC0'a?d\x87y֭\xF6\xAES\xE0{\x84=5\xE0\xCE\xAE\xC5\xF1ڊ^-C\xF7T#h\x8CsM\xC4\xD3\xD79s\xA4\x88\xEF1\xD4\x98\xF7F9\xA61w\x96\xAA7\x80;aY\xAAf
+\xB1]\xFB\xAE\xEA%\xEE{w\xD3\xE3;ћ9\\xA0Ir\xB1\xD9\xD0< X}\x8B\xB0I<>\xCEU\xE0w\xA8\x98\xC0\xB9\x89\xDC\xCD(\xF7\xD5g\xA3R\x81Vz\x8DW\xC6O\xE3\xB9\xF1\xC5\xF8elπ~\xACv\xD7{|\xFF\xE9\xE3u><\xF9\x8Dz\xDC9\xAE\xBD\x9DUaVqe\xDD\xFF\xC72\x84\x8F\xD9'9\xA6\xC1ӡYXk\xD8v\xE4\x9A\xCCL\xB0(\xC4>\x97\xFA\x92U\xDC\xD5\xEE\xED\xB8E\xCCP>,l%\xBAKTn)\xD4\xEA=\x83J\xAC+\xD8��vp\x92\xC4,Z\xB8Sk\xBA9xw\xD8"zm\xF9MW\xB2\xEB\x86\xFE\xFA\xF6z\xFB\xDA\xF2mʨ)(ͳDf\x94\xB1[\xA3\xE4\xDDx\xDB\xFDf\x91\x9F8:\xBE罊Z\xC9\xFEIE?\x859Z*\xF2U\xF4VP\xD6\xC4og~\xB6~\?\xA5\xE7\xF5A\xFD< =\xAD\x9Fѯ\xE8\xA3\xBEtI\xCF\xC2sQ\xA3I\xF0\xB0i!\xE2\xA0\x8A\x833\xD4NTc\x8D\xE2)\xF1\xF2\xB4[d\x91\xFD@\xFDf
+endstream
+endobj
+12 0 obj
+704
+endobj
+7 0 obj
+[ /ICCBased 11 0 R ]
+endobj
+3 0 obj
+<< /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 2 0 R ] >>
+endobj
+13 0 obj
+<< /Type /Catalog /Pages 3 0 R >>
+endobj
+14 0 obj
+<< /Length 15 0 R /Length1 7488 /Filter /FlateDecode >>
+stream
+x\xCDY{xU\x96?\xB7]\xD5\xDDI\xA7;I\xA7I\xA7\xBB\xA9tw\xDEO \x89\xA4\xDDI $\x82\x90F\xA2\xE9@B\xC2C#\x84\x8Cq6\xB20J@\xD1\xE8\xE7\xF8\xC8 E\x92\xC5(\xF9PtwfęE\xDD\xF15\x9F\xF9؝UWҽ\xA7\xAA\x93H\xF8F?\xFE\xF0\xF3۪>\xF7\x9Es\xCF}\x9C\xFB\xBB\xA7έ\xBAݹaSDC\xD0P\xB7<\xD0\xD1
+ʕԄ\xD9+\xD7:"r\xEC\x98\xFF\xDBʮNGDfS\xE8u\xAD\xAB\xD7Gd\xFEa��\x8Dm\xF5\xBA\xEE\xF1\xF6qgx\xB1\xAD%\xB0*\xA2\x87\xAB\x98\xB6aAD&\xD31Oi[\xDFyWD\x8E\xC2<s\xDD+\xC7\xF5q\xBFAټ>p\xD7\xF8\xF8\xF0>ʎ\xDB\xEB["\xF5\x93J1O\xE9\xB8cc\xE7\xB8\xCC`^Ա\xA1e\xBC>i@\xFB\xDE��\x82\xA5Z\xB88\xA0@\x8Fw#��\xF7\x99\xC6je=^\xAB2\xB5{o\x8B)\xFD
+\xBC"\xDFV\xEA|\xF1\xC27-W=\xDA=\xFC\xB7X\xA0\x9E\xA8/窴P@A\xFD\xA8vϤFi\x87\x896\xF5A\x98\x87T\x864)#c\x8Ez\xC8Ax\xE9I$\xDA\xC9N\xE8Fځ\xB4\x89\x99\xE4\xA34Lv0\xBCx\x92t\x83\x95\xCC\xB5\x8C}I\xBC\xC5n\xD6h\xED\xD5\xD0\xF6\x8B\xE6\x8FN\xAEއ\xC42+\xEA9\xF2$\xF9\xAC;y\\xE4n\xA8\x82Tr`0m\x9D\xBD U\x87\xA1\xA9\x89VRB$\xE7\xDBO\x93Lp1۸!\x99!'\xEC\x9F\xE6e\xD9?\xCERd\xC0~\xC6d0{9%1\xC6>b{\xC2\xFE\xAF\xB6\xD5\xF6\xD3H\xFDՑ4\xACq\xC2~ضξ79H\xD8\xB2 \xB6\xD9\xC96ٰ\xE9 \xFB\xFA\xB4>\xFB\xAA<E\xBF\xA0/H\xF5؋Q\xBFT\xD4\xDA\x8B\x9C\xF6\xB6K\xF6O\x90'(g\xD9\xD8\xD3\xF3~gO\xC1\x86X́\x9D\xBAD\x83=ɶ\xD7>U\xC96\x9Fg\xD2)r\x84<\xE9\xE4\xB1\xD7|\xFBIdq\xBA\x83\xF3Ҋ\xFA\x82\xE4\xE7\x83U\xA9y\xAE \xB9[,\xACJ\xEDK\xAB\xF2\xB8\xD2\xD8]i\xF2K_\xE3\xB6q\xB7ps\xB8|.\x83K\xE5ܜ\x93K\xE4\xE2\xF9X^\xCF\xEB\xF8(^\xC3\xF3<$\xBF(\xB3\xABN\x91~(CX\xFAy\xCF\xC9\xF3XȜ"G\x95£/\xF0O\xF1\xC0\xC7\xC3\xA0\xF3\x88\x92\x
FE!\xBD\xCC!sB\xA5p\xAA 9:):*\xDA\xD1G 0\x8ABO\xC9<&\x98Ex
+\xE6\x83D\xEE\xAA`{BW\x99\xB9,v\xB6\xA1\xB8\xC2\xFB}I\x93\xA2\x99H3\xBE\xFF2\x9B\xD4W]\xDF \xB1\xF9\xA5|\x99 \xDB\xFC\xD5\xCD\xCC\xF7杛P\xD5R\x9E\x91Q\xBD\xB8{\xB0\xABcM\xAB\xAFE\xF05 \xBE\xA4&igW\x9BY\xEAiv8\x8E\xAF\xE9\x90\x89v75\xAFl\x93\xF3@\x8B\xD4!\xB4x\xA55\x82\xD7q\xBCKiw\x9D\xBAUVw \xDE\xE3\xD0\xEA[\xD2p\xBCUl\xF1t\x89]>!\xE0\xF56\x97oh\x9C2֎ɱ6\x94\xFF\x83\xB1\xCA\xE5\xCE6\xC8c5+\xED\xAE\xABQV7\xCBc5\xCAc5\xCAc5\x8B\xCD\xCAX\xF2\xE4}\xED\xF5\xE5;\xD1;\xBE\xF6j\x87\x94Z/\xCD[\xB4\xBCAr\xFC\xDE 9\x88\x85\xDEM\xC0\x8E\x80\x9E} R\xD9\xB029`_DzW\xCEC7\x87?aρ>\xB4>\xFC\xDFt .\xEA\xB0LT\xA8\xACF\xE0~x\x8E\x81
+!\x9F
+\xB7\xC2>x\x9D\xAC\xC1g{\xC1\x92\xD9Ѓ\xCF}\xC0oI8\xFC&\xB4¯\xB1~'\x9C\x81G\xE08Da\x9B\xF5`D\xEDn\xE2
+ߍ\xB2\x88|3l?+)P\xBF\x84\x97\xA0{\xDD+\xA3\xE1\xC3\xE1A\xD4.\x86\x9B\xE1\xF4c\xFB'u\x9C\x89?\xBE<,\xC2>\xB7\xA1\xE6\xCD\xF0\x82\xF01\x88\x85L(\x87:,\xDD\xA7\x89\x8B~7\xDCf(A\xEB\x87_\xC1S\xF02|A\xB6\x92\xA1p[\xB8+|>\xFC!\xBA\xAA\x92\xA0\xEF\xCDd\x88|Hc~~<\xFC\xD7p\x91H\x85t\xB5 \xF6\xC23\xD8\xFF1\xBCG0\xB4\xFA\xC8Z\xD2I\xF6\x92G(\x91\xDAJ+1\xDBYShqH\x83J\xBC\xAB0*߇\xC3Y\xF8|K.SfZOwү\x84g\x84\xFFcv5\xCER\x9EIt\xE1}/qN\xA7\x88\x8A䒹\xA4\x8El&\x93G\xC8\xA9t\xEAf\xAA\x81\xFAu\xF5 ]K\xAF\xA0\xBB\xE9?2\x99v\xBBO\xA5+}>>~L`\x83[`l\xC1ٝ\x81\xF3\xF0%\xFC\x9D\xD0\xD8Wq\x91RNnŻ\x87<F+\x93\xA7\xC80UGF\xC8y\xEA\xF93\xF9\x88\&W(\x96\x8A\xA2\x8CT\xD5I\xED\xA5\xFA\xA93\xD4\xEF\xE9v\xFAz?\xFDg\xFA+f6K\xB1O\xB1\xAB\\xDC{\xA1\xE6Ў\xD0\xEF\xC3%\xE1\xC3\xDF`\x88\xE5\xC1\x89+S\xB5pp\xB60\xFE gq\xEFc\xB8jg\xE1x]\xB9?"I0
+\xDF
+@b\x89\x95\xE4\x93\xBCk\xC9B\xD2J\xDA\xC9\xE4$ާ[\xBE\xA6p!(5e\xA0LTUO5S\xEB\xA9\xEA-\xAA\x87N\xA4\xD3\xE9\xF9\xF4r\xFAޯ\xD1\xE8+\xF4\x86e\xE2#S\xC9̃]\xCCz\xE6��\xDE\x99C\xCC��\xF3[\xCC\xCEfk٥l\xBB\x83\xDDE\xAFd\xDFd/\xA8\xB6\xA8v\xABT\x97U\xFF\x85aqw\xB7W\xE7u\xF4ٗї\xBF\xBB\x92\x82\xD6\xE7\xC3\x{DC12}xI3\xF4\xE1j<EЋ\x8A܇xu@j\xB8\x91\xDEBWR\xB9\xE8+\xA7\xE1\xE7\xE8\xAD`3\xEC\xA0W\xC0S\xE1w\xE8#\xF06z\xCA:\xEC\xB2\x9Ec\xCA\xC1\xC6>\x8A\xAB\xB3rы\xC6o1-=-\xD5\xE3v\xA5Ӝ\xF9I\x89V\x8Bٔ`\x8C\x8F\x8B5裣\xB45ϩX\x86\xA6d\xFA\x84\x8A&\x87\xE4n\x92\xB7PU\x95%\xCBB��\xD74\xE1\xA3\xEC\x90*\xA6֑r\xBB��\xAA\xA6\xD4\xB1f\xEBu5\xC5HMq\xB2&\xD1;J\xA14+\xD3\xE1\xD2"#H\x96/j@\xFE~\xAF\xE0wH\xA3
+_\xA3\xF0*|4\xF2N'6p\xF8\xCCm^\x87D\x9A>\xA9\xA2\xAB\xAD\xD7\xD7\xE4\xCD\xCA$\xC3"¡\xC9ʔ\x87Z\xB9c \xE66c\x80\x85\xB9r+\x9Fd\xBC>\xC9" \x8F:\xDA\xE5\xAC\x92\xEA5\xF8\xBC\x89N\xA7˰hq\x8E\x91\x95\xD9.\xA1\x9D\xB03j\x95\xB0jgP\x84\xE6&\x99\xACh\x90\xE8\x80_\xA2\x9A\xE4\xBE\x92I\xF0J\xA6\xBB?6'Np\xBE]\xD7(%\xCAUh魐Ħ\x9D\xAE,6\xC9R`J\xD5\xF5\xEC\x96\xDA\xEEo\x90\xC8\xF6q#dנ\xA5\xB2\xB9\x91=\xC1մ\xC6!\xA9\x85r\xA1\xADwM\x82\x8B\xAC\xA2U \xBE\xD45XD\x8B"de\x9B\xB7\x948q\xF6\xC3Ys\xB2\xE6\xC8y\x89Ӽ%\x92\xFAϑ\xF2?\x8Cȹy\xCB\xD90\xAF^< ��\x91桝\x92c\xA52\x88\x80\xC6\xC9IK\xF4\xAE,B\x9C\xF0\xF2\x9Cf;\xDA3W\xA2\xD0gh\x97ĺ\xE6\xA4\x9E\xFA 3ڼ\xE3\x9A\xD6x\xD4\xAB\xB2 \x95\xFB\xB1~S\xAF~\xAE\xD6\xD7\x8Eޯp\xB7nF\xBF\x98Z/Q\xB9\xF4_\x81\xAC\x94z\xD2W$\x98\xE0\xBB\xE4\xCD҅\xB3n3m\xF2\xFAv)k\x8A\xB2`\xF6]S\x80\xB2\x8Dl\xB3\x8Fx]\x83Sr\xF8\xB1��\xDF&3\xAB\x83\xA0\xAEk8N\xC8n\x90\x84\xB7\xC1k\xC6wT\xFA\xB6
[
Q\x9D)\xBBZ\xBB\xC7G!+ҝ\xC8eg:*p\xE4
+\xD9W\xBD\x8E\xDEy\xABz\x8E6t&ƥ\xE4\xA8h\xE9\xF5\xE7 \x82\xF5+\x88,\xC1E\xE2$\xDB\xE2\xF7\xCF\xC2~r\xE4~\xB0 V\xEF\xF5ck\xC6{\xC0\)\xCA\xC3J\xB9\x99\xB8\x99\xD2E+R\x8F7Q\xBD~\tߑ\xBAi=\xD7\xEF\xC7Zy\x93\x96\xA2ś\xDB\xCD\xE36\xE7\xA3\xCDy\xE9\xA8/\x88\xF4\x82\xEF.=\xBF\xB7WApJ#\xBD\xBD\x89\xBD\xF2\xF3\x91\x83\xAE/\xC7\x82 W\x91!\x92\x9E:l\x8B\x99\xE0LT\xD6\xC0)8\xD1,\xBF\x8C\xE9tt\xE9 \x8F\xC2w\xF6F\xB8p\xD2nl9\xAD-T.\xFA\x91.\xBE\x84g\xDD\xC2%\x93\x96NA\xB8m.\x91\xBE\xE9\xA7Cx\xF6\x84\xCB~aq\xD2n4rZ+*\x97\xFFHϽ\x84\xBD7\x84\xB0o\xD2\xD2)W\xA0\xCD>\xE1ʟ\xE1\xAA)\xCF\xFBa\x84\xE7OڍFV\xA3\xB5\xF3\x84\xFCH\xD7\xDCµ7\x84\xF0\xC2IK\xA7 \\x876/\x94^\xF4\xD3!\xBCx
+\xC2\xF5?\x8C\xF0\x92I\xBB\xD1ț\xD1\xDA%
+\xC2K$\x84\x97\xDD\xC2+7\x84\xB0\xD2\xD2)/G\x9B\xFD2·L",&Jpm\xEE\xB9.\xEC\x98W\9\xBE)\xB1\xB1PN0\xA1
+i9\xDBTG`\xF2%\xD4ڲބ\xB9\xABO\x9C\xF3D\xE1\xD7Nj(;\xC0/v\xFF?\xB9(\xC5\xBF#\x8B\x99Ja9\xFC\x86P\x8F\x97j\xC6\xF3\xE9\xF8\xC2o\x83_\x90o\xA8\xEA\xDDG\xC28\xF0\xA3\xA0\xD18\x8Fߧ4\x9Es\x95EΞ\xF8|A@\xE2\xF5A\x80\xF3H\xB2\x8C<\xFD~$@\x9E{Nb\x80\xA5'\xB1\xF3ܼ\x83\xD3\xE0A*gv\xAF\xFE\x85}\xE9\xEFs\x83L\xCD<\xC7\xC0ޫ\xC2\xEF2V\xFC\xA2H¯O\x89\xBB\xE5\xF7[\x9F\xB3Ӭ\x8E\x8Aa㍺\xD8c\xBC%\xC6\xF3iVR\xAD=A\x9F#\xAF\xD2\xE7\xDF\xE1/\xAA/\xD8\xDF>3}&h\xCF\xCE\xC5R+x֙s \xC1\x96R\xAC\xE2\xB8\xA7-\x89\xD3\xD8\xB4.\xEEѤ\xE7\x92^Hz;\x89q%ĸ\x92X\x8B&\x8A3\xE8<16k\xF5\xA4ds\x8B\xC5\xED\xF9\x93\xF3`#\x9E^\xD4~Y3v\xA9V\xFFu\xCD\xE8\x9FƊc\x8B\x8B+H\xB1\xC59\x8DPV6Z6\x8A\\xE9X\xA9~K\xF3r\xE7v\x8B 0,\x8D\x9Fk\x84eTv\xB7A\xAB\x8F\xD3\xC7\xEBU\x94kZb\x8A\xBD\xC2\xE6&\xC96\xB5\x89s\x83֨s\x93h\x9D`ub\x8B oָ!Z\x8F \xE3ed}iF\x86L\xE9\xE9\xF7\x90;\xE1\xCE\xC6FH0\xE1mt&\x93\x82\xFC\x99\x853t\x84Sq*a\xF4P@\xDC\xB70M\xC
5j\xE8BQa\xAC\xFE\xEAe\xF6\xC1G\xEF_\x92\x9C[\x98\xB7\xB8{\xCE\xE2\xD7B%\xE6\xBF\xBB6u\xFE\xD1_b\x89\xC0T\xAE\xBDyѺ\xF9O?\xF3Jcaeɞ\xEC\xBA$=\xF0\x9B\x95"\xE5!\x{1E62AD}\x83\xBDD>EOކ3ʞ\x81\xA83M\xDEęx\xE3\x89\xDB\xC4m\xE2\xF9\xB8h*\xCE`\xB0\xA98c\x94&:Mc5c$XLf<Et6\x97+P\x96\x95*XBY)\xC2g(.&2p\xD0W`(\x9CYX\x90\x8FS3\x86\xE9\xCA4\x90\xDB6$,\xDB\xFAy}\xD6pr'\x86\xD83c\xEF/r?\xE3bl\xF5L\xD7̆\xC6^\x93\xED\xA3d\xFBHɸo\x8AI\xDC\xC7\xAD\xA25j\x93Ɋ\xF3I\xE3h\xB0\xF0\xEA#\xDFYrv\xAC\xF4l\xAD\xAF\xC5\xFB \xAEdiY\xCDh^.!
+\x8C¶\xF0bү\`_\xFA\xED\xC4\xDCU.\xA6ܰ],\xE1xN\xA7\x8A1\xF1&\x9D)\xC6\xC3{\xD0m\xAA,K\xB5\xAB\xB5Q\x82Kc\xB5 +Ř\N\x9B\xC9\xAD\xE2@\x95\x98\xE4\xA2\xE34\xA9h\x84!+\xEFȀ5M>\xB35@\xB2]in\xB0xR\x83$\xFAZ\x80.\xE9\xBF\xFDrl\xDC2S)W3\x8A\xFEe*&\xE8dh\xC7\xD12\xCDF?M^\xFA\xA9\xE8+\x88\xD3\xFDw\xF6\xD4f\xA6\x94>\xDD\xF2Nm\xFA\xA9\xB55k\xF6\xBF`M\xEBh}n\x88\xC9ٷ0妲\x94\x8A\xA5\xF5\x8F/\xD9=6\x93\xFAlm\xDD\xEE\x83c{\xA8S\xEB\xF3\xAB\x9FxCF\x95\x86\x92\xF0E\xC6\xC9\xD4\xE2y\x90,\xF0\xA0X\xB0\x8F\xEF\xD3\xEFOx\x969\xC4\xD4N\xF2\xAF\xF1o3\xEB>\x8F\x8F\x9Aūlf.\xCA\xAB\xB5p\x8B\x91\xF2\xC4X\xD5\xA3Ś$\xEAA\xE7\x86\xF1'iTY||h"O\x8F\xF2\xC8dbuk\xE3\xD4\xE8\xF5\xCAM8rl4r\x9A\xF8(7=&|\x82\xCAMh&\xCAs!'\xF7@cJ\xEC\x8CqO\x89O(\x88\xC5'\x80rN\x83\xF8p\xD4\xDBs\x9C|\xB6\xAF\xEF<\xFC\xBA\xFA\xDF\xFF]%\xB1\x9F\xAA:I\xCC\xC1\xBE[\xBE:\xD0\x89~7\xF4E\xE8\xCB\xD0X\xE8y\x92q\x95\xE8\x88Ȣ\xBB\xEC@Gz\xD7\xD9��E\xB7\x87vGϤ+F\xC7\xE
B)\x9Dڠ\x8E\xF2\xF0,\xAE\xA8A\xC3[\xE3H\xB6>\xCD��\x96ظ \xF1\xE1\xE2m\x99\xF0n\x8C\xB2?Ք\x9D;+G
+y\xCD"\xFEm\x94W*\xC1d\xCC&\x91e\xDA\xD1o\xFC\xF5Z\xD6l\xD3'\xEA\xEF{\x97c\xB8\xF01\x8A>MS\xC76\x8C\xED\x93\xFD\xB9<\xFC6}\x82\xA9Ɠ\xBB\x92->P\xA4\xDE\xC7\xF6\xC5\xEE\x8F\xDFgܗ\xAEJMqy
+\x9D\xCEʔJ\xCFҔe\x9E֔\xD5\xEE\xEE\xA8\xEE\xE8n]\x97Й\xD2\xE9\xEAtL>\x94Gc\x88a\xB3\x98\xEC8\xB0MIfcV|vj\x8C\xB6\x9Dw\xBB
+]\x94kZ\xB4\x86Ɉ3\xBF\x9Ad\x8B\xE3[\xF6\x81m\xA7\xD6\xE9)r\x9C9V\xBB9\xC1\xEC1\xCDNus\x9ETk\x9E\xCE\xEE\xD1\xCFO\xB6%7o`2.\xA2\x9B\xCB:V\xACGN\x9Enq\xA6\xF8T\xCBˋ\xD1Qq\xDB;\x95U^@\xB2(\xB7\xD1eu;uv'\xA8\xF1H\x9CЙxxŦ#g\x8BŲ\xC4x\xB3\x938b\xA69\xC19M\xCD{4N\xE2v\xA95$\x8Bq\xE2\xFF \x98$\x92\x9CĒ\x80\x89\xF5\xA5\x95D\xF1\x8A \xA7h$\x8Dq!\xF2e\xE7ȑC\xE2\x8C\xE9Jd\xE1\x84Hx4ƛ\xECD\x8E\xA2\xF18\xDDr\x99wy\xAD\xDAw\x93g\xE3;\xE6t\xBE7\xFC\xB7\xB5s\xA9#\xAC{\xF6\xFE\xD6v_j\xED\xCFΔ\xB7_\xFC\xCF\xCB\xE78\xF2\xA9[\x9E\xBBl\xD9-\xBE\xDCQ\xA6\xA5ϻgߋ\xBB\x97\xB7ݔ_Y+V\xA4[\xE2l9\x99\xBE\x878\xF1I\xEA[\xF4%S\xF82\xA5f\x97㓳\xF8_\xA2\xB35#:$e\xA2\x8BI(6\xD1*\x9D\xC6`Ő\x80\xA7\x83i`\xD4ch;M\xD1W,\xEBU\xE7\xEA\xCD\xE3\xBBNc\xF1Yes\x89\x84\x829\x8C\x95\x8E\xEA\xC7.)\x91
+\xE3\x94'\x82\xF3\x9CiԡO\xB9g\x84\x87N\xF4\xF7\xBB\x8Dy\xD1\xC9\xF1\xF6\xB9\x9E-\xCB\xF7\xECa\x97\x87\xDE\xDA;\xE6+\x8A\xD3j\xB7\x9A\xBFg5\xF5\xCA^%\xA6\xE1;\xFD!\x93\x83\xEF.3\xE4\x9Dφ孛FR\xC9[x\x8E\xBCS\xE3\xAE\xE7I|k\x98\xE0\xF8q.7/\xAE \x91\x98\xD4D\xC0I\xFE\xFC\xEBo\xDF=J\xBA? }
+]"\xDDLN\xE8^\xD2͎]{\x8F<\xBA\x9DrEb\xB4\x9CB\xB8\xCF[\xFF\xD1%\xBFE\xE1ޯ\x9C\xCA\xD6)\xE7\xB2Ka\x9E\xA8ʻO,\x92|\xA9\xF0\xBF5\x98_Q1\xAFڗQղ\xAE\xAB\xA5\xB3}e@\xA9\xA1\xA81\x91\xFF\xF3\x91ꐚ\x90:\x90z\x90DzIBA:\xBF\x90\x87I\x9E\xE0=UVl\xBDF\xDFv\x9D\xBE\xFD:Y\xF9\xAF\xF2\x9A\xFAw\\xA7\xDFp\x9D\xBC\xF1:Y\xF9\xAF\xF1\x9A\xF6w\xC9\xFA\xFFĠ\x9Dm
+endstream
+endobj
+15 0 obj
+4523
+endobj
+16 0 obj
+<< /Type /FontDescriptor /Ascent 770 /CapHeight 717 /Descent -230 /Flags 32
+/FontBBox [-951 -481 1445 1122] /FontName /JFFIKE+Helvetica /ItalicAngle 0
+/StemV 0 /AvgWidth -441 /MaxWidth 1500 /XHeight 523 /FontFile2 14 0 R >>
+endobj
+17 0 obj
+[ 278 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 556 0
+0 556 222 0 0 0 833 0 556 0 0 333 500 278 0 0 0 500 ]
+endobj
+8 0 obj
+<< /Type /Font /Subtype /TrueType /BaseFont /JFFIKE+Helvetica /FontDescriptor
+16 0 R /Widths 17 0 R /FirstChar 32 /LastChar 120 /Encoding /MacRomanEncoding
+>>
+endobj
+18 0 obj
+()
+endobj
+19 0 obj
+(Mac OS X 10.6.4 Quartz PDFContext)
+endobj
+20 0 obj
+()
+endobj
+21 0 obj
+()
+endobj
+22 0 obj
+(TextEdit)
+endobj
+23 0 obj
+(D:20100823213557Z00'00')
+endobj
+24 0 obj
+()
+endobj
+25 0 obj
+[ () ]
+endobj
+1 0 obj
+<< /Title 18 0 R /Author 20 0 R /Subject 21 0 R /Producer 19 0 R /Creator
+22 0 R /CreationDate 23 0 R /ModDate 23 0 R /Keywords 24 0 R /AAPL:Keywords
+25 0 R >>
+endobj
+xref
+0 26
+0000000000 65535 f
+0000007132 00000 n
+0000000301 00000 n
+0000001513 00000 n
+0000000022 00000 n
+0000000282 00000 n
+0000000405 00000 n
+0000001477 00000 n
+0000006738 00000 n
+0000000543 00000 n
+0000000595 00000 n
+0000000649 00000 n
+0000001457 00000 n
+0000001596 00000 n
+0000001646 00000 n
+0000006259 00000 n
+0000006280 00000 n
+0000006520 00000 n
+0000006912 00000 n
+0000006931 00000 n
+0000006983 00000 n
+0000007002 00000 n
+0000007021 00000 n
+0000007048 00000 n
+0000007090 00000 n
+0000007109 00000 n
+trailer
+<< /Size 26 /Root 13 0 R /Info 1 0 R /ID [ <c0b58182d026198a50ab002c69c10d0a>
+<c0b58182d026198a50ab002c69c10d0a> ] >>
+startxref
+7307
+%%EOF
Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (231060 => 231061)
--- trunk/Source/WebKitLegacy/mac/ChangeLog 2018-04-26 18:42:01 UTC (rev 231060)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog 2018-04-26 18:46:42 UTC (rev 231061)
@@ -1,3 +1,31 @@
+2018-04-26 Daniel Bates <[email protected]>
+
+ ASSERTION FAILED: ASSERT(!containsImage || MIMETypeRegistry::isSupportedImageResourceMIMEType([resource MIMEType])) in -[NSPasteboard(WebExtras) _web_writePromisedRTFDFromArchive:containsImage:]
+ https://bugs.webkit.org/show_bug.cgi?id=184161
+ <rdar://problem/39051645>
+
+ Reviewed by Dan Bernstein.
+
+ Fixes an assertion failure when quitting an app that uses a Legacy WebKit web view after dragging-and-
+ dropping a PDF embedded using an HTML image element into the same web view.
+
+ When performing a drag-and-drop of a PDF document image (WebCore::PDFDocumentImage) we create a WebArchive
+ from the main frame's WebHTMLView and promise AppKit that we will provide a Rich Text Format (RTF) document
+ from this archive if needed. For some reason, on app termination AppKit requests that the WebHTMLView
+ fulfill its RTF document promise for the WebArchive created at the start of the drag operation. To do this,
+ we need to extract the image resource from the Web Archive. Currently we query MIMETypeRegistry::isSupportedImageResourceMIMEType()
+ to see if the contained image is one that we can handle. However MIMETypeRegistry::isSupportedImageResourceMIMEType()
+ only returns true if WebKit supports creating an image document for the specified MIME type. Disregarding
+ the iOS motivated setting Settings::useImageDocumentForSubframePDF, PDFs and PostScripts do not create an
+ image document when navigated to directly. Since we can support dragging PDF document images we need to
+ query if MIMETypeRegistry::isPDFOrPostScriptMIMEType() in addition to querying MIMETypeRegistry::isSupportedImageResourceMIMEType().
+ We need to do both such queries before falling back to using the main resource of the Web Archive as
+ the image. Otherwise, we will cause an assertion failure if the main resource of the Web Archive is
+ not an image document.
+
+ * Misc/WebNSPasteboardExtras.mm:
+ (-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]):
+
2018-04-26 Per Arne Vollan <[email protected]>
Disable content filtering in minimal simulator mode
Modified: trunk/Source/WebKitLegacy/mac/Misc/WebNSPasteboardExtras.mm (231060 => 231061)
--- trunk/Source/WebKitLegacy/mac/Misc/WebNSPasteboardExtras.mm 2018-04-26 18:42:01 UTC (rev 231060)
+++ trunk/Source/WebKitLegacy/mac/Misc/WebNSPasteboardExtras.mm 2018-04-26 18:46:42 UTC (rev 231061)
@@ -212,13 +212,16 @@
// or the main resource (standalone image case).
NSArray *subresources = [archive subresources];
WebResource *resource = [archive mainResource];
- if (containsImage && [subresources count] > 0
- && MIMETypeRegistry::isSupportedImageResourceMIMEType([[subresources objectAtIndex:0] MIMEType]))
- resource = (WebResource *)[subresources objectAtIndex:0];
+ if (containsImage && [subresources count] > 0) {
+ WebResource *subresource = [subresources objectAtIndex:0];
+ NSString *subresourceMIMEType = [subresource MIMEType];
+ if (MIMETypeRegistry::isSupportedImageResourceMIMEType(subresourceMIMEType) || MIMETypeRegistry::isPDFOrPostScriptMIMEType(subresourceMIMEType))
+ resource = subresource;
+ }
ASSERT(resource != nil);
- ASSERT(!containsImage || MIMETypeRegistry::isSupportedImageResourceMIMEType([resource MIMEType]));
- if (!containsImage || MIMETypeRegistry::isSupportedImageResourceMIMEType([resource MIMEType]))
+ ASSERT(!containsImage || MIMETypeRegistry::isSupportedImageResourceMIMEType([resource MIMEType]) || MIMETypeRegistry::isPDFOrPostScriptMIMEType([resource MIMEType]));
+ if (!containsImage || MIMETypeRegistry::isSupportedImageResourceMIMEType([resource MIMEType]) || MIMETypeRegistry::isPDFOrPostScriptMIMEType([resource MIMEType]))
[self _web_writeFileWrapperAsRTFDAttachment:[resource _fileWrapperRepresentation]];
}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes