summaryrefslogtreecommitdiffstats
path: root/WebCore/plugins/PluginView.h
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2009-08-11 17:01:47 +0100
committerBen Murdoch <benm@google.com>2009-08-11 18:21:02 +0100
commit0bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5 (patch)
tree2943df35f62d885c89d01063cc528dd73b480fea /WebCore/plugins/PluginView.h
parent7e7a70bfa49a1122b2597a1e6367d89eb4035eca (diff)
downloadexternal_webkit-0bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5.zip
external_webkit-0bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5.tar.gz
external_webkit-0bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5.tar.bz2
Merge in WebKit r47029.
Diffstat (limited to 'WebCore/plugins/PluginView.h')
-rw-r--r--WebCore/plugins/PluginView.h22
1 files changed, 19 insertions, 3 deletions
diff --git a/WebCore/plugins/PluginView.h b/WebCore/plugins/PluginView.h
index d0cfacb..45bd867 100644
--- a/WebCore/plugins/PluginView.h
+++ b/WebCore/plugins/PluginView.h
@@ -122,7 +122,7 @@ namespace WebCore {
class PluginView : public Widget, private PluginStreamClient, public PluginManualLoader {
public:
- static PluginView* create(Frame* parentFrame, const IntSize&, Element*, const KURL&, const Vector<String>& paramNames, const Vector<String>& paramValues, const String& mimeType, bool loadManually);
+ static PassRefPtr<PluginView> create(Frame* parentFrame, const IntSize&, Element*, const KURL&, const Vector<String>& paramNames, const Vector<String>& paramValues, const String& mimeType, bool loadManually);
virtual ~PluginView();
PluginPackage* plugin() const { return m_plugin.get(); }
@@ -200,6 +200,10 @@ namespace WebCore {
void focusPluginElement();
+ const String& pluginsPage() const { return m_pluginsPage; }
+ const String& mimeType() const { return m_mimeType; }
+ const KURL& url() const { return m_url; }
+
#if PLATFORM(WIN_OS) && !PLATFORM(WX) && ENABLE(NETSCAPE_PLUGIN_API)
static LRESULT CALLBACK PluginViewWndProc(HWND, UINT, WPARAM, LPARAM);
LRESULT wndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
@@ -214,17 +218,24 @@ namespace WebCore {
static bool isCallingPlugin();
+#ifdef MANUAL_MERGE_REQUIRED
#ifdef ANDROID_PLUGINS
Frame* getParentFrame() const { return m_parentFrame; }
Element* getElement() const { return m_element; }
#endif
+#else // MANUAL_MERGE_REQUIRED
+ bool start();
+
+#endif // MANUAL_MERGE_REQUIRED
private:
PluginView(Frame* parentFrame, const IntSize&, PluginPackage*, Element*, const KURL&, const Vector<String>& paramNames, const Vector<String>& paramValues, const String& mimeType, bool loadManually);
void setParameters(const Vector<String>& paramNames, const Vector<String>& paramValues);
+ bool startOrAddToUnstartedList();
+ void removeFromUnstartedListIfNecessary();
void init();
- bool start();
+ void platformStart();
void stop();
static void setCurrentPluginView(PluginView*);
NPError load(const FrameLoadRequest&, bool sendNotification, void* notifyData);
@@ -283,8 +294,9 @@ namespace WebCore {
int m_paramCount;
char** m_paramNames;
char** m_paramValues;
+ String m_pluginsPage;
- CString m_mimeType;
+ String m_mimeType;
CString m_userAgent;
NPP m_instance;
@@ -299,6 +311,7 @@ namespace WebCore {
bool m_isWindowed;
bool m_isTransparent;
bool m_haveInitialized;
+ bool m_isWaitingToStart;
#if PLATFORM(GTK) || defined(Q_WS_X11)
bool m_needsXEmbed;
@@ -310,6 +323,7 @@ namespace WebCore {
unsigned m_lastMessage;
bool m_isCallingPluginWndProc;
HDC m_wmPrintHDC;
+ bool m_haveUpdatedPluginWidget;
#endif
#ifdef PLUGIN_SCHEDULE_TIMER
@@ -339,6 +353,8 @@ private:
#elif defined(XP_MACOSX)
NP_CGContext m_npCgContext;
OwnPtr<Timer<PluginView> > m_nullEventTimer;
+ NPDrawingModel m_drawingModel;
+ NPEventModel m_eventModel;
void setNPWindowIfNeeded();
void nullEventTimerFired(Timer<PluginView>*);