summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJocelyn Turcotte <jocelyn.turcotte@digia.com>2013-06-03 13:13:26 +0000
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-01-03 14:23:17 +0100
commitd92f0c4f34bed79d8296126016330c9df138c54b (patch)
treeb0ae83ee30557f630cc883596a059c4afc9b8f81
parent3fdcf783fda9f16175a62082e9cb6a6fdf85cbfc (diff)
downloadqtwebkit-d92f0c4f34bed79d8296126016330c9df138c54b.tar.gz
[Qt] Re-enable plugins on Mac.
https://bugs.webkit.org/show_bug.cgi?id=116622 Reviewed by Tor Arne Vestbø. Source/WebCore: * platform/FileSystem.h: * platform/qt/FileSystemQt.cpp: (WebCore::unloadModule): - Q_WS_* aren't defined since Qt5, use Q_OS_MACX instead. * plugins/mac/PluginPackageMac.cpp: (WebCore::PluginPackage::fetchInfo): (WebCore::PluginPackage::load): - createCFString now does the adoption itself. * plugins/mac/PluginViewMac.mm: - Add missing include. Source/WebKit/qt: * WebCoreSupport/ChromeClientQt.cpp: (WebCore::ChromeClientQt::windowResizerRect): - Add missing parenthese. Tools: Plugins on Mac were only enabled if !embedded but the later was set if QPA is enabled, which is the default since Qt 5.0. Remove references to 'embedded' and fix various build issues, PluginViewMac.mm and PluginPackageMac.cpp haven't been compiled since a few months. * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: * qmake/mkspecs/features/features.prf: * qmake/mkspecs/features/unix/default_pre.prf: Task-number: QTBUG-35899 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151109 268f45cc-cd09-0410-ab3c-d52691b4dbfc Change-Id: I49692a234a66c205099c5dde8eb24ffb6eadba0f Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
-rw-r--r--Source/WTF/wtf/RetainPtr.h2
-rw-r--r--Source/WebCore/platform/FileSystem.h4
-rw-r--r--Source/WebCore/platform/qt/FileSystemQt.cpp2
-rw-r--r--Source/WebCore/plugins/mac/PluginPackageMac.cpp8
-rw-r--r--Source/WebCore/plugins/mac/PluginViewMac.mm3
-rw-r--r--Source/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp2
-rw-r--r--Tools/DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro2
-rw-r--r--Tools/qmake/mkspecs/features/features.prf2
-rw-r--r--Tools/qmake/mkspecs/features/unix/default_pre.prf4
9 files changed, 14 insertions, 15 deletions
diff --git a/Source/WTF/wtf/RetainPtr.h b/Source/WTF/wtf/RetainPtr.h
index 26997283d..6927e9040 100644
--- a/Source/WTF/wtf/RetainPtr.h
+++ b/Source/WTF/wtf/RetainPtr.h
@@ -77,7 +77,7 @@ namespace WTF {
RetainPtr(AdoptCFTag, PtrType ptr)
: m_ptr(ptr)
{
-#ifdef __OBJC__
+#if defined(__OBJC__) && defined(__cplusplus) && __cplusplus >= 201103L
static_assert((!std::is_convertible<T, id>::value), "Don't use adoptCF with Objective-C pointer types, use adoptNS.");
#endif
}
diff --git a/Source/WebCore/platform/FileSystem.h b/Source/WebCore/platform/FileSystem.h
index e1d5b7e48..dc6df8ff8 100644
--- a/Source/WebCore/platform/FileSystem.h
+++ b/Source/WebCore/platform/FileSystem.h
@@ -48,7 +48,7 @@
#endif
#endif
-#if USE(CF) || (PLATFORM(QT) && defined(Q_WS_MAC))
+#if USE(CF) || (PLATFORM(QT) && defined(Q_OS_MACX))
typedef struct __CFBundle* CFBundleRef;
typedef const struct __CFData* CFDataRef;
#endif
@@ -80,7 +80,7 @@ typedef GModule* PlatformModule;
#elif PLATFORM(EFL)
typedef Eina_Module* PlatformModule;
#elif PLATFORM(QT)
-#if defined(Q_WS_MAC)
+#if defined(Q_OS_MACX)
typedef CFBundleRef PlatformModule;
#elif !defined(QT_NO_LIBRARY)
typedef QLibrary* PlatformModule;
diff --git a/Source/WebCore/platform/qt/FileSystemQt.cpp b/Source/WebCore/platform/qt/FileSystemQt.cpp
index b5d0096e7..dd130e82b 100644
--- a/Source/WebCore/platform/qt/FileSystemQt.cpp
+++ b/Source/WebCore/platform/qt/FileSystemQt.cpp
@@ -242,7 +242,7 @@ int writeToFile(PlatformFileHandle handle, const char* data, int length)
bool unloadModule(PlatformModule module)
{
-#if defined(Q_WS_MAC)
+#if defined(Q_OS_MACX)
CFRelease(module);
return true;
diff --git a/Source/WebCore/plugins/mac/PluginPackageMac.cpp b/Source/WebCore/plugins/mac/PluginPackageMac.cpp
index 6b6c41775..6c138e8c3 100644
--- a/Source/WebCore/plugins/mac/PluginPackageMac.cpp
+++ b/Source/WebCore/plugins/mac/PluginPackageMac.cpp
@@ -138,8 +138,8 @@ bool PluginPackage::fetchInfo()
if (mimeTypesFileName && CFGetTypeID(mimeTypesFileName.get()) == CFStringGetTypeID()) {
WTF::RetainPtr<CFStringRef> fileName = (CFStringRef)mimeTypesFileName.get();
- WTF::RetainPtr<CFStringRef> homeDir = adoptCF(homeDirectoryPath().createCFString());
- WTF::RetainPtr<CFStringRef> path = adoptCF(CFStringCreateWithFormat(0, 0, CFSTR("%@/Library/Preferences/%@"), homeDir.get(), fileName.get()));
+ WTF::RetainPtr<CFStringRef> homeDir = homeDirectoryPath().createCFString();
+ WTF::RetainPtr<CFStringRef> path(AdoptCF, CFStringCreateWithFormat(0, 0, CFSTR("%@/Library/Preferences/%@"), homeDir.get(), fileName.get()));
WTF::RetainPtr<CFDictionaryRef> plist = readPListFile(path.get(), /*createFile*/ false, m_module);
if (plist) {
@@ -255,8 +255,8 @@ bool PluginPackage::load()
return true;
}
- WTF::RetainPtr<CFStringRef> path = adoptCF(m_path.createCFString());
- WTF::RetainPtr<CFURLRef> url = adoptCF(CFURLCreateWithFileSystemPath(kCFAllocatorDefault, path.get(),
+ WTF::RetainPtr<CFStringRef> path = m_path.createCFString();
+ WTF::RetainPtr<CFURLRef> url(AdoptCF, CFURLCreateWithFileSystemPath(kCFAllocatorDefault, path.get(),
kCFURLPOSIXPathStyle, false));
m_module = CFBundleCreate(NULL, url.get());
if (!m_module || !CFBundleLoadExecutable(m_module)) {
diff --git a/Source/WebCore/plugins/mac/PluginViewMac.mm b/Source/WebCore/plugins/mac/PluginViewMac.mm
index 0a7650f34..f8f2bc634 100644
--- a/Source/WebCore/plugins/mac/PluginViewMac.mm
+++ b/Source/WebCore/plugins/mac/PluginViewMac.mm
@@ -61,6 +61,9 @@
#include "WheelEvent.h"
#include "npruntime_impl.h"
#include "runtime_root.h"
+#include <AppKit/NSEvent.h>
+#include <AppKit/NSMenu.h>
+#include <AppKit/NSWindow.h>
#include <runtime/JSLock.h>
#include <runtime/JSCJSValue.h>
#include <wtf/RetainPtr.h>
diff --git a/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp b/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
index aba037cc6..610253750 100644
--- a/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
@@ -407,7 +407,7 @@ IntRect ChromeClientQt::windowResizerRect() const
// always draw scrollbars on the right hand side, so we assume this to be the
// location when computing the resize rect to reserve for WebKit.
QPoint resizeCornerTopLeft = QPoint(topLevelGeometry.width(), topLevelGeometry.height())
- - QPoint(scollbarThickness, scollbarThickness))
+ - QPoint(scollbarThickness, scollbarThickness)
- m_webPage->viewRectRelativeToWindow().topLeft();
QRect resizeCornerRect = QRect(resizeCornerTopLeft, QSize(scollbarThickness, scollbarThickness));
diff --git a/Tools/DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro b/Tools/DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro
index 3b6ddfc61..af2b5ac93 100644
--- a/Tools/DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro
+++ b/Tools/DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro
@@ -56,7 +56,7 @@ mac {
LIBS += -framework Carbon -framework Cocoa -framework QuartzCore
}
-!win32:!embedded:!mac {
+!win32:!mac {
LIBS += -lX11
DEFINES += XP_UNIX
}
diff --git a/Tools/qmake/mkspecs/features/features.prf b/Tools/qmake/mkspecs/features/features.prf
index 8649780a3..aa8eaae61 100644
--- a/Tools/qmake/mkspecs/features/features.prf
+++ b/Tools/qmake/mkspecs/features/features.prf
@@ -74,7 +74,7 @@ defineTest(detectFeatures) {
plugin_architecture_x11 \
plugin_process
- } else: unix|win32-*:!embedded:!wince* {
+ } else: mac|win32 {
WEBKIT_CONFIG += netscape_plugin_api
# WebKit2
WEBKIT_CONFIG += plugin_architecture_unsupported
diff --git a/Tools/qmake/mkspecs/features/unix/default_pre.prf b/Tools/qmake/mkspecs/features/unix/default_pre.prf
index aafc48ceb..60de13338 100644
--- a/Tools/qmake/mkspecs/features/unix/default_pre.prf
+++ b/Tools/qmake/mkspecs/features/unix/default_pre.prf
@@ -12,10 +12,6 @@ CONFIG += object_parallel_to_source
SBOX_CHECK = $$(_SBOX_DIR)
!isEmpty(SBOX_CHECK): CONFIG += scratchbox
-# If Qt is configured with embedded or QPA we set a convenience config
-# flag that can be used to test for either of these situations.
-contains(QT_CONFIG, qpa)|contains(QT_CONFIG, embedded): CONFIG += embedded
-
# Reduce linking memory pressure on 32-bit debug builds on Linux
linux-g++*:CONFIG(debug, debug|release):isEqual(QT_ARCH,i386): CONFIG += use_all_in_one_files