WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Qt 4.5.3 Windows Java 1.6.0u17 Applet patch by John Spicer
4.5.3-jws-code-20091223.patch (text/plain), 6.52 KB, created by
Garth Dahlstrom
on 2009-12-29 23:07:00 PST
(
hide
)
Description:
Qt 4.5.3 Windows Java 1.6.0u17 Applet patch by John Spicer
Filename:
MIME Type:
Creator:
Garth Dahlstrom
Created:
2009-12-29 23:07:00 PST
Size:
6.52 KB
patch
obsolete
>--- E:/Qt/4.5.3-shared/src/3rdparty/webkit/WebCore/plugins/win/PluginDatabaseWin.cpp.org Tue Sep 29 06:04:12 2009 >+++ E:/Qt/4.5.3-shared/src/3rdparty/webkit/WebCore/plugins/win/PluginDatabaseWin.cpp Mon Dec 21 04:01:39 2009 >@@ -33,6 +33,8 @@ > #include <windows.h> > #include <shlwapi.h> > >+#include <QDebug> >+ > #if COMPILER(MINGW) > #define _countof(x) (sizeof(x)/sizeof(x[0])) > #endif >@@ -325,6 +327,69 @@ > directories.append(macromediaDirectoryStr); > } > >+static inline void addJavaPluginDirectory(Vector<String>& directories) >+{ >+ qDebug() << "PluginDatabase::addJavaPluginDirectories"; >+ HKEY key; >+ HRESULT result = RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("Software\\JavaSoft\\Java Plug-in"), 0, KEY_READ, &key); >+ if (result != ERROR_SUCCESS) >+ return; >+ >+ WCHAR name[128]; >+ FILETIME lastModified; >+ >+ Vector<int> latestJavaVersion; >+ String latestJavaVersionString; >+ >+ qDebug() << "- checking Java Plugin versions"; >+ // Enumerate subkeys >+ for (int i = 0;; i++) { >+ DWORD nameLen = sizeof(name) / sizeof(WCHAR); >+ result = RegEnumKeyExW(key, i, name, &nameLen, 0, 0, 0, &lastModified); >+ >+ if (result != ERROR_SUCCESS) >+ break; >+ >+ Vector<int> javaVersion = parseVersionString(String(name, nameLen)); >+ if (compareVersions(javaVersion, latestJavaVersion)) { >+ latestJavaVersion = javaVersion; >+ latestJavaVersionString = String(name, nameLen); >+ qDebug() << "- setting latest Java Plugin version to " << latestJavaVersionString; >+ } >+ } >+ >+ if (!latestJavaVersionString.isNull()) { >+ DWORD type; >+ WCHAR javaInstallPathStr[_MAX_PATH]; >+ DWORD javaInstallPathSize = sizeof(javaInstallPathStr); >+ DWORD useNewPluginValue; >+ DWORD useNewPluginSize; >+ >+ String javaPluginKeyPath = "Software\\JavaSoft\\Java Plug-in\\" + latestJavaVersionString; >+ result = SHGetValue(HKEY_LOCAL_MACHINE, javaPluginKeyPath.charactersWithNullTermination(), TEXT("UseNewJavaPlugin"), &type,(LPVOID)&useNewPluginValue, &useNewPluginSize); >+ if (result == ERROR_SUCCESS) { >+ if (useNewPluginValue == 1) { >+ result = SHGetValue(HKEY_LOCAL_MACHINE, javaPluginKeyPath.charactersWithNullTermination(), TEXT("JavaHome"), &type, (LPBYTE)javaInstallPathStr, &javaInstallPathSize); >+ if (result == ERROR_SUCCESS) { >+ String javaPluginDirectory = String(javaInstallPathStr, javaInstallPathSize / sizeof(WCHAR) - 1) + "\\bin\\new_plugin"; >+ directories.append(javaPluginDirectory); >+ qDebug() << "- adding Java Plugin directory: " << javaPluginDirectory; >+ } else { >+ qDebug() << "Error: failed to read JavaHome value (" << result << ")"; >+ } >+ } else { >+ qDebug() << "Error: failed to find a 'new' Java Plugin"; >+ } >+ } else { >+ qDebug() << "Error: failed to read 'UseNewJavaPlugin' value (" << result << ")"; >+ } >+ } else { >+ qDebug("ERROR: failed to find a java version!!!"); >+ } >+ >+ RegCloseKey(key); >+} >+ > Vector<String> PluginDatabase::defaultPluginDirectories() > { > Vector<String> directories; >@@ -337,7 +402,7 @@ > addMozillaPluginDirectories(directories); > addWindowsMediaPlayerPluginDirectory(directories); > addMacromediaPluginDirectories(directories); >- >+ addJavaPluginDirectory(directories); > return directories; > } > >--- E:/Qt/4.5.3-shared/src/3rdparty/webkit/WebCore/plugins/win/PluginPackageWin.cpp.org Tue Sep 29 06:04:12 2009 >+++ E:/Qt/4.5.3-shared/src/3rdparty/webkit/WebCore/plugins/win/PluginPackageWin.cpp Mon Dec 21 04:01:39 2009 >@@ -38,6 +38,8 @@ > #include <wtf/OwnArrayPtr.h> > #include <shlwapi.h> > >+#include <QDebug> >+ > namespace WebCore { > > static String getVersionInfo(const LPVOID versionInfoData, const String& info) >@@ -223,6 +225,7 @@ > > bool PluginPackage::load() > { >+ qDebug() << "Loading plugin: " << this->m_path; > if (m_freeLibraryTimer.isActive()) { > ASSERT(m_module); > m_freeLibraryTimer.stop(); >--- E:/Qt/4.5.3-shared/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp.org Tue Sep 29 06:04:14 2009 >+++ E:/Qt/4.5.3-shared/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp Tue Dec 22 22:22:14 2009 >@@ -58,6 +58,8 @@ > #include "qwebhistoryinterface.h" > #include "qwebpluginfactory.h" > >+#include <QtDebug> >+ > #include <qfileinfo.h> > > #include <QCoreApplication> >@@ -199,7 +201,7 @@ > return true; > } > >-void FrameLoaderClientQt::savePlatformDataToCachedPage(CachedPage*) >+void FrameLoaderClientQt::savePlatformDataToCachedPage(CachedPage*) > { > notImplemented(); > } >@@ -1076,8 +1078,8 @@ > Widget* FrameLoaderClientQt::createPlugin(const IntSize& pluginSize, Element* element, const KURL& url, const Vector<String>& paramNames, > const Vector<String>& paramValues, const String& mimeType, bool loadManually) > { >-// qDebug()<<"------ Creating plugin in FrameLoaderClientQt::createPlugin for "<<url.prettyURL() << mimeType; >-// qDebug()<<"------\t url = "<<url.prettyURL(); >+ qDebug()<<"------ Creating plugin in FrameLoaderClientQt::createPlugin for "<<url.prettyURL() << mimeType; >+ qDebug()<<"------\t url = "<<url.prettyURL(); > > if (!m_webFrame) > return 0; >@@ -1148,6 +1150,7 @@ > } else { // NPAPI Plugins > PluginView* pluginView = PluginView::create(m_frame, pluginSize, element, url, > paramNames, paramValues, mimeType, loadManually); >+ qDebug() << "Create the PluginView: " << pluginView; > return pluginView; > } > >@@ -1156,16 +1159,19 @@ > > void FrameLoaderClientQt::redirectDataToPlugin(Widget* pluginWidget) > { >+ qDebug() << "FrameLoaderClientQt::redirectDataToPlugin"; > ASSERT(!m_pluginView); > m_pluginView = static_cast<PluginView*>(pluginWidget); > m_hasSentResponseToPlugin = false; > } > >-Widget* FrameLoaderClientQt::createJavaAppletWidget(const IntSize&, Element*, const KURL& baseURL, >+Widget* FrameLoaderClientQt::createJavaAppletWidget(const IntSize& pluginSize, Element* element, const KURL& baseURL, > const Vector<String>& paramNames, const Vector<String>& paramValues) > { >- notImplemented(); >- return 0; >+ qDebug() << "createJavaAppletWidget"; >+ //notImplemented(); >+ //return 0; >+ return createPlugin(pluginSize, element, baseURL, paramNames, paramValues, "application/x-java-applet", true); > } > > String FrameLoaderClientQt::overrideMediaType() const
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 33044
:
45643
|
47837
|
48989
|
49066
|
51212
|
51265
|
51268
|
55712