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