Changeset 112142 in webkit


Ignore:
Timestamp:
Mar 26, 2012 12:43:16 PM (12 years ago)
Author:
jamesr@google.com
Message:

Scrollable plugins not registered properly in ScrollingCoordinator
https://bugs.webkit.org/show_bug.cgi?id=82163

Reviewed by Anders Carlsson.

Source/WebCore:

Plugins may be scrollable, so we have to add them in the non-fast scrollable region. Tested manually.

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::computeNonFastScrollableRegion):
(WebCore::ScrollingCoordinator::nonFastScrollableRegion):
(WebCore):

  • page/scrolling/ScrollingCoordinator.h:

(ScrollingCoordinator):

  • plugins/PluginViewBase.h:

(WebCore::PluginViewBase::scrollable):
(PluginViewBase):

Source/WebKit/chromium:

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::scrollable):

  • src/WebPluginContainerImpl.h:

(WebPluginContainerImpl):

Location:
trunk/Source
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r112141 r112142  
     12012-03-26  James Robinson  <jamesr@chromium.org>
     2
     3        Scrollable plugins not registered properly in ScrollingCoordinator
     4        https://bugs.webkit.org/show_bug.cgi?id=82163
     5
     6        Reviewed by Anders Carlsson.
     7
     8        Plugins may be scrollable, so we have to add them in the non-fast scrollable region. Tested manually.
     9
     10        * page/scrolling/ScrollingCoordinator.cpp:
     11        (WebCore::computeNonFastScrollableRegion):
     12        (WebCore::ScrollingCoordinator::nonFastScrollableRegion):
     13        (WebCore):
     14        * page/scrolling/ScrollingCoordinator.h:
     15        (ScrollingCoordinator):
     16        * plugins/PluginViewBase.h:
     17        (WebCore::PluginViewBase::scrollable):
     18        (PluginViewBase):
     19
    1202012-03-26  Joone Hur  <joone.hur@collabora.co.uk>
    221
  • trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.cpp

    r109801 r112142  
    3333#include "Page.h"
    3434#include "PlatformWheelEvent.h"
     35#include "PluginViewBase.h"
    3536#include "Region.h"
    3637#include "RenderView.h"
     
    112113        if ((*it)->isFrameView())
    113114            childFrameViews.add(static_cast<FrameView*>(it->get()));
     115        else if ((*it)->isPluginViewBase()) {
     116            if (static_cast<PluginViewBase*>(it->get())->wantWheelEvents())
     117                nonFastScrollableRegion.unite((*it)->frameRect());
     118        }
    114119    }
    115120
  • trunk/Source/WebCore/plugins/PluginViewBase.h

    r96876 r112142  
    5454    virtual bool scroll(ScrollDirection, ScrollGranularity) { return false; }
    5555
     56    virtual bool wantWheelEvents() { return false; }
     57
    5658    // A plug-in can ask WebKit to handle scrollbars for it.
    5759    virtual Scrollbar* horizontalScrollbar() { return 0; }
  • trunk/Source/WebKit/chromium/ChangeLog

    r112127 r112142  
     12012-03-26  James Robinson  <jamesr@chromium.org>
     2
     3        Scrollable plugins not registered properly in ScrollingCoordinator
     4        https://bugs.webkit.org/show_bug.cgi?id=82163
     5
     6        Reviewed by Anders Carlsson.
     7
     8        * src/WebPluginContainerImpl.cpp:
     9        (WebKit::WebPluginContainerImpl::scrollable):
     10        * src/WebPluginContainerImpl.h:
     11        (WebPluginContainerImpl):
     12
    1132012-03-26  W. James MacLean  <wjmaclean@chromium.org>
    214
  • trunk/Source/WebKit/chromium/src/WebPluginContainerImpl.cpp

    r109590 r112142  
    519519#endif
    520520
     521bool WebPluginContainerImpl::wantWheelEvents()
     522{
     523    return m_scrollbarGroup;
     524}
    521525
    522526ScrollbarGroup* WebPluginContainerImpl::scrollbarGroup()
  • trunk/Source/WebKit/chromium/src/WebPluginContainerImpl.h

    r109590 r112142  
    7474    // PluginViewBase methods
    7575    virtual bool getFormValue(String&);
     76    virtual bool wantWheelEvents();
    7677
    7778    // Widget methods
Note: See TracChangeset for help on using the changeset viewer.