Mass remove all the empty directories
[WebKit-https.git] / Source / WTF / ChangeLog
1 2013-04-10  Benjamin Poulain  <bpoulain@apple.com>
2
3         Mass remove all the empty directories
4
5         Rubberstamped by Ryosuke Niwa.
6
7         * wtf/qt/compat: Removed.
8         * wtf/unicode/glib: Removed.
9         * wtf/unicode/qt4: Removed.
10         * wtf/unicode/wince: Removed.
11
12 2013-04-08  Anders Carlsson  <andersca@apple.com>
13
14         Remove unneeded headers from FrameLoader.h
15         https://bugs.webkit.org/show_bug.cgi?id=114223
16
17         Reviewed by Geoffrey Garen.
18
19         * wtf/Forward.h:
20         Add PrintStream.
21
22         * wtf/HashTable.h:
23         Don't include DataLog.h unless DUMP_HASHTABLE_STATS_PER_TABLE is 1.
24
25 2013-04-10  Laszlo Gombos  <l.gombos@samsung.com>
26
27         Remove ENABLE_3D_PLUGIN
28         https://bugs.webkit.org/show_bug.cgi?id=108002
29
30         Reviewed by Antti Koivisto.
31
32         Remove ENABLE_3D_PLUGIN, it was only used by Chromium.
33
34         * wtf/FeatureDefines.h:
35
36 2013-04-09  Patrick Gansterer  <paroga@webkit.org>
37
38         [CMake] Remove conditional source file lists in WTF
39         https://bugs.webkit.org/show_bug.cgi?id=114250
40
41         Reviewed by Laszlo Gombos.
42
43         Use the #ifdef in the source file instead of conditional adding
44         files to the list of source files. This allows us to remove the
45         information of enabled features from CMake in next step.
46
47         * wtf/CMakeLists.txt:
48
49 2013-04-08  Ryosuke Niwa  <rniwa@webkit.org>
50
51         Remove WTF.gyp/WTF.gypi
52         https://bugs.webkit.org/show_bug.cgi?id=114237
53
54         Reviewed by Maciej Stachowiak.
55
56         * WTF.gyp: Removed.
57         * WTF.gyp/.gitignore: Removed.
58         * WTF.gyp/WTF.gyp: Removed.
59         * WTF.gypi: Removed.
60
61 2013-04-08  Benjamin Poulain  <benjamin@webkit.org>
62
63         Remove HTML Notification
64         https://bugs.webkit.org/show_bug.cgi?id=114231
65
66         Reviewed by Ryosuke Niwa.
67
68         * wtf/FeatureDefines.h:
69
70 2013-04-08  Benjamin Poulain  <benjamin@webkit.org>
71
72         wtf/dtoa/* uses a confusing name to reference its buffers
73         https://bugs.webkit.org/show_bug.cgi?id=109709
74
75         Reviewed by Darin Adler.
76
77         The data structure Vector in wtf/dtoa has nothing to do with a traditional
78         vector, is it just a pointer and the length of the pointed buffer.
79
80         Rename it to BufferReference to avoid mistakes.
81
82         * wtf/dtoa/bignum-dtoa.cc:
83         * wtf/dtoa/bignum-dtoa.h:
84         * wtf/dtoa/bignum.cc:
85         * wtf/dtoa/bignum.h:
86         (Bignum):
87         * wtf/dtoa/double-conversion.cc:
88         * wtf/dtoa/fast-dtoa.cc:
89         * wtf/dtoa/fast-dtoa.h:
90         * wtf/dtoa/fixed-dtoa.cc:
91         * wtf/dtoa/fixed-dtoa.h:
92         (double_conversion):
93         * wtf/dtoa/strtod.cc:
94         * wtf/dtoa/strtod.h:
95         (double_conversion):
96         * wtf/dtoa/utils.h:
97         (double_conversion):
98         (WTF::double_conversion::BufferReference::BufferReference):
99         (WTF::double_conversion::BufferReference::SubBufferReference):
100         (StringBuilder):
101
102 2013-04-08  Alberto Garcia  <agarcia@igalia.com>
103
104         [BlackBerry] MathExtras: macros defined in math.h conflict with the real functions
105         https://bugs.webkit.org/show_bug.cgi?id=112683
106
107         Reviewed by Darin Adler.
108
109         After calls to signbit and friends were prefixed with std:: in
110         r143232, the BlackBerry port no longer compiles.
111
112         The solution is to get rid of the macros defined in math.h and use
113         the real functions instead.
114
115         * wtf/MathExtras.h:
116
117 2013-04-08  Max Vujovic  <mvujovic@adobe.com>
118
119         REGRESSION (r147502): Animations of CA filters broken
120         https://bugs.webkit.org/show_bug.cgi?id=114067
121
122         Reviewed by Dean Jackson.
123
124         Revert r147502 [1] because it broke CA filter animations.
125         
126         [1]: http://trac.webkit.org/changeset/147502
127
128         * wtf/Platform.h:
129
130 2013-04-08  Andreas Kling  <akling@apple.com>
131
132         REGRESSION(r147894): Broke WTFReportBacktrace() on Mac.
133         <http://webkit.org/b/114174>
134
135         Reviewed by Anders Carlsson.
136
137         An #elif !OS(ANDROID) block was erroneously removed, turn it into an #else instead since
138         that path will still be taken for OS(DARWIN).
139
140         * wtf/Assertions.cpp:
141
142 2013-04-08  Oliver Hunt  <oliver@apple.com>
143
144         Build fix.
145
146         Remove unnecessary include of <wtf/Forward.h> from Vector.h
147
148         * wtf/Vector.h:
149
150 2013-04-08  Csaba Osztrogonác  <ossy@webkit.org>
151
152         Unreviewed trivial buildfix after r147799.
153
154         Add an ifdef guard to ensure Qt uses its own monotonicallyIncreasingTime()
155         implemenation instead of the GLIB based one.
156
157         * wtf/CurrentTime.cpp:
158         (WTF):
159
160 2013-04-07  Benjamin Poulain  <benjamin@webkit.org>
161
162         Remove the android code from WebKit Template Framework
163         https://bugs.webkit.org/show_bug.cgi?id=114138
164
165         Reviewed by Dirk Schulze.
166
167         * wtf/Assertions.cpp:
168         * wtf/Atomics.h:
169         * wtf/MathExtras.h:
170         * wtf/Platform.h:
171         * wtf/ThreadIdentifierDataPthreads.cpp:
172
173 2013-04-07  Oliver Hunt  <oliver@apple.com>
174
175         Add bounds checking for WTF::Vector::operator[]
176         https://bugs.webkit.org/show_bug.cgi?id=89600
177
178         Reviewed by Filip Pizlo.
179
180         Add a template parameter to Vector<> that controls whether
181         bounds checking is performed in release builds or not.
182         Defaults to crashing on overflow.
183
184         * wtf/Forward.h:
185         (WTF):
186         * wtf/Vector.h:
187         (WTF):
188         (Vector):
189         (WTF::Vector::at):
190         (WTF::Vector::removeLast):
191         (WTF::::Vector):
192         (WTF::=):
193         (WTF::::contains):
194         (WTF::::find):
195         (WTF::::reverseFind):
196         (WTF::::fill):
197         (WTF::::appendRange):
198         (WTF::::expandCapacity):
199         (WTF::::tryExpandCapacity):
200         (WTF::::resize):
201         (WTF::::shrink):
202         (WTF::::grow):
203         (WTF::::reserveCapacity):
204         (WTF::::tryReserveCapacity):
205         (WTF::::reserveInitialCapacity):
206         (WTF::::shrinkCapacity):
207         (WTF::::append):
208         (WTF::::tryAppend):
209         (WTF::::appendSlowCase):
210         (WTF::::uncheckedAppend):
211         (WTF::::appendVector):
212         (WTF::::insert):
213         (WTF::::prepend):
214         (WTF::::remove):
215         (WTF::::reverse):
216         (WTF::::releaseBuffer):
217         (WTF::::checkConsistency):
218         (WTF::deleteAllValues):
219         (WTF::swap):
220         (WTF::operator==):
221         (WTF::operator!=):
222
223 2013-04-07  Patrick Gansterer  <paroga@webkit.org>
224
225         [WIN] Fix problems with export macros of AutodrainedPool
226         https://bugs.webkit.org/show_bug.cgi?id=114132
227
228         Reviewed by Geoffrey Garen.
229
230         Exporting an inline function results in an error with the MS compiler.
231
232         * wtf/AutodrainedPool.h:
233         (AutodrainedPool):
234         (WTF::AutodrainedPool::AutodrainedPool):
235         (WTF::AutodrainedPool::~AutodrainedPool):
236         (WTF::AutodrainedPool::cycle):
237
238 2013-04-07  Patrick Gansterer  <paroga@webkit.org>
239
240         [WinCE] Add workaround for UNUSED_PARAM()
241         https://bugs.webkit.org/show_bug.cgi?id=113440
242
243         Reviewed by Benjamin Poulain.
244
245         The MSVC compiler for Windwos CE throws an error when
246         an function parameter is passed to UNUSED_PARAM() and
247         its type is only forward declared.
248
249         * wtf/UnusedParam.h:
250
251 2013-04-07  Patrick Gansterer  <paroga@webkit.org>
252
253         Do not check if WTF_ARM_ARCH_VERSION is defined in WTF_ARM_ARCH_AT_LEAST macro
254         https://bugs.webkit.org/show_bug.cgi?id=114127
255
256         Reviewed by Benjamin Poulain.
257
258         Platform.h defines WTF_ARM_ARCH_VERSION for CPU(ARM) always and removing
259         the check works around a bug in older Microsoft compiler versions.
260
261         * wtf/Platform.h:
262
263 2013-04-07  David Kilzer  <ddkilzer@apple.com>
264
265         Remove the rest of SVG_DOM_OBJC_BINDINGS
266         <http://webkit.org/b/114112>
267
268         Reviewed by Geoffrey Garen.
269
270         * wtf/FeatureDefines.h:
271         - Remove ENABLE_SVG_DOM_OBJC_BINDINGS macro.
272
273 2013-04-06  Geoffrey Garen  <ggaren@apple.com>
274
275         Removed v8 bindings hooks from IDL files
276         https://bugs.webkit.org/show_bug.cgi?id=114091
277
278         Reviewed by Anders Carlsson and Sam Weinig.
279
280         * wtf/ArrayBuffer.h:
281         (WTF):
282         (WTF::ArrayBufferContents::ArrayBufferContents):
283         (WTF::ArrayBufferContents::transfer):
284         (ArrayBufferContents):
285         (ArrayBuffer):
286         (WTF::ArrayBufferContents::~ArrayBufferContents):
287         * wtf/Platform.h:
288
289 2013-04-05  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
290
291         [GTK] Change from PLATFORM(GTK) to USE(GLIB) in WTF/CurrentTime.cpp
292         https://bugs.webkit.org/show_bug.cgi?id=114061
293
294         Reviewed by Gustavo Noronha Silva.
295
296         Now other ports using GLib can use the correct implementation
297         and not the fallback one without adding any other PLATFORM guards
298         here.
299
300         * wtf/CurrentTime.cpp:
301         (WTF):
302
303 2013-04-05  Geoffrey Garen  <ggaren@apple.com>
304
305         Made USE(JSC) unconditional
306         https://bugs.webkit.org/show_bug.cgi?id=114058
307
308         Reviewed by Anders Carlsson.
309
310         * wtf/ThreadRestrictionVerifier.h:
311         (WTF):
312         * wtf/WTFThreadData.cpp:
313         (WTF::WTFThreadData::WTFThreadData):
314         (WTF::WTFThreadData::~WTFThreadData):
315         * wtf/WTFThreadData.h:
316         (WTFThreadData):
317         * wtf/text/StringImpl.cpp:
318         (WTF::StringImpl::~StringImpl):
319
320 2013-04-05  Roger Fong  <roger_fong@apple.com>
321
322         More VS2010 solution makefile fixes.
323         <rdar://problem/13588964>
324
325         * WTF.vcxproj/WTF.make:
326
327 2013-04-05  Anders Carlsson  <andersca@apple.com>
328
329         Remove more dead Chromium code from WTF
330         https://bugs.webkit.org/show_bug.cgi?id=114037
331
332         Reviewed by Allan Sandfeld Jensen.
333
334         * wtf/CurrentTime.cpp:
335         (WTF):
336         * wtf/DisallowCType.h:
337         * wtf/ExportMacros.h:
338         * wtf/MainThread.cpp:
339         * wtf/Platform.h:
340
341 2013-04-05  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
342
343         [EFL] Disable GLOBAL_FAST_MALLOC_NEW by default.
344         https://bugs.webkit.org/show_bug.cgi?id=114031
345
346         Reviewed by Alexis Menard.
347
348         Follow what some other ports already do and avoid globally overriding
349         the `new' and `delete' operators with the ones in FastMalloc.
350
351         In many cases, third-party or client code allocates memory with
352         standard library calls but the memory gets deleted by FastMalloc,
353         causing a crash. The reverse (ie. memory being allocated by FastMalloc
354         and freed by the system libraries) is also possible.
355
356         Commits 135666 and 121018 provide more information about this, as well
357         as comment 6 in bug 89358.
358
359         * wtf/Platform.h:
360
361 2013-04-05  Benjamin Poulain  <bpoulain@apple.com>
362
363         Remove WTFURL from WebKit
364         https://bugs.webkit.org/show_bug.cgi?id=113994
365
366         Reviewed by Ryosuke Niwa.
367
368         Painful, but that is for the best now :(
369
370         * GNUmakefile.list.am:
371         * WTF.xcodeproj/project.pbxproj:
372         * wtf/MemoryInstrumentationParsedURL.h: Removed.
373         * wtf/url/api/ParsedURL.cpp: Removed.
374         * wtf/url/api/ParsedURL.h: Removed.
375         * wtf/url/api/URLBuffer.h: Removed.
376         * wtf/url/api/URLQueryCharsetConverter.h: Removed.
377         * wtf/url/api/URLString.cpp: Removed.
378         * wtf/url/api/URLString.h: Removed.
379         * wtf/url/src/RawURLBuffer.h: Removed.
380         * wtf/url/src/URLCanon.h: Removed.
381         * wtf/url/src/URLCanonEtc.cpp: Removed.
382         * wtf/url/src/URLCanonFilesystemurl.cpp: Removed.
383         * wtf/url/src/URLCanonFileurl.cpp: Removed.
384         * wtf/url/src/URLCanonHost.cpp: Removed.
385         * wtf/url/src/URLCanonICU.cpp: Removed.
386         * wtf/url/src/URLCanonIP.cpp: Removed.
387         * wtf/url/src/URLCanonInternal.cpp: Removed.
388         * wtf/url/src/URLCanonInternal.h: Removed.
389         * wtf/url/src/URLCanonMailto.cpp: Removed.
390         * wtf/url/src/URLCanonPath.cpp: Removed.
391         * wtf/url/src/URLCanonPathurl.cpp: Removed.
392         * wtf/url/src/URLCanonQuery.cpp: Removed.
393         * wtf/url/src/URLCanonRelative.cpp: Removed.
394         * wtf/url/src/URLCanonStdURL.cpp: Removed.
395         * wtf/url/src/URLCharacterTypes.cpp: Removed.
396         * wtf/url/src/URLCharacterTypes.h: Removed.
397         * wtf/url/src/URLComponent.h: Removed.
398         * wtf/url/src/URLFile.h: Removed.
399         * wtf/url/src/URLParse.cpp: Removed.
400         * wtf/url/src/URLParse.h: Removed.
401         * wtf/url/src/URLParseFile.cpp: Removed.
402         * wtf/url/src/URLParseInternal.h: Removed.
403         * wtf/url/src/URLSegments.cpp: Removed.
404         * wtf/url/src/URLSegments.h: Removed.
405         * wtf/url/src/URLUtil.cpp: Removed.
406         * wtf/url/src/URLUtil.h: Removed.
407         * wtf/url/src/URLUtilInternal.h: Removed.
408
409 2013-04-04  Geoffrey Garen  <ggaren@apple.com>
410
411         Nixed the defunct chromium folder from WTF
412         https://bugs.webkit.org/show_bug.cgi?id=113992
413
414         Reviewed by Ryosuke Niwa.
415
416         * wtf/chromium: Removed.
417         * wtf/chromium/ChromiumThreading.h: Removed.
418         * wtf/chromium/MainThreadChromium.cpp: Removed.
419
420 2013-04-04  Martin Robinson  <mrobinson@igalia.com>
421
422         [GTK] Remove the gyp build
423         https://bugs.webkit.org/show_bug.cgi?id=113942
424
425         Reviewed by Gustavo Noronha Silva.
426
427         * WTF.gyp/WTFGTK.gyp: Removed.
428
429 2013-04-04  Anders Carlsson  <andersca@apple.com>
430
431         ObjcRuntimeExtras.h should use variadic templates
432         https://bugs.webkit.org/show_bug.cgi?id=113941
433
434         Reviewed by Andreas Kling.
435
436         Reimplement wtfObjcMsgSend and wtfCallIMP as variadic function templates.
437
438         * wtf/ObjcRuntimeExtras.h:
439         (wtfObjcMsgSend):
440         (wtfCallIMP):
441
442 2013-04-04  Andras Becsi  <andras.becsi@digia.com>
443
444         Fix the build with GCC 4.8
445         https://bugs.webkit.org/show_bug.cgi?id=113147
446
447         Reviewed by Allan Sandfeld Jensen.
448
449         Disable diagnostic warning -Wunused-local-typedefs for GCC 4.8
450         since dummy typedefs are commonly used in the codebase.
451
452         * wtf/Compiler.h:
453
454 2013-04-03  Pratik Solanki  <psolanki@apple.com>
455
456         Enable HAVE_MADV_FREE_REUSE on iOS
457         https://bugs.webkit.org/show_bug.cgi?id=113892
458         <rdar://problem/12787563>
459
460         Reviewed by Mark Rowe.
461
462         * wtf/Platform.h:
463
464 2013-04-02  Ryosuke Niwa  <rniwa@webkit.org>
465
466         Remove code for Mac 10.5 and earlier from WTF and WebKit2
467         https://bugs.webkit.org/show_bug.cgi?id=113844
468
469         Reviewed by Benjamin Poulain.
470
471         Removed the code for 10.5 and removed if-def for 10.6.
472
473         * wtf/FastMalloc.cpp:
474         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
475         * wtf/Platform.h:
476         * wtf/ThreadingPthreads.cpp:
477         (WTF::initializeCurrentThreadInternal):
478         * wtf/unicode/icu/CollatorICU.cpp:
479         (WTF::Collator::userDefault):
480
481 2013-04-02  Max Vujovic  <mvujovic@adobe.com>
482
483         [CSS Filters] Filter outsets clipped on composited layers when filter is applied after first layout
484         https://bugs.webkit.org/show_bug.cgi?id=109098
485
486         Reviewed by Dean Jackson.
487
488         * wtf/Platform.h:
489             Add flag for HAVE(COMPOSITOR_FILTER_OUTSETS) macro. This is used to check if a
490             platform's compositor expands layers internally for filter outsets when it applies
491             filters like drop-shadow and blur. Currently, only CoreAnimation does has this
492             capability.
493
494 2013-04-02  Yury Semikhatsky  <yurys@chromium.org>
495
496         Web Inspector: memory instrumentation for external arrays is broken
497         https://bugs.webkit.org/show_bug.cgi?id=113790
498
499         Reviewed by Pavel Feldman.
500
501         * wtf/MemoryInstrumentationArrayBufferView.h: report buffer pointer as retaining one as
502         we know that the pointer is not broken.
503         (WTF::reportMemoryUsage):
504
505 2013-04-01  Han Shen  <shenhan@google.com>
506
507         Move definition of nested classes that inherit enclosing class outside class definition.
508         https://bugs.webkit.org/show_bug.cgi?id=113454
509
510         Reviewed by Benjamin Poulain.
511
512         HashMap.h does not build on GCC 4.8. Inside this file,
513         HashMapKeysProxy and HashMapValuesProxy are defined as nested
514         class inside HashMap - which is legal - the illegal part is that
515         these 2 classes inherit HashMap, that is the enclosing class, that
516         causes "reference to in-complete definition" error.
517
518         The fix is to move outside the definition of these 2 classes, and
519         leave only declaration part inside HashMap as is illustrated below -
520
521           template class <typename T>
522           class HashMap {
523             ... ...
524             ... ...
525           private:
526             class HashMapKeysProxy;
527
528             // ERROR - nested class inherits enclosing class.
529             class HashMapKeysProxy : private HashMap {
530                 ... ...
531             };
532             ... ...
533             ... ...
534             class HashMapKeysProxy : private HashMap {
535                 ... ...
536             };
537             ... ...
538             ... ...
539           };
540
541         Fixed as below:
542           template class <typename T>
543           class HashMap {
544             ... ...
545             ... ...
546           private:
547             class HashMapKeysProxy;
548             class HashMapValuesProxy;
549
550             ... ...
551             ... ...
552           };
553
554           template <typename T>
555           class HashMap<T>::HashMapKeysProxy : private HashMap<T> {
556             ... ...
557           };
558
559           template <typename T>
560           class HashMap<T>::HashMapValuesProxy : private HashMap<T> {
561             ... ...
562           };
563
564         * wtf/HashMap.h:
565         (HashMap):
566         (WTF): Factor out nested class definition from enclosing class.
567
568 2013-03-31  Mark Hahnenberg  <mhahnenberg@apple.com>
569
570         Regions should be allocated from the same contiguous segment of virtual memory
571         https://bugs.webkit.org/show_bug.cgi?id=113662
572
573         Reviewed by Filip Pizlo.
574
575         Instead of letting the OS spread our Regions all over the place, we should allocate them all within 
576         some range of each other. This change will open the door to some other optimizations, e.g. doing simple 
577         range checks for our write barriers and compressing JSCell pointers to 32-bits.
578
579         * wtf/MetaAllocator.cpp: Changed the MetaAllocator to allow custom page sizes if the derived class wants to
580         use something other than the system page size.
581         (WTF::MetaAllocator::MetaAllocator):
582         * wtf/MetaAllocator.h:
583         (MetaAllocator):
584
585 2013-04-01  Yury Semikhatsky  <yurys@chromium.org>
586
587         Web Inspector: add memory instrumentation for StringBuffer
588         https://bugs.webkit.org/show_bug.cgi?id=113507
589
590         Reviewed by Pavel Feldman.
591
592         Added memory instrumentation for StringBuffer.
593
594         * wtf/MemoryInstrumentationString.h:
595         (WTF):
596         (WTF::reportMemoryUsage):
597
598 2013-03-30  Tom Sepez  <tsepez@chromium.org>
599
600         View-source iframes are dangerous (and not very useful).
601         https://bugs.webkit.org/show_bug.cgi?id=113345
602
603         Reviewed by Adam Barth.
604
605         * wtf/FeatureDefines.h:
606         Default definition of ENABLE_VIEWSOURCE_ATTRIBUTE is enabled.
607
608 2013-03-27  Patrick Gansterer  <paroga@webkit.org>
609
610         Set WTF_ARM_ARCH_VERSION to correct value when used with MSVC
611         https://bugs.webkit.org/show_bug.cgi?id=113436
612
613         Reviewed by Benjamin Poulain.
614
615         The Microsoft compiler defines _M_ARM with used ARM version.
616
617         * wtf/Platform.h:
618
619 2013-03-27  Allan Sandfeld Jensen  <allan.jensen@digia.com>
620
621         Support C++11 static_assert
622         https://bugs.webkit.org/show_bug.cgi?id=113308
623
624         Reviewed by Alexey Proskuryakov.
625
626         Use the C++11 static_assert for COMPILE_ASSERT when it is available. Note that
627         even when compiling with C++11 support, static_assert will not always be available
628         since Assertions.h may also be used outside of C++.
629
630         C11 _Static_assert is enabled for GCC when it has C11 support (gcc>=4.7 -std=c11).
631
632         * wtf/Assertions.h:
633         * wtf/Compiler.h:
634
635 2013-03-25  Oliver Hunt  <oliver@apple.com>
636
637         RefCountedArray needs a size based constructor
638         https://bugs.webkit.org/show_bug.cgi?id=113277
639
640         Reviewed by Benjamin Poulain.
641
642         Simple patch to add a size based constructor for RefCountedArray
643         so that we can create an sharable array without a copy.
644
645         * wtf/RefCountedArray.h:
646         (RefCountedArray):
647         (WTF::RefCountedArray::RefCountedArray):
648
649 2013-03-26  James Robinson  <jamesr@chromium.org>
650
651         Compile fix - OS(WINDOWS), not OS(WIN).
652
653         * wtf/ProcessID.h:
654         (WTF::getCurrentProcessID):
655
656 2013-03-26  James Robinson  <jamesr@chromium.org>
657
658         Fix compile for OS(WIN) != PLATFORM(WIN)
659         https://bugs.webkit.org/show_bug.cgi?id=113356
660
661         Reviewed by Tim Horton.
662
663         * wtf/ProcessID.h:
664         (WTF::getCurrentProcessID):
665
666 2013-03-23  Filip Pizlo  <fpizlo@apple.com>
667
668         JSC_enableProfiler=true should also cause JSGlobalData to save the profiler output somewhere
669         https://bugs.webkit.org/show_bug.cgi?id=113144
670
671         Reviewed by Geoffrey Garen.
672         
673         I got tired of the fact that getpid(2) is not a syscall on Windows (unless you do
674         _getpid() I believe), so I wrote a header that abstracts it. I also changed existing
675         code that uses getpid() to use WTF::getCurrentProcessID().
676
677         * GNUmakefile.list.am:
678         * WTF.gypi:
679         * WTF.pro:
680         * WTF.vcproj/WTF.vcproj:
681         * WTF.xcodeproj/project.pbxproj:
682         * wtf/CMakeLists.txt:
683         * wtf/MetaAllocator.cpp:
684         (WTF::MetaAllocator::dumpProfile):
685         * wtf/ProcessID.h: Added.
686         (WTF):
687         (WTF::getCurrentProcessID):
688         * wtf/text/StringImpl.cpp:
689         (WTF::StringStats::printStats):
690
691 2013-03-25  Kent Tamura  <tkent@chromium.org>
692
693         Rename ENABLE_INPUT_TYPE_DATETIME
694         https://bugs.webkit.org/show_bug.cgi?id=113254
695
696         Reviewed by Kentaro Hara.
697
698         Rename ENABLE_INPUT_TYPE_DATETIME to ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE.
699         Actually I'd like to remove the code, but we shouldn't remove it yet
700         because we shipped products with it on some platforms.
701
702         * wtf/FeatureDefines.h:
703
704 2013-03-25  David Kilzer  <ddkilzer@apple.com>
705
706         WTF::binarySearchImpl() should compile with -Wshorten-64-to-32
707         <http://webkit.org/b/113170>
708
709         Reviewed by Dan Bernstein.
710
711         Fixes the following build failure:
712
713             /usr/local/include/wtf/StdLibExtras.h:190:30: error: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Werror,-Wshorten-64-to-32]
714                     int pos = (size - 1) >> 1;
715                         ~~~   ~~~~~~~~~~~^~~~
716             1 error generated.
717
718         * wtf/StdLibExtras.h:
719         (WTF::binarySearchImpl): Switch type from int to size_t.
720
721 2013-03-22  Benjamin Poulain  <bpoulain@apple.com>
722
723         Remove 2 bad branches from StringHash::equal() and CaseFoldingHash::equal()
724         https://bugs.webkit.org/show_bug.cgi?id=113003
725
726         Reviewed by Eric Seidel.
727
728         StringHash::equal() and CaseFoldingHash::equal() were both testing for
729         the nullity of the two input pointers. The catch is: neither traits handle
730         null pointers, and any client code would have crashed on hash(), before equal()
731         is called.
732         Consequently, the two branches had a pass rate of zero when called from a HashMap code.
733
734         The function is also never inlined because it is too big (the code of equal() for characters
735         is always inlined, causing the function to be quite big).
736
737         This patch introduces two new functions in the StringImpl API: equalNonNull() and
738         equalIgnoringCaseNonNull(). Those functions are similar to their equal() equivalent
739         but make the assumtion the input is never null.
740
741         The functions are used for StringHash to avoid the useless branches.
742
743         * wtf/text/StringHash.h:
744         (WTF::StringHash::equal):
745         (WTF::CaseFoldingHash::equal):
746         * wtf/text/StringImpl.cpp:
747         (WTF::stringImplContentEqual):
748         (WTF::equal):
749         (WTF::equalNonNull):
750         (WTF::equalIgnoringCase):
751         (WTF::equalIgnoringCaseNonNull):
752         (WTF::equalIgnoringNullity):
753         * wtf/text/StringImpl.h:
754         (WTF::equalIgnoringCase):
755
756 2013-03-22  Benjamin Poulain  <bpoulain@apple.com>
757
758         Name correctly the argument of StringImpl::setIsAtomic()
759         https://bugs.webkit.org/show_bug.cgi?id=113000
760
761         Reviewed by Geoffrey Garen.
762
763         * wtf/text/StringImpl.h:
764         (WTF::StringImpl::setIsAtomic):
765         The argument was probably an unfortunate copy-paste from setIsIdentifier().
766         Fix the name.
767
768 2013-03-22  Hajime Morrita  <morrita@google.com>
769
770         Custom Elements: "readyCallback" lifecycle callback should be called.
771         https://bugs.webkit.org/show_bug.cgi?id=112538
772
773         Reviewed by Elliott Sprehn.
774
775         * wtf/HashSet.h:
776         (WTF::copyToVector): Generalized to let it accept variants like ListHahsSet instead of only HashSet.
777
778 2013-03-22  Sheriff Bot  <webkit.review.bot@gmail.com>
779
780         Unreviewed, rolling out r146534 and r146565.
781         http://trac.webkit.org/changeset/146534
782         http://trac.webkit.org/changeset/146565
783         https://bugs.webkit.org/show_bug.cgi?id=113017
784
785         "r146534 caused perf regression on Chromium Linux x64"
786         (Requested by yurys on #webkit).
787
788         * wtf/HashSet.h:
789         (WTF):
790         (WTF::copyToVector):
791
792 2013-03-21  Hajime Morrita  <morrita@google.com>
793
794         Custom Elements: "readyCallback" lifecycle callback should be called.
795         https://bugs.webkit.org/show_bug.cgi?id=112538
796
797         Reviewed by Elliott Sprehn.
798
799         * wtf/HashSet.h:
800         (WTF::copyToVector): Generalized to let it accept variants like ListHahsSet instead of only HashSet.
801
802 2013-03-21  Mark Lam  <mark.lam@apple.com>
803
804         Introducing String::findNextLineStart().
805         https://bugs.webkit.org/show_bug.cgi?id=112957.
806
807         Reviewed by Geoffrey Garen.
808
809         This is replaces String::reverseFindLineTerminator() in the JSC
810         debugger's code for computing column numbers.
811
812         * wtf/text/StringImpl.cpp:
813         (WTF::StringImpl::findNextLineStart):
814         * wtf/text/StringImpl.h:
815         (WTF::findNextLineStart):
816         * wtf/text/WTFString.h:
817         (WTF::String::findNextLineStart):
818
819 2013-03-21  Adam Barth  <abarth@webkit.org>
820
821         HTMLNames should construct strings at compile time
822         https://bugs.webkit.org/show_bug.cgi?id=112831
823
824         Reviewed by Darin Adler.
825
826         * wtf/text/StringImpl.h:
827         (StringImpl):
828         (StaticASCIILiteral):
829             - This struct lets us construct StringImpl objects at compile time.
830         (WTF::StringImpl::assertHashIsCorrect):
831             - This function lets us sanity check StringImpl objects created from StaticData.
832         (WTF::StringImpl::find): Remove a stray ;
833         (WTF::StringImpl::findIgnoringCase): ditto
834         (WTF::StringImpl::startsWith): ditto
835         (WTF::ValueCheck<StringImpl*>):
836         * wtf/text/AtomicStringImpl.h:
837         (WTF::ValueCheck<AtomicStringImpl*>):
838
839 2013-03-21  Gabor Rapcsanyi  <rgabor@webkit.org>
840
841         Implement LLInt for CPU(ARM_TRADITIONAL)
842         https://bugs.webkit.org/show_bug.cgi?id=97589
843
844         Reviewed by Zoltan Herczeg.
845
846         Enable LLInt for ARMv5 and ARMv7 traditional as well.
847
848         * wtf/Platform.h:
849
850 2013-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>
851
852         Unreviewed, rolling out r146419.
853         http://trac.webkit.org/changeset/146419
854         https://bugs.webkit.org/show_bug.cgi?id=112870
855
856         Broke many tests on debug builds (Requested by rniwa_ on
857         #webkit).
858
859         * wtf/text/StringImpl.h:
860         (StringImpl):
861
862 2013-03-20  Adam Barth  <abarth@webkit.org>
863
864         HTMLNames should construct strings at compile time
865         https://bugs.webkit.org/show_bug.cgi?id=112831
866
867         Reviewed by Darin Adler.
868
869         * wtf/text/StringImpl.h:
870         (StringImpl):
871         (StaticASCIILiteral):
872             - This struct lets us construct StringImpl objects at compile time.
873         (WTF::StringImpl::assertValidHash):
874             - This function lets us sanity check StringImpl objects created from StaticData.
875
876 2013-03-20  Jessie Berlin  <jberlin@apple.com>
877
878         REGRESSION(r145592): AutodrainedPool.h. RunLoopTimer.h, SchedulePair.h are being copied into
879         the wrong location
880         https://bugs.webkit.org/show_bug.cgi?id=112833
881
882         Reviewed by Darin Adler.
883
884         * WTF.xcodeproj/project.pbxproj:
885         Make sure those three headers are copied with the rest of the WTF headers.
886
887 2013-03-20  Mark Rowe  <mrowe@apple.com>
888
889         FastMalloc scavenge timer specifies an overly narrow leeway value.
890
891         Reviewed by Alexey Proskuryakov.
892
893         There's no need to allow only 1ms of leeway on a 2s timer.
894
895         * wtf/FastMalloc.cpp:
896         (WTF::TCMalloc_PageHeap::initializeScavenger): Bump the leeway window
897         to 10% of the scavenge timer.
898
899 2013-03-20  JungJik Lee  <jungjik.lee@samsung.com>
900
901         [EFL] Disable REQUEST_ANIMATION_FRAME_TIMER to render a new animation frame.
902         https://bugs.webkit.org/show_bug.cgi?id=112114
903
904         Reviewed by Kenneth Rohde Christiansen.
905
906         The issue is that if the animation starts outside of the area covered by keepRects,
907         the web process does not create tiles of the animation layer and the layer moves 
908         without having any tiles. In order to fix this issue, CoordinatedLayerHost must call 
909         scheduleLayerFlush to create new tiles when the layer enters the area covered by keepRect.
910         However EFL port didn't call scheduleLayerFlush periodically for animation.
911         We can tie scripted animations with synchronization of the layer and that already 
912         has been implemented in r123786 by Qt port. This patch is for activating r123786 patch.
913
914         The testing is covered by ManualTests/animation/transition-on-and-offscreen-animation.html
915
916         * wtf/Platform.h: Disable REQUEST_ANIMATION_FRAME_TIMER.
917
918 2013-03-20  Mark Lam  <mark.lam@apple.com>
919
920         Introducing String::reverseFindLineTerminator().
921         https://bugs.webkit.org/show_bug.cgi?id=112741.
922
923         Reviewed by Oliver Hunt.
924
925         This is needed by the JSC debugger code for computing column numbers.
926
927         * wtf/text/StringImpl.cpp:
928         (WTF::StringImpl::reverseFindLineTerminator):
929         * wtf/text/StringImpl.h:
930         (StringImpl):
931         (WTF::reverseFindLineTerminator):
932         * wtf/text/WTFString.h:
933         (WTF::String::reverseFindLineTerminator):
934
935 2013-03-19  Martin Robinson  <mrobinson@igalia.com>
936
937         Fix the WTF gyp build for GTK+.
938
939         * WTF.gyp/WTFGTK.gyp: Skip files with CF in the name.
940
941 2013-03-19  Alberto Garcia  <agarcia@igalia.com>
942
943         [BlackBerry] Enable USE_SYSTEM_MALLOC by default
944         https://bugs.webkit.org/show_bug.cgi?id=112365
945
946         Reviewed by Benjamin Poulain.
947
948         Enable USE_SYSTEM_MALLOC by default via FeatureList.pm instead of
949         harcoding it in wtf/Platform.h
950
951         * wtf/Platform.h:
952
953 2013-03-18  Benjamin Poulain  <benjamin@webkit.org>
954
955         [iOS] Make a UChar string equal() based on the LChar version
956         https://bugs.webkit.org/show_bug.cgi?id=112495
957
958         Reviewed by David Kilzer.
959
960         * wtf/text/StringImpl.h:
961         (WTF::equal):
962         Create a equal() function for UChar based on the work done for LChar.
963
964         On A6, this is a speed up of about 40% for any string of 2 or more characters.
965         It is slower by 8% on a single UChar comparison.
966
967 2013-03-18  Brent Fulgham  <bfulgham@webkit.org>
968
969         [WinCairo] Get build working under VS2010.
970         https://bugs.webkit.org/show_bug.cgi?id=112604
971
972         Reviewed by Tim Horton.
973
974         * WTF.vcxproj/WTF.vcxproj: Add Debug_WinCairo and Release_WinCairo
975         targets so headers get copied to appropriate build folder.
976         * WTF.vcxproj/WTFGenerated.vcxproj: Ditto.
977
978 2013-03-15  Benjamin Poulain  <bpoulain@apple.com>
979
980         [iOS] Update StringImpl's equal to have a single version on all supported Apple CPUs
981         https://bugs.webkit.org/show_bug.cgi?id=112400
982
983         Reviewed by Michael Saboff.
984
985         * wtf/text/StringImpl.h:
986         (WTF::equal):
987         Tweak the code to make it work on older Apple CPUs:
988         -Use external "ouput" variable instead of the registers R9 and R12. This gets rid
989          of some register pressure previously imposed on the compiler. (Clang nicely
990          choose R9 and R12 when needed, following iOS ABI).
991         -Instead of using "R3" for storing the length / 4, update the length by -4 on
992          each iteration and work in the negative space for the tail. This frees one register
993          which is then used for isEqual.
994         -Get rid of the unconditional branch from the loop. By using subs and working in the
995          negative space, we can test for the Carry flag to jump back to the next LDR.
996
997 2013-03-15  Benjamin Poulain  <bpoulain@apple.com>
998
999         [iOS] Fix the length pass to memcmp in the fallback versions of String's equal
1000         https://bugs.webkit.org/show_bug.cgi?id=112463
1001
1002         Reviewed by Ryosuke Niwa.
1003
1004         * wtf/text/StringImpl.h:
1005         (WTF::equal): It might be a good idea to compare the full UChar strings...
1006
1007 2013-03-15  Michael Saboff  <msaboff@apple.com>
1008
1009         Add runtime check for improper register allocations in DFG
1010         https://bugs.webkit.org/show_bug.cgi?id=112380
1011
1012         Reviewed by Geoffrey Garen.
1013
1014         * wtf/Platform.h: Added new ENABLE_DFG_REGISTER_ALLOCATION_VALIDATION compilation flag to
1015         enable generation of register allocation checking.  This is on for debug builds.
1016
1017 2013-03-13  Jessie Berlin  <jberlin@apple.com>
1018
1019         Remove svn:executable from a file that isn't supposed to be executable.
1020
1021         Rubber-stamped by Geoff Garen.
1022
1023         * wtf/MediaTime.h:
1024
1025 2013-03-13  Oliver Hunt  <oliver@apple.com>
1026
1027         Simplify Checked<> multiplication
1028         https://bugs.webkit.org/show_bug.cgi?id=112286
1029
1030         Reviewed by James Robinson.
1031
1032         Trying to correctly identify multiplication by zero complicated the
1033         unsigned * unsigned multiply, and still didn't handle all cases correctly.
1034         Now we just do the normal division based approach to overflow detection
1035         leading to much simpler reasoning.
1036
1037         Would be nice if we could have a jo style intrinsic one day.
1038
1039         * wtf/CheckedArithmetic.h:
1040
1041 2013-03-13  Dean Jackson  <dino@apple.com>
1042
1043         Unreviewed attempted build fix for Windows. SchedulePair.cpp -> SchedulePairCF.cpp
1044
1045         * WTF.vcproj/WTF.vcproj:
1046         * WTF.vcxproj/WTF.vcxproj:
1047         * WTF.vcxproj/WTF.vcxproj.filters:
1048
1049 2013-03-13  Benjamin Poulain  <bpoulain@apple.com>
1050
1051         [iOS] Add optimized version of StringImpl's equal(LChar*,LChar*) for Apple CPUs
1052         https://bugs.webkit.org/show_bug.cgi?id=112202
1053
1054         Reviewed by Gavin Barraclough.
1055
1056         * Source/WTF/wtf/Platform.h:
1057         Make the macro WTF_ARM_ARCH_VERSION valid on any architecture.
1058         * wtf/text/StringImpl.h:
1059         (WTF::equal):
1060         On ARMv7S, the new version is about 11% percent faster than the simple loop.
1061         On ARMv7 classic, memcmp is a little faster than the simple loop on Apple A5.
1062
1063 2013-03-13  James Robinson  <jamesr@chromium.org>
1064
1065         SchedulePair.cpp is CF-specific
1066         https://bugs.webkit.org/show_bug.cgi?id=112204
1067
1068         Reviewed by Oliver Hunt.
1069
1070         This renames SchedulePair.cpp SchedulePairCF.cpp, since it depends on CF, and excludes it from chromium's gyp
1071         files.
1072
1073         * WTF.gyp/WTF.gyp:
1074           Add CF to the exclusion filter for the Chromium port.
1075         * WTF.gypi:
1076           Add SchedulePairCF.cpp
1077         * WTF.xcodeproj/project.pbxproj:
1078           Update project file to point to new .cpp location
1079         * wtf/SchedulePairCF.cpp: Renamed from Source/WTF/wtf/SchedulePair.cpp.
1080
1081 2013-03-13  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1082
1083         Support C++11 features in GCC <4.6
1084         https://bugs.webkit.org/show_bug.cgi?id=111553
1085
1086         Reviewed by Simon Hausmann.
1087
1088         Enable support for rvalue references from gcc 4.3, deleted functions
1089         from gcc 4.4, explicit conversion from gcc 4.5, and strongly typed
1090         enums from gcc 4.6. 
1091
1092         * wtf/Compiler.h:
1093
1094 2013-03-12  Geoffrey Garen  <ggaren@apple.com>
1095
1096         Unreviewed attempted Windows build fix after http://trac.webkit.org/changeset/145592.
1097
1098         * wtf/SchedulePair.cpp:
1099         * wtf/SchedulePair.h:
1100         (WTF::SchedulePair::SchedulePair): Since linking is failing,
1101         try inlining this function.
1102
1103 2013-03-12  Tim Horton  <timothy_horton@apple.com>
1104
1105         Typo in earlier Windows build fix. Unreviewed.
1106
1107         * WTF.vcproj/WTF.vcproj:
1108
1109 2013-03-12  Tim Horton  <timothy_horton@apple.com>
1110
1111         Unreviewed attempted Windows build fix after http://trac.webkit.org/changeset/145592.
1112
1113         * WTF.vcproj/WTF.vcproj:
1114         * WTF.vcxproj/WTF.vcxproj:
1115         * WTF.vcxproj/WTF.vcxproj.filters:
1116
1117 2013-03-12  James Robinson  <jamesr@chromium.org>
1118
1119         Build fix for r145592 - update gyp files to refer to new file locations.
1120
1121         * WTF.gypi:
1122
1123 2013-03-12  Geoffrey Garen  <ggaren@apple.com>
1124
1125         Moved RunLoopTimer and SchedulePair to WTF
1126         https://bugs.webkit.org/show_bug.cgi?id=112171
1127
1128         Reviewed by Oliver Hunt.
1129
1130         This will allow us to use timers in lower level primitives without
1131         duplicating all the code.
1132
1133         * WTF.xcodeproj/project.pbxproj:
1134         * wtf/AutodrainedPool.h: Copied from Source/WebCore/platform/AutodrainedPool.h.
1135         (AutodrainedPool):
1136         * wtf/AutodrainedPoolMac.mm: Copied from Source/WebCore/platform/mac/AutodrainedPool.mm.
1137         * wtf/RunLoopTimer.h: Copied from Source/WebCore/platform/RunLoopTimer.h.
1138         * wtf/RunLoopTimerCF.cpp: Copied from Source/WebCore/platform/cf/RunLoopTimerCF.cpp.
1139         * wtf/SchedulePair.cpp: Copied from Source/WebCore/platform/cf/SchedulePair.cpp.
1140         * wtf/SchedulePair.h: Copied from Source/WebCore/platform/cf/SchedulePair.h.
1141         (SchedulePair):
1142         * wtf/SchedulePairMac.mm: Copied from Source/WebCore/platform/mac/SchedulePairMac.mm.
1143
1144 2013-03-12  Oliver Hunt  <oliver@apple.com>
1145
1146         Add more Checked<> tests
1147         https://bugs.webkit.org/show_bug.cgi?id=112190
1148
1149         Reviewed by Geoffrey Garen.
1150
1151         Export the CheckedState enum type
1152
1153         * wtf/CheckedArithmetic.h:
1154
1155 2013-03-12  Oliver Hunt  <oliver@apple.com>
1156
1157         Make CheckedArithmetic slightly more sane
1158         https://bugs.webkit.org/show_bug.cgi?id=112178
1159
1160         Reviewed by Geoffrey Garen.
1161
1162         Add an enum type for safeGet rather than using a bool,
1163         and correctly handle unsigned * unsigned, when one value
1164         is 0.
1165
1166         * wtf/CheckedArithmetic.h:
1167         (WTF::ENUM_CLASS):
1168         (WTF):
1169         (WTF::operator+):
1170         (WTF::operator-):
1171         (WTF::operator*):
1172
1173 2013-03-11  Michael Saboff  <msaboff@apple.com>
1174
1175         Unreviewed build fix.  Rolling out inadvertent setting of DATA_LOG_TO_FILE.
1176
1177 2013-03-11  Oliver Hunt  <oliver@apple.com>
1178
1179         Make SegmentedVector Noncopyable
1180         https://bugs.webkit.org/show_bug.cgi?id=112059
1181
1182         Reviewed by Geoffrey Garen.
1183
1184         Copying a SegmentedVector can be extraordinarily expensive, so we beat
1185         it with the Noncopyable stick - that way we can ensure that if anyone
1186         wants an actual copy they know what they're doing.
1187
1188         * wtf/SegmentedVector.h:
1189         (SegmentedVector):
1190
1191 2013-03-08  Benjamin Poulain  <benjamin@webkit.org>
1192
1193         [Mac] Add a feature flag for 'view-mode' Media Feature, disable it on Mac
1194         https://bugs.webkit.org/show_bug.cgi?id=111297
1195
1196         Reviewed by Kenneth Rohde Christiansen.
1197
1198         * wtf/FeatureDefines.h: Add a new feature flag for the view-mode
1199         CSS media: ENABLE_VIEW_MODE_CSS_MEDIA.
1200
1201 2013-03-08  Roger Fong  <roger_fong@apple.com>
1202
1203         Makefile fixes.
1204
1205         * WTF.vcxproj/WTF.make:
1206
1207 2013-03-08  Gabor Rapcsanyi  <rgabor@webkit.org>
1208
1209         Cache flush problem on ARMv7 JSC
1210         https://bugs.webkit.org/show_bug.cgi?id=111441
1211
1212         Reviewed by Zoltan Herczeg.
1213
1214         Not proper cache flush causing random crashes on ARMv7 Linux with V8 tests.
1215         The problem is similar to https://bugs.webkit.org/show_bug.cgi?id=77712.
1216         Change the cache fulsh mechanism similar to ARM traditinal and revert the
1217         temporary fix.
1218
1219         * wtf/OSAllocatorPosix.cpp:
1220         (WTF::OSAllocator::reserveUncommitted):
1221         (WTF::OSAllocator::decommit):
1222
1223 2013-03-07  Andrew Bortz  <andrew@abortz.net>
1224
1225         Replace Mersenne Twister random number generator with a simpler one.
1226         https://bugs.webkit.org/show_bug.cgi?id=111533
1227
1228         Reviewed by Adam Barth.
1229
1230         The new generator is only a single line long, but passes all the Diehard
1231         statistical tests and runs ~3x faster than the Mersenne Twister, with a
1232         guaranteed cycle length of 2^64 and only 8 bytes of state.
1233         
1234         * wtf/Platform.h: Mersenne Twister defines are no longer needed
1235         * wtf/RandomNumber.cpp:
1236         (WTF::Internal::initializeRandomNumber): State initialization
1237         (WTF::Internal::randomNumber): Actual implementation
1238         (WTF::randomNumber): We don't need to fall back on rand()-based generator anymore,
1239         so this code is greatly simplified.
1240         * wtf/RandomNumber.h:
1241         * wtf/RandomNumberSeed.h:
1242         (WTF::initializeRandomNumberGenerator): This code is no longer needed.
1243         Additionally, the code had an error, since rand() returns 32-bits, so each
1244         initializationBuffer's upper 16-bits has more bits set than random.
1245
1246 2013-03-06  Adenilson Cavalcanti  <cavalcantii@gmail.com>
1247
1248         Build fix: PageAllocationAligned no longer has executable flag
1249         https://bugs.webkit.org/show_bug.cgi?id=111659
1250
1251         Reviewed by Kentaro Hara.
1252
1253         Build fix: use false as parameter to execution flag.
1254
1255         * wtf/PageAllocationAligned.cpp:
1256         (WTF::PageAllocationAligned::allocate):
1257
1258 2013-03-06  Eric Seidel  <eric@webkit.org>
1259
1260         AtomicStringImpls are not safe to send between threads
1261         https://bugs.webkit.org/show_bug.cgi?id=111652
1262
1263         Reviewed by Benjamin Poulain.
1264
1265         We don't have this problem yet, but it's good to be safe.
1266
1267         * wtf/text/WTFString.cpp:
1268         (WTF::String::isSafeToSendToAnotherThread):
1269
1270 2013-03-06  Oliver Hunt  <oliver@apple.com>
1271
1272         Don't give PageAllocationAligned the option to allocate executable memory
1273         https://bugs.webkit.org/show_bug.cgi?id=111657
1274
1275         Reviewed by Geoffrey Garen.
1276
1277         * wtf/PageAllocationAligned.cpp:
1278         (WTF::PageAllocationAligned::allocate):
1279         * wtf/PageAllocationAligned.h:
1280         (PageAllocationAligned):
1281
1282 2013-03-04  Jer Noble  <jer.noble@apple.com>
1283
1284         Default mouse cursor behavior should be auto-hide for full screen video with custom controls
1285         https://bugs.webkit.org/show_bug.cgi?id=107601
1286
1287         Reviewed by Beth Dakin.
1288
1289         Enable the CURSOR_VISIBILITY feature.
1290
1291         * wtf/FeatureDefines.h:
1292
1293 2013-03-04  Oliver Hunt  <oliver@apple.com>
1294
1295         Make fastmalloc use guardpages
1296         https://bugs.webkit.org/show_bug.cgi?id=111353
1297
1298         Reviewed by Anders Carlsson.
1299
1300         Add PROT_NONE pages at the beginning and end of every
1301         mmap call made by fastmalloc.
1302
1303         * wtf/TCSystemAlloc.cpp:
1304         (TryMmap):
1305
1306 2013-03-06  Paweł Forysiuk  <tuxator@o2.pl>
1307
1308         Typo in inline function in ByteOrder.h
1309         https://bugs.webkit.org/show_bug.cgi?id=111473
1310
1311         Reviewed by Benjamin Poulain.
1312
1313         * wtf/ByteOrder.h:
1314         (ntohs):
1315
1316 2013-03-05  Ryuan Choi  <ryuan.choi@samsung.com>
1317
1318         [EFL] Build break with latest EFL libraries
1319         https://bugs.webkit.org/show_bug.cgi?id=111028
1320
1321         Reviewed by Dirk Pranke.
1322
1323         * wtf/PlatformEfl.cmake: Added ECORE_IMF_INCLUDE_DIRS.
1324
1325 2013-03-05  Csaba Osztrogonác  <ossy@webkit.org>
1326
1327         Fix cast-align warning in ASCIIFastPath.h on ARM
1328         https://bugs.webkit.org/show_bug.cgi?id=111436
1329
1330         Reviewed by Benjamin Poulain.
1331
1332         * wtf/text/ASCIIFastPath.h:
1333         (WTF::charactersAreAllASCII):
1334
1335 2013-03-04  Laszlo Gombos  <l.gombos@samsung.com>
1336
1337         JSC_OBJC_API_ENABLED should be removed from FeatureDefines.h
1338         https://bugs.webkit.org/show_bug.cgi?id=111269
1339
1340         Reviewed by Mark Hahnenberg.
1341
1342         JSC_OBJC_API_ENABLED flag was added to FeatureDefines.h (r143637) 
1343         so that it could be used in WebCore.exp.in to determine whether 
1344         or not we should be exporting certain symbols based on whether 
1345         the WebKit-related portion of the JSC ObjC API was enabled.
1346         
1347         It turned out conditionally including certain symbols didn't
1348         work when building fat binaries, so it's not even necessary any more.
1349
1350         * wtf/FeatureDefines.h: Remove JSC_OBJC_API_ENABLED.
1351
1352 2013-03-04  Andreas Kling  <akling@apple.com>
1353
1354         Deque: Free internal buffer in clear().
1355         <http://webkit.org/b/111316>
1356         <rdar://problem/13336675>
1357
1358         Reviewed by Antti Koivisto.
1359
1360         525 kB progression on Membuster3.
1361
1362         * wtf/Deque.h:
1363         (WTF::::clear):
1364
1365 2013-03-04  Kunihiko Sakamoto  <ksakamoto@chromium.org>
1366
1367         Add build flag for FontLoader
1368         https://bugs.webkit.org/show_bug.cgi?id=111289
1369
1370         Reviewed by Benjamin Poulain.
1371
1372         Add ENABLE_FONT_LOAD_EVENTS build flag (disabled by default).
1373
1374         * wtf/FeatureDefines.h:
1375
1376 2013-02-27  Darin Adler  <darin@apple.com>
1377
1378         StringHasher functions require alignment that call sites do not all guarantee
1379         https://bugs.webkit.org/show_bug.cgi?id=110171
1380
1381         Reviewed by Benjamin Poulain.
1382
1383         The StringHasher class is optimized for clients who pass it two characters at
1384         a time. However, the function named addCharacters did not make this clear to
1385         clients, and one calculateStringHashAndLengthFromUTF8MaskingTop8Bits got it wrong.
1386         Fix by making addCharacters work regardless of hasher alignment and adding a new
1387         function, addCharactersAssumingAligned, for use when we want a faster path and can
1388         guarantee we are adding characters two at a time.
1389
1390         * wtf/StringHasher.h:
1391         (WTF::StringHasher::addCharactersAssumingAligned): Renamed the addCharacters function
1392         addCharactersAssumingAligned, since it only works if the hasher is currently aligned,
1393         meaning it contains an even number of characters. The function already asserts
1394         that this is true, but the calculateStringHashAndLengthFromUTF8MaskingTop8Bits
1395         function was using it in cases where the assertion could fire. Also updated to
1396         call addCharactersInternal by its new name. Also added some new overloads that take
1397         data pointers and lengths so callers can always use addCharactersAssumingAligned
1398         instead of addCharacters if they know the hasher is aligned.
1399         (WTF::StringHasher::addCharacter): Updated to call the public
1400         addCharactersAssumingAligned function since that's simpler and a bit cleaner.
1401         (WTF::StringHasher::addCharacters): Added functions with this name that handle
1402         the case where the hasher is not aligned. These will be called by existing call sites
1403         that were formerly using the function named addCharactersAssumingAligned above.
1404         Also add an overload that works with the default converter automatically.
1405         (WTF::StringHasher::computeHashAndMaskTop8Bits): Changed to call
1406         addCharactersAssumingAligned to eliminate copied and pasted code. The hasher is empty,
1407         so definitely aligned.
1408         (WTF::StringHasher::computeHash): Ditto.
1409         (WTF::StringHasher::addCharactersInternal): Renamed from addCharactersToHash, since
1410         the former name did not make clear how this differs from the public functions.
1411         The real difference is that this is like addCharactersAssumingAligned, but without
1412         the assertion, so addCharactersAssumingAligned is called instead, even within the
1413         class's implementation.
1414
1415 2013-03-01  Ilya Tikhonovsky  <loislo@chromium.org>
1416
1417         Web Inspector: Native Memory Instrumentation: do not visit raw pointers by default.
1418         https://bugs.webkit.org/show_bug.cgi?id=110943
1419
1420         Reviewed by Yury Semikhatsky.
1421
1422         Unfortunately in many cases raw pointer may point to an object that has been deleted.
1423         There is no working solution to solve this problem in general.
1424         It could be solved only on case by case basis.
1425
1426         * wtf/MemoryInstrumentation.h:
1427         (WTF::MemoryInstrumentation::addObject):
1428         (WTF::MemoryInstrumentation::MemberTypeTraits::addObject):
1429         (WTF::MemoryClassInfo::addMember):
1430         (WTF::MemoryInstrumentation::addObjectImpl):
1431         * wtf/MemoryInstrumentationString.h:
1432         (WTF::reportMemoryUsage):
1433
1434 2013-03-01  Eric Seidel  <eric@webkit.org>
1435
1436         Threaded HTML Parser has an extra copy of every byte from the network
1437         https://bugs.webkit.org/show_bug.cgi?id=111135
1438
1439         Reviewed by Adam Barth.
1440
1441         The threaded html parser needs to accept ownership
1442         of a string buffer.  The easiest way to do this seemed
1443         to be to use a PassRefPtr<StringImpl>, but there was no way
1444         to generated one from a String (easily), so I added one.
1445
1446         * wtf/text/WTFString.h:
1447         (WTF::String::releaseImpl):
1448
1449 2013-02-28  Oliver Hunt  <oliver@apple.com>
1450
1451         Crash in JSC::MarkedBlock::FreeList JSC::MarkedBlock::sweepHelper
1452         https://bugs.webkit.org/show_bug.cgi?id=111059
1453
1454         Reviewed by Ryosuke Niwa.
1455
1456         Sometimes C++'s implicit operator conversion rules suck.
1457         Add explicit operator== and !=.
1458
1459         * wtf/FastMalloc.cpp:
1460         (WTF::HardenedSLL::operator!=):
1461         (WTF::HardenedSLL::operator==):
1462         (HardenedSLL):
1463
1464 2013-02-28  Zeno Albisser  <zeno@webkit.org>
1465
1466         Enable DFG JIT for Qt on Mac
1467         https://bugs.webkit.org/show_bug.cgi?id=111095
1468
1469         Rubber-stamped by Simon Hausmann
1470
1471         * wtf/Platform.h:
1472
1473 2013-02-28  Eric Carlson  <eric.carlson@apple.com>
1474
1475         [Mac] use HAVE() macro instead of version check
1476         https://bugs.webkit.org/show_bug.cgi?id=111087
1477
1478         Reviewed by Dean Jackson.
1479
1480         * wtf/Platform.h: Define HAVE_MEDIA_ACCESSIBILITY_FRAMEWORK.
1481
1482 2013-02-27  Balazs Kilvady  <kilvadyb@homejinni.com>
1483
1484         Bug in atomicIncrement implementation for MIPS GCC
1485         https://bugs.webkit.org/show_bug.cgi?id=110969
1486
1487         Reviewed by Csaba Osztrogonác.
1488
1489         Fix of __sync_[add|sub]_and_fetch_8 for GCC patch.
1490
1491         * wtf/Atomics.cpp:
1492
1493 2013-02-27  Simon Hausmann  <simon.hausmann@digia.com>
1494
1495         REGRESSION(r137994): It made JSC tests hang and layout tests fail on ARM Thumb2 / Linux
1496         https://bugs.webkit.org/show_bug.cgi?id=108632
1497
1498         Reviewed by Csaba Osztrogonác.
1499
1500         It appears that mprotect() is very slow on ARM/Linux, so disable the
1501         approach of unreserved mappings there and fall back to overcomitting
1502         memory, based on Uli Schlachter's recommendation.
1503
1504         * wtf/OSAllocatorPosix.cpp:
1505         (WTF::OSAllocator::reserveUncommitted):
1506         (WTF::OSAllocator::decommit):
1507
1508 2013-02-26  Roger Fong  <roger_fong@apple.com>
1509
1510         Unreviewed. Build fix for VS2010 solution, take 2.
1511
1512         * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:
1513
1514 2013-02-26  Roger Fong  <roger_fong@apple.com>
1515
1516         Unreviewed. Unreviewed build fix for VS2010 solution.
1517
1518         * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:
1519
1520 2013-02-26  Balazs Kilvady  <kilvadyb@homejinni.com>
1521
1522         Fix the atomicIncrement implementation for MIPS GCC
1523         https://bugs.webkit.org/show_bug.cgi?id=106739
1524
1525         Reviewed by Oliver Hunt.
1526
1527         Implementation of missing __sync_[add|sub]_and_fetch_8 functions.
1528
1529         Some architectures, like MIPS32, don't have GCC implementation for
1530         builtin __sync_* functions with 64 bits variable size. GCC answer
1531         for the problem: If a target doesn't support atomic operations on
1532         certain variable sizes, you are out of luck with atomicity in that
1533         case (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56296). GCC >= 4.8
1534         will support __atomic_* builtin functions for this purpose for all
1535         the GCC targets, but for current compilers we have to include our
1536         own implementation.
1537
1538         * GNUmakefile.list.am:
1539         * WTF.pro:
1540         * wtf/Atomics.cpp: Added.
1541         (WTF):
1542         (WTF::getSwapLock):
1543         (WTF::atomicStep):
1544         * wtf/CMakeLists.txt:
1545
1546 2013-02-26  Oliver Hunt  <oliver@apple.com>
1547
1548         Appease the QT bots.
1549
1550         * wtf/FastMalloc.cpp:
1551
1552 2013-02-26  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1553
1554         Implement JIT on Windows 64 bits
1555         https://bugs.webkit.org/show_bug.cgi?id=107965
1556
1557         Reviewed by Simon Hausmann.
1558
1559         * wtf/Platform.h:
1560
1561 2013-02-26  Oliver Hunt  <oliver@apple.com>
1562
1563         Appease static analyzer warning about null string passed to strlen
1564         https://bugs.webkit.org/show_bug.cgi?id=110658
1565
1566         Reviewed by Benjamin Poulain.
1567
1568         Add a null check before calling strlen
1569
1570         * wtf/Threading.cpp:
1571         (WTF::createThread):
1572
1573 2013-02-25  Ryosuke Niwa  <rniwa@webkit.org>
1574
1575         Build fix attempt after r143996.
1576
1577         * wtf/FastMalloc.cpp:
1578         (WTF):
1579
1580 2013-02-25  Roger Fong  <roger_fong@apple.com>
1581
1582         Unreviewed. Fix script to use WEBKIT_SOURCE for VS2010 property sheets instead of WEBKIT_LIBRARIES.
1583
1584         * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:
1585
1586 2013-02-25  Oliver Hunt  <oliver@apple.com>
1587
1588         Add cookies to FastMalloc spans
1589         https://bugs.webkit.org/show_bug.cgi?id=110827
1590
1591         Reviewed by Michael Saboff.
1592
1593         Add a cookie to spans, and move some of the hardening around so
1594         that it's more useful.
1595
1596         * wtf/FastMalloc.cpp:
1597         (WTF::internalEntropyValue):
1598         (WTF::spanInitializerCookie):
1599         (WTF::Span::initCookie):
1600         (WTF::Span::clearCookie):
1601         (WTF::Span::isValid):
1602         (Span):
1603         (WTF::NewSpan):
1604         (WTF::DeleteSpan):
1605         (WTF::TCMalloc_ThreadCache_FreeList::Validate):
1606         (WTF::TCMalloc_Central_FreeList::Populate):
1607         (WTF::TCMalloc_ThreadCache::Deallocate):
1608         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
1609
1610 2013-02-25  Jer Noble  <jer.noble@apple.com>
1611
1612         Normalize ENABLE_ENCRYPTED_MEDIA definitions across all FeatureDefines files.
1613         https://bugs.webkit.org/show_bug.cgi?id=110806
1614
1615         Reviewed by Alexey Proskuryakov.
1616
1617         Ensure both ENCRYPTED_MEDIA and ENCRYPTED_MEDIA_V2 are enabled on macosx_1090.
1618
1619         * wtf/FeatureDefines.h:
1620
1621 2013-02-23  Ilya Tikhonovsky  <loislo@chromium.org>
1622
1623         Web Inspector: Native Memory Instrumentation: replace String with const char* in MemoryObjectInfo
1624         https://bugs.webkit.org/show_bug.cgi?id=110599
1625
1626         Reviewed by Yury Semikhatsky.
1627
1628         Due to potentially dynamic nature of names and classNames we need to make a copy of the strings
1629         that were given us via MemoryInstrumentation calls.
1630         So I extended client api with registerString method that pushes the strings
1631         down to the serializer.
1632
1633         * wtf/MemoryInstrumentation.h:
1634         (MemoryInstrumentationClient):
1635         * wtf/MemoryObjectInfo.h:
1636         (WTF::MemoryObjectInfo::MemoryObjectInfo):
1637         (WTF::MemoryObjectInfo::setClassName):
1638         (WTF::MemoryObjectInfo::classNameId):
1639         (WTF::MemoryObjectInfo::setName):
1640         (WTF::MemoryObjectInfo::nameId):
1641         (MemoryObjectInfo):
1642
1643 2013-02-21  Brady Eidson  <beidson@apple.com>
1644
1645         Move fastlog2() to WTF/MathExtras.h so it can be used from multiple projects.
1646
1647         Rubberstamped by Geoff Garen.
1648
1649         * wtf/MathExtras.h:
1650         (WTF::fastLog2):
1651
1652 2013-02-21  Andy Estes  <aestes@apple.com>
1653
1654         TriState.h should be a Project header
1655         https://bugs.webkit.org/show_bug.cgi?id=110543
1656
1657         Rubber-stamped by Dan Bernstein.
1658
1659         WTF uses a script to copy headers to the build destination, so it isn't
1660         necessary to mark headers as Private/Public (and doing so can be problematic).
1661
1662         * WTF.xcodeproj/project.pbxproj: Mark TriState.h as a Project header.
1663
1664 2013-02-21  Roger Fong  <roger_fong@apple.com>
1665
1666         Unreviewed. Add executable property to cmd file.
1667         Required for executable files to maintain their executable permissions over svn.
1668
1669         * WTF.vcxproj/copy-files.cmd: Added property svn:executable.
1670
1671 2013-02-19  Mark Hahnenberg  <mhahnenberg@apple.com>
1672
1673         Objective-C API: Need a way to use the Objective-C JavaScript API with WebKit
1674         https://bugs.webkit.org/show_bug.cgi?id=106059
1675
1676         Reviewed by Geoffrey Garen.
1677
1678         * wtf/FeatureDefines.h: Added enable flag for JSC Objective-C API so it can be used in
1679         export files.
1680
1681 2013-02-21  Martin Robinson  <mrobinson@igalia.com>
1682
1683         A couple more 'make dist' fixes for WebKitGTK+.
1684
1685         * GNUmakefile.list.am: Add a missing file to the source list.
1686
1687 2013-02-20  Roger Fong  <roger_fong@apple.com>
1688
1689         Get VS2010 Solution B&I ready.
1690         <rdar://problem/1322988>
1691
1692         Rubberstamped by Timothy Horton.        
1693         
1694         Add Production configuration. 
1695         Add a WTF submit solution with a DebugSuffix configuration. 
1696         Modify WTF.make as necessary.
1697         
1698         * WTF.vcxproj: Added property svn:eol-style. Modified property svn:ignore.
1699         * WTF.vcxproj/WTF.make: Added.
1700         * WTF.vcxproj/WTF.submit.sln: Added.
1701         * WTF.vcxproj/WTF.vcxproj:
1702         * WTF.vcxproj/WTFCommon.props:
1703         * WTF.vcxproj/WTFGenerated.vcxproj:
1704         * WTF.vcxproj/WTFGeneratedProduction.props: Added.
1705         * WTF.vcxproj/WTFGeneratedRelease.props:
1706         * WTF.vcxproj/WTFProduction.props: Added.
1707         * WTF.vcxproj/WTFRelease.props:
1708         * WTF.vcxproj/copy-files.cmd:
1709
1710 2013-02-20  Oliver Hunt  <oliver@apple.com>
1711
1712         Moar hardening
1713         https://bugs.webkit.org/show_bug.cgi?id=110275
1714
1715         Reviewed by Mark Hahnenberg.
1716
1717         We now poison objects when they get freed, and verify that
1718         any object that is being freed is not poisoned.  If the
1719         object looks like it's poisoned we validate the freelist,
1720         and ensure the object is not already present.  If it is
1721         we crash.
1722
1723         On allocation, we ensure that the object being allocated
1724         is poisoned, then clear the poisoning fields.
1725
1726         * wtf/FastMalloc.cpp:
1727         (WTF::internalEntropyValue):
1728         (WTF):
1729         (WTF::freedObjectStartPoison):
1730         (WTF::freedObjectEndPoison):
1731         (TCMalloc_ThreadCache_FreeList):
1732         (WTF::TCMalloc_ThreadCache_FreeList::Validate):
1733         (WTF::TCMalloc_Central_FreeList::Populate):
1734         (WTF::TCMalloc_ThreadCache::Allocate):
1735         (WTF::TCMalloc_ThreadCache::Deallocate):
1736         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
1737
1738 2013-02-19  Sheriff Bot  <webkit.review.bot@gmail.com>
1739
1740         Unreviewed, rolling out r143400.
1741         http://trac.webkit.org/changeset/143400
1742         https://bugs.webkit.org/show_bug.cgi?id=110290
1743
1744         breaks everything (instacrash launching Safari) (Requested by
1745         thorton on #webkit).
1746
1747         * wtf/FastMalloc.cpp:
1748         (WTF::internalEntropyValue):
1749         (WTF):
1750         (WTF::TCMalloc_Central_FreeList::Populate):
1751         (WTF::TCMalloc_ThreadCache::Allocate):
1752         (WTF::TCMalloc_ThreadCache::Deallocate):
1753
1754 2013-02-19  Oliver Hunt  <oliver@apple.com>
1755
1756         Moar hardening
1757         https://bugs.webkit.org/show_bug.cgi?id=110275
1758
1759         Reviewed by Anders Carlsson.
1760
1761         We now poison objects when they get freed, and verify that
1762         any object that is being freed is not poisoned.  If the
1763         object looks like it's poisoned we validate the freelist,
1764         and ensure the object is not already present.  If it is
1765         we crash.
1766
1767         On allocation, we ensure that the object being allocated
1768         is poisoned, then clear the poisoning fields.
1769
1770         * wtf/FastMalloc.cpp:
1771         (WTF::internalEntropyValue):
1772         (WTF):
1773         (WTF::freedObjectStartPoison):
1774         (WTF::freedObjectEndPoison):
1775         (TCMalloc_ThreadCache_FreeList):
1776         (WTF::TCMalloc_ThreadCache_FreeList::Validate):
1777         (WTF::TCMalloc_Central_FreeList::Populate):
1778         (WTF::TCMalloc_ThreadCache::Allocate):
1779         (WTF::TCMalloc_ThreadCache::Deallocate):
1780
1781 2013-02-18  Darin Adler  <darin@apple.com>
1782
1783         Style tweaks to StringHasher.h
1784         https://bugs.webkit.org/show_bug.cgi?id=110042
1785
1786         Reviewed by Alexey Proskuryakov.
1787
1788         I have a bug fix coming soon, but figured I'd separate out style tweaks and land them
1789         first to make that patch easier to undrestand.
1790
1791         * wtf/StringHasher.h: Tweak and rearrange comments a bit.
1792         (WTF::StringHasher::addCharacter): Use character instead of ch.
1793         (WTF::StringHasher::addCharacters): Use remainder instead of rem. Also capitalize the U
1794         that we use to make an unsigned 1 constant.
1795         (WTF::StringHasher::computeHashAndMaskTop8Bits): Ditto.
1796         (WTF::StringHasher::hashMemory): Change version that takes size as a template argument
1797         to call the version that takes the size at runtime, since both generate the same code
1798         anyway. Added a FIXME questioning why this function uses the "mask top 8 bits" version
1799         of the hash. Fix incorrect compile assertion that required sizes that are multiples
1800         of four. This function works on sizes that are multiples of two. Also fixed a spelling
1801         error where we called it a "multible".
1802         (WTF::StringHasher::defaultConverter): Use character instead of ch.
1803         (WTF::StringHasher::addCharactersToHash): Eliminated unnecessary local variable.
1804
1805 2013-02-18  Alexey Proskuryakov  <ap@apple.com>
1806
1807         Make HexNumber functions return 8-bit strings
1808         https://bugs.webkit.org/show_bug.cgi?id=110152
1809
1810         Reviewed by Michael Saboff.
1811
1812         * wtf/HexNumber.h:
1813         (Internal):
1814         (WTF::Internal::hexDigitsForMode):
1815         (WTF::appendByteAsHex):
1816         (WTF::placeByteAsHexCompressIfPossible):
1817         (WTF::placeByteAsHex):
1818         (WTF::appendUnsignedAsHex):
1819         (WTF::appendUnsignedAsHexFixedSize):
1820         Use LChar everywhere.
1821
1822 2013-02-18  Benjamin Poulain  <bpoulain@apple.com>
1823
1824         Remove Vector::dataSlot(), it has no implementation
1825         https://bugs.webkit.org/show_bug.cgi?id=109999
1826
1827         Reviewed by Andreas Kling.
1828
1829         VectorBufferBase does not implement any function bufferSlot().
1830         The file only compiles because that part of the template is never
1831         instantiated.
1832
1833         * wtf/Vector.h:
1834
1835 2013-02-18  Laszlo Gombos  <l.gombos@samsung.com>
1836
1837         Move ENABLE macros for WebCore out from Platform.h
1838         https://bugs.webkit.org/show_bug.cgi?id=105735
1839
1840         Unreviewed, build fix when NETSCAPE_PLUGIN_API is disabled.
1841
1842         Enable ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH even if
1843         NETSCAPE_PLUGIN_API is disabled (Qt, Efl, GTK, WX ports).
1844
1845         * wtf/FeatureDefines.h:
1846
1847 2013-02-18  Balazs Kilvady  <kilvadyb@homejinni.com>
1848
1849         MIPS DFG implementation.
1850         https://bugs.webkit.org/show_bug.cgi?id=101328
1851
1852         Reviewed by Oliver Hunt.
1853
1854         DFG implementation for MIPS.
1855
1856         * wtf/Platform.h:
1857
1858 2013-02-18  Zan Dobersek  <zdobersek@igalia.com>
1859
1860         Stop placing std::isfinite and std::signbit inside the global scope
1861         https://bugs.webkit.org/show_bug.cgi?id=109817
1862
1863         Reviewed by Darin Adler.
1864
1865         Prefix calls to the isfinite and signbit methods with std:: as the two
1866         methods are no longer being imported into the global scope.
1867
1868         On Solaris and OpenBSD platforms or when using Visual C++ the two methods
1869         are now defined (as incompatibility workarounds) inside the std namespace.
1870
1871         * wtf/DateMath.cpp:
1872         (WTF::timeClip):
1873         * wtf/DecimalNumber.h:
1874         (WTF::DecimalNumber::DecimalNumber):
1875         * wtf/MathExtras.h:
1876         (std):
1877         (std::isfinite):
1878         (std::signbit):
1879         (lrint):
1880         (wtf_pow):
1881         (decomposeDouble):
1882         * wtf/MediaTime.cpp:
1883         (WTF::MediaTime::createWithFloat):
1884         (WTF::MediaTime::createWithDouble):
1885         * wtf/dtoa.cpp:
1886         (WTF::dtoa):
1887
1888 2013-02-18  Laszlo Gombos  <l.gombos@samsung.com>
1889
1890         Move ENABLE macros for WebCore out from Platform.h
1891         https://bugs.webkit.org/show_bug.cgi?id=105735
1892
1893         Reviewed by Darin Adler and Benjamin Poulain.
1894
1895         Introduce FeatureDefines.h by combining the existing rules from
1896         Platform.h and adding new rules for all the ENABLE flags that are
1897         listed in the FeatureFlags wiki.
1898
1899         The new rules are not used at the moment by any ports
1900         as the port specific build systems already define these flags
1901         so the !defined() guard will prevent redefinition of the macros.
1902
1903         * GNUmakefile.list.am: Add FeatureDefines.h.
1904         * WTF.gypi: Ditto.
1905         * WTF.pro: Ditto.
1906         * WTF.vcproj/WTF.vcproj: Ditto.
1907         * WTF.xcodeproj/project.pbxproj: Ditto.
1908         * wtf/CMakeLists.txt: Ditto.
1909         * wtf/FeatureDefines.h: Added.
1910         * wtf/Platform.h: Move macro definitions to FeatureDefines.h.
1911
1912 2013-02-16  Darin Adler  <darin@apple.com>
1913
1914         Remove redundant use of inline keyword in StringHasher.h
1915         https://bugs.webkit.org/show_bug.cgi?id=110036
1916
1917         Reviewed by Geoffrey Garen.
1918
1919         I have some other improvements for StringHasher.h, but wanted to get the simplest ones
1920         out of the way first.
1921
1922         * wtf/StringHasher.h: Remove inline keyword on functions inside the class definition,
1923         since functions defined inside the class are automatically inline.
1924
1925 2013-02-15  Martin Robinson  <mrobinson@igalia.com>
1926
1927         [GTK] Spread the gyp build files throughout the tree
1928         https://bugs.webkit.org/show_bug.cgi?id=109960
1929
1930         Reviewed by Dirk Pranke.
1931
1932         * WTF.gyp/WTFGTK.gyp: Renamed from Source/WebKit/gtk/gyp/WTF.gyp.
1933
1934 2013-02-15  Anders Carlsson  <andersca@apple.com>
1935
1936         Add HashMap::isValidKey and HashSet::isValidValue
1937         https://bugs.webkit.org/show_bug.cgi?id=109977
1938
1939         Reviewed by Sam Weinig and Darin Adler.
1940
1941         Add helper functions for determining whether keys are valid, i.e. if
1942         they are _not_ empty or deleted according to the hash traits.
1943
1944         * wtf/HashMap.h:
1945         * wtf/HashSet.h:
1946
1947 2013-02-15  Laszlo Gombos  <l.gombos@samsung.com>
1948
1949         Remove support for RVCT version less than 4.0
1950         https://bugs.webkit.org/show_bug.cgi?id=109390
1951
1952         The 4.0 version of the RVCT compiler was 
1953         released in 2008. 
1954         
1955         Remove support for version older then 4.0 of RVCT, 
1956         and keep the support for newer RVCT versions.
1957
1958         Reviewed by Zoltan Herczeg.
1959
1960         * WTF.gypi: Remove StringExtras.cpp.
1961         * WTF.vcproj/WTF.vcproj: Remove StringExtras.cpp.
1962         * WTF.vcxproj/WTF.vcxproj: Remove StringExtras.cpp.
1963         * WTF.vcxproj/WTF.vcxproj.filters: Remove StringExtras.cpp.
1964         * WTF.xcodeproj/project.pbxproj: Remove StringExtras.cpp.
1965         * wtf/CMakeLists.txt: Remove StringExtras.cpp.
1966         * wtf/Compiler.h: Remove tests for RVCT_VERSION_AT_LEAST(3, 0, 0, 0).
1967         * wtf/Float32Array.h: Remove a quirk introduced for RVCT version <=2.2 .
1968         * wtf/Float64Array.h: Ditto.
1969         * wtf/Int16Array.h: Ditto.
1970         * wtf/Int32Array.h: Ditto.
1971         * wtf/Int8Array.h: Ditto.
1972         * wtf/MathExtras.h: Remove a quirk needed for RVCT version  <= 3.0.
1973         * wtf/Platform.h: Remove test for RVCT 4.0. Remove OS(RVCT).
1974         * wtf/StringExtras.cpp: Removed.
1975         * wtf/StringExtras.h: Remove a quirk introduced for RVCT version < 4.0.
1976         * wtf/Uint16Array.h: Remove a quirk introduced for RVCT version <= 2.2.
1977         * wtf/Uint32Array.h: Ditto.
1978         * wtf/Uint8Array.h: Ditto.
1979         * wtf/Uint8ClampedArray.h: Ditto.
1980
1981 2013-02-15  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1982
1983         Add CString operators for comparison with const char*
1984         https://bugs.webkit.org/show_bug.cgi?id=109947
1985
1986         Reviewed by Darin Adler.
1987
1988         Add operators to WTF::CString for equality/inequality comparison
1989         with const char* strings. This avoids constructing a CString
1990         from a const char* in such cases, which is can be expensive as
1991         it would copy it and call strlen().
1992
1993         * wtf/text/CString.cpp:
1994         (WTF::operator==): Use memcmp instead of strncmp to compare the
1995         CString buffers as we know they are the same size and we don't
1996         want to scan for terminating null byte.
1997         (WTF):
1998         * wtf/text/CString.h:
1999         (WTF):
2000         (WTF::operator!=):
2001
2002 2013-02-15  Geoffrey Garen  <ggaren@apple.com>
2003
2004         Merged the global function cache into the source code cache
2005         https://bugs.webkit.org/show_bug.cgi?id=108660
2006
2007         Reviewed by Sam Weinig.
2008
2009         Responding to review comments by Darin Adler.
2010
2011         * wtf/HashTraits.h: Added a using directive to simplify client code.
2012
2013 2013-02-14  Dan Bernstein  <mitz@apple.com>
2014
2015         No easy way to use a RetainPtr as a key in a HashMap using object (rather than pointer) equality
2016         https://bugs.webkit.org/show_bug.cgi?id=109864
2017
2018         Reviewed by Sam Weinig and Benjamin Poulain.
2019
2020         Added RetainPtrObjectHashTraits and RetainPtrObjectHash, which use CFEqual
2021         and CFHash.
2022
2023         * wtf/RetainPtr.h:
2024         (RetainPtrObjectHashTraits):
2025         (WTF::RetainPtrObjectHashTraits::emptyValue):
2026         (WTF::RetainPtrObjectHashTraits::constructDeletedValue):
2027         (WTF::RetainPtrObjectHashTraits::isDeletedValue):
2028         (WTF):
2029         (WTF::RetainPtrObjectHash::hash):
2030         (WTF::RetainPtrObjectHash::equal):
2031         (RetainPtrObjectHash):
2032
2033 2013-02-14  Tony Chang  <tony@chromium.org>
2034
2035         Unreviewed, set svn:eol-style native for .sln, .vcproj, and .vsprops files.
2036         https://bugs.webkit.org/show_bug.cgi?id=96934
2037
2038         * WTF.vcproj/WTF.sln: Modified property svn:eol-style.
2039
2040 2013-02-14  Tony Chang  <tony@chromium.org>
2041
2042         Unreviewed, set svn:eol-style CRLF for .sln files.
2043
2044         * WTF.vcproj/WTF.sln: Added property svn:eol-style.
2045
2046 2013-02-14  David Kilzer  <ddkilzer@apple.com>
2047
2048         [Mac] Clean up WARNING_CFLAGS
2049         <http://webkit.org/b/109747>
2050         <rdar://problem/13208373>
2051
2052         Reviewed by Mark Rowe.
2053
2054         * Configurations/Base.xcconfig: Use
2055         GCC_WARN_64_TO_32_BIT_CONVERSION to enable and disable
2056         -Wshorten-64-to-32 rather than WARNING_CFLAGS.
2057
2058         * WTF.vcproj/WTF.sln: Added property svn:eol-style.
2059
2060 2013-02-14  Eric Seidel  <eric@webkit.org>
2061
2062         String(Vector) behaves differently from String(vector.data(), vector.size()) for vectors with inline capacity in the size=0 case
2063         https://bugs.webkit.org/show_bug.cgi?id=109784
2064
2065         Reviewed by Darin Adler.
2066
2067         This makes String(Vector) never return null strings.
2068         Which matches behavior of String(UChar*, size_t)
2069         for vectors with inlineCapacity, but differs from
2070         String(UChar*, size_t) in the no-inlineCapacity case.
2071
2072         This incidentally will fix a behavioral regression
2073         in the html threaded parser which came from converting
2074         many String(UChar*, size_t) callsites to using String(Vector).
2075
2076         * wtf/text/WTFString.h:
2077         (String):
2078         (WTF::String::String):
2079
2080 2013-02-14  Eric Seidel  <eric@webkit.org>
2081
2082         REGRESSION(r142712): attribute values show up as "(null)" instead of null with the threaded parser
2083         https://bugs.webkit.org/show_bug.cgi?id=109784
2084
2085         Reviewed by Benjamin Poulain.
2086
2087         When I changed many callsites to use the (existing) String(Vector) constructor
2088         I inadvertantly made those callsites convert empty vectors to null strings
2089         instead of empty strings (like String(UChar,size_t) does).
2090
2091         This is due to an oddity/bug in our Vector implementation where data()
2092         will be 0 if the Vector is empty, but only if it doesn't have inline capacity.
2093         https://bugs.webkit.org/show_bug.cgi?id=109792
2094
2095         This changes String(Vector) to exactly match the behavior of String(vector.data(), vector.size()).
2096
2097         This regression was easily detectable with the threaded parser, because we use String
2098         instead of AtomicString in our CompactToken (used to send the Token data
2099         between threads). The main-thread parser path uses AtomicHTMLToken which
2100         uses AtomicString(Vector) and does not have this bug.
2101
2102         * wtf/text/WTFString.h:
2103         (String):
2104         (WTF::String::String):
2105
2106 2013-02-13  Zan Dobersek  <zdobersek@igalia.com>
2107
2108         The 'global isinf/isnan' compiler quirk required when using clang with libstdc++
2109         https://bugs.webkit.org/show_bug.cgi?id=109325
2110
2111         Reviewed by Anders Carlsson.
2112
2113         Prefix calls to the isinf and isnan methods with std::, declaring we want to use the
2114         two methods as they're provided by the C++ standard library being used.
2115
2116         * wtf/Compiler.h: Remove the global isinf/isnan compiler quirk definitions. They're not required anymore.
2117         * wtf/DateMath.cpp: Move the workaround for isinf on Solaris into the std namespace. Ditto for isinf and isnan
2118         when using MSVC. Stop bringing the isinf and isnan methods into the global scope when using other configurations.
2119         (WTF::parseDateFromNullTerminatedCharacters):
2120         * wtf/IntegralTypedArrayBase.h:
2121         (WTF::IntegralTypedArrayBase::set):
2122         * wtf/MathExtras.h:
2123         (std):
2124         (std::isinf):
2125         (wtf_fmod):
2126         (wtf_pow):
2127         (doubleToInteger):
2128         * wtf/MediaTime.cpp:
2129         (WTF::MediaTime::createWithFloat):
2130         (WTF::MediaTime::createWithDouble):
2131         * wtf/Uint8ClampedArray.h:
2132         (WTF::Uint8ClampedArray::set):
2133
2134 2013-02-13  Eric Seidel  <eric@webkit.org>
2135
2136         Don't copy Vector<UChar> when passing to new String methods from bug 109617
2137         https://bugs.webkit.org/show_bug.cgi?id=109708
2138
2139         Reviewed by Tony Gentilcore.
2140
2141         Thanks for the catch Darin.
2142
2143         * wtf/text/AtomicString.h:
2144         (WTF::AtomicString::AtomicString):
2145         * wtf/text/StringImpl.h:
2146         (WTF::StringImpl::create8BitIfPossible):
2147
2148 2013-02-13  Martin Robinson  <mrobinson@igalia.com>
2149
2150         [GTK] Remove remaining dead code from the GLib unicode backend
2151         https://bugs.webkit.org/show_bug.cgi?id=109707
2152
2153         Reviewed by Philippe Normand.
2154
2155         * wtf/unicode/Unicode.h:
2156
2157 2013-02-13  Andrew Wilson  <atwilson@chromium.org>
2158
2159         Unreviewed Chromium gyp-file cleanup after glib backend removal.
2160         https://bugs.webkit.org/show_bug.cgi?id=109672
2161
2162         Removed references to GLib unicode backend:
2163
2164         * WTF.gyp/WTF.gyp:
2165         * WTF.gypi:
2166
2167 2013-02-12  Martin Robinson  <mrobinson@igalia.com>
2168
2169         [GTK] Remove the GLib unicode backend
2170         https://bugs.webkit.org/show_bug.cgi?id=109627
2171
2172         Reviewed by Benjamin Poulain.
2173
2174         Remove references to the GLib unicode backend from WTF.
2175
2176         * GNUmakefile.list.am: Remove GLib unicode files from the source list.
2177         * wtf/unicode/glib/UnicodeGLib.cpp: Removed.
2178         * wtf/unicode/glib/UnicodeGLib.h: Removed.
2179
2180 2013-02-12  Takeshi Yoshino  <tyoshino@google.com>
2181
2182         Remove unnecessary and confusing includes from StreamBuffer.h.
2183         https://bugs.webkit.org/show_bug.cgi?id=109652
2184
2185         Reviewed by Benjamin Poulain.
2186
2187         StreamBuffer.h is using OwnPtr for storing Vectors into a Deque.
2188         FixedArray.h and PassOwnPtr.h are included but not used.
2189
2190         VectorTraits defines how to move OwnPtr in Vector. It's done by memcpy.
2191         So, there's no need for PassOwnPtr (Deque<PassOwnPtr<Vector<char> > >
2192         is even slower).
2193
2194         * wtf/StreamBuffer.h:
2195
2196 2013-02-12  Eric Seidel  <eric@webkit.org>
2197
2198         Teach more WTF string classes about vectors with inline capacity
2199         https://bugs.webkit.org/show_bug.cgi?id=109617
2200
2201         Reviewed by Benjamin Poulain.
2202
2203         The HTML and WebVTT parsers use constructions like:
2204         AtomicString name(m_name.data(), m_name.size())
2205         all over the place because they use inline capacity
2206         on the parse vectors for performance.
2207
2208         This change just add the necessary template variants
2209         to the related String constructors/methods in WTF so that
2210         this parser code can just pass the vector directly instead.
2211
2212         I'll do the actual parser cleanups in follow-up patches to keep things simple.
2213
2214         * wtf/text/AtomicString.h:
2215         (AtomicString):
2216         (WTF::AtomicString::AtomicString):
2217         * wtf/text/StringImpl.h:
2218         (StringImpl):
2219         (WTF::StringImpl::create8BitIfPossible):
2220         * wtf/text/WTFString.h:
2221         (String):
2222         (WTF::String::make8BitFrom16BitSource):
2223         (WTF):
2224         (WTF::append):
2225
2226 2013-02-11  Oliver Hunt  <oliver@apple.com>
2227
2228         Build fix.
2229
2230         * wtf/FastMalloc.cpp:
2231         (WTF::TCMalloc_PageHeap::IncrementalScavenge):
2232
2233 2013-02-11  Ryosuke Niwa  <rniwa@webkit.org>
2234
2235         Disable delete button controller on non-Mac ports and delete EditorClient::shouldShowDeleteInterface
2236         https://bugs.webkit.org/show_bug.cgi?id=109534
2237
2238         Reviewed by Anders Carlsson.
2239
2240         * wtf/Platform.h:
2241
2242 2013-02-11  David Kilzer  <ddkilzer@apple.com>
2243
2244         [iOS] Upstream changes to Platform.h
2245         <http://webkit.org/b/109459>
2246
2247         Reviewed by Benjamin Poulain.
2248
2249         * wtf/Platform.h:
2250         - Changes for armv7s.
2251         - Add ENABLE() definitions for DASHBOARD_SUPPORT and WEBGL.
2252         - Re-sort ENABLE() and USE() macros.
2253         - Remove ENABLE() macros for JIT, LLINT and YARR_JIT to enable
2254           on iOS Simulator.  They are already defined below.
2255         - Turn off HAVE(HOSTED_CORE_ANIMATION) for iOS.
2256         - Turn on USE(COREMEDIA) for iOS 6.0 and later.
2257
2258 2013-02-08  Oliver Hunt  <oliver@apple.com>
2259
2260         Harden FastMalloc (again)
2261         https://bugs.webkit.org/show_bug.cgi?id=109334
2262
2263         Reviewed by Mark Hahnenberg.
2264
2265         Re-implement hardening of linked lists in TCMalloc.
2266
2267         In order to keep heap introspection working, we need to thread the
2268         heap entropy manually as the introspection process can't use the
2269         address of a global in determining the mask.  Given we now have to
2270         thread a value through anyway, I've stopped relying on ASLR for entropy
2271         and am simply using arc4random() on darwin, and time + ASLR everywhere
2272         else.
2273
2274         I've also made an explicit struct type for the FastMalloc singly linked
2275         lists, as it seemed like the only way to reliably distinguish between
2276         void*'s that were lists vs. void* that were not.  This also made it
2277         somewhat easier to reason about things across processes.
2278
2279         Verified that all the introspection tools work as expected.
2280
2281         * wtf/FastMalloc.cpp:
2282         (WTF::internalEntropyValue):
2283         (WTF):
2284         (HardenedSLL):
2285         (WTF::HardenedSLL::create):
2286         (WTF::HardenedSLL::null):
2287         (WTF::HardenedSLL::setValue):
2288         (WTF::HardenedSLL::value):
2289         (WTF::HardenedSLL::operator!):
2290         (WTF::HardenedSLL::operator UnspecifiedBoolType):
2291         (TCEntry):
2292         (WTF::SLL_Next):
2293         (WTF::SLL_SetNext):
2294         (WTF::SLL_Push):
2295         (WTF::SLL_Pop):
2296         (WTF::SLL_PopRange):
2297         (WTF::SLL_PushRange):
2298         (WTF::SLL_Size):
2299         (PageHeapAllocator):
2300         (WTF::PageHeapAllocator::Init):
2301         (WTF::PageHeapAllocator::New):
2302         (WTF::PageHeapAllocator::Delete):
2303         (WTF::PageHeapAllocator::recordAdministrativeRegions):
2304         (WTF::Span::next):
2305         (WTF::Span::remoteNext):
2306         (WTF::Span::prev):
2307         (WTF::Span::setNext):
2308         (WTF::Span::setPrev):
2309         (Span):
2310         (WTF::DLL_Init):
2311         (WTF::DLL_Remove):
2312         (WTF::DLL_IsEmpty):
2313         (WTF::DLL_Length):
2314         (WTF::DLL_Prepend):
2315         (TCMalloc_Central_FreeList):
2316         (WTF::TCMalloc_Central_FreeList::enumerateFreeObjects):
2317         (WTF::TCMalloc_Central_FreeList::entropy):
2318         (TCMalloc_PageHeap):
2319         (WTF::TCMalloc_PageHeap::init):
2320         (WTF::TCMalloc_PageHeap::scavenge):
2321         (WTF::TCMalloc_PageHeap::New):
2322         (WTF::TCMalloc_PageHeap::AllocLarge):
2323         (WTF::TCMalloc_PageHeap::Carve):
2324         (WTF::TCMalloc_PageHeap::Delete):
2325         (WTF::TCMalloc_PageHeap::ReturnedBytes):
2326         (WTF::TCMalloc_PageHeap::Check):
2327         (WTF::TCMalloc_PageHeap::CheckList):
2328         (WTF::TCMalloc_PageHeap::ReleaseFreeList):
2329         (TCMalloc_ThreadCache_FreeList):
2330         (WTF::TCMalloc_ThreadCache_FreeList::Init):
2331         (WTF::TCMalloc_ThreadCache_FreeList::empty):
2332         (WTF::TCMalloc_ThreadCache_FreeList::Push):
2333         (WTF::TCMalloc_ThreadCache_FreeList::PushRange):
2334         (WTF::TCMalloc_ThreadCache_FreeList::PopRange):
2335         (WTF::TCMalloc_ThreadCache_FreeList::Pop):
2336         (WTF::TCMalloc_ThreadCache_FreeList::enumerateFreeObjects):
2337         (TCMalloc_ThreadCache):
2338         (WTF::TCMalloc_Central_FreeList::Init):
2339         (WTF::TCMalloc_Central_FreeList::ReleaseListToSpans):
2340         (WTF::TCMalloc_Central_FreeList::ReleaseToSpans):
2341         (WTF::TCMalloc_Central_FreeList::InsertRange):
2342         (WTF::TCMalloc_Central_FreeList::RemoveRange):
2343         (WTF::TCMalloc_Central_FreeList::FetchFromSpansSafe):
2344         (WTF::TCMalloc_Central_FreeList::FetchFromSpans):
2345         (WTF::TCMalloc_Central_FreeList::Populate):
2346         (WTF::TCMalloc_ThreadCache::Init):
2347         (WTF::TCMalloc_ThreadCache::Deallocate):
2348         (WTF::TCMalloc_ThreadCache::FetchFromCentralCache):
2349         (WTF::TCMalloc_ThreadCache::ReleaseToCentralCache):
2350         (WTF::TCMalloc_ThreadCache::InitModule):
2351         (WTF::TCMalloc_ThreadCache::NewHeap):
2352         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
2353         * wtf/MallocZoneSupport.h:
2354         (RemoteMemoryReader):
2355
2356 2013-02-11  Enrica Casucci  <enrica@apple.com>
2357
2358         Add ENABLE_DELETION_UI to control the use of the deletion UI.
2359         https://bugs.webkit.org/show_bug.cgi?id=109463.
2360         
2361         ENABLE_DELETION_UI is set to 1 by default for
2362         all ports. It is explicitly enabled for MAC and disabled for iOS.
2363
2364         Reviewed by Ryosuke Niwa.
2365
2366         * wtf/Platform.h:
2367
2368 2013-02-11  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2369
2370         [EFL] Stop using smart pointers for Ecore_Timer
2371         https://bugs.webkit.org/show_bug.cgi?id=109409
2372
2373         Reviewed by Kenneth Rohde Christiansen.
2374
2375         Remove support in OwnPtr for EFL's Ecore_Timer. It is a bad idea to use
2376         OwnPtr for Ecore_Timer because the timer handle may become invalid.
2377
2378         * wtf/OwnPtrCommon.h:
2379         (WTF):
2380         * wtf/efl/OwnPtrEfl.cpp:
2381
2382 2013-02-11  Abhishek Arya  <inferno@chromium.org>
2383
2384         Add ASSERT_WITH_SECURITY_IMPLICATION to detect out of bounds access
2385         https://bugs.webkit.org/show_bug.cgi?id=108981
2386
2387         Reviewed by Eric Seidel.
2388
2389         * wtf/BitVector.h:
2390         (WTF::BitVector::quickGet):
2391         (WTF::BitVector::quickSet):
2392         (WTF::BitVector::quickClear):
2393         * wtf/DecimalNumber.h:
2394         (WTF::DecimalNumber::DecimalNumber):
2395         * wtf/SegmentedVector.h:
2396         (WTF::SegmentedVector::ensureSegment):
2397         * wtf/StringPrintStream.cpp:
2398         (WTF::StringPrintStream::vprintf):
2399         * wtf/Vector.h:
2400         (WTF::::insert):
2401         (WTF::::remove):
2402         * wtf/dtoa/utils.h:
2403         (WTF::double_conversion::StringBuilder::SetPosition):
2404         (WTF::double_conversion::StringBuilder::AddSubstring):
2405
2406 2013-02-10  Laszlo Gombos  <l.gombos@samsung.com>
2407
2408         Consolidate the way WTF_USE_PTHREADS is enabled
2409         https://bugs.webkit.org/show_bug.cgi?id=108191
2410
2411         Reviewed by Benjamin Poulain.
2412
2413         Define WTF_USE_PTHREADS to 1 on all OS(UNIX) environments.
2414
2415         * WTF.gyp/WTF.gyp: Remove duplicated definition of WTF_USE_PTHREADS.
2416         * wtf/Platform.h:
2417
2418 2013-02-10  Laszlo Gombos  <l.gombos@samsung.com>
2419
2420         Refactor the way HAVE_XXX macros are set
2421         https://bugs.webkit.org/show_bug.cgi?id=108132
2422
2423         Reviewed by Benjamin Poulain.
2424
2425         OS(WINDOWS) and OS(UNIX) are so broadly defined that for each
2426         builds exactly one of them is enabled. Use this assumption to
2427         cleanup Platform.h.
2428
2429         * wtf/Platform.h:
2430
2431 2013-02-10  Jae Hyun Park  <jae.park08@gmail.com>
2432
2433         Rename ENABLE(GLIB_SUPPORT) to USE(GLIB)
2434         https://bugs.webkit.org/show_bug.cgi?id=104266
2435
2436         Reviewed by Philippe Normand.
2437
2438         Using USE(GLIB) instead of ENABLE(GLIB_SUPPORT) is more consistent with
2439         the existing macro naming conventions.
2440
2441         From Platform.h
2442         USE() - use a particular third-party library or optional OS service
2443         ENABLE() - turn on a specific feature of WebKit
2444
2445         * WTF.pri:
2446         * wtf/Platform.h:
2447         * wtf/gobject/GOwnPtr.cpp:
2448         * wtf/gobject/GOwnPtr.h:
2449         * wtf/gobject/GRefPtr.cpp:
2450         * wtf/gobject/GRefPtr.h:
2451
2452 2013-02-08  Michael Saboff  <msaboff@apple.com>
2453
2454         ARM_NEON Inline Assembly for copyLCharsFromUCharSource() inefficient for aligned destinations
2455         https://bugs.webkit.org/show_bug.cgi?id=109335
2456
2457         Reviewed by Filip Pizlo.
2458
2459         Change a "do while" to a "while" so that we don't copy single characters to align the 
2460         destination when it is already aligned.
2461
2462         * wtf/text/ASCIIFastPath.h:
2463         (WTF::copyLCharsFromUCharSource):
2464
2465 2013-02-08  Jer Noble  <jer.noble@apple.com>
2466
2467         Bring WebKit up to speed with latest Encrypted Media spec.
2468         https://bugs.webkit.org/show_bug.cgi?id=97037
2469
2470         Reviewed by Eric Carlson.
2471
2472         Define the ENABLE_ENCRYPTED_MEDIA_V2 setting.
2473
2474         * wtf/Platform.h:
2475
2476 2013-02-08  Adam Barth  <abarth@webkit.org>
2477
2478         Use WeakPtrs to communicate between the HTMLDocumentParser and the BackgroundHTMLParser
2479         https://bugs.webkit.org/show_bug.cgi?id=107190
2480
2481         Reviewed by Eric Seidel.
2482
2483         Add the ability to create an unbound weak reference. This facility lets
2484         you start sending messages to a WeakPtr on another thread before the
2485         object backing the WeakPtr has actually been created.
2486
2487         * wtf/WeakPtr.h:
2488         (WTF::WeakReference::createUnbound):
2489         (WTF::WeakReference::bindTo):
2490         (WeakReference):
2491         (WTF::WeakReference::WeakReference):
2492         (WTF::WeakPtr::WeakPtr):
2493         (WeakPtr):
2494         (WTF::WeakPtrFactory::WeakPtrFactory):
2495         (WeakPtrFactory):
2496         (WTF::WeakPtrFactory::revokeAll):
2497
2498 2013-02-08  Martin Robinson  <mrobinson@igalia.com>
2499
2500         [GTK] Add an experimental gyp build
2501         https://bugs.webkit.org/show_bug.cgi?id=109003
2502
2503         Reviewed by Gustavo Noronha Silva.
2504
2505         * WTF.gyp/WTF.gyp: Filter out MetaAllocator.(cpp/h) from the Chromium
2506         build. It's only necessary for GTK+.
2507         * WTF.gypi: Add MetaAllocator to the build for WebKitGTK+.
2508
2509 2013-02-06  Ilya Tikhonovsky  <loislo@chromium.org>
2510
2511         Web Inspector: Native Memory Instrumentation: reportBaseAddress needs to be called after the reportNode. So it may reuse the node index for the real address.
2512         https://bugs.webkit.org/show_bug.cgi?id=109051
2513
2514         Reviewed by Yury Semikhatsky.
2515
2516         * wtf/MemoryInstrumentation.cpp:
2517         (WTF::MemoryInstrumentation::WrapperBase::processPointer):
2518
2519 2013-02-07  David Kilzer  <ddkilzer@apple.com>
2520
2521         Fix #endif comment from r142163 and r142183
2522
2523         * wtf/MainThread.h:
2524         (WTF): s/PLATFORM/USE/
2525
2526 2013-02-07  Benjamin Poulain  <bpoulain@apple.com>
2527
2528         Fix an incorrect comment from r142163
2529
2530         Unreviewed.
2531
2532         * wtf/MainThread.h:
2533         I accidentally copied PLATFORM(IOS) instead of USE(WEB_THREAD) for the #ifdef closing.
2534
2535 2013-02-07  Benjamin Poulain  <bpoulain@apple.com>
2536
2537         Upstream iOS isWebThread() and isUIThread()
2538         https://bugs.webkit.org/show_bug.cgi?id=109130
2539
2540         Reviewed by Sam Weinig.
2541
2542         On iOS, it is sometimes necessary to differenciate the thread running WebCore,
2543         and the thread running the UI. This patch upstream those functions.
2544
2545         * wtf/MainThread.cpp:
2546         * wtf/MainThread.h:
2547         Disable the legacy initializer as it is incorrect when using the WebThread to run WebCore.
2548         (WTF::isWebThread):
2549         (WTF::isUIThread):
2550         Return true when the current thread is the Web/UI thread.
2551
2552         * wtf/mac/MainThreadMac.mm:
2553         (WTF::isUIThread):
2554         (WTF::isWebThread):
2555
2556         * wtf/text/AtomicString.cpp:
2557         (WTF::AtomicStringTable::create):
2558         Use the newly added methods.
2559
2560 2013-02-07  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2561
2562         [Qt] Fix build without 3D_GRAPHICS
2563         https://bugs.webkit.org/show_bug.cgi?id=109194
2564
2565         Reviewed by Noam Rosenthal.
2566
2567         Now that Coordinated Graphics was moved to WebCore, we need to explicitly enable
2568         it when we have 3D_GRAPHICS. This dependency was implicitly by the fact that
2569         3D_GRAPHICS is a dependency of WebKit2 and Coordinated Graphics was only
2570         available there. This should fix build for Qt SH4 Linux.
2571
2572         * wtf/Platform.h:
2573
2574 2013-02-06  Zan Dobersek  <zdobersek@igalia.com>
2575
2576         [WTFURL] Fix erroneous header inclusions in WTFURL code
2577         https://bugs.webkit.org/show_bug.cgi?id=109040
2578
2579         Reviewed by Benjamin Poulain.
2580
2581         Include WTFURL API headers from files in Source/WTF/wtf/url/src
2582         by specifying their relative path to Source/WTF. 
2583
2584         * GNUmakefile.am: The changes make it possible to compile the WTF library
2585         without specifying both Source/WTF/wtf/url/api and Source/WTF/wtf/url/src
2586         as inclusion directories in CPPFLAGS, so remove these two entries.
2587         * wtf/url/src/RawURLBuffer.h:
2588         * wtf/url/src/URLCanon.h: Include the URLParse.h header by specifying
2589         only the base name as it's located in the same directory.
2590         * wtf/url/src/URLCanonQuery.cpp:
2591         * wtf/url/src/URLUtil.h:
2592
2593 2013-02-06  Tony Gentilcore  <tonyg@chromium.org>
2594
2595         Call XSSAuditor's didBlockScript() for the threaded HTML parser
2596         https://bugs.webkit.org/show_bug.cgi?id=108726
2597
2598         Reviewed by Adam Barth.
2599
2600         This patch adds isSafeToSendToAnotherThread() methods to CString, String, ParsedURL and URLString.
2601         These methods check to ensure there are 0 or 1 references.
2602
2603         * wtf/text/CString.cpp:
2604         (WTF::CString::isSafeToSendToAnotherThread): Added.
2605         (WTF):
2606         * wtf/text/CString.h:
2607         (CString):
2608         * wtf/text/WTFString.cpp:
2609         (WTF::String::isSafeToSendToAnotherThread): Added.
2610         (WTF):
2611         * wtf/text/WTFString.h:
2612         (String):
2613         * wtf/url/api/ParsedURL.h:
2614         (WTF::ParsedURL::isSafeToSendToAnotherThread): Added.
2615         * wtf/url/api/URLString.h:
2616         (WTF::URLString::isSafeToSendToAnotherThread): Added.
2617
2618 2013-02-06  Ilya Tikhonovsky  <loislo@chromium.org>
2619
2620         Web Inspector: Native Memory Instrumentation: assign class name to the heap graph node automatically
2621         https://bugs.webkit.org/show_bug.cgi?id=107262
2622
2623         Reviewed by Yury Semikhatsky.
2624
2625         We need a way to calculate class name for a pointer automatically.
2626         Otherwise we need to write className manually in all the instrumentation methods.
2627         And for all reported but not instrumented classes.
2628
2629         C++ can do that for us with help of typeid but unfortunatelly it requires rtti.
2630         There is another way to do that. C++ preprocessor provides a define which has a function name.
2631
2632         For g++ and clang it is __PRETTY_FUNCTION__.
2633         For MSVC it is __FUNCTION__.
2634         The content of the string is a function signature.
2635         We can use it because it has the name of the template argument.
2636         The format is sligthly different. That's why I made two different parsers.
2637         One for MSVC the other for GCC, Clang etc.
2638         The other problem is the resulting binary size.
2639         I made very simple function that does the only thing, returns the smallest possible function signature.
2640         Unfortunatelly MSVC doesn't generate template argument name for functions.
2641         It does this only for classes.
2642
2643         * wtf/MemoryInstrumentation.cpp:
2644         (WTF):
2645         (WTF::className):
2646         (WTF::MemoryClassInfo::callReportObjectInfo):
2647         (WTF::MemoryClassInfo::init):
2648         * wtf/MemoryInstrumentation.h:
2649         (WTF):
2650         (WTF::FN::fn):
2651         (WTF::fn):
2652         (WTF::MemoryClassInfo::MemoryClassInfo):
2653         (MemoryClassInfo):
2654         (WTF::::reportObjectMemoryUsage):
2655
2656 2013-02-05  Mark Lam  <mark.lam@apple.com>
2657
2658         Fix EnumClass so that it can be used with switch statements.
2659         https://bugs.webkit.org/show_bug.cgi?id=109004.
2660
2661         Reviewed by Sam Weinig.
2662
2663         * wtf/EnumClass.h:
2664         (WTF::EnumClass::operator==):
2665         (WTF::EnumClass::operator!=):
2666         (WTF::EnumClass::operator<):
2667         (WTF::EnumClass::operator<=):
2668         (WTF::EnumClass::operator>):
2669         (WTF::EnumClass::operator>=):
2670         (EnumClass):
2671         (WTF::EnumClass::operator Value):
2672
2673 2013-02-05  Oliver Hunt  <oliver@apple.com>
2674
2675         Disable TCMalloc hardening as it's breaking leaks.
2676
2677         Reviewed by Gavin Barraclough.
2678
2679         * wtf/FastMalloc.cpp:
2680
2681 2013-02-05  Mark Lam  <mark.lam@apple.com>
2682
2683         Rename ENUM_CLASS_BEGIN() macro to ENUM_CLASS(), and make DatabaseType a strong enum.
2684         https://bugs.webkit.org/show_bug.cgi?id=108988.
2685
2686         Reviewed by Alexey Proskuryakov.
2687
2688         * wtf/EnumClass.h:
2689
2690 2013-02-05  Roger Fong  <roger_fong@apple.com>
2691
2692         Unreviewed build fix.
2693
2694         * wtf/FastMalloc.cpp:
2695
2696 2013-02-05  Benjamin Poulain  <bpoulain@apple.com>
2697
2698         Tidy up StackBounds
2699         https://bugs.webkit.org/show_bug.cgi?id=108889
2700
2701         Reviewed by Ryosuke Niwa.
2702
2703         * wtf/StackBounds.h:
2704         (StackBounds):
2705         (WTF::StackBounds::isSafeToRecurse):
2706         (WTF::StackBounds::size):
2707         Adopt a more conventional style for a multiline branch.
2708
2709         (WTF::StackBounds::StackBounds):
2710         (WTF::StackBounds::current):
2711         (WTF::StackBounds::recursionLimit):
2712         Make those method private.
2713
2714         Making the constructor private ensure initialize() is alwasy called on any StackBounds.
2715
2716 2013-02-05  Zan Dobersek  <zdobersek@igalia.com>
2717
2718         [WTFURL] Comparison between signed and unsigned integer expressions in URLUtil.cpp
2719         https://bugs.webkit.org/show_bug.cgi?id=108955
2720
2721         Reviewed by Benjamin Poulain.
2722
2723         * wtf/url/src/URLUtil.cpp:
2724         (URLUtilities): Make the counter variable a signed integer to get rid of the warning.
2725
2726 2013-02-05  Benjamin Poulain  <bpoulain@apple.com>
2727
2728         Rationalize the use of iOS/Mac #defines in Assertions.cpp
2729         https://bugs.webkit.org/show_bug.cgi?id=108870
2730
2731         Reviewed by David Kilzer.
2732
2733         * wtf/Assertions.cpp: Instead of using PLATFORM(MAC) and assume it works for iOS and OS X,
2734         use CF as the guard for CFString. Similarily, USE_APPLE_SYSTEM_LOG guards code using ASL.
2735
2736 2013-02-05  Benjamin Poulain  <bpoulain@apple.com>
2737
2738         Make StringBuilder::toAtomicString() consistent with StringBuilder::toString() for strings of length zero
2739         https://bugs.webkit.org/show_bug.cgi?id=108894
2740
2741         Reviewed by Andreas Kling.
2742
2743         * wtf/text/StringBuilder.h:
2744         (WTF::StringBuilder::toAtomicString): The function was returning the nullAtom for strings of length zero.
2745         This is inconsistent with StringBuilder::toString() which always return an empty string.
2746
2747         This patch unifies the behavior.
2748
2749 2013-02-04  Mark Hahnenberg  <mhahnenberg@apple.com>
2750
2751         Structure::m_outOfLineCapacity is unnecessary
2752         https://bugs.webkit.org/show_bug.cgi?id=108206
2753
2754         Reviewed by Darin Adler.
2755
2756         Simplifying the utility functions that we use since we don't need a 
2757         bunch of fancy templates for this one specific call site.
2758
2759         * wtf/MathExtras.h:
2760         (WTF::roundUpToPowerOfTwo):
2761
2762 2013-02-05  Sheriff Bot  <webkit.review.bot@gmail.com>
2763
2764         Unreviewed, rolling out r141905.
2765         http://trac.webkit.org/changeset/141905
2766         https://bugs.webkit.org/show_bug.cgi?id=108963
2767
2768         "Broke mac build" (Requested by tonyg-cr on #webkit).
2769
2770         * wtf/text/CString.cpp:
2771         * wtf/text/CString.h:
2772         * wtf/text/WTFString.cpp:
2773         * wtf/text/WTFString.h:
2774         (String):
2775         * wtf/url/api/ParsedURL.h:
2776         (ParsedURL):
2777         * wtf/url/api/URLString.h:
2778
2779 2013-02-05  Tony Gentilcore  <tonyg@chromium.org>
2780
2781         Call XSSAuditor's didBlockScript() for the threaded HTML parser
2782         https://bugs.webkit.org/show_bug.cgi?id=108726
2783
2784         Reviewed by Adam Barth.
2785
2786         This patch adds isSafeToSendToAnotherThread() methods to CString, String, ParsedURL and URLString.
2787         These methods check to ensure there are 0 or 1 references.
2788
2789         * wtf/text/CString.cpp:
2790         (WTF::CString::isSafeToSendToAnotherThread): Added.
2791         (WTF):
2792         * wtf/text/CString.h:
2793         (CString):
2794         * wtf/text/WTFString.cpp:
2795         (WTF::String::isSafeToSendToAnotherThread): Added.
2796         (WTF):
2797         * wtf/text/WTFString.h:
2798         (String):
2799         * wtf/url/api/ParsedURL.h:
2800         (WTF::ParsedURL::isSafeToSendToAnotherThread): Added.
2801         * wtf/url/api/URLString.h:
2802         (WTF::URLString::isSafeToSendToAnotherThread): Added.
2803
2804 2013-02-04  Benjamin Poulain  <bpoulain@apple.com>
2805
2806         Build fix for AtomicString on iOS
2807
2808         Unreviewed. The commit r141812 rely on isUIThread(), there is no such things
2809         in the tree right now. Use pthread_main_np() until more thread handling is upstreamed.
2810
2811         * wtf/text/AtomicString.cpp:
2812         (WTF::AtomicStringTable::create):
2813
2814 2013-02-04  Abhishek Arya  <inferno@chromium.org>
2815
2816         Add ASSERT_WITH_SECURITY_IMPLICATION to detect out of bounds access
2817         https://bugs.webkit.org/show_bug.cgi?id=108668
2818
2819         Reviewed by Eric Seidel.
2820
2821         * wtf/AVLTree.h:
2822         (WTF::AVLTreeDefaultBSet::operator[]):
2823         * wtf/BitArray.h:
2824         (WTF::BitArray::set):
2825         (WTF::BitArray::get):
2826         * wtf/FastBitVector.h:
2827         (WTF::FastBitVector::set):
2828         (WTF::FastBitVector::clear):
2829         (WTF::FastBitVector::get):
2830         * wtf/FixedArray.h:
2831         (WTF::FixedArray::operator[]):
2832         * wtf/RefCountedArray.h:
2833         (WTF::RefCountedArray::at):
2834         * wtf/TypedArrayBase.h:
2835         (WTF::TypedArrayBase::item):
2836         * wtf/text/StringBuffer.h:
2837         (WTF::StringBuffer::operator[]):
2838         * wtf/text/StringBuilder.h:
2839         (WTF::StringBuilder::operator[]):
2840         * wtf/text/StringImpl.h:
2841         (WTF::StringImpl::operator[]):
2842
2843 2013-02-04  Benjamin Poulain  <benjamin@webkit.org>
2844
2845         Upstream iOS's AtomicString
2846         https://bugs.webkit.org/show_bug.cgi?id=108139
2847
2848         Reviewed by David Kilzer.
2849
2850         On iOS, WebCore can be executed from two different threads. To maintain consistency,
2851         a few changes had been made:
2852         -The main UI thread and the WebThread share the same AtomicStringTable.
2853         -A spin lock is needed before any access to prevent any concurrent modification of the string table.
2854          The spin lock also prevent race on the static initialization of the shared table.
2855
2856         * wtf/Platform.h:
2857         Introduce a new USE(WEB_THREAD) to scope changes related to iOS Web Thread.
2858         * wtf/text/AtomicString.cpp:
2859         (AtomicStringTableLocker):
2860         (WTF::AtomicStringTableLocker::AtomicStringTableLocker):
2861         (WTF::AtomicStringTableLocker::~AtomicStringTableLocker):
2862         (WTF::AtomicStringTable::create):
2863         wtfThreadData() is not necessarily inlined on ARM. When it is not inlined, the old code
2864         causes two call to the function. Instead, we can keep the value in register and pass it
2865         to AtomicStringTable::create().
2866         (WTF::stringTable):
2867         (WTF::addToStringTable):
2868         (WTF::AtomicString::addSlowCase):
2869         (WTF::AtomicString::find):
2870         (WTF::AtomicString::remove):
2871
2872 2013-02-04  Martin Robinson  <mrobinson@igalia.com>
2873
2874         Fix GTK+ 'make dist' in preparation for the 1.11.5 release.
2875
2876         * GNUmakefile.list.am:
2877
2878 2013-02-04  David Kilzer  <ddkilzer@apple.com>
2879
2880         Sort WTF Xcode project file
2881
2882         * WTF.xcodeproj/project.pbxproj:
2883
2884 2013-02-02  Andreas Kling  <akling@apple.com>
2885
2886         Vector should consult allocator about ideal size when choosing capacity.
2887         <http://webkit.org/b/108410>
2888         <rdar://problem/13124002>
2889
2890         Reviewed by Benjamin Poulain.
2891
2892         Added WTF::fastMallocGoodSize(), a workalike/wrapper for OS X's malloc_good_size().
2893         It returns the actual size of the block that will get allocated for a given byte size.
2894
2895         Vector's internal buffer now checks with the allocator if the resulting allocation
2896         could actually house more objects and updates its capacity to make use of the space.
2897
2898         * wtf/Deque.h:
2899         (WTF::::expandCapacity):
2900         * wtf/FastMalloc.cpp:
2901         (WTF::fastMallocGoodSize):
2902         * wtf/FastMalloc.h:
2903         * wtf/Vector.h:
2904         (WTF::VectorBufferBase::allocateBuffer):
2905         (WTF::VectorBufferBase::tryAllocateBuffer):
2906         (WTF::VectorBufferBase::reallocateBuffer):
2907
2908 2013-02-02  Mark Rowe  <mrowe@apple.com>
2909
2910         <http://webkit.org/b/108745> WTF shouldn't use a script build phase to detect the presence of headers when the compiler can do it for us
2911
2912         Reviewed by Sam Weinig.
2913
2914         * WTF.xcodeproj/project.pbxproj: Remove the script phase that used to generate a header file
2915         containing information about whether certain header files exist on the system.
2916         * wtf/FastMalloc.cpp: Use Clang's __has_include to detect whether the header exists before including it.
2917
2918 2013-02-01  Roger Fong  <roger_fong@apple.com>
2919
2920         Unreviewed. WTF VS2010 project cleanup.
2921
2922         * WTF.vcxproj/WTF.vcxproj:
2923         * WTF.vcxproj/WTF.vcxproj.filters:
2924         * WTF.vcxproj/WTFPreLink.cmd: Removed.
2925
2926 2013-02-01  Zan Dobersek  <zdobersek@igalia.com>
2927
2928         [GTK] Add WTFURL source files to the build
2929         https://bugs.webkit.org/show_bug.cgi?id=108215
2930
2931         Reviewed by Benjamin Poulain.
2932
2933         The WTFURL implementation sources are all still guarded by the USE(WTFURL) guard,
2934         meaning that the GTK port still uses the default KURL backend. To use the WTFURL
2935         backend instead, one would have to define WTF_USE_WTFURL in Platform.h.
2936
2937         * GNUmakefile.am: List the directories from which source headers will be included.
2938         Plenty of WTFURL code currently just includes the required header by name rather
2939         than specifying the header path as relative to Source/WTF. In the future all the inclusions
2940         should probaby be changed to include the header through the path relative to Source/WTF.
2941         * GNUmakefile.list.am: Add build targets for the WTFURL source files.
2942         * wtf/url/api/ParsedURL.cpp: Specify the complete path to the required headers and
2943         reorder the inclusions.
2944         * wtf/url/src/URLCanon.h: Ditto.
2945
2946 2013-01-18  Ilya Tikhonovsky  <loislo@chromium.org>
2947
2948         Web Inspector: Native Memory Instrumentation: provide edge names and class names for WTF containers and strings
2949         https://bugs.webkit.org/show_bug.cgi?id=107303
2950
2951         Reviewed by Yury Semikhatsky.
2952
2953         I'd like to use ValueType[] as className for the container data members
2954         because class names of template parameters already present in the container class names.
2955
2956         * wtf/MemoryInstrumentationArrayBufferView.h:
2957         (WTF::reportMemoryUsage):
2958         * wtf/MemoryInstrumentationHashCountedSet.h:
2959         (WTF::reportMemoryUsage):
2960         * wtf/MemoryInstrumentationHashMap.h:
2961         (WTF::reportMemoryUsage):
2962         * wtf/MemoryInstrumentationHashSet.h:
2963         (WTF::reportMemoryUsage):
2964         * wtf/MemoryInstrumentationListHashSet.h:
2965         (WTF::reportMemoryUsage):
2966         * wtf/MemoryInstrumentationSequence.h:
2967         * wtf/MemoryInstrumentationString.h:
2968         (WTF::reportMemoryUsage):
2969         * wtf/MemoryInstrumentationVector.h:
2970         (WTF::reportMemoryUsage):
2971
2972 2013-02-01  Geoffrey Garen  <ggaren@apple.com>
2973
2974         Added TriState to WTF and started using it in one place
2975         https://bugs.webkit.org/show_bug.cgi?id=108628
2976
2977         Reviewed by Beth Dakin.
2978
2979         Useful for expressing "maybe" conditions in a boolean context.
2980
2981         * WTF.xcodeproj/project.pbxproj:
2982         * wtf/TriState.h: Added.
2983         (WTF):
2984
2985 2013-02-01  Patrick Gansterer  <paroga@webkit.org>
2986
2987         Build fix for WinCE after r137709
2988         https://bugs.webkit.org/show_bug.cgi?id=105767
2989
2990         Do not pass functions as const references to
2991         templated arguments to make the compiler happy.
2992
2993         * wtf/StdLibExtras.h:
2994         (WTF::binarySearch):
2995         (WTF::tryBinarySearch):
2996         (WTF::approximateBinarySearch):
2997
2998 2013-01-31  Ilya Tikhonovsky  <loislo@chromium.org>
2999
3000         Web Inspector: Native Memory Instrumentation: replace nodeName argument with className
3001         https://bugs.webkit.org/show_bug.cgi?id=107278
3002
3003         Reviewed by Yury Semikhatsky.
3004
3005         I replaced nodeName with className because we newer report node name for private and raw buffers
3006         but need to report their class names.
3007
3008         * wtf/MemoryInstrumentation.cpp:
3009         (WTF::MemoryInstrumentation::reportLinkToBuffer):
3010         (WTF::MemoryClassInfo::addRawBuffer):
3011         (WTF::MemoryClassInfo::addPrivateBuffer):
3012         * wtf/MemoryInstrumentation.h:
3013         (WTF::MemoryInstrumentation::addRawBuffer):
3014         (MemoryClassInfo):
3015
3016 2013-01-31  Jessie Berlin  <jberlin@apple.com>
3017
3018         Rolling out r141407 because it is causing crashes under
3019         WTF::TCMalloc_Central_FreeList::FetchFromSpans() in Release builds.
3020
3021         * wtf/Deque.h:
3022         (WTF::::expandCapacity):
3023         * wtf/FastMalloc.cpp:
3024         * wtf/FastMalloc.h:
3025         (WTF):
3026         * wtf/Vector.h:
3027         (WTF::VectorBufferBase::allocateBuffer):
3028         (WTF::VectorBufferBase::tryAllocateBuffer):
3029         (WTF::VectorBufferBase::reallocateBuffer):
3030
3031 2013-01-31  Mark Lam  <mark.lam@apple.com>
3032
3033         Abstraction for hiding enum class.
3034         https://bugs.webkit.org/show_bug.cgi?id=108533
3035
3036         Reviewed by Anders Carlsson.
3037
3038         * wtf/Compiler.h:
3039         * wtf/EnumClass.h: Copied from Source/WTF/wtf/TypeSafeEnum.h.
3040         (WTF::EnumClass::EnumClass):
3041         (WTF::EnumClass::operator==):
3042         (WTF::EnumClass::operator!=):
3043         (WTF::EnumClass::operator<):
3044         (WTF::EnumClass::operator<=):
3045         (WTF::EnumClass::operator>):
3046         (WTF::EnumClass::operator>=):
3047         * wtf/TypeSafeEnum.h: Removed.
3048
3049 2013-01-31  Andreas Kling  <akling@apple.com>
3050
3051         Vector should consult allocator about ideal size when choosing capacity.
3052         <http://webkit.org/b/108410>
3053         <rdar://problem/13124002>
3054
3055         Reviewed by Benjamin Poulain.
3056
3057         Added WTF::fastMallocGoodSize(), a workalike/wrapper for OS X's malloc_good_size().
3058         It returns the actual size of the block that will get allocated for a given byte size.
3059
3060         Vector's internal buffer now checks with the allocator if the resulting allocation
3061         could actually house more objects and updates its capacity to make use of the space.
3062
3063         * wtf/Deque.h:
3064         (WTF::::expandCapacity):
3065         * wtf/FastMalloc.cpp:
3066         (WTF::fastMallocGoodSize):
3067         * wtf/FastMalloc.h:
3068         * wtf/Vector.h:
3069         (WTF::VectorBufferBase::allocateBuffer):
3070         (WTF::VectorBufferBase::tryAllocateBuffer):
3071         (WTF::VectorBufferBase::reallocateBuffer):
3072
3073 2013-01-30  Christophe Dumez  <christophe.dumez@intel.com>
3074
3075         Add a StringTypeAdapter for ASCIILiteral
3076         https://bugs.webkit.org/show_bug.cgi?id=108338
3077
3078         Reviewed by Benjamin Poulain.
3079
3080         Add StringTypeAdapter for ASCIILiteral type so that concatenation of an
3081         ASCIILiteral and a String using + operator is efficiently handled.
3082
3083         * wtf/text/StringConcatenate.h:
3084         * wtf/text/StringOperators.h:
3085         (WTF::operator+): Inline some of the operator+ functions that were not
3086         yet.
3087         (WTF):
3088
3089 2013-01-30  David Kilzer  <ddkilzer@apple.com>
3090
3091         Upstream iOS build file changes for WTF
3092         <http://webkit.org/b/108221>
3093
3094         Reviewed by Mark Rowe.
3095
3096         * Configurations/Base.xcconfig:
3097         - Import iOS.xcconfig.
3098         - Remove VALID_ARCHS.  Modern Xcodes define these correctly.
3099         - Make HEADER_SEARCH_PATHS work with iOS Simulator builds.
3100         - Add SUPPORTED_PLATFORMS so both Mac and iOS SDKs appear in
3101           schemes.
3102         - Define INSTALL_PATH when building for macosx SDK.
3103         * Configurations/CopyWTFHeaders.xcconfig:
3104         - Make PRIVATE_HEADERS_FOLDER_PATH work with iOS Simulator
3105           builds.
3106         * Configurations/DebugRelease.xcconfig:
3107         - Simplify ARCHS.  This works correctly on 32-bit-only SDKs.
3108         * Configurations/WTF.xcconfig:
3109         - Fix installation directory for iOS Simulator builds by
3110           defining INSTALL_PATH_ACTUAL.
3111         * Configurations/iOS.xcconfig: Add.
3112         * WTF.xcodeproj/project.pbxproj:
3113         - Add iOS.xcconfig to the project.
3114
3115 2013-01-29  Mark Hahnenberg  <mhahnenberg@apple.com>
3116
3117         Structure::m_outOfLineCapacity is unnecessary
3118         https://bugs.webkit.org/show_bug.cgi?id=108206
3119
3120         Reviewed by Geoffrey Garen.
3121
3122         We're adding a new function that gives us the ability to round a value up to the next power of a certain base.
3123
3124         * wtf/MathExtras.h:
3125         (WTF::roundUpToPowerOf):
3126
3127 2013-01-30  Zeno Albisser  <zeno@webkit.org>
3128
3129         [Qt] Fix Qt/Mac build after r141024 and r141037
3130         https://bugs.webkit.org/show_bug.cgi?id=108318
3131
3132         Reviewed by Kentaro Hara.
3133
3134         * wtf/Functional.h:
3135             Make sure Block.h is included and its functionality
3136             is enabled for Qt on Mac.
3137
3138 2013-01-30  Simon Hausmann  <simon.hausmann@digia.com>
3139
3140         [Qt] Remove QT4_UNICODE related code paths
3141         https://bugs.webkit.org/show_bug.cgi?id=108316
3142
3143         Reviewed by Kenneth Rohde Christiansen.
3144
3145         Get rid of QT4_UNICODE and any related code paths. The Qt port
3146         requires Qt5 and ICU these days.
3147
3148         * WTF.gypi:
3149         * WTF.pro:
3150         * wtf/unicode/Unicode.h:
3151         * wtf/unicode/qt4/UnicodeQt4.h: Removed.
3152
3153 2013-01-29  Mark Lam  <mark.lam@apple.com>
3154
3155         Introducing WTF::TypeSafeEnum and DatabaseError.
3156         https://bugs.webkit.org/show_bug.cgi?id=108279.
3157
3158         Reviewed by Geoffrey Garen.
3159
3160         * WTF.xcodeproj/project.pbxproj:
3161         * wtf/TypeSafeEnum.h: Added.
3162         (WTF):
3163         (TypeSafeEnum):
3164         (WTF::TypeSafeEnum::TypeSafeEnum):
3165         (WTF::TypeSafeEnum::value):
3166         (WTF::TypeSafeEnum::operator==):
3167         (WTF::TypeSafeEnum::operator!=):
3168         (WTF::TypeSafeEnum::operator<):
3169         (WTF::TypeSafeEnum::operator<=):
3170         (WTF::TypeSafeEnum::operator>):
3171         (WTF::TypeSafeEnum::operator>=):
3172
3173 2013-01-29  Sheriff Bot  <webkit.review.bot@gmail.com>
3174
3175         Unreviewed, rolling out r140983.
3176         http://trac.webkit.org/changeset/140983
3177         https://bugs.webkit.org/show_bug.cgi?id=108277
3178
3179         Unfortunately, this API has one last client (Requested by
3180         abarth on #webkit).
3181
3182         * wtf/Platform.h:
3183
3184 2013-01-28  Benjamin Poulain  <benjamin@webkit.org>
3185
3186         String constructed from Literals should be non-empty
3187         https://bugs.webkit.org/show_bug.cgi?id=108103
3188
3189         Reviewed by Eric Carlson.
3190
3191         For efficiency, the construction from literal only works with valid non-empty strings.
3192         One of the constructor was changed to fix an error from HTMLMediaElement.
3193
3194         This patch replaces the branch with an assertions.
3195
3196         * wtf/text/StringImpl.cpp:
3197         (WTF::StringImpl::createFromLiteral):
3198
3199 2013-01-28  David Kilzer  <ddkilzer@apple.com>
3200
3201         BUILD FIX: Platform.h:1212:22: error: '__MAC_OS_X_VERSION_MIN_REQUIRED' is not defined, evaluates to 0 [-Werror,-Wundef]
3202
3203         This fixes the following build error introduced in r140366 for
3204         Bug 107098:
3205
3206             Platform.h:1212:22: error: '__MAC_OS_X_VERSION_MIN_REQUIRED' is not defined, evaluates to 0 [-Werror,-Wundef]
3207             #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1080 && !PLATFORM(IOS)
3208                                  ^
3209             1 error generated.
3210
3211         * wtf/Platform.h: Check !PLATFORM(IOS) first so that iOS builds
3212         do not try to evaluate __MAC_OS_X_VERSION_MIN_REQUIRED.
3213
3214 2013-01-28  Adam Barth  <abarth@webkit.org>
3215
3216         Remove webkitNotifications.createHTMLNotification
3217         https://bugs.webkit.org/show_bug.cgi?id=107598
3218
3219         Reviewed by Benjamin Poulain.
3220
3221         * wtf/Platform.h:
3222
3223 2013-01-27  Laszlo Gombos  <l.gombos@samsung.com>
3224
3225         [ANDROID] Fix a typo
3226         https://bugs.webkit.org/show_bug.cgi?id=108046
3227
3228         Reviewed by Adam Barth.
3229
3230         HAVE_NMAP -> HAVE_MMAP.
3231
3232         * wtf/Platform.h:
3233
3234 2013-01-27  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
3235
3236         Fixing atomicIncrement implementation for Windows by dropping support before XP SP2.
3237         https://bugs.webkit.org/show_bug.cgi?id=106740
3238
3239         Reviewed by Benjamin Poulain.
3240
3241         Adding int64_t type atomicIncrement and atomicDecrement implementations for Windows
3242         into Atomics.h required by WebKit2 after r139514. Separating WinCE implementation
3243         that does not support WebKit2 and has no support for 64 bit interlocked methods.
3244
3245         Increasing WINVER and _WIN32_WINNT to XP SP2, because the 64 bit type interlocked methods
3246         are not supported on previous versions on 32 bit target.
3247
3248         * config.h:
3249         * wtf/Atomics.h:
3250         (WTF):
3251         (WTF::atomicIncrement):
3252         (WTF::atomicDecrement):
3253
3254 2013-01-26  Andras Becsi  <andras.becsi@digia.com>
3255
3256         Unreviewed fix after r140451 to make GIT-SVN repositories happy.
3257
3258         * WTF.vcproj/WTF.sln:
3259
3260 2013-01-26  Justin Schuh  <jschuh@chromium.org>
3261
3262         [CHROMIUM] Suppress more c4267 build warnings for Win64 targets
3263         https://bugs.webkit.org/show_bug.cgi?id=107993
3264
3265         Reviewed by Abhishek Arya.
3266
3267         * WTF.gyp/WTF.gyp:
3268
3269 2013-01-25  Eric Seidel  <eric@webkit.org>
3270
3271         Support 4 and 5 argument bound static functions
3272         https://bugs.webkit.org/show_bug.cgi?id=107973
3273
3274         Reviewed by Anders Carlsson.
3275
3276         Yummy copy/paste template code!
3277         I'm about to use this in a BackgroundHTMLParser patch, but figured this should be landed separately.
3278
3279         * wtf/Functional.h:
3280         (WTF):
3281         (WTF::R):
3282
3283 2013-01-24  Martin Robinson  <mrobinson@igalia.com>
3284
3285         Abstract the logic for appending a UChar32 onto StringBuilder
3286         https://bugs.webkit.org/show_bug.cgi?id=107505
3287
3288         Reviewed by Darin Adler.
3289
3290         * wtf/text/StringBuilder.h:
3291         (WTF::StringBuilder::append): Added a method for appending a UChar32 to a StringBuilder.
3292
3293 2013-01-24  Brent Fulgham  <bfulgham@webkit.org>
3294
3295         Stipulate build order between WTFGenerated and WTF
3296         https://bugs.webkit.org/show_bug.cgi?id=107844
3297
3298         Reviewed by Tim Horton.
3299
3300         * WTF.vcxproj/WTF.vcxproj: Use VS2010 project dependency
3301         declaration so WTF depends on a completed WTFGenerated build.
3302
3303 2013-01-23  Abhishek Arya  <inferno@chromium.org>
3304
3305         Add support for ASSERT_WITH_SECURITY_IMPLICATION.
3306         https://bugs.webkit.org/show_bug.cgi?id=107699
3307
3308         Reviewed by Eric Seidel.
3309
3310         * wtf/Assertions.h: Add ASSERT_WITH_SECURITY_IMPLICATION to
3311         indicate possible security vulnerabily and enable it by default
3312         in fuzzing builds.
3313         * wtf/Vector.h: Use ASSERT_WITH_SECURITY_IMPLICATION for
3314         bounds check on [] operator.
3315
3316 2013-01-23  Tony Chang  <tony@chromium.org>
3317
3318         Unreviewed, set svn:eol-style to CRLF on Windows .sln files.
3319
3320         * WTF.vcproj/WTF.sln: Added property svn:eol-style.
3321
3322 2013-01-23  Adam Barth  <abarth@webkit.org>
3323
3324         BackgroundHTMLParser::sendTokensToMainThread should use bind
3325         https://bugs.webkit.org/show_bug.cgi?id=107637
3326
3327         Reviewed by Eric Seidel.
3328
3329         * wtf/Functional.h:
3330             - I had to re-work the approach to validating WeakPtr |this|
3331               arguments a bit. Previously you couldn't pass a WeakPtr as a
3332               non-|this| argument to a function because we would try to unwrap
3333               it into a raw pointer.
3334         * wtf/WeakPtr.h:
3335         (WTF::WeakPtrFactory::revokeAll):
3336         (WeakPtrFactory):
3337             - Let clients revoke all outstanding WeakPtrs without needing to
3338               destroy the WeakPtrFactory.
3339         * wtf/chromium/MainThreadChromium.cpp:
3340         (WTF::callFunctionObject):
3341         (WTF::callOnMainThread):
3342             - Implement callOnMainThread for Function objects. The non-Chromium
3343               implementation of MainThread.cpp already implements this feature.
3344
3345 2013-01-23  Justin Schuh  <jschuh@chromium.org>
3346
3347         [CHROMIUM] Suppress c4267 build warnings in WTF for Win64 targets
3348         https://bugs.webkit.org/show_bug.cgi?id=107721
3349
3350         Reviewed by Abhishek Arya.
3351
3352         * WTF.gyp/WTF.gyp:
3353
3354 2013-01-23  Oliver Hunt  <oliver@apple.com>
3355
3356         Add RELEASE_ASSERT (and a few friends)
3357         https://bugs.webkit.org/show_bug.cgi?id=107725
3358
3359         Reviewed by Filip Pizlo.
3360
3361         Adding a few macros to make release mode assertions easier and more readable.
3362         Also makes same assertions more useful in debug builds.
3363
3364         * wtf/Assertions.h:
3365
3366 2013-01-22  Joshua Bell  <jsbell@chromium.org>
3367
3368         Prevent race condition during Worker shutdown
3369         https://bugs.webkit.org/show_bug.cgi?id=107577
3370
3371         Reviewed by Dmitry Titov.
3372
3373         Add MessageQueue::appendAndKill() which wraps those two steps with a mutex so other
3374         threads can't sneak a message in between.
3375
3376         * wtf/MessageQueue.h: Added appendAndKill() method.
3377
3378 2013-01-22  Roger Fong  <roger_fong@apple.com>
3379
3380         WTF project files and property sheets for getting WebKit to compile in VS2010.
3381         https://bugs.webkit.org/show_bug.cgi?id=106986
3382
3383         Reviewed by Timothy Horton and Brent Fulgham.
3384
3385         * WTF.vcproj/WTF.sln:
3386         * WTF.vcxproj: Added.
3387         * WTF.vcxproj/WTF.vcxproj: Added.
3388         * WTF.vcxproj/WTF.vcxproj.filters: Added.
3389         * WTF.vcxproj/WTF.vcxproj.user: Added.
3390         * WTF.vcxproj/WTFCommon.props: Added.
3391         * WTF.vcxproj/WTFDebug.props: Added.
3392         * WTF.vcxproj/WTFGenerated.make: Added.
3393         * WTF.vcxproj/WTFGenerated.vcxproj: Added.
3394         * WTF.vcxproj/WTFGenerated.vcxproj.filters: Added.
3395         * WTF.vcxproj/WTFGenerated.vcxproj.user: Added.
3396         * WTF.vcxproj/WTFGeneratedCommon.props: Added.
3397         * WTF.vcxproj/WTFGeneratedDebug.props: Added.
3398         * WTF.vcxproj/WTFGeneratedRelease.props: Added.
3399         * WTF.vcxproj/WTFPostBuild.cmd: Added.
3400         * WTF.vcxproj/WTFPreBuild.cmd: Added.
3401         * WTF.vcxproj/WTFPreLink.cmd: Added.
3402         * WTF.vcxproj/WTFRelease.props: Added.
3403         * WTF.vcxproj/build-generated-files.sh: Added.
3404         * WTF.vcxproj/copy-files.cmd: Added.
3405         * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py: Added.
3406         * config.h:
3407
3408 2013-01-22  David Kilzer  <ddkilzer@apple.com>
3409
3410         Fix DateMath.cpp to compile with -Wshorten-64-to-32
3411         <http://webkit.org/b/107503>
3412
3413         Reviewed by Darin Adler.
3414
3415         Fixes the following build errors with -Wshorten-64-to-32:
3416
3417             DateMath.cpp:742:47: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]
3418                 if (month == 2 && day > 28 && !isLeapYear(year))
3419                                                ~~~~~~~~~~ ^~~~
3420             DateMath.cpp:757:48: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]
3421                 double dateSeconds = ymdhmsToSeconds(year, month, day, hours, minutes, seconds) - timeZoneSeconds;
3422                                      ~~~~~~~~~~~~~~~       ^~~~~
3423             DateMath.cpp:757:55: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]
3424                 double dateSeconds = ymdhmsToSeconds(year, month, day, hours, minutes, seconds) - timeZoneSeconds;
3425                                      ~~~~~~~~~~~~~~~              ^~~
3426             DateMath.cpp:757:60: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]
3427                 double dateSeconds = ymdhmsToSeconds(year, month, day, hours, minutes, seconds) - timeZoneSeconds;
3428                                      ~~~~~~~~~~~~~~~                   ^~~~~
3429             DateMath.cpp:757:67: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]
3430                 double dateSeconds = ymdhmsToSeconds(year, month, day, hours, minutes, seconds) - timeZoneSeconds;
3431                                      ~~~~~~~~~~~~~~~                          ^~~~~~~
3432             DateMath.cpp:996:59: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]
3433                                 offset = ((o / 100) * 60 + (o % 100)) * sgn;
3434                                        ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
3435             DateMath.cpp:998:37: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]
3436                                 offset = o * 60 * sgn;
3437                                        ~ ~~~~~~~^~~~~
3438             DateMath.cpp:1005:40: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]
3439                             offset = (o * 60 + o2) * sgn;
3440                                    ~ ~~~~~~~~~~~~~~^~~~~
3441             DateMath.cpp:1041:40: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]
3442                 return ymdhmsToSeconds(year, month + 1, day, hour, minute, second) * msPerSecond;
3443                        ~~~~~~~~~~~~~~~       ~~~~~~^~~
3444             DateMath.cpp:1041:45: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]
3445                 return ymdhmsToSeconds(year, month + 1, day, hour, minute, second) * msPerSecond;
3446                        ~~~~~~~~~~~~~~~                  ^~~
3447             DateMath.cpp:1041:50: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]
3448                 return ymdhmsToSeconds(year, month + 1, day, hour, minute, second) * msPerSecond;
3449                        ~~~~~~~~~~~~~~~                       ^~~~
3450             DateMath.cpp:1041:56: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]
3451                 return ymdhmsToSeconds(year, month + 1, day, hour, minute, second) * msPerSecond;
3452                        ~~~~~~~~~~~~~~~                             ^~~~~~
3453             12 errors generated.
3454
3455         * wtf/DateMath.cpp:
3456         (WTF::ymdhmsToSeconds): Change year argument from long to int.
3457         Change mon, day, hour, minute arguments from int to long.
3458         (WTF::parseInt): Add.  Identical to parseLong but bounds checks
3459         for type int.
3460         (WTF::parseLong): Switch to std::numeric_limits<long> instead of
3461         macros.
3462         (WTF::parseES5DatePortion): Change year argument from long to
3463         int.
3464         (WTF::parseES5DateFromNullTerminatedCharacters): Change year
3465         local variable from long to int.
3466         (WTF::parseDateFromNullTerminatedCharacters): Change year and
3467         offset local variables from long to int.  Switch from using
3468         parseLong() to parseInt() as needed.  Ditto for labs() to abs().
3469         Add overflow check when switching from "MM/DD/YYYY" to
3470         "YYYY/MM/DD" parsing.
3471
3472 2013-01-17  Andy Estes  <aestes@apple.com>
3473
3474         Add a USE() macro for content filtering code
3475         https://bugs.webkit.org/show_bug.cgi?id=107098
3476
3477         Reviewed by Mark Rowe.
3478
3479         * wtf/Platform.h: Define WTF_USE_CONTENT_FILTERING on Mac platforms
3480         more recent than Lion.
3481
3482 2013-01-18  Laszlo Gombos  <l.gombos@samsung.com>
3483
3484         Remove unnecessary PLATFORM() tests
3485         https://bugs.webkit.org/show_bug.cgi?id=107360
3486
3487         Reviewed by Eric Seidel.
3488
3489         PLATFORM(WIN), PLATFORM(CHROMIUM) and PLATFORM(QT) are mutually
3490         exclusive. Remove redundant PLATFORM() tests based on this
3491         invariant.
3492
3493         * wtf/Platform.h:
3494
3495 2013-01-18  Laszlo Gombos  <l.gombos@samsung.com>
3496
3497         Remove PLATFORM(TORCHMOBILE) from Assertions.h
3498         https://bugs.webkit.org/show_bug.cgi?id=107355
3499
3500         Reviewed by Eric Seidel.
3501
3502         This appears to be the only place where PLATFORM(TORCHMOBILE) is
3503         used. I don't believe this ifdef is needed anymore.
3504
3505         * wtf/Assertions.h:
3506
3507 2013-01-18  Michael Saboff  <msaboff@apple.com>
3508
3509         Refactor isPowerOf2() and add getLSBSet()
3510         https://bugs.webkit.org/show_bug.cgi?id=107306
3511
3512         Reviewed by Filip Pizlo.
3513
3514         Moved runtime/PropertyMapHashTable.h:PowerOf2() to new hasOneBitSet() and added getLSBSet().
3515
3516         * wtf/MathExtras.h:
3517         (hasOneBitSet):
3518         (getLSBSet):
3519
3520 2013-01-18  David Kilzer  <ddkilzer@apple.com>
3521
3522         Fix WTF::copyLCharsFromUCharSource() to compile with -Wshorten-64-to-32
3523         <http://webkit.org/b/107227>
3524
3525         Reviewed by Benjamin Poulain.
3526
3527         Fixes the following build error:
3528
3529             ASCIIFastPath.h:117:59: error: implicit conversion loses integer precision: 'unsigned long' to 'const unsigned int' [-Werror,-Wshorten-64-to-32]
3530                     const unsigned endLength = length - ucharsPerLoop + 1;
3531                                    ~~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~^~~
3532             1 error generated.
3533
3534         * wtf/text/ASCIIFastPath.h:
3535         (WTF::copyLCharsFromUCharSource): Change local variables from
3536         unsigned to size_t.
3537
3538 2013-01-14  Dominik Röttsches  <dominik.rottsches@intel.com>
3539
3540         [EFL] Update freetype in jhbuild to 2.4.11 and activate subpixel layout
3541         https://bugs.webkit.org/show_bug.cgi?id=106774
3542
3543         In order to fix a long standing linespacing/font ascent & descent issue
3544         we found that FreeType commit b0962ac34e660 solves that problem.
3545         Let's update FreeType accordingly, but bump it to 2.4.11 due to the
3546         maintainer recommending several security updates after that said commit.
3547
3548         Also, in order to avoid extra rebaselining, let's activate subpixel
3549         layout at the same time.
3550
3551         Reviewed by Martin Robinson.
3552
3553         * wtf/Platform.h: Activate Subpixel Layout for EFL.
3554
3555 2013-01-17  Adam Barth  <abarth@webkit.org>
3556
3557         Teach Functional.h about WeakPtr
3558         https://bugs.webkit.org/show_bug.cgi?id=107105
3559
3560         Reviewed by Anders Carlsson.
3561
3562         A common pattern in cross-thread communication is to call member
3563         functions of an object on a remote thread. If the caller's reference to
3564         the object on the remote thread is a WeakPtr, the caller usually wants
3565         to validate that the object still exists when the call actually takes
3566         place.
3567
3568         It's possible to do this manually for every cross-thread call, but that
3569         is tiresome and error prone. Instead, we can teach bind to validate
3570         WeakPtr arguments when passed as the "this" parameter to a member
3571         function.
3572
3573         * wtf/Functional.h:
3574         (WTF::ParamStorageTraits::validate):
3575
3576 2013-01-17  David Kilzer  <ddkilzer@apple.com>
3577
3578         Fix vprintf_stderr_common() to compile with -Wshorten-64-to-32
3579         <http://webkit.org/b/107126>
3580
3581         Reviewed by Darin Adler.
3582
3583         Fixes the following build error:
3584
3585             Assertions.cpp:92:22: error: implicit conversion loses integer precision: 'CFIndex' (aka 'long') to 'int' [-Werror,-Wshorten-64-to-32]
3586                     int length = CFStringGetMaximumSizeForEncoding(CFStringGetLength(str), kCFStringEncodingUTF8);
3587                         ~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3588             1 error generated.
3589
3590         * wtf/Assertions.cpp:
3591         (vprintf_stderr_common): Use CFIndex type instead of int for the
3592         return value of CFStringGetMaximumSizeForEncoding().
3593
3594 2013-01-17  Zan Dobersek  <zdobersek@igalia.com>
3595
3596         [Autotools] Unify WTF sources list regardless of the target OS, Unicode backend
3597         https://bugs.webkit.org/show_bug.cgi?id=105886
3598
3599         Reviewed by Gustavo Noronha Silva.
3600
3601         Rather than including files in the sources list in an OS-specific way,
3602         guard specific files with OS(UNIX|WINDOWS), USE((GLIB|ICU)_UNICODE) guards
3603         and include all of them in the list.
3604
3605         Proper comments for namespace and #if guard closings are also added or adjusted
3606         where necessary in the affected files.
3607
3608         * GNUmakefile.list.am:
3609         * wtf/OSAllocatorPosix.cpp: Add OS(UNIX) guards.
3610         * wtf/OSAllocatorWin.cpp: Add OS(WINDOWS) guards.
3611         * wtf/ThreadSpecificWin.cpp: Ditto.
3612         * wtf/ThreadingWin.cpp: Ditto.
3613         * wtf/unicode/glib/UnicodeGLib.cpp: Add USE(GLIB_UNICODE) guards.
3614         (WTF):
3615         * wtf/unicode/glib/UnicodeGLib.h: Ditto.
3616         (WTF):
3617         * wtf/unicode/icu/CollatorICU.cpp: Style changes.
3618         * wtf/unicode/icu/UnicodeIcu.h: Add USE(ICU_UNICODE) guards.
3619         (WTF):
3620         * wtf/win/OwnPtrWin.cpp: Add OS(WINDOWS) guards.
3621
3622 2013-01-16  Benjamin Poulain  <benjamin@webkit.org>
3623
3624         Use GCC's implementation of atomicIncrement/Decrement on Mac
3625         https://bugs.webkit.org/show_bug.cgi?id=106976
3626
3627         Reviewed by Filip Pizlo.
3628