• commit-queue@webkit.org's avatar
    2011-01-06 Jenn Braithwaite <jennb@chromium.org> · 32b882bc
    commit-queue@webkit.org authored
            Reviewed by Dmitry Titov.
    
            When a live frame is moved between pages, some plug-in DOM methods cease to function
            https://bugs.webkit.org/show_bug.cgi?id=45770
    
            * fast/frames/iframe-reparenting-plugins-expected.txt: Added.
            * fast/frames/iframe-reparenting-plugins.html: Added.
            * fast/frames/resources/iframe-reparenting-plugins-iframe-content.html: Added.
            * fast/frames/resources/iframe-reparenting-plugins-new-page.html: Added.
    2011-01-06  Jenn Braithwaite  <jennb@chromium.org>
    
            Reviewed by Dmitry Titov.
    
            When a live frame is moved between pages, some plug-in DOM methods cease to function
            https://bugs.webkit.org/show_bug.cgi?id=45770
    
            Test: fast/frames/iframe-reparenting-plugins.html
    
            * page/Frame.cpp:
            (WebCore::Frame::~Frame):
            (WebCore::Frame::addObserver):
            (WebCore::Frame::removeObserver):
            * page/Frame.h:
            (WebCore::FrameDestructionObserver::~FrameDestructionObserver):
            Added observer to be notified when frame is destroyed.
            * page/Page.cpp:
            (WebCore::Page::~Page):
            (WebCore::Page::refreshPlugins):
            PluginData no longer stores page pointer.
            * plugins/DOMMimeType.cpp:
            (WebCore::DOMMimeType::DOMMimeType):
            (WebCore::DOMMimeType::~DOMMimeType):
            (WebCore::DOMMimeType::enabledPlugin):
            * plugins/DOMMimeType.h:
            (WebCore::DOMMimeType::create):
            (WebCore::DOMMimeType::frameDestroyed):
            Store frame instead of page pointer in DOMMimeType.
            * plugins/DOMMimeTypeArray.cpp:
            (WebCore::DOMMimeTypeArray::item):
            (WebCore::DOMMimeTypeArray::namedItem):
            Provide frame to create DOMMimeType.
            * plugins/DOMPlugin.cpp:
            (WebCore::DOMPlugin::DOMPlugin):
            (WebCore::DOMPlugin::~DOMPlugin):
            (WebCore::DOMPlugin::item):
            (WebCore::DOMPlugin::namedItem):
            * plugins/DOMPlugin.h:
            (WebCore::DOMPlugin::create):
            (WebCore::DOMPlugin::frameDestroyed):
            Store frame instead of page pointer in DOMPlugin.
            * plugins/DOMPluginArray.cpp:
            (WebCore::DOMPluginArray::item):
            (WebCore::DOMPluginArray::namedItem):
            Provide frame to create DOMPlugin.
            * plugins/PluginData.cpp:
            (WebCore::PluginData::PluginData):
            (WebCore::PluginData::initPlugins):
            * plugins/PluginData.h:
            No longer stores a pointer to the page.
            Added page parameter to initPlugins.
            * plugins/PluginDataNone.cpp:
            (WebCore::PluginData::initPlugins):
            * plugins/chromium/PluginDataChromium.cpp:
            (WebCore::PluginData::initPlugins):
            * plugins/gtk/PluginDataGtk.cpp:
            (WebCore::PluginData::initPlugins):
            * plugins/wx/PluginDataWx.cpp:
            (WebCore::PluginData::initPlugins):
            Updated platforms to add (unused) page parameter to initPlugins.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75217 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    32b882bc