[Mac][WK2] Multiple font tests fail is there is a global setting for font antialiasin...
[WebKit-https.git] / Tools / WebKitTestRunner / InjectedBundle / mac / InjectedBundleMac.mm
1 /*
2  * Copyright (C) 2011 Apple Inc. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  *    notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  *    notice, this list of conditions and the following disclaimer in the
11  *    documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
14  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
17  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23  * THE POSSIBILITY OF SUCH DAMAGE.
24  */
25
26 #import "InjectedBundle.h"
27
28 #import <Foundation/Foundation.h>
29
30 @interface NSURLRequest (PrivateThingsWeShouldntReallyUse)
31 +(void)setAllowsAnyHTTPSCertificate:(BOOL)allow forHost:(NSString *)host;
32 @end
33
34 @interface NSSound (Details)
35 + (void)_setAlertType:(NSUInteger)alertType;
36 @end
37
38 namespace WTR {
39
40 void InjectedBundle::platformInitialize(WKTypeRef)
41 {
42     static const int NoFontSmoothing = 0;
43     static const int BlueTintedAppearance = 1;
44
45     NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
46         [NSNumber numberWithInteger:4], @"AppleAntiAliasingThreshold",
47         [NSNumber numberWithInteger:NoFontSmoothing], @"AppleFontSmoothing",
48         [NSNumber numberWithInteger:BlueTintedAppearance], @"AppleAquaColorVariant",
49         @"0.709800 0.835300 1.000000", @"AppleHighlightColor",
50         @"0.500000 0.500000 0.500000", @"AppleOtherHighlightColor",
51 #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1080
52         [NSNumber numberWithBool:NO], @"NSScrollAnimationEnabled",
53 #else
54         [NSNumber numberWithBool:NO], @"AppleScrollAnimationEnabled",
55 #endif
56         [NSNumber numberWithBool:NO], @"NSOverlayScrollersEnabled",
57         @"Always", @"AppleShowScrollBars",
58         [NSArray arrayWithObject:@"en"], @"AppleLanguages",
59         [NSDictionary dictionaryWithObjectsAndKeys:@"notational", @"notationl", nil], @"NSTestCorrectionDictionary",
60         nil];
61
62     [[NSUserDefaults standardUserDefaults] setVolatileDomain:dict forName:NSArgumentDomain];
63
64     // Underlying frameworks have already read AppleAntiAliasingThreshold default before we changed it.
65     // A distributed notification is delivered to all applications, but it should be harmless, and it's the only way to update all underlying frameworks anyway.
66     [[NSDistributedNotificationCenter defaultCenter] postNotificationName:@"AppleAquaAntiAliasingChanged" object:nil userInfo:nil deliverImmediately:YES];
67
68     [NSURLRequest setAllowsAnyHTTPSCertificate:YES forHost:@"localhost"];
69     [NSURLRequest setAllowsAnyHTTPSCertificate:YES forHost:@"127.0.0.1"];
70
71     [NSSound _setAlertType:0];
72 }
73
74 } // namespace WTR