summaryrefslogtreecommitdiff
path: root/Source/WebKit2/WebProcess/Plugins/PluginProxy.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/WebProcess/Plugins/PluginProxy.h')
-rw-r--r--Source/WebKit2/WebProcess/Plugins/PluginProxy.h140
1 files changed, 76 insertions, 64 deletions
diff --git a/Source/WebKit2/WebProcess/Plugins/PluginProxy.h b/Source/WebKit2/WebProcess/Plugins/PluginProxy.h
index 0bc30cb03..031619355 100644
--- a/Source/WebKit2/WebProcess/Plugins/PluginProxy.h
+++ b/Source/WebKit2/WebProcess/Plugins/PluginProxy.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2010, 2015 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -35,8 +35,9 @@
#include <WebCore/FindOptions.h>
#include <WebCore/IntRect.h>
#include <WebCore/SecurityOrigin.h>
+#include <memory>
-#if PLATFORM(MAC)
+#if PLATFORM(COCOA)
#include <wtf/RetainPtr.h>
OBJC_CLASS CALayer;
#endif
@@ -56,88 +57,95 @@ struct PluginCreationParameters;
class PluginProxy : public Plugin {
public:
- static PassRefPtr<PluginProxy> create(uint64_t pluginProcessToken, bool isRestartedProcess);
+ static Ref<PluginProxy> create(uint64_t pluginProcessToken, bool isRestartedProcess);
~PluginProxy();
uint64_t pluginInstanceID() const { return m_pluginInstanceID; }
void pluginProcessCrashed();
- void didReceivePluginProxyMessage(IPC::Connection*, IPC::MessageDecoder&);
- void didReceiveSyncPluginProxyMessage(IPC::Connection*, IPC::MessageDecoder&, std::unique_ptr<IPC::MessageEncoder>&);
+ void didReceivePluginProxyMessage(IPC::Connection&, IPC::Decoder&);
+ void didReceiveSyncPluginProxyMessage(IPC::Connection&, IPC::Decoder&, std::unique_ptr<IPC::Encoder>&);
- bool isBeingAsynchronouslyInitialized() const { return m_waitingOnAsynchronousInitialization; }
+ bool isBeingAsynchronouslyInitialized() const override { return m_waitingOnAsynchronousInitialization; }
private:
explicit PluginProxy(uint64_t pluginProcessToken, bool isRestartedProcess);
// Plugin
- virtual bool initialize(const Parameters&);
+ bool initialize(const Parameters&) override;
bool initializeSynchronously();
- virtual void destroy();
- virtual void paint(WebCore::GraphicsContext*, const WebCore::IntRect& dirtyRect);
- virtual bool supportsSnapshotting() const;
- virtual PassRefPtr<ShareableBitmap> snapshot();
-#if PLATFORM(MAC)
- virtual PlatformLayer* pluginLayer();
+ void destroy() override;
+ void paint(WebCore::GraphicsContext&, const WebCore::IntRect& dirtyRect) override;
+ bool supportsSnapshotting() const override;
+ RefPtr<ShareableBitmap> snapshot() override;
+#if PLATFORM(COCOA)
+ PlatformLayer* pluginLayer() override;
#endif
- virtual bool isTransparent();
- virtual bool wantsWheelEvents() override;
- virtual void geometryDidChange(const WebCore::IntSize& pluginSize, const WebCore::IntRect& clipRect, const WebCore::AffineTransform& pluginToRootViewTransform);
- virtual void visibilityDidChange(bool isVisible);
- virtual void frameDidFinishLoading(uint64_t requestID);
- virtual void frameDidFail(uint64_t requestID, bool wasCancelled);
- virtual void didEvaluateJavaScript(uint64_t requestID, const String& result);
- virtual void streamDidReceiveResponse(uint64_t streamID, const WebCore::URL& responseURL, uint32_t streamLength, uint32_t lastModifiedTime, const String& mimeType, const String& headers, const String& suggestedFileName);
- virtual void streamDidReceiveData(uint64_t streamID, const char* bytes, int length);
- virtual void streamDidFinishLoading(uint64_t streamID);
- virtual void streamDidFail(uint64_t streamID, bool wasCancelled);
- virtual void manualStreamDidReceiveResponse(const WebCore::URL& responseURL, uint32_t streamLength, uint32_t lastModifiedTime, const WTF::String& mimeType, const WTF::String& headers, const String& suggestedFileName);
- virtual void manualStreamDidReceiveData(const char* bytes, int length);
- virtual void manualStreamDidFinishLoading();
- virtual void manualStreamDidFail(bool wasCancelled);
+ bool isTransparent() override;
+ bool wantsWheelEvents() override;
+ void geometryDidChange(const WebCore::IntSize& pluginSize, const WebCore::IntRect& clipRect, const WebCore::AffineTransform& pluginToRootViewTransform) override;
+ void visibilityDidChange(bool isVisible) override;
+ void frameDidFinishLoading(uint64_t requestID) override;
+ void frameDidFail(uint64_t requestID, bool wasCancelled) override;
+ void didEvaluateJavaScript(uint64_t requestID, const String& result) override;
+ void streamWillSendRequest(uint64_t streamID, const WebCore::URL& requestURL, const WebCore::URL& responseURL, int responseStatus) override;
+ void streamDidReceiveResponse(uint64_t streamID, const WebCore::URL& responseURL, uint32_t streamLength, uint32_t lastModifiedTime, const String& mimeType, const String& headers, const String& suggestedFileName) override;
+ void streamDidReceiveData(uint64_t streamID, const char* bytes, int length) override;
+ void streamDidFinishLoading(uint64_t streamID) override;
+ void streamDidFail(uint64_t streamID, bool wasCancelled) override;
+ void manualStreamDidReceiveResponse(const WebCore::URL& responseURL, uint32_t streamLength, uint32_t lastModifiedTime, const WTF::String& mimeType, const WTF::String& headers, const String& suggestedFileName) override;
+ void manualStreamDidReceiveData(const char* bytes, int length) override;
+ void manualStreamDidFinishLoading() override;
+ void manualStreamDidFail(bool wasCancelled) override;
- virtual bool handleMouseEvent(const WebMouseEvent&);
- virtual bool handleWheelEvent(const WebWheelEvent&);
- virtual bool handleMouseEnterEvent(const WebMouseEvent&);
- virtual bool handleMouseLeaveEvent(const WebMouseEvent&);
- virtual bool handleContextMenuEvent(const WebMouseEvent&);
- virtual bool handleKeyboardEvent(const WebKeyboardEvent&);
- virtual void setFocus(bool);
- virtual bool handleEditingCommand(const String& commandName, const String& argument) override;
- virtual bool isEditingCommandEnabled(const String& commandName) override;
- virtual bool shouldAllowScripting() override { return true; }
- virtual bool shouldAllowNavigationFromDrags() override { return false; }
+ bool handleMouseEvent(const WebMouseEvent&) override;
+ bool handleWheelEvent(const WebWheelEvent&) override;
+ bool handleMouseEnterEvent(const WebMouseEvent&) override;
+ bool handleMouseLeaveEvent(const WebMouseEvent&) override;
+ bool handleContextMenuEvent(const WebMouseEvent&) override;
+ bool handleKeyboardEvent(const WebKeyboardEvent&) override;
+ void setFocus(bool) override;
+ bool handleEditingCommand(const String& commandName, const String& argument) override;
+ bool isEditingCommandEnabled(const String& commandName) override;
+ bool shouldAllowScripting() override { return true; }
+ bool shouldAllowNavigationFromDrags() override { return false; }
- virtual bool handlesPageScaleFactor();
+ bool handlesPageScaleFactor() const override;
+ bool requiresUnifiedScaleFactor() const override;
- virtual NPObject* pluginScriptableNPObject();
-#if PLATFORM(MAC)
- virtual void windowFocusChanged(bool);
- virtual void windowAndViewFramesChanged(const WebCore::IntRect& windowFrameInScreenCoordinates, const WebCore::IntRect& viewFrameInWindowCoordinates);
- virtual void windowVisibilityChanged(bool);
- virtual uint64_t pluginComplexTextInputIdentifier() const;
- virtual void sendComplexTextInput(const String& textInput);
- virtual void setLayerHostingMode(LayerHostingMode) override;
+ NPObject* pluginScriptableNPObject() override;
+
+ void windowFocusChanged(bool) override;
+ void windowVisibilityChanged(bool) override;
+
+#if PLATFORM(COCOA)
+ void windowAndViewFramesChanged(const WebCore::IntRect& windowFrameInScreenCoordinates, const WebCore::IntRect& viewFrameInWindowCoordinates) override;
+ uint64_t pluginComplexTextInputIdentifier() const override;
+ void sendComplexTextInput(const String& textInput) override;
+ void setLayerHostingMode(LayerHostingMode) override;
#endif
- virtual void contentsScaleFactorChanged(float);
- virtual void storageBlockingStateChanged(bool);
- virtual void privateBrowsingStateChanged(bool);
- virtual bool getFormValue(String& formValue);
- virtual bool handleScroll(WebCore::ScrollDirection, WebCore::ScrollGranularity);
- virtual WebCore::Scrollbar* horizontalScrollbar();
- virtual WebCore::Scrollbar* verticalScrollbar();
+ void contentsScaleFactorChanged(float) override;
+ void storageBlockingStateChanged(bool) override;
+ void privateBrowsingStateChanged(bool) override;
+ void mutedStateChanged(bool) override;
+ bool getFormValue(String& formValue) override;
+ bool handleScroll(WebCore::ScrollDirection, WebCore::ScrollGranularity) override;
+ WebCore::Scrollbar* horizontalScrollbar() override;
+ WebCore::Scrollbar* verticalScrollbar() override;
- virtual unsigned countFindMatches(const String&, WebCore::FindOptions, unsigned) override { return 0; }
- virtual bool findString(const String&, WebCore::FindOptions, unsigned) override { return false; }
+ unsigned countFindMatches(const String&, WebCore::FindOptions, unsigned) override { return 0; }
+ bool findString(const String&, WebCore::FindOptions, unsigned) override { return false; }
- virtual WebCore::IntPoint convertToRootView(const WebCore::IntPoint&) const override;
+ WebCore::IntPoint convertToRootView(const WebCore::IntPoint&) const override;
- virtual PassRefPtr<WebCore::SharedBuffer> liveResourceData() const override;
- virtual bool performDictionaryLookupAtLocation(const WebCore::FloatPoint&) override { return false; }
+ RefPtr<WebCore::SharedBuffer> liveResourceData() const override;
+ bool performDictionaryLookupAtLocation(const WebCore::FloatPoint&) override { return false; }
- virtual String getSelectionString() const override { return String(); }
+ String getSelectionString() const override { return String(); }
+ String getSelectionForWordAtPoint(const WebCore::FloatPoint&) const override { return String(); }
+ bool existingSelectionContainsPoint(const WebCore::FloatPoint&) const override { return false; }
float contentsScaleFactor();
bool needsBackingStore() const;
@@ -156,10 +164,12 @@ private:
void getAuthenticationInfo(const WebCore::ProtectionSpace&, bool& returnValue, String& username, String& password);
void getPluginElementNPObject(uint64_t& pluginElementNPObjectID);
void evaluate(const NPVariantData& npObjectAsVariantData, const String& scriptString, bool allowPopups, bool& returnValue, NPVariantData& resultData);
+ void setPluginIsPlayingAudio(bool);
+ void continueStreamLoad(uint64_t streamID);
void cancelStreamLoad(uint64_t streamID);
void cancelManualStreamLoad();
void setStatusbarText(const String& statusbarText);
-#if PLATFORM(MAC)
+#if PLATFORM(COCOA)
void pluginFocusOrWindowFocusChanged(bool);
void setComplexTextInputState(uint64_t);
void setLayerHostingContextID(uint32_t);
@@ -212,10 +222,10 @@ private:
// The client ID for the CA layer in the plug-in process. Will be 0 if the plug-in is not a CA plug-in.
uint32_t m_remoteLayerClientID;
- OwnPtr<PluginCreationParameters> m_pendingPluginCreationParameters;
+ std::unique_ptr<PluginCreationParameters> m_pendingPluginCreationParameters;
bool m_waitingOnAsynchronousInitialization;
-#if PLATFORM(MAC)
+#if PLATFORM(COCOA)
RetainPtr<CALayer> m_pluginLayer;
#endif
@@ -224,6 +234,8 @@ private:
} // namespace WebKit
+SPECIALIZE_TYPE_TRAITS_PLUGIN(PluginProxy, PluginProxyType)
+
#endif // ENABLE(NETSCAPE_PLUGIN_API)
#endif // PluginProxy_h