diff options
author | Jocelyn Turcotte <jocelyn.turcotte@digia.com> | 2013-06-03 13:13:26 +0000 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-01-03 14:23:17 +0100 |
commit | d92f0c4f34bed79d8296126016330c9df138c54b (patch) | |
tree | b0ae83ee30557f630cc883596a059c4afc9b8f81 | |
parent | 3fdcf783fda9f16175a62082e9cb6a6fdf85cbfc (diff) | |
download | qtwebkit-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.h | 2 | ||||
-rw-r--r-- | Source/WebCore/platform/FileSystem.h | 4 | ||||
-rw-r--r-- | Source/WebCore/platform/qt/FileSystemQt.cpp | 2 | ||||
-rw-r--r-- | Source/WebCore/plugins/mac/PluginPackageMac.cpp | 8 | ||||
-rw-r--r-- | Source/WebCore/plugins/mac/PluginViewMac.mm | 3 | ||||
-rw-r--r-- | Source/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp | 2 | ||||
-rw-r--r-- | Tools/DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro | 2 | ||||
-rw-r--r-- | Tools/qmake/mkspecs/features/features.prf | 2 | ||||
-rw-r--r-- | Tools/qmake/mkspecs/features/unix/default_pre.prf | 4 |
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 |