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