88d3fa3bd4cfca3f7d46424a054916a0d29b7993
[WebKit-https.git] / Source / WTF / ChangeLog
1 2018-09-28  Jer Noble  <jer.noble@apple.com>
2
3         Refactoring: eliminate raw pointer usage in Fullscreen code
4         https://bugs.webkit.org/show_bug.cgi?id=188747
5         <rdar://problem/43541164>
6
7         Reviewed by Alex Christensen.
8
9         * WTF.xcodeproj/project.pbxproj:
10         * wtf/WeakPtrContainer.h: Added.
11
12 2018-09-28  Koby Boyango  <koby.b@mce.systems>
13
14         [WTF] Add ExternalStringImpl, a StringImpl for user controlled buffers
15         https://bugs.webkit.org/show_bug.cgi?id=189991
16
17         Reviewed by Yusuke Suzuki.
18
19         * WTF.xcodeproj/project.pbxproj:
20         * wtf/CMakeLists.txt:
21         * wtf/text/ExternalStringImpl.cpp: Added.
22         * wtf/text/ExternalStringImpl.h: Added.
23         * wtf/text/StringImpl.cpp:
24         * wtf/text/StringImpl.h:
25
26 2018-09-27  Saam barati  <sbarati@apple.com>
27
28         Verify the contents of AssemblerBuffer on arm64e
29         https://bugs.webkit.org/show_bug.cgi?id=190057
30         <rdar://problem/38916630>
31
32         Reviewed by Mark Lam.
33
34         * wtf/PtrTag.h:
35         (WTF::tagInt):
36
37 2018-09-27  Jer Noble  <jer.noble@apple.com>
38
39         MediaPlayer should have mediaPlayerWaitingForKeyChanged() / bool waitingForKey() accessor
40         https://bugs.webkit.org/show_bug.cgi?id=189951
41
42         Reviewed by Eric Carlson.
43
44         Templated functions should take r-value references, as they have perfect type deduction for
45         all parameter types; references, l-value references, and r-value references in template function
46         parameters have special type deduction semantics.
47         See: <https://en.cppreference.com/w/cpp/language/reference#Forwarding_references>
48
49         Previously, const reference parameters would be copied when passed into anyOf(), and containers
50         of Ref<> would generate compile errors when passed into anyOf, as they cannot be copied. Now,
51         with r-value reference types in template parameters, a const reference is mapped to a const reference,
52         a non-const reference is mapped to a non-const reference, and a r-value reference is mapped to
53         an r-value reference.
54
55         * wtf/Algorithms.h:
56         (WTF::forEach):
57         (WTF::anyOf):
58         (WTF::allOf):
59
60 2018-09-25  John Wilander  <wilander@apple.com>
61
62         Change from HAVE(CFNETWORK_STORAGE_PARTITIONING) to ENABLE(RESOURCE_LOAD_STATISTICS)
63         https://bugs.webkit.org/show_bug.cgi?id=189959
64         <rdar://problem/44767642>
65
66         Reviewed by Chris Dumez.
67
68         * wtf/Platform.h:
69             Enables RESOURCE_LOAD_STATISTICS for Cocoa platforms.
70
71 2018-09-24  Fujii Hironori  <Hironori.Fujii@sony.com>
72
73         Rename WTF_COMPILER_GCC_OR_CLANG to WTF_COMPILER_GCC_COMPATIBLE
74         https://bugs.webkit.org/show_bug.cgi?id=189733
75
76         Reviewed by Michael Catanzaro.
77
78         Clang for Windows build enables WTF_COMPILER_CLANG and
79         WTF_COMPILER_MSVC, but disables WTF_COMPILER_GCC_OR_CLANG. It is
80         strange WTF_COMPILER_GCC_OR_CLANG is not enabled even though
81         WTF_COMPILER_CLANG is enabled. However, Clang for Windows imitates
82         MSVC, and codes for COMPILER(GCC_OR_CLANG) are for non MSVC. At
83         least at the moment, it is not feasible to define
84         WTF_COMPILER_GCC_OR_CLANG for Clang for Windows.
85
86         To solve the issue, this change renames WTF_COMPILER_GCC_OR_CLANG
87         to WTF_COMPILER_GCC_COMPATIBLE.
88
89         As an exception, I'd like to use IGNORE_WARNINGS_* macros even in
90         Clang for Windows builds.
91
92         * wtf/Assertions.cpp: Replaced COMPILER(GCC_OR_CLANG) with COMPILER(GCC_COMPATIBLE).
93         * wtf/Assertions.h: Ditto.
94         * wtf/Atomics.h: Ditto.
95         * wtf/CheckedArithmetic.h: Ditto.
96         * wtf/FastMalloc.h: Ditto.
97         * wtf/MathExtras.h: Ditto.
98         * wtf/Platform.h: Ditto.
99         * wtf/StdLibExtras.h: Ditto.
100         * wtf/Vector.h: Ditto.
101         * wtf/text/ASCIIFastPath.h: Ditto.
102         * wtf/Compiler.h:  Ditto. Replaced "COMPILER(GCC_OR_CLANG)" with "COMPILER(GCC) || COMPILER(CLANG)" of IGNORE_WARNINGS_* macros.
103
104 2018-09-21  Yusuke Suzuki  <yusukesuzuki@slowstart.org>
105
106         [JSC] Enable LLInt ASM interpreter on X64 and ARM64 in non JIT configuration
107         https://bugs.webkit.org/show_bug.cgi?id=189778
108
109         Reviewed by Keith Miller.
110
111         This patch adds ENABLE(C_LOOP) which indicates we use CLoop as the interpreter.
112         Previously, we used !ENABLE(JIT) for this configuration. But now, we have
113         a build configuration that has LLInt ASM interpreter (not CLoop) and !ENABLE(JIT).
114
115         We enable LLInt ASM interpreter for non JIT environment in X86_64 and ARM64 architectures.
116         And we enable ENABLE(ASSEMBLER) for non JIT environment since it offers machine register
117         information which is used for LLInt and SamplingProfiler.
118
119         * wtf/Platform.h:
120
121 2018-09-21  Keith Miller  <keith_miller@apple.com>
122
123         Add Promise SPI
124         https://bugs.webkit.org/show_bug.cgi?id=189809
125
126         Reviewed by Saam Barati.
127
128         Fix issue where creating a JSContextRef off the main thread before
129         creating initializing the main thread would cause an assertion
130         failure.
131
132         * wtf/MainThread.cpp:
133         (WTF::isMainThreadIfInitialized):
134         * wtf/MainThread.h:
135         * wtf/mac/MainThreadMac.mm:
136         (WTF::isMainThreadIfInitialized):
137         * wtf/text/cf/StringImplCF.cpp:
138         (WTF::StringImpl::createCFString):
139
140 2018-09-21  Ryan Haddad  <ryanhaddad@apple.com>
141
142         Unreviewed, rolling out r236359.
143
144         Broke the Windows build.
145
146         Reverted changeset:
147
148         "Add Promise SPI"
149         https://bugs.webkit.org/show_bug.cgi?id=189809
150         https://trac.webkit.org/changeset/236359
151
152 2018-09-21  Keith Miller  <keith_miller@apple.com>
153
154         Add Promise SPI
155         https://bugs.webkit.org/show_bug.cgi?id=189809
156
157         Reviewed by Saam Barati.
158
159         Fix issue where creating a JSContextRef off the main thread before
160         creating initializing the main thread would cause an assertion
161         failure.
162
163         * wtf/MainThread.cpp:
164         (WTF::isMainThreadIfInitialized):
165         * wtf/MainThread.h:
166         * wtf/mac/MainThreadMac.mm:
167         (WTF::isMainThreadIfInitialized):
168         * wtf/text/cf/StringImplCF.cpp:
169         (WTF::StringImpl::createCFString):
170
171 2018-09-20  Fujii Hironori  <Hironori.Fujii@sony.com>
172
173         [Win][Clang] UNUSED_PARAM(this) causes compilation error of "cannot take the address of an rvalue of type"
174         https://bugs.webkit.org/show_bug.cgi?id=189732
175
176         Reviewed by Per Arne Vollan.
177
178         Clang for Windows can't compile the MSVC workaround of
179         UNUSED_PARAM which has been introduced for Windows CE and Visual
180         Studio 10. I think it's safe just to remove it.
181
182         * wtf/Compiler.h: Removed the code for COMPILER(MSVC).
183
184 2018-09-20  Alex Christensen  <achristensen@webkit.org>
185
186         Unreviewed, rolling out r235976.
187
188         Broke ARM
189
190         Reverted changeset:
191
192         "Use a Variant instead of a union in CSSSelector"
193         https://bugs.webkit.org/show_bug.cgi?id=188559
194         https://trac.webkit.org/changeset/235976
195
196 2018-09-17  Yusuke Suzuki  <utatane.tea@gmail.com>
197
198         [WTF] Use Semaphore and BinarySemaphore instead of dispatch_semaphore_t
199         https://bugs.webkit.org/show_bug.cgi?id=185339
200
201         Reviewed by Mark Lam.
202
203         This patch adds WTF::Semaphore, which is based on WTF::Lock and WTF::Condition.
204
205         * WTF.xcodeproj/project.pbxproj:
206         * wtf/CMakeLists.txt:
207         * wtf/Semaphore.h: Added.
208         (WTF::Semaphore::Semaphore):
209         (WTF::Semaphore::signal):
210         (WTF::Semaphore::waitUntil):
211         (WTF::Semaphore::waitFor):
212         (WTF::Semaphore::wait):
213         * wtf/generic/WorkQueueGeneric.cpp:
214         (WorkQueue::platformInitialize):
215         * wtf/threads/BinarySemaphore.cpp:
216         (WTF::BinarySemaphore::waitUntil):
217         (WTF::BinarySemaphore::wait): Deleted.
218         * wtf/threads/BinarySemaphore.h:
219         (WTF::BinarySemaphore::waitFor):
220         (WTF::BinarySemaphore::wait):
221         Align the names of the functions to WTF::Condition.
222         Add BinarySemaphore::wait(), which is the same to waitUntil(WallTime::infinity()).
223
224 2018-09-17  Jer Noble  <jer.noble@apple.com>
225
226         Add support for HEVC codec types in Media Capabilities
227         https://bugs.webkit.org/show_bug.cgi?id=189565
228
229         Reviewed by Eric Carlson.
230
231         Extract the toIntegralType template into its own header.
232
233         * wtf/CMakeLists.txt:
234         * wtf/text/StringConversion.h: Added.
235         (isCharacterAllowedInBase):
236         (toIntegralType):
237         * wtf/text/WTFString.cpp:
238
239 2018-09-17  Jer Noble  <jer.noble@apple.com>
240
241         Enable USE_MEDIAREMOTE on iOS
242         https://bugs.webkit.org/show_bug.cgi?id=189096
243
244         Reviewed by Eric Carlson.
245
246         * wtf/Platform.h:
247
248 2018-09-17  Frederic Wang  <fwang@igalia.com>
249
250         Build error in ImageBufferCG when compiled with IOSurfacePool
251         https://bugs.webkit.org/show_bug.cgi?id=189579
252
253         Reviewed by Tim Horton.
254
255         IOSurface.h might be included with different value of IOSURFACE_CANVAS_BACKING_STORE, causing
256         compilation errors when files in the same unified source do not agree on the definition.
257         This patch moves the definition of IOSURFACE_CANVAS_BACKING_STORE from ImageBufferDataCG.h
258         to Platform.h so that IOSURFACE_CANVAS_BACKING_STORE is set to the same value in all files.
259         Finally some minors changes to explicitly declare/define ImageBuffer are performed in order
260         to prevent future issues with Unified build rotating.
261
262         * wtf/Platform.h: Move definition from ImageBufferDataCG.h.
263
264 2018-09-14  Ryan Haddad  <ryanhaddad@apple.com>
265
266         Unreviewed, rolling out r235990.
267
268         Introduced TestWebKitAPI.NowPlayingTest timeouts on iOS
269
270         Reverted changeset:
271
272         "Enable USE_MEDIAREMOTE on iOS"
273         https://bugs.webkit.org/show_bug.cgi?id=189096
274         https://trac.webkit.org/changeset/235990
275
276 2018-09-13  Jer Noble  <jer.noble@apple.com>
277
278         Enable USE_MEDIAREMOTE on iOS
279         https://bugs.webkit.org/show_bug.cgi?id=189096
280
281         Reviewed by Eric Carlson.
282
283         * wtf/Platform.h:
284
285 2018-09-13  Alex Christensen  <achristensen@webkit.org>
286
287         Use a Variant instead of a union in CSSSelector
288         https://bugs.webkit.org/show_bug.cgi?id=188559
289
290         Reviewed by Antti Koivisto.
291
292         * wtf/Variant.h:
293         Add packing macros to make it so Variant-containing structures don't always have 7 bytes of padding per Variant.
294
295 2018-09-12  Guillaume Emont  <guijemont@igalia.com>
296
297         Add IGNORE_WARNING_.* macros
298         https://bugs.webkit.org/show_bug.cgi?id=188996
299
300         Reviewed by Michael Catanzaro.
301
302         * wtf/Assertions.cpp:
303         * wtf/Assertions.h:
304         * wtf/Compiler.h:
305         * wtf/MD5.cpp:
306         (WTF::MD5::MD5):
307         (WTF::MD5::addBytes):
308         (WTF::MD5::checksum):
309         * wtf/PrintStream.cpp:
310         (WTF::PrintStream::printfVariableFormat):
311         * wtf/SHA1.cpp:
312         (WTF::SHA1::SHA1):
313         (WTF::SHA1::addBytes):
314         (WTF::SHA1::computeHash):
315         * wtf/ThreadingPthreads.cpp:
316         * wtf/Vector.h:
317         (WTF::VectorBuffer::endOfBuffer):
318         * wtf/text/WTFString.cpp:
319         (WTF::createWithFormatAndArguments):
320
321 == Rolled over to ChangeLog-2018-09-11 ==