2009-03-03 Onne Gorter <onne.gorter@avinity.net>
authorkov@webkit.org <kov@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 3 Mar 2009 17:26:57 +0000 (17:26 +0000)
committerkov@webkit.org <kov@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 3 Mar 2009 17:26:57 +0000 (17:26 +0000)
commitd7a9ac32c3fcdb41ef6885d2c2c1a581b1e69e7c
tree7524584b4834da2edb8b8024c727a9d4a59e5047
parentc08af0ed92fb36644867597ff603331c6856629e
2009-03-03  Onne Gorter  <onne.gorter@avinity.net>

        Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=27385
        resizing plugins does not work, because the plugin never gets informed

        Make gtk plugins resize correctly, by sending them the setwindow event
        correctly. Also ensure that all plugin eventing is done with correct
        locking/calling. Mostly copied from mac implementation.

        manual test: manual-tests/gtk/plugin-resize-scroll.html

        * plugins/PluginView.h:
        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::dispatchNPEvent):
        ensure locking/calling for NPEvents
        (WebCore::PluginView::updatePluginWidget):
        if something changed, let setNPWindowIfNeeded handle it
        (WebCore::PluginView::paint):
        (WebCore::PluginView::handleKeyboardEvent):
        (WebCore::PluginView::handleMouseEvent):
        ensure calling conventions
        (WebCore::PluginView::setNPWindowRect):
        just pass control to setNPWindowIfNeeded
        (WebCore::PluginView::setNPWindowIfNeeded):
        event the plugin correctly of new window
        (WebCore::PluginView::init):
        init through the new setup

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41383 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore/ChangeLog
WebCore/manual-tests/gtk/plugin-resize-scroll.html [new file with mode: 0644]
WebCore/plugins/PluginView.h
WebCore/plugins/gtk/PluginViewGtk.cpp