summaryrefslogtreecommitdiff
path: root/Source/WebKit2/PluginProcess
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/PluginProcess')
-rw-r--r--Source/WebKit2/PluginProcess/PluginControllerProxy.h6
-rw-r--r--Source/WebKit2/PluginProcess/PluginProcess.cpp3
-rw-r--r--Source/WebKit2/PluginProcess/PluginProcess.h7
-rw-r--r--Source/WebKit2/PluginProcess/WebProcessConnection.cpp5
-rw-r--r--Source/WebKit2/PluginProcess/gtk/PluginProcessMainGtk.cpp4
-rw-r--r--Source/WebKit2/PluginProcess/mac/PluginProcess.entitlements8
-rw-r--r--Source/WebKit2/PluginProcess/mac/PluginProcessMainMac.mm6
-rwxr-xr-xSource/WebKit2/PluginProcess/mac/add-entitlements.sh35
-rw-r--r--Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp4
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)