diff options
Diffstat (limited to 'Source/WebKit2/PluginProcess')
4 files changed, 25 insertions, 3 deletions
diff --git a/Source/WebKit2/PluginProcess/PluginControllerProxy.cpp b/Source/WebKit2/PluginProcess/PluginControllerProxy.cpp index 5eb8dd4..42e9e6d 100644 --- a/Source/WebKit2/PluginProcess/PluginControllerProxy.cpp +++ b/Source/WebKit2/PluginProcess/PluginControllerProxy.cpp @@ -390,6 +390,9 @@ void PluginControllerProxy::handleKeyboardEvent(const WebKeyboardEvent& keyboard void PluginControllerProxy::paintEntirePlugin() { + if (m_frameRect.isEmpty()) + return; + m_dirtyRect = m_frameRect; paint(); } diff --git a/Source/WebKit2/PluginProcess/PluginProcess.cpp b/Source/WebKit2/PluginProcess/PluginProcess.cpp index 6c19c21..6124f9a 100644 --- a/Source/WebKit2/PluginProcess/PluginProcess.cpp +++ b/Source/WebKit2/PluginProcess/PluginProcess.cpp @@ -115,9 +115,7 @@ void PluginProcess::initialize(const PluginProcessCreationParameters& parameters m_pluginPath = parameters.pluginPath; -#if USE(ACCELERATED_COMPOSITING) && PLATFORM(MAC) - m_compositingRenderServerPort = parameters.acceleratedCompositingPort.port(); -#endif + platformInitialize(parameters); } void PluginProcess::createWebProcessConnection() diff --git a/Source/WebKit2/PluginProcess/PluginProcess.h b/Source/WebKit2/PluginProcess/PluginProcess.h index e60d52d..6c221e7 100644 --- a/Source/WebKit2/PluginProcess/PluginProcess.h +++ b/Source/WebKit2/PluginProcess/PluginProcess.h @@ -40,6 +40,7 @@ class WebProcessConnection; struct PluginProcessCreationParameters; class PluginProcess : ChildProcess { + WTF_MAKE_NONCOPYABLE(PluginProcess); public: static PluginProcess& shared(); @@ -72,6 +73,8 @@ private: void shutdownTimerFired(); + void platformInitialize(const PluginProcessCreationParameters&); + // The connection to the UI process. RefPtr<CoreIPC::Connection> m_connection; diff --git a/Source/WebKit2/PluginProcess/mac/PluginProcessMac.mm b/Source/WebKit2/PluginProcess/mac/PluginProcessMac.mm index ccf444c..3919c8b 100644 --- a/Source/WebKit2/PluginProcess/mac/PluginProcessMac.mm +++ b/Source/WebKit2/PluginProcess/mac/PluginProcessMac.mm @@ -24,11 +24,16 @@ */ #if ENABLE(PLUGIN_PROCESS) + +// FIXME (WebKit2) <rdar://problem/8728860> WebKit2 needs to be localized +#define UI_STRING(__str, __desc) [NSString stringWithUTF8String:__str] #include "PluginProcess.h" #include "NetscapePlugin.h" #include "PluginProcessShim.h" +#include "PluginProcessCreationParameters.h" +#include <WebKitSystemInterface.h> #include <dlfcn.h> namespace WebKit { @@ -84,6 +89,19 @@ void PluginProcess::initializeShim() initFunc(callbacks); } +void PluginProcess::platformInitialize(const PluginProcessCreationParameters& parameters) +{ + m_compositingRenderServerPort = parameters.acceleratedCompositingPort.port(); + + NSString *applicationName = [NSString stringWithFormat:UI_STRING("%@ (%@ Internet plug-in)", + "visible name of the plug-in host process. The first argument is the plug-in name " + "and the second argument is the application name."), + [[(NSString *)parameters.pluginPath lastPathComponent] stringByDeletingPathExtension], + (NSString *)parameters.parentProcessName]; + + WKSetVisibleApplicationName((CFStringRef)applicationName); +} + } // namespace WebKit #endif // ENABLE(PLUGIN_PROCESS) |