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

Reply via email to