Skip to content
  • commit-queue@webkit.org's avatar
    Plugin in iframe may not display · 216b5ea8
    commit-queue@webkit.org authored
    https://bugs.webkit.org/show_bug.cgi?id=109879
    
    Patch by John Bauman <jbauman@chromium.org> on 2013-02-27
    Reviewed by Simon Fraser.
    
    Source/WebCore:
    
    Changing the cliprect on a layer containing an iframe may change the
    cliprect of plugins inside the iframe, so recursively tell all plugins
    in iframes that their cliprect has changed after doing layout on the
    outer frame.
    
    Test: plugins/plugin-clip-subframe.html
    
    * platform/ScrollView.cpp:
    (WebCore::ScrollView::clipRectChanged):
    * platform/ScrollView.h:
    * platform/Widget.h:
    (WebCore::Widget::clipRectChanged):
    * plugins/PluginView.cpp:
    (WebCore::PluginView::clipRectChanged):
    * plugins/PluginView.h:
    * rendering/RenderWidget.cpp:
    (WebCore::RenderWidget::setWidgetGeometry):
    
    Source/WebKit/chromium:
    
    Use clipRectChanged to update the geometry.
    
    * src/WebPluginContainerImpl.cpp:
    (WebKit::WebPluginContainerImpl::clipRectChanged):
    * src/WebPluginContainerImpl.h:
    
    Source/WebKit/mac:
    
    Ensure NetscapePluginWidget informs the plugin view of the cliprect change directly.
    
    * Plugins/WebBaseNetscapePluginView.h:
    * WebCoreSupport/WebFrameLoaderClient.mm:
    (NetscapePluginWidget::clipRectChanged):
    
    Source/WebKit2:
    
    Update geometry when cliprect changes.
    
    * WebProcess/Plugins/PluginView.cpp:
    (WebKit::PluginView::clipRectChanged):
    * WebProcess/Plugins/PluginView.h:
    
    Tools:
    
    LogNPPSetWindow will be used with other ports as well.
    
    * DumpRenderTree/DumpRenderTree.gypi:
    * DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:
    
    LayoutTests:
    
    Use log-npp-set-window to ensure plugin clip changes correctly.
    
    * platform/mac-wk2/plugins/plugin-clip-subframe-expected.txt: Added.
    * platform/mac/plugins/plugin-clip-subframe-expected.txt: Added.
    * plugins/plugin-clip-subframe-expected.txt: Added.
    * plugins/plugin-clip-subframe.html: Added.
    * plugins/resources/plugin-clip-subframe-iframe.html: Added.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144236 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    216b5ea8