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