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