Title: [218719] trunk/Tools
- Revision
- 218719
- Author
- [email protected]
- Date
- 2017-06-22 14:36:02 -0700 (Thu, 22 Jun 2017)
Log Message
REGRESSION (r218419): 7 leaks in PluginLoadClientPolicies.mm
<https://webkit.org/b/173721>
Reviewed by Joseph Pecoraro.
Use RetainPtr<> to create NSMutableDictionary and NSNumber
objects to fix leaks and to avoid the autoreleasepool.
* TestWebKitAPI/Tests/WebKit2Cocoa/PluginLoadClientPolicies.mm:
(TEST):
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (218718 => 218719)
--- trunk/Tools/ChangeLog 2017-06-22 21:12:01 UTC (rev 218718)
+++ trunk/Tools/ChangeLog 2017-06-22 21:36:02 UTC (rev 218719)
@@ -1,3 +1,16 @@
+2017-06-22 David Kilzer <[email protected]>
+
+ REGRESSION (r218419): 7 leaks in PluginLoadClientPolicies.mm
+ <https://webkit.org/b/173721>
+
+ Reviewed by Joseph Pecoraro.
+
+ Use RetainPtr<> to create NSMutableDictionary and NSNumber
+ objects to fix leaks and to avoid the autoreleasepool.
+
+ * TestWebKitAPI/Tests/WebKit2Cocoa/PluginLoadClientPolicies.mm:
+ (TEST):
+
2017-06-22 Matt Lewis <[email protected]>
Unreviewed, rolling out r218633.
Modified: trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/PluginLoadClientPolicies.mm (218718 => 218719)
--- trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/PluginLoadClientPolicies.mm 2017-06-22 21:12:01 UTC (rev 218718)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/PluginLoadClientPolicies.mm 2017-06-22 21:36:02 UTC (rev 218719)
@@ -32,6 +32,7 @@
#import <WebKit/WKContextPrivateMac.h>
#import <WebKit/WKPluginInformation.h>
#import <WebKit/WKProcessPoolPrivate.h>
+#import <wtf/RetainPtr.h>
#if WK_API_ENABLED
@@ -67,16 +68,16 @@
EXPECT_EQ(1U, ((NSDictionary *)policiesForAppleHost[@"com.microsoft.SilverlightPlugin"]).count);
EXPECT_EQ(kWKPluginLoadClientPolicyAllow, [policiesForAppleHost[@"com.microsoft.SilverlightPlugin"][@"5.1.50901.0"] unsignedIntegerValue]);
- NSMutableDictionary *newPolicies = [policies mutableCopy];
- [newPolicies removeObjectForKey:@"apple.com"];
- newPolicies[@"google.com"] = [[NSMutableDictionary alloc] init];
- newPolicies[@"google.com"][@"com.macromedia.Flash Player.plugin"] = [[NSMutableDictionary alloc] init];
- newPolicies[@"google.com"][@"com.macromedia.Flash Player.plugin"][@"26.0.0.126"] = [[NSNumber alloc] initWithUnsignedInt:kWKPluginLoadClientPolicyAllowAlways];
- newPolicies[@"google.com"][@"com.apple.QuickTime.plugin"] = [[NSMutableDictionary alloc] init];
- newPolicies[@"google.com"][@"com.apple.QuickTime.plugin"][@"1.0"] = [[NSNumber alloc] initWithUnsignedInt:kWKPluginLoadClientPolicyBlock];
- newPolicies[@"google.com"][@"com.apple.QuickTime.plugin"][@"1.1"] = [[NSNumber alloc] initWithUnsignedInt:kWKPluginLoadClientPolicyAllow];
+ RetainPtr<NSMutableDictionary> newPolicies = adoptNS([policies mutableCopy]);
+ [newPolicies.get() removeObjectForKey:@"apple.com"];
+ newPolicies.get()[@"google.com"] = adoptNS([[NSMutableDictionary alloc] initWithCapacity:2]).get();
+ newPolicies.get()[@"google.com"][@"com.macromedia.Flash Player.plugin"] = adoptNS([[NSMutableDictionary alloc] initWithCapacity:1]).get();
+ newPolicies.get()[@"google.com"][@"com.macromedia.Flash Player.plugin"][@"26.0.0.126"] = adoptNS([[NSNumber alloc] initWithUnsignedInt:kWKPluginLoadClientPolicyAllowAlways]).get();
+ newPolicies.get()[@"google.com"][@"com.apple.QuickTime.plugin"] = adoptNS([[NSMutableDictionary alloc] initWithCapacity:2]).get();
+ newPolicies.get()[@"google.com"][@"com.apple.QuickTime.plugin"][@"1.0"] = adoptNS([[NSNumber alloc] initWithUnsignedInt:kWKPluginLoadClientPolicyBlock]).get();
+ newPolicies.get()[@"google.com"][@"com.apple.QuickTime.plugin"][@"1.1"] = adoptNS([[NSNumber alloc] initWithUnsignedInt:kWKPluginLoadClientPolicyAllow]).get();
- [processPool.get() _resetPluginLoadClientPolicies:newPolicies];
+ [processPool.get() _resetPluginLoadClientPolicies:newPolicies.get()];
policies = processPool.get()._pluginLoadClientPolicies;
EXPECT_EQ(2U, policies.count);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes