• aestes@apple.com's avatar
    2011-03-25 Andy Estes <aestes@apple.com> · 5e14373e
    aestes@apple.com authored
            Reviewed by Adele Peterson.
    
            REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
            https://bugs.webkit.org/show_bug.cgi?id=49016
    
            TestNetscapePlugIn needs to register support for an image MIME type so
            we can test that the embed tag prefers plug-ins to render image MIME
            types.
    
            * DumpRenderTree/TestNetscapePlugIn/mac/Info.plist: Register image/png.
            * DumpRenderTree/TestNetscapePlugIn/main.cpp:
            (NP_GetMIMEDescription): Ditto.
            * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.rc: Ditto.
    2011-03-25  Andy Estes  <aestes@apple.com>
    
            Reviewed by Adele Peterson.
    
            REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
            https://bugs.webkit.org/show_bug.cgi?id=49016
    
            * fast/images/embed-image.html: Disable plug-ins to continue testing
            native image rendering with embed.
            * plugins/embed-prefers-plugins-for-images-expected.txt: Added.
            * plugins/embed-prefers-plugins-for-images.html: Added.
            * plugins/plugin-javascript-access-expected.txt: Updated to include the
            new MIME type registered by TestNetscapePlugIn.
    2011-03-25  Andy Estes  <aestes@apple.com>
    
            Reviewed by Adele Peterson.
    
            REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
            https://bugs.webkit.org/show_bug.cgi?id=49016
    
            Update objectContentType() implementation to handle the
            shouldPreferPlugInsForImages flag.
    
            * src/FrameLoaderClientImpl.cpp:
            (WebKit::FrameLoaderClientImpl::objectContentType):
            * src/FrameLoaderClientImpl.h:
    2011-03-25  Andy Estes  <aestes@apple.com>
    
            Reviewed by Adele Peterson.
    
            REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
            https://bugs.webkit.org/show_bug.cgi?id=49016
    
            Update objectContentType() implementation to handle the
            shouldPreferPlugInsForImages flag.
    
            * WebCoreSupport/FrameLoaderClientQt.cpp:
            (WebCore::FrameLoaderClientQt::objectContentType):
            * WebCoreSupport/FrameLoaderClientQt.h:
    2011-03-25  Andy Estes  <aestes@apple.com>
    
            Reviewed by Adele Peterson.
    
            REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
            https://bugs.webkit.org/show_bug.cgi?id=49016
    
            Update objectContentType() implementation to handle the
            shouldPreferPlugInsForImages flag.
    
            * WebCoreSupport/FrameLoaderClientGtk.cpp:
            (WebKit::FrameLoaderClient::objectContentType):
            * WebCoreSupport/FrameLoaderClientGtk.h:
    2011-03-25  Andy Estes  <aestes@apple.com>
    
            Reviewed by Adele Peterson.
    
            REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
            https://bugs.webkit.org/show_bug.cgi?id=49016
    
            Update objectContentType() implementation to handle the
            shouldPreferPlugInsForImages flag.
    
            * WebFrame.cpp:
            (WebFrame::objectContentType):
            * WebFrame.h:
    2011-03-25  Andy Estes  <aestes@apple.com>
    
            Reviewed by Adele Peterson.
    
            REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
            https://bugs.webkit.org/show_bug.cgi?id=49016
    
            Update objectContentType() implementation to handle the
            shouldPreferPlugInsForImages flag.
    
            * WebKitSupport/FrameLoaderClientWx.cpp:
            (WebCore::FrameLoaderClientWx::objectContentType):
            * WebKitSupport/FrameLoaderClientWx.h:
    2011-03-25  Andy Estes  <aestes@apple.com>
    
            Reviewed by Adele Peterson.
    
            REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
            https://bugs.webkit.org/show_bug.cgi?id=49016
    
            Update objectContentType() implementation to handle the
            shouldPreferPlugInsForImages flag.
    
            * WebCoreSupport/WebFrameLoaderClient.h:
            * WebCoreSupport/WebFrameLoaderClient.mm:
            (WebFrameLoaderClient::objectContentType):
    2011-03-25  Andy Estes  <aestes@apple.com>
    
            Reviewed by Adele Peterson.
    
            REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
            https://bugs.webkit.org/show_bug.cgi?id=49016
    
            Update objectContentType() implementation to handle the
            shouldPreferPlugInsForImages flag.
    
            * WebCoreSupport/FrameLoaderClientHaiku.cpp:
            (WebCore::FrameLoaderClientHaiku::objectContentType):
            * WebCoreSupport/FrameLoaderClientHaiku.h:
    2011-03-25  Andy Estes  <aestes@apple.com>
    
            Reviewed by Adele Peterson.
    
            REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
            https://bugs.webkit.org/show_bug.cgi?id=49016
    
            Update objectContentType() implementation to handle the
            shouldPreferPlugInsForImages flag.
    
            * WebCoreSupport/FrameLoaderClientWinCE.cpp:
            (WebKit::FrameLoaderClientWinCE::objectContentType):
            * WebCoreSupport/FrameLoaderClientWinCE.h:
    2011-03-25  Andy Estes  <aestes@apple.com>
    
            Reviewed by Adele Peterson.
    
            REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
            https://bugs.webkit.org/show_bug.cgi?id=49016
    
            Update objectContentType() implementation to handle the
            shouldPreferPlugInsForImages flag.
    
            * WebCoreSupport/FrameLoaderClientEfl.cpp:
            (WebCore::FrameLoaderClientEfl::objectContentType):
            * WebCoreSupport/FrameLoaderClientEfl.h:
    2011-03-25  Andy Estes  <aestes@apple.com>
    
            Reviewed by Adele Peterson.
    
            REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
            https://bugs.webkit.org/show_bug.cgi?id=49016
    
            AC_QuickTime.js uses the common <object>/<embed> paradigm to embed the 
            QuickTime plug-in in web pages. r70748 removed our mapping of classids 
            to MIME types, which causes WebKit to fall back from the object to the 
            embed tag when QuickTime is embedded by this script. The script emits 
            the following embed tag to embed a QuickTime movie with a poster frame: 
    
            <embed src="poster-frame.png" target="quicktimeplayer" href="movie.mov"> 
    
            The expectation is that a QuickTime plug-in is instantiated to display the 
            poster frame, since QuickTime registers for many common image MIME 
            types. This is how Gecko behaves for embed. However, WebKit prefers to 
            use its native image rendering for image embeds, in which case no movie 
            is played when the poster frame is clicked. 
    
            Fix this by changing embed to check for a plug-in that can handle the 
            image type before rendering the image natively. This matches Gecko. 
    
            Test: plugins/embed-prefers-plugins-for-images.html
    
            * html/HTMLEmbedElement.cpp:
            (WebCore::HTMLEmbedElement::HTMLEmbedElement):
            * html/HTMLObjectElement.cpp:
            (WebCore::HTMLObjectElement::HTMLObjectElement):
            (WebCore::HTMLObjectElement::parametersForPlugin):
            * html/HTMLPlugInImageElement.cpp:
            (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
            (WebCore::HTMLPlugInImageElement::isImageType):
            (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin):
            * html/HTMLPlugInImageElement.h:
            (WebCore::HTMLPlugInImageElement::shouldPreferPlugInsForImages):
            * loader/EmptyClients.h:
            (WebCore::EmptyFrameLoaderClient::objectContentType):
            * loader/FrameLoader.cpp:
            (WebCore::FrameLoader::defaultObjectContentType):
            * loader/FrameLoader.h:
            * loader/FrameLoaderClient.h:
            * loader/SubframeLoader.cpp:
            (WebCore::SubframeLoader::resourceWillUsePlugin):
            (WebCore::SubframeLoader::requestPlugin):
            (WebCore::SubframeLoader::requestObject):
            (WebCore::SubframeLoader::shouldUsePlugin):
            * loader/SubframeLoader.h:
    2011-03-25  Andy Estes  <aestes@apple.com>
    
            Reviewed by Adele Peterson.
    
            REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
            https://bugs.webkit.org/show_bug.cgi?id=49016
    
            Update objectContentType() implementation to handle the
            shouldPreferPlugInsForImages flag.
    
            * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
            (WebKit::WebFrameLoaderClient::objectContentType):
            * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@82001 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    5e14373e
embed-prefers-plugins-for-images.html 512 Bytes