Crash in PlugInOriginHash with empty MIME type (104882)
authorjonlee@apple.com <jonlee@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 13 Dec 2012 08:42:49 +0000 (08:42 +0000)
committerjonlee@apple.com <jonlee@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 13 Dec 2012 08:42:49 +0000 (08:42 +0000)
commit786ce8016136f48a21b67a46de5f8650d8155b03
tree13e1cc0057d7c15b0783b31238f1869606685b0e
parent5b89fb6c1bcaf7b9c9339f639b101390dafccba2
Crash in PlugInOriginHash with empty MIME type (104882)
https://bugs.webkit.org/show_bug.cgi?id=104882
<rdar://problem/12872298>

Reviewed by Filip Pizlo.

The crash occurs because the strings might be null. Add a check for it, but also try to infer a MIME type
in case the markup does not include a type attribute, but we can find it from the extension in the URL.

* platform/KURL.cpp: Add a new function mimeTypeFromURL() which tries to return the implied MIME type
based on the URL provided. If nothing was found, return a null string.
(WebCore::mimeTypeFromURL): Factored out from FrameLoader::defaultObjectContentType().
* platform/KURL.h:

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::defaultObjectContentType): Refactor to use mimeTypeFromURL().
* plugins/PlugInOriginHash.cpp:
(WebCore::addCaseFoldedCharacters): Add a check for an empty string.
(WebCore::PlugInOriginHash::hash): If the service type is empty, try to infer the MIME type.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@137573 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/loader/FrameLoader.cpp
Source/WebCore/platform/KURL.cpp
Source/WebCore/platform/KURL.h
Source/WebCore/plugins/PlugInOriginHash.cpp