Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /** | 1 /** |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2000 Stefan Schimanski (1Stein@gmx.de) | 4 * (C) 2000 Stefan Schimanski (1Stein@gmx.de) |
| 5 * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc. | 5 * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc. |
| 6 * | 6 * |
| 7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
| 8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
| 9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
| 10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 87 { | 87 { |
| 88 visitor->trace(m_imageLoader); | 88 visitor->trace(m_imageLoader); |
| 89 visitor->trace(m_persistedPluginWidget); | 89 visitor->trace(m_persistedPluginWidget); |
| 90 HTMLFrameOwnerElement::trace(visitor); | 90 HTMLFrameOwnerElement::trace(visitor); |
| 91 } | 91 } |
| 92 | 92 |
| 93 #if ENABLE(OILPAN) | 93 #if ENABLE(OILPAN) |
| 94 void HTMLPlugInElement::disconnectContentFrame() | 94 void HTMLPlugInElement::disconnectContentFrame() |
| 95 { | 95 { |
| 96 if (m_persistedPluginWidget) { | 96 if (m_persistedPluginWidget) { |
| 97 m_persistedPluginWidget->dispose(); | 97 if (m_persistedPluginWidget->isPluginView()) |
| 98 m_persistedPluginWidget->dispose(); | |
|
dcheng
2015/12/11 07:47:09
Is the only other possible case here that m_persis
sof
2015/12/11 08:01:18
Yes, I think it is safe to do the disposal uncondi
dcheng
2015/12/11 08:11:22
Let's add an else { ASSERT(m_persistedPluginWidget
| |
| 98 m_persistedPluginWidget = nullptr; | 99 m_persistedPluginWidget = nullptr; |
| 99 } | 100 } |
| 100 HTMLFrameOwnerElement::disconnectContentFrame(); | 101 HTMLFrameOwnerElement::disconnectContentFrame(); |
| 101 } | 102 } |
| 102 | 103 |
| 103 void HTMLPlugInElement::shouldDisposePlugin() | 104 void HTMLPlugInElement::shouldDisposePlugin() |
| 104 { | 105 { |
| 105 if (m_persistedPluginWidget && m_persistedPluginWidget->isPluginView()) | 106 if (m_persistedPluginWidget && m_persistedPluginWidget->isPluginView()) |
| 106 toPluginView(m_persistedPluginWidget.get())->shouldDisposePlugin(); | 107 toPluginView(m_persistedPluginWidget.get())->shouldDisposePlugin(); |
| 107 } | 108 } |
| 108 #endif | 109 #endif |
| 109 | 110 |
| 110 void HTMLPlugInElement::setPersistedPluginWidget(Widget* widget) | 111 void HTMLPlugInElement::setPersistedPluginWidget(Widget* widget) |
| 111 { | 112 { |
| 112 if (m_persistedPluginWidget == widget) | 113 if (m_persistedPluginWidget == widget) |
| 113 return; | 114 return; |
| 114 #if ENABLE(OILPAN) | 115 #if ENABLE(OILPAN) |
| 115 unregisterAsRenderlessIfNeeded(); | 116 unregisterAsRenderlessIfNeeded(); |
| 116 registerAsRenderless(widget); | 117 registerAsRenderless(widget); |
| 117 if (m_persistedPluginWidget) { | 118 if (m_persistedPluginWidget && m_persistedPluginWidget->isPluginView()) { |
|
dcheng
2015/12/11 08:11:22
Ditto, let's split this so we can have an explicit
| |
| 118 m_persistedPluginWidget->hide(); | 119 m_persistedPluginWidget->hide(); |
| 119 m_persistedPluginWidget->dispose(); | 120 m_persistedPluginWidget->dispose(); |
| 120 } | 121 } |
| 121 #endif | 122 #endif |
| 122 m_persistedPluginWidget = widget; | 123 m_persistedPluginWidget = widget; |
| 123 } | 124 } |
| 124 | 125 |
| 125 #if ENABLE(OILPAN) | 126 #if ENABLE(OILPAN) |
| 126 bool HTMLPlugInElement::unregisterAsRenderlessIfNeeded() | 127 bool HTMLPlugInElement::unregisterAsRenderlessIfNeeded() |
| 127 { | 128 { |
| (...skipping 535 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 663 return openShadowRoot(); | 664 return openShadowRoot(); |
| 664 } | 665 } |
| 665 | 666 |
| 666 void HTMLPlugInElement::lazyReattachIfNeeded() | 667 void HTMLPlugInElement::lazyReattachIfNeeded() |
| 667 { | 668 { |
| 668 if (!useFallbackContent() && needsWidgetUpdate() && layoutObject() && !isIma geType()) | 669 if (!useFallbackContent() && needsWidgetUpdate() && layoutObject() && !isIma geType()) |
| 669 lazyReattachIfAttached(); | 670 lazyReattachIfAttached(); |
| 670 } | 671 } |
| 671 | 672 |
| 672 } | 673 } |
| OLD | NEW |