Changeset 116695 in webkit
- Timestamp:
- May 10, 2012 3:45:41 PM (12 years ago)
- Location:
- trunk
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r116694 r116695 1 2012-05-10 Anders Carlsson <andersca@apple.com> 2 3 WebKit1: Add a way to blacklist specific plug-ins/plug-in versions 4 https://bugs.webkit.org/show_bug.cgi?id=86150 5 <rdar://problem/9551196> 6 7 Reviewed by Sam Weinig. 8 9 * English.lproj/Localizable.strings: 10 Update. 11 12 * loader/SubframeLoader.cpp: 13 (WebCore::SubframeLoader::loadPlugin): 14 It is possible that the client has already set the unavailability reason so don't try to set it twice. 15 16 * platform/LocalizedStrings.cpp: 17 (WebCore::insecurePluginVersionText): 18 * platform/LocalizedStrings.h: 19 Add insecure plug-in version text. 20 21 * rendering/RenderEmbeddedObject.cpp: 22 (WebCore::RenderEmbeddedObject::unavailablePluginReplacementText): 23 * rendering/RenderEmbeddedObject.h: 24 Add InsecurePluginVersion unavailability reason. 25 1 26 2012-05-10 Eric Seidel <eric@webkit.org> 2 27 -
trunk/Source/WebCore/English.lproj/Localizable.strings
r112487 r116695 173 173 "Indent (Undo action name)" = "Indent"; 174 174 175 /* Label text to be used when an insecure plug-in version was blocked from loading */ 176 "Insecure Plug-In Version" = "Insecure Plug-In Version"; 177 175 178 /* Undo action name */ 176 179 "Insert List (Undo action name)" = "Insert List"; -
trunk/Source/WebCore/loader/SubframeLoader.cpp
r116687 r116695 377 377 378 378 if (!widget) { 379 renderer->setPluginUnavailabilityReason(RenderEmbeddedObject::PluginMissing); 379 if (!renderer->showsUnavailablePluginIndicator()) 380 renderer->setPluginUnavailabilityReason(RenderEmbeddedObject::PluginMissing); 380 381 return false; 381 382 } -
trunk/Source/WebCore/platform/LocalizedStrings.cpp
r111041 r116695 674 674 } 675 675 676 String insecurePluginVersionText() 677 { 678 return WEB_UI_STRING("Insecure Plug-In Version", "Label text to be used when an insecure plug-in version was blocked from loading"); 679 } 680 676 681 String multipleFileUploadText(unsigned numberOfFiles) 677 682 { -
trunk/Source/WebCore/platform/LocalizedStrings.h
r114999 r116695 168 168 String missingPluginText(); 169 169 String crashedPluginText(); 170 String insecurePluginVersionText(); 170 171 String multipleFileUploadText(unsigned numberOfFiles); 171 172 String unknownFileSizeText(); -
trunk/Source/WebCore/rendering/RenderEmbeddedObject.cpp
r116687 r116695 215 215 case PluginCrashed: 216 216 return crashedPluginText(); 217 case InsecurePluginVersion: 218 return insecurePluginVersionText(); 217 219 } 218 220 -
trunk/Source/WebCore/rendering/RenderEmbeddedObject.h
r116687 r116695 40 40 PluginMissing, 41 41 PluginCrashed, 42 InsecurePluginVersion 42 43 }; 43 44 void setPluginUnavailabilityReason(PluginUnavailabilityReason); -
trunk/Source/WebKit/mac/ChangeLog
r116687 r116695 1 2012-05-10 Anders Carlsson <andersca@apple.com> 2 3 WebKit1: Add a way to blacklist specific plug-ins/plug-in versions 4 https://bugs.webkit.org/show_bug.cgi?id=86150 5 <rdar://problem/9551196> 6 7 Reviewed by Sam Weinig. 8 9 * Misc/WebKitErrors.h: 10 Add WebKitErrorInsecurePlugInVersion enum. 11 12 * Plugins/WebBasePluginPackage.h: 13 * Plugins/WebBasePluginPackage.mm: 14 (-[WebBasePluginPackage bundleIdentifier]): 15 (-[WebBasePluginPackage bundleVersion]): 16 Add bundleIdentifier and bundleVersion getters. 17 18 * WebCoreSupport/WebFrameLoaderClient.mm: 19 (WebFrameLoaderClient::createPlugin): 20 Check if the plug-in is blocked. If it is, set the unavailability reason and the error code. 21 1 22 2012-05-10 Anders Carlsson <andersca@apple.com> 2 23 -
trunk/Source/WebKit/mac/Misc/WebKitErrors.h
r12070 r116695 57 57 WebKitErrorCannotLoadPlugIn = 201, 58 58 WebKitErrorJavaUnavailable = 202, 59 WebKitErrorInsecurePlugInVersion = 203, 59 60 }; -
trunk/Source/WebKit/mac/Plugins/WebBasePluginPackage.h
r65021 r116695 78 78 - (const WebCore::PluginInfo&)pluginInfo; 79 79 80 - (WTF::String)bundleIdentifier; 80 - (String)bundleIdentifier; 81 - (String)bundleVersion; 81 82 82 83 - (BOOL)supportsExtension:(const WTF::String&)extension; -
trunk/Source/WebKit/mac/Plugins/WebBasePluginPackage.mm
r105552 r116695 464 464 } 465 465 466 - ( WTF::String)bundleIdentifier466 - (String)bundleIdentifier 467 467 { 468 468 return CFBundleGetIdentifier(cfBundle.get()); 469 } 470 471 - (String)bundleVersion 472 { 473 CFDictionaryRef infoDictionary = CFBundleGetInfoDictionary(cfBundle.get()); 474 if (!infoDictionary) 475 return String(); 476 477 CFTypeRef bundleVersionString = CFDictionaryGetValue(infoDictionary, kCFBundleVersionKey); 478 if (!bundleVersionString || CFGetTypeID(bundleVersionString) != CFStringGetTypeID()) 479 return String(); 480 481 return reinterpret_cast<CFStringRef>(bundleVersionString); 469 482 } 470 483 -
trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
r112474 r116695 1666 1666 1667 1667 if (pluginPackage) { 1668 if ([pluginPackage isKindOfClass:[WebPluginPackage class]]) 1669 view = pluginView(m_webFrame.get(), (WebPluginPackage *)pluginPackage, attributeKeys, kit(paramValues), baseURL, kit(element), loadManually); 1670 1668 if (!WKShouldBlockPlugin([pluginPackage bundleIdentifier], [pluginPackage bundleVersion])) { 1669 if ([pluginPackage isKindOfClass:[WebPluginPackage class]]) 1670 view = pluginView(m_webFrame.get(), (WebPluginPackage *)pluginPackage, attributeKeys, kit(paramValues), baseURL, kit(element), loadManually); 1671 1671 1672 #if ENABLE(NETSCAPE_PLUGIN_API) 1672 else if ([pluginPackage isKindOfClass:[WebNetscapePluginPackage class]]) {1673 WebBaseNetscapePluginView *pluginView = [[[NETSCAPE_PLUGIN_VIEW alloc]1674 initWithFrame:NSMakeRect(0, 0, size.width(), size.height())1675 pluginPackage:(WebNetscapePluginPackage *)pluginPackage1676 URL:pluginURL1677 baseURL:baseURL1678 MIMEType:MIMEType1679 attributeKeys:attributeKeys1680 attributeValues:kit(paramValues)1681 loadManually:loadManually1682 element:element] autorelease];1683 1684 return adoptRef(new NetscapePluginWidget(pluginView));1685 }1673 else if ([pluginPackage isKindOfClass:[WebNetscapePluginPackage class]]) { 1674 WebBaseNetscapePluginView *pluginView = [[[NETSCAPE_PLUGIN_VIEW alloc] 1675 initWithFrame:NSMakeRect(0, 0, size.width(), size.height()) 1676 pluginPackage:(WebNetscapePluginPackage *)pluginPackage 1677 URL:pluginURL 1678 baseURL:baseURL 1679 MIMEType:MIMEType 1680 attributeKeys:attributeKeys 1681 attributeValues:kit(paramValues) 1682 loadManually:loadManually 1683 element:element] autorelease]; 1684 1685 return adoptRef(new NetscapePluginWidget(pluginView)); 1686 } 1686 1687 #endif 1688 } else { 1689 errorCode = WebKitErrorInsecurePlugInVersion; 1690 if (element->renderer()->isEmbeddedObject()) 1691 toRenderEmbeddedObject(element->renderer())->setPluginUnavailabilityReason(RenderEmbeddedObject::InsecurePluginVersion); 1692 } 1687 1693 } else 1688 1694 errorCode = WebKitErrorCannotFindPlugIn; -
trunk/WebKitLibraries/ChangeLog
r116473 r116695 1 2012-05-10 Anders Carlsson <andersca@apple.com> 2 3 WebKit1: Add a way to blacklist specific plug-ins/plug-in versions 4 https://bugs.webkit.org/show_bug.cgi?id=86150 5 <rdar://problem/9551196> 6 7 Reviewed by Sam Weinig. 8 9 Add WKShouldBlockPlugin. 10 11 * WebKitSystemInterface.h: 12 * libWebKitSystemInterfaceLion.a: 13 * libWebKitSystemInterfaceSnowLeopard.a: 14 1 15 2012-05-08 Jon Lee <jonlee@apple.com> 2 16 -
trunk/WebKitLibraries/WebKitSystemInterface.h
r116473 r116695 93 93 void WKUnregisterUniqueIdForElement(id element); 94 94 95 BOOL WKShouldBlockPlugin(NSString *bundleIdentifier, NSString *bundleVersionString); 95 96 96 97 #if MAC_OS_X_VERSION_MIN_REQUIRED >= 1060
Note: See TracChangeset
for help on using the changeset viewer.