Title: [219533] trunk
Revision
219533
Author
[email protected]
Date
2017-07-14 16:13:33 -0700 (Fri, 14 Jul 2017)

Log Message

Source/WebKit:
-[WKWebProcessBundleParameters setParametersForKeyWithDictionary:] passing wrong parameters to -setParameter:forKey
https://bugs.webkit.org/show_bug.cgi?id=174524

Reviewed by Sam Weinig.

* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.mm:
(-[WKWebProcessBundleParameters setParametersForKeyWithDictionary:]):
Pass the dictionary key and value in the correct order.

Tools:
Add test for -[WKProcessPool _setObjectsForBundleParametersWithDictionary:].
https://bugs.webkit.org/show_bug.cgi?id=174524

Reviewed by Sam Weinig.

* TestWebKitAPI/Tests/WebKit2Cocoa/BundleParameters.mm:
(TEST):
Renamed TestParameter to TestParameter1.
Add test for -[WKProcessPool _setObjectsForBundleParametersWithDictionary:].

* TestWebKitAPI/Tests/WebKit2Cocoa/BundleParametersPlugIn.mm:
(-[BundleParametersPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
Observe changes for two bundle parameters.

(-[BundleParametersPlugIn dealloc]):
Remove observers for two bundle parameters.

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (219532 => 219533)


--- trunk/Source/WebKit/ChangeLog	2017-07-14 23:03:13 UTC (rev 219532)
+++ trunk/Source/WebKit/ChangeLog	2017-07-14 23:13:33 UTC (rev 219533)
@@ -1,3 +1,14 @@
+2017-07-14  Jeff Miller  <[email protected]>
+
+        -[WKWebProcessBundleParameters setParametersForKeyWithDictionary:] passing wrong parameters to -setParameter:forKey
+        https://bugs.webkit.org/show_bug.cgi?id=174524
+
+        Reviewed by Sam Weinig.
+
+        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.mm:
+        (-[WKWebProcessBundleParameters setParametersForKeyWithDictionary:]):
+        Pass the dictionary key and value in the correct order.
+
 2017-07-14  Brent Fulgham  <[email protected]>
 
         Monitor directory for new statistics files after a delete operation

Modified: trunk/Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.mm (219532 => 219533)


--- trunk/Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.mm	2017-07-14 23:03:13 UTC (rev 219532)
+++ trunk/Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.mm	2017-07-14 23:13:33 UTC (rev 219533)
@@ -64,7 +64,7 @@
 - (void)setParametersForKeyWithDictionary:(NSDictionary *)dictionary
 {
     [dictionary enumerateKeysAndObjectsUsingBlock:^(NSString *key, id parameter, BOOL*) {
-        [self setParameter:key forKey:parameter];
+        [self setParameter:parameter forKey:key];
     }];
 }
 

Modified: trunk/Tools/ChangeLog (219532 => 219533)


--- trunk/Tools/ChangeLog	2017-07-14 23:03:13 UTC (rev 219532)
+++ trunk/Tools/ChangeLog	2017-07-14 23:13:33 UTC (rev 219533)
@@ -1,3 +1,22 @@
+2017-07-14  Jeff Miller  <[email protected]>
+
+        Add test for -[WKProcessPool _setObjectsForBundleParametersWithDictionary:].
+        https://bugs.webkit.org/show_bug.cgi?id=174524
+
+        Reviewed by Sam Weinig.
+
+        * TestWebKitAPI/Tests/WebKit2Cocoa/BundleParameters.mm:
+        (TEST):
+        Renamed TestParameter to TestParameter1.
+        Add test for -[WKProcessPool _setObjectsForBundleParametersWithDictionary:].
+
+        * TestWebKitAPI/Tests/WebKit2Cocoa/BundleParametersPlugIn.mm:
+        (-[BundleParametersPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
+        Observe changes for two bundle parameters.
+
+        (-[BundleParametersPlugIn dealloc]):
+        Remove observers for two bundle parameters.
+
 2017-07-14  Commit Queue  <[email protected]>
 
         Unreviewed, rolling out r219510.

Modified: trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/BundleParameters.mm (219532 => 219533)


--- trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/BundleParameters.mm	2017-07-14 23:03:13 UTC (rev 219532)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/BundleParameters.mm	2017-07-14 23:13:33 UTC (rev 219533)
@@ -51,8 +51,8 @@
         TestWebKitAPI::Util::run(&isDone);
         isDone = false;
 
-        NSString * const testParameter = @"TestParameter";
-        [webView evaluateJavaScript:testParameter completionHandler:^(id result, NSError *error) {
+        NSString * const testParameter1 = @"TestParameter1";
+        [webView evaluateJavaScript:testParameter1 completionHandler:^(id result, NSError *error) {
             EXPECT_NULL(result);
             isDone = true;
         }];
@@ -61,8 +61,8 @@
         isDone = false;
 
         NSString * const testString = @"PASS";
-        [[configuration processPool] _setObject:testString forBundleParameter:testParameter];
-        [webView evaluateJavaScript:testParameter completionHandler:^(id result, NSError *error) {
+        [[configuration processPool] _setObject:testString forBundleParameter:testParameter1];
+        [webView evaluateJavaScript:testParameter1 completionHandler:^(id result, NSError *error) {
             EXPECT_TRUE([result isKindOfClass:[NSString class]]);
             EXPECT_WK_STREQ(result, testString);
             isDone = true;
@@ -72,8 +72,8 @@
         isDone = false;
 
         NSDictionary * const testDictionary = @{ @"result" : @"PASS" };
-        [[configuration processPool] _setObject:testDictionary forBundleParameter:testParameter];
-        [webView evaluateJavaScript:testParameter completionHandler:^(id result, NSError *error) {
+        [[configuration processPool] _setObject:testDictionary forBundleParameter:testParameter1];
+        [webView evaluateJavaScript:testParameter1 completionHandler:^(id result, NSError *error) {
             EXPECT_TRUE([result isKindOfClass:[NSDictionary class]]);
             EXPECT_TRUE([result isEqualToDictionary:testDictionary]);
             isDone = true;
@@ -82,13 +82,35 @@
         TestWebKitAPI::Util::run(&isDone);
         isDone = false;
 
-        [[configuration processPool] _setObject:nil forBundleParameter:testParameter];
-        [webView evaluateJavaScript:testParameter completionHandler:^(id result, NSError *error) {
+        [[configuration processPool] _setObject:nil forBundleParameter:testParameter1];
+        [webView evaluateJavaScript:testParameter1 completionHandler:^(id result, NSError *error) {
             EXPECT_NULL(result);
             isDone = true;
         }];
 
         TestWebKitAPI::Util::run(&isDone);
+        isDone = false;
+
+        NSString * const testParameter2 = @"TestParameter2";
+        NSDictionary * const testBundleParametersDictionary = @{ testParameter1 : testString, testParameter2 : testString };
+
+        [[configuration processPool] _setObjectsForBundleParametersWithDictionary:testBundleParametersDictionary];
+        [webView evaluateJavaScript:testParameter1 completionHandler:^(id result, NSError *error) {
+            EXPECT_TRUE([result isKindOfClass:[NSString class]]);
+            EXPECT_WK_STREQ(result, testString);
+            isDone = true;
+        }];
+
+        TestWebKitAPI::Util::run(&isDone);
+        isDone = false;
+
+        [webView evaluateJavaScript:testParameter2 completionHandler:^(id result, NSError *error) {
+            EXPECT_TRUE([result isKindOfClass:[NSString class]]);
+            EXPECT_WK_STREQ(result, testString);
+            isDone = true;
+        }];
+
+        TestWebKitAPI::Util::run(&isDone);
     }
 }
 

Modified: trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/BundleParametersPlugIn.mm (219532 => 219533)


--- trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/BundleParametersPlugIn.mm	2017-07-14 23:03:13 UTC (rev 219532)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/BundleParametersPlugIn.mm	2017-07-14 23:13:33 UTC (rev 219533)
@@ -34,7 +34,8 @@
 #import <WebKit/WKWebProcessPlugInScriptWorld.h>
 #import <wtf/RetainPtr.h>
 
-static NSString * const testParameter = @"TestParameter";
+static NSString * const testParameter1 = @"TestParameter1";
+static NSString * const testParameter2 = @"TestParameter2";
 
 @interface BundleParametersPlugIn : NSObject <WKWebProcessPlugIn>
 @end
@@ -50,13 +51,15 @@
     ASSERT(!_plugInController);
     _browserContextController = browserContextController;
     _plugInController = plugInController;
-    [plugInController.parameters addObserver:self forKeyPath:testParameter options:NSKeyValueObservingOptionInitial context:NULL];
+    [plugInController.parameters addObserver:self forKeyPath:testParameter1 options:NSKeyValueObservingOptionInitial context:NULL];
+    [plugInController.parameters addObserver:self forKeyPath:testParameter2 options:NSKeyValueObservingOptionInitial context:NULL];
     [plugInController.parameters addObserver:self forKeyPath:TestWebKitAPI::Util::TestPlugInClassNameParameter options:NSKeyValueObservingOptionInitial context:NULL];
 }
 
 - (void)dealloc
 {
-    [[_plugInController parameters] removeObserver:self forKeyPath:testParameter];
+    [[_plugInController parameters] removeObserver:self forKeyPath:testParameter1];
+    [[_plugInController parameters] removeObserver:self forKeyPath:testParameter2];
     [[_plugInController parameters] removeObserver:self forKeyPath:TestWebKitAPI::Util::TestPlugInClassNameParameter];
     [super dealloc];
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to