WebCore:
authormitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 5 Dec 2007 18:46:45 +0000 (18:46 +0000)
committermitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 5 Dec 2007 18:46:45 +0000 (18:46 +0000)
commit2854fa6f374cb40033725f2caf6be2642caf4540
tree586614f0485ab0e1665911df2e528c0d772eee2b
parent0b3bc50b8c3c8808f8fdc2ae7ac9dd59dd9313c0
WebCore:

        Reviewed by Darin Adler.

        - WebCore part of fixing <rdar://problem/5111082> Flash popup video ad doesn't close when clicked at http://www.firestonecompleteautocare.com/

        * manual-tests/nested-plug-ins.html: Added.
        * manual-tests/resources/nested-plug-ins-inner-frame.html: Added.
        * manual-tests/resources/nested-plug-ins-outer-frame.html: Added.
        * platform/ScrollView.h:
        * platform/Widget.h:
        (WebCore::Widget::attachToWindow): Added. Tells the widget that it is connected
        via visible ScrollViews to the root ScrollView of the WebView.
        (WebCore::Widget::detachFromWindow): Added. Tells the widget that it is no longer
        connected via visible ScrollViews to the root ScrollView of the WebView.
        * platform/win/ScrollViewWin.cpp:
        (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): Added
        m_visible and m_attachedToWindow members.
        (WebCore::ScrollView::attachToWindow): Added. Attaches all children if this
        view is visible.
        (WebCore::ScrollView::detachFromWindow): Added. Detaches all children if this
        view is visible (otherwise they would be detached already).
        (WebCore::ScrollView::show): Added. Attaches all children if this view
        is attached.
        (WebCore::ScrollView::hide): Added. Detaches all children if this view
        is attached (otherwise they would be detached already).
        (WebCore::ScrollView::isAttachedToWindow): Added.
        * platform/win/WidgetWin.cpp:
        (WebCore::Widget::setParent): Added calls to attachToWindow() and detachFromWindow()
        depending on whether the parent is set and attached or not.
        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginViewWin::setFocus):
        (WebCore::PluginViewWin::show): Changed to show the plug-in only if
        this view is attached.
        (WebCore::PluginViewWin::hide): Changed to hide the plug-in only if this
        view is attached (otherwise it would be hidden already).
        (WebCore::PluginViewWin::attachToWindow): Added. Shows the plug-in if this view
        is visible.
        (WebCore::PluginViewWin::detachFromWindow): Added. Hides the plug-in if this view
        is visible (otherwise it would be hidden already).
        (WebCore::PluginViewWin::PluginViewWin):
        * plugins/win/PluginViewWin.h: Added m_attachedToWindow member.

WebKit/win:

        Reviewed by Darin Adler.

        - WebKit/win part of fixing <rdar://problem/5111082> Flash popup video ad doesn't close when clicked at http://www.firestonecompleteautocare.com/

        * WebView.cpp:
        (WebView::initWithFrame): Attach the main frame's view.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28442 268f45cc-cd09-0410-ab3c-d52691b4dbfc
12 files changed:
WebCore/ChangeLog
WebCore/manual-tests/nested-plug-ins.html [new file with mode: 0644]
WebCore/manual-tests/resources/nested-plug-ins-inner-frame.html [new file with mode: 0644]
WebCore/manual-tests/resources/nested-plug-ins-outer-frame.html [new file with mode: 0644]
WebCore/platform/ScrollView.h
WebCore/platform/Widget.h
WebCore/platform/win/ScrollViewWin.cpp
WebCore/platform/win/WidgetWin.cpp
WebCore/plugins/win/PluginViewWin.cpp
WebCore/plugins/win/PluginViewWin.h
WebKit/win/ChangeLog
WebKit/win/WebView.cpp