diff --git a/LayoutTests/platform/mac/fast/borders/border-radius-huge-assert-expected.png b/LayoutTests/platform/mac/fast/borders/border-radius-huge-assert-expected.png index 036f02e..51ab95b 100644 Binary files a/LayoutTests/platform/mac/fast/borders/border-radius-huge-assert-expected.png and b/LayoutTests/platform/mac/fast/borders/border-radius-huge-assert-expected.png differ diff --git a/WebCore/plugins/PluginDatabase.cpp b/WebCore/plugins/PluginDatabase.cpp index 8626277..e13daff 100644 --- a/WebCore/plugins/PluginDatabase.cpp +++ b/WebCore/plugins/PluginDatabase.cpp @@ -47,6 +47,14 @@ PluginDatabase* PluginDatabase::installedPlugins() return plugins; } +void PluginDatabase::clear() +{ + Vector::iterator pluginsEnd = plugins().end(); + + for (Vector::iterator it = plugins().begin(); it != pluginsEnd; ++it) + remove(*it); +} + bool PluginDatabase::isMIMETypeRegistered(const String& mimeType) { if (mimeType.isNull()) diff --git a/WebCore/plugins/PluginDatabase.h b/WebCore/plugins/PluginDatabase.h index 58839a2..7dd423b 100644 --- a/WebCore/plugins/PluginDatabase.h +++ b/WebCore/plugins/PluginDatabase.h @@ -48,6 +48,7 @@ namespace WebCore { static PluginDatabase* installedPlugins(); bool refresh(); + void clear(); Vector plugins() const; bool isMIMETypeRegistered(const String& mimeType); void addExtraPluginDirectory(const String&); @@ -57,9 +58,9 @@ namespace WebCore { PluginPackage* findPlugin(const KURL&, String& mimeType); - private: void setPluginDirectories(const Vector& directories) { m_pluginDirectories = directories; } + private: void getPluginPathsInDirectories(HashSet&) const; void getDeletedPlugins(PluginSet&) const; diff --git a/WebKit/qt/Api/qwebpage.cpp b/WebKit/qt/Api/qwebpage.cpp index 84753bd..726b22c 100644 --- a/WebKit/qt/Api/qwebpage.cpp +++ b/WebKit/qt/Api/qwebpage.cpp @@ -59,6 +59,7 @@ #include "Scrollbar.h" #include "PlatformKeyboardEvent.h" #include "PlatformWheelEvent.h" +#include "PluginDatabase.h" #include "ProgressTracker.h" #include "RefPtr.h" #include "HashMap.h" @@ -99,6 +100,24 @@ using namespace WebCore; +void QWEBKIT_EXPORT qt_drt_overwritePluginDirectories() +{ + PluginDatabase *db = PluginDatabase::installedPlugins(); + + Vector paths; + String qtPath(getenv("QTWEBKIT_PLUGIN_PATH")); + qtPath.split(UChar(':'), /* allowEmptyEntries */ false, paths); + + db->clear(); + + qWarning("CLEAR!"); + + db->setPluginDirectories(paths); + db->refresh(); + + qWarning("REFRESH"); +} + bool QWebPagePrivate::drtRun = false; void QWEBKIT_EXPORT qt_drt_run(bool b) { diff --git a/WebKitTools/DumpRenderTree/qt/DumpRenderTree.cpp b/WebKitTools/DumpRenderTree/qt/DumpRenderTree.cpp index 16798c7..73ff8b1 100644 --- a/WebKitTools/DumpRenderTree/qt/DumpRenderTree.cpp +++ b/WebKitTools/DumpRenderTree/qt/DumpRenderTree.cpp @@ -60,6 +60,7 @@ extern void qt_drt_run(bool b); extern void qt_dump_set_accepts_editing(bool b); extern void qt_dump_frame_loader(bool b); extern void qt_drt_clearFrameName(QWebFrame* qFrame); +extern void qt_drt_overwritePluginDirectories(); namespace WebCore { @@ -143,6 +144,8 @@ DumpRenderTree::DumpRenderTree() : m_stdin(0) , m_notifier(0) { + qt_drt_overwritePluginDirectories(); + m_controller = new LayoutTestController(this); connect(m_controller, SIGNAL(done()), this, SLOT(dump()));