| Index: Source/core/html/HTMLPlugInElement.h
|
| diff --git a/Source/core/html/HTMLPlugInElement.h b/Source/core/html/HTMLPlugInElement.h
|
| index 33a69a078fa92c898f1a093ff453d286bdd75b6e..5f9fc01297e91103559aed986580517a70908826 100644
|
| --- a/Source/core/html/HTMLPlugInElement.h
|
| +++ b/Source/core/html/HTMLPlugInElement.h
|
| @@ -46,7 +46,6 @@ public:
|
|
|
| void resetInstance();
|
| SharedPersistent<v8::Object>* pluginWrapper();
|
| - Widget* pluginWidget() const;
|
| NPObject* getNPObject();
|
| bool canProcessDrag() const;
|
| const String& url() const { return m_url; }
|
| @@ -56,6 +55,9 @@ public:
|
| void setNeedsWidgetUpdate(bool needsWidgetUpdate) { m_needsWidgetUpdate = needsWidgetUpdate; }
|
| void updateWidget();
|
|
|
| + void requestPluginCreationWithoutRendererIfPossible();
|
| + void createPluginWithoutRenderer();
|
| +
|
| protected:
|
| HTMLPlugInElement(const QualifiedName& tagName, Document&, bool createdByParser, PreferPlugInsForImagesOption);
|
|
|
| @@ -120,7 +122,7 @@ private:
|
| DisplayState displayState() const { return m_displayState; }
|
| void setDisplayState(DisplayState state) { m_displayState = state; }
|
| const String loadedMimeType() const;
|
| - bool loadPlugin(const KURL&, const String& mimeType, const Vector<String>& paramNames, const Vector<String>& paramValues, bool useFallback);
|
| + bool loadPlugin(const KURL&, const String& mimeType, const Vector<String>& paramNames, const Vector<String>& paramValues, bool useFallback, bool requireRenderer);
|
| bool pluginIsLoadable(const KURL&, const String& mimeType);
|
| bool wouldLoadAsNetscapePlugin(const String& url, const String& serviceType);
|
|
|
| @@ -131,6 +133,13 @@ private:
|
| bool m_needsWidgetUpdate;
|
| bool m_shouldPreferPlugInsForImages;
|
| DisplayState m_displayState;
|
| +
|
| + // Normally the Widget is stored in HTMLFrameOwnerElement::m_widget.
|
| + // However, plugins can persist even when not rendered. In order to
|
| + // prevent confusing code which may assume that widget() != null
|
| + // means the frame is active, we save off m_widget here while
|
| + // the plugin is persisting but not being displayed.
|
| + RefPtr<Widget> m_persistedPluginWidget;
|
| };
|
|
|
| DEFINE_NODE_TYPE_CASTS(HTMLPlugInElement, isPluginElement());
|
|
|