Changeset 219533 in webkit


Ignore:
Timestamp:
Jul 14, 2017 4:13:33 PM (7 years ago)
Author:
jeffm@apple.com
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.

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r219530 r219533  
     12017-07-14  Jeff Miller  <jeffm@apple.com>
     2
     3        -[WKWebProcessBundleParameters setParametersForKeyWithDictionary:] passing wrong parameters to -setParameter:forKey
     4        https://bugs.webkit.org/show_bug.cgi?id=174524
     5
     6        Reviewed by Sam Weinig.
     7
     8        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.mm:
     9        (-[WKWebProcessBundleParameters setParametersForKeyWithDictionary:]):
     10        Pass the dictionary key and value in the correct order.
     11
    1122017-07-14  Brent Fulgham  <bfulgham@apple.com>
    213
  • trunk/Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.mm

    r190678 r219533  
    6565{
    6666    [dictionary enumerateKeysAndObjectsUsingBlock:^(NSString *key, id parameter, BOOL*) {
    67         [self setParameter:key forKey:parameter];
     67        [self setParameter:parameter forKey:key];
    6868    }];
    6969}
  • trunk/Tools/ChangeLog

    r219521 r219533  
     12017-07-14  Jeff Miller  <jeffm@apple.com>
     2
     3        Add test for -[WKProcessPool _setObjectsForBundleParametersWithDictionary:].
     4        https://bugs.webkit.org/show_bug.cgi?id=174524
     5
     6        Reviewed by Sam Weinig.
     7
     8        * TestWebKitAPI/Tests/WebKit2Cocoa/BundleParameters.mm:
     9        (TEST):
     10        Renamed TestParameter to TestParameter1.
     11        Add test for -[WKProcessPool _setObjectsForBundleParametersWithDictionary:].
     12
     13        * TestWebKitAPI/Tests/WebKit2Cocoa/BundleParametersPlugIn.mm:
     14        (-[BundleParametersPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
     15        Observe changes for two bundle parameters.
     16
     17        (-[BundleParametersPlugIn dealloc]):
     18        Remove observers for two bundle parameters.
     19
    1202017-07-14  Commit Queue  <commit-queue@webkit.org>
    221
  • trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/BundleParameters.mm

    r216203 r219533  
    5252        isDone = false;
    5353
    54         NSString * const testParameter = @"TestParameter";
    55         [webView evaluateJavaScript:testParameter completionHandler:^(id result, NSError *error) {
     54        NSString * const testParameter1 = @"TestParameter1";
     55        [webView evaluateJavaScript:testParameter1 completionHandler:^(id result, NSError *error) {
    5656            EXPECT_NULL(result);
    5757            isDone = true;
     
    6262
    6363        NSString * const testString = @"PASS";
    64         [[configuration processPool] _setObject:testString forBundleParameter:testParameter];
    65         [webView evaluateJavaScript:testParameter completionHandler:^(id result, NSError *error) {
     64        [[configuration processPool] _setObject:testString forBundleParameter:testParameter1];
     65        [webView evaluateJavaScript:testParameter1 completionHandler:^(id result, NSError *error) {
    6666            EXPECT_TRUE([result isKindOfClass:[NSString class]]);
    6767            EXPECT_WK_STREQ(result, testString);
     
    7373
    7474        NSDictionary * const testDictionary = @{ @"result" : @"PASS" };
    75         [[configuration processPool] _setObject:testDictionary forBundleParameter:testParameter];
    76         [webView evaluateJavaScript:testParameter completionHandler:^(id result, NSError *error) {
     75        [[configuration processPool] _setObject:testDictionary forBundleParameter:testParameter1];
     76        [webView evaluateJavaScript:testParameter1 completionHandler:^(id result, NSError *error) {
    7777            EXPECT_TRUE([result isKindOfClass:[NSDictionary class]]);
    7878            EXPECT_TRUE([result isEqualToDictionary:testDictionary]);
     
    8383        isDone = false;
    8484
    85         [[configuration processPool] _setObject:nil forBundleParameter:testParameter];
    86         [webView evaluateJavaScript:testParameter completionHandler:^(id result, NSError *error) {
     85        [[configuration processPool] _setObject:nil forBundleParameter:testParameter1];
     86        [webView evaluateJavaScript:testParameter1 completionHandler:^(id result, NSError *error) {
    8787            EXPECT_NULL(result);
     88            isDone = true;
     89        }];
     90
     91        TestWebKitAPI::Util::run(&isDone);
     92        isDone = false;
     93
     94        NSString * const testParameter2 = @"TestParameter2";
     95        NSDictionary * const testBundleParametersDictionary = @{ testParameter1 : testString, testParameter2 : testString };
     96
     97        [[configuration processPool] _setObjectsForBundleParametersWithDictionary:testBundleParametersDictionary];
     98        [webView evaluateJavaScript:testParameter1 completionHandler:^(id result, NSError *error) {
     99            EXPECT_TRUE([result isKindOfClass:[NSString class]]);
     100            EXPECT_WK_STREQ(result, testString);
     101            isDone = true;
     102        }];
     103
     104        TestWebKitAPI::Util::run(&isDone);
     105        isDone = false;
     106
     107        [webView evaluateJavaScript:testParameter2 completionHandler:^(id result, NSError *error) {
     108            EXPECT_TRUE([result isKindOfClass:[NSString class]]);
     109            EXPECT_WK_STREQ(result, testString);
    88110            isDone = true;
    89111        }];
  • trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/BundleParametersPlugIn.mm

    r189193 r219533  
    3535#import <wtf/RetainPtr.h>
    3636
    37 static NSString * const testParameter = @"TestParameter";
     37static NSString * const testParameter1 = @"TestParameter1";
     38static NSString * const testParameter2 = @"TestParameter2";
    3839
    3940@interface BundleParametersPlugIn : NSObject <WKWebProcessPlugIn>
     
    5152    _browserContextController = browserContextController;
    5253    _plugInController = plugInController;
    53     [plugInController.parameters addObserver:self forKeyPath:testParameter options:NSKeyValueObservingOptionInitial context:NULL];
     54    [plugInController.parameters addObserver:self forKeyPath:testParameter1 options:NSKeyValueObservingOptionInitial context:NULL];
     55    [plugInController.parameters addObserver:self forKeyPath:testParameter2 options:NSKeyValueObservingOptionInitial context:NULL];
    5456    [plugInController.parameters addObserver:self forKeyPath:TestWebKitAPI::Util::TestPlugInClassNameParameter options:NSKeyValueObservingOptionInitial context:NULL];
    5557}
     
    5759- (void)dealloc
    5860{
    59     [[_plugInController parameters] removeObserver:self forKeyPath:testParameter];
     61    [[_plugInController parameters] removeObserver:self forKeyPath:testParameter1];
     62    [[_plugInController parameters] removeObserver:self forKeyPath:testParameter2];
    6063    [[_plugInController parameters] removeObserver:self forKeyPath:TestWebKitAPI::Util::TestPlugInClassNameParameter];
    6164    [super dealloc];
Note: See TracChangeset for help on using the changeset viewer.