Changeset 66234 in webkit
- Timestamp:
- Aug 27, 2010 10:35:18 AM (14 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r66225 r66234 1 2010-08-27 Dawit Alemayehu <adawit@kde.org> 2 3 Reviewed by Simon Hausmann. 4 5 [Qt] Search the Windows registry for the location of the Java plugin DLL. 6 https://bugs.webkit.org/show_bug.cgi?id=38911 7 8 This change, in addition to the ones 34539 and 38911, is needed to 9 make Java applet work in QtWebKit on the Windows platform. 10 11 * plugins/win/PluginDatabaseWin.cpp: 12 (WebCore::addJavaPluginDirectory): 13 (WebCore::PluginDatabase::defaultPluginDirectories): 14 1 15 2010-08-27 Pavel Feldman <pfeldman@chromium.org> 2 16 -
trunk/WebCore/plugins/win/PluginDatabaseWin.cpp
r63966 r66234 333 333 } 334 334 335 static inline void addJavaPluginDirectory(Vector<String>& directories) 336 { 337 HKEY key; 338 HRESULT result = RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("Software\\JavaSoft\\Java Plug-in"), 0, KEY_READ, &key); 339 if (result != ERROR_SUCCESS) 340 return; 341 342 WCHAR name[128]; 343 FILETIME lastModified; 344 345 Vector<int> latestJavaVersion; 346 String latestJavaVersionString; 347 348 // Enumerate subkeys 349 for (int i = 0;; i++) { 350 DWORD nameLen = sizeof(name) / sizeof(WCHAR); 351 result = RegEnumKeyExW(key, i, name, &nameLen, 0, 0, 0, &lastModified); 352 353 if (result != ERROR_SUCCESS) 354 break; 355 356 Vector<int> javaVersion = parseVersionString(String(name, nameLen)); 357 if (compareVersions(javaVersion, latestJavaVersion)) { 358 latestJavaVersion = javaVersion; 359 latestJavaVersionString = String(name, nameLen); 360 } 361 } 362 363 if (!latestJavaVersionString.isEmpty()) { 364 DWORD type; 365 WCHAR javaInstallPathStr[_MAX_PATH]; 366 DWORD javaInstallPathSize = sizeof(javaInstallPathStr); 367 DWORD useNewPluginValue; 368 DWORD useNewPluginSize; 369 370 String javaPluginKeyPath = "Software\\JavaSoft\\Java Plug-in\\" + latestJavaVersionString; 371 result = SHGetValue(HKEY_LOCAL_MACHINE, javaPluginKeyPath.charactersWithNullTermination(), TEXT("UseNewJavaPlugin"), &type, (LPVOID)&useNewPluginValue, &useNewPluginSize); 372 373 if (result == ERROR_SUCCESS && useNewPluginValue == 1) { 374 result = SHGetValue(HKEY_LOCAL_MACHINE, javaPluginKeyPath.charactersWithNullTermination(), TEXT("JavaHome"), &type, (LPBYTE)javaInstallPathStr, &javaInstallPathSize); 375 if (result == ERROR_SUCCESS) { 376 String javaPluginDirectory = String(javaInstallPathStr, javaInstallPathSize / sizeof(WCHAR) - 1) + "\\bin\\new_plugin"; 377 directories.append(javaPluginDirectory); 378 } 379 } 380 } 381 382 RegCloseKey(key); 383 } 384 335 385 static inline String safariPluginsDirectory() 336 386 { … … 386 436 addWindowsMediaPlayerPluginDirectory(directories); 387 437 addMacromediaPluginDirectories(directories); 438 #if PLATFORM(QT) 439 addJavaPluginDirectory(directories); 440 #endif 388 441 389 442 return directories;
Note: See TracChangeset
for help on using the changeset viewer.