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