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