Properly report errors from _WKUserContentExtensionStore.
authorachristensen@apple.com <achristensen@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 20 Apr 2015 16:13:07 +0000 (16:13 +0000)
committerachristensen@apple.com <achristensen@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 20 Apr 2015 16:13:07 +0000 (16:13 +0000)
https://bugs.webkit.org/show_bug.cgi?id=143808

Reviewed by Darin Adler.

Source/WebKit2:

* UIProcess/API/Cocoa/_WKUserContentExtensionStore.mm:
(-[_WKUserContentExtensionStore compileContentExtensionForIdentifier:encodedContentExtension:completionHandler:]):
(-[_WKUserContentExtensionStore lookupContentExtensionForIdentifier:completionHandler:]):
(-[_WKUserContentExtensionStore removeContentExtensionForIdentifier:completionHandler:]):

Tools:

* TestWebKitAPI/Tests/WebKit2Cocoa/_WKUserContentExtensionStore.mm:
(TEST_F):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183013 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit2/ChangeLog
Source/WebKit2/UIProcess/API/Cocoa/_WKUserContentExtensionStore.mm
Tools/ChangeLog
Tools/TestWebKitAPI/Tests/WebKit2Cocoa/_WKUserContentExtensionStore.mm

index 110a233..4dc18fc 100644 (file)
@@ -1,3 +1,15 @@
+2015-04-20  Alex Christensen  <achristensen@webkit.org>
+
+        Properly report errors from _WKUserContentExtensionStore.
+        https://bugs.webkit.org/show_bug.cgi?id=143808
+
+        Reviewed by Darin Adler.
+
+        * UIProcess/API/Cocoa/_WKUserContentExtensionStore.mm:
+        (-[_WKUserContentExtensionStore compileContentExtensionForIdentifier:encodedContentExtension:completionHandler:]):
+        (-[_WKUserContentExtensionStore lookupContentExtensionForIdentifier:completionHandler:]):
+        (-[_WKUserContentExtensionStore removeContentExtensionForIdentifier:completionHandler:]):
+
 2015-04-18  Simon Fraser  <simon.fraser@apple.com>
 
         REGRESSION (r181656): Animated tiled layers are missing content
index 5e3a6fe..5b1bd5d 100644 (file)
@@ -30,6 +30,7 @@
 
 #import "WKErrorInternal.h"
 #import "_WKUserContentFilterInternal.h"
+#import <string>
 
 @implementation _WKUserContentExtensionStore
 
@@ -53,9 +54,8 @@
         if (error) {
             auto rawHandler = (void (^)(_WKUserContentFilter *, NSError *))handler.get();
             
-            // FIXME: Pass real error.
-            auto error = createNSError(WKErrorUnknown);
-            rawHandler(nil, error.get());
+            auto userInfo = @{NSHelpAnchorErrorKey: [NSString stringWithFormat:@"Extension compilation failed: %s", error.message().c_str()]};
+            rawHandler(nil, [NSError errorWithDomain:@"ContentExtensionsDomain" code:error.value() userInfo:userInfo]);
             return;
         }
 
@@ -72,9 +72,8 @@
         if (error) {
             auto rawHandler = (void (^)(_WKUserContentFilter *, NSError *))handler.get();
 
-            // FIXME: Pass real error.
-            auto error = createNSError(WKErrorUnknown);
-            rawHandler(nil, error.get());
+            auto userInfo = @{NSHelpAnchorErrorKey: [NSString stringWithFormat:@"Extension lookup failed: %s", error.message().c_str()]};
+            rawHandler(nil, [NSError errorWithDomain:@"ContentExtensionsDomain" code:error.value() userInfo:userInfo]);
             return;
         }
 
@@ -91,9 +90,8 @@
         if (error) {
             auto rawHandler = (void (^)(NSError *))handler.get();
 
-            // FIXME: Pass real error.
-            auto error = createNSError(WKErrorUnknown);
-            rawHandler(error.get());
+            auto userInfo = @{NSHelpAnchorErrorKey: [NSString stringWithFormat:@"Extension removal failed: %s", error.message().c_str()]};
+            rawHandler([NSError errorWithDomain:@"ContentExtensionsDomain" code:error.value() userInfo:userInfo]);
             return;
         }
 
index dcb59ab..eca6f0e 100644 (file)
@@ -1,3 +1,13 @@
+2015-04-20  Alex Christensen  <achristensen@webkit.org>
+
+        Properly report errors from _WKUserContentExtensionStore.
+        https://bugs.webkit.org/show_bug.cgi?id=143808
+
+        Reviewed by Darin Adler.
+
+        * TestWebKitAPI/Tests/WebKit2Cocoa/_WKUserContentExtensionStore.mm:
+        (TEST_F):
+
 2015-04-20  Carlos Garcia Campos  <cgarcia@igalia.com>
 
         Add a rule for NetworkCache to watchlist file
index 5dc70fa..dea0fe2 100644 (file)
@@ -65,6 +65,7 @@ TEST_F(_WKUserContentExtensionStoreTest, InvalidExtension)
     
         EXPECT_NULL(filter);
         EXPECT_NOT_NULL(error);
+        EXPECT_STREQ("Extension compilation failed: Failed to parse the JSON String.", [[error helpAnchor] UTF8String]);
 
         doneCompiling = true;
     }];
@@ -101,6 +102,7 @@ TEST_F(_WKUserContentExtensionStoreTest, NonExistingIdentifierLookup)
     
         EXPECT_NULL(filter);
         EXPECT_NOT_NULL(error);
+        EXPECT_STREQ("Extension lookup failed: Unspecified error during lookup.", [[error helpAnchor] UTF8String]);
 
         doneLookingUp = true;
     }];
@@ -133,6 +135,7 @@ TEST_F(_WKUserContentExtensionStoreTest, NonExistingIdentifierRemove)
     __block bool doneRemoving = false;
     [[_WKUserContentExtensionStore defaultStore] removeContentExtensionForIdentifier:@"DoesNotExist" completionHandler:^(NSError *error) {
         EXPECT_NOT_NULL(error);
+        EXPECT_STREQ("Extension removal failed: Unspecified error during remove.", [[error helpAnchor] UTF8String]);
 
         doneRemoving = true;
     }];