Changeset 74205 in webkit


Ignore:
Timestamp:
Dec 16, 2010 12:07:41 PM (13 years ago)
Author:
andersca@apple.com
Message:

Don't try to call plug-in member functions if the plug-in hasn't been initialized
https://bugs.webkit.org/show_bug.cgi?id=51205
<rdar://problem/8730204>

Reviewed by Oliver Hunt.

Make sure that all PluginView functions that can be called while a plug-in has not been
initialized (if the plug-in page is in a background tab for example) have an additional
check for m_isInitialized.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::setWindowIsFocused):
(WebKit::PluginView::windowAndViewFramesChanged):
(WebKit::PluginView::platformLayer):
(WebKit::PluginView::scriptObject):
(WebKit::PluginView::privateBrowsingStateChanged):
(WebKit::PluginView::handleEvent):
(WebKit::PluginView::viewGeometryDidChange):
(WebKit::PluginView::setFocus):

Location:
trunk/WebKit2
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKit2/ChangeLog

    r74203 r74205  
     12010-12-16  Anders Carlsson  <andersca@apple.com>
     2
     3        Reviewed by Oliver Hunt.
     4
     5        Don't try to call plug-in member functions if the plug-in hasn't been initialized
     6        https://bugs.webkit.org/show_bug.cgi?id=51205
     7        <rdar://problem/8730204>
     8
     9        Make sure that all PluginView functions that can be called while a plug-in has not been
     10        initialized (if the plug-in page is in a background tab for example) have an additional
     11        check for m_isInitialized.
     12
     13        * WebProcess/Plugins/PluginView.cpp:
     14        (WebKit::PluginView::setWindowIsFocused):
     15        (WebKit::PluginView::windowAndViewFramesChanged):
     16        (WebKit::PluginView::platformLayer):
     17        (WebKit::PluginView::scriptObject):
     18        (WebKit::PluginView::privateBrowsingStateChanged):
     19        (WebKit::PluginView::handleEvent):
     20        (WebKit::PluginView::viewGeometryDidChange):
     21        (WebKit::PluginView::setFocus):
     22
    1232010-12-16  Anders Carlsson  <andersca@apple.com>
    224
  • trunk/WebKit2/WebProcess/Plugins/PluginView.cpp

    r74202 r74205  
    379379void PluginView::setWindowIsFocused(bool windowIsFocused)
    380380{
    381     if (!m_plugin)
     381    if (!m_isInitialized || !m_plugin)
    382382        return;
    383383
     
    387387void PluginView::windowAndViewFramesChanged(const IntRect& windowFrameInScreenCoordinates, const IntRect& viewFrameInWindowCoordinates)
    388388{
    389     if (!m_plugin)
     389    if (!m_isInitialized || !m_plugin)
    390390        return;
    391391
     
    462462PlatformLayer* PluginView::platformLayer() const
    463463{
    464     // The plug-in can be null here if it failed to initialize or hasn't yet been initialized.
    465     if (!m_plugin)
     464    // The plug-in can be null here if it failed to initialize.
     465    if (!m_isInitialized || !m_plugin)
    466466        return 0;
    467467       
     
    473473{
    474474    // The plug-in can be null here if it failed to initialize.
    475     if (!m_plugin)
     475    if (!m_isInitialized || !m_plugin)
    476476        return 0;
    477    
     477
    478478    NPObject* scriptableNPObject = m_plugin->pluginScriptableNPObject();
    479479    if (!scriptableNPObject)
     
    489489{
    490490    // The plug-in can be null here if it failed to initialize.
    491     if (!m_plugin)
     491    if (!m_isInitialized || !m_plugin)
    492492        return;
    493493
     
    538538void PluginView::handleEvent(Event* event)
    539539{
    540     if (!m_plugin)
     540    if (!m_isInitialized || !m_plugin)
    541541        return;
    542542
     
    576576void PluginView::viewGeometryDidChange()
    577577{
    578     if (!parent() || !m_plugin || !m_isInitialized)
     578    if (!m_isInitialized || !m_plugin || !parent())
    579579        return;
    580580
     
    798798{
    799799    Widget::setFocus(hasFocus);
    800    
     800
     801    if (!m_isInitialized || !m_plugin)
     802        return;
     803
    801804    m_plugin->setFocus(hasFocus);
    802805}
Note: See TracChangeset for help on using the changeset viewer.