Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL
[WebKit-https.git] / Source / WebCore / platform / ios / CursorIOS.cpp
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. ``AS IS'' AND ANY
14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24  */
25
26 #include "config.h"
27 #include "Cursor.h"
28
29 #include <wtf/NeverDestroyed.h>
30
31 namespace WebCore {
32
33 static const Cursor& cursor()
34 {
35     static NeverDestroyed<const Cursor> cursor;
36     return cursor;
37 }
38
39 const Cursor& pointerCursor()
40 {
41     return cursor();
42 }
43
44 const Cursor& crossCursor()
45 {
46     return cursor();
47 }
48
49 const Cursor& handCursor()
50 {
51     return cursor();
52 }
53
54 const Cursor& moveCursor()
55 {
56     return cursor();
57 }
58
59 const Cursor& iBeamCursor()
60 {
61     return cursor();
62 }
63
64 const Cursor& waitCursor()
65 {
66     return cursor();
67 }
68
69 const Cursor& helpCursor()
70 {
71     return cursor();
72 }
73
74 const Cursor& eastResizeCursor()
75 {
76     return cursor();
77 }
78
79 const Cursor& northResizeCursor()
80 {
81     return cursor();
82 }
83
84 const Cursor& northEastResizeCursor()
85 {
86     return cursor();
87 }
88
89 const Cursor& northWestResizeCursor()
90 {
91     return cursor();
92 }
93
94 const Cursor& southResizeCursor()
95 {
96     return cursor();
97 }
98
99 const Cursor& southEastResizeCursor()
100 {
101     return cursor();
102 }
103
104 const Cursor& southWestResizeCursor()
105 {
106     return cursor();
107 }
108
109 const Cursor& westResizeCursor()
110 {
111     return cursor();
112 }
113
114 const Cursor& northSouthResizeCursor()
115 {
116     return cursor();
117 }
118
119 const Cursor& eastWestResizeCursor()
120 {
121     return cursor();
122 }
123
124 const Cursor& northEastSouthWestResizeCursor()
125 {
126     return cursor();
127 }
128
129 const Cursor& northWestSouthEastResizeCursor()
130 {
131     return cursor();
132 }
133
134 const Cursor& columnResizeCursor()
135 {
136     return cursor();
137 }
138
139 const Cursor& rowResizeCursor()
140 {
141     return cursor();
142 }
143
144 const Cursor& middlePanningCursor()
145 {
146     return cursor();
147 }
148
149 const Cursor& eastPanningCursor()
150 {
151     return cursor();
152 }
153
154 const Cursor& northPanningCursor()
155 {
156     return cursor();
157 }
158
159 const Cursor& northEastPanningCursor()
160 {
161     return cursor();
162 }
163
164 const Cursor& northWestPanningCursor()
165 {
166     return cursor();
167 }
168
169 const Cursor& southPanningCursor()
170 {
171     return cursor();
172 }
173
174 const Cursor& southEastPanningCursor()
175 {
176     return cursor();
177 }
178
179 const Cursor& southWestPanningCursor()
180 {
181     return cursor();
182 }
183
184 const Cursor& westPanningCursor()
185 {
186     return cursor();
187 }
188
189 const Cursor& verticalTextCursor()
190 {
191     return cursor();
192 }
193
194 const Cursor& cellCursor()
195 {
196     return cursor();
197 }
198
199 const Cursor& contextMenuCursor()
200 {
201     return cursor();
202 }
203
204 const Cursor& noDropCursor()
205 {
206     return cursor();
207 }
208
209 const Cursor& notAllowedCursor()
210 {
211     return cursor();
212 }
213
214 const Cursor& progressCursor()
215 {
216     return cursor();
217 }
218
219 const Cursor& aliasCursor()
220 {
221     return cursor();
222 }
223
224 const Cursor& zoomInCursor()
225 {
226     return cursor();
227 }
228
229 const Cursor& zoomOutCursor()
230 {
231     return cursor();
232 }
233
234 const Cursor& copyCursor()
235 {
236     return cursor();
237 }
238
239 const Cursor& noneCursor()
240 {
241     return cursor();
242 }
243
244 const Cursor& grabCursor()
245 {
246     return cursor();
247 }
248
249 const Cursor& grabbingCursor()
250 {
251     return cursor();
252 }
253
254 IntPoint determineHotSpot(Image*, const IntPoint&)
255 {
256     return IntPoint();
257 }
258
259 }