[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

kevino at webkit.org kevino at webkit.org
Thu Apr 8 00:28:34 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit ca7fa385149d4c43d1a788d720d8a546b04e9346
Author: kevino at webkit.org <kevino at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Dec 9 00:52:19 2009 +0000

    Reviewed by Kevin Ollivier.
    
    [wx] Mac plugins support.
    
    https://bugs.webkit.org/show_bug.cgi?id=32236
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51880 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog
index deddcbd..3753c81 100644
--- a/JavaScriptCore/ChangeLog
+++ b/JavaScriptCore/ChangeLog
@@ -1,3 +1,13 @@
+2009-12-08  Kevin Watters  <kevinwatters at gmail.com>
+
+        Reviewed by Kevin Ollivier.
+
+        [wx] Mac plugins support.
+        
+        https://bugs.webkit.org/show_bug.cgi?id=32236
+
+        * wtf/Platform.h:
+
 2009-12-08  Dmitry Titov  <dimich at chromium.org>
 
         Rubber-stamped by David Levin.
@@ -19,6 +29,7 @@
         (WTF::RefCountedBase::derefBase):
         * wtf/ThreadVerifier.h: Removed.
 
+>>>>>>> .r51879
 2009-12-08  Gustavo Noronha Silva  <gustavo.noronha at collabora.co.uk>
 
         Reviewed by Darin Adler.
diff --git a/JavaScriptCore/wtf/Platform.h b/JavaScriptCore/wtf/Platform.h
index dbf6bff..918cb47 100644
--- a/JavaScriptCore/wtf/Platform.h
+++ b/JavaScriptCore/wtf/Platform.h
@@ -554,6 +554,9 @@
 
 #if PLATFORM(WX)
 #define ENABLE_ASSEMBLER 1
+#if PLATFORM(DARWIN)
+#define WTF_PLATFORM_CF 1
+#endif
 #endif
 
 #if PLATFORM(GTK)
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 0644488..2022302 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,35 @@
+2009-12-08  Kevin Watters  <kevinwatters at gmail.com>
+
+        Reviewed by Kevin Ollivier.
+
+        [wx] Mac plugins support.
+        
+        https://bugs.webkit.org/show_bug.cgi?id=32236
+
+        * platform/FileSystem.h:
+        * platform/cf/BinaryPropertyList.h:
+        * platform/network/curl/ResourceHandleManager.cpp:
+        * platform/wx/FileSystemWx.cpp:
+        (WebCore::fileExists):
+        (WebCore::unloadModule):
+        (WebCore::wxDirTraverserNonRecursive::wxDirTraverserNonRecursive):
+        (WebCore::wxDirTraverserNonRecursive::OnFile):
+        (WebCore::wxDirTraverserNonRecursive::OnDir):
+        (WebCore::listDirectory):
+        * plugins/mac/PluginViewMac.cpp:
+        (WebCore::nativeWindowFor):
+        (WebCore::cgHandleFor):
+        (WebCore::topLevelOffsetFor):
+        (WebCore::PluginView::platformStart):
+        (WebCore::PluginView::setFocus):
+        (WebCore::PluginView::invalidateRect):
+        (WebCore::PluginView::handleKeyboardEvent):
+        (WebCore::PluginView::globalMousePosForPlugin):
+        * plugins/wx/PluginDataWx.cpp: Added.
+        (WebCore::PluginData::initPlugins):
+        (WebCore::PluginData::refresh):
+        * wscript:
+
 2009-12-08  Brady Eidson  <beidson at apple.com>
 
         Reviewed by Darin Adler.
diff --git a/WebCore/platform/FileSystem.h b/WebCore/platform/FileSystem.h
index 9952b39..3220d51 100644
--- a/WebCore/platform/FileSystem.h
+++ b/WebCore/platform/FileSystem.h
@@ -39,9 +39,10 @@
 #if defined(Q_OS_WIN32)
 #include <windows.h>
 #endif
-#if defined(Q_WS_MAC)
-#include <CoreFoundation/CFBundle.h>
 #endif
+
+#if PLATFORM(CF) || (PLATFORM(QT) && defined(Q_WS_MAC))
+#include <CoreFoundation/CFBundle.h>
 #endif
 
 #include <time.h>
@@ -76,6 +77,8 @@ typedef QLibrary* PlatformModule;
 #endif // defined(Q_WS_MAC)
 #elif PLATFORM(GTK)
 typedef GModule* PlatformModule;
+#elif PLATFORM(CF)
+typedef CFBundleRef PlatformModule;
 #else
 typedef void* PlatformModule;
 #endif
diff --git a/WebCore/platform/cf/BinaryPropertyList.h b/WebCore/platform/cf/BinaryPropertyList.h
index 598aaa7..a930b43 100644
--- a/WebCore/platform/cf/BinaryPropertyList.h
+++ b/WebCore/platform/cf/BinaryPropertyList.h
@@ -26,6 +26,8 @@
 #ifndef BinaryPropertyList_h
 #define BinaryPropertyList_h
 
+#include <CoreFoundation/CoreFoundation.h>
+
 #include <wtf/Vector.h>
 
 namespace WebCore {
diff --git a/WebCore/platform/network/curl/ResourceHandleManager.cpp b/WebCore/platform/network/curl/ResourceHandleManager.cpp
index d8a812f..a006a14 100644
--- a/WebCore/platform/network/curl/ResourceHandleManager.cpp
+++ b/WebCore/platform/network/curl/ResourceHandleManager.cpp
@@ -49,6 +49,11 @@
 #include <wtf/Threading.h>
 #include <wtf/Vector.h>
 
+#if !PLATFORM(WIN_OS)
+#include <sys/param.h>
+#define MAX_PATH MAXPATHLEN
+#endif
+
 namespace WebCore {
 
 const int selectTimeoutMS = 5;
diff --git a/WebCore/platform/wx/FileSystemWx.cpp b/WebCore/platform/wx/FileSystemWx.cpp
index a56d81e..1ee87ae 100644
--- a/WebCore/platform/wx/FileSystemWx.cpp
+++ b/WebCore/platform/wx/FileSystemWx.cpp
@@ -35,17 +35,23 @@
 #include "PlatformString.h"
 
 #include <wx/wx.h>
-#include <wx/filename.h>
+#include <wx/datetime.h>
 #include <wx/dir.h>
+#include <wx/dynlib.h>
 #include <wx/file.h>
-#include <wx/datetime.h>
 #include <wx/filefn.h>
+#include <wx/filename.h>
+
+#if PLATFORM(DARWIN)
+#include <CoreFoundation/CoreFoundation.h>
+#endif
 
 namespace WebCore {
 
 bool fileExists(const String& path)
 {
-    return wxFileName::FileExists(path);
+    // NOTE: This is called for directory paths too so we need to check both.
+    return wxFileName::FileExists(path) || wxFileName::DirExists(path);
 }
 
 bool deleteFile(const String& path)
@@ -123,21 +129,63 @@ bool unloadModule(PlatformModule mod)
 {
 #if PLATFORM(WIN_OS)
     return ::FreeLibrary(mod);
+#elif PLATFORM(DARWIN)
+    CFRelease(mod);
+    return true;
 #else
-    notImplemented();
-    return false;
+    wxASSERT(mod);
+    delete mod;
+    return true;
 #endif
 }
 
+
+class wxDirTraverserNonRecursive : public wxDirTraverser {
+public:
+    wxDirTraverserNonRecursive(wxString basePath, wxArrayString& files) : m_basePath(basePath), m_files(files) { }
+
+    virtual wxDirTraverseResult OnFile(const wxString& filename)
+    {
+        wxFileName afile(filename);
+        afile.MakeRelativeTo(m_basePath);
+        if (afile.GetFullPath().Find(afile.GetPathSeparator()) == wxNOT_FOUND)
+            m_files.push_back(filename);
+
+        return wxDIR_CONTINUE;
+    }
+
+    virtual wxDirTraverseResult OnDir(const wxString& dirname)
+    {
+        wxFileName dirfile(dirname);
+        dirfile.MakeRelativeTo(m_basePath);
+        if (dirfile.GetFullPath().Find(dirfile.GetPathSeparator()) == wxNOT_FOUND)
+            m_files.push_back(dirname);
+
+        return wxDIR_CONTINUE;
+    }
+
+private:
+    wxString m_basePath;
+    wxArrayString& m_files;
+
+    DECLARE_NO_COPY_CLASS(wxDirTraverserNonRecursive)
+};
+
 Vector<String> listDirectory(const String& path, const String& filter)
 {
     wxArrayString   file_paths;
+    // wxDir::GetAllFiles recurses and for platforms like Mac where
+    // a .plugin or .bundle can be a dir wx will recurse into the bundle
+    // and list the files rather than just returning the plugin name, so
+    // we write a special traverser that works around that issue.
+    wxDirTraverserNonRecursive traverser(path, file_paths);
     
-    int n_files = wxDir::GetAllFiles(path, &file_paths, _T(""), wxDIR_FILES);
+    wxDir dir(path);
+    dir.Traverse(traverser, _T(""), wxDIR_FILES | wxDIR_DIRS);
 
     Vector<String> entries;
     
-    for (int i = 0; i < n_files; i++)
+    for (int i = 0; i < file_paths.GetCount(); i++)
     {
         entries.append(file_paths[i]);
     }   
diff --git a/WebCore/plugins/mac/PluginViewMac.cpp b/WebCore/plugins/mac/PluginViewMac.cpp
index b7daff5..44a0262 100644
--- a/WebCore/plugins/mac/PluginViewMac.cpp
+++ b/WebCore/plugins/mac/PluginViewMac.cpp
@@ -87,6 +87,11 @@ extern Q_GUI_EXPORT OSWindowRef qt_mac_window_for(const QWidget* w);
 QT_END_NAMESPACE
 #endif
 
+#if PLATFORM(WX)
+#include <wx/defs.h>
+#include <wx/wx.h>
+#endif
+
 using std::min;
 
 using namespace WTF;
@@ -103,6 +108,10 @@ static inline WindowRef nativeWindowFor(PlatformWidget widget)
     if (widget)
         return static_cast<WindowRef>(qt_mac_window_for(widget));
 #endif
+#if PLATFORM(WX)
+    if (widget)
+        return (WindowRef)widget->MacGetTopLevelWindowRef();
+#endif
     return 0;
 }
 
@@ -112,6 +121,10 @@ static inline CGContextRef cgHandleFor(PlatformWidget widget)
     if (widget)
         return (CGContextRef)widget->macCGHandle();
 #endif
+#if PLATFORM(WX)
+    if (widget)
+        return (CGContextRef)widget->MacGetCGContextRef();
+#endif
     return 0;
 }
 
@@ -123,6 +136,12 @@ static inline IntPoint topLevelOffsetFor(PlatformWidget widget)
         return widget->mapTo(topLevel, QPoint(0, 0)) + topLevel->geometry().topLeft() - topLevel->pos();
     }
 #endif
+#if PLATFORM(WX)
+    if (widget) {
+        PlatformWidget toplevel = wxGetTopLevelParent(widget);
+        return toplevel->ScreenToClient(widget->GetScreenPosition());
+    }
+#endif
     return IntPoint();
 }
 
@@ -182,6 +201,10 @@ bool PluginView::platformStart()
             setPlatformPluginWidget(widget);
     }
 #endif
+#if PLATFORM(WX)
+    if (wxWindow* widget = m_parentFrame->view()->hostWindow()->platformPageClient())
+        setPlatformPluginWidget(widget);
+#endif
 
     // Create a fake window relative to which all events will be sent when using offscreen rendering
     if (!platformPluginWidget()) {
@@ -336,7 +359,11 @@ void PluginView::setFocus()
     LOG(Plugins, "PluginView::setFocus()");
 
     if (platformPluginWidget())
+#if PLATFORM(QT)
        platformPluginWidget()->setFocus(Qt::OtherFocusReason);
+#else
+        platformPluginWidget()->SetFocus();
+#endif
    else
        Widget::setFocus();
 
@@ -513,7 +540,11 @@ void PluginView::paint(GraphicsContext* context, const IntRect& rect)
 void PluginView::invalidateRect(const IntRect& rect)
 {
     if (platformPluginWidget())
+#if PLATFORM(QT)
         platformPluginWidget()->update(convertToContainingWindow(rect));
+#else
+        platformPluginWidget()->RefreshRect(convertToContainingWindow(rect));
+#endif
     else
         invalidateWindowlessPluginRect(rect);
 }
@@ -657,8 +688,10 @@ void PluginView::handleKeyboardEvent(KeyboardEvent* event)
 
     LOG(Plugins, "PV::hKE(): record.modifiers: %d", record.modifiers);
 
+#if PLATFORM(QT)
     LOG(Plugins, "PV::hKE(): PKE.qtEvent()->nativeVirtualKey: 0x%02X, charCode: %d",
                keyCode, int(uchar(charCodes[0])));
+#endif
 
     if (!dispatchNPEvent(record))
         LOG(Events, "PluginView::handleKeyboardEvent(): Keyboard event type %d not accepted", record.what);
@@ -707,6 +740,18 @@ Point PluginView::globalMousePosForPlugin() const
     pos.h = short(pos.h * scaleFactor);
     pos.v = short(pos.v * scaleFactor);
 
+#if PLATFORM(WX)
+    // make sure the titlebar/toolbar size is included
+    WindowRef windowRef = nativeWindowFor(platformPluginWidget());
+    ::Rect content, structure;
+
+    GetWindowBounds(windowRef, kWindowStructureRgn, &structure);
+    GetWindowBounds(windowRef, kWindowContentRgn, &content);
+
+    int top = content.top  - structure.top;
+    pos.v -= top;
+#endif
+
     return pos;
 }
 
diff --git a/WebCore/plugins/wx/PluginDataWx.cpp b/WebCore/plugins/wx/PluginDataWx.cpp
new file mode 100644
index 0000000..58ee315
--- /dev/null
+++ b/WebCore/plugins/wx/PluginDataWx.cpp
@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2008 Kevin Ollivier <kevino at theolliviers.com> All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+
+#include "config.h"
+#include "PluginData.h"
+
+#include "NotImplemented.h"
+#include "PluginDatabase.h"
+#include "PluginPackage.h"
+
+namespace WebCore {
+
+void PluginData::initPlugins()
+{
+    PluginDatabase* db = PluginDatabase::installedPlugins();
+    const Vector<PluginPackage*> &plugins = db->plugins();
+
+    for (unsigned int i = 0; i < plugins.size(); ++i) {
+        PluginInfo* info = new PluginInfo;
+        PluginPackage* package = plugins[i];
+
+        info->name = package->name();
+        info->file = package->fileName();
+        info->desc = package->description();
+
+        const MIMEToDescriptionsMap& mimeToDescriptions = package->mimeToDescriptions();
+        MIMEToDescriptionsMap::const_iterator end = mimeToDescriptions.end();
+        for (MIMEToDescriptionsMap::const_iterator it = mimeToDescriptions.begin(); it != end; ++it) {
+            MimeClassInfo* mime = new MimeClassInfo;
+            info->mimes.append(mime);
+
+            mime->type = it->first;
+            mime->desc = it->second;
+            mime->plugin = info;
+
+            Vector<String> extensions = package->mimeToExtensions().get(mime->type);
+
+            for (unsigned i = 0; i < extensions.size(); i++) {
+                if (i > 0)
+                    mime->suffixes += ",";
+
+                mime->suffixes += extensions[i];
+            }
+        }
+
+        m_plugins.append(info);
+    }
+}
+
+void PluginData::refresh()
+{
+    notImplemented();
+}
+
+};
diff --git a/WebCore/wscript b/WebCore/wscript
index ba67c2d..1ad8e90 100644
--- a/WebCore/wscript
+++ b/WebCore/wscript
@@ -30,11 +30,6 @@ from settings import *
 webcore_sources = {}
 
 if build_port == "wx":
-    no_plugins = [      'plugins/PluginDataNone.cpp',
-                        'plugins/PluginViewNone.cpp',
-                        'plugins/PluginPackageNone.cpp'
-                 ]
-    
     if building_on_win32:
         webcore_dirs.extend(['platform/wx/wxcode/win', 'plugins/win'])
         webcore_sources['wx-win'] = [
@@ -51,15 +46,25 @@ if build_port == "wx":
                'plugins/win/PluginViewWin.cpp',
         ]
     elif sys.platform.startswith('darwin'):
+        webcore_dirs.append('plugins/mac')
         webcore_dirs.append('platform/wx/wxcode/mac/carbon')
+        webcore_dirs.append('platform/mac')
         webcore_sources['wx-mac'] = [
+               'platform/mac/WebCoreNSStringExtras.mm',
                'platform/mac/PurgeableBufferMac.cpp',
+               'plugins/wx/PluginDataWx.cpp',
+               'plugins/mac/PluginPackageMac.cpp',
+               'plugins/mac/PluginViewMac.cpp'
         ]
-        webcore_sources['plugins'] = no_plugins
     else:
+        webcore_sources['wx-gtk'] = [
+               'plugins/PluginDataNone.cpp',
+               'plugins/PluginViewNone.cpp',
+               'plugins/PluginPackageNone.cpp'
+        ]
         webcore_dirs.append('platform/wx/wxcode/gtk')
-        webcore_sources['plugins'] = no_plugins
         
+import TaskGen
 from TaskGen import taskgen, feature, after
 import Task, ccroot
 
@@ -87,7 +92,9 @@ def configure(conf):
 
 def build(bld):
     import Options
-
+    if sys.platform.startswith('darwin'):
+        TaskGen.task_gen.mappings['.mm'] = TaskGen.task_gen.mappings['.cxx']
+    
     wk_includes = ['.', '..', 'DerivedSources',
                 wk_root, 
                 os.path.join(wk_root, 'JavaScriptCore'),
@@ -98,8 +105,14 @@ def build(bld):
         ]
 
     features = [build_port]
+    exclude_patterns = ['*None.cpp', '*CFNet.cpp', '*Qt.cpp', '*Win.cpp', '*Wince.cpp', '*Gtk.cpp', '*Mac.cpp', '*Safari.cpp', '*Chromium*.cpp','*SVG*.cpp', '*AllInOne.cpp', 'test*bindings.*']
     if build_port == 'wx':
         features.append('curl')
+        
+    if sys.platform.startswith('darwin'):
+        features.append('cf')
+    else:
+        exclude_patterns.append('*CF.cpp')
 
     full_dirs = get_dirs_for_features(webcore_dir, features=features, dirs=webcore_dirs)
 
@@ -129,8 +142,9 @@ def build(bld):
         )
         
     excludes = []
+    
     if build_port == 'wx':
-        excludes = get_excludes(webcore_dir, ['*None.cpp', '*CF.cpp', '*Qt.cpp', '*Win.cpp', '*Wince.cpp', '*Gtk.cpp', '*Mac.cpp', '*Safari.cpp', '*Chromium*.cpp','*SVG*.cpp', '*AllInOne.cpp', 'test*bindings.*'])
+        excludes = get_excludes(webcore_dir, exclude_patterns)
         excludes.extend(['UserStyleSheetLoader.cpp', 'RenderMediaControls.cpp'])
 
 
@@ -151,5 +165,8 @@ def build(bld):
         excludes.append('JSInspectorController.cpp')
         if building_on_win32:
             excludes.append('SharedTimerWx.cpp')
+            
+        excludes.append('AuthenticationCF.cpp')
+        excludes.append('LoaderRunLoopCF.cpp')
         
     webcore.find_sources_in_dirs(full_dirs, excludes = excludes, exts=['.c', '.cpp'])
diff --git a/WebKit/wx/ChangeLog b/WebKit/wx/ChangeLog
index 06a5043..e6ed389 100644
--- a/WebKit/wx/ChangeLog
+++ b/WebKit/wx/ChangeLog
@@ -1,3 +1,17 @@
+2009-12-08  Kevin Watters  <kevinwatters at gmail.com>
+
+        Reviewed by Kevin Ollivier.
+
+        [wx] Mac plugins support.
+        
+        https://bugs.webkit.org/show_bug.cgi?id=32236
+
+        * WebKitSupport/FrameLoaderClientWx.cpp:
+        (WebCore::FrameLoaderClientWx::createPlugin):
+        (WebCore::FrameLoaderClientWx::redirectDataToPlugin):
+        * WebView.cpp:
+        (wxWebView::Create):
+
 2009-12-03  Brady Eidson  <beidson at apple.com>
 
         Reviewed by Sam Weinig.
diff --git a/WebKit/wx/WebKitSupport/FrameLoaderClientWx.cpp b/WebKit/wx/WebKitSupport/FrameLoaderClientWx.cpp
index c09f8de..fbb4ec3 100644
--- a/WebKit/wx/WebKitSupport/FrameLoaderClientWx.cpp
+++ b/WebKit/wx/WebKitSupport/FrameLoaderClientWx.cpp
@@ -37,9 +37,9 @@
 #include "FrameLoaderTypes.h"
 #include "FrameView.h"
 #include "FrameTree.h"
+#include "PluginView.h"
 #include "HTMLFormElement.h"
 #include "HTMLFrameOwnerElement.h"
-#include "HTMLPluginElement.h"
 #include "NotImplemented.h"
 #include "Page.h"
 #include "PlatformString.h"
@@ -853,7 +853,7 @@ ObjectContentType FrameLoaderClientWx::objectContentType(const KURL& url, const
 
 PassRefPtr<Widget> FrameLoaderClientWx::createPlugin(const IntSize& size, HTMLPlugInElement* element, const KURL& url, const Vector<String>& paramNames, const Vector<String>& paramValues, const String& mimeType, bool loadManually)
 {
-#if PLATFORM(WIN_OS)
+#if __WXMSW__ || __WXMAC__
     RefPtr<PluginView> pv = PluginView::create(m_frame, size, element, url, paramNames, paramValues, mimeType, loadManually);
     if (pv->status() == PluginStatusLoadedSuccessfully)
         return pv;
@@ -863,9 +863,9 @@ PassRefPtr<Widget> FrameLoaderClientWx::createPlugin(const IntSize& size, HTMLPl
 
 void FrameLoaderClientWx::redirectDataToPlugin(Widget* pluginWidget)
 {
-     ASSERT(!m_pluginView);
-     m_pluginView = static_cast<PluginView*>(pluginWidget);
-     m_hasSentResponseToPlugin = false;
+    ASSERT(!m_pluginView);
+    m_pluginView = static_cast<PluginView*>(pluginWidget);
+    m_hasSentResponseToPlugin = false;
 }
 
 ResourceError FrameLoaderClientWx::pluginWillHandleLoadError(const ResourceResponse& response)
diff --git a/WebKit/wx/WebView.cpp b/WebKit/wx/WebView.cpp
index 06ae28f..2c752de 100644
--- a/WebKit/wx/WebView.cpp
+++ b/WebKit/wx/WebView.cpp
@@ -338,7 +338,7 @@ bool wxWebView::Create(wxWindow* parent, int id, const wxPoint& position,
     settings->setDatabasesEnabled(true);
 #endif
 
-#if __WXMSW__
+#if __WXMSW__ || __WXMAC__
     settings->setPluginsEnabled(true);
 #endif
 
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index fc55598..5cb1f3d 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,13 @@
+2009-12-08  Kevin Watters  <kevinwatters at gmail.com>
+
+        Reviewed by Kevin Ollivier.
+
+        [wx] Mac plugins support.
+        
+        https://bugs.webkit.org/show_bug.cgi?id=32236
+
+        * wx/browser/wscript:
+
 2009-12-08  David Levin  <levin at chromium.org>
 
         Reviewed by Adam Barth.
diff --git a/WebKitTools/wx/browser/wscript b/WebKitTools/wx/browser/wscript
index d5246c1..a2a24e0 100644
--- a/WebKitTools/wx/browser/wscript
+++ b/WebKitTools/wx/browser/wscript
@@ -45,7 +45,7 @@ def build(bld):
         includes = ' '.join(include_paths),
         source = 'browser.cpp',
         target = 'wxBrowser',
-        uselib = 'WXWEBKIT WX ' + get_config(),
+        uselib = 'WX CURL ICU XSLT XML WXWEBKIT ' + get_config(),
         libpath = [output_dir],
         uselib_local = '',
         install_path = output_dir)

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list