[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
commit-queue at webkit.org
commit-queue at webkit.org
Wed Dec 22 12:42:42 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit b12578efcd26b73247bdaa7a462729d77ce69860
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Aug 27 17:35:18 2010 +0000
2010-08-27 Dawit Alemayehu <adawit at kde.org>
Reviewed by Simon Hausmann.
[Qt] Search the Windows registry for the location of the Java plugin DLL.
https://bugs.webkit.org/show_bug.cgi?id=38911
This change, in addition to the ones 34539 and 38911, is needed to
make Java applet work in QtWebKit on the Windows platform.
* plugins/win/PluginDatabaseWin.cpp:
(WebCore::addJavaPluginDirectory):
(WebCore::PluginDatabase::defaultPluginDirectories):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@66234 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index c7017b2..233a4d2 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,17 @@
+2010-08-27 Dawit Alemayehu <adawit at kde.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Search the Windows registry for the location of the Java plugin DLL.
+ https://bugs.webkit.org/show_bug.cgi?id=38911
+
+ This change, in addition to the ones 34539 and 38911, is needed to
+ make Java applet work in QtWebKit on the Windows platform.
+
+ * plugins/win/PluginDatabaseWin.cpp:
+ (WebCore::addJavaPluginDirectory):
+ (WebCore::PluginDatabase::defaultPluginDirectories):
+
2010-08-27 Pavel Feldman <pfeldman at chromium.org>
Reviewed by Yury Semikhatsky.
diff --git a/WebCore/plugins/win/PluginDatabaseWin.cpp b/WebCore/plugins/win/PluginDatabaseWin.cpp
index 5d86117..6cbcdc8 100644
--- a/WebCore/plugins/win/PluginDatabaseWin.cpp
+++ b/WebCore/plugins/win/PluginDatabaseWin.cpp
@@ -332,6 +332,56 @@ static inline void addAdobeAcrobatPluginDirectory(Vector<String>& directories)
RegCloseKey(key);
}
+static inline void addJavaPluginDirectory(Vector<String>& directories)
+{
+ 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;
+
+ // 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);
+ }
+ }
+
+ if (!latestJavaVersionString.isEmpty()) {
+ 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 && 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);
+ }
+ }
+ }
+
+ RegCloseKey(key);
+}
+
static inline String safariPluginsDirectory()
{
WCHAR moduleFileNameStr[_MAX_PATH];
@@ -385,6 +435,9 @@ Vector<String> PluginDatabase::defaultPluginDirectories()
addMozillaPluginDirectories(directories);
addWindowsMediaPlayerPluginDirectory(directories);
addMacromediaPluginDirectories(directories);
+#if PLATFORM(QT)
+ addJavaPluginDirectory(directories);
+#endif
return directories;
}
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list