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