Chromium Code Reviews| Index: third_party/WebKit/Source/web/WebPluginContainerImpl.h |
| diff --git a/third_party/WebKit/Source/web/WebPluginContainerImpl.h b/third_party/WebKit/Source/web/WebPluginContainerImpl.h |
| index 39eb25ba79c3729b1e19a2fd46f4ec527b652619..12bcd57ac4013cdf2800ac038ffd96affcacd72f 100644 |
| --- a/third_party/WebKit/Source/web/WebPluginContainerImpl.h |
| +++ b/third_party/WebKit/Source/web/WebPluginContainerImpl.h |
| @@ -61,6 +61,8 @@ struct WebPrintParams; |
| struct WebPrintPresetOptions; |
| class WEB_EXPORT WebPluginContainerImpl final : public WebPluginContainerBase { |
| + USING_PRE_FINALIZER(WebPluginContainerImpl, PreFinalize); |
| + |
| public: |
| static WebPluginContainerImpl* Create(HTMLPlugInElement* element, |
| WebPlugin* web_plugin) { |
| @@ -173,6 +175,9 @@ class WEB_EXPORT WebPluginContainerImpl final : public WebPluginContainerBase { |
| void DidFailLoading(const ResourceError&) override; |
| DECLARE_VIRTUAL_TRACE(); |
| + // USING_PRE_FINALIZER does not allow for virtual dispatch from the finalizer |
| + // method. Here we call Dispose() which does the correct virtual dispatch. |
| + void PreFinalize() { Dispose(); } |
|
haraken
2017/05/22 04:54:56
Would it be clearer if:
- Introduce DisposePlugin
|
| void Dispose() override; |
| private: |