summaryrefslogtreecommitdiff
path: root/Source/WebKit2/PluginProcess/PluginProcess.h
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
commit1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch)
tree46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebKit2/PluginProcess/PluginProcess.h
parent32761a6cee1d0dee366b885b7b9c777e67885688 (diff)
downloadWebKitGtk-tarball-master.tar.gz
Diffstat (limited to 'Source/WebKit2/PluginProcess/PluginProcess.h')
-rw-r--r--Source/WebKit2/PluginProcess/PluginProcess.h55
1 files changed, 32 insertions, 23 deletions
diff --git a/Source/WebKit2/PluginProcess/PluginProcess.h b/Source/WebKit2/PluginProcess/PluginProcess.h
index a87a38824..92c677752 100644
--- a/Source/WebKit2/PluginProcess/PluginProcess.h
+++ b/Source/WebKit2/PluginProcess/PluginProcess.h
@@ -29,21 +29,27 @@
#if ENABLE(NETSCAPE_PLUGIN_API)
#include "ChildProcess.h"
+#include <WebCore/CountedUserActivity.h>
#include <wtf/Forward.h>
#include <wtf/NeverDestroyed.h>
#include <wtf/text/WTFString.h>
+#if PLATFORM(COCOA)
+#include <WebCore/MachSendRight.h>
+#endif
+
namespace WebKit {
class NetscapePluginModule;
class WebProcessConnection;
struct PluginProcessCreationParameters;
-class PluginProcess : public ChildProcess {
+class PluginProcess : public ChildProcess
+{
WTF_MAKE_NONCOPYABLE(PluginProcess);
friend class NeverDestroyed<PluginProcess>;
public:
- static PluginProcess& shared();
+ static PluginProcess& singleton();
void removeWebProcessConnection(WebProcessConnection*);
@@ -51,13 +57,11 @@ public:
const String& pluginPath() const { return m_pluginPath; }
-#if PLATFORM(MAC)
+#if PLATFORM(COCOA)
void setModalWindowIsShowing(bool);
void setFullscreenWindowIsShowing(bool);
-#if USE(ACCELERATED_COMPOSITING)
- mach_port_t compositingRenderServerPort() const { return m_compositingRenderServerPort; }
-#endif
+ const WebCore::MachSendRight& compositingRenderServerPort() const { return m_compositingRenderServerPort; }
bool launchProcess(const String& launchPath, const Vector<String>& arguments);
bool launchApplicationAtURL(const String& urlString, const Vector<String>& arguments);
@@ -65,34 +69,37 @@ public:
bool openFile(const String& urlString);
#endif
+ CountedUserActivity& connectionActivity() { return m_connectionActivity; }
+
private:
PluginProcess();
~PluginProcess();
// ChildProcess
- virtual void initializeProcess(const ChildProcessInitializationParameters&) override;
- virtual void initializeProcessName(const ChildProcessInitializationParameters&) override;
- virtual void initializeSandbox(const ChildProcessInitializationParameters&, SandboxInitializationParameters&) override;
- virtual bool shouldTerminate() override;
+ void initializeProcess(const ChildProcessInitializationParameters&) override;
+ void initializeProcessName(const ChildProcessInitializationParameters&) override;
+ void initializeSandbox(const ChildProcessInitializationParameters&, SandboxInitializationParameters&) override;
+ bool shouldTerminate() override;
void platformInitializeProcess(const ChildProcessInitializationParameters&);
-#if PLATFORM(MAC)
- virtual void stopRunLoop() override;
+#if USE(APPKIT)
+ void stopRunLoop() override;
#endif
// IPC::Connection::Client
- virtual void didReceiveMessage(IPC::Connection*, IPC::MessageDecoder&) override;
- virtual void didClose(IPC::Connection*) override;
- virtual void didReceiveInvalidMessage(IPC::Connection*, IPC::StringReference messageReceiverName, IPC::StringReference messageName) override;
+ void didReceiveMessage(IPC::Connection&, IPC::Decoder&) override;
+ void didClose(IPC::Connection&) override;
// Message handlers.
- void didReceivePluginProcessMessage(IPC::Connection*, IPC::MessageDecoder&);
- void initializePluginProcess(const PluginProcessCreationParameters&);
+ void didReceivePluginProcessMessage(IPC::Connection&, IPC::Decoder&);
+ void initializePluginProcess(PluginProcessCreationParameters&&);
void createWebProcessConnection();
+
void getSitesWithData(uint64_t callbackID);
- void clearSiteData(const Vector<String>& sites, uint64_t flags, uint64_t maxAgeInSeconds, uint64_t callbackID);
+ void deleteWebsiteData(std::chrono::system_clock::time_point modifiedSince, uint64_t callbackID);
+ void deleteWebsiteDataForHostNames(const Vector<String>& hostNames, uint64_t callbackID);
- void platformInitializePluginProcess(const PluginProcessCreationParameters&);
+ void platformInitializePluginProcess(PluginProcessCreationParameters&&);
void setMinimumLifetime(double);
void minimumLifetimeTimerFired();
@@ -102,7 +109,7 @@ private:
// The plug-in path.
String m_pluginPath;
-#if PLATFORM(MAC)
+#if PLATFORM(COCOA)
String m_pluginBundleIdentifier;
#endif
@@ -113,12 +120,14 @@ private:
RunLoop::Timer<PluginProcess> m_minimumLifetimeTimer;
-#if USE(ACCELERATED_COMPOSITING) && PLATFORM(MAC)
+#if PLATFORM(COCOA)
// The Mach port used for accelerated compositing.
- mach_port_t m_compositingRenderServerPort;
+ WebCore::MachSendRight m_compositingRenderServerPort;
+
+ String m_nsurlCacheDirectory;
#endif
- static void lowMemoryHandler(bool critical);
+ CountedUserActivity m_connectionActivity;
};
} // namespace WebKit