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