Remove all uses of deprecatedCharacters from WebKit2
[WebKit-https.git] / Source / WTF / ChangeLog
1 2014-03-15  Darin Adler  <darin@apple.com>
2
3         Remove all uses of deprecatedCharacters from WebKit2
4         https://bugs.webkit.org/show_bug.cgi?id=130197
5
6         Reviewed by Andreas Kling.
7
8         * wtf/text/StringView.h: Added new getCharactersWithUpconvert and upconvertedCharacters
9         functions. These are useful for callers that need UTF-16.
10
11 2014-03-15  Darin Adler  <darin@apple.com>
12
13         Try to fix EFL build.
14
15         * wtf/ThreadingPthreads.cpp: (WTF::changeThreadPriority): Code in this function
16         was setting the priority of the current thread instead of the passed-in thread.
17         That was triggering an unused variable warning in the compiler used to build for
18         EFL. Fixed by using the thread handle instead of pthread_self.
19
20 2014-03-15  Michael Saboff  <msaboff@apple.com>
21
22         It should be possible to adjust DFG and FTL compiler thread priorities
23         https://bugs.webkit.org/show_bug.cgi?id=130288
24
25         Reviewed by Filip Pizlo.
26
27         Added ability to change thread priorities relative to its current priority.
28         Created options to adjust the priority of the DFG and FTL compilation work thread
29         pools.  For two core systems, there might be three runnable threads, the main thread,
30         the DFG compilation thread and the FTL compilation thread.  With the same priority,
31         the scheduler is free to schedule whatever thread it wants.  By lowering the
32         compilation threads, the main thread can run.  Further tests may suggest better values
33         for the new options, priorityDeltaOfDFGCompilerThreads and priorityDeltaOfFTLCompilerThreads.
34
35         For a two-core device, this change has a net positive improvement of 1-3% across
36         SunSpider, Octane, Kraken and AsmBench.
37
38         * wtf/Threading.h:
39         * wtf/ThreadingPthreads.cpp:
40         (WTF::changeThreadPriority):
41         * wtf/ThreadingWin.cpp:
42         (WTF::changeThreadPriority):
43
44 2014-03-15  David Kilzer  <ddkilzer@apple.com>
45
46         Fix undefined behavior in WTF::equal() in StringImpl.h for i386/x86_64
47         <http://webkit.org/b/130283>
48         <rdar://problem/16281477>
49
50         Reviewed by Geoff Garen.
51
52         * wtf/text/StringImpl.h:
53         (WTF::loadUnaligned): Add template method.
54         (WTF::equal): Switch to using loadUnaligned<>().
55
56 2014-03-14  Mark Rowe  <mrowe@apple.com>
57
58         Fix the production build.
59
60         Don't rely on USE_INTERNAL_SDK being set for the Production configuration since UseInternalSDK.xcconfig won't
61         be at the expected relative path when working from installed source.
62
63         * Configurations/Base.xcconfig:
64
65 2014-03-14  Maciej Stachowiak  <mjs@apple.com>
66
67         Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers
68         https://bugs.webkit.org/show_bug.cgi?id=130276
69         <rdar://problem/16266927>
70         
71         Reviewed by Simon Fraser.
72
73         * wtf/ASCIICType.h:
74         * wtf/AVLTree.h:
75         * wtf/Assertions.cpp:
76         * wtf/Assertions.h:
77         * wtf/Atomics.cpp:
78         * wtf/Atomics.h:
79         * wtf/AutodrainedPool.h:
80         * wtf/AutodrainedPoolMac.mm:
81         * wtf/BoundsCheckedPointer.h:
82         * wtf/CryptographicUtilities.cpp:
83         * wtf/CryptographicallyRandomNumber.h:
84         * wtf/CurrentTime.h:
85         * wtf/Deque.h:
86         * wtf/DisallowCType.h:
87         * wtf/ExportMacros.h:
88         * wtf/FeatureDefines.h:
89         * wtf/GetPtr.h:
90         * wtf/HashIterators.h:
91         * wtf/Locker.h:
92         * wtf/MainThread.cpp:
93         * wtf/MainThread.h:
94         * wtf/MathExtras.h:
95         * wtf/MediaTime.cpp:
96         * wtf/MediaTime.h:
97         * wtf/MessageQueue.h:
98         * wtf/MetaAllocator.cpp:
99         * wtf/MetaAllocator.h:
100         * wtf/MetaAllocatorHandle.h:
101         * wtf/OSRandomSource.cpp:
102         * wtf/OSRandomSource.h:
103         * wtf/Platform.h:
104         * wtf/RandomNumber.cpp:
105         * wtf/RandomNumber.h:
106         * wtf/RandomNumberSeed.h:
107         * wtf/RedBlackTree.h:
108         * wtf/RunLoopTimer.h:
109         * wtf/RunLoopTimerCF.cpp:
110         * wtf/SchedulePair.h:
111         * wtf/SchedulePairCF.cpp:
112         * wtf/SchedulePairMac.mm:
113         * wtf/SegmentedVector.h:
114         * wtf/StackBounds.h:
115         * wtf/StaticConstructors.h:
116         * wtf/StringExtras.h:
117         * wtf/ThreadFunctionInvocation.h:
118         * wtf/ThreadSafeRefCounted.h:
119         * wtf/ThreadSpecific.h:
120         * wtf/Threading.h:
121         * wtf/ThreadingPrimitives.h:
122         * wtf/ThreadingPthreads.cpp:
123         * wtf/ThreadingWin.cpp:
124         * wtf/WTFThreadData.cpp:
125         * wtf/WTFThreadData.h:
126         * wtf/efl/OwnPtrEfl.cpp:
127         * wtf/mac/MainThreadMac.mm:
128         * wtf/text/AtomicStringHash.h:
129         * wtf/text/AtomicStringImpl.h:
130         * wtf/text/Base64.h:
131         * wtf/text/CString.cpp:
132         * wtf/text/CString.h:
133         * wtf/text/LChar.h:
134         * wtf/text/cf/StringCF.cpp:
135         * wtf/text/mac/StringMac.mm:
136         * wtf/unicode/CharacterNames.h:
137         * wtf/unicode/Collator.h:
138         * wtf/unicode/CollatorDefault.cpp:
139         * wtf/unicode/UTF8.cpp:
140         * wtf/unicode/UTF8.h:
141         * wtf/unicode/icu/CollatorICU.cpp:
142         * wtf/win/MainThreadWin.cpp:
143
144 2014-03-14  Byungseon Shin  <sun.shin@lge.com>
145
146         Incorrect Date returned between March 1, 2034 and February 28, 2100.
147         https://bugs.webkit.org/show_bug.cgi?id=130123
148
149         Reviewed by Mark Lam.
150
151         Fix logic by using predefined Date APIs.
152
153         * wtf/DateMath.cpp:
154         (WTF::ymdhmsToSeconds):
155
156 2014-03-12  Sergio Villar Senin  <svillar@igalia.com>
157
158         Rename DEFINE_STATIC_LOCAL to DEPRECATED_DEFINE_STATIC_LOCAL
159         https://bugs.webkit.org/show_bug.cgi?id=129612
160
161         Reviewed by Darin Adler.
162
163         For new code use static NeverDestroyed<T> instead.
164
165         * wtf/RunLoop.cpp:
166         (WTF::RunLoop::current):
167         * wtf/StdLibExtras.h:
168         * wtf/ThreadingPthreads.cpp:
169         (WTF::threadMapMutex):
170         (WTF::threadMap):
171         * wtf/efl/MainThreadEfl.cpp:
172         (WTF::pipeObject):
173         * wtf/text/StringStatics.cpp:
174         (WTF::StringImpl::empty):
175
176 2014-03-13  Radu Stavila  <stavila@adobe.com>
177
178         Webkit not building on XCode 5.1 due to garbage collection no longer being supported
179         https://bugs.webkit.org/show_bug.cgi?id=130087
180
181         Reviewed by Mark Rowe.
182
183         Disable garbage collection on macosx when not using internal SDK.
184
185         * Configurations/Base.xcconfig:
186
187 2014-03-12  Ryuan Choi  <ryuan.choi@samsung.com>
188
189         [EFL] Enable Parallel GC
190         https://bugs.webkit.org/show_bug.cgi?id=130177
191
192         Reviewed by Geoffrey Garen.
193
194         * wtf/Platform.h: Turn on ENABLE_PARALLEL_GC for the EFL build.
195
196 2014-03-12  Joseph Pecoraro  <pecoraro@apple.com>
197
198         Web Inspector: Disable REMOTE_INSPECTOR in earlier OS X releases
199         https://bugs.webkit.org/show_bug.cgi?id=130118
200
201         Reviewed by Timothy Hatcher.
202
203         * wtf/FeatureDefines.h:
204
205 2014-03-11  Brent Fulgham  <bfulgham@apple.com>
206
207         [Win] Unreviewed gardening.
208
209         * wtf/MathExtras.h: VS2013 provides an lrint implementation. No need to implement
210         our own.
211
212 2014-03-10  Jer Noble  <jer.noble@apple.com>
213
214         Improve WeakPtr operators.
215         https://bugs.webkit.org/show_bug.cgi?id=130053
216
217         Reviewed by Andreas Kling.
218
219         Replace the "operator!()" with an explicit bool operator.  Add an "operator->()".
220
221         * wtf/WeakPtr.h:
222         (WTF::WeakPtr::operator bool):
223         (WTF::WeakPtr::operator->):
224
225 2014-03-10  Brent Fulgham  <bfulgham@apple.com>
226
227         [Win] Pass environment to Pre-Build, Pre-Link, and Post-Build Stages.
228         https://bugs.webkit.org/show_bug.cgi?id=130023.
229
230         Reviewed by Dean Jackson.
231
232         * WTF.vcxproj/WTF.proj: Avoid putting trailing slashes in system paths to avoid
233         escaping during later string substitution.
234         * WTF.vcxproj/build-generated-files.sh: Accept environment values passed by VS.
235
236 2014-03-10  Mark Hahnenberg  <mhahnenberg@apple.com>
237
238         Turn on GenGC on other 64-bit platforms
239         https://bugs.webkit.org/show_bug.cgi?id=129258
240
241         Reviewed by Oliver Hunt.
242
243         * wtf/Platform.h: 
244
245 2014-03-07  peavo@outlook.com  <peavo@outlook.com>
246
247         [Win64] Compile error after r165128.
248         https://bugs.webkit.org/show_bug.cgi?id=129807
249
250         Reviewed by Mark Lam.
251
252         * wtf/Platform.h: MSVC does not support computed goto.
253         Also enabled COMPUTED_GOTO_OPCODES when !ENABLE(LLINT_C_LOOP). This is needed because the ASM LLINT operates like COMPUTED_GOTO_OPCODES,
254         and relies on the related data structures being defined to support this. On Win32, the platform does not HAVE_COMPUTED_GOTO support,
255         but does want ENABLE_COMPUTED_GOTO_OPCODES because it uses the ASM LLINT.
256
257 2014-03-06  Michael Saboff  <msaboff@apple.com>
258
259         JSC should disable the JIT when building for ARMv7k
260         https://bugs.webkit.org/show_bug.cgi?id=129829
261
262         Reviewed by Oliver Hunt.
263
264         Added WTF_CPU_APPLE_ARMV7K CPU define.  Disabled the JITs when
265         that feature define is set.
266
267         * wtf/Platform.h:
268
269 2014-03-06  Filip Pizlo  <fpizlo@apple.com>
270
271         Use the LLVM disassembler on ARM64 if we are enabling the FTL
272         https://bugs.webkit.org/show_bug.cgi?id=129785
273
274         Reviewed by Geoffrey Garen.
275
276         * wtf/Platform.h:
277
278 2014-03-05  peavo@outlook.com  <peavo@outlook.com>
279
280         [Win32][LLINT] Crash when running JSC stress tests.
281         https://bugs.webkit.org/show_bug.cgi?id=129429
282
283         Reviewed by Geoffrey Garen.
284
285         * wtf/Platform.h: Enable LLINT on Win32.
286
287 2014-03-04  Zan Dobersek  <zdobersek@igalia.com>
288
289         [GTK] Build the Udis86 disassembler
290         https://bugs.webkit.org/show_bug.cgi?id=129679
291
292         Reviewed by Michael Saboff.
293
294         * wtf/Platform.h: Also enable the Udis86 disassembler for the GTK port on Linux.
295
296 2014-03-02  Jaehun Lim  <ljaehun.lim@samsung.com>
297
298         [EFL] Remove m_initEfl from RunLoop.
299         https://bugs.webkit.org/show_bug.cgi?id=129568
300
301         Reviewed by Gyuyoung Kim.
302
303         We don't use m_initEfl except RunLoop constructor.
304
305         * wtf/RunLoop.h:
306         * wtf/efl/RunLoopEfl.cpp:
307         (WTF::RunLoop::RunLoop):
308
309 2014-03-02  Darin Adler  <darin@apple.com>
310
311         Cut down use of OwnPtr within WTF itself
312         https://bugs.webkit.org/show_bug.cgi?id=129567
313
314         Reviewed by Sam Weinig.
315
316         * wtf/RefCounted.h: Removed OwnPtr includes.
317
318         * wtf/StreamBuffer.h: Removed OwnPtr includes and switched to use
319         std::make_unique and std::unique_ptr instead.
320
321         * wtf/Threading.cpp: Removed OwnPtr includes.
322         * wtf/ThreadingPthreads.cpp: Ditto.
323         * wtf/Vector.h: Ditto.
324
325 2014-02-26  Gavin Barraclough  <barraclough@apple.com>
326
327         FastMalloc should use vm_page_shift intead of PAGE_SHIFT.
328         https://bugs.webkit.org/show_bug.cgi?id=129370
329
330         Reviewed by Mark Rowe.
331
332         "Doesn't this lead to the page map using fewer bits than it was before?
333         It seems like this will cause some page addresses to no longer be
334         representable in the map when using 4K pages. Am I missing something?"
335
336         * wtf/FastMalloc.cpp:
337             - bdash raises a valid point. This should make the TCMalloc_PageMap
338               larger than absolutely necessary, rather than potentially too small.
339
340 2014-02-25  Gavin Barraclough  <barraclough@apple.com>
341
342         FastMalloc should use vm_page_shift intead of PAGE_SHIFT.
343         https://bugs.webkit.org/show_bug.cgi?id=129370
344
345         Reviewed by Geoff Garen.
346
347         Previously we used PAGE_SHIFT to initialize kPageShift.
348         Since this was a constant, it could be used to calculate other
349         contants used in the code. Some of these values are used in the
350         definition of certain data structures (specifiying the length of
351         some array members).
352
353         Make kPageShift & dependent properties variables setup during
354         initialization. Add upper bound values (K_PAGE_SHIFT_MAX,
355         K_NUM_CLASSES_MAX) for use in cases where we need a constant.
356
357         * wtf/FastMalloc.cpp:
358         (WTF::InitSizeClasses):
359             - initialize kPageShift, kNumClasses, kPageSize, kMaxValidPages.
360         (WTF::pages):
361             - added ASSERT.
362         (WTF::AllocationSize):
363             - added ASSERT.
364         (WTF::TCMalloc_PageHeap::FreeBytes):
365             - added ASSERT.
366         (WTF::TCMalloc_PageHeap::init):
367             - COMPILE_ASSERT -> ASSERT
368         (WTF::TCMalloc_PageHeap::scavenge):
369             - added ASSERT.
370         (WTF::TCMalloc_PageHeap::Carve):
371             - added ASSERT.
372         (WTF::mergeDecommittedStates):
373             - added ASSERT.
374         (WTF::TCMalloc_PageHeap::IncrementalScavenge):
375             - added ASSERT.
376         (WTF::TCMalloc_PageHeap::ReturnedBytes):
377             - added ASSERT.
378         (WTF::PagesToMB):
379             - added ASSERT.
380         (WTF::TCMalloc_PageHeap::GrowHeap):
381             - added ASSERT.
382         (WTF::TCMalloc_PageHeap::ReleaseFreeList):
383             - kNumClasses -> K_NUM_CLASSES_MAX
384         (WTF::TCMalloc_ThreadCache::enumerateFreeObjects):
385             - added ASSERT.
386         (WTF::TCMalloc_Central_FreeList::Init):
387             - added ASSERT.
388         (WTF::TCMalloc_Central_FreeList::ReleaseToSpans):
389             - added ASSERT.
390         (WTF::TCMalloc_Central_FreeList::EvictRandomSizeClass):
391             - added ASSERT.
392         (WTF::TCMalloc_Central_FreeList::MakeCacheSpace):
393             - added ASSERT.
394         (WTF::TCMalloc_Central_FreeList::InsertRange):
395             - added ASSERT.
396         (WTF::TCMalloc_Central_FreeList::Populate):
397             - added ASSERT.
398         (WTF::TCMalloc_ThreadCache::Init):
399             - added ASSERT.
400         (WTF::TCMalloc_ThreadCache::Cleanup):
401             - added ASSERT.
402         (WTF::TCMalloc_ThreadCache::Scavenge):
403             - added ASSERT.
404         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
405             - added ASSERT.
406
407 2014-02-24  Alex Christensen  <achristensen@webkit.org>
408
409         Disabled WebGL on WinCairo.
410
411         Unreviewed.
412
413         * wtf/FeatureDefines.h:
414         Removed ENABLE_WEBGL definition for WinCairo port.
415         WebGL has not worked on WinCairo since r163079
416         and it was not compiling with a recent ANGLE update.
417
418 2014-02-24  Mark Hahnenberg  <mhahnenberg@apple.com>
419
420         Turn GenGC on for 32-bit systems
421         https://bugs.webkit.org/show_bug.cgi?id=128824
422
423         Reviewed by Geoffrey Garen.
424
425         * wtf/Platform.h:
426
427 2014-02-21  Benjamin Poulain  <benjamin@webkit.org>
428
429         jsDocumentPrototypeFunctionGetElementById should not create an AtomicString for the function argument
430         https://bugs.webkit.org/show_bug.cgi?id=128893
431
432         Reviewed by Darin Adler.
433
434         AtomicString::find() is a special case optimized for the JavaScript bindings. The method can only
435         be called under specific conditions.
436         The method is renamed to findStringWithHash().
437
438         The new AtomicString::find is generic and does not require any propery on the input.
439
440         * wtf/text/AtomicString.cpp:
441         (WTF::AtomicString::findStringWithHash):
442         (WTF::AtomicString::findSlowCase):
443         * wtf/text/AtomicString.h:
444         (WTF::AtomicString::find):
445
446 2014-02-20  Csaba Osztrogonác  <ossy@webkit.org>
447
448         Add StackStats sources to cmake and autotools build files
449         https://bugs.webkit.org/show_bug.cgi?id=129103
450
451         Reviewed by Anders Carlsson.
452
453         * GNUmakefile.list.am:
454         * wtf/CMakeLists.txt:
455
456 2014-02-20  Csaba Osztrogonác  <ossy@webkit.org>
457
458         Get rid of redundant Platform.h includes
459         https://bugs.webkit.org/show_bug.cgi?id=128817
460
461         Reviewed by Brent Fulgham.
462
463         * wtf/Assertions.h:
464         * wtf/Atomics.h:
465         * wtf/ByteOrder.h:
466         * wtf/DataLog.h:
467         * wtf/DisallowCType.h:
468         * wtf/DynamicAnnotations.h:
469         * wtf/ExportMacros.h:
470         * wtf/FastMalloc.h:
471         * wtf/FlipBytes.h:
472         * wtf/InlineASM.h:
473         * wtf/PrintStream.h:
474         * wtf/ProcessID.h:
475         * wtf/Threading.h:
476         * wtf/ThreadingPrimitives.h:
477
478 2014-02-19  Jon Honeycutt  <jhoneycutt@apple.com>
479
480         Crash in WTF::StringBuilder::append()
481
482         https://bugs.webkit.org/show_bug.cgi?id=125817
483         <rdar://problem/15671883>
484
485         Reviewed by Oliver Hunt.
486
487         * wtf/text/StringBuilder.cpp:
488         (WTF::expandedCapacity):
489         Ensure that we return a new capacity of at least 'requiredLength' in
490         the case where requiredLength is large. Also, use unsigned rather than
491         size_t for the parameters and the return value, as callers pass
492         unsigned arguments and treat the result as an unsigned int.
493
494 2014-02-19  Anders Carlsson  <andersca@apple.com>
495
496         Add WTF_MAKE_FAST_ALLOCATED to more classes
497         https://bugs.webkit.org/show_bug.cgi?id=129064
498
499         Reviewed by Andreas Kling.
500
501         * wtf/Bitmap.h:
502
503 2014-02-19  Zan Dobersek  <zdobersek@igalia.com>
504
505         Make PrintStream::print() a variadic template
506         https://bugs.webkit.org/show_bug.cgi?id=126388
507
508         Reviewed by Brent Fulgham.
509
510         PrintStream::print() can be converted into a variadic template, printing the value
511         of the first parameter and recursively calling itself until the single parameter version
512         is used for printing the last value.
513
514         * wtf/DataLog.h:
515         (WTF::dataLog): Convert the function to a variadic template as well.
516         * wtf/PrintStream.h:
517         (WTF::PrintStream::print):
518         * wtf/StringPrintStream.h:
519         (WTF::toCString): Ditto.
520         (WTF::toString): Ditto.
521
522 2014-02-19  Zan Dobersek  <zdobersek@igalia.com>
523
524         Use std::swap() in HashTable::swap()
525         https://bugs.webkit.org/show_bug.cgi?id=128995
526
527         Reviewed by Brent Fulgham.
528
529         Use std::swap() to swap the member variable values of two HashTable objects in HashTable::swap().
530
531         * wtf/HashTable.h:
532         (WTF::KeyTraits>::swap):
533
534 2014-02-19  Zan Dobersek  <zdobersek@igalia.com>
535
536         SegmentedVector::append() should take in rvalue reference, forward it to Vector::uncheckedAppend()
537         https://bugs.webkit.org/show_bug.cgi?id=128996
538
539         Reviewed by Brent Fulgham.
540
541         * wtf/SegmentedVector.h:
542         (WTF::SegmentedVector::append): Take in an rvalue reference of the object that's to be appended and
543         then forward it to Vector::uncheckedAppend(). This avoids unnecessary copies in the current situation
544         where a const lvalue is accepted and passed on.
545
546 2014-02-19  Dan Bernstein  <mitz@apple.com>
547
548         Simplify PLATFORM(MAC) && !PLATFORM(IOS) and similar expressions
549         https://bugs.webkit.org/show_bug.cgi?id=129029
550
551         Reviewed by Mark Rowe.
552
553         * wtf/FeatureDefines.h:
554         * wtf/Platform.h:
555         * wtf/Threading.cpp:
556         * wtf/text/cf/StringImplCF.cpp:
557         (garbageCollectionEnabled):
558
559 2014-02-18  Dan Bernstein  <mitz@apple.com>
560
561         PLATFORM(MAC) is true when building for iOS
562         https://bugs.webkit.org/show_bug.cgi?id=129025
563
564         Reviewed by Mark Rowe.
565
566         * wtf/Platform.h: Changed to define WTF_PLATFORM_MAC only on when building for OS X (but
567         still not when WTF_PLATFORM_GTK or WTF_PLATFORM_EFL are defined).
568
569 2014-02-18  Joseph Pecoraro  <pecoraro@apple.com>
570
571         [iOS] Web Inspector: JSContext inspection crashes in isMainThread, uninitialized WebCoreWebThreadIsLockedOrDisabled
572         https://bugs.webkit.org/show_bug.cgi?id=128959
573
574         Reviewed by David Kilzer.
575
576         When JavaScriptCore is used without WebCore on iOS (e.g. JSContext)
577         the WebCoreWebThread* functions will not be initialized. Avoid
578         calling the function pointer if it is uninitialized. This was
579         happening with remote inspection via StringImpl::createCFString
580         for implicit NSString / WTFString conversion which uses isMainThread.
581
582         * wtf/mac/MainThreadMac.mm:
583         (WTF::webThreadIsUninitializedOrLockedOrDisabled):
584         (WTF::isMainThread):
585         (WTF::canAccessThreadLocalDataForThread):
586
587 2014-02-17  Filip Pizlo  <fpizlo@apple.com>
588
589         More ARM FTL glue
590         https://bugs.webkit.org/show_bug.cgi?id=128948
591
592         Reviewed by Sam Weinig.
593
594         * wtf/Platform.h:
595
596 2014-02-17  Anders Carlsson  <andersca@apple.com>
597
598         Remove ENABLE_GLOBAL_FASTMALLOC_NEW
599         https://bugs.webkit.org/show_bug.cgi?id=127067
600
601         Reviewed by Geoffrey Garen.
602
603         Remove the global operator new/operator delete overrides. Having ALWAYS_INLINE operators
604         like we do is really undefined behavior according to the C++ standard and we've been lucky enough
605         to get away with it so far, but any code that calls operator new/operator delete inside from the C++ standard
606         library (not from headers that are included) will be mismatched and potentially crash. libc++ calls
607         delete in it's std::thread implementation for example.
608         
609         The only supported way to override operator new and operator delete globally is to not use inline
610         functions, but that would mean that any application using WebKit would not be able to provide custom
611         operator new/operator delete functions so we'll just reuse the already existing infrastructure consisting
612         of the WTF_MAKE_FAST_ALLOCATED macro.
613
614         * wtf/FastMalloc.cpp:
615         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
616         * wtf/FastMalloc.h:
617         * wtf/Platform.h:
618
619 2014-02-17  Ryan Lortie  <desrt@desrt.ca>
620
621         Enable DFG_JIT on FreeBSD
622         https://bugs.webkit.org/show_bug.cgi?id=128898
623
624         Reviewed by Csaba Osztrogonác.
625
626         * wtf/Platform.h:
627
628 2014-02-15  Filip Pizlo  <fpizlo@apple.com>
629
630         FTL should inline polymorphic heap accesses
631         https://bugs.webkit.org/show_bug.cgi?id=128795
632
633         Reviewed by Oliver Hunt.
634
635         * wtf/PrintStream.h:
636         (WTF::PointerDumpInContext::PointerDumpInContext):
637         (WTF::PointerDumpInContext::dump):
638         (WTF::pointerDumpInContext):
639
640 2014-02-16  Zan Dobersek  <zdobersek@igalia.com>
641
642         Reintroduce const qualifiers for return types of (Filter|Transform)Iterator::operator*()
643         https://bugs.webkit.org/show_bug.cgi?id=126875
644
645         The const qualifiers for the return types of FilterIterator::operator*() and TransformIterator::operator*()
646         were removed in r161797 and r161802 because of compilation failures when using GCC and having an Iterator
647         type that already had the const qualifier. std::remove_const is now used to appease GCC and enforce the const
648         qualifier on the return type, regardless of the Iterator type and its qualifiers.
649
650         * wtf/IteratorAdaptors.h:
651         (WTF::FilterIterator::operator*):
652         (WTF::TransformIterator::operator*):
653
654 2014-02-15  Filip Pizlo  <fpizlo@apple.com>
655
656         Vector with inline capacity should work with non-PODs
657         https://bugs.webkit.org/show_bug.cgi?id=128864
658
659         Reviewed by Michael Saboff.
660         
661         Previously, we would copy the inline storage of a vector as if it was a bag of bits.
662         This presumed that the element type was relocatable. In general this is only true for
663         PODs.
664         
665         This patch changes this by introducing a swap operation over inline storage. This swap
666         operation requires being told about the size that is in use.
667         
668         Deques would have required some cleverness to make this work, because the swap
669         operation needs to know which subset of elements are in-use and assumes that a size is
670         sufficient for this. That's not true for deques. Instead of trying to do very clever
671         things, I just removed the inline capacity option from Deque. I believe that this is
672         fine since there are only two users of Deque with inline capacity, and both of them
673         appear to be allocated rarely enough that inline capacity probably doesn't help much.
674
675         * wtf/Deque.h:
676         (WTF::DequeIterator::DequeIterator):
677         (WTF::DequeConstIterator::DequeConstIterator):
678         (WTF::Deque<T>::checkValidity):
679         (WTF::Deque<T>::checkIndexValidity):
680         (WTF::Deque<T>::invalidateIterators):
681         (WTF::Deque<T>::Deque):
682         (WTF::=):
683         (WTF::Deque<T>::destroyAll):
684         (WTF::Deque<T>::~Deque):
685         (WTF::Deque<T>::swap):
686         (WTF::Deque<T>::clear):
687         (WTF::Deque<T>::expandCapacityIfNeeded):
688         (WTF::Deque<T>::expandCapacity):
689         (WTF::Deque<T>::append):
690         (WTF::Deque<T>::prepend):
691         (WTF::Deque<T>::removeFirst):
692         (WTF::Deque<T>::removeLast):
693         (WTF::Deque<T>::remove):
694         (WTF::DequeIteratorBase<T>::checkValidity):
695         (WTF::DequeIteratorBase<T>::addToIteratorsList):
696         (WTF::DequeIteratorBase<T>::removeFromIteratorsList):
697         (WTF::DequeIteratorBase<T>::DequeIteratorBase):
698         (WTF::DequeIteratorBase<T>::~DequeIteratorBase):
699         (WTF::DequeIteratorBase<T>::isEqual):
700         (WTF::DequeIteratorBase<T>::increment):
701         (WTF::DequeIteratorBase<T>::decrement):
702         (WTF::DequeIteratorBase<T>::after):
703         (WTF::DequeIteratorBase<T>::before):
704         * wtf/Vector.h:
705         (WTF::VectorBuffer::swap):
706         (WTF::VectorBuffer::swapInlineBuffer):
707         (WTF::VectorBuffer::swapInlineBuffers):
708         (WTF::Vector::swap):
709
710 2014-02-15  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
711
712         Remove 'static' specifier from free inline functions in StringImpl.h
713         https://bugs.webkit.org/show_bug.cgi?id=118554
714
715         Reviewed by Darin Adler.
716
717         At first 'static' does not bring any use here, secondly static free
718         inline functions in headers is a bad practice in general as each instance
719         of function defined as inline is treated as a separate function and each
720         instance has its own copy of static locals and string literals.
721
722         * wtf/text/StringImpl.h:
723         (WTF::codePointCompare):
724         (WTF::codePointCompare8):
725         (WTF::codePointCompare16):
726         (WTF::codePointCompare8To16):
727         (WTF::isSpaceOrNewline):
728
729 2014-02-14  Benjamin Poulain  <bpoulain@apple.com>
730
731         Improve the performance on mobile of FTPDirectoryDocument
732         https://bugs.webkit.org/show_bug.cgi?id=128778
733
734         Reviewed by Antti Koivisto.
735
736         * wtf/text/WTFString.h:
737         (WTF::String::endsWith): add a missing overload.
738
739 2014-02-14  Wojciech Bielawski  <w.bielawski@samsung.com>
740
741         (try)append and insert operations don't need new operator for PODs
742         https://bugs.webkit.org/show_bug.cgi?id=128185
743
744         Reviewed by Darin Adler.
745
746         Vector's methods use VectorCopier to copy data.
747         VectorCopier for PODs exteded to be used with different types. For different types placement new copy approach is applied. For the same types memcpy is applied.
748
749         * wtf/Vector.h:
750         (WTF::OverflowHandler>::append): use VectorCopier to copy data.
751         (WTF::OverflowHandler>::tryAppend): use VectorCopier to copy data.
752         (WTF::OverflowHandler>::insert): use VectorCopier to copy data.
753
754 2014-02-13  Daniel Bates  <dabates@apple.com>
755
756         Fix the iOS build after <http://trac.webkit.org/changeset/164064
757
758         * wtf/Platform.h:
759
760 2014-02-13  Daniel Bates  <dabates@apple.com>
761
762         [iOS] Disable HAVE_ARM_NEON_INTRINSICS
763
764         For now, disable HAVE_ARM_NEON_INTRINSICS when building for iOS. We want
765         to audit the applicable code before we enable this define.
766
767         * wtf/Platform.h:
768
769 2014-02-11  Filip Pizlo  <fpizlo@apple.com>
770
771         Hoist and combine array bounds checks
772         https://bugs.webkit.org/show_bug.cgi?id=125433
773
774         Reviewed by Mark Hahnenberg.
775
776         * GNUmakefile.list.am:
777         * WTF.vcxproj/WTF.vcxproj:
778         * WTF.xcodeproj/project.pbxproj:
779         * wtf/CMakeLists.txt:
780         * wtf/HashMethod.h: Added.
781         (WTF::HashMethod::operator()):
782
783 2014-02-13  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
784
785         Code cleanup: remove gcc<4.7 guards.
786         https://bugs.webkit.org/show_bug.cgi?id=128729
787
788         Reviewed by Anders Carlsson.
789
790         Remove GCC_VERSION_AT_LEAST guards when it checks for pre-4.7 versions,
791         as WK does not compile with earlier gcc versions.
792
793         * wtf/Assertions.cpp:
794         * wtf/Platform.h:
795
796 2014-02-12  Mark Lam  <mark.lam@apple.com>
797
798         No need to save reservedZoneSize when dropping the JSLock.
799         <https://webkit.org/b/128719>
800
801         Reviewed by Geoffrey Garen.
802
803         * wtf/WTFThreadData.cpp:
804         (WTF::WTFThreadData::WTFThreadData):
805         * wtf/WTFThreadData.h:
806         - removed unnneeded m_savedReservedZoneSize.
807
808 2014-02-11  Mark Hahnenberg  <mhahnenberg@apple.com>
809
810         32-bit LLInt writeBarrierOnGlobalObject is wrong
811         https://bugs.webkit.org/show_bug.cgi?id=128556
812
813         Reviewed by Geoffrey Garen.
814
815         * wtf/Platform.h: Removed OBJECT_MARK_LOGGING from Platform.h since it already exists in FeatureDefines.h
816
817 2014-02-11  peavo@outlook.com  <peavo@outlook.com>
818
819         [WinCairo] Compile error, deleted file in WTF.
820         https://bugs.webkit.org/show_bug.cgi?id=128601
821
822         Reviewed by Csaba Osztrogonác.
823
824         * WTF.vcxproj/WTF.vcxproj: Removed reference to deleted file.
825         * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
826
827 2014-02-10  Michael Saboff  <msaboff@apple.com>
828
829         Re-enable ARM Thumb2 disassembler
830         https://bugs.webkit.org/show_bug.cgi?id=128577
831
832         Reviewed by Filip Pizlo.
833
834         Added definition of WTF_USE_ARMV7_DISASSEMBLER back to Platform.h
835
836         * wtf/Platform.h:
837
838 2014-02-10  Benjamin Poulain  <benjamin@webkit.org>
839
840         Add the basic infrastructure to compile attributes matching in selectors
841         https://bugs.webkit.org/show_bug.cgi?id=128484
842
843         Reviewed by Gavin Barraclough.
844
845         * wtf/Vector.h:
846         (WTF::VectorBufferBase::bufferMemoryOffset):
847         (WTF::Vector::sizeMemoryOffset):
848         (WTF::Vector::dataMemoryOffset):
849         Expose the memory offsets of Vector::size() and the memory buffer pointer for the JIT.
850
851 2014-02-10  Enrica Casucci  <enrica@apple.com>
852
853         copyShortASCIIString crashes on iOS after r163793.
854         https://bugs.webkit.org/show_bug.cgi?id=128548.
855
856         Reviewed by Alexey Proskuryakov.
857
858         Adding null check.
859
860         * wtf/unicode/icu/CollatorICU.cpp:
861         (WTF::copyShortASCIIString):
862
863 2014-02-10  Carlos Garcia Campos  <cgarcia@igalia.com>
864
865         [GLIB] Add GUniqueOutPtr and use it instead of GOwnPtr
866         https://bugs.webkit.org/show_bug.cgi?id=127554
867
868         Reviewed by Gustavo Noronha Silva.
869
870         GUniqueOutPtr is a simplified version of GOwnPtr for the cases
871         where we need the address of the contained pointer. GUniqueOutPtr
872         uses GUniquePtr to free the contained object and to release the
873         container pointer. The API is very simple to make sure this is
874         only used when outPtr() is needed. It can't be constructed with a
875         pointer, and there's not method to set a new pointer. Another
876         difference with the old GOwnPtr is that outPtr() can be used
877         multiple times, because it frees any pointer previously set.
878
879         * GNUmakefile.list.am:
880         * wtf/PlatformEfl.cmake:
881         * wtf/PlatformGTK.cmake:
882         * wtf/gobject/GOwnPtr.cpp: Removed.
883         * wtf/gobject/GOwnPtr.h: Removed.
884         * wtf/gobject/GUniquePtr.h:
885         (WTF::GUniqueOutPtr::GUniqueOutPtr):
886         (WTF::GUniqueOutPtr::~GUniqueOutPtr):
887         (WTF::GUniqueOutPtr::outPtr):
888         (WTF::GUniqueOutPtr::reset):
889         (WTF::GUniqueOutPtr::release):
890         (WTF::GUniqueOutPtr::operator*):
891         (WTF::GUniqueOutPtr::operator->):
892         (WTF::GUniqueOutPtr::get):
893         (WTF::GUniqueOutPtr::operator!):
894         (WTF::GUniqueOutPtr::operator UnspecifiedBoolType):
895
896 2014-02-10  Darin Adler  <darin@apple.com>
897
898         Stop using String::deprecatedCharacters to call WTF::Collator
899         https://bugs.webkit.org/show_bug.cgi?id=128517
900
901         WTF passes ICU’s deprecated ULOC_REQUESTED_LOCALE to ucol_getLocaleByType()
902         rdar://problem/15183390
903
904         Reviewed by Alexey Proskuryakov.
905
906         This patch fixes both bugs above by reworking WTF::Collator.
907
908         * wtf/unicode/Collator.h: Fixed formatting. Got rid of the Collator::Result type,
909         since the collator uses the same return value scheme as strcmp and as ICU; an int
910         will do for the return type. Simplified the support for UCONFIG_NO_COLLATION by
911         using a separate copy of the class definition. (We should check if anyone needs
912         UCONFIG_NO_COLLATION support, and remove it if not.) Changed the lower-first flag
913         from a separate function to a constructor argument. Changed the arguments to
914         the collate function to StringView. Added a collate UTF8 function. Changed the
915         m_collate data member to no longer be mutable since we no longer allocate it lazily.
916
917         * wtf/unicode/CollatorDefault.cpp:
918         (WTF::Collator::collate): Rewrote to be simpler.
919         (WTF::Collator::collateUTF8): Added. Converts from UTF-8 to a String and then calls
920         the collate function above.
921
922         * wtf/unicode/icu/CollatorICU.cpp: Added a FIXME about the fact that this file
923         has the wrong name and location. Since we always use ICU, there's no need to mention
924         it in the file name.
925         (WTF::copyASCIIString): Added.
926         (WTF::copyDefaultLocale): Added.
927         (WTF::resolveDefaultLocale): Added. Maps null locale to a default on Mac and iOS,
928         since on those platforms ICU does not use the correct default locale when passed null.
929         (WTF::localesMatch): Added.
930         (WTF::Collator::Collator): Moved most of the code from createCollator here.
931         Simplified it by storing the collator configuration along with the collator in globals.
932         (WTF::Collator::~Collator): Moved most of the code from releaseCollator here.
933         (WTF::getIndexLatin1): Added.
934         (WTF::moveLatin1): Added.
935         (WTF::hasNextLatin1): Added.
936         (WTF::hasPreviousLatin1): Added.
937         (WTF::currentLatin1): Added.
938         (WTF::nextLatin1): Added.
939         (WTF::previousLatin1): Added.
940         (WTF::getStateLatin1): Added.
941         (WTF::setStateLatin1): Added.
942         (WTF::createLatin1Iterator): Added. Uses the functions above to make a UCharIterator
943         that works for a WTF::StringView-style Latin-1 string.
944         (WTF::createIterator): Added. Uses either createLatin1Iterator or uiter_setString to
945         make a UCharIterator that works for a WTF::StringView.
946         (WTF::Collator::collate): Changed to use ucol_strcollIter.
947         (WTF::createIteratorUTF8): Added. Uses uiter_setUTF8.
948         (WTF::Collator::collateUTF8): Added. Like collate, but for null-terminated UTF-8 strings.
949
950 2014-02-10  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
951
952         Code cleanup: Remove BUILDING_ON / TARGETING definitions.
953         https://bugs.webkit.org/show_bug.cgi?id=128242
954
955         Reviewed by Brent Fulgham.
956
957         The BUILDING_ON_* and TARGETING_* macros have not been used for a while.
958         According to the FIXME: they are removed.
959
960         * wtf/Platform.h:
961
962 2014-02-09  Anders Carlsson  <andersca@apple.com>
963
964         Add WTF_MAKE_FAST_ALLOCATED to more classes
965         https://bugs.webkit.org/show_bug.cgi?id=128506
966
967         Reviewed by Andreas Kling.
968
969         * wtf/Bag.h:
970         * wtf/ListHashSet.h:
971
972 2014-02-08  Anders Carlsson  <andersca@apple.com>
973
974         Stop using getCharactersWithUpconvert in JavaScriptCore
975         https://bugs.webkit.org/show_bug.cgi?id=128457
976
977         Reviewed by Andreas Kling.
978
979         * wtf/text/StringBuilder.h:
980         (WTF::StringBuilder::append):
981         Add a new overload that takes a StringView.
982
983         * wtf/text/StringView.h:
984         (WTF::StringView::find):
985         Add new find member function.
986
987 2014-02-08  Darin Adler  <darin@apple.com>
988
989         Change TextIterator to use StringView, preparing to wean it from deprecatedCharacters
990         https://bugs.webkit.org/show_bug.cgi?id=128233
991
992         Reviewed by Anders Carlsson.
993
994         * WTF.xcodeproj/project.pbxproj: Added new source files.
995
996         * wtf/text/StringView.h: Added operator[], createCFStringWithoutCopying, and
997         createNSStringWithoutCopying.
998         * wtf/text/cf/StringViewCF.cpp:
999         (WTF::StringView::createCFStringWithoutCopying): Added.
1000         * wtf/text/mac/StringViewObjC.mm:
1001         (WTF::StringView::createNSString): Added.
1002         (WTF::StringView::createNSStringWithoutCopying): Added.
1003
1004 2014-02-06  Andreas Kling  <akling@apple.com>
1005
1006         Remove unused ENABLE(REPAINT_THROTTLING) flag.
1007         <https://webkit.org/b/128329>
1008
1009         Reviewed by Antti Koivisto.
1010
1011         * wtf/FeatureDefines.h:
1012
1013 2014-02-06  Filip Pizlo  <fpizlo@apple.com>
1014
1015         More FTL build scaffolding
1016         https://bugs.webkit.org/show_bug.cgi?id=128330
1017
1018         Reviewed by Geoffrey Garen.
1019
1020         * wtf/Platform.h:
1021
1022 2014-02-06  Anders Carlsson  <andersca@apple.com>
1023
1024         Use std::chrono functions in dispatchFunctionsFromMainThread()
1025         https://bugs.webkit.org/show_bug.cgi?id=128308
1026
1027         Reviewed by Antti Koivisto.
1028
1029         * wtf/MainThread.cpp:
1030         (WTF::dispatchFunctionsFromMainThread):
1031
1032 2014-02-05  Zan Dobersek  <zdobersek@igalia.com>
1033
1034         Remove the WTF_COMPILER_SUPPORTS_CXX_GENERALIZED_INITIALIZERS macro
1035         https://bugs.webkit.org/show_bug.cgi?id=128267
1036
1037         Reviewed by Andreas Kling.
1038
1039         Remove the WTF_COMPILER_SUPPORTS_CXX_GENERALIZED_INITIALIZERS macro that was manually defined for compilers
1040         that support the C++11 initializer lists. The feature is well supported in Clang, MSVC and also GCC. It
1041         was actually already used unguarded in HashSet.
1042
1043         * wtf/Compiler.h:
1044         * wtf/HashMap.h:
1045         (WTF::HashMap::HashMap):
1046         * wtf/Vector.h:
1047         (WTF::Vector::Vector):
1048
1049 2014-02-05  Andreas Kling  <akling@apple.com>
1050
1051         Remove ENABLE(DIRECTORY_UPLOAD).
1052         <https://webkit.org/b/128275>
1053
1054         Rubber-stamped by Ryosuke Niwa.
1055
1056         * wtf/FeatureDefines.h:
1057
1058 2014-02-05  Carlos Garcia Campos  <cgarcia@igalia.com>
1059
1060         HashMap can't be used with std::unique_ptr as value when it has a custom deleter
1061         https://bugs.webkit.org/show_bug.cgi?id=128250
1062
1063         Reviewed by Darin Adler.
1064
1065         The problem is that the HashMap is using a unique_ptr with the
1066         default deleter, so that when trying to move the unique_ptr the
1067         deleters don't match.
1068
1069         * wtf/HashTraits.h: Add the deleter also in the template
1070         definitation of the parent class for the HashTraits<std::unique_ptr<T, Deleter>>
1071
1072 2014-02-05  Csaba Osztrogonác  <ossy@webkit.org>
1073
1074         Remove ENABLE(SVG) guards
1075         https://bugs.webkit.org/show_bug.cgi?id=127991
1076
1077         Reviewed by Sam Weinig.
1078
1079         * wtf/FeatureDefines.h:
1080
1081 2014-02-04  Mark Lam  <mark.lam@apple.com>
1082
1083         The stack limit computation does not work for Windows.
1084         <https://webkit.org/b/128226>
1085
1086         Reviewed by Geoffrey Garen.
1087
1088         The current stack limit computation assumes that the stack is allocated
1089         in high memory. On Windows, the stack seems to be allocated very near
1090         address 0, and is smaller in size than our Options::maxPerThreadStackUsage().
1091         This combination triggers a bug where StackBounds::recursionLimit()
1092         underflows and computes a limit address that is ridiculously high in memory.
1093         The net effect is that the Windows port thinks its out of stack space all
1094         the time.
1095
1096         We now check for potential underflows in StackBounds and return an
1097         appropriate limit address.
1098
1099         * wtf/StackBounds.h:
1100         (WTF::StackBounds::recursionLimit):
1101
1102 2014-02-04  Andreas Kling  <akling@apple.com>
1103
1104         Remove <iframe seamless> support.
1105         <https://webkit.org/b/128213>
1106
1107         Rubber-stamped by Antti Koivisto.
1108
1109         * wtf/FeatureDefines.h:
1110
1111 2014-02-04  Anders Carlsson  <andersca@apple.com>
1112
1113         Store StringImpl substring backpointers as tail data
1114         https://bugs.webkit.org/show_bug.cgi?id=128220
1115
1116         Reviewed by Geoffrey Garen.
1117
1118         This lets us get rid of m_substringBuffer from the union.
1119
1120         * wtf/text/StringImpl.cpp:
1121         (WTF::StringImpl::~StringImpl):
1122         (WTF::StringImpl::getData16SlowCase):
1123         * wtf/text/StringImpl.h:
1124         (WTF::StringImpl::StringImpl):
1125         (WTF::StringImpl::createSubstringSharingImpl8):
1126         (WTF::StringImpl::createSubstringSharingImpl):
1127         (WTF::StringImpl::cost):
1128         (WTF::StringImpl::costDuringGC):
1129         (WTF::StringImpl::substringBuffer):
1130
1131 2014-02-04  Anders Carlsson  <andersca@apple.com>
1132
1133         Rename the substring sharing StringImpl::create variants to better indicate what they do
1134         https://bugs.webkit.org/show_bug.cgi?id=128214
1135
1136         Reviewed by Geoffrey Garen.
1137
1138         * wtf/text/AtomicString.cpp:
1139         (WTF::SubstringTranslator::translate):
1140         * wtf/text/StringBuilder.cpp:
1141         (WTF::StringBuilder::reifyString):
1142         (WTF::StringBuilder::resize):
1143         * wtf/text/StringImpl.h:
1144         (WTF::StringImpl::createSubstringSharingImpl8):
1145         (WTF::StringImpl::createSubstringSharingImpl):
1146         * wtf/text/WTFString.cpp:
1147         (WTF::String::substringSharingImpl):
1148
1149 2014-02-04  Alexey Proskuryakov  <ap@apple.com>
1150
1151         WebCrypto HMAC verification uses a non-constant-time memcmp
1152         https://bugs.webkit.org/show_bug.cgi?id=128198
1153         <rdar://problem/15976961>
1154
1155         Reviewed by Oliver Hunt.
1156
1157         Added a "constant time" memcmp that doesn't depend on data. The name is somewhat
1158         strange, as the function is of course O(length) and not constant time at all,
1159         but apparently this is how everyone calls such functions.
1160
1161         * GNUmakefile.list.am:
1162         * WTF.vcxproj/WTF.vcxproj:
1163         * WTF.vcxproj/WTF.vcxproj.filters:
1164         * WTF.xcodeproj/project.pbxproj:
1165         * wtf/CMakeLists.txt:
1166         * wtf/CryptographicUtilities.cpp: Added. (WTF::constantTimeMemcmp):
1167         * wtf/CryptographicUtilities.h: Added.
1168
1169 2014-02-04  Anders Carlsson  <andersca@apple.com>
1170
1171         Rename StringImpl::getCharacters to StringImpl::characters
1172         https://bugs.webkit.org/show_bug.cgi?id=128205
1173
1174         Reviewed by Antti Koivisto.
1175
1176         This lets us use StringImpl::getCharacters for the upconverting version.
1177         Also, change StringImpl::characters<UChar>() to call characters16() instead of deprecatedCharacters()
1178         and audit all call sites to make sure we weren't relying on upconversion anywhere.
1179
1180         * wtf/text/AtomicString.cpp:
1181         (WTF::findString):
1182         * wtf/text/StringImpl.cpp:
1183         (WTF::StringImpl::simplifyMatchedCharactersToSpace):
1184         * wtf/text/StringImpl.h:
1185         (WTF::StringImpl::characters<LChar>):
1186         (WTF::StringImpl::characters<UChar>):
1187
1188 2014-02-04  Anders Carlsson  <andersca@apple.com>
1189
1190         Rename equalNonNull to equal and make it take const StringImpl& instead
1191         https://bugs.webkit.org/show_bug.cgi?id=128206
1192
1193         Reviewed by Andreas Kling.
1194
1195         * wtf/text/StringHash.h:
1196         (WTF::StringHash::equal):
1197         * wtf/text/StringImpl.cpp:
1198         (WTF::stringImplContentEqual):
1199         (WTF::equal):
1200         * wtf/text/StringImpl.h:
1201
1202 2014-02-04  Anders Carlsson  <andersca@apple.com>
1203
1204         Get rid of StringImpl::m_buffer
1205         https://bugs.webkit.org/show_bug.cgi?id=128200
1206
1207         Reviewed by Michael Saboff.
1208
1209         Trade one lousy hack for another by changing the CreateEmptyUnique StringImpl
1210         constructor to initialize its character buffer to point to m_length instead
1211         since it will always be null.
1212
1213         Also change it to be an 8-bit string because why not.
1214
1215         * wtf/text/StringImpl.h:
1216         (WTF::StringImpl::StringImpl):
1217
1218 2014-02-04  Anders Carlsson  <andersca@apple.com>
1219
1220         Rename String::getCharacters to String::characters
1221         https://bugs.webkit.org/show_bug.cgi?id=128196
1222
1223         Reviewed by Andreas Kling.
1224
1225         This means String::characters() will end up calling either characters8() or characters16() which
1226         makes more logical sense. It also frees up the getCharacters name so we can use it for a new function
1227         that will do upconversion.
1228         
1229         * wtf/text/StringBuilder.cpp:
1230         (WTF::StringBuilder::appendUninitializedSlow):
1231         * wtf/text/WTFString.h:
1232         (WTF::String::characters<LChar>):
1233         (WTF::String::characters<UChar>):
1234
1235 2014-02-03  Anders Carlsson  <andersca@apple.com>
1236
1237         Fix Windows build.
1238
1239         * wtf/text/StringImpl.h:
1240         (WTF::StringImpl::tailOffset):
1241
1242 2014-02-03  Anders Carlsson  <andersca@apple.com>
1243
1244         StringImpl::tailOffset() should return the offset right after m_hashAndFlags
1245         https://bugs.webkit.org/show_bug.cgi?id=128141
1246
1247         Reviewed by Andreas Kling.
1248
1249         * wtf/text/StringImpl.h:
1250         (WTF::StringImpl::tailOffset):
1251
1252 2014-02-03  Anders Carlsson  <andersca@apple.com>
1253
1254         More tail pointer consolidation
1255         https://bugs.webkit.org/show_bug.cgi?id=128139
1256
1257         Reviewed by Andreas Kling.
1258
1259         Add a new tailOffset() function and reimplement allocationSize() and tailPointer()
1260         in terms of it. Use tailPointer() instead of reinterpret_cast-ing this + 1.
1261
1262         * wtf/text/StringImpl.cpp:
1263         (WTF::StringImpl::createUninitializedInternalNonEmpty):
1264         * wtf/text/StringImpl.h:
1265         (WTF::StringImpl::StringImpl):
1266         (WTF::StringImpl::requiresCopy):
1267         (WTF::StringImpl::allocationSize):
1268         (WTF::StringImpl::tailOffset):
1269         (WTF::StringImpl::tailPointer):
1270
1271 2014-02-03  Gustavo Noronha Silva  <gns@gnome.org>
1272
1273         [GTK][CMake] Enable SUBPIXEL_LAYOUT in FeatureDefines.h like EFL does
1274         https://bugs.webkit.org/show_bug.cgi?id=128136
1275
1276         Reviewed by Martin Robinson.
1277
1278         * wtf/FeatureDefines.h: enable SUBPIXEL_LAYOUT if it's not set, for GTK+.
1279
1280 2014-02-03  Mark Hahnenberg  <mhahnenberg@apple.com>
1281
1282         Turn GenGC on
1283         https://bugs.webkit.org/show_bug.cgi?id=128109
1284
1285         Reviewed by Oliver Hunt.
1286
1287         * wtf/Platform.h: Initially it will only be enabled for X86-64.
1288
1289 2014-02-03  Anders Carlsson  <andersca@apple.com>
1290
1291         Consolidate StringImpl tail handling into two functions
1292         https://bugs.webkit.org/show_bug.cgi?id=128122
1293
1294         Reviewed by Andreas Kling.
1295
1296         * wtf/text/StringImpl.cpp:
1297         (WTF::StringImpl::createUninitializedInternalNonEmpty):
1298         (WTF::StringImpl::reallocateInternal):
1299         * wtf/text/StringImpl.h:
1300         (WTF::StringImpl::tryCreateUninitialized):
1301         (WTF::StringImpl::allocationSize):
1302         (WTF::StringImpl::tailPointer):
1303
1304 2014-02-03  Darin Adler  <darin@apple.com>
1305
1306         Remove Unicode.h
1307         https://bugs.webkit.org/show_bug.cgi?id=128106
1308
1309         Reviewed by Anders Carlsson.
1310
1311         * GNUmakefile.list.am: Removed files.
1312         * WTF.vcxproj/WTF.vcxproj: Ditto.
1313         * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
1314         * WTF.xcodeproj/project.pbxproj: Ditto.
1315         * wtf/CMakeLists.txt: Ditto.
1316
1317         * wtf/unicode/ScriptCodesFromICU.h: Removed.
1318         * wtf/unicode/Unicode.h: Removed.
1319         * wtf/unicode/UnicodeMacrosFromICU.h: Removed.
1320         * wtf/unicode/icu/UnicodeIcu.h: Removed.
1321         * wtf/unicode/wchar/UnicodeWchar.cpp: Removed.
1322         * wtf/unicode/wchar/UnicodeWchar.h: Removed.
1323
1324 2014-01-25  Darin Adler  <darin@apple.com>
1325
1326         Stop using Unicode.h
1327         https://bugs.webkit.org/show_bug.cgi?id=127633
1328
1329         Reviewed by Anders Carlsson.
1330
1331         * wtf/StringHasher.h:
1332         * wtf/dtoa.h:
1333         * wtf/text/ASCIIFastPath.h:
1334         * wtf/text/LChar.h:
1335         * wtf/text/StringBuffer.h:
1336         * wtf/text/StringImpl.h:
1337         * wtf/text/WTFString.cpp:
1338         * wtf/unicode/CharacterNames.h:
1339         * wtf/unicode/Collator.h:
1340         * wtf/unicode/UTF8.h:
1341         Removed includes of <wtf/unicode/Unicode.h>, adding includes of
1342         ICU headers and <wtf/text/LChar.h> as needed to replace it.
1343
1344 2014-02-02  Darin Adler  <darin@apple.com>
1345
1346         Obey "delete this" comments, including deleting String::characters and friends
1347         https://bugs.webkit.org/show_bug.cgi?id=126865
1348
1349         Reviewed by Andreas Kling.
1350
1351         * wtf/text/AtomicString.h: Deleted the characters function.
1352         * wtf/text/StringBuilder.h: Deleted the characters function, leaving behind the
1353         deprecatedCharacters function.
1354         * wtf/text/StringImpl.h: Ditto.
1355         * wtf/text/WTFString.h: Ditto. Also added a constructor that takes a StringImpl&,
1356         helpful for later string refactoring.
1357
1358 2014-02-02  Dan Bernstein  <mitz@apple.com>
1359
1360         Stop using PLATFORM(MAC) in WTF except where it means “OS X but not iOS”
1361         https://bugs.webkit.org/show_bug.cgi?id=128089
1362
1363         Reviewed by Darin Adler.
1364
1365         Replaced all uses of PLATFORM(MAC) that weren’t accompanied by !PLATFORM(IOS) with
1366         equivalent(*) tests that are more idiomatic and will not change once PLATFORM(MAC) changes to
1367         be false when building for iOS.
1368
1369         * - One exception noted below.
1370
1371         * wtf/AutodrainedPool.h: Changed PLATFORM(MAC) to USE(FOUNDATION), because NSAutoreleasePool
1372         is a Foundation class.
1373
1374         * wtf/CurrentTime.cpp:
1375         (WTF::monotonicallyIncreasingTime): Changed PLATFORM(MAC) to OS(DARWIN), because Mach is
1376         part of the Darwin kernel, but reordered such that the EFL and GLIB implementations continue
1377         to take precedence regardless of the OS.
1378
1379         * wtf/MainThread.cpp: Changed PLATFORM(MAC) to OS(DARWIN) && !PLATFORM(EFL) && !PLATFORM(GTK).
1380         * wtf/MainThread.h: Ditto.
1381
1382         * wtf/Platform.h: Changed USE(CG) and USE(CA) to depend on COCOA, rather than MAC or IOS.
1383         Ditto for USE(CFURLCACHE), HAVE(ACCESSIBILITY), USE(PROTECTION_SPACE_AUTH_CALLBACK),
1384         USE(ACCESSIBILITY_CONTEXT_MENUS), USE(EXPORT_MACROS), USE(AVFOUNDATION),
1385         USE(REQUEST_ANIMATION_FRAME_TIMER), USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR),
1386         USE(CONTENT_FILTERING), USE(UNIFIED_TEXT_CHECKING), USE(MARKER_REMOVAL_UPON_EDITING),
1387         USE(AUDIO_SESSION), USE(IOSURFACE), and ENABLE(CSS3_TEXT_DECORATION_SKIP_INK). Changed
1388         PLATFORM(MAC) to OS(DARWIN) && !PLATFORM(EFL) && !PLATFORM(GTK) in controlling various
1389         JavaScriptCore or JavaScriptCore-dependent behaviors.
1390
1391         * wtf/RunLoop.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
1392         * wtf/RunLoopTimerCF.cpp: Ditto.
1393
1394         * wtf/SchedulePair.h: Changed PLATFORM(MAC) to USE(FOUNDATION), since it was used to guard
1395         usage of Foundation API.
1396
1397         * wtf/Threading.cpp: Added an explicit !PLATFORM(IOS) in a guard around something needed
1398         only on OS X and Windows.
1399
1400 2014-01-31  Benjamin Poulain  <bpoulain@apple.com>
1401
1402         Remove LEGACY_VIEWPORT_ADAPTION
1403         https://bugs.webkit.org/show_bug.cgi?id=128028
1404
1405         Reviewed by Anders Carlsson.
1406
1407         * wtf/FeatureDefines.h:
1408
1409 2014-01-31  Tim Horton  <timothy_horton@apple.com>
1410
1411         [wk2] PlatformCALayerRemoteCustom doesn't work on iOS
1412         https://bugs.webkit.org/show_bug.cgi?id=128025
1413         <rdar://problem/15950271>
1414
1415         Reviewed by Simon Fraser.
1416
1417         * wtf/Platform.h:
1418         Rename HAVE_LAYER_HOSTING_IN_WINDOW_SERVER to HAVE_OUT_OF_PROCESS_LAYER_HOSTING
1419         and make it true on iOS.
1420
1421 2014-01-31  Michael Saboff  <msaboff@apple.com>
1422
1423         REGRESSION: Crash in sanitizeStackForVMImpl when scrolling @ lifehacker.com.au
1424         https://bugs.webkit.org/show_bug.cgi?id=128017
1425
1426         Reviewed by Filip Pizlo.
1427
1428         Moved the setting and saving of VM::stackPointerAtVMEntry and the corresponding stack limit
1429         to JSLock and JSLock::DropAllLocks.  The saved data is now stored in per-thread in
1430         WTFThreadData.
1431
1432         * wtf/WTFThreadData.cpp:
1433         (WTF::WTFThreadData::WTFThreadData):
1434         * wtf/WTFThreadData.h:
1435         (WTF::WTFThreadData::savedStackPointerAtVMEntry):
1436         (WTF::WTFThreadData::setSavedStackPointerAtVMEntry):
1437         (WTF::WTFThreadData::savedLastStackTop):
1438         (WTF::WTFThreadData::setSavedLastStackTop):
1439         (WTF::WTFThreadData::savedReservedZoneSize):
1440         (WTF::WTFThreadData::setSavedReservedZoneSize):
1441
1442 2014-01-30  Andrei Bucur  <abucur@adobe.com>
1443
1444         Remove the ACCELERATED_COMPOSITING flag
1445         https://bugs.webkit.org/show_bug.cgi?id=127833
1446
1447         Reviewed by Antti Koivisto.
1448
1449         Remove the USE(ACCELERATED_COMPOSITING) conditionals from the code base and make AC
1450         mandatory.
1451
1452         * wtf/OwnPtrCommon.h:
1453         * wtf/Platform.h:
1454         * wtf/efl/OwnPtrEfl.cpp:
1455         (WTF::deleteOwnedPtr):
1456
1457 2014-01-28  Michael Saboff  <msaboff@apple.com>
1458
1459         Merge the jsCStack branch
1460         https://bugs.webkit.org/show_bug.cgi?id=127763
1461
1462         Reviewed by Mark Hahnenberg.
1463
1464         Changes from http://svn.webkit.org/repository/webkit/branches/jsCStack
1465         up to changeset 162958.
1466
1467 2014-01-29  Csaba Osztrogonác  <ossy@webkit.org>
1468
1469         Remove ENABLE(JAVASCRIPT_DEBUGGER) guards
1470         https://bugs.webkit.org/show_bug.cgi?id=127840
1471
1472         Reviewed by Mark Lam.
1473
1474         * wtf/FeatureDefines.h:
1475
1476 2014-01-28  Anders Carlsson  <andersca@apple.com>
1477
1478         Actually turn stack stats back off.
1479
1480         * wtf/StackStats.cpp:
1481         * wtf/StackStats.h:
1482
1483 2014-01-28  Anders Carlsson  <andersca@apple.com>
1484
1485         Turn stack stats back off.
1486
1487         * wtf/StackStats.cpp:
1488
1489 2014-01-28  Anders Carlsson  <andersca@apple.com>
1490
1491         Use std::mutex instead of WTF::Mutex in WTF
1492         https://bugs.webkit.org/show_bug.cgi?id=127783
1493
1494         Reviewed by Antti Koivisto.
1495
1496         * wtf/CryptographicallyRandomNumber.cpp:
1497         * wtf/MainThread.cpp:
1498         (WTF::mainThreadFunctionQueueMutex):
1499         (WTF::functionQueue):
1500         (WTF::dispatchFunctionsFromMainThread):
1501         (WTF::callOnMainThread):
1502         (WTF::cancelCallOnMainThread):
1503         * wtf/StackStats.cpp:
1504         (WTF::StackStats::initialize):
1505         (WTF::StackStats::CheckPoint::CheckPoint):
1506         (WTF::StackStats::CheckPoint::~CheckPoint):
1507         (WTF::StackStats::probe):
1508         (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint):
1509         (WTF::StackStats::LayoutCheckPoint::~LayoutCheckPoint):
1510         * wtf/StackStats.h:
1511
1512 2014-01-27  Joseph Pecoraro  <pecoraro@apple.com>
1513
1514         WebCore: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where needed
1515         https://bugs.webkit.org/show_bug.cgi?id=127671
1516
1517         Reviewed by Ryosuke Niwa.
1518
1519         * wtf/text/WTFString.h:
1520         (WTF::appendNumber):
1521
1522 2014-01-27  Jer Noble  <jer.noble@apple.com>
1523
1524         [WK2] callOnMainThread() from main thread sometimes results in ASSERTs.
1525         https://bugs.webkit.org/show_bug.cgi?id=127370
1526
1527         Reviewed by Alexey Proskuryakov.
1528
1529         When WEB_THREAD is enabled, and callOnMainThread() is called from the main
1530         thread, if the web thread is locked, a timer is set and the passed-in function
1531         is called on the next run-loop. However, by that time the web thread may have
1532         been unlocked, and isMainThread() will no longer return true, resulting in
1533         an assert.
1534
1535         Instead, scheduleDispatchFunctionsOnMainThread() should check isWebThread(),
1536         which is equivalent to isMainThread() when the WEB_THREAD is disabled, but
1537         will do the correct thing when WEB_THREAD is enabled.
1538
1539         * wtf/mac/MainThreadMac.mm:
1540         (WTF::scheduleDispatchFunctionsOnMainThread):
1541
1542 2014-01-27  Dan Bernstein  <mitz@apple.com>
1543
1544         Build fix.
1545
1546         * wtf/ThreadSafeRefCounted.h: Added a necessary #include.
1547
1548 2014-01-25  Sam Weinig  <sam@webkit.org>
1549
1550         Remove unused support for DRAGGABLE_REGION
1551         https://bugs.webkit.org/show_bug.cgi?id=127642
1552
1553         Reviewed by Simon Fraser.
1554
1555         * wtf/FeatureDefines.h:
1556
1557 2014-01-25  Joseph Pecoraro  <pecoraro@apple.com>
1558
1559         Add FALLTHROUGH and -Wimplicit-fallthrough to warn about unannotated implicit fallthroughs in switches
1560         https://bugs.webkit.org/show_bug.cgi?id=127637
1561
1562         Reviewed by Darin Adler.
1563
1564         For information about [[clang::fallthrough]], see:
1565         <http://clang.llvm.org/docs/LanguageExtensions.html#the-clang-fallthrough-attribute>
1566
1567         * Configurations/Base.xcconfig:
1568         Enable -Wimplicit-fallthrough warnings.
1569
1570         * wtf/Compiler.h:
1571         Define FALLTHROUGH on clang and fallback to outputing nothing when unsupported.
1572
1573         * wtf/dtoa/fast-dtoa.cc:
1574         * wtf/unicode/UTF8.cpp:
1575         (WTF::Unicode::convertLatin1ToUTF8):
1576         (WTF::Unicode::convertUTF16ToUTF8):
1577         (WTF::Unicode::isLegalUTF8):
1578         (WTF::Unicode::readUTF8Sequence):
1579         Explicitly annotate implicit fallthroughs with FALLTHROUGH.
1580
1581 2014-01-25  Darin Adler  <darin@apple.com>
1582
1583         Call deprecatedCharacters instead of characters at more call sites
1584         https://bugs.webkit.org/show_bug.cgi?id=127631
1585
1586         Reviewed by Sam Weinig.
1587
1588         * wtf/text/StringImpl.cpp:
1589         (WTF::StringImpl::replace):
1590         * wtf/text/WTFString.h:
1591         (WTF::String::isAllSpecialCharacters):
1592         Use the new name.
1593
1594 2014-01-25  Darin Adler  <darin@apple.com>
1595
1596         Add a new separate LChar.h header file, to be used after we remove Unicode.h
1597         https://bugs.webkit.org/show_bug.cgi?id=127630
1598
1599         Reviewed by Sam Weinig.
1600
1601         * GNUmakefile.list.am: Added the new file
1602         * WTF.vcxproj/WTF.vcxproj: Ditto.
1603         * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
1604         * WTF.xcodeproj/project.pbxproj: Ditto.
1605         * wtf/CMakeLists.txt: Ditto.
1606         * wtf/text/LChar.h: Added.
1607
1608 2014-01-25  Darin Adler  <darin@apple.com>
1609
1610         Get rid of ICU_UNICODE and WCHAR_UNICODE remnants
1611         https://bugs.webkit.org/show_bug.cgi?id=127623
1612
1613         Reviewed by Anders Carlsson.
1614
1615         * wtf/CMakeLists.txt: Removed WTF_USE_ICU_UNICODE and
1616         WTF_USE_WCHAR_UNICODE since they are true and false respectively.
1617
1618         * wtf/Platform.h: Removed code to set WTF_USE_ICU_UNICODE.
1619
1620         * wtf/unicode/Collator.h: Removed ifdefs.
1621         * wtf/unicode/CollatorDefault.cpp: Ditto.
1622         * wtf/unicode/Unicode.h: Ditto.
1623         * wtf/unicode/icu/CollatorICU.cpp: Ditto.
1624
1625 2014-01-25  Anders Carlsson  <andersca@apple.com>
1626
1627         Remove atomicIncrement/atomicDecrement
1628         https://bugs.webkit.org/show_bug.cgi?id=127625
1629
1630         Reviewed by Andreas Kling.
1631
1632         Replace atomicIncrement/atomicDecrement with std::atomic.
1633
1634         * wtf/Atomics.h:
1635         * wtf/RefCountedLeakCounter.cpp:
1636         (WTF::RefCountedLeakCounter::~RefCountedLeakCounter):
1637         (WTF::RefCountedLeakCounter::increment):
1638         (WTF::RefCountedLeakCounter::decrement):
1639         * wtf/RefCountedLeakCounter.h:
1640         * wtf/ThreadSafeRefCounted.h:
1641         (WTF::ThreadSafeRefCountedBase::ref):
1642         (WTF::ThreadSafeRefCountedBase::refCount):
1643         (WTF::ThreadSafeRefCountedBase::derefBase):
1644
1645 2014-01-25  Anders Carlsson  <andersca@apple.com>
1646
1647         Modernize HashTable threading code
1648         https://bugs.webkit.org/show_bug.cgi?id=127621
1649
1650         Reviewed by Darin Adler.
1651
1652         Use std::mutex and std::atomic instead of WTF threading primitives.
1653
1654         * wtf/DynamicAnnotations.h:
1655         Include Platform.h here since this file relies on USE macros.
1656
1657         * wtf/HashTable.cpp:
1658         (WTF::HashTableStats::recordCollisionAtCount):
1659         Change this to take an unsigned.
1660
1661         (WTF::HashTableStats::dumpStats):
1662         * wtf/HashTable.h:
1663         (WTF::KeyTraits>::HashTable):
1664         (WTF::KeyTraits>::remove):
1665         (WTF::KeyTraits>::invalidateIterators):
1666         Use a single probe counter.
1667
1668         (WTF::addIterator):
1669         (WTF::removeIterator):
1670
1671 2014-01-25  Darin Adler  <darin@apple.com>
1672
1673         Restore alphabetical order in Compiler.h
1674         https://bugs.webkit.org/show_bug.cgi?id=127620
1675
1676         Reviewed by Sam Weinig.
1677
1678         * wtf/Compiler.h: Resorted some things into alphabetical order
1679
1680 2014-01-24  Brent Fulgham  <bfulgham@apple.com>
1681
1682         [Win] Convert some NMake files to MSBuild project files
1683         https://bugs.webkit.org/show_bug.cgi?id=127579
1684
1685         Reviewed by Tim Horton.
1686
1687         * WTF.vcxproj/WTF.make: Removed.
1688         * WTF.vcxproj/WTF.proj: Added.
1689
1690 2014-01-24  Anders Carlsson  <andersca@apple.com>
1691
1692         Get rid of monotonicallyIncreasingTimeMS and start using std::chrono instead
1693         https://bugs.webkit.org/show_bug.cgi?id=127571
1694
1695         Reviewed by Antti Koivisto.
1696
1697         * wtf/Compiler.h:
1698         Add a CONSTEXPR define so we can still use constexpr on compilers that don't support them (MSVC).
1699
1700         * wtf/CurrentTime.h:
1701         Remove monotonicallyIncreasingTimeMS().
1702
1703         * wtf/StdLibExtras.h:
1704         (std::literals::chrono_literals::operator _s):
1705         (std::literals::chrono_literals::operator _ms):
1706         Add _s and _ms literals. Once we switch over to C++14, we can drop them and just use the built-in ones.
1707
1708 2014-01-24  Anders Carlsson  <andersca@apple.com>
1709
1710         The CXX_EXPLICIT_CONVERSIONS COMPILER_SUPPORTS macro has been removed, and all
1711         compilers support explicit conversions now so simply remove the #ifdef.
1712
1713         * wtf/RetainPtr.h:
1714
1715 2014-01-24  Darin Adler  <darin@apple.com>
1716
1717         Simplify Compiler.h
1718         https://bugs.webkit.org/show_bug.cgi?id=127491
1719
1720         Reviewed by Anders Carlsson.
1721
1722         * wtf/Assertions.h: Remove COMPILER_SUPPORTS(CXX_STATIC_ASSERT), since
1723         we now have that for all compilers that can build WebKit.
1724
1725         * wtf/Compiler.h: Removed always true feature flags, including:
1726         COMPILER_SUPPORTS(CXX_VARIADIC_TEMPLATES), COMPILER_SUPPORTS(CXX_RVALUE_REFERENCES),
1727         COMPILER_SUPPORTS(CXX_DELETED_FUNCTIONS), COMPILER_SUPPORTS(CXX_NULLPTR),
1728         COMPILER_SUPPORTS(CXX_EXPLICIT_CONVERSIONS), COMPILER_SUPPORTS(CXX_STATIC_ASSERT),
1729         COMPILER_SUPPORTS(CXX_OVERRIDE_CONTROL), COMPILER_SUPPORTS(CXX_STRONG_ENUMS), and
1730         COMPILER_SUPPORTS(CXX_AUTO_TYPE). Sorted sections alphabetically. Separated out
1731         nested #if and #else into separate checks for greater readability. Removed obsolete
1732         check for COMPILER(RVCT). Removed unused COMPILER(GCCE) detection.
1733
1734         * wtf/RefPtr.h: Remove COMPILER_SUPPORTS(CXX_NULLPTR), since we now have
1735         that for all compilers that can build WebKit.
1736         * wtf/RetainPtr.h: Ditto.
1737
1738 2014-01-23  Max Vujovic  <mvujovic@adobe.com>
1739
1740         Remove CSS Custom Filters code and tests
1741         https://bugs.webkit.org/show_bug.cgi?id=127382
1742
1743         Reviewed by Simon Fraser.
1744
1745         * wtf/FeatureDefines.h:
1746
1747 2014-01-22  Brent Fulgham  <bfulgham@apple.com>
1748
1749         [Win] Update project and solution files for 64-bit builds.
1750         https://bugs.webkit.org/show_bug.cgi?id=127457
1751
1752         Reviewed by Eric Carlson.
1753
1754         * WTF.vcxproj/WTF.submit.sln: Add x64 targets.
1755         * WTF.vcxproj/WTF.vcxproj: Update for VS2013
1756
1757 2014-01-22  Myles C. Maxfield  <mmaxfield@apple.com>
1758
1759         Remove CSS3_TEXT_DECORATION define
1760         https://bugs.webkit.org/show_bug.cgi?id=127333
1761
1762         Reviewed by Simon Fraser.
1763
1764         This is required for unprefixing the text-decoration-* CSS properties.
1765
1766         * wtf/Platform.h:
1767
1768 2014-01-22  Jae Hyun Park  <jae.park@company100.net>
1769
1770         Remove unnecessary include in Noncopyable.h
1771         https://bugs.webkit.org/show_bug.cgi?id=127406
1772
1773         Reviewed by Anders Carlsson.
1774
1775         * wtf/Noncopyable.h: We don't need Compiler.h as of r162198.
1776
1777 2014-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>
1778
1779         [GTK] Add GUniquePtr
1780         https://bugs.webkit.org/show_bug.cgi?id=127170
1781
1782         Reviewed by Gustavo Noronha Silva.
1783
1784         The idea is to replace GOwnPtr with a template alias of
1785         std:unique_ptr. Not everything can be replaced, though, because
1786         GOwnPtr::outPtr() doesn't seem to be possible to implement with
1787         unique_ptr. This smart pointer is more flexible than GOwnPtr and
1788         allows to transfer the ownership of the pointer using
1789         std::move().
1790
1791         * GNUmakefile.list.am: Add new file to compilation.
1792         * wtf/gobject/GUniquePtr.h: Added.
1793         (WTF::GPtrDeleter::operator()):
1794
1795 2014-01-20  Anders Carlsson  <andersca@apple.com>
1796
1797         Remove an unused member variable
1798         https://bugs.webkit.org/show_bug.cgi?id=127295
1799
1800         Reviewed by Antti Koivisto.
1801
1802         * wtf/MainThread.cpp:
1803         (WTF::FunctionWithContext::FunctionWithContext):
1804         (WTF::FunctionWithContext::operator == ):
1805         (WTF::dispatchFunctionsFromMainThread):
1806
1807 2014-01-20  Anders Carlsson  <andersca@apple.com>
1808
1809         Remove MutexTryLocker
1810         https://bugs.webkit.org/show_bug.cgi?id=127294
1811
1812         Reviewed by Antti Koivisto.
1813
1814         MutexTryLocker has been replaced with std::unique_lock with std::try_to_lock everywhere now.
1815
1816         * wtf/ThreadingPrimitives.h:
1817
1818 2014-01-19  Carlos Garcia Campos  <cgarcia@igalia.com>
1819
1820         [GLIB] GVariant floating references are not correctly handled by GRefPtr
1821         https://bugs.webkit.org/show_bug.cgi?id=127246
1822
1823         Reviewed by Martin Robinson.
1824
1825         GRefPtr should always use g_variant_ref_sink to deal with GVariant
1826         floating references. In case of full references,
1827         g_variant_ref_sink calls g_variant_ref, so it's safe to use it always.
1828
1829         * wtf/gobject/GRefPtr.cpp:
1830         (WTF::refGPtr): Use g_variant_ref_sink().
1831
1832 2014-01-18  Anders Carlsson  <andersca@apple.com>
1833
1834         Remove support for the viewsource attribute
1835         https://bugs.webkit.org/show_bug.cgi?id=127232
1836
1837         Reviewed by Andreas Kling.
1838
1839         * wtf/FeatureDefines.h:
1840
1841 2014-01-18  Anders Carlsson  <andersca@apple.com>
1842
1843         Remove ENABLE_THREADED_HTML_PARSER defines everywhere
1844         https://bugs.webkit.org/show_bug.cgi?id=127225
1845
1846         Reviewed by Andreas Kling.
1847
1848         This concludes the removal of over 8.8 million lines of threaded parser code.
1849
1850         * wtf/FeatureDefines.h:
1851
1852 2014-01-17  Anders Carlsson  <andersca@apple.com>
1853
1854         Add a callOnMainThreadAndWait variant in SocketStreamHandle
1855         https://bugs.webkit.org/show_bug.cgi?id=127180
1856
1857         Reviewed by Geoffrey Garen.
1858
1859         Remove callOnMainThreadAndWait from WTF.
1860
1861         * wtf/MainThread.cpp:
1862         * wtf/MainThread.h:
1863
1864 2014-01-17  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
1865
1866         Remove workaround for compilers not supporting deleted functions
1867         https://bugs.webkit.org/show_bug.cgi?id=127166
1868
1869         Reviewed by Andreas Kling.
1870
1871         * wtf/Compiler.h:
1872         * wtf/Noncopyable.h:
1873         * wtf/PassRefPtr.h:
1874
1875 2014-01-16  Benjamin Poulain  <bpoulain@apple.com>
1876
1877         Remove Nix from WTF
1878         https://bugs.webkit.org/show_bug.cgi?id=127150
1879
1880         Reviewed by Alexey Proskuryakov.
1881
1882         * wtf/DisallowCType.h:
1883         * wtf/FeatureDefines.h:
1884         * wtf/Platform.h:
1885         * wtf/PlatformNix.cmake: Removed.
1886         * wtf/nix: Removed.
1887
1888 2014-01-16  Anders Carlsson  <andersca@apple.com>
1889
1890         Remove FINAL macro
1891         https://bugs.webkit.org/show_bug.cgi?id=127149
1892
1893         Reviewed by Tim Horton.
1894
1895         * wtf/Compiler.h:
1896
1897 2014-01-16  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
1898
1899         Remove workaround for compilers not supporting explicit override control
1900         https://bugs.webkit.org/show_bug.cgi?id=127111
1901
1902         Reviewed by Anders Carlsson.
1903
1904         Now all compilers support explicit override control, this workaround can be removed.
1905
1906         * wtf/Compiler.h:
1907         * wtf/FilePrintStream.h:
1908         * wtf/RunLoop.h:
1909         * wtf/StringPrintStream.h:
1910
1911 2014-01-16  Alberto Garcia  <berto@igalia.com>
1912
1913         Source/WTF/wtf/Atomics.h:300: Error: bad register name `%bpl'
1914         https://bugs.webkit.org/show_bug.cgi?id=126985
1915
1916         Reviewed by Csaba Osztrogonác.
1917
1918         Use the 'q' constraint to force using a register that allows
1919         access to its lower byte.
1920
1921         * wtf/Atomics.h:
1922         (WTF::weakCompareAndSwap):
1923
1924 2014-01-16  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
1925
1926         Fix unnecessary checks for Clang compiler if the compiler is MSVC.
1927         https://bugs.webkit.org/show_bug.cgi?id=127037
1928
1929         Reviewed by Csaba Osztrogonác.
1930
1931         Inside the #if defined(_MSC_VER) there's no need for checking whether the compiler is not Clang.
1932
1933         * wtf/Compiler.h:
1934
1935 2014-01-16  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
1936
1937         Require at least GCC version 4.7
1938         https://bugs.webkit.org/show_bug.cgi?id=127049
1939
1940         Reviewed by Csaba Osztrogonác.
1941
1942         r161770 added a template alias, so the minimum GCC version is 4.7 now.
1943
1944         Also fixed a typo in the error message about old MSVC version.
1945
1946         * wtf/Compiler.h:
1947
1948 2014-01-15  Alberto Garcia  <berto@igalia.com>
1949
1950         [GTK] v2.3.3 fails to build in Debian / FreeBSD
1951         https://bugs.webkit.org/show_bug.cgi?id=126502
1952
1953         Reviewed by Mark Lam.
1954
1955         * wtf/Platform.h: Add LLINT support to FreeBSD.
1956
1957 2014-01-15  Anders Carlsson  <andersca@apple.com>
1958
1959         Get rid of RefCountedCustomAllocated
1960         https://bugs.webkit.org/show_bug.cgi?id=127051
1961
1962         Reviewed by Antti Koivisto.
1963
1964         It's not used anywhere anymore, get rid of it.
1965
1966         * wtf/RefCounted.h:
1967         * wtf/SizeLimits.cpp:
1968
1969 2014-01-14  Anders Carlsson  <andersca@apple.com>
1970
1971         And yet another build fix.
1972
1973         * wtf/SizeLimits.cpp:
1974
1975 2014-01-14  Anders Carlsson  <andersca@apple.com>
1976
1977         Another build fix.
1978
1979         * wtf/SizeLimits.cpp:
1980
1981 2014-01-14  Daniel Bates  <dabates@apple.com>
1982
1983         [iOS] Enable WTF_USE_UIKIT_EDITING
1984
1985         * wtf/Platform.h:
1986
1987 2014-01-14  Daniel Bates  <dabates@apple.com>
1988
1989         [iOS] Enable QuickLook
1990         https://bugs.webkit.org/show_bug.cgi?id=126954
1991
1992         Reviewed by David Kilzer.
1993
1994         * wtf/Platform.h:
1995
1996 2014-01-14  Anders Carlsson  <andersca@apple.com>
1997
1998         Get rid of ThreadRestrictionVerifier
1999         https://bugs.webkit.org/show_bug.cgi?id=127004
2000
2001         Reviewed by Sam Weinig.
2002
2003         The ThreadRestrictionVerifier mechanism has been turned off for a while
2004         since it doesn't really have a good solution for objects that are passed between threads.
2005         Instead of having dead code in the tree, just get rid of it.
2006         
2007         * GNUmakefile.list.am:
2008         * WTF.vcxproj/WTF.vcxproj:
2009         * WTF.vcxproj/WTF.vcxproj.filters:
2010         * WTF.xcodeproj/project.pbxproj:
2011         * wtf/CMakeLists.txt:
2012         * wtf/RefCounted.h:
2013         (WTF::RefCountedBase::ref):
2014         (WTF::RefCountedBase::hasOneRef):
2015         (WTF::RefCountedBase::refCount):
2016         (WTF::RefCountedBase::derefBase):
2017         * wtf/ThreadRestrictionVerifier.h: Removed.
2018
2019 2014-01-14  Benjamin Poulain  <benjamin@webkit.org>
2020
2021         Enable the experimental selector code generator by default
2022         https://bugs.webkit.org/show_bug.cgi?id=126953
2023
2024         Reviewed by Gavin Barraclough.
2025
2026         * wtf/Platform.h:
2027         Enable CSS_SELECTOR_JIT on OS X x86_64 by default.
2028         The feature is not ready to ship but it is stable enough to enable
2029         for the bots and nightly.
2030
2031 2014-01-14  Brian J. Burg  <burg@cs.washington.edu>
2032
2033         Add ENABLE(WEB_REPLAY) feature flag to the build system
2034         https://bugs.webkit.org/show_bug.cgi?id=126949
2035
2036         Reviewed by Joseph Pecoraro.
2037
2038         * wtf/FeatureDefines.h: for now, disable the flag by default.
2039
2040 2014-01-14  peavo@outlook.com  <peavo@outlook.com>
2041
2042         [Win] Application name in user agent string is truncated.
2043         https://bugs.webkit.org/show_bug.cgi?id=126810
2044
2045         Reviewed by Anders Carlsson.
2046
2047         * wtf/text/StringConcatenate.h:
2048         (WTF::tryMakeString): Add missing 8 bit check for last argument. 
2049
2050 2014-01-13  Anders Carlsson  <andersca@apple.com>
2051
2052         Move another deprecated symbol to DeprecatedSymbolsUsedBySafari.mm
2053         https://bugs.webkit.org/show_bug.cgi?id=126909
2054
2055         Reviewed by Ryosuke Niwa.
2056
2057         * wtf/MainThread.cpp:
2058         * wtf/MainThread.h:
2059         * wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
2060         (WTF::callOnMainThread):
2061
2062 2014-01-13  Anders Carlsson  <andersca@apple.com>
2063
2064         Fix Windows build.
2065
2066         * wtf/ThreadingWin.cpp:
2067         (WTF::initializeThreading):
2068
2069 2014-01-13  Anders Carlsson  <andersca@apple.com>
2070
2071         Remove AtomicallyInitializedStatic
2072         https://bugs.webkit.org/show_bug.cgi?id=126864
2073
2074         Reviewed by Andreas Kling.
2075
2076         Remove the lockAtomicallyInitializedStaticMutex and unlockAtomicallyInitializedStaticMutex functions
2077         everywhere except on Mac (where they unfortunately were used by Safari).
2078         
2079         On Mac, add them to a separate file which will hold functions and symbols that we would like
2080         to remove but that are used by Safari. Reimplement them in terms of std::call_once and std::mutex.
2081
2082         * WTF.xcodeproj/project.pbxproj:
2083         * wtf/Threading.h:
2084         * wtf/ThreadingPthreads.cpp:
2085         (WTF::initializeThreading):
2086         * wtf/ThreadingWin.cpp:
2087         (WTF::initializeThreading):
2088         * wtf/mac/DeprecatedSymbolsUsedBySafari.mm: Added.
2089         (WTF::atomicallyInitializedStaticMutex):
2090         (WTF::lockAtomicallyInitializedStaticMutex):
2091         (WTF::unlockAtomicallyInitializedStaticMutex):
2092
2093 2014-01-13  Commit Queue  <commit-queue@webkit.org>
2094
2095         Unreviewed, rolling out r161855.
2096         http://trac.webkit.org/changeset/161855
2097         https://bugs.webkit.org/show_bug.cgi?id=126880
2098
2099         Sister commit of r161852 (Requested by kling on #webkit).
2100
2101         * wtf/ThreadingPthreads.cpp:
2102         (WTF::initializeThreading):
2103
2104 2014-01-13  Commit Queue  <commit-queue@webkit.org>
2105
2106         Unreviewed, rolling out r161852.
2107         http://trac.webkit.org/changeset/161852
2108         https://bugs.webkit.org/show_bug.cgi?id=126877
2109
2110         Broke ToT with system Safari (Requested by kling on #webkit).
2111
2112         * wtf/Threading.h:
2113         * wtf/ThreadingPthreads.cpp:
2114         (WTF::initializeThreading):
2115         (WTF::lockAtomicallyInitializedStaticMutex):
2116         (WTF::unlockAtomicallyInitializedStaticMutex):
2117         * wtf/ThreadingWin.cpp:
2118         (WTF::lockAtomicallyInitializedStaticMutex):
2119         (WTF::unlockAtomicallyInitializedStaticMutex):
2120         (WTF::initializeThreading):
2121
2122 2014-01-12  Commit Queue  <commit-queue@webkit.org>
2123
2124         Unreviewed, rolling out r161840.
2125         http://trac.webkit.org/changeset/161840
2126         https://bugs.webkit.org/show_bug.cgi?id=126870
2127
2128         Caused jsscore and layout test failures (Requested by smfr on
2129         #webkit).
2130
2131         * wtf/text/StringImpl.cpp:
2132         (WTF::StringImpl::replace):
2133         * wtf/text/WTFString.h:
2134         (WTF::String::isAllSpecialCharacters):
2135
2136 2014-01-12  Dan Bernstein  <mitz@apple.com>
2137
2138         Fix an assertion failure in initializeDates() when launching Safari, which was introduced in r161852.
2139
2140         Reviewed by Andy Estes.
2141
2142         * wtf/ThreadingPthreads.cpp:
2143         (WTF::initializeThreading): Set isInitialized to true.
2144
2145 2014-01-12  Darin Adler  <darin@apple.com>
2146
2147         Add PLATFORM(COCOA) and USE(FOUNDATION)
2148         https://bugs.webkit.org/show_bug.cgi?id=126859
2149
2150         Reviewed by Anders Carlsson.
2151
2152         * wtf/Platform.h: Added PLATFORM(COCOA), which for now is set at exactly the same
2153         times that PLATFORM(MAC) is. Added USE(FOUNDATION), which is set at the same times
2154         that PLATFORM(COCOA) is. Re-organize the PLATFORM(MAC) and PLATFORM(IOS) settings
2155         in the header so they are a bit easier to read. Put HAVE_LANGINFO_H in with the
2156         rest of the OS(UNIX) settings and put HAVE_READLINE in with the rest of the
2157         OS(DARWIN) settings. Tweak formatting a bit.
2158
2159 2014-01-12  Anders Carlsson  <andersca@apple.com>
2160
2161         Remove AtomicallyInitializedStatic
2162         https://bugs.webkit.org/show_bug.cgi?id=126864
2163
2164         Reviewed by Darin Adler.
2165
2166         * wtf/Threading.h:
2167         * wtf/ThreadingPthreads.cpp:
2168         (WTF::initializeThreading):
2169         * wtf/ThreadingWin.cpp:
2170         (WTF::initializeThreading):
2171
2172 2014-01-12  Darin Adler  <darin@apple.com>
2173
2174         Add deprecatedCharacters as a synonym for characters and convert most call sites
2175         https://bugs.webkit.org/show_bug.cgi?id=126858
2176
2177         Reviewed by Anders Carlsson.
2178
2179         * wtf/text/AtomicString.cpp:
2180         (WTF::HashAndUTF8CharactersTranslator::equal):
2181         (WTF::SubstringTranslator::hash):
2182         (WTF::SubstringTranslator::equal):
2183         * wtf/text/AtomicString.h:
2184         (WTF::AtomicString::characters):
2185         * wtf/text/Base64.cpp:
2186         (WTF::base64Decode):
2187         (WTF::base64URLDecode):
2188         * wtf/text/StringBuilder.h:
2189         (WTF::StringBuilder::characters):
2190         (WTF::StringBuilder::deprecatedCharacters):
2191         * wtf/text/StringImpl.cpp:
2192         (WTF::StringImpl::getData16SlowCase):
2193         (WTF::StringImpl::upper):
2194         (WTF::StringImpl::lower):
2195         (WTF::StringImpl::find):
2196         (WTF::StringImpl::findIgnoringCase):
2197         * wtf/text/StringImpl.h:
2198         (WTF::StringImpl::characters):
2199         (WTF::StringImpl::deprecatedCharacters):
2200         (WTF::StringImpl::getCharacters<UChar>):
2201         (WTF::equalIgnoringNullity):
2202         * wtf/text/WTFString.cpp:
2203         (WTF::String::append):
2204         (WTF::String::appendInternal):
2205         (WTF::String::insert):
2206         (WTF::String::truncate):
2207         (WTF::String::percentage):
2208         * wtf/text/WTFString.h:
2209         (WTF::String::characters):
2210         (WTF::String::deprecatedCharacters):
2211         (WTF::String::getCharactersWithUpconvert<UChar>):
2212         (WTF::append):
2213         Use deprecatedCharacters instead of characters.
2214
2215 2014-01-12  Anders Carlsson  <andersca@apple.com>
2216
2217         Remove the last remaining uses of AtomicallyInitializedStatic
2218         https://bugs.webkit.org/show_bug.cgi?id=126863
2219
2220         Reviewed by Darin Adler.
2221
2222         * wtf/HashTable.cpp:
2223         (WTF::hashTableStatsMutex):
2224         (WTF::HashTableStats::recordCollisionAtCount):
2225         (WTF::HashTableStats::dumpStats):
2226         * wtf/unicode/icu/CollatorICU.cpp:
2227         (WTF::cachedCollatorMutex):
2228         (WTF::Collator::createCollator):
2229         (WTF::Collator::releaseCollator):
2230
2231 2014-01-12  Darin Adler  <darin@apple.com>
2232
2233         Reduce use of String::characters
2234         https://bugs.webkit.org/show_bug.cgi?id=126854
2235
2236         Reviewed by Sam Weinig.
2237
2238         * wtf/text/StringImpl.cpp:
2239         (WTF::StringImpl::replace): Use characters16 here since is8Bit was already checked.
2240         * wtf/text/WTFString.h:
2241         (WTF::String::isAllSpecialCharacters): Use characters16 here since is8Bit was
2242         already checked. Also renamed "len" to "length".
2243
2244 2014-01-12  Anders Carlsson  <andersca@apple.com>
2245
2246         Replace more uses of AtomicallyInitializedStatic with std::call_once
2247         https://bugs.webkit.org/show_bug.cgi?id=126847
2248
2249         Reviewed by Sam Weinig.
2250
2251         * wtf/Forward.h:
2252         Forward declare NeverDestroyed.
2253
2254 2014-01-11  Zan Dobersek  <zdobersek@igalia.com>
2255
2256         Unreviewed build fix for ports using GCC after r161770.
2257
2258         * wtf/IteratorAdaptors.h:
2259         (WTF::FilterIterator::operator*): Replicating r161797, the const qualifier for
2260         FilterIterator::operator*() is removed since it clashes with some iterator types
2261         that are also const, causing compilation failures with GCC.
2262
2263 2014-01-11  Anders Carlsson  <andersca@apple.com>
2264
2265         Use std::call_once instead of AtomicallyInitializedStatic when creating a HTTP header set
2266         https://bugs.webkit.org/show_bug.cgi?id=126837
2267
2268         Reviewed by Sam Weinig.
2269
2270         * wtf/HashSet.h:
2271         (WTF::HashSet::HashSet):
2272         Add a HashSet constructor that takes an initializer list.
2273
2274 2014-01-11  Sam Weinig  <sam@webkit.org>
2275
2276         Fix the EFL build.
2277
2278         * wtf/IteratorAdaptors.h:
2279         (WTF::TransformIterator::operator*):
2280
2281 2014-01-11  Sam Weinig  <sam@webkit.org>
2282
2283         Add support for null StringViews
2284         https://bugs.webkit.org/show_bug.cgi?id=126827
2285
2286         Reviewed by Anders Carlsson.
2287
2288         - Do some style cleanup while in the neighborhood.
2289
2290         * wtf/text/StringView.h:
2291         (WTF::StringView::StringView):
2292         Add default constructor to create a null StringView.
2293
2294         (WTF::StringView::isNull):
2295         Add isNull(), matching the semantics of String.
2296
2297         (WTF::StringView::operator bool):
2298         Add an explicit operator bool() to allow use in if-statements. 
2299
2300 2014-01-11  Sam Weinig  <sam@webkit.org>
2301
2302         Clean up iterator filter / iterator range code
2303         https://bugs.webkit.org/show_bug.cgi?id=126817
2304
2305         Reviewed by Anders Carlsson.
2306
2307         - Renames IteratorPair to IteratorRange.
2308         - Splits FilterIterator into FilterIterator (which now only filters) and
2309           TransformIterator (which does the transform part of the old FilterIterator).
2310           Move both of these to IteratorAdaptors.h
2311
2312         * GNUmakefile.list.am:
2313         * WTF.vcxproj/WTF.vcxproj:
2314         * WTF.vcxproj/WTF.vcxproj.filters:
2315         * WTF.xcodeproj/project.pbxproj:
2316         * wtf/CMakeLists.txt:
2317         * wtf/FilterIterator.h: Removed.
2318         Add/remove files.
2319
2320         * wtf/HashMap.h:
2321         (WTF::HashMap::keys):
2322         (WTF::HashMap::values):
2323         * wtf/RefPtrHashMap.h:
2324         Update for rename to IteratorRange. Simplify by using makeIteratorRange().
2325
2326         * wtf/IteratorAdaptors.h: Copied from wtf/FilterIterator.h.
2327         (WTF::FilterIterator::FilterIterator):
2328         (WTF::FilterIterator::operator*):
2329         (WTF::makeFilterIterator):
2330         (WTF::TransformIterator::TransformIterator):
2331         (WTF::TransformIterator::operator++):
2332         (WTF::TransformIterator::operator*):
2333         (WTF::TransformIterator::operator==):
2334         (WTF::TransformIterator::operator!=):
2335         (WTF::makeTransformIterator):
2336         Split up filtering and transforming. Add makeFilterIterator() and makeTransformIterator()
2337         helpers.
2338
2339         * wtf/IteratorPair.h: Removed.
2340         * wtf/IteratorRange.h: Copied from wtf/IteratorPair.h.
2341         (WTF::IteratorRange::IteratorRange):
2342         (WTF::makeIteratorRange):
2343         Renamed to IteratorRange and adds makeIteratorRange() helper.
2344
2345 2014-01-10  David Kilzer  <ddkilzer@apple.com>
2346
2347         Clean up architectures in xcconfig files
2348         <http://webkit.org/b/126794>
2349
2350         Reviewed by Andy Estes.
2351
2352         * Configurations/Base.xcconfig:
2353         - Add new arch.
2354
2355 2014-01-10  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
2356
2357         [EFL][JSC] Enable udis86 disassembler on efl.
2358         https://bugs.webkit.org/show_bug.cgi?id=125502
2359
2360         Reviewed by Michael Saboff.
2361
2362         Enable udis86 disassembler on efl and fix build warnings.
2363
2364         * wtf/Platform.h:
2365           Enable udis86 disassembler on EFL.
2366
2367 2014-01-10  Hunseop Jeong  <hs85.jeong@samsung.com>
2368
2369         [EFL] Enable the DFG_JIT on ARMv7
2370         https://bugs.webkit.org/show_bug.cgi?id=126742
2371
2372         Reviewed by Gyuyoung Kim.
2373
2374         Turn on ENABLE_DFG_JIT on ARMv7 for EFL.
2375
2376         * wtf/Platform.h:
2377
2378 2014-01-07  Mark Hahnenberg  <mhahnenberg@apple.com>
2379
2380         Marking should be generational
2381         https://bugs.webkit.org/show_bug.cgi?id=126552
2382
2383         Reviewed by Geoffrey Garen.
2384
2385         * wtf/Bitmap.h:
2386         (WTF::WordType>::count): Added a cast that became necessary when Bitmap
2387         is used with smaller types than int32_t.
2388
2389 2014-01-09  Simon Fraser  <simon.fraser@apple.com>
2390
2391         Enable async scrolling for iOS
2392         https://bugs.webkit.org/show_bug.cgi?id=126730
2393
2394         Reviewed by Tim Horton.
2395         
2396         Turn on ENABLE_ASYNC_SCROLLING for iOS.
2397
2398         * wtf/FeatureDefines.h:
2399
2400 2014-01-09  Anders Carlsson  <andersca@apple.com>
2401
2402         Remove Blackberry and QNX bits from WTF
2403         https://bugs.webkit.org/show_bug.cgi?id=126726
2404
2405         Reviewed by Benjamin Poulain.
2406
2407         * wtf/Assertions.cpp:
2408         * wtf/Atomics.h:
2409         * wtf/CurrentTime.cpp:
2410         (WTF::currentCPUTime):
2411         * wtf/DateMath.cpp:
2412         * wtf/DisallowCType.h:
2413         * wtf/FeatureDefines.h:
2414         * wtf/InlineASM.h:
2415         * wtf/MathExtras.h:
2416         * wtf/NumberOfCores.cpp:
2417         (WTF::numberOfProcessorCores):
2418         * wtf/OSAllocatorPosix.cpp:
2419         (WTF::OSAllocator::reserveUncommitted):
2420         (WTF::OSAllocator::commit):
2421         (WTF::OSAllocator::decommit):
2422         * wtf/Platform.h:
2423         * wtf/PlatformBlackBerry.cmake: Removed.
2424         * wtf/RAMSize.cpp:
2425         (WTF::computeRAMSize):
2426         * wtf/StackBounds.cpp:
2427         * wtf/ThreadingPthreads.cpp:
2428         (WTF::initializeThreading):
2429         (WTF::initializeCurrentThreadInternal):
2430         * wtf/blackberry/MainThreadBlackBerry.cpp: Removed.
2431         * wtf/blackberry/RunLoopBlackBerry.cpp: Removed.
2432         * wtf/text/AtomicString.h:
2433         * wtf/text/StringImpl.h:
2434         * wtf/text/WTFString.h:
2435
2436 2014-01-09  Daniel Bates  <dabates@apple.com>
2437
2438         [iOS] Upstream WebCore/platform changes
2439         https://bugs.webkit.org/show_bug.cgi?id=126654
2440
2441         Rubber-stamped by David Kilzer.
2442
2443         * wtf/MainThread.cpp:
2444         (WTF::canAccessThreadLocalDataForThread):
2445         * wtf/MainThread.h:
2446
2447 2014-01-09  Commit Queue  <commit-queue@webkit.org>
2448
2449         Unreviewed, rolling out r161540.
2450         http://trac.webkit.org/changeset/161540
2451         https://bugs.webkit.org/show_bug.cgi?id=126704
2452
2453         Caused assertion failures on multiple tests (Requested by ap
2454         on #webkit).
2455
2456         * wtf/Bitmap.h:
2457         (WTF::WordType>::count):
2458
2459 2014-01-07  Mark Hahnenberg  <mhahnenberg@apple.com>
2460
2461         Marking should be generational
2462         https://bugs.webkit.org/show_bug.cgi?id=126552
2463
2464         Reviewed by Geoffrey Garen.
2465
2466         * wtf/Bitmap.h:
2467         (WTF::WordType>::count): Added a cast that became necessary when Bitmap
2468         is used with smaller types than int32_t.
2469
2470 2014-01-08  Anders Carlsson  <andersca@apple.com>
2471
2472         Add WTF::StringView and use it for grammar checking
2473         https://bugs.webkit.org/show_bug.cgi?id=126644
2474
2475         Reviewed by Antti Koivisto.
2476
2477         Add a new StringView class which is an immutable reference to either an 8-bit or a 16-bit string.
2478
2479         This makes it easier to pass substrings around without having to either copy string data
2480         or upconvert and use UChar pointers.
2481
2482         The StringView class is very loosely based on the std::string_view class which is proposed for a future version of C++,
2483         see http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3609.html for more details.
2484
2485         * GNUmakefile.list.am:
2486         * WTF.vcxproj/WTF.vcxproj:
2487         * WTF.vcxproj/WTF.vcxproj.filters:
2488         * WTF.xcodeproj/project.pbxproj:
2489         * wtf/CMakeLists.txt:
2490         * wtf/Forward.h:
2491         * wtf/text/StringView.h: Added.
2492         (WTF::StringView::StringView):
2493         (WTF::StringView::empty):
2494         (WTF::StringView::characters8):
2495         (WTF::StringView::characters16):
2496         (WTF::StringView::isEmpty):
2497         (WTF::StringView::length):
2498         (WTF::StringView::is8Bit):
2499         (WTF::StringView::substring):
2500         (WTF::StringView::toString):
2501         (WTF::StringView::toStringWithoutCopying):
2502         (WTF::StringView::encodedCharacters):
2503
2504 2014-01-07  David Farler  <dfarler@apple.com>
2505
2506         [ASAN] Building with trunk clang corrupts sandbox profile with comment from Compiler.h
2507         https://bugs.webkit.org/show_bug.cgi?id=124532
2508
2509         Reviewed by David Kilzer.
2510
2511         * wtf/Compiler.h:
2512         Remove this quirk - it does nothing.
2513
2514 2014-01-06  Filip Pizlo  <fpizlo@apple.com>
2515
2516         Get rid of ENABLE(VALUE_PROFILER). It's on all the time now.
2517
2518         Rubber stamped by Mark Hahnenberg.
2519
2520         * wtf/Platform.h:
2521
2522 2014-01-06  Zan Dobersek  <zdobersek@igalia.com>
2523
2524         Remove using directives for the std namespace from WTF
2525         https://bugs.webkit.org/show_bug.cgi?id=126524
2526
2527         Reviewed by Alexey Proskuryakov.
2528
2529         Remove the using directives for the std namespace throughout the WTF code.
2530         The more explicit std:: nested name specifier should be used instead.
2531
2532         * wtf/MediaTime.cpp:
2533         (WTF::MediaTime::createWithFloat):
2534         (WTF::MediaTime::createWithDouble):
2535         * wtf/text/StringImpl.cpp:
2536         (WTF::StringImpl::create):
2537         (WTF::StringImpl::lower):
2538         (WTF::StringImpl::upper):
2539         (WTF::StringImpl::foldCase):
2540         (WTF::StringImpl::find):
2541         (WTF::StringImpl::findIgnoringCase):
2542         (WTF::reverseFindInner):
2543         (WTF::StringImpl::reverseFind):
2544         (WTF::reverseFindIgnoringCaseInner):
2545         (WTF::StringImpl::reverseFindIgnoringCase):
2546         (WTF::StringImpl::replace):
2547         (WTF::StringImpl::utf8ForCharacters):
2548         (WTF::StringImpl::utf8ForRange):
2549         * wtf/text/WTFString.cpp:
2550         (WTF::String::append):
2551         (WTF::String::appendInternal):
2552         (WTF::String::insert):
2553         (WTF::String::substringSharingImpl):
2554         (WTF::String::fromUTF8):
2555         (WTF::toIntegralType):
2556         * wtf/win/RunLoopWin.cpp:
2557
2558 2014-01-03  Mark Hahnenberg  <mhahnenberg@apple.com>
2559
2560         DoublyLinkedLists can't be concatenated
2561         https://bugs.webkit.org/show_bug.cgi?id=125976
2562
2563         Reviewed by Filip Pizlo.
2564
2565         * wtf/DoublyLinkedList.h:
2566         (WTF::DoublyLinkedList<T>::append):
2567
2568 2014-01-04  Zan Dobersek  <zdobersek@igalia.com>
2569
2570         Explicitly use the std:: nested name specifier when using std::pair, std::make_pair
2571         https://bugs.webkit.org/show_bug.cgi?id=126439
2572
2573         Reviewed by Andreas Kling.
2574
2575         * wtf/VectorTraits.h: Stop bringing std::pair into the current scope.
2576
2577 2014-01-02  Gavin Barraclough  <barraclough@apple.com>
2578
2579         Refactor NSActivity handling code from ChildProcess to UserActivity
2580         https://bugs.webkit.org/show_bug.cgi?id=126330
2581
2582         Reviewed by Sam Weinig.
2583
2584         UserActivity is a mechanism to express to the operating system (where appropriate)
2585         that a user initiated activity is taking place, and as such that resources should be
2586         made available to the process accordingly.
2587
2588         Currently we hold a single NSActivity, at the WebKit layer. This refactoring allows us
2589         to hold different activity tokens for different user actions (which simplifies the
2590         handling, and aides debugging since the token can more accurately express the activity
2591         taking place), and also will allow us to avoid the layering difficulty of calling back
2592         up the stack to WebKit to register that an activity is taking place.
2593
2594         * wtf/Platform.h:
2595             - added HAVE_NS_ACTIVITY.
2596
2597 2013-12-30  Commit Queue  <commit-queue@webkit.org>
2598
2599         Unreviewed, rolling out r161157, r161158, r161160, r161161,
2600         r161163, and r161165.
2601         http://trac.webkit.org/changeset/161157
2602         http://trac.webkit.org/changeset/161158
2603         http://trac.webkit.org/changeset/161160
2604         http://trac.webkit.org/changeset/161161
2605         http://trac.webkit.org/changeset/161163
2606         http://trac.webkit.org/changeset/161165
2607         https://bugs.webkit.org/show_bug.cgi?id=126332
2608
2609         Broke WebKit2 on Mountain Lion (Requested by ap on #webkit).
2610
2611         * GNUmakefile.list.am:
2612         * WTF.vcxproj/WTF.vcxproj:
2613         * WTF.vcxproj/WTF.vcxproj.filters:
2614         * WTF.xcodeproj/project.pbxproj:
2615         * wtf/CMakeLists.txt:
2616         * wtf/Forward.h:
2617         * wtf/PlatformWin.cmake:
2618         * wtf/threads/BinarySemaphore.cpp: Added.
2619         (WTF::BinarySemaphore::BinarySemaphore):
2620         (WTF::BinarySemaphore::~BinarySemaphore):
2621         (WTF::BinarySemaphore::signal):
2622         (WTF::BinarySemaphore::wait):
2623         * wtf/threads/BinarySemaphore.h: Added.
2624         (WTF::BinarySemaphore::event):
2625         * wtf/threads/win/BinarySemaphoreWin.cpp: Added.
2626         (WTF::BinarySemaphore::BinarySemaphore):
2627         (WTF::BinarySemaphore::~BinarySemaphore):
2628         (WTF::BinarySemaphore::signal):
2629         (WTF::BinarySemaphore::wait):
2630
2631 2013-12-30  Anders Carlsson  <andersca@apple.com>
2632
2633         Replace yield() and pauseBriefly() with std::this_thread::yield()
2634         https://bugs.webkit.org/show_bug.cgi?id=126105
2635
2636         Reviewed by Sam Weinig.
2637
2638         * wtf/ByteSpinLock.h:
2639         (WTF::ByteSpinLock::lock):
2640         * wtf/Threading.h:
2641         * wtf/ThreadingPrimitives.h:
2642         * wtf/ThreadingPthreads.cpp:
2643         * wtf/ThreadingWin.cpp:
2644
2645 2013-12-30  Sam Weinig  <sam@webkit.org>
2646
2647         Remove unnecessary non-const overload in IteratorPair
2648         https://bugs.webkit.org/show_bug.cgi?id=126314
2649
2650         Reviewed by Anders Carlsson.
2651
2652         * wtf/IteratorPair.h:
2653
2654 2013-12-30  Sam Weinig  <sam@webkit.org>
2655
2656         Remove WTF's BinarySemaphore
2657         https://bugs.webkit.org/show_bug.cgi?id=126310
2658
2659         Reviewed by Anders Carlsson.
2660
2661         It's unused. Also remove the now empty wtf/threads directory.
2662
2663         * GNUmakefile.list.am:
2664         * WTF.vcxproj/WTF.vcxproj:
2665         * WTF.vcxproj/WTF.vcxproj.filters:
2666         * WTF.xcodeproj/project.pbxproj:
2667         * wtf/CMakeLists.txt:
2668         * wtf/Forward.h:
2669         * wtf/PlatformWin.cmake:
2670         * wtf/threads: Removed.
2671         * wtf/threads/BinarySemaphore.cpp: Removed.
2672         * wtf/threads/BinarySemaphore.h: Removed.
2673         * wtf/threads/win: Removed.
2674         * wtf/threads/win/BinarySemaphoreWin.cpp: Removed.
2675
2676 2013-12-30  Roger Fong  <roger_fong@apple.com>
2677
2678         [Windows] Unreviewed build fix following r160959.
2679
2680         * wtf/Platform.h:
2681
2682 2013-12-30  Anders Carlsson  <andersca@apple.com>
2683
2684         Replace WTF::ThreadingOnce with std::call_once
2685         https://bugs.webkit.org/show_bug.cgi?id=126215
2686
2687         Reviewed by Sam Weinig.
2688
2689         * GNUmakefile.list.am:
2690         * wtf/CompilationThread.cpp:
2691         (WTF::initializeCompilationThreads):
2692         * wtf/ThreadingOnce.h: Removed.
2693
2694 2013-12-26  Sam Weinig  <sam@webkit.org>
2695
2696         Move FilterIterator and IteratorPair to WTF and reimplement HashMap::keys() and HashMap::values() using IteratorPair
2697         https://bugs.webkit.org/show_bug.cgi?id=126253
2698
2699         Reviewed by Anders Carlsson.
2700
2701         * GNUmakefile.list.am:
2702         * WTF.vcxproj/WTF.vcxproj:
2703         * WTF.vcxproj/WTF.vcxproj.filters:
2704         * WTF.xcodeproj/project.pbxproj:
2705         * wtf/CMakeLists.txt:
2706         Add new files.
2707
2708         * wtf/HashMap.h:
2709         * wtf/RefPtrHashMap.h:
2710         Remove the old implementation of keys() and values() and replace it with one
2711         that uses IteratorPair.
2712         
2713         * wtf/FilterIterator.h: Copied from Source/WebKit2/Shared/FilterIterator.h.
2714         * wtf/IteratorPair.h: Copied from Source/WebKit2/Shared/IteratorPair.h.
2715
2716 2013-12-27  Daniel Bates  <dabates@apple.com>
2717
2718         [iOS] Upstream WebCore/page changes
2719         https://bugs.webkit.org/show_bug.cgi?id=126180
2720
2721         Reviewed by Darin Adler.
2722
2723         * wtf/FeatureDefines.h: Define ENABLE_IOS_TOUCH_EVENTS to be enabled by default
2724         when building iOS with ENABLE(TOUCH_EVENTS).
2725
2726 2013-12-25  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2727
2728         [Nix] Building with DRAG_SUPPORT enabled
2729         https://bugs.webkit.org/show_bug.cgi?id=126233
2730
2731         Reviewed by Daniel Bates.
2732
2733         * wtf/nix/FeatureDefinesNix.h:
2734
2735 2013-12-24  Commit Queue  <commit-queue@webkit.org>
2736
2737         Unreviewed, rolling out r160959.
2738         http://trac.webkit.org/changeset/160959
2739         https://bugs.webkit.org/show_bug.cgi?id=126222
2740
2741         Caused Windows build to fail (Requested by rfong on #webkit).
2742
2743         * wtf/ByteSpinLock.h:
2744         (WTF::ByteSpinLock::lock):
2745         * wtf/Threading.h:
2746         * wtf/ThreadingPrimitives.h:
2747         (WTF::pauseBriefly):
2748         * wtf/ThreadingPthreads.cpp:
2749         (WTF::yield):
2750         * wtf/ThreadingWin.cpp:
2751         (WTF::yield):
2752
2753 2013-12-23  Benjamin Poulain  <bpoulain@apple.com>
2754
2755         Fix the build after r161031
2756
2757         I enabled ENABLE_CSS_SELECTOR_JIT by accident.
2758
2759         * wtf/Platform.h:
2760
2761 2013-12-23  Zan Dobersek  <zdobersek@igalia.com>
2762
2763         [GTK] Clean up compiler optimizations flags for libWTF, libJSC
2764         https://bugs.webkit.org/show_bug.cgi?id=126157
2765
2766         Reviewed by Gustavo Noronha Silva.
2767
2768         * GNUmakefile.am: Remove the -fstrict-aliasing and -O3 compiler flags for libWTF.la. -O3 gets
2769         overridden by -O2 that's listed in CXXFLAGS (or -O0 in case of debug builds) and -fstrict-aliasing
2770         is enabled when -O2 is used (and shouldn't be enabled in debug builds anyway).
2771
2772 2013-12-20  Anders Carlsson  <andersca@apple.com>
2773
2774         Replace yield() and pauseBriefly() with std::this_thread::yield()
2775         https://bugs.webkit.org/show_bug.cgi?id=126105
2776
2777         Reviewed by Sam Weinig.
2778
2779         * wtf/ByteSpinLock.h:
2780         (WTF::ByteSpinLock::lock):
2781         * wtf/Threading.h:
2782         * wtf/ThreadingPrimitives.h:
2783         * wtf/ThreadingPthreads.cpp:
2784         * wtf/ThreadingWin.cpp:
2785
2786 2013-12-20  Anders Carlsson  <andersca@apple.com>
2787
2788         Speed up case folding for 8-bit strings
2789         https://bugs.webkit.org/show_bug.cgi?id=126098
2790
2791         Reviewed by Geoffrey Garen.
2792
2793         Add a case folding lookup table for 8-bit strings and use it instead of calling down to u_foldCase.
2794         On a simple microbenchmark using a lookup table is about 15x faster.
2795
2796         * wtf/text/StringHash.h:
2797         (WTF::CaseFoldingHash::foldCase):
2798         * wtf/text/StringImpl.cpp:
2799         (WTF::equalIgnoringCase):
2800         * wtf/text/StringImpl.h:
2801
2802 2013-12-20  Myles C. Maxfield  <mmaxfield@apple.com>
2803
2804         Faster implementation of text-decoration-skip: ink
2805         https://bugs.webkit.org/show_bug.cgi?id=125718
2806
2807         Reviewed by Simon Fraser.
2808
2809         This creates a new preprocessor define, CSS3_TEXT_DECORATION_SKIP_INK,
2810         which enables the use of the text-decoration-skip: ink CSS value.
2811         Creating this new value simplifies the logic about when to enable the
2812         codepath for this CSS value.
2813
2814         * wtf/Platform.h:
2815
2816 2013-12-20  Simon Fraser  <simon.fraser@apple.com>
2817
2818         Change "threaded scrolling" terminology to "asynchronous scrolling"
2819         https://bugs.webkit.org/show_bug.cgi?id=126094
2820
2821         Reviewed by Tim Horton.
2822
2823         Rename ENABLE_THREADED_SCROLLING to ENABLE_ASYNC_SCROLLING.
2824
2825         * wtf/FeatureDefines.h:
2826
2827 2013-12-20  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
2828
2829         Build fails in debug mode after r160834.
2830         https://bugs.webkit.org/show_bug.cgi?id=126059
2831
2832         Reviewed by Csaba Osztrogonác.
2833
2834         Debug mode build failed due to comparing signed and unsigned in
2835         ASSERT(). Now both values are unsigned.
2836
2837         * wtf/dtoa/double-conversion.cc:
2838
2839 2013-12-19  Alex Christensen  <achristensen@webkit.org>
2840
2841         Final preparations for GStreamer on Windows.
2842         https://bugs.webkit.org/show_bug.cgi?id=125958
2843
2844         Reviewed by Benjamin Poulain.
2845
2846         * WTF.vcxproj/WTFDebugWinCairo.props:
2847         * WTF.vcxproj/WTFReleaseWinCairo.props:
2848         Include WinCairo.props.
2849         * wtf/Platform.h:
2850         Use GLib and GStreamer on WinCairo with video.
2851
2852 2013-12-18  Daniel Bates  <dabates@apple.com>
2853
2854         WTF, JavaScriptCore fails to build with trunk clang: operators new, new[],
2855         delete, delete[] cannot be declared inline
2856         https://bugs.webkit.org/show_bug.cgi?id=124186
2857         <rdar://problem/15644039>
2858
2859         Reviewed by Geoffrey Garen and Anders Carlsson.
2860
2861         Following <http://llvm.org/viewvc/llvm-project?view=revision&revision=193044>
2862         (http://llvm.org/bugs/show_bug.cgi?id=17591>), Clang emits warnings when
2863         operator new, delete are inlined. Such definitions cannot be inline per
2864         replacement.functions (17.6.4.6/3) of the C++ standard. For now,
2865         disable these warnings instead of exporting these functions.
2866
2867         * wtf/FastMalloc.h:
2868
2869 2013-12-19  Hugo Parente Lima  <hugo.lima@openbossa.org>
2870
2871         WTF fails to compile with gcc 4.8.2 and -Werror=array-bounds
2872         https://bugs.webkit.org/show_bug.cgi?id=125936
2873
2874         Reviewed by Anders Carlsson.
2875
2876         * wtf/dtoa/double-conversion.cc: Use a unsigned instead of int on buffer_pos type.
2877
2878 2013-12-19  Peter Szanka  <h868064@stud.u-szeged.hu>
2879
2880         Delete RVCT related code parts.
2881         https://bugs.webkit.org/show_bug.cgi?id=125626
2882
2883         Reviewed by Csaba Osztrogonác.
2884
2885         * wtf/Compiler.h: follow-up fix for r160648, remove an unnecessary comment.
2886
2887 2013-12-18  Alex Christensen  <achristensen@webkit.org>
2888
2889         [WinCairo] Preparation for GStreamer on Windows.
2890         https://bugs.webkit.org/show_bug.cgi?id=125946
2891
2892         Reviewed by Brent Fulgham.
2893
2894         * WTF.vcxproj/WTF.vcxproj:
2895         Use new GStreamer property sheets for WinCairo.
2896
2897 2013-12-18  Mark Hahnenberg  <mhahnenberg@apple.com>
2898
2899         DFG should have a separate StoreBarrier node
2900         https://bugs.webkit.org/show_bug.cgi?id=125530
2901
2902         Reviewed by Filip Pizlo.
2903
2904         * wtf/Platform.h: Added an #define for ENABLE(GGC) which will be used for landing things related to GenGC.
2905
2906 2013-12-16  Daniel Bates  <dabates@apple.com>
2907
2908         [iOS] Upstream WebCore/html changes
2909         https://bugs.webkit.org/show_bug.cgi?id=125765
2910
2911         Reviewed by Darin Adler.
2912
2913         Defined ENABLE_IOS_AUTOCORRECT_AND_AUTOCAPITALIZE, enabled by default on iOS.
2914
2915         * wtf/FeatureDefines.h:
2916
2917 2013-12-17  Alex Christensen  <achristensen@webkit.org>
2918
2919         Compile fix for WebGL on Windows without GRAPHICS_SURFACE.
2920         https://bugs.webkit.org/show_bug.cgi?id=125867
2921
2922         Reviewed by Martin Robinson.
2923
2924         * wtf/FeatureDefines.h:
2925         Removed unused ENABLE_GLIB_SUPPORT macro.
2926         * wtf/Platform.h:
2927         Don't use GRAPHICS_SURFACE for WebGL on Windows.
2928
2929 2013-12-17  Alex Christensen  <achristensen@webkit.org>
2930
2931         [Win] Fixed linker error with GStreamer.
2932         https://bugs.webkit.org/show_bug.cgi?id=124861
2933
2934         Reviewed by Martin Robinson.
2935
2936         * wtf/gobject/GOwnPtr.cpp:
2937         (WTF::GError):
2938         * wtf/gobject/GOwnPtr.h:
2939         Added WTF_EXPORT_PRIVATE to freeOwnedGPtr<GError> declaration and definition.
2940
2941 2013-12-17  Benjamin Poulain  <benjamin@webkit.org>
2942
2943         Add a simple register allocator to WebCore for x86_64
2944         https://bugs.webkit.org/show_bug.cgi?id=125771
2945
2946         Reviewed by Geoffrey Garen.
2947
2948         * wtf/Platform.h: Add a new flag "CSS_SELECTOR_JIT" to guard
2949         an experimental JIT compiler in WebCore.
2950
2951 2013-12-16  Anders Carlsson  <andersca@apple.com>
2952
2953         Remove EnumClass.h from WTF
2954         https://bugs.webkit.org/show_bug.cgi?id=125820
2955
2956         Reviewed by Darin Adler.
2957
2958         All compilers we build on now support real strongly typed enums, so we can remove the ENUM_CLASS version.
2959
2960         * WTF.vcxproj/WTF.vcxproj:
2961         * WTF.vcxproj/WTF.vcxproj.filters:
2962         * WTF.xcodeproj/project.pbxproj:
2963         * wtf/CheckedArithmetic.h:
2964         * wtf/EnumClass.h: Removed.
2965
2966 2013-12-16  Brent Fulgham  <bfulgham@apple.com>
2967
2968         [Win] Remove dead code after conversion to VS2013
2969         https://bugs.webkit.org/show_bug.cgi?id=125795
2970
2971         Reviewed by Darin Adler.
2972
2973         * wtf/Assertions.h: Include <inttypes.h> now that it exists.
2974         * wtf/Compiler.h: Update compiler checks for VS2013, and
2975         enable support for NEVER_INLINE
2976         * wtf/HashFunctions.h:
2977         (WTF::PtrHash::hash): Remove compiler workaround.
2978         * wtf/MathExtras.h: Remove C99 functions that are now supplied
2979         by the MS runtime library.
2980         * wtf/Platform.h: Remove old MSVC support flags.
2981         * wtf/StdLibExtras.h: Remove old MSVC workaround code.
2982
2983 2013-12-16  Alex Christensen  <achristensen@webkit.org>
2984
2985         Fixed Win64 build on VS2013.
2986         https://bugs.webkit.org/show_bug.cgi?id=125753
2987
2988         Reviewed by Brent Fulgham.
2989
2990         * WTF.vcxproj/WTF.vcxproj:
2991         Added correct PlatformToolset for 64-bit builds.
2992
2993 2013-12-16  Peter Szanka  <h868064@stud.u-szeged.hu>
2994
2995         Delete RVCT related code parts.
2996         https://bugs.webkit.org/show_bug.cgi?id=125626
2997
2998         Reviewed by Darin Adler.
2999
3000         * wtf/Assertions.h:
3001         * wtf/Compiler.h:
3002         * wtf/FastMalloc.h:
3003         * wtf/Platform.h:
3004
3005 2013-12-13  Brent Fulgham  <bfulgham@apple.com>
3006
3007         [Win] Remove Pre-VS2013 support code.
3008         https://bugs.webkit.org/show_bug.cgi?id=125693
3009
3010         Reviewed by Darin Adler.
3011
3012         * wtf/StringPrintStream.cpp:
3013         (WTF::StringPrintStream::vprintf): Use va_copy, like a civilized person.
3014
3015 2013-12-12  Darin Adler  <darin@apple.com>
3016
3017         Incorrect handling of non-ASCII characters in WTF::base64DecodeInternal
3018         https://bugs.webkit.org/show_bug.cgi?id=125658
3019
3020         Reviewed by Alexey Proskuryakov.
3021
3022         * wtf/text/Base64.cpp:
3023         (WTF::base64EncodeInternal): Use a reference to an array instead of a pointer
3024         for the table argument type so we check the size of the array at the call site.
3025         (WTF::base64DecodeInternal): Ditto. Also added an bounds check before using the
3026         table so we don't load some random value for non-ASCII characters.
3027
3028 2013-12-13  Brent Fulgham  <bfulgham@apple.com>
3029
3030         [Win] Unreviewed build fix after r160548
3031
3032         * WTF.vcxproj/WTFGenerated.vcxproj: Specify that we are using
3033         the vs12_xp target for Makefile-based projects.
3034
3035 2013-12-13  Anders Carlsson  <andersca@apple.com>
3036
3037         Require variadic templates to build WebKit
3038         https://bugs.webkit.org/show_bug.cgi?id=125701
3039
3040         Reviewed by Andreas Kling.
3041
3042         * wtf/Compiler.h:
3043         Add an #error if variadic templates are disabled.
3044
3045         * wtf/NeverDestroyed.h:
3046         * wtf/PassRef.h:
3047         * wtf/StdLibExtras.h:
3048         Remove a bunch of COMPILER_SUPPORTS(CXX_VARIADIC_TEMPLATES) #ifdefs.
3049
3050 2013-12-13  Peter Szanka  <h868064@stud.u-szeged.hu>
3051
3052         Delete INTEL C compiler related code parts.
3053         https://bugs.webkit.org/show_bug.cgi?id=125625
3054
3055         Reviewed by Darin Adler.
3056
3057         * wtf/Assertions.h:
3058         * wtf/Compiler.h:
3059
3060 2013-12-13  Brent Fulgham  <bfulgham@apple.com>
3061
3062         [Win] Switch WebKit solution to Visual Studio 2013
3063         https://bugs.webkit.org/show_bug.cgi?id=125192
3064
3065         Reviewed by Anders Carlsson.
3066
3067         * WTF.vcxproj/WTF.vcxproj: Update for VS2013
3068         * WTF.vcxproj/WTF.vcxproj.filters: Ditto
3069
3070 2013-12-12  Brady Eidson  <beidson@apple.com>
3071
3072         DatabaseProcess IndexedDB: Establish a metadata backing store on disk
3073         https://bugs.webkit.org/show_bug.cgi?id=125258
3074
3075         Reviewed by Alexey Proskuryakov, Anders Carlsson, and Tim Horton.
3076
3077         * wtf/text/WTFString.h: Export toUInt64Strict().
3078
3079 2013-12-12  Sam Weinig  <sam@webkit.org>
3080
3081         Replace uses of WTF::BitArray with std::bitset
3082         https://bugs.webkit.org/show_bug.cgi?id=125642
3083
3084         Reviewed by Anders Carlsson.
3085
3086         * GNUmakefile.list.am:
3087         * WTF.vcxproj/WTF.vcxproj:
3088         * WTF.vcxproj/WTF.vcxproj.filters:
3089         * WTF.xcodeproj/project.pbxproj:
3090         * wtf/BitArray.h: Removed.
3091         * wtf/CMakeLists.txt:
3092
3093 2013-12-11  David Kilzer  <ddkilzer@apple.com>
3094
3095         Define m_hasBadParent in InlineBox if defined(ADDRESS_SANITIZER)
3096         <http://webkit.org/b/125329>
3097
3098         Reviewed by Darin Adler.
3099
3100         * wtf/Assertions.h: Define macro
3101         ASSERT_WITH_SECURITY_IMPLICATION_DISABLED based on whether
3102         ASSERT_WITH_SECURITY_IMPLICATION() is enabled.
3103
3104 2013-12-11  Brendan Long  <b.long@cablelabs.com>
3105
3106         Type punning error in MD5.cpp
3107         https://bugs.webkit.org/show_bug.cgi?id=125412
3108
3109         Reviewed by Darin Adler.
3110
3111         * wtf/MD5.cpp:
3112         (WTF::toLittleEndian): Renamed, and use memcpy instead of casting.
3113         (WTF::MD5::addBytes): Renamed reverseBytes to toLittleEndian.
3114         (WTF::MD5::checksum): Same, and use memcpy instead of casting to prevent type punning error.
3115
3116 2013-12-11  Laszlo Vidacs  <lac@inf.u-szeged.hu>
3117
3118         Store SHA1 hash in std::array
3119         https://bugs.webkit.org/show_bug.cgi?id=125446
3120
3121         Reviewed by Darin Adler.
3122
3123         Change Vector to std::array and use typedef.
3124
3125         * wtf/SHA1.cpp:
3126         (WTF::SHA1::computeHash):
3127         (WTF::SHA1::hexDigest):
3128         (WTF::SHA1::computeHexDigest):
3129         * wtf/SHA1.h:
3130
3131 2013-12-11  Oliver Hunt  <oliver@apple.com>
3132
3133         Give Unique StringImpls a meaningful data pointer
3134         https://bugs.webkit.org/show_bug.cgi?id=125598
3135
3136         Reviewed by Michael Saboff.
3137
3138         Found by code inspection.  If there is a collision in an Identifier
3139         table when comparing to a string literal we attempt to use the data
3140         pointer (essentially this ends up being a null termination check).
3141
3142         Previously unique pointers just used the literal 1 as the data address
3143         but this obviously fails when dereferenced.  Instead we now make the
3144         data pointer point to the location of the buffer pointer itself.  As
3145         the buffer pointer is initialised to 0, this satisfies the requirement
3146         that the 0-length unique string is null terminated.
3147
3148         * wtf/text/StringImpl.h:
3149         (WTF::StringImpl::StringImpl):
3150
3151 2013-12-10  Anders Carlsson  <andersca@apple.com>
3152
3153         Add a HashMap constructor that takes an initializer list
3154         https://bugs.webkit.org/show_bug.cgi?id=125551
3155
3156         Reviewed by Dan Bernstein.
3157
3158         * wtf/HashMap.h:
3159         (WTF::HashMap::HashMap):
3160
3161 2013-12-10  Laszlo Vidacs  <lac@inf.u-szeged.hu>
3162
3163         Use std::array when computing MD5 checksum
3164         https://bugs.webkit.org/show_bug.cgi?id=125509
3165
3166         Reviewed by Anders Carlsson.
3167
3168         Added MD5::Digest type and MD5::hashSize for computing MD5 checksum.
3169
3170         * wtf/MD5.cpp:
3171         (WTF::MD5::checksum):
3172         * wtf/MD5.h:
3173
3174 2013-12-10  Martin Robinson  <mrobinson@igalia.com>
3175
3176         Various fixes for the CMake GTK+ build
3177
3178         Reviewed by Gustavo Noronha.
3179
3180         * wtf/PlatformGTK.cmake: Add Zlib library to the WTF build.
3181
3182 2013-12-09  Sam Weinig  <sam@webkit.org>
3183
3184         Remove FixedArray
3185         https://bugs.webkit.org/show_bug.cgi?id=125478
3186
3187         Reviewed by Anders Carlsson.
3188
3189         * GNUmakefile.list.am:
3190         * WTF.vcxproj/WTF.vcxproj:
3191         * WTF.vcxproj/WTF.vcxproj.filters:
3192         * WTF.xcodeproj/project.pbxproj:
3193         * wtf/CMakeLists.txt:
3194         * wtf/FixedArray.h: Removed.
3195
3196 2013-12-09  Sam Weinig  <sam@webkit.org>
3197
3198         Replace use of WTF::FixedArray with std::array
3199         https://bugs.webkit.org/show_bug.cgi?id=125475
3200
3201         Reviewed by Anders Carlsson.
3202
3203         * wtf/AVLTree.h:
3204         * wtf/Bitmap.h:
3205         * wtf/SixCharacterHash.cpp:
3206         (WTF::integerToSixCharacterHashString):
3207         * wtf/SixCharacterHash.h:
3208
3209 2013-12-06  Roger Fong <roger_fong@apple.com> and Brent Fulgham  <bfulgham@apple.com>
3210
3211         [Win] Support compiling with VS2013
3212         https://bugs.webkit.org/show_bug.cgi?id=125353
3213
3214         Reviewed by Anders Carlsson.
3215
3216         * wtf/Compiler.h: Show proper features for VS2012 and VS2013.
3217         * wtf/MathExtras.h: Don't implement common C99 routines when
3218         they are available through the runtime libraries.
3219         * wtf/RetainPtr.h:
3220         (WTF::RetainPtr::operator bool): Added.
3221         * wtf/StdLibExtras.h: Use Microsoft's version of make_unique
3222         when it exists.
3223
3224 2013-12-06  Laszlo Vidacs  <lac@inf.u-szeged.hu>
3225
3226         Define SHA1 hash size in SHA1.h and use it at various places.
3227         https://bugs.webkit.org/show_bug.cgi?id=125345
3228
3229         Reviewed by Darin Adler.
3230
3231         Use SHA1::hashSize instead of local variables.
3232
3233         * wtf/SHA1.h: define SHA1 hash size
3234
3235 2013-12-05  Iain Lane  <iain.lane@canonical.com>
3236
3237         Remove USE(LOCKFREE_THREADSAFEREFCOUNTED) from Atomics.cpp since it is
3238         no longer defined.
3239         https://bugs.webkit.org/show_bug.cgi?id=124502
3240
3241         Reviewed by Anders Carlsson.
3242
3243         * wtf/Atomics.cpp:
3244
3245 2013-12-04  Ryosuke Niwa  <rniwa@webkit.org>
3246
3247         Enable HTMLTemplateElement by default
3248         https://bugs.webkit.org/show_bug.cgi?id=123851
3249
3250         Reviewed by Antti Koivisto.
3251
3252         * wtf/FeatureDefines.h:
3253
3254 2013-12-04  Dan Bernstein  <mitz@apple.com>
3255
3256         Replace USE(SECURITY_FRAMEWORK) with finer-grained defines
3257         https://bugs.webkit.org/show_bug.cgi?id=125242
3258
3259         Reviewed by Sam Weinig.
3260
3261         * wtf/Platform.h: Removed definitions of WTF_USE_SECURITY_FRAMEWORK, and defined
3262         HAVE_SEC_IDENTITY and HAVE_SEC_KEYCHAIN.
3263
3264 2013-12-03  Joseph Pecoraro  <pecoraro@apple.com>
3265
3266         Web Inspector: Push Remote Inspector debugging connection management into JavaScriptCore
3267         https://bugs.webkit.org/show_bug.cgi?id=124613
3268
3269         Reviewed by Timothy Hatcher.
3270
3271         * wtf/ios/WebCoreThread.cpp:
3272         * wtf/ios/WebCoreThread.h:
3273         Expose WebThreadRun/WebThreadRunSync iOS methods defined in WebCore through
3274         WTF so that JavaScriptCore can use it. Another such method already existed.
3275
3276 2013-12-03  Mark Lam  <mark.lam@apple.com>
3277
3278         testapi test crashes on Windows in WTF::Vector<wchar_t,64,WTF::UnsafeVectorOverflow>::size().
3279         https://bugs.webkit.org/show_bug.cgi?id=121972.
3280
3281         Reviewed by Brent Fulgham.
3282
3283         * wtf/OSAllocatorWin.cpp:
3284         (WTF::OSAllocator::decommit):
3285         (WTF::OSAllocator::releaseDecommitted):
3286         - Added a check to ensure that the bytes to decommit / release is not 0.
3287           On Windows, a 0 length passed to VirtualFree() has a special meaning,
3288           and it's not "decommit / release nothing" as one would expect. Adding
3289           this check makes OSAllocatorWin consistent with OSAllocatorPosix for
3290           these 2 functions.
3291
3292 2013-12-02  Mark Lam  <mark.lam@apple.com>
3293
3294         Build failure when disabling JIT, YARR_JIT, and ASSEMBLER.
3295         https://bugs.webkit.org/show_bug.cgi?id=123809.
3296
3297         Reviewed by Geoffrey Garen.
3298
3299         * wtf/Platform.h:
3300         - Ensure that the ASSEMBLER is enabled when the DISASSEMBLER is enabled.
3301
3302 2013-11-30  peavo@outlook.com  <peavo@outlook.com>
3303
3304         [Win] Some JavaScript date tests are failing.
3305         https://bugs.webkit.org/show_bug.cgi?id=124946
3306
3307         Reviewed by Brent Fulgham.
3308
3309         Use native Win32 api functions to compute Daylight saving time offset.
3310
3311         * wtf/DateMath.cpp:
3312         (WTF::UnixTimeToFileTime): Added method to calculate Win32 specific struct FILETIME from time_t value.
3313         (WTF::calculateDSTOffset): Use native Win32 api functions to compute Daylight saving time offset.
3314
3315 2013-11-28  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
3316
3317         Nix Upstream: Updating Nix WTF files
3318         https://bugs.webkit.org/show_bug.cgi?id=124980
3319
3320         Reviewed by Csaba Osztrogonác.
3321
3322         Just to sync our private repo files and the trunk, as part of the upstream process.
3323
3324         * wtf/DisallowCType.h:
3325         * wtf/PlatformNix.cmake:
3326         * wtf/nix/FeatureDefinesNix.h:
3327         * wtf/nix/PlatformNix.h:
3328         * wtf/nix/RunLoopNix.cpp: Added.
3329
3330 2013-11-28  Antti Koivisto  <antti@apple.com>
3331
3332         Remove feature: CSS variables
3333         https://bugs.webkit.org/show_bug.cgi?id=114119
3334
3335         Reviewed by Andreas Kling.
3336
3337         * wtf/FeatureDefines.h:
3338
3339 2013-11-26  Filip Pizlo  <fpizlo@apple.com>
3340
3341         Do bytecode validation as part of testing
3342         https://bugs.webkit.org/show_bug.cgi?id=124913
3343
3344         Reviewed by Oliver Hunt.
3345
3346         * GNUmakefile.list.am:
3347         * WTF.vcxproj/WTF.vcxproj:
3348         * WTF.xcodeproj/project.pbxproj:
3349         * wtf/CMakeLists.txt:
3350         * wtf/FastBitVector.cpp: Added.
3351         (WTF::FastBitVector::dump):
3352         * wtf/FastBitVector.h:
3353         (WTF::FastBitVector::resize):
3354         (WTF::FastBitVector::bitCount):
3355         (WTF::FastBitVector::arrayLength):
3356
3357 2013-11-27  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
3358
3359         Remove Sparc specific code.
3360         https://bugs.webkit.org/show_bug.cgi?id=124941
3361
3362         Reviewed by Michael Saboff.
3363
3364         Sparc is not supported, remove leftover code.
3365
3366         * wtf/Platform.h:
3367         * wtf/dtoa/utils.h:
3368
3369 2013-11-26  Marcelo Lira  <marcelo.lira@openbossa.org>
3370
3371         Nix upstreaming - Adding build files and supporting scripts
3372         https://bugs.webkit.org/show_bug.cgi?id=118367
3373
3374         Reviewed by Ryosuke Niwa.
3375
3376         * wtf/FeatureDefines.h:
3377         * wtf/Platform.h:
3378         * wtf/PlatformNix.cmake: Added.
3379
3380 2013-11-26  Drew Yao  <ayao@apple.com>
3381
3382         ASSERT_WITH_SECURITY_IMPLICATION should crash in a distinct way.
3383         https://bugs.webkit.org/show_bug.cgi?id=124757
3384
3385         Change ASSERT_WITH_SECURITY_IMPLICATION to access a different address from CRASH()
3386         in order to help screen fuzzing bugs.
3387
3388         Reviewed by Brent Fulgham.
3389
3390         * wtf/Assertions.cpp:
3391         * wtf/Assertions.h:
3392
3393 2013-11-24  Tim Horton  <timothy_horton@apple.com>
3394
3395         Upstream USE(IOSURFACE) from the iOS port
3396         https://bugs.webkit.org/show_bug.cgi?id=124814
3397
3398         Reviewed by Sam Weinig.
3399
3400         Some code guarded by USE(IOSURFACE) was recently upstreamed,
3401         but not the definition of WTF_USE_IOSURFACE itself.
3402
3403         * wtf/Platform.h:
3404
3405 2013-11-23  Xabier Rodriguez Calvar  <calvaris@igalia.com>
3406
3407         [GStreamer] Remove 0.10 codepath
3408         https://bugs.webkit.org/show_bug.cgi?id=124534
3409
3410         Reviewed by Philippe Normand.
3411
3412         * wtf/Platform.h: Removed macro for GStreamer 1.0 as it is the
3413         only codepath now.
3414
3415 2013-11-21  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
3416
3417         Remove ENABLE_WORKERS
3418         https://bugs.webkit.org/show_bug.cgi?id=105784
3419
3420         Reviewed by Darin Adler.
3421
3422         * wtf/FeatureDefines.h:
3423         * wtf/nix/FeatureDefinesNix.h:
3424
3425 2013-11-21  Mark Rowe  <mrowe@apple.com>
3426
3427         <https://webkit.org/b/124701> Fix an error in a few Xcode configuration setting files.
3428
3429         Reviewed by Alexey Proskuryakov.
3430
3431         * Configurations/Base.xcconfig:
3432
3433 2013-11-20  Mark Lam  <mark.lam@apple.com>
3434
3435         Introducing VMEntryScope to update the VM stack limit.
3436         https://bugs.webkit.org/show_bug.cgi?id=124634.
3437
3438         Reviewed by Geoffrey Garen.
3439
3440         * wtf/Platform.h:
3441         * wtf/StackBounds.h:
3442         (WTF::StackBounds::StackBounds):
3443
3444 2013-11-18  Filip Pizlo  <fpizlo@apple.com>
3445
3446         Allow the FTL debug dumps to include the new size field
3447         https://bugs.webkit.org/show_bug.cgi?id=124479
3448
3449         Reviewed by Mark Hahnenberg.
3450
3451         * wtf/PrintStream.cpp:
3452         (WTF::printInternal):
3453         * wtf/PrintStream.h:
3454
3455 2013-11-17  Jer Noble  <jer.noble@apple.com>
3456
3457         [WTF] Media time should not have a constructor which accepts a single int or float.
3458         https://bugs.webkit.org/show_bug.cgi?id=124470
3459
3460         Having a constructor taking a single number value, as it's very easy to accidentially mis-
3461         initialize a MediaTime with a double (automatically casted to a int64_t).
3462
3463         Reviewed by Eric Carlson.
3464
3465         * wtf/MediaTime.h:
3466
3467 2013-11-18  Csaba Osztrogonác  <ossy@webkit.org>
3468
3469         URTBF after r159432 to make WinCairo build happy.
3470
3471         * wtf/text/WTFString.h:
3472
3473 2013-11-18  Carlos Garcia Campos  <cgarcia@igalia.com>
3474
3475         Unreviewed. Fix make distcheck.
3476
3477         * GNUmakefile.list.am: Add missing header file.
3478
3479 2013-11-16  Alexey Proskuryakov  <ap@apple.com>
3480
3481         Use uint8_t vectors for WebCrypto data
3482         https://bugs.webkit.org/show_bug.cgi?id=124466
3483
3484         Reviewed by Sam Weinig.
3485
3486         Binary data can be UTF-8, in which case "char*" is idiomatic, or it can be arbitrary
3487         binary data, in which case "uint8_t*" is more common.
3488
3489         Changed encode functions that took "const char *" to "const void*", and decode
3490         functions that took "Vector<char>&" now take an adapter class.
3491
3492         The adapter relies on Vector<char> and Vector<uint8_t> classes having an identical layout.
3493
3494         * wtf/text/Base64.cpp:
3495         (WTF::base64Encode):
3496         (WTF::base64URLEncode):
3497         (WTF::base64DecodeInternal):
3498         (WTF::base64Decode):
3499         (WTF::base64URLDecode):
3500         * wtf/text/Base64.h:
3501         (WTF::SignedOrUnsignedCharVectorAdapter):
3502         (WTF::ConstSignedOrUnsignedCharVectorAdapter):
3503         (WTF::base64Encode):
3504         (WTF::base64URLEncode):
3505
3506 2013-11-15  Alexey Proskuryakov  <ap@apple.com>
3507
3508         Support exporting symmetric keys as JWK
3509         https://bugs.webkit.org/show_bug.cgi?id=124442
3510
3511         Reviewed by Sam Weinig.
3512
3513         Base64URL encoding doesn't use '=' padding, and doesn't need any other options.
3514         Added this mode for encode, and removed policy arguments from exposed functions.
3515
3516         * wtf/text/Base64.cpp:
3517         (WTF::base64EncodeInternal):
3518         (WTF::base64URLEncode):
3519         (WTF::base64URLDecode):
3520         * wtf/text/Base64.h:
3521         (WTF::base64URLEncode):
3522
3523 2013-11-15  Mark Hahnenberg  <mhahnenberg@apple.com>
3524
3525         Remove VTableSpectrum
3526         https://bugs.webkit.org/show_bug.cgi?id=124427
3527
3528         Reviewed by Filip Pizlo.
3529
3530         * wtf/Platform.h:
3531
3532 2013-11-15  Jer Noble  <jer.noble@apple.com>
3533
3534         MediaTime addition and subtraction operators have errors when the rhs is infinite.
3535         https://bugs.webkit.org/show_bug.cgi?id=124413
3536
3537         Reviewed by Eric Carlson.
3538
3539         Correctly account for infinities that can occur on the right-hand side of addition or
3540         subtraction operators.
3541
3542         * wtf/MediaTime.cpp:
3543         (WTF::MediaTime::operator+):
3544         (WTF::MediaTime::operator-):
3545
3546 2013-11-14  Oliver Hunt  <oliver@apple.com>
3547
3548         Make CLoop easier to build, and make it work
3549         https://bugs.webkit.org/show_bug.cgi?id=124359
3550
3551         Reviewed by Geoffrey Garen.
3552
3553         Make building with the CLoop forcibly enabled manually
3554         disable the JITs
3555
3556         * wtf/Platform.h:
3557
3558 2013-11-14  Andreas Kling  <akling@apple.com>
3559
3560         FontDescription copies should share families list, not duplicate it.
3561         <https://webkit.org/b/124338>
3562
3563         Add RefCountedArray::operator==.
3564
3565         Reviewed by Antti Koivisto.
3566
3567 2013-11-13  Anders Carlsson  <andersca@apple.com>
3568
3569         Add a Vector constructor that takes an std::initializer_list
3570         https://bugs.webkit.org/show_bug.cgi?id=124287
3571
3572         Reviewed by Antti Koivisto.
3573
3574         * wtf/Compiler.h:
3575         * wtf/Vector.h:
3576         (WTF::Vector::Vector):
3577
3578 2013-11-12  Brent Fulgham  <bfulgham@apple.com>
3579
3580         [Win] Unreviewed gardening.
3581
3582         * WTF.vcxproj/WTF.vcxproj.filters: Tidy up filters so files show up
3583         in their proper directories.
3584
3585 2013-11-12  Alex Christensen  <achristensen@webkit.org>
3586
3587         Build GStreamer files on Windows.
3588         https://bugs.webkit.org/show_bug.cgi?id=124180
3589
3590         Reviewed by Brent Fulgham.
3591
3592         * WTF.vcxproj/WTF.vcxproj:
3593         * WTF.vcxproj/WTF.vcxproj.filters:
3594         * WTF.vcxproj/copy-files.cmd:
3595         Include gobject files in WinCairo build.
3596
3597 2013-11-09  Filip Pizlo  <fpizlo@apple.com>
3598
3599         Switch FTL GetById/PutById IC's over to using AnyRegCC
3600         https://bugs.webkit.org/show_bug.cgi?id=124094
3601
3602         Reviewed by Sam Weinig.
3603         
3604         I needed to add another set operation, namely filter(), which is an in-place set
3605         intersection.
3606
3607         * wtf/BitVector.cpp:
3608         (WTF::BitVector::filterSlow):
3609         * wtf/BitVector.h:
3610         (WTF::BitVector::filter):
3611
3612 2013-11-10  Ryuan Choi  <ryuan.choi@samsung.com>
3613
3614         [EFL] Build break on Ubuntu 13.10
3615         https://bugs.webkit.org/show_bug.cgi?id=124131
3616
3617         Reviewed by Gyuyoung Kim.
3618
3619         Turned DisallowCType macros off on EFL port because gtest-internal.h uses isspace().
3620
3621         * wtf/DisallowCType.h: Added !PLATFORM(EFL) guard.
3622
3623 2013-11-09  Patrick Gansterer  <paroga@webkit.org>
3624
3625         Move RunLoop from WebCore to WTF
3626         https://bugs.webkit.org/show_bug.cgi?id=116606
3627
3628         Reviewed by Anders Carlsson.
3629
3630         With this change RunLoop can be used in JavaScriptCore too.
3631
3632         * GNUmakefile.list.am:
3633         * WTF.vcxproj/WTF.vcxproj:
3634         * WTF.xcodeproj/project.pbxproj:
3635         * wtf/CMakeLists.txt:
3636         * wtf/PlatformBlackBerry.cmake:
3637         * wtf/PlatformEfl.cmake:
3638         * wtf/PlatformGTK.cmake:
3639         * wtf/PlatformWin.cmake:
3640         * wtf/RunLoop.cpp: Renamed from Source/WebCore/platform/RunLoop.cpp.
3641         (WTF::RunLoop::Holder::Holder):
3642         (WTF::RunLoop::Holder::runLoop):
3643         (WTF::RunLoop::initializeMainRunLoop):
3644         (WTF::RunLoop::current):
3645         (WTF::RunLoop::main):
3646         (WTF::RunLoop::isMain):
3647         (WTF::RunLoop::performWork):
3648         (WTF::RunLoop::dispatch):
3649         * wtf/RunLoop.h: Renamed from Source/WebCore/platform/RunLoop.h.
3650         (WTF::RunLoop::TimerBase::startRepeating):
3651         (WTF::RunLoop::TimerBase::startOneShot):
3652         (WTF::RunLoop::TimerBase::isRepeating):
3653         (WTF::RunLoop::Timer::Timer):
3654         (WTF::RunLoop::Timer::fired):
3655         * wtf/blackberry/RunLoopBlackBerry.cpp: Renamed from Source/WebCore/platform/blackberry/RunLoopBlackBerry.cpp.
3656         (WTF::RunLoop::RunLoop):
3657         (WTF::RunLoop::~RunLoop):
3658         (WTF::RunLoop::wakeUp):
3659         * wtf/cf/RunLoopCF.cpp: Renamed from Source/WebCore/platform/cf/RunLoopCF.cpp.
3660         (WTF::RunLoop::performWork):
3661         (WTF::RunLoop::RunLoop):
3662         (WTF::RunLoop::~RunLoop):
3663         (WTF::RunLoop::runForDuration):
3664         (WTF::RunLoop::wakeUp):
3665         (WTF::RunLoop::run):
3666         (WTF::RunLoop::stop):
3667         (WTF::RunLoop::TimerBase::timerFired):
3668         (WTF::RunLoop::TimerBase::TimerBase):
3669         (WTF::RunLoop::TimerBase::~TimerBase):
3670         (WTF::RunLoop::TimerBase::start):
3671         (WTF::RunLoop::TimerBase::stop):
3672         (WTF::RunLoop::TimerBase::isActive):
3673         * wtf/efl/RunLoopEfl.cpp: Renamed from Source/WebCore/platform/efl/RunLoopEfl.cpp.
3674         (WTF::RunLoop::RunLoop):
3675         (WTF::RunLoop::~RunLoop):
3676         (WTF::RunLoop::run):
3677         (WTF::RunLoop::stop):
3678         (WTF::RunLoop::wakeUpEvent):
3679         (WTF::RunLoop::wakeUp):
3680         (WTF::RunLoop::TimerBase::TimerBase):
3681         (WTF::RunLoop::TimerBase::~TimerBase):
3682         (WTF::RunLoop::TimerBase::timerFired):
3683         (WTF::RunLoop::TimerBase::start):
3684         (WTF::RunLoop::TimerBase::stop):
3685         (WTF::RunLoop::TimerBase::isActive):
3686         * wtf/gtk/RunLoopGtk.cpp: Renamed from Source/WebCore/platform/gtk/RunLoopGtk.cpp.
3687         (WTF::RunLoop::RunLoop):
3688         (WTF::RunLoop::~RunLoop):
3689         (WTF::RunLoop::run):
3690         (WTF::RunLoop::innermostLoop):
3691         (WTF::RunLoop::pushNestedMainLoop):
3692         (WTF::RunLoop::popNestedMainLoop):
3693         (WTF::RunLoop::stop):
3694         (WTF::RunLoop::queueWork):
3695         (WTF::RunLoop::wakeUp):
3696         (WTF::RunLoop::TimerBase::TimerBase):