Temporarily allow programmatic input assistance for adding Gmail account
[WebKit-https.git] / Source / WebCore / platform / RuntimeApplicationChecksIOS.mm
1 /*
2  * Copyright (C) 2009 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  *
8  * 1.  Redistributions of source code must retain the above copyright
9  *     notice, this list of conditions and the following disclaimer. 
10  * 2.  Redistributions in binary form must reproduce the above copyright
11  *     notice, this list of conditions and the following disclaimer in the
12  *     documentation and/or other materials provided with the distribution. 
13  *
14  * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
15  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
16  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17  * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
18  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
19  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
20  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
21  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
23  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24  */
25
26 #import "config.h"
27 #import "RuntimeApplicationChecksIOS.h"
28
29 // FIXME: We should consider merging this file with RuntimeApplicationChecks.cpp.
30 #if PLATFORM(IOS)
31
32 namespace WebCore {
33
34 bool applicationIsMobileMail()
35 {
36     static const bool isMobileMail = [[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.apple.mobilemail"];
37     return isMobileMail;
38 }
39
40 bool applicationIsMobileSafari()
41 {
42     static const bool isMobileSafari = [[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.apple.mobilesafari"];
43     return isMobileSafari;
44 }
45
46 bool applicationIsDumpRenderTree()
47 {
48     // We use a prefix match instead of strict equality since LayoutTestRelay may launch multiple instances of
49     // DumpRenderTree where the bundle identifier of each instance has a unique suffix.
50     static const bool isDumpRenderTree = [[[NSBundle mainBundle] bundleIdentifier] hasPrefix:@"org.webkit.DumpRenderTree"]; // e.g. org.webkit.DumpRenderTree0
51     return isDumpRenderTree;
52 }
53
54 bool applicationIsMobileStore()
55 {
56     static const bool isMobileStore = [[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.apple.MobileStore"];
57     return isMobileStore;
58 }
59
60 bool applicationIsWebApp()
61 {
62     static const bool isWebApp = [[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.apple.webapp"];
63     return isWebApp;
64 }
65
66 bool applicationIsOkCupid()
67 {
68     static const bool isOkCupid = [[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.okcupid.app"];
69     return isOkCupid;
70 }
71
72 bool applicationIsFacebook()
73 {
74     static const bool isFacebook = [[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.facebook.Facebook"];
75     return isFacebook;
76 }
77
78 bool applicationIsEpicurious()
79 {
80     static const bool isEpicurious = [[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.condenet.Epicurious"];
81     return isEpicurious;
82 }
83
84 bool applicationIsDaijisenDictionary()
85 {
86     static const bool isDaijisenDictionary = [[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"jp.co.shogakukan.daijisen2009i"];
87     return isDaijisenDictionary;
88 }
89
90 bool applicationIsNASAHD()
91 {
92     static const bool isNASAHD = [[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"gov.nasa.NASAHD"];
93     return isNASAHD;
94 }
95
96 bool applicationIsMASH()
97 {
98     static const bool isMASH = [[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.magnateinteractive.mashgame"]
99         || [[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.magnateinteractive.mashlitegame"]
100         || [[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.magnateinteractive.mashchristmas"]
101         || [[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.magnateinteractive.mashhalloween"]
102         || [[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.magnateinteractive.mashvalentines"];
103     return isMASH;
104 }
105
106 bool applicationIsTheEconomistOnIPhone()
107 {
108     static const bool isTheEconomistOnIPhone = [[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.economist.iphone"];
109     return isTheEconomistOnIPhone;
110 }
111
112 // FIXME: this needs to be changed when the WebProcess is changed to an XPC service.
113 bool applicationIsWebProcess()
114 {
115     static const bool isWebProcess = [[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.apple.WebKit.WebContent.Development"] || [[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.apple.WebKit.WebContent"] || [[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.apple.WebProcess"];
116     return isWebProcess;
117 }
118
119 bool applicationIsIBooksOnIOS()
120 {
121     static const bool isIBooksOnIOS = [[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.apple.iBooks"];
122     return isIBooksOnIOS;
123 }
124
125 bool applicationIsGmailAddAccountOnIOS()
126 {
127     static const bool isGmailAddAccountOnIOS = [[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.apple.social.SLGoogleAuth.SLGoogleAuthService"];
128     return isGmailAddAccountOnIOS;
129 }
130
131 } // namespace WebCore
132
133 #endif // PLATFORM(IOS)