Skip to content
  • bdakin@apple.com's avatar
    WebCore: · 33a4d05b
    bdakin@apple.com authored
    2009-07-09  Beth Dakin and Jon Honeycutt <bdakin@apple.com>
    
            Reviewed by Dave Hyatt.
    
            Make Widget RefCounted to fix or make fixable:
    
            <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs 
            at WebCore::Widget::afterMouseDown() after clicking To Do's close 
            box
            <rdar://problem/6978804> WER #16: Repro Access Violation in 
            WebCore::PluginView::bindingInstance (1310178023)
            -and-
            <rdar://problem/6991251> WER #13: Crash in WebKit!
            WebCore::PluginView::performRequest+203 (1311461169) 
    
            * loader/EmptyClients.h:
            (WebCore::EmptyFrameLoaderClient::createPlugin):
            Changed to return PassRefPtr
            (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
            Ditto.
    
            * loader/FrameLoader.cpp:
            (WebCore::FrameLoader::loadSubframe):
            (WebCore::FrameLoader::loadPlugin):
            Make the widget variable a RefPtr. Use .get() when passing it to
            RenderPart::setWidget().
            (WebCore::FrameLoader::createJavaAppletWidget):
            Make the widget variable a RefPtr.
    
            * loader/FrameLoader.h:
            Changed the return type of createJavaAppletWidget().
    
            * loader/FrameLoaderClient.h:
            Change the return types of createPlugin() and 
            createJavaAppletWidget().
    
            * page/Frame.cpp:
            (WebCore::Frame::createView):
            No need to call .get() since setWidget() takes a RefPtr.
    
            * page/FrameView.cpp:
            (WebCore::FrameView::layoutIfNeededRecursive):
            children() now returns a HashSet of RefPtrs.
    
            * page/FrameView.h:
            Remove inheritance from RefCounted; we pick this up from ScrollView
            through Widget.
    
            * platform/ScrollView.cpp:
            (WebCore::ScrollView::addChild):
            addChild() now takes a PassRefPtr and m_children now keeps a 
            HashSet of RefPtrs.
    
            * platform/ScrollView.h:
            ScrollView constructor is now protected.
            (WebCore::ScrollView::children):
            m_children is now a HashSet of RefPtrs.
    
            * platform/Scrollbar.h:
            Remove inheritance from RefCounted; we pick this up from ScrollView
            through Widget.
    
            * platform/Widget.h:
            Inherit from RefCounted. Cleaned up some whitespace. Make m_widget 
            a RefPtr.
    
            * plugins/PluginView.cpp:
            (WebCore::PluginView::create):
            Adopt the PluginView when returning it.
    
            * plugins/PluginView.h:
            Changed create() to return a PassRefPtr.
    
            * rendering/RenderApplet.cpp:
            Receive result in a RefPtr when calling createJavaAppletWidget().
    
            * rendering/RenderPart.cpp:
            (WebCore::RenderPart::setWidget): 
            setWidget() now takes a PassRefPtr. Also removed the manual ref of 
            FrameViews. This is handled by having m_widget be a RefPtr. Removed 
            deleteWidget().
    
            * rendering/RenderPart.h:
            Removed override of deleteWidget().
    
            * rendering/RenderWidget.cpp:
            (WebCore::RenderWidget::destroy):
            (WebCore::RenderWidget::setWidget):
            (WebCore::RenderWidget::paint):
            (WebCore::RenderWidget::setOverlapTestResult):
            (WebCore::RenderWidget::updateWidgetPosition):
            Use .get().
            (WebCore::RenderWidget::clearWidget):
            Don't call deleteWidget(). It was removed. 
    
            * rendering/RenderWidget.h:
            Removed deleteWidget(). Made m_widget a RefPtr.
            (WebCore::RenderWidget::widget):
            Use .get().
    
    WebKit/gtk:
    
    2009-07-09  Beth Dakin and Jon Honeycutt <bdakin@apple.com>
    
            Reviewed by Dave Hyatt.
    
            Make Widget RefCounted to fix:
    
            <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs 
            at WebCore::Widget::afterMouseDown() after clicking To Do's close 
            box
            <rdar://problem/6978804> WER #16: Repro Access Violation in 
            WebCore::PluginView::bindingInstance (1310178023)
            -and-
            <rdar://problem/6991251> WER #13: Crash in WebKit!
            WebCore::PluginView::performRequest+203 (1311461169) 
    
            * WebCoreSupport/FrameLoaderClientGtk.cpp:
            (WebKit::FrameLoaderClient::createPlugin):
            (WebKit::FrameLoaderClient::createJavaAppletWidget):
            * WebCoreSupport/FrameLoaderClientGtk.h:
    
    WebKit/mac:
    
    2009-07-09  Beth Dakin and Jon Honeycutt <bdakin@apple.com>
    
            Reviewed by Dave Hyatt.
    
            Make Widget RefCounted to fix:
    
            <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs 
            at WebCore::Widget::afterMouseDown() after clicking To Do's close 
            box
            <rdar://problem/6978804> WER #16: Repro Access Violation in 
            WebCore::PluginView::bindingInstance (1310178023)
            -and-
            <rdar://problem/6991251> WER #13: Crash in WebKit!
            WebCore::PluginView::performRequest+203 (1311461169) 
    
            * WebCoreSupport/WebFrameLoaderClient.h:
            * WebCoreSupport/WebFrameLoaderClient.mm:
            (WebFrameLoaderClient::createPlugin):
    
    WebKit/qt:
    
    2009-07-09  Beth Dakin  <bdakin@apple.com>
    
            Reviewed by Dave Hyatt.
    
            Make Widget RefCounted to fix:
    
            <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs 
            at WebCore::Widget::afterMouseDown() after clicking To Do's close 
            box
            <rdar://problem/6978804> WER #16: Repro Access Violation in 
            WebCore::PluginView::bindingInstance (1310178023)
            -and-
            <rdar://problem/6991251> WER #13: Crash in WebKit!
            WebCore::PluginView::performRequest+203 (1311461169) 
    
            * WebCoreSupport/FrameLoaderClientQt.cpp:
            (WebCore::FrameLoaderClientQt::createPlugin):
            (WebCore::FrameLoaderClientQt::createJavaAppletWidget):
            * WebCoreSupport/FrameLoaderClientQt.h:
    
    WebKit/win:
    
    2009-07-09  Beth Dakin and Jon Honeycutt <bdakin@apple.com>
    
            Reviewed by Dave Hyatt.
    
            Make Widget RefCounted to fix:
    
            <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs 
            at WebCore::Widget::afterMouseDown() after clicking To Do's close 
            box
            <rdar://problem/6978804> WER #16: Repro Access Violation in 
            WebCore::PluginView::bindingInstance (1310178023)
            -and-
            <rdar://problem/6991251> WER #13: Crash in WebKit!
            WebCore::PluginView::performRequest+203 (1311461169) 
    
            * WebCoreSupport/WebFrameLoaderClient.cpp:
            (WebFrameLoaderClient::createPlugin):
            * WebCoreSupport/WebFrameLoaderClient.h:
            * WebFrame.cpp:
            (WebFrame::createJavaAppletWidget):
            * WebFrame.h:
    
    WebKit/wx:
    
    2009-07-09  Beth Dakin and Jon Honeycutt <bdakin@apple.com>
    
            Reviewed by Dave Hyatt.
    
            Make Widget RefCounted to fix:
    
            <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs 
            at WebCore::Widget::afterMouseDown() after clicking To Do's close 
            box
            <rdar://problem/6978804> WER #16: Repro Access Violation in 
            WebCore::PluginView::bindingInstance (1310178023)
            -and-
            <rdar://problem/6991251> WER #13: Crash in WebKit!
            WebCore::PluginView::performRequest+203 (1311461169) 
    
            * WebKitSupport/FrameLoaderClientWx.cpp:
            (WebCore::FrameLoaderClientWx::createPlugin):
            (WebCore::FrameLoaderClientWx::createJavaAppletWidget):
            * WebKitSupport/FrameLoaderClientWx.h:
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@45679 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    33a4d05b