Title: [183836] trunk
- Revision
- 183836
- Author
- [email protected]
- Date
- 2015-05-05 15:58:07 -0700 (Tue, 05 May 2015)
Log Message
[Content Extensions] Release input NSString when finished copying it.
https://bugs.webkit.org/show_bug.cgi?id=144642
Reviewed by Brian Weinstein.
Source/WebKit2:
* UIProcess/API/Cocoa/_WKUserContentExtensionStore.h:
* UIProcess/API/Cocoa/_WKUserContentExtensionStore.mm:
(-[_WKUserContentExtensionStore compileContentExtensionForIdentifier:encodedContentExtension:completionHandler:]):
Tools:
* WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::platformConfigureViewForTest):
Use alloc and initWithContentsOfURL to prevent over-releasing an autoreleased object.
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (183835 => 183836)
--- trunk/Source/WebKit2/ChangeLog 2015-05-05 22:44:30 UTC (rev 183835)
+++ trunk/Source/WebKit2/ChangeLog 2015-05-05 22:58:07 UTC (rev 183836)
@@ -1,5 +1,16 @@
2015-05-05 Alex Christensen <[email protected]>
+ [Content Extensions] Release input NSString when finished copying it.
+ https://bugs.webkit.org/show_bug.cgi?id=144642
+
+ Reviewed by Brian Weinstein.
+
+ * UIProcess/API/Cocoa/_WKUserContentExtensionStore.h:
+ * UIProcess/API/Cocoa/_WKUserContentExtensionStore.mm:
+ (-[_WKUserContentExtensionStore compileContentExtensionForIdentifier:encodedContentExtension:completionHandler:]):
+
+2015-05-05 Alex Christensen <[email protected]>
+
[Content Extensions] Use less memory to store the json input.
https://bugs.webkit.org/show_bug.cgi?id=144604
Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKUserContentExtensionStore.h (183835 => 183836)
--- trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKUserContentExtensionStore.h 2015-05-05 22:44:30 UTC (rev 183835)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKUserContentExtensionStore.h 2015-05-05 22:58:07 UTC (rev 183836)
@@ -34,7 +34,7 @@
+ (instancetype)defaultStore;
-- (void)compileContentExtensionForIdentifier:(NSString *)identifier encodedContentExtension:(NSString *)encodedContentExtension completionHandler:(void (^)(_WKUserContentFilter *, NSError *))completionHandler;
+- (void)compileContentExtensionForIdentifier:(NSString *)identifier encodedContentExtension:(NSString *) NS_RELEASES_ARGUMENT encodedContentExtension completionHandler:(void (^)(_WKUserContentFilter *, NSError *))completionHandler;
- (void)lookupContentExtensionForIdentifier:(NSString *)identifier completionHandler:(void (^)(_WKUserContentFilter *, NSError *))completionHandler;
- (void)removeContentExtensionForIdentifier:(NSString *)identifier completionHandler:(void (^)(NSError *))completionHandler;
Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKUserContentExtensionStore.mm (183835 => 183836)
--- trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKUserContentExtensionStore.mm 2015-05-05 22:44:30 UTC (rev 183835)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKUserContentExtensionStore.mm 2015-05-05 22:58:07 UTC (rev 183836)
@@ -50,7 +50,11 @@
{
auto handler = adoptNS([completionHandler copy]);
- _userContentExtensionStore->compileContentExtension(identifier, encodedContentExtension, [handler](RefPtr<API::UserContentExtension> contentExtension, std::error_code error) {
+ String json(encodedContentExtension);
+ [encodedContentExtension release];
+ encodedContentExtension = nil;
+
+ _userContentExtensionStore->compileContentExtension(identifier, WTF::move(json), [handler](RefPtr<API::UserContentExtension> contentExtension, std::error_code error) {
if (error) {
auto rawHandler = (void (^)(_WKUserContentFilter *, NSError *))handler.get();
Modified: trunk/Tools/ChangeLog (183835 => 183836)
--- trunk/Tools/ChangeLog 2015-05-05 22:44:30 UTC (rev 183835)
+++ trunk/Tools/ChangeLog 2015-05-05 22:58:07 UTC (rev 183836)
@@ -1,3 +1,14 @@
+2015-05-05 Alex Christensen <[email protected]>
+
+ [Content Extensions] Release input NSString when finished copying it.
+ https://bugs.webkit.org/show_bug.cgi?id=144642
+
+ Reviewed by Brian Weinstein.
+
+ * WebKitTestRunner/mac/TestControllerMac.mm:
+ (WTR::TestController::platformConfigureViewForTest):
+ Use alloc and initWithContentsOfURL to prevent over-releasing an autoreleased object.
+
2015-05-05 Brent Fulgham <[email protected]>
Unreviewed test fix after r183798.
Modified: trunk/Tools/WebKitTestRunner/mac/TestControllerMac.mm (183835 => 183836)
--- trunk/Tools/WebKitTestRunner/mac/TestControllerMac.mm 2015-05-05 22:44:30 UTC (rev 183835)
+++ trunk/Tools/WebKitTestRunner/mac/TestControllerMac.mm 2015-05-05 22:58:07 UTC (rev 183836)
@@ -113,6 +113,7 @@
ensureViewSupportsOptions(viewOptions.get());
+#if WK_API_ENABLED
if (!test.urlContains("contentextensions/"))
return;
@@ -120,11 +121,10 @@
NSURL *filterURL = [(NSURL *)testURL.get() URLByAppendingPathExtension:@"json"];
NSStringEncoding encoding;
- NSString *contentExtensionString = [NSString stringWithContentsOfURL:filterURL usedEncoding:&encoding error:NULL];
+ NSString *contentExtensionString = [[NSString alloc] initWithContentsOfURL:filterURL usedEncoding:&encoding error:NULL];
if (!contentExtensionString)
return;
-#if WK_API_ENABLED
__block bool doneCompiling = false;
[[_WKUserContentExtensionStore defaultStore] compileContentExtensionForIdentifier:@"TestContentExtensions" encodedContentExtension:contentExtensionString completionHandler:^(_WKUserContentFilter *filter, NSError *error)
{
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes