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