NSAttributedString crashes when encoding text attachment cell for missing image.
authortimothy@apple.com <timothy@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 2 Apr 2019 21:06:49 +0000 (21:06 +0000)
committertimothy@apple.com <timothy@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 2 Apr 2019 21:06:49 +0000 (21:06 +0000)
commit3d1bc488af950820e4b91e3280882fb761b7fc22
tree466323e90afd2af884167b656d15568002cb522d
parent67eac441bb115ea1652600dae9491f897c4ba688
NSAttributedString crashes when encoding text attachment cell for missing image.
https://bugs.webkit.org/show_bug.cgi?id=196504
rdar://problem/49161281

Reviewed by Tim Horton.

Clean up and fix a couple of errors and crashes in the missing image path of our
attributed string converter.

Fixes include:
* Removed manual call to release on a RetainPtr, leading to autorelease pool crash.
* No longer try to load an image that is missing on disk and has long been renamed.
* No longer use a NSTextAttachmentCell in the Mac code path which can't be encoded
  for sending to the UIProcess, so it was pretty useless in the web content process.
* Stopped using NSFileWrapper for the missing image so the attachment can contain the
  retina versions of the missing image.
* Simplified bundle finding code, since WebCore is assumed to be loaded.
* Fix leak of attachment by adding missing adoptNS().

* editing/cocoa/HTMLConverter.mm:
(HTMLConverter::_addAttachmentForElement): Unify and simplify missing image path.
(_NSFirstPathForDirectoriesInDomains): Deleted.
(_NSSystemLibraryPath): Deleted.
(_webKitBundle): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243758 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/editing/cocoa/HTMLConverter.mm