Changeset 70153 in webkit


Ignore:
Timestamp:
Oct 20, 2010 11:04:08 AM (14 years ago)
Author:
jam@chromium.org
Message:

2010-10-20 John Abd-El-Malek <jam@chromium.org>

Reviewed by Darin Fisher.

[chromium] Fix crash when mousing over scrollview
https://bugs.webkit.org/show_bug.cgi?id=47956

  • src/ChromeClientImpl.cpp: (WebKit::ChromeClientImpl::mouseDidMoveOverElement):
  • src/ChromiumBridge.cpp: (WebCore::ChromiumBridge::pluginScriptableObject):
  • src/ContextMenuClientImpl.cpp: (WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems):
  • src/FrameLoaderClientImpl.cpp: (WebKit::FrameLoaderClientImpl::redirectDataToPlugin):
  • src/WebPluginContainerImpl.h: (WebKit::WebPluginContainerImpl::isPluginContainer):

2010-10-20 John Abd-El-Malek <jam@chromium.org>

Reviewed by Darin Fisher.

[chromium] Fix crash when mousing over scrollview
https://bugs.webkit.org/show_bug.cgi?id=47956

Test: plugins/mouse-move-over-plugin-in-frame.html

  • platform/Widget.h: (WebCore::Widget::isPluginContainer):

2010-10-20 John Abd-El-Malek <jam@chromium.org>

Reviewed by Darin Fisher.

[chromium] Fix crash when mousing over scrollview
https://bugs.webkit.org/show_bug.cgi?id=47956

  • plugins/mouse-move-over-plugin-in-frame.html: Added.
  • plugins/mouse-move-over-plugin-in-frame.txt: Added.
  • plugins/resources/mouse-move-over-plugin-in-frame.html: Added.
Location:
trunk
Files:
3 added
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r70152 r70153  
     12010-10-20  John Abd-El-Malek  <jam@chromium.org>
     2
     3        Reviewed by Darin Fisher.
     4
     5        [chromium] Fix crash when mousing over scrollview
     6        https://bugs.webkit.org/show_bug.cgi?id=47956
     7
     8        * plugins/mouse-move-over-plugin-in-frame.html: Added.
     9        * plugins/mouse-move-over-plugin-in-frame.txt: Added.
     10        * plugins/resources/mouse-move-over-plugin-in-frame.html: Added.
     11
    1122010-10-20  Sheriff Bot  <webkit.review.bot@gmail.com>
    213
  • trunk/WebCore/ChangeLog

    r70152 r70153  
     12010-10-20  John Abd-El-Malek  <jam@chromium.org>
     2
     3        Reviewed by Darin Fisher.
     4
     5        [chromium] Fix crash when mousing over scrollview
     6        https://bugs.webkit.org/show_bug.cgi?id=47956
     7
     8        Test: plugins/mouse-move-over-plugin-in-frame.html
     9
     10        * platform/Widget.h:
     11        (WebCore::Widget::isPluginContainer):
     12
    1132010-10-20  Sheriff Bot  <webkit.review.bot@gmail.com>
    214
  • trunk/WebCore/platform/Widget.h

    r68054 r70153  
    228228#endif
    229229
     230#if PLATFORM(CHROMIUM)
     231    virtual bool isPluginContainer() const { return false; }
     232#endif
     233
    230234    // Virtual methods to convert points to/from the containing ScrollView
    231235    virtual IntRect convertToContainingView(const IntRect&) const;
  • trunk/WebKit/chromium/ChangeLog

    r70152 r70153  
     12010-10-20  John Abd-El-Malek  <jam@chromium.org>
     2
     3        Reviewed by Darin Fisher.
     4
     5        [chromium] Fix crash when mousing over scrollview
     6        https://bugs.webkit.org/show_bug.cgi?id=47956
     7
     8        * src/ChromeClientImpl.cpp:
     9        (WebKit::ChromeClientImpl::mouseDidMoveOverElement):
     10        * src/ChromiumBridge.cpp:
     11        (WebCore::ChromiumBridge::pluginScriptableObject):
     12        * src/ContextMenuClientImpl.cpp:
     13        (WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems):
     14        * src/FrameLoaderClientImpl.cpp:
     15        (WebKit::FrameLoaderClientImpl::redirectDataToPlugin):
     16        * src/WebPluginContainerImpl.h:
     17        (WebKit::WebPluginContainerImpl::isPluginContainer):
     18
    1192010-10-20  Sheriff Bot  <webkit.review.bot@gmail.com>
    220
  • trunk/WebKit/chromium/src/ChromeClientImpl.cpp

    r69673 r70153  
    596596        if (object && object->isWidget()) {
    597597            Widget* widget = toRenderWidget(object)->widget();
    598             if (widget) {
     598            if (widget && widget->isPluginContainer()) {
    599599                WebPluginContainerImpl* plugin = static_cast<WebPluginContainerImpl*>(widget);
    600600                url = plugin->plugin()->linkAtPosition(result.point());
  • trunk/WebKit/chromium/src/ChromiumBridge.cpp

    r69673 r70153  
    592592NPObject* ChromiumBridge::pluginScriptableObject(Widget* widget)
    593593{
    594     if (!widget)
     594    if (!widget || !widget->isPluginContainer())
    595595        return 0;
    596596
    597     ASSERT(!widget->isFrameView());
    598 
    599     // NOTE:  We have to trust that the widget passed to us here is a
    600     // WebPluginContainerImpl.  There isn't a way to dynamically verify it,
    601     // since the derived class (Widget) has no identifier.
    602597    return static_cast<WebPluginContainerImpl*>(widget)->scriptableObject();
    603598}
  • trunk/WebKit/chromium/src/ContextMenuClientImpl.cpp

    r69154 r70153  
    209209        if (object && object->isWidget()) {
    210210            Widget* widget = toRenderWidget(object)->widget();
    211             if (widget) {
     211            if (widget && widget->isPluginContainer()) {
    212212                WebPluginContainerImpl* plugin = static_cast<WebPluginContainerImpl*>(widget);
    213213                WebString text = plugin->plugin()->selectionAsText();
  • trunk/WebKit/chromium/src/FrameLoaderClientImpl.cpp

    r69834 r70153  
    14271427void FrameLoaderClientImpl::redirectDataToPlugin(Widget* pluginWidget)
    14281428{
    1429     m_pluginWidget = static_cast<WebPluginContainerImpl*>(pluginWidget);
     1429    if (pluginWidget->isPluginContainer())
     1430        m_pluginWidget = static_cast<WebPluginContainerImpl*>(pluginWidget);
    14301431    ASSERT(m_pluginWidget.get());
    14311432}
  • trunk/WebKit/chromium/src/WebPluginContainerImpl.h

    r68869 r70153  
    7474    virtual void setParent(WebCore::ScrollView*);
    7575    virtual void widgetPositionsUpdated();
     76    virtual bool isPluginContainer() const { return true; }
    7677
    7778    // WebPluginContainer methods
Note: See TracChangeset for help on using the changeset viewer.