Changeset 117203 in webkit


Ignore:
Timestamp:
May 15, 2012 7:00:00 PM (12 years ago)
Author:
fsamuel@chromium.org
Message:

[Chromium] Reset ScriptInstance in HTMLPlugInElement on WebPluginContainerImpl::setPlugin
https://bugs.webkit.org/show_bug.cgi?id=86535

Source/WebCore:

Reviewed by Darin Fisher.

When we swap out WebPluginImpls for the Browser Plugin, the HTMLPlugInElement continues
to use a now invalid ScriptInstance, so we reset the ScriptInstance on WebPluginContainerImpl::setPlugin

  • html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::resetInstance):
(WebCore):

  • html/HTMLPlugInElement.h:

(HTMLPlugInElement):

Source/WebKit/chromium:

Reviewed by Darin Fisher.

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::setPlugin):
(WebKit):

  • src/WebPluginContainerImpl.h:

(WebPluginContainerImpl):

Location:
trunk/Source
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r117197 r117203  
     12012-05-15  Fady Samuel  <fsamuel@chromium.org>
     2
     3        [Chromium] Reset ScriptInstance in HTMLPlugInElement on WebPluginContainerImpl::setPlugin
     4        https://bugs.webkit.org/show_bug.cgi?id=86535
     5
     6        Reviewed by Darin Fisher.
     7       
     8        When we swap out WebPluginImpls for the Browser Plugin, the HTMLPlugInElement continues
     9        to use a now invalid ScriptInstance, so we reset the ScriptInstance on WebPluginContainerImpl::setPlugin
     10
     11        * html/HTMLPlugInElement.cpp:
     12        (WebCore::HTMLPlugInElement::resetInstance):
     13        (WebCore):
     14        * html/HTMLPlugInElement.h:
     15        (HTMLPlugInElement):
     16
    1172012-05-15  Robert Hogan  <robert@webkit.org>
    218
  • trunk/Source/WebCore/html/HTMLPlugInElement.cpp

    r117195 r117203  
    8989}
    9090
     91void HTMLPlugInElement::resetInstance()
     92{
     93    m_instance.clear();
     94}
     95
    9196PassScriptInstance HTMLPlugInElement::getInstance()
    9297{
  • trunk/Source/WebCore/html/HTMLPlugInElement.h

    r117195 r117203  
    4040public:
    4141    virtual ~HTMLPlugInElement();
     42
     43    void resetInstance();
    4244
    4345    PassScriptInstance getInstance();
  • trunk/Source/WebKit/chromium/ChangeLog

    r117202 r117203  
     12012-05-15  Fady Samuel  <fsamuel@chromium.org>
     2
     3        [Chromium] Reset ScriptInstance in HTMLPlugInElement on WebPluginContainerImpl::setPlugin
     4        https://bugs.webkit.org/show_bug.cgi?id=86535
     5
     6        Reviewed by Darin Fisher.
     7
     8        * src/WebPluginContainerImpl.cpp:
     9        (WebKit::WebPluginContainerImpl::setPlugin):
     10        (WebKit):
     11        * src/WebPluginContainerImpl.h:
     12        (WebPluginContainerImpl):
     13
    1142012-05-15  Mark Pilgrim  <pilgrim@chromium.org>
    215
  • trunk/Source/WebKit/chromium/src/WebPluginContainerImpl.cpp

    r117200 r117203  
    235235}
    236236
     237void WebPluginContainerImpl::setPlugin(WebPlugin* plugin)
     238{
     239    if (plugin != m_webPlugin) {
     240        m_element->resetInstance();
     241        m_webPlugin = plugin;
     242    }
     243}
     244
    237245bool WebPluginContainerImpl::supportsPaginatedPrint() const
    238246{
  • trunk/Source/WebKit/chromium/src/WebPluginContainerImpl.h

    r117200 r117203  
    113113    // This cannot be null.
    114114    WebPlugin* plugin() { return m_webPlugin; }
    115     void setPlugin(WebPlugin* plugin) { m_webPlugin = plugin; }
     115    void setPlugin(WebPlugin*);
    116116
    117117    // Printing interface. The plugin can support custom printing
Note: See TracChangeset for help on using the changeset viewer.