diff options
Diffstat (limited to 'Source/WebKit2/PluginProcess')
9 files changed, 67 insertions, 11 deletions
diff --git a/Source/WebKit2/PluginProcess/PluginControllerProxy.h b/Source/WebKit2/PluginProcess/PluginControllerProxy.h index 51c348da1..c79211a8c 100644 --- a/Source/WebKit2/PluginProcess/PluginControllerProxy.h +++ b/Source/WebKit2/PluginProcess/PluginControllerProxy.h @@ -32,8 +32,8 @@ #include "Plugin.h" #include "PluginController.h" #include "PluginControllerProxyMessages.h" -#include "RunLoop.h" #include "ShareableBitmap.h" +#include <WebCore/RunLoop.h> #include <wtf/Noncopyable.h> #if PLATFORM(MAC) @@ -167,14 +167,14 @@ private: WebCore::IntRect m_dirtyRect; // The paint timer, used for coalescing painting. - RunLoop::Timer<PluginControllerProxy> m_paintTimer; + WebCore::RunLoop::Timer<PluginControllerProxy> m_paintTimer; // A counter used to prevent the plug-in from being destroyed. unsigned m_pluginDestructionProtectCount; // A timer that we use to prevent destruction of the plug-in while plug-in // code is on the stack. - RunLoop::Timer<PluginControllerProxy> m_pluginDestroyTimer; + WebCore::RunLoop::Timer<PluginControllerProxy> m_pluginDestroyTimer; // Will point to the plug-in creation parameters of the plug-in we're currently initializing and will be null when we're done initializing. const PluginCreationParameters* m_pluginCreationParameters; diff --git a/Source/WebKit2/PluginProcess/PluginProcess.cpp b/Source/WebKit2/PluginProcess/PluginProcess.cpp index a366f5db7..099bf3a48 100644 --- a/Source/WebKit2/PluginProcess/PluginProcess.cpp +++ b/Source/WebKit2/PluginProcess/PluginProcess.cpp @@ -36,6 +36,7 @@ #include "PluginProcessCreationParameters.h" #include "WebProcessConnection.h" #include <WebCore/NotImplemented.h> +#include <WebCore/RunLoop.h> #if USE(UNIX_DOMAIN_SOCKETS) #include <errno.h> @@ -55,6 +56,8 @@ #endif // SOCK_SEQPACKET #endif // USE(UNIX_DOMAIN_SOCKETS) +using namespace WebCore; + namespace WebKit { static const double shutdownTimeout = 15.0; diff --git a/Source/WebKit2/PluginProcess/PluginProcess.h b/Source/WebKit2/PluginProcess/PluginProcess.h index a610326b4..0cf39c6e5 100644 --- a/Source/WebKit2/PluginProcess/PluginProcess.h +++ b/Source/WebKit2/PluginProcess/PluginProcess.h @@ -29,10 +29,13 @@ #if ENABLE(PLUGIN_PROCESS) #include "ChildProcess.h" -#include "RunLoop.h" #include <wtf/Forward.h> #include <wtf/text/WTFString.h> +namespace WebCore { +class RunLoop; +} + namespace WebKit { class NetscapePluginModule; @@ -44,7 +47,7 @@ class PluginProcess : ChildProcess { public: static PluginProcess& shared(); - void initialize(CoreIPC::Connection::Identifier, RunLoop*); + void initialize(CoreIPC::Connection::Identifier, WebCore::RunLoop*); void removeWebProcessConnection(WebProcessConnection* webProcessConnection); NetscapePluginModule* netscapePluginModule(); diff --git a/Source/WebKit2/PluginProcess/WebProcessConnection.cpp b/Source/WebKit2/PluginProcess/WebProcessConnection.cpp index ab63b05bb..a27d11390 100644 --- a/Source/WebKit2/PluginProcess/WebProcessConnection.cpp +++ b/Source/WebKit2/PluginProcess/WebProcessConnection.cpp @@ -34,10 +34,11 @@ #include "PluginCreationParameters.h" #include "PluginProcess.h" #include "PluginProcessConnectionMessages.h" -#include "RunLoop.h" +#include <WebCore/RunLoop.h> -namespace WebKit { +using namespace WebCore; +namespace WebKit { class ConnectionStack { public: diff --git a/Source/WebKit2/PluginProcess/gtk/PluginProcessMainGtk.cpp b/Source/WebKit2/PluginProcess/gtk/PluginProcessMainGtk.cpp index 9942604e7..992d74075 100644 --- a/Source/WebKit2/PluginProcess/gtk/PluginProcessMainGtk.cpp +++ b/Source/WebKit2/PluginProcess/gtk/PluginProcessMainGtk.cpp @@ -27,12 +27,14 @@ #include "PluginProcessMainGtk.h" #include "PluginProcess.h" -#include <WebKit2/RunLoop.h> +#include <WebCore/RunLoop.h> #include <gdk/gdkx.h> #include <gtk/gtk.h> #include <runtime/InitializeThreading.h> #include <wtf/MainThread.h> +using namespace WebCore; + namespace WebKit { static int webkitgtkXError(Display* xdisplay, XErrorEvent* error) diff --git a/Source/WebKit2/PluginProcess/mac/PluginProcess.entitlements b/Source/WebKit2/PluginProcess/mac/PluginProcess.entitlements new file mode 100644 index 000000000..080e1e075 --- /dev/null +++ b/Source/WebKit2/PluginProcess/mac/PluginProcess.entitlements @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>com.apple.security.files.user-selected.read-write</key> + <true/> +</dict> +</plist> diff --git a/Source/WebKit2/PluginProcess/mac/PluginProcessMainMac.mm b/Source/WebKit2/PluginProcess/mac/PluginProcessMainMac.mm index 5e93e2bdd..8561f9959 100644 --- a/Source/WebKit2/PluginProcess/mac/PluginProcessMainMac.mm +++ b/Source/WebKit2/PluginProcess/mac/PluginProcessMainMac.mm @@ -32,19 +32,21 @@ #import "EnvironmentUtilities.h" #import "NetscapePluginModule.h" #import "PluginProcess.h" -#import "RunLoop.h" +#import <WebCore/RunLoop.h> #import <WebKitSystemInterface.h> #import <mach/mach_error.h> #import <runtime/InitializeThreading.h> #import <servers/bootstrap.h> +#import <stdio.h> #import <wtf/MainThread.h> #import <wtf/RetainPtr.h> #import <wtf/text/CString.h> #import <wtf/text/WTFString.h> -#include <stdio.h> #define SHOW_CRASH_REPORTER 1 +using namespace WebCore; + namespace WebKit { // FIXME: There is much code here that is duplicated in WebProcessMainMac.mm, we should add a shared base class where diff --git a/Source/WebKit2/PluginProcess/mac/add-entitlements.sh b/Source/WebKit2/PluginProcess/mac/add-entitlements.sh new file mode 100755 index 000000000..825695a2b --- /dev/null +++ b/Source/WebKit2/PluginProcess/mac/add-entitlements.sh @@ -0,0 +1,35 @@ +#!/bin/sh + +# This script is needed because adding entitlements through Xcode configuration doesn't get dependencies right in some cases, <rdar://problem/10783446>. + +app_path="${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}" +app_binary_path="${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}" +entitlement_file=PluginProcess/mac/PluginProcess.entitlements + +if [[ ${CONFIGURATION} == "Production" ]]; then + exit +fi + +osx_version=$(sw_vers -productVersion | cut -d. -f 2) +if (( ${osx_version} <= 6 )); then + exit +fi + +needs_signing=0 + +# If the signature is invalid (e.g. due to updated resources), we need to re-sign it. +codesign --verify "${app_path}" 2> /dev/null +if [[ $? != 0 ]]; then + needs_signing=1 +else + # If the entitlements file is newer than the binary, we need to re-sign the app. + if [[ "${entitlement_file}" -nt "${app_binary_path}" ]]; then + needs_signing=1 + fi +fi + +if [[ $needs_signing == 0 ]]; then + exit +fi + +codesign -f -s - --entitlements "${entitlement_file}" "${app_path}" diff --git a/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp b/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp index 3e0033ff0..d3a0ec3e2 100644 --- a/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp +++ b/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp @@ -30,8 +30,8 @@ #include "CommandLine.h" #include "PluginProcess.h" -#include "RunLoop.h" #include <WebCore/NotImplemented.h> +#include <WebCore/RunLoop.h> #include <runtime/InitializeThreading.h> #include <wtf/MainThread.h> #include <wtf/RetainPtr.h> @@ -40,6 +40,8 @@ #define SHOW_CRASH_REPORTER 1 +using namespace WebCore; + namespace WebKit { int PluginProcessMain(const CommandLine& commandLine) |