diff options
Diffstat (limited to 'Source/WebKit2/PluginProcess/PluginProcess.h')
-rw-r--r-- | Source/WebKit2/PluginProcess/PluginProcess.h | 55 |
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 |