Add ability to create AtomicString using LChar* buffer and length
[WebKit.git] / Source / WTF / ChangeLog
1 2012-08-17  Michael Saboff  <msaboff@apple.com>
2
3         Add ability to create AtomicString using LChar* buffer and length
4         https://bugs.webkit.org/show_bug.cgi?id=94381
5
6         Reviewed by Geoffrey Garen.
7
8         Allows the use of 8 bit string data directly without converting to 16 bits first.
9
10         * wtf/text/AtomicString.cpp:
11         (WTF::LCharBufferTranslator::hash):
12         (LCharBufferTranslator):
13         (WTF::LCharBufferTranslator::equal):
14         (WTF::LCharBufferTranslator::translate):
15         (WTF::AtomicString::add):
16         * wtf/text/AtomicString.h:
17         (WTF::AtomicString::AtomicString):
18         (AtomicString):
19         * wtf/text/StringImpl.h:
20         (StringImpl):
21
22 2012-08-17  Benjamin Poulain  <bpoulain@apple.com>
23
24         Make it easier to append a literal to StringBuilder
25         https://bugs.webkit.org/show_bug.cgi?id=94273
26
27         Reviewed by Kentaro Hara.
28
29         * wtf/text/StringBuilder.h:
30         (WTF::StringBuilder::appendLiteral): Add the method StringBuilder::appendLiteral() for efficiently
31         adding a string literal to the StringBuilder.
32
33 2012-08-17  Yong Li  <yoli@rim.com>
34
35         [BlackBerry] Turn on a few macros for jpeg decoding and image interpolation
36         https://bugs.webkit.org/show_bug.cgi?id=94244
37
38         Reviewed by Antonio Gomes.
39
40         Turn on these macros to get better performance.
41
42         * wtf/Platform.h:
43
44 2012-08-17  Milian Wolff  <milian.wolff@kdab.com>
45
46         [Qt] QNX build fails due to ctype usage in system headers
47         https://bugs.webkit.org/show_bug.cgi?id=93849
48
49         Reviewed by Simon Hausmann.
50
51         Move the check for whether DisallowCType should be active or not
52         to the DisallowCType.h header. This way, we can update the list
53         of platforms or OSes which do not work with this header in a
54         central place. All users can now safely include the header
55         and do not need to place custom guards around it.
56
57         * config.h:
58         * wtf/DisallowCType.h:
59
60 2012-08-17  Milian Wolff  <milian.wolff@kdab.com>
61
62         [Qt] QNX build fails due to missing timegm declaration
63         https://bugs.webkit.org/show_bug.cgi?id=93842
64
65         Reviewed by Simon Hausmann.
66
67         On QNX, timegm is declared in nbutils.h and one must link against
68         nbutils to use it.
69
70         * WTF.pri:
71         * wtf/DateMath.cpp:
72
73 2012-08-16  Kent Tamura  <tkent@chromium.org>
74
75         Build fix for Chromium-mac.
76
77         * wtf/text/WTFString.cpp: Remove unnecessary includes.
78
79 2012-08-16  Michael Saboff  <msaboff@apple.com>
80
81         HTML Parser should produce 8bit substrings for inline style and script elements
82         https://bugs.webkit.org/show_bug.cgi?id=93742
83
84         Reviewed by Benjamin Poulain.
85
86         Added 8 bit path to String::isAllSpecialCharacters(). Added new String creator
87         that takes a pointer to a UChar array that is known to contain only 8 bit
88         characters (LChar's). Added new helper method to copy contents of a
89         UChar buffer to a LChar buffer. The helper method includes X86-64 intrinsics
90         of SSE family instructions for performance.
91
92         * wtf/Alignment.h:
93         (WTF::isAlignedTo):
94         * wtf/text/ASCIIFastPath.h:
95         (WTF::copyLCharsFromUCharSource):
96         * wtf/text/WTFString.cpp:
97         (WTF::String::make8BitFrom16BitSource):
98         * wtf/text/WTFString.h:
99         (String):
100         (WTF::isAllSpecialCharacters):
101         (WTF::String::isAllSpecialCharacters):
102
103 2012-08-16  Benjamin Poulain  <bpoulain@apple.com>
104
105         Use initialization from literals for StringStatics
106         https://bugs.webkit.org/show_bug.cgi?id=94185
107
108         Reviewed by Geoffrey Garen.
109
110         * wtf/text/StringStatics.cpp:
111         Remove the arguments for DEFINE_GLOBAL. They are no longer used by the macro.
112         (WTF::AtomicString::init):
113         Use ConstructFromLiteral to initialize the strings faster and to save memory.
114
115 2012-08-14  Milian Wolff  <milian.wolff@kdab.com>
116
117         [Qt] QNX build fails due to reference to MADV_FREE_REUSE and MADV_FREE_REUSABLE
118         https://bugs.webkit.org/show_bug.cgi?id=93843
119
120         Reviewed by Simon Hausmann.
121
122         QNX does not implement MADV_FREE_REUSE nor MADV_FREE_REUSABLE.
123         The Blackberry port already sets the define to use the system
124         malloc, which is now also done for QNX in general.
125
126         * wtf/Platform.h:
127
128 2012-08-13  Raphael Kubo da Costa  <rakuco@webkit.org>
129
130         [CMake] Remove glib-related Find modules and write single new one instead.
131         https://bugs.webkit.org/show_bug.cgi?id=93786
132
133         Reviewed by Rob Buis.
134
135         * wtf/PlatformEfl.cmake: Use GLIB_* instead of Glib_*, and link directly to GIO, as wtf/gobject uses functions from it.
136
137 2012-08-11  Sam Weinig  <sam@webkit.org>
138
139         Enable XPC Service based WebProcess with runtime flag
140         https://bugs.webkit.org/show_bug.cgi?id=93773
141
142         Reviewed by Dan Bernstein.
143
144         * wtf/Platform.h:
145         Define HAVE_XPC on 10.7 and later.
146
147 2012-08-11  Benjamin Poulain  <bpoulain@apple.com>
148
149         Do the DecimalNumber to String conversion on 8 bits
150         https://bugs.webkit.org/show_bug.cgi?id=93683
151
152         Reviewed by Andreas Kling.
153
154         Modify DecimalNumber to do the conversion to string on LChar instead of UChar.
155
156         * wtf/DecimalNumber.cpp:
157         (WTF::DecimalNumber::toStringDecimal):
158         (WTF::DecimalNumber::toStringExponential):
159         * wtf/DecimalNumber.h:
160         (DecimalNumber):
161         * wtf/dtoa.h:
162         * wtf/text/StringBuffer.h:
163         (WTF::StringBuffer::operator[]): StringBuffer::operator[] was incorrectly typed to UChar, making
164         the method impossible to instanciate with LChar.
165         * wtf/text/WTFString.h:
166         (String):
167         (WTF::String::adopt): String::adopt() is modified to work with both LChar and UChar. StringImpl
168         already support that.
169         (WTF::appendNumber): Add support for any type that can instanciate the template.
170
171 2012-08-11  Benjamin Poulain  <benjamin@webkit.org>
172
173         WebCore::findAtomicString(PropertyName) always convert the name to 16bits
174         https://bugs.webkit.org/show_bug.cgi?id=93685
175
176         Reviewed by Geoffrey Garen.
177
178         Previously, WebCore::findAtomicString() was causing a conversion for the 8bit property name
179         to a 16bits due to the call to StringImpl::character16().
180
181         This patch fixes the issue by adding support for both 8bits and 16bits string in AtomicString::find().
182
183         * wtf/text/AtomicString.cpp:
184         (HashAndCharacters):
185         (WTF::HashAndCharactersTranslator::hash):
186         (WTF::HashAndCharactersTranslator::equal):
187         (WTF::HashAndCharactersTranslator::translate):
188         Use a template to make the struct and the translator independant of the CharacterType.
189
190         (WTF::AtomicString::add):
191         (WTF::findString):
192         (WTF::AtomicString::find): Change the API to take a StringImpl*. AtomicString can use
193         it efficiently to find the right string.
194         * wtf/text/AtomicString.h:
195         (AtomicString):
196         * wtf/text/StringImpl.h:
197         (StringImpl): Adapt the friends translator to support the template.
198
199 2012-08-10  Benjamin Poulain  <bpoulain@apple.com>
200
201         Add support for String initialization from literal to WTFString
202         https://bugs.webkit.org/show_bug.cgi?id=93426
203
204         Reviewed by Anders Carlsson.
205
206         This patch adds two constructor to WTF::String in order to support fast initialization from literal:
207         -String(ASCIILiteral): Constructor similar to String(const char*) while being faster. This constructor
208          does not incur any overhead over String(const char*).
209         -String(char[], ConstructFromLiteralTag): Template constructor that encode explicitely the size of the
210          string.
211
212         String(ASCIILiteral) is expected to be used in most cases to avoid regressions. This constructor was
213         added because of what we have learned from r124922: inlining the string length in the code causes a code bloat
214         that is not always welcome.
215
216         Regarding performance of string initialization, the constructors performance are (6 characters string):
217         -String(ASCIILiteral): 16% faster.
218         -String(char[], ConstructFromLiteralTag): 33% faster (the delta increases with the string length).
219
220         In addition, no memory is allocated for the characters.
221
222         * wtf/text/StringImpl.cpp:
223         * wtf/text/StringImpl.h:
224         (WTF::StringImpl::createFromLiteral): Extend StringImpl::createFromLiteral to have a version
225         with strlen() which avoids loading one extra argument.
226         * wtf/text/WTFString.cpp:
227         (WTF::String::String):
228         * wtf/text/WTFString.h:
229         (WTF::String::String):
230         (ASCIILiteral): This class is aimed at making the construction of WTFString from a literal very easy.
231         By using the explicit constructor ASCIILiteral(char *), one can expect the implicit conversion to String
232         when needed.
233         (WTF::ASCIILiteral::ASCIILiteral):
234         (WTF::ASCIILiteral::operator const char*):
235
236 2012-08-08  Benjamin Poulain  <bpoulain@apple.com>
237
238         Use char* instead of LChar* for the public interface of String construction from literals
239         https://bugs.webkit.org/show_bug.cgi?id=93402
240
241         Reviewed by Michael Saboff.
242
243         When the initialization from literal was added, some constructor/initialization function were
244         using LChar for convenience.
245
246         Since those function should only take ASCII characters, using LChar* could cause confusion. This
247         patch intents to clarify this by using char* for all those APIs.
248
249         * wtf/text/AtomicString.cpp:
250         (WTF::CharBufferFromLiteralDataTranslator::hash):
251         (WTF::CharBufferFromLiteralDataTranslator::equal):
252         (WTF::CharBufferFromLiteralDataTranslator::translate):
253         (WTF::AtomicString::addFromLiteralData):
254         * wtf/text/AtomicString.h:
255         (WTF::AtomicString::AtomicString):
256         (AtomicString):
257         * wtf/text/StringImpl.cpp:
258         (WTF::StringImpl::createFromLiteral):
259         * wtf/text/StringImpl.h:
260         (StringImpl):
261         (WTF::StringImpl::StringImpl):
262         (WTF::StringImpl::createFromLiteral):
263
264 2012-08-08  Patrick Gansterer  <paroga@webkit.org>
265
266         Remove ce_time.(cpp|h) from list of source files
267         https://bugs.webkit.org/show_bug.cgi?id=93446
268
269         Reviewed by Simon Hausmann.
270
271         r125004 removed the last dependency on functions defined in ce_time.cpp.
272
273         * wtf/PlatformWinCE.cmake:
274
275 2012-08-08  Alvaro Lopez Ortega  <alvaro@alobbs.com>
276
277         Atomics.h has incorrect GCC test for ext/atomicity.h when using LSB compilers
278         https://bugs.webkit.org/show_bug.cgi?id=51974
279
280         Reviewed by Simon Hausmann.
281
282         * wtf/Atomics.h: Inhibits the inclusion of the atomicity.h GNU C++
283         extension when compiling with a LSB compliant compiler. Thanks to
284         Craig Scott for the new precompiler check code.
285
286 2012-08-07  Yoshifumi Inoue  <yosin@chromium.org>
287
288         [WTF] Add using WTF::msPerHour into DateMath.h
289         https://bugs.webkit.org/show_bug.cgi?id=93428
290
291         Reviewed by Kent Tamura.
292
293         This patch adds "using WTF::msPerHour" into DateMath.h for some codes
294         which will use it, e.g. bug 92960. Note: DateMath.h already has had
295         using statements for msPerDay, msPerMinute and msPerSecond.
296
297         * wtf/DateMath.h: Added "using WTF::msPerHour".
298
299 2012-08-07  Benjamin Poulain  <benjamin@webkit.org>
300
301         Use the initialization from literal for JSC's Identifiers
302         https://bugs.webkit.org/show_bug.cgi?id=93193
303
304         Reviewed by Geoffrey Garen.
305
306         * wtf/text/StringImpl.h: Update the names for the HashTranslator used by Identifier.
307
308 2012-07-19  Simon Hausmann  <simon.hausmann@nokia.com>
309
310         [Qt] Remove Qt 4 specific code paths
311         https://bugs.webkit.org/show_bug.cgi?id=88161
312
313         Reviewed by Kenneth Rohde Christiansen.
314
315         * WTF.pri:
316         * WTF.pro:
317         * wtf/qt/StringQt.cpp:
318         (WTF::String::String):
319         (WTF::String::operator QString):
320         * wtf/qt/UtilsQt.h: Removed.
321         * wtf/qt/compat/QGuiApplication: Removed.
322         * wtf/qt/compat/qguiapplication.h: Removed.
323         * wtf/text/StringImpl.cpp:
324         (WTF::StringImpl::~StringImpl):
325         (WTF):
326         * wtf/text/StringImpl.h:
327         (StringImpl):
328
329 2012-08-06  Patrick Gansterer  <paroga@webkit.org>
330
331         [WIN] Remove dependency on pthread from MachineStackMarker
332         https://bugs.webkit.org/show_bug.cgi?id=68429
333
334         Reviewed by Geoffrey Garen.
335
336         Windows has no support for calling a destructor for thread specific data.
337         Since we need more control over creating and deleting thread specific keys
338         we can not simply extend WTF::ThreadSpecific with this functionality.
339
340         All thread specific keys created via the new API get stored in a list.
341         After a thread function finished we iterate over this list and call
342         the registered destructor for every item if needed.
343
344         * wtf/ThreadSpecific.h:
345         (WTF):
346         (WTF::threadSpecificKeyCreate): Added wrapper around pthread_key_create.
347         (WTF::threadSpecificKeyDelete): Added wrapper around pthread_key_delete.
348         (WTF::threadSpecificSet): Added wrapper around pthread_setspecific.
349         (WTF::threadSpecificGet): Added wrapper around pthread_getspecific.
350         * wtf/ThreadSpecificWin.cpp:
351
352 2012-08-04  No'am Rosenthal  <noam.rosenthal@nokia.com>
353
354         [Qt] UI_SIDE_COMPOSITING code has confusing names
355         https://bugs.webkit.org/show_bug.cgi?id=93164
356
357         Reviewed by Kenneth Rohde Christiansen.
358
359         Renamed UI_SIDE_COMPOSITING to COORDINATED_GRAPHICS.
360
361         * wtf/Platform.h:
362
363 2012-08-03  Michael Saboff  <msaboff@apple.com>
364
365         Convert HTML parser to handle 8-bit resources without converting to UChar*
366         https://bugs.webkit.org/show_bug.cgi?id=90321
367
368         Reviewed by Adam Barth.
369
370         * wtf/text/WTFString.h:
371         (WTF::String::dataSize): New method to return the number of bytes 
372         the string requires.  This replaces a harcoded calculation based on
373         length and sizeof(UChar).
374
375 2012-08-03  Benjamin Poulain  <benjamin@webkit.org>
376
377         StringImpl created from literal should be BufferInternal
378         https://bugs.webkit.org/show_bug.cgi?id=92940
379
380         Reviewed by Anders Carlsson.
381
382         The ownership of string created from literal should be BufferInternal so that
383         StringImpl never tries to delete the characters.
384
385         The ownership was accidentaly set to BufferOwned in r123689.
386
387         * wtf/text/StringImpl.cpp:
388         (WTF::StringImpl::createFromLiteral): Update to use the new constructor.
389         * wtf/text/StringImpl.h:
390         (WTF::StringImpl::StringImpl):
391         Add a new constructor making the construction from literal explicit.
392         Add the flag s_hashFlagHasTerminatingNullCharacter since the data has the terminating
393         null character.
394
395 2012-08-02  Patrick Gansterer  <paroga@webkit.org>
396
397         Move getLocalTime() as static inline function to DateMath
398         https://bugs.webkit.org/show_bug.cgi?id=92955
399
400         Reviewed by Ryosuke Niwa.
401
402         getCurrentLocalTime() and getLocalTime() has been superseded with the
403         GregorianDateTime class. So we can move it into DateMath.cpp as an static inline
404         function. This allows us to remove the dependecy on time() and localtime()
405         for Windows CE, where this functions require the ce_time library to work.
406
407         * wtf/CurrentTime.cpp:
408         (WTF):
409         * wtf/CurrentTime.h:
410         * wtf/DateMath.cpp:
411         (WTF):
412         (WTF::getLocalTime):
413
414 2012-08-02  Patrick Gansterer  <paroga@webkit.org>
415
416         [WINCE] Return 0 at calculateDSTOffset(double, double)
417         https://bugs.webkit.org/show_bug.cgi?id=92953
418
419         Reviewed by Ryosuke Niwa.
420
421         localtime() is implemented as a call to gmtime() in ce_time.c.
422         Since this will never return correct values, returning 0 instead
423         does not remove any existing functionality, but decreases the
424         dependency on the (external) ce_time implementation.
425
426         * wtf/DateMath.cpp:
427         (WTF::calculateDSTOffsetSimple):
428
429 2012-08-02  Arnaud Renevier  <a.renevier@sisa.samsung.com>
430
431         TypedArray set method is slow when called with another typed array
432         https://bugs.webkit.org/show_bug.cgi?id=92556
433
434         Reviewed by Kenneth Russell.
435
436         Add an checkInboundData function to TypedArrayBase to check if a
437         position will be not be out of bound or overflow from the typed array.
438
439         * wtf/TypedArrayBase.h:
440         (WTF::TypedArrayBase::checkInboundData):
441         (TypedArrayBase):
442
443 2012-08-01  Patrick Gansterer  <paroga@webkit.org>
444
445         Replace WTF::getCurrentLocalTime() with GregorianDateTime::setToCurrentLocalTime()
446         https://bugs.webkit.org/show_bug.cgi?id=92286
447
448         Reviewed by Geoffrey Garen.
449
450         Add a method to GregorianDateTime to set its values to the current locale time.
451         Replacing all occurrences of getCurrentLocalTime with the new function allows
452         us to remove getCurrentLocalTime in a next step.
453
454         * GNUmakefile.list.am:
455         * WTF.gypi:
456         * WTF.pro:
457         * WTF.vcproj/WTF.vcproj:
458         * WTF.xcodeproj/project.pbxproj:
459         * wtf/CMakeLists.txt:
460         * wtf/DateMath.cpp:
461         (WTF::dayInYear):
462         * wtf/DateMath.h:
463         (WTF):
464         * wtf/GregorianDateTime.cpp: Added.
465         (WTF):
466         (WTF::GregorianDateTime::setToCurrentLocalTime):
467         * wtf/GregorianDateTime.h:
468         (GregorianDateTime):
469
470 2012-08-01  Patrick Gansterer  <paroga@webkit.org>
471
472         Fix FastMalloc build with assertions enabled.
473
474         * wtf/FastMalloc.cpp:
475         (WTF::TCMalloc_PageHeap::isScavengerSuspended):
476         (WTF::TCMalloc_PageHeap::scheduleScavenger):
477         (WTF::TCMalloc_PageHeap::suspendScavenger):
478
479 2012-08-01  Patrick Gansterer  <paroga@webkit.org>
480
481         Export StringImpl::sizeInBytes() with WTF_EXPORT_STRING_API
482         https://bugs.webkit.org/show_bug.cgi?id=92851
483
484         Reviewed by Hajime Morita.
485
486         r124069 missed to change one export macro, which is needed
487         to make the windows port with USE(EXPORT_MACROS).
488
489         * wtf/text/StringImpl.h:
490         (StringImpl):
491
492 2012-08-01  Patrick Gansterer  <paroga@webkit.org>
493
494         [WIN] Add missing WTF export macros to functions
495         https://bugs.webkit.org/show_bug.cgi?id=92842
496
497         Reviewed by Hajime Morita.
498
499         When we switch the windows port to USE(EXPORT_MACROS) we
500         need to export all functions referenced by WebKit.dll.
501
502         * wtf/ThreadingPrimitives.h:
503         (WTF):
504         * wtf/dtoa.h:
505         (WTF):
506         * wtf/dtoa/double-conversion.h:
507         (StringToDoubleConverter):
508         * wtf/unicode/UTF8.h:
509
510 2012-07-31  Sam Weinig  <sam@webkit.org>
511
512         Stop masking 8 bits off of the visited link hash. We need all the bits!
513         https://bugs.webkit.org/show_bug.cgi?id=92799
514
515         Reviewed by Anders Carlsson.
516
517         * wtf/StringHasher.h:
518         (WTF::StringHasher::hashWithTop8BitsMasked):
519         (WTF::StringHasher::hash):
520         (StringHasher):
521         (WTF::StringHasher::computeHashAndMaskTop8Bits):
522         (WTF::StringHasher::hashMemory):
523         (WTF::StringHasher::avalancheBits):
524         Rename existing computeHash and hash functions to computeHashAndMaskTop8Bits
525         and hashWithTop8BitsMasked respectively. Add new computeHash and hash functions
526         that do the StringHash without the masking.
527
528         * wtf/text/AtomicString.cpp:
529         (WTF::CStringTranslator::hash):
530         (WTF::UCharBufferTranslator::hash):
531         (WTF::HashAndCharactersTranslator::hash):
532         (WTF::SubstringTranslator::hash):
533         (WTF::LCharBufferFromLiteralDataTranslator::hash):
534         (WTF::AtomicString::fromUTF8Internal):
535         * wtf/text/StringHash.h:
536         (WTF::CaseFoldingHash::hash):
537         * wtf/text/StringImpl.h:
538         (WTF::StringImpl::setHash):
539         * wtf/text/StringStatics.cpp:
540         (WTF::StringImpl::hashSlowCase):
541         * wtf/unicode/UTF8.cpp:
542         (WTF::Unicode::calculateStringHashAndLengthFromUTF8MaskingTop8Bits):
543         * wtf/unicode/UTF8.h:
544         Update for new function names.
545
546 2012-07-31  Thiago Marcos P. Santos  <thiago.santos@intel.com>
547
548         Add a mechanism to dump the stack trace in case of a crash
549         https://bugs.webkit.org/show_bug.cgi?id=92666
550
551         Reviewed by Csaba Osztrogonác.
552
553         Unix based ports can make use of signal handlers to dump the stack
554         trace in case of a crash. This is specially handy when a test crashes on
555         the bot without hitting an assertion, we might have a chance to see
556         some insightful information at the reports.
557
558         * wtf/Assertions.cpp:
559         * wtf/Assertions.h:
560
561 2012-07-31  Stephen Chenney  <schenney@chromium.org>
562
563         xmlserializer strips xlink from xlink:html svg image tag
564         https://bugs.webkit.org/show_bug.cgi?id=79586
565
566         Reviewed by Nikolas Zimmermann.
567
568         Add WTF::xlinkAtom as a global AtomicString constant.
569
570         * wtf/text/AtomicString.h:
571         (WTF): Add xlinkAtom.
572         * wtf/text/StringStatics.cpp:
573         (WTF): Add xlinkAtom.
574         (WTF::AtomicString::init): Add xlinkAtom.
575
576 2012-07-30  Patrick Gansterer  <paroga@webkit.org>
577
578         Add WTF_EXPORT_PRIVATE to deleteOwnedPtr()
579         https://bugs.webkit.org/show_bug.cgi?id=92668
580
581         Reviewed by Hajime Morita.
582
583         When using export macros all non-inlined deleteOwnedPtr()
584         functions need to be declared with WTF_EXPORT_PRIVATE.
585
586         * wtf/OwnPtrCommon.h:
587         (WTF):
588
589 2012-07-30  Wei James  <james.wei@intel.com>
590
591         atomicDecrement() never reach 0 on Android so no deref() will be called
592         https://bugs.webkit.org/show_bug.cgi?id=92635
593
594         Reviewed by Adam Barth.
595
596         With Android NDK 7b and later, __atomic_dec()  is implemented by
597         __sync_fetch_and_sub(), which will result in that atomicDecrement()
598         returns the old value instead of new one.
599
600         * wtf/Atomics.h:
601         (WTF):
602         (WTF::atomicIncrement):
603         (WTF::atomicDecrement):
604
605 2012-07-30  Patrick Gansterer  <paroga@webkit.org>
606
607         Add function to calculate the day in year from a date
608         https://bugs.webkit.org/show_bug.cgi?id=92671
609
610         Reviewed by Ryosuke Niwa.
611
612         Replace monthToDayInYear() with dayInYear() which takes a whole
613         date for calculation and will be used for bug 92286 later.
614
615         * wtf/DateMath.cpp:
616         (WTF::dayInYear):
617         (WTF::dateToDaysFrom1970):
618
619 2012-07-30  Patrick Gansterer  <paroga@webkit.org>
620
621         Add special export macro for string related functions
622         https://bugs.webkit.org/show_bug.cgi?id=92624
623
624         Reviewed by Hajime Morita.
625
626         The windows port compiles string related code into every binary for performance reasons (see r59187).
627         Add the WTF_EXPORT_STRING_API define to allow this behaviour with export macros too.
628
629         * wtf/ExportMacros.h:
630         * wtf/text/AtomicString.h:
631         (AtomicString):
632         * wtf/text/StringImpl.h:
633         (StringImpl):
634         (WTF):
635         * wtf/text/WTFString.h:
636         (WTF):
637         (String):
638
639 2012-07-30  Patrick Gansterer  <paroga@webkit.org>
640
641         Replace UnicodeWinCE with UnicodeWchar
642         https://bugs.webkit.org/show_bug.cgi?id=92539
643
644         Reviewed by Ryosuke Niwa.
645
646         UnicodeWinCE never contained WinCE specific code. UnicodeWchar
647         is a replacement for it, which is mainly based on the functions
648         from <wchar.h>. It is ment as a minimal Unicode backend, which
649         can be used very easy and has no external dependencies.
650
651         * WTF.gyp/WTF.gyp:
652         * WTF.gypi:
653         * wtf/Platform.h:
654         * wtf/PlatformWinCE.cmake:
655         * wtf/unicode/Unicode.h:
656         * wtf/unicode/wchar/UnicodeWchar.cpp: Added.
657         (Unicode):
658         (WTF::Unicode::category):
659         (WTF::Unicode::combiningClass):
660         (WTF::Unicode::direction):
661         (WTF::Unicode::decompositionType):
662         (WTF::Unicode::hasLineBreakingPropertyComplexContext):
663         (WTF::Unicode::mirroredChar):
664         (WTF::Unicode::convertWithFunction):
665         (WTF::Unicode::foldCase):
666         (WTF::Unicode::toLower):
667         (WTF::Unicode::toUpper):
668         * wtf/unicode/wchar/UnicodeWchar.h: Added.
669         (Unicode):
670         (WTF::Unicode::isAlphanumeric):
671         (WTF::Unicode::isDigit):
672         (WTF::Unicode::isLetter):
673         (WTF::Unicode::isLower):
674         (WTF::Unicode::isPrintableChar):
675         (WTF::Unicode::isPunct):
676         (WTF::Unicode::isSpace):
677         (WTF::Unicode::isUpper):
678         (WTF::Unicode::isArabicChar):
679         (WTF::Unicode::isSeparatorSpace):
680         (WTF::Unicode::foldCase):
681         (WTF::Unicode::toLower):
682         (WTF::Unicode::toUpper):
683         (WTF::Unicode::toTitleCase):
684         (WTF::Unicode::umemcasecmp):
685         * wtf/unicode/wince/UnicodeWinCE.cpp: Removed.
686         * wtf/unicode/wince/UnicodeWinCE.h: Removed.
687
688 2012-07-26  Yury Semikhatsky  <yurys@chromium.org>
689
690         Web Inspector: move StringImpl size calculation to StringImpl
691         https://bugs.webkit.org/show_bug.cgi?id=92359
692
693         Reviewed by Pavel Feldman.
694
695         Moved stringSize(StringImpl*) implementation from InspectorMemoryAgent to
696         StringImpl::sizeInBytes();
697
698         * wtf/text/StringImpl.cpp:
699         (WTF::StringImpl::sizeInBytes):
700         (WTF):
701         * wtf/text/StringImpl.h:
702         (StringImpl):
703
704 2012-07-28  Patrick Gansterer  <paroga@webkit.org>
705
706         [WIN] Add missing export macro to friend decleration.
707
708         Since the __declspec is part of the function signature
709         on windows, we need it at all friend declerations too.
710
711         * wtf/MediaTime.h:
712
713 2012-07-28  Patrick Gansterer  <paroga@webkit.org>
714
715         [CMake] Add missing MediaTime files after r123878.
716
717         * wtf/CMakeLists.txt:
718
719 2012-07-28  Patrick Gansterer  <paroga@webkit.org>
720
721         Remove obsolete functions from WTF::Unicode
722         https://bugs.webkit.org/show_bug.cgi?id=92571
723
724         Reviewed by Kentaro Hara.
725
726         Remove hasLineBreakingPropertyComplexContextOrIdeographic() and digitValue(),
727         since they are never used and defined for a few Unicode backends only.
728
729         * wtf/unicode/glib/UnicodeGLib.h:
730         * wtf/unicode/icu/UnicodeIcu.h:
731
732 2012-07-27  Sheriff Bot  <webkit.review.bot@gmail.com>
733
734         Unreviewed, rolling out r123679.
735         http://trac.webkit.org/changeset/123679
736         https://bugs.webkit.org/show_bug.cgi?id=92565
737
738         Slowed down HTML parsing by 3.6% (Requested by abarth on
739         #webkit).
740
741         * wtf/text/WTFString.h:
742
743 2012-07-27  Arnaud Renevier  <a.renevier@sisa.samsung.com>
744
745         use createUninitialized when creating TypedArray from another array
746         https://bugs.webkit.org/show_bug.cgi?id=92518
747
748         Reviewed by Kenneth Russell.
749
750         Expose a createUninitialized static method on TypedArray classes.
751
752         * wtf/Float32Array.h:
753         (Float32Array):
754         (WTF::Float32Array::createUninitialized):
755         (WTF):
756         * wtf/Float64Array.h:
757         (Float64Array):
758         (WTF::Float64Array::createUninitialized):
759         (WTF):
760         * wtf/Int16Array.h:
761         (Int16Array):
762         (WTF::Int16Array::createUninitialized):
763         (WTF):
764         * wtf/Int32Array.h:
765         (Int32Array):
766         (WTF::Int32Array::createUninitialized):
767         (WTF):
768         * wtf/Int8Array.h:
769         (Int8Array):
770         (WTF::Int8Array::createUninitialized):
771         (WTF):
772         * wtf/Uint16Array.h:
773         (Uint16Array):
774         (WTF::Uint16Array::createUninitialized):
775         (WTF):
776         * wtf/Uint32Array.h:
777         (Uint32Array):
778         (WTF::Uint32Array::createUninitialized):
779         (WTF):
780         * wtf/Uint8Array.h:
781         (Uint8Array):
782         (WTF::Uint8Array::createUninitialized):
783         (WTF):
784         * wtf/Uint8ClampedArray.h:
785         (Uint8ClampedArray):
786
787 2012-07-27  Patrick Gansterer  <paroga@webkit.org>
788
789         [WINCE] Use macros from ICU instead of defining the same functionality again
790         https://bugs.webkit.org/show_bug.cgi?id=92530
791
792         Reviewed by Ryosuke Niwa.
793
794         Replace isHighSurrogate() with U16_IS_LEAD(), isLowSurrogate() with
795         U16_IS_TRAIL() and surrogateToUcs4() with U16_GET_SUPPLEMENTARY().
796
797         * wtf/unicode/wince/UnicodeWinCE.h:
798
799 2012-07-27  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
800
801         [Qt] Fix build after r123917
802         https://bugs.webkit.org/show_bug.cgi?id=92555
803
804         Unreviewed.
805
806         * wtf/GregorianDateTime.h: Needs string.h for memset().
807
808 2012-07-27  Paweł Forysiuk  <tuxator@o2.pl>
809
810         MinGW build fails because of missing header in GregorianDateTime.h
811         https://bugs.webkit.org/show_bug.cgi?id=92531
812
813         * wtf/GregorianDateTime.h: Include time.h
814
815 2012-07-27  Jer Noble  <jer.noble@apple.com>
816
817         Unreviewed build fix.
818
819         Use MathExtras.h and the non std:: versions of isnan and signbit.
820
821         * wtf/MediaTime.cpp:
822         (WTF::MediaTime::createWithFloat):
823         (WTF::MediaTime::createWithDouble):
824
825 2012-07-27  Jer Noble  <jer.noble@apple.com>
826
827         Support a rational time class for use by media elements.
828         https://bugs.webkit.org/show_bug.cgi?id=88787
829
830         Reviewed by Eric Carlson.
831
832         Add a new MediaTime class which implements rational math operations.
833
834         Add common constructors and assignment operators:
835         * wtf/MediaTime.cpp: Added.
836         (WTF::MediaTime::MediaTime):
837         (WTF::MediaTime::~MediaTime):
838         (WTF::MediaTime::operator=):
839
840         Add common math operators:
841         * wtf/MediaTime.cpp:
842         (WTF::MediaTime::operator+):
843         (WTF::MediaTime::operator-):
844         (WTF::MediaTime::operator<):
845         (WTF::MediaTime::operator>):
846         (WTF::MediaTime::operator==):
847         (WTF::MediaTime::operator>=):
848         (WTF::MediaTime::operator<=):
849
850         Add functions to check the MeiaTime time type flags:
851         * wtf/MediaTime.h:
852         (WTF::MediaTime::isValid):
853         (WTF::MediaTime::isInvalid):
854         (WTF::MediaTime::hasBeenRounde):
855         (WTF::MediaTime::isPositiveInfinite):
856         (WTF::MediaTime::isNegativeInfinite):
857         (WTF::MediaTime::isIndefinite):
858
859         Add constants for commonly used MediaTime values:
860         (WTF::MediaTime::zeroTime):
861         (WTF::MediaTime::invalidTime):
862         (WTF::MediaTime::positiveInfiniteTime):
863         (WTF::MediaTime::negativeInfiniteTime):
864         (WTF::MediaTime::indefiniteTime):
865
866         Add explicit conversion functions to convert to and from floating point values.
867         * wtf/MediaTime.cpp:
868         (WTF::MediaTime::createWithFloat):
869         (WTF::MediaTime::createWithDouble):
870         (WTF::MediaTime::toFloat):
871         (WTF::MediaTime::toDouble):
872
873         Add some useful exported functions:
874         * wtf/MediaTime.cpp:
875         (WTF::MediaTime::compare): Master function for the comparison operators above.
876         (WTF::MediaTime::setTimeScale): Rescale the time value to a new time scale.
877         (WTF::abs): Return an absolute value for the current MediaTime.
878
879         Static utility functions to implement the above:
880         * wtf/MediaTime.cpp:
881         (WTF::greatestCommonDivisor):
882         (WTF::leastCommonMultiple):
883         (WTF::signum):
884
885         Windows-only implementations of isinf and signbit:
886         * wtf/MediaTime.cpp:
887         (std::isinf):
888         (std::signbit):
889
890         Add the new class to platform build files:
891         * GNUmakefile.list.am:
892         * WTF.gypi:
893         * WTF.pro:
894         * WTF.vcproj/WTF.vcproj:
895         * WTF.xcodeproj/project.pbxproj:
896
897 2012-07-27  Wei James  <james.wei@intel.com>
898
899         set WTF_USE_LOCKFREE_THREADSAFEREFCOUNTED for chromium android
900         https://bugs.webkit.org/show_bug.cgi?id=91746
901
902         Reviewed by Adam Barth.
903
904         This patch is part of efforts to enable web audio for chromium android.
905         Web audio component needs to use atomicIncrement and atomicDecrement,
906         which are enabled by this MACRO.
907
908         As mentioned in https://bugs.webkit.org/show_bug.cgi?id=89428#c19, make
909         this patch standalone.
910
911         * wtf/Atomics.h:
912         (WTF):
913
914 2012-07-27  Wei James  <james.wei@intel.com>
915
916         set WTF_USE_LOCKFREE_THREADSAFEREFCOUNTED for chromium android
917         https://bugs.webkit.org/show_bug.cgi?id=91746
918
919         Reviewed by Adam Barth.
920
921         This patch is part of efforts to enable web audio for chromium android.
922         Web audio component needs to use atomicIncrement and atomicDecrement,
923         which are enabled by this MACRO.
924
925         As mentioned in https://bugs.webkit.org/show_bug.cgi?id=89428#c19, make
926         this patch standalone.
927
928         * wtf/Atomics.h:
929         (WTF):
930
931 2012-07-26  Arnaud Renevier  <a.renevier@sisa.samsung.com>
932
933         constructing TypedArray from another TypedArray is slow
934         https://bugs.webkit.org/show_bug.cgi?id=90838
935
936         Reviewed by Kenneth Russell.
937
938         Introduce virtual method getType on ArrayBufferView. It returns the actual
939         type of the view. This method replaces previous is<Type>Array() methods.
940
941         * wtf/ArrayBufferView.h:
942         * wtf/Float32Array.h:
943         (WTF::Float32Array::getType):
944         (Float32Array):
945         * wtf/Float64Array.h:
946         (WTF::Float64Array::getType):
947         (Float64Array):
948         * wtf/Int16Array.h:
949         (WTF::Int16Array::getType):
950         (Int16Array):
951         * wtf/Int32Array.h:
952         (WTF::Int32Array::getType):
953         (Int32Array):
954         * wtf/Int8Array.h:
955         (WTF::Int8Array::getType):
956         (Int8Array):
957         * wtf/IntegralTypedArrayBase.h:
958         * wtf/TypedArrayBase.h:
959         (TypedArrayBase):
960         (WTF::TypedArrayBase::item):
961         * wtf/Uint16Array.h:
962         (WTF::Uint16Array::getType):
963         (Uint16Array):
964         * wtf/Uint32Array.h:
965         (WTF::Uint32Array::getType):
966         (Uint32Array):
967         * wtf/Uint8Array.h:
968         (WTF::Uint8Array::getType):
969         (Uint8Array):
970         * wtf/Uint8ClampedArray.h:
971         (WTF::Uint8ClampedArray::getType):
972         (Uint8ClampedArray):
973
974 2012-07-26  Zeno Albisser  <zeno@webkit.org>
975
976         [Qt] requestAnimationFrame should only trigger when a new frame can be displayed.
977         https://bugs.webkit.org/show_bug.cgi?id=88638
978
979         Disable REQUEST_ANIMATION_FRAME_TIMER for the Qt port and tie
980         the servicing of scripted animations to layer syncing for WK2.
981         For WK1 we rely on the RefreshAnimation that is based on QAbstractAnimation.
982
983         Reviewed by Jocelyn Turcotte.
984
985         * wtf/Platform.h:
986
987 2012-07-26  Yury Semikhatsky  <yurys@chromium.org>
988
989         Unreviewed. Revert r123740 as it breaks AppleMac compilation.
990
991         * wtf/text/StringImpl.cpp:
992         * wtf/text/StringImpl.h:
993
994 2012-07-26  Yury Semikhatsky  <yurys@chromium.org>
995
996         Web Inspector: move StringImpl size calculation to StringImpl
997         https://bugs.webkit.org/show_bug.cgi?id=92359
998
999         Reviewed by Pavel Feldman.
1000
1001         Moved stringSize(StringImpl*) implementation from InspectorMemoryAgent to
1002         StringImpl::sizeInBytes();
1003
1004         * wtf/text/StringImpl.cpp:
1005         (WTF::StringImpl::sizeInBytes):
1006         (WTF):
1007         * wtf/text/StringImpl.h:
1008         (StringImpl):
1009
1010 2012-07-25  Benjamin Poulain  <bpoulain@apple.com>
1011
1012         Initialize QualifiedName's strings from the read only data segment
1013         https://bugs.webkit.org/show_bug.cgi?id=92226
1014
1015         Reviewed by Anders Carlsson.
1016
1017         Add constructors for StringImpl and AtomicString to be able to create
1018         the strings from the literal in read only memory.
1019
1020         * wtf/text/AtomicString.cpp:
1021         (HashTranslatorCharBuffer):
1022         (WTF::LCharBufferFromLiteralDataTranslator::hash):
1023         (LCharBufferFromLiteralDataTranslator):
1024         (WTF::LCharBufferFromLiteralDataTranslator::equal):
1025         (WTF::LCharBufferFromLiteralDataTranslator::translate):
1026         (WTF::AtomicString::addFromLiteralData):
1027         * wtf/text/AtomicString.h:
1028         (WTF::AtomicString::AtomicString):
1029         (AtomicString):
1030         * wtf/text/StringImpl.cpp:
1031         (WTF::StringImpl::createFromLiteral):
1032         * wtf/text/StringImpl.h:
1033         (WTF):
1034         (StringImpl):
1035         (WTF::StringImpl::createFromLiteral):
1036
1037 2012-07-25  Michael Saboff  <msaboff@apple.com>
1038
1039         Convert HTML parser to handle 8-bit resources without converting to UChar*
1040         https://bugs.webkit.org/show_bug.cgi?id=90321
1041
1042         Reviewed by Geoffrey Garen.
1043
1044         * wtf/text/WTFString.h:
1045         (WTF::String::dataSize): New method to return the number of bytes 
1046         the string requires.  This replaces a harcoded calculation based on
1047         length and sizeof(UChar).
1048
1049 2012-07-25  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1050
1051         Create a specialized pair for use in HashMap iterators
1052         https://bugs.webkit.org/show_bug.cgi?id=92137
1053
1054         Reviewed by Ryosuke Niwa.
1055
1056         The type used for internal storage in HashMap is exposed in its interface as iterator
1057         "contents". Currently HashMap uses std::pair<>, which this patch replaces with
1058         KeyValuePair.
1059
1060         Having this specialized structure will allow us to customize the members to be called
1061         key/value, improving readability in code using HashMap iterators. They are still called
1062         first/second to separate this change from the mechanical change of updating callsites.
1063
1064         * wtf/HashIterators.h:
1065         (HashTableConstKeysIterator):
1066         (HashTableConstValuesIterator):
1067         (HashTableKeysIterator):
1068         (HashTableValuesIterator):
1069         Use KeyValuePair instead of std::pair when defining the iterators.
1070
1071         * wtf/HashMap.h:
1072         (WTF):
1073         (WTF::KeyValuePairKeyExtractor::extract):
1074         (HashMap):
1075         Remove PairFirstExtractor. Add and use the KeyValuePair corresponding extractor.
1076
1077         (WTF::HashMapValueTraits::isEmptyValue): Use KeyValuePairHashTraits for HashMaps.
1078         (WTF::HashMapTranslator::translate):
1079         (WTF::HashMapTranslatorAdapter::translate):
1080         The traits of the mapped value is now called ValueTraits instead of SecondTraits.
1081
1082         * wtf/HashTable.h:
1083         (WTF::hashTableSwap): Add specialization for swapping KeyValuePairs.
1084         (WTF): Remove now unneeded specialization for std::pairs.
1085
1086         * wtf/HashTraits.h:
1087         (KeyValuePair):
1088         (WTF::KeyValuePair::KeyValuePair):
1089         (WTF):
1090         Specialized pair. In the future difference from pair should be the member names.
1091
1092         (KeyValuePairHashTraits):
1093         (WTF::KeyValuePairHashTraits::emptyValue):
1094         (WTF::KeyValuePairHashTraits::constructDeletedValue):
1095         (WTF::KeyValuePairHashTraits::isDeletedValue):
1096         These traits are analogous to PairHashTraits but for KeyValuePair.
1097
1098         * wtf/RefPtrHashMap.h: Use KeyValuePairHashTraits.
1099
1100 2012-07-25  Andrew Wilson  <atwilson@chromium.org>
1101
1102         Unreviewed, rolling out r123560.
1103         http://trac.webkit.org/changeset/123560
1104         https://bugs.webkit.org/show_bug.cgi?id=90321
1105
1106         Breaks chromium valgrind tests.
1107
1108         * wtf/text/WTFString.h:
1109
1110 2012-07-25  Csaba Osztrogonác  <ossy@webkit.org>
1111
1112         [Qt] There are parallel GC related crashes regularly
1113         https://bugs.webkit.org/show_bug.cgi?id=90957
1114
1115         Rubber-stamped by Zoltan Herczeg.
1116
1117         * wtf/Platform.h: Disable parallel GC temporarily on Qt until proper fix.
1118
1119 2012-07-24  Benjamin Poulain  <bpoulain@apple.com> && Joseph Pecoraro  <pecoraro@apple.com>
1120
1121         QualifiedName's HashSet should be big enough to hold at least all the static names
1122         https://bugs.webkit.org/show_bug.cgi?id=91891
1123
1124         Reviewed by Darin Adler.
1125
1126         Add a static struct to compute the HashTable capacity for any given size at compile time.
1127         This allow us to create HashTraits giving the minimumSize without hardcoding the values.
1128
1129         * wtf/HashTable.h:
1130         (OneifyLowBits):
1131         (UpperPowerOfTwoBound):
1132         (HashTableCapacityForSize): Compute the HashTable capacity at compile time.
1133
1134 2012-07-24  Michael Saboff  <msaboff@apple.com>
1135
1136         Convert HTML parser to handle 8-bit resources without converting to UChar*
1137         https://bugs.webkit.org/show_bug.cgi?id=90321
1138
1139         Reviewed by Geoffrey Garen.
1140
1141         * wtf/text/WTFString.h:
1142         (WTF::String::dataSize): New method to return the number of bytes 
1143         the string requires.  This replaces a harcoded calculation based on
1144         length and sizeof(UChar).
1145
1146 2012-07-24  Sam Weinig  <sam@webkit.org>
1147
1148         Add per-HashTable stats
1149         https://bugs.webkit.org/show_bug.cgi?id=92185
1150
1151         Reviewed by Anders Carlsson.
1152
1153         Add per-HashTable stats, so we can look at the effectiveness of an individual HashTable.
1154
1155         * wtf/HashTable.h:
1156         (WTF::HashTable::Stats::Stats):
1157         Add a HashTable::Stats to hold the stats.
1158
1159         (WTF::HashTable::Stats::recordCollisionAtCount):
1160         (WTF::HashTable::Stats::dumpStats):
1161         Add versions of recordCollisionAtCount and dumpStats for per-HashTable version.
1162
1163         (WTF::HashTable):
1164         Keep the stats, if enabled, in an OwnPtr, to not blow JSCell max size restrictions.
1165
1166         (WTF::lookup):
1167         (WTF::lookupForWriting):
1168         (WTF::fullLookupForWriting):
1169         (WTF::add):
1170         (WTF::reinsert):
1171         (WTF::remove):
1172         (WTF::rehash):
1173         Keep track of the stats as the table is used.
1174
1175 2012-07-24  Patrick Gansterer  <paroga@webkit.org>
1176
1177         Store the full year in GregorianDateTime
1178         https://bugs.webkit.org/show_bug.cgi?id=92067
1179
1180         Reviewed by Geoffrey Garen.
1181
1182         Use the full year instead of the offset from year 1900 
1183         for the year member variable of GregorianDateTime.
1184
1185         * wtf/GregorianDateTime.h:
1186         (WTF::GregorianDateTime::operator tm):
1187
1188 2012-07-23  Patrick Gansterer  <paroga@webkit.org>
1189
1190         Move GregorianDateTime from JSC to WTF namespace
1191         https://bugs.webkit.org/show_bug.cgi?id=91948
1192
1193         Reviewed by Geoffrey Garen.
1194
1195         Moving GregorianDateTime into the WTF namespace allows us to us to
1196         use it in WebCore too. The new class has the same behaviour as the
1197         old struct. Only the unused timeZone member has been removed.
1198
1199         * GNUmakefile.list.am:
1200         * WTF.gypi:
1201         * WTF.pro:
1202         * WTF.vcproj/WTF.vcproj:
1203         * WTF.xcodeproj/project.pbxproj:
1204         * wtf/CMakeLists.txt:
1205         * wtf/GregorianDateTime.h: Added.
1206         (GregorianDateTime):
1207
1208 2012-07-23  Rob Buis  <rbuis@rim.com>
1209
1210         [BlackBerry] Merge createThreadInternal implementations
1211         https://bugs.webkit.org/show_bug.cgi?id=91899
1212
1213         Reviewed by Yong Li.
1214
1215         PR 111675
1216
1217         Remove our implementation since the default thread stack size on QNX is fine.
1218
1219         * wtf/ThreadingPthreads.cpp:
1220         (WTF::createThreadInternal):
1221         (WTF::initializeCurrentThreadInternal): make sure we set the thread name.
1222
1223 2012-07-23  Patrick Gansterer  <paroga@webkit.org>
1224
1225         [WINCE] Define NOMINMAX in the build system instead of Platform.h
1226         https://bugs.webkit.org/show_bug.cgi?id=91938
1227
1228         Reviewed by Ryosuke Niwa.
1229
1230         * wtf/Platform.h:
1231
1232 2012-07-23  Patrick Gansterer  <paroga@webkit.org>
1233
1234         Build fix for Windows after r123317.
1235
1236         * wtf/DateMath.cpp: Added missing header include.
1237
1238 2012-07-23  Patrick Gansterer  <paroga@webkit.org>
1239
1240         [WIN] Use GetTimeZoneInformation() for calculateUTCOffset()
1241         https://bugs.webkit.org/show_bug.cgi?id=91935
1242
1243         Reviewed by Ryosuke Niwa.
1244
1245         GetTimeZoneInformation() returns the offset directly. Using it
1246         avoids unnecessary calculations and remove dependencies on
1247         other time related function, which do not exist on WinCE.
1248
1249         * wtf/DateMath.cpp:
1250         (WTF::calculateUTCOffset):
1251
1252 2012-07-20  Han Shen  <shenhan@google.com>
1253
1254         [Chromium] Compilation fails under gcc 4.7
1255         https://bugs.webkit.org/show_bug.cgi?id=90227
1256
1257         Reviewed by Tony Chang.
1258
1259         Disable warnings about c++0x compatibility in gcc newer than 4.6.
1260
1261         * WTF.gyp/WTF.gyp:
1262
1263 2012-07-19  Dan Bernstein  <mitz@apple.com>
1264
1265         The ATSUI-based complex text code is unused
1266         https://bugs.webkit.org/show_bug.cgi?id=91816
1267
1268         Reviewed by Sam Weinig.
1269
1270         Removed definitions of WTF_USE_ATSUI and WTF_USE_CORE_TEXT.
1271
1272         * wtf/Platform.h:
1273
1274 2012-07-19  Wei James  <james.wei@intel.com>
1275
1276         enable Web Audio for chromium android port
1277         https://bugs.webkit.org/show_bug.cgi?id=89428
1278
1279         Reviewed by Kenneth Russell.
1280
1281         * wtf/MathExtras.h:
1282         (log2):
1283         (log2f):
1284
1285 2012-07-19  Scott Graham  <scottmg@chromium.org>
1286
1287         [Chromium] disable warning on Windows from gcc-only pragma in Assertions.cpp"
1288         https://bugs.webkit.org/show_bug.cgi?id=91776
1289
1290         Reviewed by Ryosuke Niwa.
1291
1292         Avoids:
1293             ...\source\wtf\wtf\assertions.cpp(31) : warning C4068: unknown pragma
1294
1295         * WTF.gyp/WTF.gyp:
1296
1297 2012-07-19  Robert Sesek  <rsesek@chromium.org>
1298
1299         [chromium][Mac] Switch the MACOSX_DEPLOYMENT_TARGET to 10.6
1300         https://bugs.webkit.org/show_bug.cgi?id=91752
1301
1302         Reviewed by Eric Seidel.
1303
1304         When building CHROMIUM && DARWIN, do not enable ATSUI support.
1305
1306         * wtf/Platform.h:
1307
1308 2012-07-18  Yong Li  <yoli@rim.com>
1309
1310         [BlackBerry] Implement currentTime() and monotonicallyIncreasingTime() for OS(QNX)
1311         https://bugs.webkit.org/show_bug.cgi?id=91659
1312
1313         Reviewed by Rob Buis.
1314
1315         Implement currentTime() and monotonicallyIncreasingTime() for OS(QNX) with clock_gettime().
1316
1317         * wtf/CurrentTime.cpp:
1318         (WTF):
1319         (WTF::currentTime):
1320         (WTF::monotonicallyIncreasingTime):
1321
1322 2012-07-18  Tom Sepez  <tsepez@chromium.org>
1323
1324         OOB read of stack buffer below DoubleToStringConverter::CreateExponentialRepresentation() in debug builds
1325         https://bugs.webkit.org/show_bug.cgi?id=91642
1326
1327         Reviewed by Abhishek Arya.
1328
1329         * wtf/dtoa/double-conversion.cc:
1330         (DoubleToStringConverter::CreateExponentialRepresentation): NUL-terminate string buffer before passing it to StringBuilder::AddSubstring()
1331         
1332 2012-07-18  Michael Saboff  <msaboff@apple.com>
1333
1334         Make TextCodecLatin1 handle 8 bit data without converting to UChar's
1335         https://bugs.webkit.org/show_bug.cgi?id=90319
1336
1337         Reviewed by Oliver Hunt.
1338
1339         * wtf/text/StringImpl.h:
1340         (StringImpl): Exported LChar variant of adopt().
1341         * wtf/text/WTFString.h:
1342         (WTF::String::createUninitialized): Exported LChar variant.
1343
1344 2012-07-18  Rob Buis  <rbuis@rim.com>
1345
1346         Alignment crash in MIMESniffer
1347         https://bugs.webkit.org/show_bug.cgi?id=89787
1348
1349         Reviewed by Yong Li.
1350
1351         PR 169064
1352
1353         Change isPointerTypeAlignmentOkay so calling it does not require ifdefs.
1354
1355         * wtf/StdLibExtras.h:
1356         (isPointerTypeAlignmentOkay):
1357
1358 2012-07-17  Gabor Ballabas  <gaborb@inf.u-szeged.hu>
1359
1360         [Qt][V8] Remove the V8 related codepaths and configuration
1361         https://bugs.webkit.org/show_bug.cgi?id=90863
1362
1363         Reviewed by Simon Hausmann.
1364
1365         * WTF.pri:
1366
1367 2012-07-17  Sheriff Bot  <webkit.review.bot@gmail.com>
1368
1369         Unreviewed, rolling out r122834.
1370         http://trac.webkit.org/changeset/122834
1371         https://bugs.webkit.org/show_bug.cgi?id=91492
1372
1373         it broke the chromium (Requested by kkristof on #webkit).
1374
1375         * WTF.pri:
1376
1377 2012-07-17  Gabor Ballabas  <gaborb@inf.u-szeged.hu>
1378
1379         [Qt][V8] Remove the V8 related codepaths and configuration
1380         https://bugs.webkit.org/show_bug.cgi?id=90863
1381
1382         Reviewed by Simon Hausmann.
1383
1384         * WTF.pri:
1385
1386 2012-07-16  Hajime Morrita  <morrita@chromium.org>
1387
1388         WebCore needs WEBCORE_TESTING macro to mark methods being exported for testing.
1389         https://bugs.webkit.org/show_bug.cgi?id=90764
1390
1391         Reviewed by Adam Barth.
1392
1393         Added USE(EXPORT_MACROS_FOR_TESTING) and enabled it on GTK and Windows.
1394
1395         * wtf/ExportMacros.h:
1396         * wtf/Platform.h:
1397
1398 2012-07-16  Filip Pizlo  <fpizlo@apple.com>
1399
1400         Unreviewed build fix.
1401
1402         * wtf/FastMalloc.cpp:
1403         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
1404
1405 2012-07-16  Adam Treat  <atreat@rim.com>
1406
1407         [BlackBerry] Use newer version of platform API to implement callOnMainThread
1408         https://bugs.webkit.org/show_bug.cgi?id=91404
1409
1410         Reviewed by Yong Li.
1411
1412         Right now we're using an outdated API that involves a virtual function call for no reason.
1413         Use the new API that is much more direct and to the point.
1414
1415         * wtf/blackberry/MainThreadBlackBerry.cpp:
1416         (WTF::scheduleDispatchFunctionsOnMainThread):
1417
1418 2012-07-14  Filip Pizlo  <fpizlo@apple.com>
1419
1420         Unreviewed, build fix.
1421
1422         * wtf/Assertions.cpp:
1423         * wtf/Platform.h:
1424         * wtf/unicode/icu/CollatorICU.cpp:
1425         (WTF::Collator::userDefault):
1426
1427 2012-07-13  Xianzhu Wang  <wangxianzhu@chromium.org>
1428
1429         Move WebCore/platform/text/Base64 to WTF/wtf/text
1430         https://bugs.webkit.org/show_bug.cgi?id=91162
1431
1432         Reviewed by Adam Barth.
1433
1434         * GNUmakefile.list.am:
1435         * WTF.gypi:
1436         * WTF.pro:
1437         * WTF.vcproj/WTF.vcproj:
1438         * WTF.xcodeproj/project.pbxproj:
1439         * wtf/CMakeLists.txt:
1440         * wtf/text/Base64.cpp: Renamed from Source/WebCore/platform/text/Base64.cpp.
1441         (WTF):
1442         (WTF::base64Encode):
1443         (WTF::base64Decode):
1444         (WTF::base64DecodeInternal):
1445         * wtf/text/Base64.h: Renamed from Source/WebCore/platform/text/Base64.h.
1446         (WTF):
1447         (WTF::base64Encode):
1448
1449 2012-07-12  Carlos Garcia Campos  <cgarcia@igalia.com>
1450
1451         [GTK] Add API to get HTTPS status to WebKit2 GTK+
1452         https://bugs.webkit.org/show_bug.cgi?id=91100
1453
1454         Reviewed by Martin Robinson.
1455
1456         Add support for GByteArray.
1457
1458         * wtf/gobject/GRefPtr.cpp:
1459         (WTF::refGPtr):
1460         (WTF):
1461         (WTF::derefGPtr):
1462         * wtf/gobject/GRefPtr.h:
1463         (WTF):
1464         * wtf/gobject/GTypedefs.h:
1465
1466 2012-07-12  Maciej Stachowiak  <mjs@apple.com>
1467
1468         Document ListHashSet iteration guarantees
1469         https://bugs.webkit.org/show_bug.cgi?id=91106
1470
1471         Reviewed by Eric Seidel.
1472
1473         * wtf/ListHashSet.h:
1474         (WTF): Expand class comment to document this.
1475
1476 2012-07-11  Mark Rowe  <mrowe@apple.com>
1477
1478         <http://webkit.org/b/91024> Build against the latest SDK when targeting older OS X versions.
1479
1480         Reviewed by Dan Bernstein.
1481
1482         The deployment target is already set to the version that we're targeting, and it's that setting
1483         which determines which functionality from the SDK is available to us.
1484
1485         * Configurations/Base.xcconfig:
1486
1487 2012-07-11  Mark Rowe  <mrowe@apple.com>
1488
1489         Replace definitions of BUILDING_ON / TARGETING macros with macros that will error when used.
1490
1491         Part of <http://webkit.org/b/91015> Remove BUILDING_ON / TARGETING macros in favor of system availability macros.
1492
1493         Reviewed by Anders Carlsson.
1494
1495         * wtf/Platform.h:
1496
1497 2012-07-11  Mark Rowe  <mrowe@apple.com>
1498
1499         Switch a few cases that care about the SDK over to checking __MAC_OS_X_VERSION_MAX_ALLOWED so that things build.
1500
1501         Part of <http://webkit.org/b/91015> Remove BUILDING_ON / TARGETING macros in favor of system availability macros
1502
1503         Reviewed by Filip Pizlo.
1504
1505         * wtf/FastMalloc.cpp:
1506         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary): The SDK we're building against determines how many elements
1507         the structure is declared as having.
1508
1509 2012-07-11  Mark Rowe  <mrowe@apple.com>
1510
1511         <http://webkit.org/b/91015> Remove BUILDING_ON / TARGETING macros in favor of system availability macros
1512
1513         This removal was handled by a script that translates the relevant macros in to the equivalent checks
1514         using the system availability macros.
1515
1516         Reviewed by Filip Pizlo.
1517
1518         * wtf/Assertions.cpp:
1519         * wtf/FastMalloc.cpp:
1520         * wtf/Platform.h:
1521         * wtf/ThreadingPthreads.cpp:
1522         * wtf/unicode/icu/CollatorICU.cpp:
1523
1524 2012-07-11  Anders Carlsson  <andersca@apple.com>
1525
1526         Add -Wtautological-compare and -Wsign-compare warning flags
1527         https://bugs.webkit.org/show_bug.cgi?id=90994
1528
1529         Reviewed by Mark Rowe.
1530
1531         * Configurations/Base.xcconfig:
1532
1533 2012-07-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1534
1535         Re-enable __declspec(dl{import,export}) for MinGW when using EXPORT_MACROS
1536         https://bugs.webkit.org/show_bug.cgi?id=90612
1537
1538         Reviewed by Csaba Osztrogonác.
1539
1540         MinGW was switched to use auto import/export of symbols on r44184.
1541         From my understanding of the documentation, MinGW will not auto-export symbols
1542         unless there are no explicit __declspec(dlexport) in the DLL already.
1543
1544         The issues that originally made us rely on the auto-import feature of MinGW
1545         should now be resolved with the EXPORT_MACROS work. This patch re-enables them.
1546
1547         It also removes the GCC check for internal symbols hiding as the visibility should
1548         already be hidden by default for both MSVC and GCC on Windows anyway.
1549
1550         * wtf/ExportMacros.h:
1551
1552 2012-07-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
1553
1554         Shared code that is guarded with ENABLE(WEBGL) should be guarded with USE()
1555         https://bugs.webkit.org/show_bug.cgi?id=90506
1556
1557         Reviewed by Martin Robinson.
1558
1559         Made USE(3D_GRAPHICS) default to true when ENABLE(WEBGL) is true.
1560         Also updated the Qt default to always use TEXTURE_MAPPER, and to use TEXTURE_MAPPER_GL when
1561         3D_GRAPHICS is used.
1562
1563         * wtf/Platform.h:
1564
1565 2012-07-08  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1566
1567         Introduce a build flag for low quality JPEG images
1568         https://bugs.webkit.org/show_bug.cgi?id=90748
1569
1570         Reviewed by Adam Barth.
1571
1572         Turn on the newly introduced flags for android.
1573
1574         * wtf/Platform.h:
1575
1576 2012-07-05  Filip Pizlo  <fpizlo@apple.com>
1577
1578         INLINE_ARM_FUNCTION(thingy) should make thingy be thumb2 if we're using thumb2
1579         https://bugs.webkit.org/show_bug.cgi?id=90644
1580
1581         Reviewed by Mark Hahnenberg.
1582         
1583         Fix breakage introduced in http://trac.webkit.org/changeset/121885
1584
1585         * wtf/InlineASM.h:
1586
1587 2012-07-05  Zoltan Herczeg  <zherczeg@webkit.org>
1588
1589         Port DFG JIT to traditional ARM
1590         https://bugs.webkit.org/show_bug.cgi?id=90198
1591
1592         Reviewed by Filip Pizlo.
1593
1594         Enabling DFG JIT on ARM systems with 32 bit instruction set.
1595
1596         * wtf/InlineASM.h:
1597         * wtf/Platform.h:
1598
1599 2012-07-04  Andy Wingo  <wingo@igalia.com>
1600
1601         [GTK] Enable parallel GC
1602         https://bugs.webkit.org/show_bug.cgi?id=90568
1603
1604         Reviewed by Martin Robinson.
1605
1606         * wtf/Platform.h: Add GTK to the ENABLE_PARALLEL_GC party.
1607
1608 2012-07-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1609
1610         [Qt] Get rid of un-needed QT += declarative for Qt 5
1611
1612         The declarative module has been renamed to quick1 in Qt 5, and the
1613         engine-only module for Qt 5 is named 'qml'. For many of the instances
1614         we could just remove 'declarative', since the project file was only
1615         used for Qt5/WebKit2 builds. In the other cases the module was wrapped
1616         in a haveQt(4) scope.
1617
1618         Reviewed by Csaba Osztrogonác.
1619
1620         * WTF.pri:
1621
1622 2012-07-03  Yong Li  <yoli@rim.com>
1623
1624         [BlackBerry] Turn on DFGJIT in Platform.h
1625         https://bugs.webkit.org/show_bug.cgi?id=90482
1626
1627         Set ENABLE_DFG_JIT for PLATFORM(BLACKBERRY).
1628
1629         Reviewed by Rob Buis.
1630
1631         * wtf/Platform.h:
1632
1633 2012-07-03  Tony Chang  <tony@chromium.org>
1634
1635         [chromium] Unreviewed, update .gitignore to handle VS2010 files.
1636
1637         * WTF.gyp/.gitignore:
1638
1639 2012-07-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1640
1641         [Qt] Make use of .qmake.cache for caching features
1642
1643         Instead of loading() features from the files that need them (and re-running
1644         a bunch of checks), we now run feature detection as part of configure.pro,
1645         and have build-webkit write the computed feature-defines and CONFIG to
1646         .qmake.cache, which is then loaded by qmake _before_ even defaults_pre
1647         when building WebKit.pro.
1648
1649         At some point we'll be able to selectivly prevent running of config tests
1650         in configure.pro, which means we don't need a separate code-path for
1651         the build-webkit --help case.
1652
1653         We should also move the code in build-webkit that now uses .webkit.config
1654         to detect clean builds, to use .qmake.cache, since we now store the same
1655         thing there.
1656
1657         Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
1658
1659         Reviewed by Tor Arne Vestbø.
1660
1661         * WTF.pri:
1662
1663 2012-07-03  Sheriff Bot  <webkit.review.bot@gmail.com>
1664
1665         Unreviewed, rolling out r121766.
1666         http://trac.webkit.org/changeset/121766
1667         https://bugs.webkit.org/show_bug.cgi?id=90465
1668
1669         It caused flakey build errors on the bots (Requested by Ossy
1670         on #webkit).
1671
1672         * WTF.pri:
1673
1674 2012-07-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1675
1676         [Qt] Make use of .qmake.cache for caching features
1677
1678         Instead of loading() features from the files that need them (and re-running
1679         a bunch of checks), we now run feature detection as part of configure.pro,
1680         and have build-webkit write the computed feature-defines and CONFIG to
1681         .qmake.cache, which is then loaded by qmake _before_ even defaults_pre
1682         when building WebKit.pro.
1683
1684         At some point we'll be able to selectivly prevent running of config tests
1685         in configure.pro, which means we don't need a separate code-path for
1686         the build-webkit --help case.
1687
1688         We should also move the code in build-webkit that now uses .webkit.config
1689         to detect clean builds, to use .qmake.cache, since we now store the same
1690         thing there.
1691
1692         Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
1693
1694         Reviewed by Tor Arne Vestbø.
1695
1696         * WTF.pri:
1697
1698 2012-07-03  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>  Joel Dillon <joel.dillon@codethink.co.uk>
1699
1700         [Qt][Win] Fix broken QtWebKit5.lib linking
1701         https://bugs.webkit.org/show_bug.cgi?id=88321
1702
1703         Reviewed by Kenneth Rohde Christiansen.
1704
1705         Instead of letting a module's headers know which other modules depend on them,
1706         have depending modules define explicitely that they want its symbols exported too.
1707
1708         JavaScriptCore should then be compiled with both BUILDING_JavaScriptCore and
1709         STATICALLY_LINKED_WITH_WTF.
1710
1711         * wtf/ExportMacros.h:
1712
1713 2012-06-29  Tony Chang  <tony@chromium.org>
1714
1715         Unreviewed, rolling out r121572.
1716         http://trac.webkit.org/changeset/121572
1717         https://bugs.webkit.org/show_bug.cgi?id=90249
1718
1719         Breaks Mac build since it depends on r121547, which was rolled
1720         out
1721
1722         * wtf/ThreadingPthreads.cpp:
1723         (WTF::initializeCurrentThreadInternal):
1724
1725 2012-06-29  Eric Seidel  <eric@webkit.org>
1726
1727         Remove BUILDING_ON_LEOPARD now that no ports build on Leopard
1728         https://bugs.webkit.org/show_bug.cgi?id=90249
1729
1730         Reviewed by Ryosuke Niwa.
1731
1732         * wtf/ThreadingPthreads.cpp:
1733         (WTF::initializeCurrentThreadInternal):
1734
1735 2012-06-29  Sheriff Bot  <webkit.review.bot@gmail.com>
1736
1737         Unreviewed, rolling out r121529.
1738         http://trac.webkit.org/changeset/121529
1739         https://bugs.webkit.org/show_bug.cgi?id=90260
1740
1741         Failed to compile on Chromium WebKitMacBuilder (Requested by
1742         keishi on #webkit).
1743
1744         * wtf/FastMalloc.cpp:
1745         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
1746         * wtf/unicode/icu/CollatorICU.cpp:
1747         (WTF::Collator::userDefault):
1748
1749 2012-06-29  Eric Seidel  <eric@webkit.org>
1750
1751         Remove more BUILDING_ON_LEOPARD branches now that no port builds on Leopard
1752         https://bugs.webkit.org/show_bug.cgi?id=90252
1753
1754         Reviewed by Ryosuke Niwa.
1755
1756         * wtf/FastMalloc.cpp:
1757         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
1758         * wtf/unicode/icu/CollatorICU.cpp:
1759         (WTF::Collator::userDefault):
1760
1761 2012-06-29  Eric Seidel  <eric@webkit.org>
1762
1763         Remove more BUILDING_ON_LEOPARD usage in PLATFORM(MAC) code
1764         https://bugs.webkit.org/show_bug.cgi?id=85846
1765
1766         Reviewed by Adam Barth.
1767
1768         PLATFORM(MAC) has not supported Leopard for several months now.
1769         This change removes about 1/3 of the remaining BUILDING_ON_LEOPARD
1770         uses in the PLATFORM(MAC) codepaths.  PLATFORM(CHROMIUM) still
1771         supports BUILDING_ON_LEOPARD for now.
1772
1773         * wtf/Platform.h:
1774
1775 2012-06-28  Kalev Lember  <kalevlember@gmail.com>
1776
1777         ThreadingWin: Silence GCC compiler warnings
1778         https://bugs.webkit.org/show_bug.cgi?id=89491
1779
1780         Reviewed by Adam Roben.
1781
1782         * wtf/ThreadingWin.cpp:
1783         (WTF::createThreadInternal):
1784         (WTF::PlatformCondition::timedWait):
1785         (WTF::PlatformCondition::signal): Fix unused-but-set-variable
1786         warnings.
1787
1788 2012-06-26  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1789
1790         [Qt] Add missing heades to HEADERS
1791
1792         For JavaScriptCore there aren't any Qt specific files, so we include all
1793         headers for easy editing in Qt Creator.
1794
1795         Reviewed by Simon Hausmann.
1796
1797         * WTF.pro:
1798
1799 2012-06-25  Kent Tamura  <tkent@chromium.org>
1800
1801         Unreviewed, rolling out r121145.
1802         http://trac.webkit.org/changeset/121145
1803         https://bugs.webkit.org/show_bug.cgi?id=89847
1804
1805         Had an objection for the change.
1806
1807         * wtf/text/StringBuilder.h:
1808
1809 2012-06-25  Yong Li  <yoli@rim.com>
1810
1811         [BlackBerry] Add JSC statistics into about:memory
1812         https://bugs.webkit.org/show_bug.cgi?id=89779
1813
1814         Reviewed by Rob Buis.
1815
1816         Turn on WTF_USE_EXPORT_MACROS for BlackBerry port.
1817         This will make macros like JS_EXPORT_PRIVATE work without
1818         extra porting.
1819
1820         * wtf/Platform.h:
1821
1822 2012-06-25  Adam Barth  <abarth@webkit.org>
1823
1824         Use InterpolationLow on chromium-android
1825         https://bugs.webkit.org/show_bug.cgi?id=89849
1826
1827         Reviewed by Daniel Bates.
1828
1829         Introduce a USE macro to control image interpolation quality.
1830
1831         * wtf/Platform.h:
1832
1833 2012-06-25  Kent Tamura  <tkent@chromium.org>
1834
1835         Change the serialization format of form control state to make the code simple
1836         https://bugs.webkit.org/show_bug.cgi?id=89847
1837
1838         Reviewed by Hajime Morita.
1839
1840         * wtf/text/StringBuilder.h:
1841         (WTF::StringBuilder::appendEscaped): Added. This function adds the
1842         escaped form of the input string. e.g. if stiring="foo,bar" escape='\'
1843         special=',', the appended string is foo\,bar.
1844
1845 2012-06-24  Adam Barth  <abarth@webkit.org>
1846
1847         Remove USE(CHROMIUM_NET) because it is unused
1848         https://bugs.webkit.org/show_bug.cgi?id=89850
1849
1850         Reviewed by Eric Seidel.
1851
1852         I didn't see any mentions of CHROMIUM_NET when I grepped the Source
1853         directory. Also, this USE macro isn't defined on OS(DARWIN) or
1854         OS(ANDROID), which seems a bit odd given that Chromium uses the same
1855         network stack on all platforms.
1856
1857         * wtf/Platform.h:
1858
1859 2012-06-22  Peter Beverloo  <peter@chromium.org>
1860
1861         [Chromium] Disable c++0x compatibility warnings in JavaScriptCore.gyp when building for Android
1862         https://bugs.webkit.org/show_bug.cgi?id=88853
1863
1864         Reviewed by Steve Block.
1865
1866         The Android exclusions were necessary to fix a gyp generation error, as
1867         the gcc_version variable wasn't being defined for Android. Remove these
1868         exceptions when Chromium is able to define the gcc_version variable.
1869
1870         * WTF.gyp/WTF.gyp:
1871
1872 2012-06-18  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
1873
1874         Causes crashes in LLVMPipe
1875         https://bugs.webkit.org/show_bug.cgi?id=89358
1876
1877         Reviewed by Martin Robinson.
1878
1879         Change suggested by Dave Airlie and Xan Lopez.
1880
1881         * wtf/Platform.h: disable global fastMalloc for GTK+
1882
1883 2012-06-22  Mario Sanchez Prada  <msanchez@igalia.com>
1884
1885         Memory corruption on HashTable.h
1886         https://bugs.webkit.org/show_bug.cgi?id=88419
1887
1888         Reviewed by Martin Robinson.
1889
1890         Simplify definition of WTF_USE_PTHREADS and HAVE_PTHREAD_RWLOCK
1891         for the GTK platform using OS(LINUX) instead of HAVE(PTHREAD_H).
1892
1893         * wtf/Platform.h:
1894
1895 2012-06-21  Parth Patel  <parpatel@rim.com>
1896
1897         [Blackberry] BlackBerry::Platform::Settings::get() rename to BlackBerry::Platform::Settings::instance() to make it consistent with our other singletons
1898         https://bugs.webkit.org/show_bug.cgi?id=89684
1899
1900         Reviewed by Yong Li.
1901         
1902         Update setting instance access to use instance() instead of get().
1903
1904         * wtf/ThreadingPthreads.cpp:
1905         (WTF::createThreadInternal):
1906
1907 2012-06-21  Kalev Lember  <kalevlember@gmail.com>
1908
1909         [GTK] Fix NPAPI plugins on Windows
1910         https://bugs.webkit.org/show_bug.cgi?id=54531
1911
1912         Reviewed by Martin Robinson.
1913
1914         Define ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH for the GTK+ port, and
1915         include OwnPtrWin.cpp in the list of files built on Windows.
1916
1917         * GNUmakefile.am:
1918         * GNUmakefile.list.am:
1919         * wtf/Platform.h:
1920
1921 2012-06-21  Balazs Kelemen  <kbalazs@webkit.org>
1922
1923         Compile error: 'bool std::isinf(float)' is not 'constexpr' with GCC 4.6 in C++11 mode
1924         https://bugs.webkit.org/show_bug.cgi?id=88721
1925
1926         Reviewed by Csaba Osztrogonác.
1927
1928         Don't define these as consexpr because with gcc 4.6
1929         they call non constexpr functions.
1930         * wtf/MathExtras.h:
1931         (std::wtf_isinf):
1932         (std::wtf_isnan):
1933
1934 2012-06-17  Filip Pizlo  <fpizlo@apple.com>
1935
1936         It should be possible to look at disassembly
1937         https://bugs.webkit.org/show_bug.cgi?id=89319
1938
1939         Reviewed by Sam Weinig.
1940         
1941         Made changes to Assertions.h to make it friendly to C code again.
1942         
1943         Added ENABLE(DISASSEMBLER) and USE(UDIS86) logic to Platform.h.
1944
1945         * wtf/Assertions.h:
1946         * wtf/Platform.h:
1947
1948 2012-06-19  Jon Honeycutt  <jhoneycutt@apple.com>
1949
1950         REGRESSION(r120552): Many tests timing out on Windows
1951         https://bugs.webkit.org/show_bug.cgi?id=89433
1952
1953         Reviewed by Andy Estes.
1954
1955         * wtf/CurrentTime.cpp:
1956         (WTF::lowResUTCTime):
1957         It looks like there were two bugs:
1958         1) the function was converting from 100ths of nanoseconds to seconds
1959            rather than 100s of nanoseconds to seconds by dividing by
1960            (nsPerSecond * 100) rather than (nsPerSecond / 100)
1961         2) the function should've been returning milliseconds, not seconds
1962
1963 2012-06-18  Tony Payne  <tpayne@chromium.org>
1964
1965         [chromium] Add iccjpeg and qcms to chromium port.
1966         https://bugs.webkit.org/show_bug.cgi?id=81974
1967
1968         * wtf/Platform.h: Add Chromium USE defines for ICCJPEG and QCMSLIB
1969         to each Chromium platform, excluding Android.
1970
1971         Reviewed by Adam Barth.
1972
1973 2012-06-18  Sheriff Bot  <webkit.review.bot@gmail.com>
1974
1975         Unreviewed, rolling out r120485 and r120582.
1976         http://trac.webkit.org/changeset/120485
1977         http://trac.webkit.org/changeset/120582
1978         https://bugs.webkit.org/show_bug.cgi?id=89345
1979
1980         chromeos tree breakage (Requested by morrita on #webkit).
1981
1982         * wtf/Platform.h:
1983
1984 2012-06-17  Patrick Gansterer  <paroga@webkit.org>
1985
1986         [WIN] Simplify implementation of currentTime()
1987         https://bugs.webkit.org/show_bug.cgi?id=83156
1988
1989         Reviewed by Brent Fulgham.
1990
1991         Use GetSystemTimeAsFileTime() instead of ftime().
1992         This avoids an unneeded call to the MS CRT and
1993         brings the Win/WinCE code closer together.
1994
1995         * wtf/CurrentTime.cpp:
1996         (WTF::lowResUTCTime):
1997         (WTF::currentTime):
1998
1999 2012-06-15  Tony Payne  <tpayne@chromium.org>
2000
2001         [chromium] Add iccjpeg and qcms to chromium port.
2002         https://bugs.webkit.org/show_bug.cgi?id=81974
2003
2004         * wtf/Platform.h: Add Chromium USE defines for ICCJPEG and QCMSLIB
2005         to each Chromium platform, excluding Android.
2006
2007         Reviewed by Adam Barth.
2008
2009 2012-06-14  Sheriff Bot  <webkit.review.bot@gmail.com>
2010
2011         Unreviewed, rolling out r120393.
2012         http://trac.webkit.org/changeset/120393
2013         https://bugs.webkit.org/show_bug.cgi?id=89163
2014
2015         breaks cr-mac build (Requested by morrita on #webkit).
2016
2017         * wtf/Platform.h:
2018
2019 2012-06-14  Tony Payne  <tpayne@chromium.org>
2020
2021         [chromium] Add iccjpeg and qcms to chromium port.
2022         https://bugs.webkit.org/show_bug.cgi?id=81974
2023
2024         * wtf/Platform.h: Add Chromium USE defines for ICCJPEG and QCMSLIB
2025         to each Chromium platform, excluding Android.
2026
2027         Reviewed by Adam Barth.
2028
2029 2012-06-14  Yong Li  <yoli@rim.com>
2030
2031         [BlackBerry] Implement computeRAMSize for QNX
2032         https://bugs.webkit.org/show_bug.cgi?id=89110
2033
2034         Reviewed by Rob Buis.
2035
2036         * wtf/RAMSize.cpp:
2037         (WTF::computeRAMSize):
2038
2039 2012-06-14  Geoffrey Garen  <ggaren@apple.com>
2040
2041         ARMv7 should support spinlocks
2042         https://bugs.webkit.org/show_bug.cgi?id=88957
2043
2044         Reviewed by Darin Adler.
2045
2046         More info @ http://infocenter.arm.com/help/topic/
2047         com.arm.doc.genc007826/Barrier_Litmus_Tests_and_Cookbook_A08.pdf
2048
2049         * wtf/Atomics.h:
2050         (WTF::memoryBarrierAfterLock):
2051         (WTF::memoryBarrierBeforeUnlock): Added memory barrier primitives since
2052         ARMv7 has a weakly ordered memory model.
2053
2054         * wtf/Platform.h: Enabled compare-and-swap on Windows so our spinlock
2055         implementation would continue working on Windows.
2056
2057         * wtf/TCSpinLock.h:
2058         (TCMalloc_SpinLock::Lock):
2059         (TCMalloc_SpinLock::Unlock):
2060         (TCMalloc_SpinLock): Use our compare-and-swap helper function to avoid
2061         rewriting it in assembly here.
2062
2063         Added memory barriers since ARMv7 needs them.
2064
2065         Removed PPC support because our helper function doesn't support PPC.
2066
2067 2012-06-13  Arnaud Renevier  <arno@renevier.net>
2068
2069         make sure headers are included only once per file
2070         https://bugs.webkit.org/show_bug.cgi?id=88929
2071
2072         Reviewed by Kentaro Hara.
2073
2074         * wtf/FastMalloc.cpp:
2075         * wtf/MathExtras.h:
2076         * wtf/OSAllocator.h:
2077
2078 2012-06-13  Benjamin Poulain  <benjamin@webkit.org>
2079
2080         Implement the simple constructors WTFURL's KURL
2081         https://bugs.webkit.org/show_bug.cgi?id=85724
2082
2083         Reviewed by Adam Barth.
2084
2085         This patch extends WTFURL with:
2086         -support basic debugging using print() methods
2087         -parsing in the incomming string character set (8bits or 16bits)
2088         -add a function for parsing of relative URL (but no implementation yet)
2089
2090         * WTF.xcodeproj/project.pbxproj:
2091         * wtf/text/WTFString.h:
2092         (String):
2093         * wtf/url/api/ParsedURL.cpp:
2094         (WTF::ParsedURL::ParsedURL):
2095         (WTF):
2096         (WTF::ParsedURL::hasFragment): Add this method to query the framgent availability without
2097         allocating a new String.
2098         (WTF::ParsedURL::withoutFragment): This method is added to implement KURL::removeFragmentIdentifier() and
2099         the parsing of empty relative URL (where we return the base without fragment).
2100         (WTF::ParsedURL::print):
2101         * wtf/url/api/ParsedURL.h:
2102         (ParsedURL):
2103         (WTF::ParsedURL::spec):
2104         * wtf/url/api/URLString.h:
2105         (URLString):
2106         * wtf/url/src/URLParser.h:
2107         (WTF):
2108         (URLParser):
2109         (WTF::URLParser::parseURLWithBase):
2110         * wtf/url/src/URLSegments.cpp:
2111         (WTF::URLSegments::length):
2112         (WTF::URLSegments::charactersBefore):
2113         * wtf/url/src/URLSegments.h:
2114         (URLSegments):
2115         Change the boolean argument includeDelimiter in favor of an enum to improve readability.
2116
2117 2012-06-13  Filip Pizlo  <fpizlo@apple.com>
2118
2119         DFG should be able to set watchpoints on global variables
2120         https://bugs.webkit.org/show_bug.cgi?id=88692
2121
2122         Reviewed by Geoffrey Garen.
2123         
2124         Added ability to set the inline capacity of segmented vectors.
2125         
2126         Also added the ability ot ASSERT_NOT_REACHED() without having to
2127         propagate NO_RETURN macros, which would be a show-stopper for code
2128         that is conditionally unreachable.
2129
2130         * wtf/Assertions.h:
2131         (UNREACHABLE_FOR_PLATFORM):
2132         * wtf/SegmentedVector.h:
2133         (WTF):
2134         (SegmentedVectorIterator):
2135         (WTF::SegmentedVectorIterator::operator=):
2136         (WTF::SegmentedVectorIterator::SegmentedVectorIterator):
2137         (SegmentedVector):
2138
2139 2012-06-13  Sheriff Bot  <webkit.review.bot@gmail.com>
2140
2141         Unreviewed, rolling out r120172.
2142         http://trac.webkit.org/changeset/120172
2143         https://bugs.webkit.org/show_bug.cgi?id=88976
2144
2145         The patch causes compilation failures on Gtk, Qt and Apple Win
2146         bots (Requested by zdobersek on #webkit).
2147
2148         * wtf/SegmentedVector.h:
2149         (WTF):
2150         (SegmentedVectorIterator):
2151         (WTF::SegmentedVectorIterator::operator=):
2152         (WTF::SegmentedVectorIterator::SegmentedVectorIterator):
2153         (SegmentedVector):
2154
2155 2012-06-10  Filip Pizlo  <fpizlo@apple.com>
2156
2157         DFG should be able to set watchpoints on global variables
2158         https://bugs.webkit.org/show_bug.cgi?id=88692
2159
2160         Reviewed by Geoffrey Garen.
2161         
2162         Added ability to set the inline capacity of segmented vectors.
2163
2164         * wtf/SegmentedVector.h:
2165         (WTF):
2166         (SegmentedVectorIterator):
2167         (WTF::SegmentedVectorIterator::operator=):
2168         (WTF::SegmentedVectorIterator::SegmentedVectorIterator):
2169         (SegmentedVector):
2170
2171 2012-06-12  Geoffrey Garen  <ggaren@apple.com>
2172
2173         Try to fix the build.
2174
2175         Maybe don't export inlined functions.
2176
2177         * wtf/ThreadingPrimitives.h:
2178         (WTF::MutexTryLocker::MutexTryLocker):
2179         (WTF::MutexTryLocker::~MutexTryLocker):
2180         (WTF::MutexTryLocker::locked):
2181
2182 2012-06-11  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2183
2184         Using extrernal ICU library on case unsensitive drives will not work
2185         https://bugs.webkit.org/show_bug.cgi?id=70913
2186
2187         Reviewed by Csaba Osztrogonác.
2188
2189         Properly set the include path for the WTF module and for modules using it.
2190         The path should include Source/WTF/wtf only when building WTF itself. Other
2191         modules are expected to include the headers as #include <wtf/Header.h>, so
2192         only add Source/WTF to their include path.
2193
2194         "unicode/utf8.h" should now then always reference to ICU in the include path
2195         and "wtf/unicode/UTF8.h" reference to the WTF version.
2196         This will work as long as WTF object files don't depend on ICU themselves.
2197
2198         Removed gobject, qt and unicode from the include path as those directories
2199         don't exist anymore.
2200
2201         * WTF.pri:
2202         * WTF.pro:
2203
2204 2012-06-11  Carlos Garcia Campos  <cgarcia@igalia.com>
2205
2206         Unreviewed. Fix make distcheck issues.
2207
2208         * GNUmakefile.list.am: Add missing header file.
2209
2210 2012-06-09  Dominic Cooney  <dominicc@chromium.org>
2211
2212         [Chromium] Remove JavaScriptCore dependencies from gyp
2213         https://bugs.webkit.org/show_bug.cgi?id=88510
2214
2215         Reviewed by Adam Barth.
2216
2217         Chromium doesn't support JSC any more and there doesn't seem to be
2218         a strong interest in using GYP as the common build system in other
2219         ports.
2220
2221         * WTF.gyp/WTF.gyp:
2222
2223 2012-06-08  Andy Wingo  <wingo@igalia.com>
2224
2225         Explictly mark stubs called by JIT as being internal
2226         https://bugs.webkit.org/show_bug.cgi?id=88552
2227
2228         Reviewed by Filip Pizlo.
2229
2230         * wtf/ExportMacros.h (WTF_INTERNAL, HAVE_INTERNAL_VISIBILITY): New
2231         defines.  Regardless of what the port does about visibility in
2232         general, for code referenced only from assembly it is useful to
2233         give it internal visibility.
2234         * wtf/InlineASM.h: Split SYMBOL_STRING_RELOCATION into
2235         LOCAL_REFERENCE and GLOBAL_REFERENCE; the former will try to avoid
2236         indirection if HAVE(INTERNAL_VISIBILITY).
2237
2238 2012-06-07  Csaba Osztrogonác  <ossy@webkit.org>
2239
2240         [Qt][Win] Fix linking WTF with ICU
2241         https://bugs.webkit.org/show_bug.cgi?id=88302
2242
2243         Reviewed by Simon Hausmann.
2244
2245         * WTF.pri: Use proper library names on win32 platforms.
2246
2247 2012-06-06  Michael Saboff  <msaboff@apple.com>
2248
2249         ENH: Add Logging to GC Marking Phase
2250         https://bugs.webkit.org/show_bug.cgi?id=88364
2251
2252         Reviewed by Filip Pizlo.
2253
2254         * wtf/DataLog.cpp:
2255         (WTF::dataLogString): Additional method to support GC Mark logging.
2256         * wtf/DataLog.h:
2257         * wtf/Platform.h: New ENABLE_OBJECT_MARK_LOGGING flag macro.
2258
2259 2012-06-06  Andy Wingo  <wingo@igalia.com>
2260
2261         [GTK] Enable the LLInt
2262         https://bugs.webkit.org/show_bug.cgi?id=88315
2263
2264         Reviewed by Filip Pizlo.
2265
2266         * wtf/InlineASM.h: Add an implementation of LOCAL_LABEL_STRING for
2267         OS(LINUX).
2268         * wtf/Platform.h: Add OS(LINUX) to the set of operating systems
2269         for ENABLE_LLINT.  Add a specific check for PLATFORM(MAC) or
2270         PLATFORM(IOS), and add to that a check for PLATFORM(GTK).
2271
2272 2012-06-05  Roland Takacs  <takacs.roland@stud.u-szeged.hu>
2273
2274         [Qt] Use GraphicsContext3DOpenGLES.cpp when using OpenGL ES
2275         https://bugs.webkit.org/show_bug.cgi?id=78720
2276
2277         Reviewed by Noam Rosenthal.
2278
2279         Defined a global Opengl ES macro to check OpenGL ES on every platforms.
2280
2281         * wtf/Platform.h:
2282
2283 2012-06-04  Takashi Toyoshima  <toyoshim@chromium.org>
2284
2285         [WebSocket] Send requires super linear time against data size
2286         https://bugs.webkit.org/show_bug.cgi?id=87383
2287
2288         Reviewed by Kent Tamura.
2289
2290         * wtf/StreamBuffer.h: Added.
2291         (WTF):
2292         (StreamBuffer):
2293         (WTF::StreamBuffer::StreamBuffer):
2294         (WTF::StreamBuffer::~StreamBuffer):
2295         (WTF::StreamBuffer::isEmpty):
2296         (WTF::StreamBuffer::append):
2297         (WTF::StreamBuffer::consume):
2298         (WTF::StreamBuffer::size):
2299         (WTF::StreamBuffer::firstBlockData):
2300         (WTF::StreamBuffer::firstBlockSize):
2301
2302 2012-06-04  Patrick Gansterer  <paroga@webkit.org>
2303
2304         Port RAMSize to WinCE
2305         https://bugs.webkit.org/show_bug.cgi?id=87854
2306
2307         Reviewed by Geoffrey Garen.
2308
2309         WinCE has no GlobalMemoryStatusEx() function. Use GlobalMemoryStatus() instead.
2310
2311         * wtf/RAMSize.cpp:
2312         (WTF::computeRAMSize):
2313
2314 2012-06-01  Xianzhu Wang  <wangxianzhu@chromium.org>
2315
2316         Remove dependency from ImageDiff to WTF
2317         https://bugs.webkit.org/show_bug.cgi?id=88147
2318
2319         Reviewed by Adam Barth.
2320
2321         * WTF.gyp/WTF.gyp:
2322
2323 2012-06-01  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2324
2325         [Qt] Save one copy when going from 8-bit WTF::String to QString
2326
2327         Asking for characters() of an 8-bit string will make a 16-bit copy internally
2328         in WTF::String. Since we're going to copy the data to QStringData anyways, which
2329         is 16-bit, we can do the conversion ourselves and save one copy.
2330
2331         Reviewed by Simon Hausmann.
2332
2333         * wtf/qt/StringQt.cpp:
2334         (WTF::String::operator QString):
2335
2336 2012-05-30  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2337
2338         [Qt] Make conversion from QString to WTF::String (and back again) ~free
2339
2340         https://bugs.webkit.org/show_bug.cgi?id=87847
2341
2342         Instead of copying the QString data when converting to a WTF::String we
2343         make the WTF::String adopt the QString data by introducing a new buffer
2344         ownership type, and pointing the internal WTF::StringImpl 16-bit data
2345         member to the string data managed by QStringData.
2346
2347         We make sure to reference the QStringData when adopting, so that the
2348         data will stay alive, and then dereference it when the WTF::StringImpl
2349         is deleted, which will free the QStringData (either straight away, if
2350         we're the only one holding a reference still, or later, when the ref
2351         count goes to 0).
2352
2353         In the case of going back from a WTF::String to a QString we can cheat
2354         a bit (avoid a copy), if we know that the WTF::String was adopted from
2355         a QString, since it's then just a matter of having the QString adopt
2356         the existing QStringData (just like a regular QString copy).
2357
2358         If the WTF::String buffer is not owned by QStringData, eg a regular
2359         8-bit or 16-bit string/substring, we have to fall back to copying,
2360         as before (though there are potential optimization tricks we can
2361         apply here later on).
2362
2363         Reviewed by Gavin Barraclough.
2364
2365         * wtf/qt/StringQt.cpp:
2366         * wtf/text/StringImpl.cpp:
2367         * wtf/text/StringImpl.h:
2368
2369 2012-06-01  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
2370
2371         [EFL] Implement PlatformStrategies
2372         https://bugs.webkit.org/show_bug.cgi?id=86946
2373
2374         Reviewed by Carlos Garcia Campos.
2375
2376         * wtf/Platform.h: Enable PLATFORM_STRATEGIES for EFL platform.
2377
2378 2012-05-31  Anders Carlsson  <andersca@apple.com>
2379
2380         Enable support for rvalue references when building with a version of clang that supports them
2381         https://bugs.webkit.org/show_bug.cgi?id=88018
2382
2383         Re-enable support for rvalue references when building with a version of Xcode newer than 4.2.
2384
2385         * wtf/Compiler.h:
2386
2387 2012-05-31  Filip Pizlo  <fpizlo@apple.com>
2388
2389         DataLog should be usable outside of JSC
2390         https://bugs.webkit.org/show_bug.cgi?id=88015
2391
2392         Reviewed by Oliver Hunt.
2393
2394         * wtf/DataLog.h:
2395         (WTF):
2396
2397 2012-05-31  Anders Carlsson  <andersca@apple.com>
2398
2399         Disable support for rvalue references until I figure out why this is breaking the Xcode 4.2 build.
2400
2401         * wtf/Compiler.h:
2402
2403 2012-05-31  Anders Carlsson  <andersca@apple.com>
2404
2405         Vector should have a move constructor and move assignment operator
2406         https://bugs.webkit.org/show_bug.cgi?id=87997
2407
2408         Reviewed by Andreas Kling.
2409
2410         * wtf/Compiler.h:
2411         Use __has_extension so we can use move semantics and other C++11 features even when building as C++98.
2412
2413         * wtf/Vector.h:
2414         Add a move constructor and a move assignment operator to Vector.
2415
2416 2012-05-31  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2417
2418         [Qt] Simplify QT_VERSION_CHECKS for Qt5 by introducing HAVE(QT5)
2419         https://bugs.webkit.org/show_bug.cgi?id=87955
2420
2421         Reviewed by Simon Hausmann.
2422
2423         * wtf/qt/UtilsQt.h:
2424
2425 2012-05-30  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2426
2427         HashTable.h has using directives for std::pair and std::make_pair
2428         https://bugs.webkit.org/show_bug.cgi?id=29919
2429
2430         Reviewed by Darin Adler.
2431
2432         * wtf/HashTraits.h:
2433         (WTF): Remove the directives.
2434
2435 2012-05-30  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2436
2437         HashTable.h has using directives for std::pair and std::make_pair
2438         https://bugs.webkit.org/show_bug.cgi?id=29919
2439
2440         Reviewed by Darin Adler.
2441
2442         Change code to use std::pair and std::make_pair. Later patch will remove the
2443         'using' directives.
2444
2445         * wtf/HashTable.h:
2446         (WTF::hashTableSwap):
2447         (HashTable):
2448         * wtf/HashTraits.h:
2449         (PairHashTraits):
2450         (WTF::PairHashTraits::emptyValue):
2451
2452 2012-05-30  Patrick Gansterer  <paroga@webkit.org>
2453
2454         Build fix for WinCE after r118603.
2455
2456         * wtf/Atomics.h:
2457         (WTF::weakCompareAndSwap):
2458
2459 2012-05-29  Anders Carlsson  <andersca@apple.com>
2460
2461         String should be move enabled/optimized
2462         https://bugs.webkit.org/show_bug.cgi?id=87596
2463
2464         Reviewed by Andreas Kling.
2465
2466         Add move constructors and move assignment operators to String and AtomicString when building with
2467         compilers that support rvalue references. This gets rid of ref-churn when the source of the 
2468         constructor or assignment is a temporary object.
2469
2470         * wtf/text/AtomicString.h:
2471         (AtomicString):
2472         (WTF::AtomicString::AtomicString):
2473         (WTF::AtomicString::operator=):
2474         * wtf/text/WTFString.h:
2475         (String):
2476         (WTF::String::String):
2477         (WTF::String::operator=):
2478
2479 2012-05-29  Alexandre Elias  <aelias@google.com>
2480
2481         Support WebKit log messages on Android
2482         https://bugs.webkit.org/show_bug.cgi?id=87773
2483
2484         Reviewed by Darin Adler.
2485
2486         This sends WebKit log messages to the Android "logcat" facility, as
2487         Android sends stderr to /dev/null.
2488
2489         * wtf/Assertions.cpp:
2490
2491 2012-05-29  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2492
2493         [Qt] Remove duplication of logic for disabling selected warnings related to C++11
2494
2495         This is already handled in unix/default_post.prf
2496
2497         Reviewed by Simon Hausmann.
2498
2499         * WTF.pro:
2500
2501 2012-05-27  Darin Adler  <darin@apple.com>
2502
2503         Fix an incorrect assertion in Vector::remove
2504         https://bugs.webkit.org/show_bug.cgi?id=87612
2505
2506         Reviewed by Dan Bernstein.
2507
2508         * wtf/Vector.h: There's no good reason to disallow calling remove
2509         with a size of 0, even when the position is at the end of the vector,
2510         so changed the two-argument Vector::remove assertion to assert that
2511         the position is <= size rather than < size.
2512
2513 2012-05-27  Yoshifumi Inoue  <yosin@chromium.org>
2514
2515         [WTF] Introduce UINT64_C to MathExtras.h
2516         https://bugs.webkit.org/show_bug.cgi?id=87485
2517
2518         Reviewed by Kent Tamura.
2519
2520         * wtf/MathExtras.h:
2521
2522 2012-05-25  Filip Pizlo  <fpizlo@apple.com>
2523
2524         weakCompareAndSwap should work on Windows
2525         https://bugs.webkit.org/show_bug.cgi?id=87549
2526
2527         Reviewed by Jessie Berlin.
2528
2529         * wtf/Atomics.h:
2530         (WTF):
2531         (WTF::weakCompareAndSwap):
2532
2533 2012-05-24  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2534
2535         cti_vm_throw gets kicked out by gcc 4.6 -flto
2536         https://bugs.webkit.org/show_bug.cgi?id=56088
2537
2538         Reviewed by Darin Adler.
2539
2540         Define REFERENCED_FROM_ASM to __attribute__((used)) on GCC.
2541
2542         * wtf/Compiler.h:
2543
2544 2012-05-23  Darin Adler  <darin@apple.com>
2545
2546         Optimize iteration of empty hash tables
2547         https://bugs.webkit.org/show_bug.cgi?id=87215
2548
2549         Reviewed by Geoffrey Garen.
2550
2551         Iteration of empty hash tables was showing up on simple page loading
2552         profiles due to the use of hash tables in the
2553         NodeListsNodeData::invalidateCaches and
2554         NodeListsNodeData::invalidateCachesThatDependOnAttributes functions.
2555         It's worth optimizing the case of an empty table.
2556
2557         * wtf/HashTable.h:
2558         (WTF::HashTable::begin): Return the known-good end iterator when the
2559         table is empty. This makes iterating an empty table faster because we
2560         avoid skipping empty and deleted buckets.
2561
2562 2012-05-22  Geoffrey Garen  <ggaren@apple.com>
2563
2564         Build fix.
2565
2566         * wtf/RAMSize.cpp:
2567         (WTF::computeRAMSize): sysctl expects a uint64_t, so use that and then
2568         cast back to size_t. Since it's coneivable that a 32bit process would
2569         run on a system with more than 4GB RAM, I added a paranoid check for
2570         that condition.
2571
2572 2012-05-22  Jessie Berlin  <jberlin@apple.com>
2573
2574         Build fix.
2575
2576         * wtf/RAMSize.cpp:
2577         (WTF::computeRAMSize):
2578         If you say you are going to return a size_t, actually return a size_t.
2579
2580 2012-05-21  Geoffrey Garen  <ggaren@apple.com>
2581
2582         GC allocation trigger should be tuned to system RAM
2583         https://bugs.webkit.org/show_bug.cgi?id=87039
2584
2585         Reviewed by Darin Adler.
2586
2587         Added a helper function for measuring system RAM.
2588
2589         * GNUmakefile.list.am:
2590         * WTF.gypi:
2591         * WTF.pro:
2592         * WTF.vcproj/WTF.vcproj:
2593         * WTF.xcodeproj/project.pbxproj:
2594         * wtf/AmountOfRAM.cpp: Added.
2595         (WTF):
2596         (WTF::computeAmountOfRAM):
2597         (WTF::amountOfRAM):
2598         * wtf/AmountOfRAM.h: Added.
2599         (WTF):
2600         * wtf/CMakeLists.txt:
2601         * wtf/StdLibExtras.h:
2602         (WTF):
2603
2604 2012-05-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2605
2606         GCC 4.7 and C++11 support.
2607         https://bugs.webkit.org/show_bug.cgi?id=86465
2608
2609         Reviewed by Darin Adler.
2610
2611         Detect C++11 mode in GCC 4.7 and set appropiate compiler feature flags.
2612         Turn C++11 override control into a compiler feature flag.
2613         Fix non-clang support of compiler feature CXX_DELETED_FUNCTIONS.
2614
2615         * wtf/Compiler.h:
2616         * wtf/Noncopyable.h:
2617
2618 2012-05-22  Filip Pizlo  <fpizlo@apple.com>
2619
2620         REGRESSION(r117861): It made almost all tests crash on Qt
2621         https://bugs.webkit.org/show_bug.cgi?id=87082
2622
2623         Reviewed by Csaba Osztrogonác.
2624         
2625         Using OwnArrayPtr is a bad idea if you allocate array with fastCalloc.
2626
2627         * wtf/FastBitVector.h:
2628         (WTF::FastBitVector::FastBitVector):
2629         (WTF::FastBitVector::~FastBitVector):
2630         (FastBitVector):
2631         (WTF::FastBitVector::operator=):
2632         (WTF::FastBitVector::resize):
2633         (WTF::FastBitVector::setAll):
2634         (WTF::FastBitVector::clearAll):
2635         (WTF::FastBitVector::set):
2636
2637 2012-05-21  Filip Pizlo  <fpizlo@apple.com>
2638
2639         DFG should be able to compute dominators
2640         https://bugs.webkit.org/show_bug.cgi?id=85269
2641
2642         Reviewed by Oliver Hunt.
2643         
2644         Merged r115754 from dfgopt.
2645         
2646         Added a bitvector class suitable for cheap static analysis. This class
2647         differs from BitVector in that instead of optimizing for space, it
2648         optimizes for execution time. Its API is also somewhat less friendly,
2649         which is intentional; it's meant to be used in places where you know
2650         up front how bit your bitvectors are going to be.
2651
2652         * GNUmakefile.list.am:
2653         * WTF.vcproj/WTF.vcproj:
2654         * WTF.xcodeproj/project.pbxproj:
2655         * wtf/FastBitVector.h: Added.
2656         (WTF):
2657         (FastBitVector):
2658         (WTF::FastBitVector::FastBitVector):
2659         (WTF::FastBitVector::operator=):
2660         (WTF::FastBitVector::numBits):
2661         (WTF::FastBitVector::resize):
2662         (WTF::FastBitVector::setAll):
2663         (WTF::FastBitVector::clearAll):
2664         (WTF::FastBitVector::set):
2665         (WTF::FastBitVector::setAndCheck):
2666         (WTF::FastBitVector::equals):
2667         (WTF::FastBitVector::merge):
2668         (WTF::FastBitVector::filter):
2669         (WTF::FastBitVector::exclude):
2670         (WTF::FastBitVector::clear):
2671         (WTF::FastBitVector::get):
2672         (WTF::FastBitVector::arrayLength):
2673
2674 2012-05-15  Gavin Barraclough  <barraclough@apple.com>
2675
2676         Add support for private names
2677         https://bugs.webkit.org/show_bug.cgi?id=86509
2678
2679         Reviewed by Oliver Hunt.
2680
2681         The spec isn't final, but we can start adding support to allow property maps
2682         to contain keys that aren't identifiers.
2683
2684         * wtf/text/StringImpl.h:
2685         (WTF::StringImpl::StringImpl):
2686         (StringImpl):
2687         (WTF::StringImpl::createEmptyUnique):
2688         (WTF::StringImpl::isEmptyUnique):
2689             - Allow empty string impls to be allocated, which can be used as unique keys.
2690
2691 2012-05-21  Emil A Eklund <eae@chromium.org> and Levi Weintraub  <leviw@chromium.org>
2692
2693         Enable SUBPIXEL_LAYOUT feature flag on Chromium
2694         https://bugs.webkit.org/show_bug.cgi?id=85555
2695
2696         Reviewed by Eric Seidel.
2697
2698         Enabling sub-pixel layout on Chromium port.
2699
2700         * wtf/Platform.h:
2701
2702 2012-05-21  Andreas Kling  <kling@webkit.org>
2703
2704         CSS: Move duplicate property elimination to parser.
2705         <http://webkit.org/b/86948>
2706
2707         Reviewed by Antti Koivisto.
2708
2709         Add WTF::BitArray, a simple, malloc free, fixed-size bit array class.
2710
2711         * GNUmakefile.list.am:
2712         * WTF.gypi:
2713         * WTF.pro:
2714         * WTF.vcproj/WTF.vcproj:
2715         * WTF.xcodeproj/project.pbxproj:
2716         * wtf/BitArray.h: Added.
2717         (WTF):
2718         (BitArray):
2719         (WTF::BitArray::BitArray):
2720         (WTF::BitArray::set):
2721         (WTF::BitArray::get):
2722         * wtf/CMakeLists.txt:
2723
2724 2012-05-21  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2725
2726         Colliding isinf/isnan between C99 and C++11 with GCC >=4.6
2727         https://bugs.webkit.org/show_bug.cgi?id=59249
2728
2729         Reviewed by Darin Adler.
2730
2731         Workaround the isinf and isnan conflict in GCC C++11.
2732
2733         * wtf/Compiler.h:
2734         * wtf/MathExtras.h:
2735         (std::wtf_isinf):
2736         (std::wtf_isnan):
2737
2738 2012-05-21  Andreas Kling  <kling@webkit.org>
2739
2740         REGRESSION(r117501): IconDatabase asserts on startup in synchronousIconForPageURL().
2741         <http://webkit.org/b/86935>
2742         <rdar://problem/11480012>
2743
2744         Reviewed by Anders Carlsson.
2745
2746         Added a swap() to HashCountedSet.
2747
2748         * wtf/HashCountedSet.h:
2749         (HashCountedSet::swap):
2750
2751 2012-05-16  Geoffrey Garen  <ggaren@apple.com>
2752
2753         This is not a joke: 3.7X speedup from removing a call to sleep
2754         https://bugs.webkit.org/show_bug.cgi?id=86702
2755
2756         Reviewed by Eric Seidel.
2757
2758         The speedup was on a GC benchmark, with a custom VM caching layer
2759         not in TOT yet.
2760
2761         Instruments showed most GC threads spending the majority of their
2762         time sleeping instead of doing useful work. Removing the call to
2763         sleep sped up the benchmark.
2764
2765         * wtf/TCSpinLock.h:
2766         (TCMalloc_SlowLock): Since a spin lock is only ever held for a short
2767         amount of time, don't sleep for a long amount of time waiting for it
2768         to unlock -- yielding to the scheduler is sufficient.
2769
2770         If we find a case where someone is sitting on a spin lock for over 2ms,
2771         we should fix the spin lock holder, not the spin lock.
2772
2773 2012-05-16  Simon Fraser  <simon.fraser@apple.com>
2774
2775         Make things build with DUMP_HASHTABLE_STATS=1
2776         https://bugs.webkit.org/show_bug.cgi?id=86571
2777
2778         Reviewed by Geoffrey Garen.
2779         
2780         DUMP_HASHTABLE_STATS bitrotted after the WTF separation. This patch
2781         makes it build.
2782         
2783         Added WTF_EXPORTDATA to the global data, and WTF_EXPORT_PRIVATE to
2784         the static HashTableStats methods. Added a dumpStats() method
2785         that is not yet called anywhere; we can no longer rely on destroying
2786         a global object to dump the stats because global destructors are
2787         disallowed.
2788
2789         * wtf/HashTable.cpp:
2790         (WTF):
2791         (WTF::HashTableStats::recordCollisionAtCount):
2792         (WTF::HashTableStats::dumpStats):
2793         * wtf/HashTable.h:
2794         (HashTableStats):
2795
2796 2012-05-15  Filip Pizlo  <fpizlo@apple.com>
2797
2798         shrinkToFit() is often not called for Vectors in CodeBlock
2799         https://bugs.webkit.org/show_bug.cgi?id=86436
2800
2801         Reviewed by Oliver Hunt.
2802         
2803         Gave SegmentedVector a shrinkToFit() method. This only shrinks the segment
2804         lookup table, which is likely to not be hugely profitable, but it is better
2805         than nothing.
2806
2807         * wtf/SegmentedVector.h:
2808         (SegmentedVector):
2809         (WTF::SegmentedVector::shrinkToFit):
2810
2811 2012-05-15  Andy Estes  <aestes@apple.com>
2812
2813         Add WTF_USE_SECURITY_FRAMEWORK and use it in place of the less specific PLATFORM(MAC)
2814         https://bugs.webkit.org/show_bug.cgi?id=86508
2815
2816         Reviewed by Sam Weinig.
2817
2818         * wtf/Platform.h:
2819
2820 2012-05-15  Zoltan Herczeg  <zherczeg@webkit.org>
2821
2822         NEONizing forceValidPreMultipliedPixels
2823         https://bugs.webkit.org/show_bug.cgi?id=86468
2824
2825         Reviewed by Nikolas Zimmermann.
2826
2827         Allow to disable all intrinsics with a single macro.
2828
2829         * wtf/Platform.h:
2830
2831 2012-05-14  Andy Estes  <aestes@apple.com>
2832
2833         Add WTF_USE_APPKIT to differentiate platforms that use AppKit.framework from other Darwin platforms
2834         https://bugs.webkit.org/show_bug.cgi?id=86432
2835
2836         Reviewed by Maciej Stachowiak.
2837
2838         * wtf/Platform.h:
2839
2840 2012-05-14  Mark Rowe  <mrowe@apple.com>
2841
2842         <http://webkit.org/b/86320> WTF.xcodeproj builds with -O3 in debug builds
2843
2844         Reviewed by Simon Fraser.
2845
2846         * WTF.xcodeproj/project.pbxproj: Ensure that the debug configuration uses the
2847         same settings as the debug variant would.
2848
2849 2012-05-14  Wei James  <james.wei@intel.com>
2850
2851         [Chromium] ImageDiff should be build for host on Android
2852         https://bugs.webkit.org/show_bug.cgi?id=82039
2853
2854         Reviewed by Adam Barth.
2855
2856         * WTF.gyp/WTF.gyp:
2857
2858 2012-05-14  Yong Li  <yoli@rim.com>
2859
2860         DFG JIT is not ARM EABI compatible
2861         https://bugs.webkit.org/show_bug.cgi?id=84449
2862
2863         Reviewed by Filip Pizlo.
2864
2865         Add COMPILER_SUPPORTS(EABI) when __ARM_EABI__
2866         or __EABI__ is defined.
2867
2868         * wtf/Compiler.h:
2869
2870 2012-05-10  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
2871
2872         [EFL] Add OwnPtr specialization for Eina_Hash.
2873         https://bugs.webkit.org/show_bug.cgi?id=85046
2874
2875         Reviewed by Andreas Kling.
2876
2877         Add an override for Eina_Hash for EFL port.
2878
2879         * wtf/OwnPtrCommon.h:
2880         (WTF):
2881         * wtf/efl/OwnPtrEfl.cpp:
2882         (WTF::deleteOwnedPtr):
2883         (WTF):
2884
2885 2012-05-09  Filip Pizlo  <fpizlo@apple.com>
2886
2887         It should be possible to get useful debug logging from the JIT memory allocator
2888         https://bugs.webkit.org/show_bug.cgi?id=86042
2889
2890         Reviewed by Geoff Garen.
2891
2892         * wtf/MetaAllocator.cpp:
2893         (WTF::MetaAllocator::findAndRemoveFreeSpace):
2894         (WTF::MetaAllocator::addFreeSpace):
2895         (WTF::MetaAllocator::dumpProfile):
2896
2897 2012-05-08  Sheriff Bot  <webkit.review.bot@gmail.com>
2898
2899         Unreviewed, rolling out r116440.
2900         http://trac.webkit.org/changeset/116440
2901         https://bugs.webkit.org/show_bug.cgi?id=85904
2902
2903         Broke the Chromium Android bot (Requested by beverloo on
2904         #webkit).
2905
2906         * WTF.gyp/WTF.gyp:
2907
2908 2012-05-08  Adam Barth  <abarth@webkit.org>
2909
2910         [Chromium] OS(ANDROID) ImageDiff requires us to build WTF for both host and target
2911         https://bugs.webkit.org/show_bug.cgi?id=85897
2912
2913         Reviewed by Tony Chang.
2914
2915         * WTF.gyp/WTF.gyp:
2916
2917 2012-05-08  Adam Barth  <abarth@webkit.org>
2918
2919         [Chromium] Assertions.cpp should work on OS(ANDROID)
2920         https://bugs.webkit.org/show_bug.cgi?id=85867
2921
2922         Reviewed by Eric Seidel.
2923
2924         Some minor ifdefs for OS(ANDROID) on PLATFORM(CHROMIUM).
2925
2926         * wtf/Assertions.cpp:
2927
2928 2012-05-07  Adam Barth  <abarth@webkit.org>
2929
2930         [Chromium] Android wishes to use an empty implementation if AXObjectCache
2931         https://bugs.webkit.org/show_bug.cgi?id=85842
2932
2933         Reviewed by Eric Seidel.
2934
2935         Disable accessibility on OS(ANDROID) for PLATFORM(CHROMIUM).
2936
2937         * wtf/Platform.h:
2938
2939 2012-05-04  Jeff Rogers  <jrogers@rim.com>
2940
2941         [BlackBerry] Implement numberOfProcessorCores() for QNX
2942         https://bugs.webkit.org/show_bug.cgi?id=85638
2943
2944         Reviewed by Antonio Gomes.
2945
2946         * wtf/NumberOfCores.cpp:
2947         (WTF::numberOfProcessorCores):
2948
2949 2012-05-03  Yong Li  <yoli@rim.com>
2950
2951         Mutex failure when HashTable is memory moved in debug build
2952         https://bugs.webkit.org/show_bug.cgi?id=84970
2953
2954         Reviewed by Rob Buis.
2955
2956         1. Replace m_mutex with OwnPtr<m_mutex> so HashTable is still
2957            memory movable in debug build.
2958         2. Assert successes of pthread_mutex_init() and pthread_mutex_destroy().
2959
2960         * wtf/HashTable.h:
2961         (HashTable):
2962         (WTF::::HashTable):
2963         (WTF::::invalidateIterators):
2964         (WTF::addIterator):
2965         (WTF::removeIterator):
2966         * wtf/ThreadingPthreads.cpp:
2967         (WTF::Mutex::Mutex):
2968         (WTF::Mutex::~Mutex):
2969
2970 2012-05-02  Antti Koivisto  <antti@apple.com>
2971
2972         Add temporary feature define for parsed stylesheet caching
2973         https://bugs.webkit.org/show_bug.cgi?id=85413
2974
2975         Rubber-stamped by Nikolas Zimmermann.
2976
2977         While not an externally visible feature this is still a significant internal change.
2978         It is good to have define in case someone has an urgent need to turn it off.
2979         
2980         Caching is enabled by default on all platforms. The define should be removed after some bake time.
2981
2982         * wtf/Platform.h:
2983
2984 2012-05-02  Lauro Neto  <lauro.neto@openbossa.org>
2985
2986         [Qt]r57240 broke Qt build (gcc bug)
2987         https://bugs.webkit.org/show_bug.cgi?id=37253
2988
2989         Reviewed by Csaba Osztrogonác.
2990
2991         Add back the inline hack just for ARM due to old version of
2992         gcc still being used on Harmattan SDK. Thanks to Ossy for the
2993         suggestion.
2994         * wtf/PassRefPtr.h:
2995         (WTF):
2996
2997 2012-05-02  Nico Weber  <thakis@chromium.org>
2998
2999         Let WebKit parse with clang on windows with -std=c++11
3000         https://bugs.webkit.org/show_bug.cgi?id=85398
3001
3002         Reviewed by Ryosuke Niwa.
3003
3004         See http://trac.webkit.org/changeset/85945 for background on the line
3005         I'm changing. With clang, __GXX_EXPERIMENTLAL_CXX0X__ is set in c++11
3006         mode, but MSVC's c++ library doesn't have a tr1/memory header. So also
3007         check for __GLIBCXX__, like it's done in the rest of this file.
3008
3009         * wtf/TypeTraits.h:
3010
3011 2012-05-02  Adenilson Cavalcanti  <cavalcantii@gmail.com>
3012
3013         [Qt]r57240 broke Qt build (gcc bug)
3014         https://bugs.webkit.org/show_bug.cgi?id=37253
3015
3016         Reviewed by Noam Rosenthal.
3017
3018         Removing workaround macro since current gcc/Qt doesn't require it to compile.
3019
3020         * wtf/PassRefPtr.h:
3021         (WTF):
3022
3023 2012-04-30  Oliver Hunt  <oliver@apple.com>
3024
3025         Investigate overflows in Canvas putImageData routine
3026         https://bugs.webkit.org/show_bug.cgi?id=61373
3027
3028         Reviewed by Gavin Barraclough.
3029
3030         Allow floating point multiplies of checked types (complete with
3031         bounds checks).
3032
3033         * wtf/CheckedArithmetic.h:
3034         (Checked):
3035         (WTF::Checked::operator*=):
3036
3037 2012-04-30  Benjamin Poulain  <benjamin@webkit.org>
3038
3039         Add String::startsWith() and endsWith() for string literals
3040         https://bugs.webkit.org/show_bug.cgi?id=85154
3041
3042         Reviewed by Darin Adler.
3043
3044         When invoking StringImpl::startsWidth() or StringImpl::endsWith() with
3045         a string literal, a new String was constructed implicitly, allocating
3046         a new StringImpl and copying the characters for the operation.
3047
3048         This patch adds a version of those methods for single characters and
3049         string literals.
3050         This allows us to avoid allocating memory and use the characters in place,
3051         and it permits some extra shortcuts in the implementation.
3052
3053         * wtf/text/AtomicString.h:
3054         (WTF::AtomicString::startsWith):
3055         (AtomicString):
3056         (WTF::AtomicString::endsWith):
3057         * wtf/text/StringImpl.cpp:
3058         (WTF::equalInner):
3059         (WTF):
3060         (WTF::StringImpl::startsWith):
3061         (WTF::StringImpl::endsWith):
3062         * wtf/text/StringImpl.h:
3063         (WTF::StringImpl::startsWith):
3064         (StringImpl):
3065         (WTF::StringImpl::endsWith):
3066         * wtf/text/WTFString.h:
3067         (WTF::String::startsWith):
3068         (String):
3069         (WTF::String::endsWith):
3070
3071 2012-04-30  Anders Carlsson  <andersca@apple.com>
3072
3073         WTF::bind should work with blocks
3074         https://bugs.webkit.org/show_bug.cgi?id=85227
3075
3076         Reviewed by Sam Weinig.
3077
3078         Add a block type FunctionWrapper specialization.
3079
3080         * wtf/Functional.h:
3081
3082 2012-04-28  Emil A Eklund  <eae@chromium.org>
3083
3084         Add ENABLE_SUBPIXEL_LAYOUT controlling FractionalLayoutUnit denominator
3085         https://bugs.webkit.org/show_bug.cgi?id=85146
3086
3087         Reviewed by Eric Seidel.
3088
3089         Add a new flag for controlling the fixed point denominator in
3090         FractionalLayoutUnit. Controls whether the denominator is set to 60 or 1.
3091         Until we change the LayoutUnit typedef this change will have no effect.
3092
3093         * wtf/Platform.h:
3094
3095 2012-04-29  Kent Tamura  <tkent@chromium.org>
3096
3097         [Mac] Add LocalizedDateMac
3098         https://bugs.webkit.org/show_bug.cgi?id=85039
3099
3100         Reviewed by Kentaro Hara.
3101
3102         * wtf/DateMath.h:
3103         (WTF): Add monthFullName[]. It is useful to make fallback month
3104         names for calendar/date related features.
3105
3106 2012-04-26  Carlos Garcia Campos  <cgarcia@igalia.com>
3107
3108         [SOUP] Add a way to register custom uri schemes in WebKit2
3109         https://bugs.webkit.org/show_bug.cgi?id=84130
3110
3111         Reviewed by Martin Robinson.
3112
3113         Add GPtrArray template to be able to use GRefPtr with GPtrArrays.
3114
3115         * wtf/gobject/GRefPtr.cpp:
3116         (WTF::refGPtr):
3117         (WTF):
3118         (WTF::derefGPtr):
3119         * wtf/gobject/GRefPtr.h:
3120         (WTF):
3121         * wtf/gobject/GTypedefs.h:
3122
3123 2012-04-26  Nico Weber  <thakis@chromium.org>
3124
3125         Don't define WTF_COMPILER_SUPPORTS_CXX_NULLPTR twice when building with clang on windows.
3126         https://bugs.webkit.org/show_bug.cgi?id=85018
3127
3128         Reviewed by Anders Carlsson.
3129
3130         Clang sets _MSC_VER when compiling for a -pc-win32 target (just like it sets __GNUC__ on unix).
3131         As a result, WTF_COMPILER_SUPPORTS_CXX_NULLPTR gets currently set twice, once for clang and
3132         once for _MSC_VER. Guard the second instance with !COMPILER(CLANG). This matches the gcc code
3133         for WTF_COMPILER_SUPPORTS_CXX_NULLPTR in the same file.
3134
3135         * wtf/Compiler.h:
3136
3137 2012-04-26  Antonio Gomes  <agomes@rim.com>
3138
3139         [BlackBerry] properly disable DRAG_SUPPORT
3140         https://bugs.webkit.org/show_bug.cgi?id=84952
3141
3142         Reviewed by Daniel Bates.
3143
3144         * wtf/Platform.h: Remove the line that disables drag support from here
3145         for the BlackBerry port.
3146
3147 2012-04-25  Benjamin Poulain  <benjamin@webkit.org>
3148
3149         Add a version of StringImpl::find() without offset
3150         https://bugs.webkit.org/show_bug.cgi?id=83968
3151
3152         Reviewed by Sam Weinig.
3153
3154         This patch add a version of StringImpl::find() without offset, Instead of using the default
3155         value for the index.
3156
3157         By not having the index, we can skip a couple of branches and a few instructions. This gives
3158         significant gains when the strings are short-ish.
3159
3160         The case of empty string is moved below (matchLength == 1) since it is a less common operation.
3161
3162         * wtf/text/StringImpl.cpp:
3163         (WTF::StringImpl::find):
3164         (WTF):
3165         * wtf/text/StringImpl.h:
3166         (StringImpl):
3167         * wtf/text/WTFString.h:
3168         (String):
3169         (WTF::String::find):
3170
3171 2012-04-25  Darin Adler  <darin@apple.com>
3172
3173         Iterating a HashMap<String, X> involves a string equality comparison to check for the empty value
3174         https://bugs.webkit.org/show_bug.cgi?id=84524
3175
3176         Reviewed by Antti Koivisto.
3177
3178         * wtf/HashMap.h: Added a struct template, HashMapValueTraits, that derives from
3179         PairHashTraits, adds an isEmptyValue function that looks only at the key, not
3180         the mapped value, in the hash table value, and uses the isHashTraitsEmptyValue
3181         function template to check if the key is empty.
3182
3183 2012-04-25  Landry Breuil  <landry@openbsd.org>
3184
3185         Include <sys/param.h>, needed for sysctl() on OpenBSD/NetBSD
3186         https://bugs.webkit.org/show_bug.cgi?id=82585
3187
3188         Reviewed by Zoltan Herczeg.
3189
3190         * wtf/NumberOfCores.cpp: include <sys/param.h> on the BSDs
3191
3192 2012-04-25  Kenneth Russell  <kbr@google.com>
3193
3194         Delete CanvasPixelArray, ByteArray, JSByteArray and JSC code once unreferenced
3195         https://bugs.webkit.org/show_bug.cgi?id=83655
3196
3197         Reviewed by Oliver Hunt.
3198
3199         * GNUmakefile.list.am:
3200         * WTF.gypi:
3201         * WTF.pro:
3202         * WTF.vcproj/WTF.vcproj:
3203         * WTF.xcodeproj/project.pbxproj:
3204         * wtf/ByteArray.cpp: Removed.
3205         * wtf/ByteArray.h: Removed.
3206         * wtf/CMakeLists.txt:
3207
3208 2012-04-25  Philippe Normand  <pnormand@igalia.com>
3209
3210         Webkit build fails due to missing gstreamer include file on Kubuntu 8.04
3211         https://bugs.webkit.org/show_bug.cgi?id=81913
3212
3213         Reviewed by Tor Arne Vestbø.
3214
3215         * WTF.pri: GStreamer build support implies GLib support, as it's
3216         done in WebCore.pri.
3217
3218 2012-04-24  Benjamin Poulain  <bpoulain@apple.com>
3219
3220         Generalize the single character optimization of r114072
3221         https://bugs.webkit.org/show_bug.cgi?id=83961
3222
3223         Reviewed by Eric Seidel.
3224
3225         This patch makes some improvment over String::find() in the case of lookup for a single
3226         character.
3227
3228         The two function find(UChar|LChar) are replaced by a template.
3229
3230         The case of searching a UChar in a 8bit string has a shortcut if the UChar cannot
3231         possibly match any character in the range of the type LChar.
3232
3233         The slow case StringImpl::find(StringImpl*) is modified to
3234         -Do not allocate in the fast case if only one string is 8bit.
3235         -Use the shortcut for searching UChar in LChar.
3236
3237         This speed up the function by about 7% when avoiding string conversion.
3238
3239         * wtf/text/StringImpl.cpp:
3240         (WTF::StringImpl::find):
3241         * wtf/text/StringImpl.h:
3242         (StringImpl):
3243         (WTF):
3244         (WTF::find):
3245         (WTF::StringImpl::find):
3246
3247 2012-04-24  Darin Adler  <darin@apple.com>
3248
3249         Iterating a HashMap<String, X> involves a string equality comparison to check for the empty value
3250         https://bugs.webkit.org/show_bug.cgi?id=84524
3251
3252         Reviewed by Antti Koivisto.
3253
3254         Added a new algorithm for checking for empty buckets that can be specialized.
3255         Specialized it for String. We may later want to do the same thing for KURL.
3256         It's not important to do it for AtomicString, since AtomicString's == function
3257         is already a simple pointer equality compare. We may also later want to do
3258         something similar for pairs that have String objects in them.
3259
3260         * wtf/HashTable.h:
3261         (WTF::HashTable::isEmptyBucket): Call the new isHashTraitsEmptyValue function, which
3262         will do something more efficient for String.
3263
3264         * wtf/HashTraits.h: Added hasIsEmptyValueFunction to hash traits, with a default value
3265         of false. This allows us to continue to get automatic comparison with the appropriate
3266         emptyValue result for all existing traits, but supply a custom isEmptyValue function
3267         for HashTraits<String>. Putting an isEmptyValue function into the traits would require
3268         overriding it in every class that has a custom value for emptyValue. Specialized
3269         HashTraits for String to add hasIsEmptyValueFunction and declare, but not define, the
3270         isEmptyValue function.
3271         (WTF::isHashTraitsEmptyValue): Added a function that uses the HashTraitsEmptyValueChecker
3272         struct to use either == combined with the emptyValue function or the isEmptyValue function.
3273
3274         * wtf/text/StringHash.h: Removed unneeded includes and sorted the using statements at
3275         the bottom of the file.
3276         (WTF::HashTraits<String>::isEmptyValue): Define this function here, since here we have
3277         included the WTFString.h header; the HashTraits.h header compiles without WTFString.h.
3278
3279 2012-04-23  Kenneth Russell  <kbr@google.com>
3280
3281         Change ImageData to reference Uint8ClampedArray rather than CanvasPixelArray
3282         https://bugs.webkit.org/show_bug.cgi?id=73011
3283
3284         Reviewed by Oliver Hunt.
3285
3286         * wtf/ArrayBuffer.h:
3287         (ArrayBuffer):
3288         (WTF::ArrayBuffer::create):
3289         (WTF::ArrayBuffer::createUninitialized):
3290         (WTF):
3291         (WTF::ArrayBufferContents::tryAllocate):
3292         * wtf/TypedArrayBase.h:
3293         (WTF::TypedArrayBase::createUninitialized):
3294         (TypedArrayBase):
3295         * wtf/Uint8ClampedArray.h:
3296         (Uint8ClampedArray):
3297         (WTF::Uint8ClampedArray::createUninitialized):
3298         (WTF):
3299         (WTF::Uint8ClampedArray::zeroFill):
3300
3301 2012-04-23  George Staikos  <staikos@webkit.org>
3302
3303         Enable parallel GC for BlackBerry.
3304         https://bugs.webkit.org/show_bug.cgi?id=84633
3305
3306         Reviewed by Antonio Gomes.
3307
3308         * wtf/Platform.h:
3309
3310 2012-04-23  Sheriff Bot  <webkit.review.bot@gmail.com>
3311
3312         Unreviewed, rolling out r114914.
3313         http://trac.webkit.org/changeset/114914
3314         https://bugs.webkit.org/show_bug.cgi?id=84615
3315
3316         Causing infinite hangs on some tests involving HashMaps with
3317         integer keys (Requested by dimich on #webkit).
3318
3319         * wtf/HashTable.h:
3320         (WTF::HashTable::isEmptyBucket):
3321         * wtf/HashTraits.h:
3322         * wtf/text/StringHash.h:
3323
3324 2012-04-23  Darin Adler  <darin@apple.com>
3325
3326         Iterating a HashMap<String, X> involves a string equality comparison to check for the empty value
3327         https://bugs.webkit.org/show_bug.cgi?id=84524
3328
3329         Reviewed by Antti Koivisto.
3330
3331         Added a new algorithm for checking for empty buckets that can be specialized.
3332         Specialized it for String. We may later want to do the same thing for KURL.
3333         It's not important to do it for AtomicString, since AtomicString's == function
3334         is already a simple pointer equality compare.
3335
3336         * wtf/HashTable.h:
3337         (WTF::HashTable::isEmptyBucket): Call the new isHashTraitsEmptyValue function, which
3338         will do something more efficient for String.
3339
3340         * wtf/HashTraits.h: Added hasIsEmptyValueFunction to hash traits, with a default value
3341         of false. This allows us to continue to get automatic comparison with the appropriate
3342         emptyValue result for all existing traits, but supply a custom isEmptyValue function
3343         for HashTraits<String>. Putting an isEmptyValue function into the traits would require
3344         overriding it in every class that has a custom value for emptyValue. Specialized
3345         HashTraits for String to add hasIsEmptyValueFunction and declare, but not define, the
3346         isEmptyValue function.
3347         (WTF::isHashTraitsEmptyValue): Added a function that uses the HashTraitsEmptyValueChecker
3348         struct to use either == combined with the emptyValue function or the isEmptyValue function.
3349         (PairHashTraits): Define hasIsEmptyValueFunction and isEmptyValue.
3350
3351         * wtf/text/StringHash.h: Removed unneeded includes and sorted the using statements at
3352         the bottom of the file.
3353         (WTF::HashTraits<String>::isEmptyValue): Define this function here, since here we have
3354         included the WTFString.h header; the HashTraits.h header compiles without WTFString.h.
3355
3356 2012-04-18  Myles Maxfield  <mmaxfield@google.com>
3357
3358         Somehow, there's an errant backslash in my last WTF patch
3359         https://bugs.webkit.org/show_bug.cgi?id=84290
3360
3361         Reviewed by Andreas Kling.
3362
3363         * wtf/StdLibExtras.h:
3364         (WTF::roundUpToMultipleOf):
3365
3366 2012-04-16  Nico Weber  <thakis@chromium.org>
3367
3368         Make NullPtr.h compile with clang -std=c++11 and libstdc++4.2
3369         https://bugs.webkit.org/show_bug.cgi?id=83999
3370
3371         Reviewed by Sam Weinig.
3372
3373         Before this patch, NullPtr.h assumed that a working |nullptr| implied
3374         a working |std::nullptr_t| as well. With clang and libstdc++4.2, this
3375         is not true.
3376
3377         I tested (-stdlib=libc++, -stdlib=libstdc++) x (-std=c++11, -std=c++03)
3378         with clang.
3379
3380         * wtf/NullPtr.h:
3381         (std):
3382
3383 2012-04-14  Sam Weinig  <sam@webkit.org>
3384
3385         Harden WTF::ByteArray::create()
3386         https://bugs.webkit.org/show_bug.cgi?id=83318
3387
3388         Reviewed by Maciej Stachowiak.
3389
3390         * wtf/ByteArray.cpp:
3391         (WTF::ByteArray::create):
3392         Add overflow check. I don't believe there is anyway to trigger this currently,
3393         hence no tests, so this should be considered hardening.
3394
3395 2012-04-12  Benjamin Poulain  <bpoulain@apple.com>
3396
3397         Inline StringImpl::find(UChar, ...)
3398         https://bugs.webkit.org/show_bug.cgi?id=83737
3399
3400         Reviewed by Geoffrey Garen.
3401
3402         The implementation of StringImpl::find() is a simple branch before invoking one of
3403         two inline functions. The overhead of having a function for StringImpl::find() is significant.
3404
3405         It is better to let the compiler decide if that should be inlined or not.
3406
3407         * wtf/text/StringImpl.cpp:
3408         * wtf/text/StringImpl.h:
3409         (StringImpl):
3410         (WTF::find):
3411         (WTF):
3412         (WTF::reverseFind):
3413         (WTF::StringImpl::find):
3414         * wtf/text/WTFString.h:
3415
3416 2012-04-12  Balazs Kelemen  <kbalazs@webkit.org>
3417
3418         [Qt] Fix WebKit1 build with V8
3419         https://bugs.webkit.org/show_bug.cgi?id=83322
3420
3421         Reviewed by Adam Barth.
3422
3423         * wtf/StdLibExtras.h:
3424         (WTF):
3425
3426 2012-04-12  Jer Noble  <jer.noble@apple.com>
3427
3428         ThreadingWin: Mutex::unlock() can be "over-unlocked".
3429         https://bugs.webkit.org/show_bug.cgi?id=83725
3430
3431         Reviewed by David Levin.
3432
3433         In order to support the behavior of pthread_mutex_trylock(), the Windows Mutex class includes
3434         a recursion counter which is incremented in Mutex::lock(), decremented in Mutex::unlock(),
3435         and checked in Mutex::tryLock().  If the mutex is "over-unlocked", the counter wraps around to
3436         MAX_INT, and subsequent calls to Mutex::trylock() will fail. Raise an ASSERT in this situation
3437         so the "over-unlock" will be caught.
3438
3439         * wtf/ThreadingWin.cpp:
3440         (WTF::Mutex::unlock): ASSERT if unlocking a non-locked mutex.
3441
3442 2012-04-10  Mark Rowe  <mrowe@apple.com>
3443
3444         <rdar://problem/10583749> WebKit2 should log to both ASL and stderr
3445
3446         Reviewed by Sam Weinig.
3447
3448         * wtf/Assertions.cpp: Add a WTFLogAlways function that unconditionally logs the given message.
3449         * wtf/Assertions.h:
3450
3451 2012-04-10  Patrick Gansterer  <paroga@webkit.org>
3452
3453         Cleanup wtf/Platform.h and config.h files
3454         https://bugs.webkit.org/show_bug.cgi?id=83431
3455
3456         Reviewed by Eric Seidel.
3457
3458         The ENABLE() and USE() macros take care about the case when the flag
3459         isn't defined. So there is no need to define anything with 0.
3460
3461         Also move duplicated code from the config.h files to Platform.h and
3462         merge a few preprocessor commands to make the file more readable.
3463
3464         * config.h:
3465         * wtf/Platform.h:
3466
3467 2012-04-10  Filip Pizlo  <fpizlo@apple.com>
3468
3469         DFG should flush SetLocals to arguments
3470         https://bugs.webkit.org/show_bug.cgi?id=83554
3471
3472         Reviewed by Gavin Barraclough.
3473         
3474         Added an isRoot() method that is a faster shorthand for saying
3475         find() == this.
3476
3477         * wtf/UnionFind.h:
3478         (WTF::UnionFind::isRoot):
3479         (UnionFind):
3480
3481 2012-04-10  Adam Klein  <adamk@chromium.org>
3482
3483         Remove unused NonNullPassRefPtr from WTF
3484         https://bugs.webkit.org/show_bug.cgi?id=82389
3485
3486         Reviewed by Kentaro Hara.
3487
3488         NonNullPassRefPtr seems to be unused since JSC allocation was
3489         restructured in r84052.
3490
3491         If someone decides they need this later, they can always revert this patch.
3492
3493         * wtf/PassRefPtr.h:
3494         * wtf/RefPtr.h:
3495         (RefPtr):
3496
3497 2012-04-10  Patrick Gansterer  <paroga@webkit.org>
3498
3499         [CMake] Enable USE_FOLDERS property
3500         https://bugs.webkit.org/show_bug.cgi?id=83571
3501
3502         Reviewed by Daniel Bates.
3503
3504         Setting the FOLDER property on targets gives more structure 
3505         to the generated Visual Studio solutions.
3506         This does not affect other CMake generators.
3507
3508         * wtf/CMakeLists.txt:
3509
3510 2012-04-09  Patrick Gansterer  <paroga@webkit.org>
3511
3512         Port BinarySemaphoreWin.cpp to WinCE
3513         https://bugs.webkit.org/show_bug.cgi?id=83502
3514
3515         Reviewed by Daniel Bates.
3516
3517         Replace WaitForSingleObjectEx with WaitForSingleObject since
3518         the additonal parameter supported by the extended function
3519         is not used anyway and the function does not exist on WinCE.
3520
3521         * wtf/CMakeLists.txt:
3522         * wtf/PlatformWinCE.cmake:
3523         * wtf/threads/win/BinarySemaphoreWin.cpp:
3524         (WTF::BinarySemaphore::wait):
3525
3526 2012-04-09  Patrick Gansterer  <paroga@webkit.org>
3527
3528         [CMake] Build fix for USE_SYSTEM_MALLOC after r113570.
3529
3530         * wtf/CMakeLists.txt:
3531
3532 2012-04-09  Patrick Gansterer  <paroga@webkit.org>
3533
3534         Remove HAVE_STDINT_H
3535         https://bugs.webkit.org/show_bug.cgi?id=83434
3536
3537         Reviewed by Kentaro Hara.
3538
3539         HAVE_STDINT_H is defined with 1 all the time and we us stdint.h without HAVE(STDINT_H) already.
3540
3541         * config.h:
3542         * wtf/FastMalloc.cpp:
3543         * wtf/TCPageMap.h:
3544         * wtf/TCSpinLock.h:
3545         * wtf/TCSystemAlloc.cpp:
3546
3547 2012-04-06  Benjamin Poulain  <bpoulain@apple.com>
3548
3549         Get rid of the useless flag PREEMPT_GEOLOCATION_PERMISSION
3550         https://bugs.webkit.org/show_bug.cgi?id=83325
3551
3552         Reviewed by Ryosuke Niwa.
3553
3554         * wtf/Platform.h: Remove the flag.
3555
3556 2012-04-06  Darin Adler  <darin@apple.com>
3557
3558         Streamline strtod and fix some related problems
3559         https://bugs.webkit.org/show_bug.cgi?id=82857
3560
3561         Reviewed by Geoffrey Garen.
3562
3563         Replaced the strtod function template with a parseDouble function, eliminating
3564         the following unneeded features:
3565
3566         - need for a trailing null character and a call to strlen
3567         - needless conversion of string lengths from size_t to int and back that created
3568           the possibility of incorrect truncation
3569         - one level of function call; use inlining instead
3570         - construction of the StringToDoubleConverter object; it was used to pass
3571           arguments that are known at compile time
3572         - most of the StringToDoubleConverter::StringToDouble function's body; it was
3573           code we did not need
3574         - parsing of Infinity and NaN at the strtod level; added recently when we moved
3575           from the old strtod to the new one, and not needed or helpful at this level
3576         - multiple copies of code to narrow to single byte strings; in many cases
3577           this was done even when starting with an LChar string that is already
3578           single-byte, now we handle this with an overload of parseDouble
3579
3580         * wtf/dtoa.cpp:
3581         Removed a long comment about the original strtod function that no longer
3582         applies since we deleted that function long ago. Removed a lot of includes.
3583         Removed the strtod function templates and its instantiations, since they
3584         are now replaced by the parseDouble function.
3585         (WTF::Internal::parseDoubleFromLongString): Added.
3586         * wtf/dtoa.h:
3587         Added an include of ASCIICType.h so we can use isASCII in a function in this
3588         header. Left the heretofore unneeded include of double-conversion.h, since we
3589         now want to use it in a function in this header. Removed the AllowTrailingJunkTag
3590         and AllowTrailingSpacesTag enumerations and the strtod function template. Added
3591         new parseDouble function, and inline implementation of it.
3592
3593         * wtf/dtoa/double-conversion.cc: Removed quite a bit of unused code, hardcoding
3594         all the StringToDouble function arguments that come from data members so it can
3595         be a much smaller static member function. Also changed the types of arguments
3596         from int to size_t.
3597         * wtf/dtoa/double-conversion.h: Removed most of the StringToDoubleConverter
3598         class, leaving only the conversion function as a static member function.
3599
3600         * wtf/text/StringImpl.cpp:
3601         (WTF::StringImpl::toDouble): Got rid of didReadNumber.
3602         (WTF::StringImpl::toFloat): Ditto.
3603         * wtf/text/StringImpl.h: Ditto.
3604         * wtf/text/WTFString.cpp:
3605         (WTF::String::toDouble): Got rid of didReadNumber.
3606         (WTF::String::toFloat): Ditto.
3607         (WTF::toDoubleType): Rewrote this function to use parseDouble. Moved the code
3608         to skip leading spaces here, because other callers of parseDouble don't want
3609         to do that. Repurposed the check for an empty string so it's now the same
3610         code shared by all the "parsed nothing" cases. Removed the code to convert
3611         the buffer to ASCII for two reasons: (1) We don't need that code at all when
3612         CharType is LChar, and (2) We now handle this through the two overloads for
3613         the parseDouble function. Disallowing trailing junk is now handled here,
3614         rather than inside parseDouble.
3615         (WTF::charactersToDouble): Updated for changes to toDoubleType. Removed the
3616         didReadNumber argument.
3617         (WTF::charactersToFloat): Ditto. Also added overloads that return the parsed
3618         length. These are a slightly more powerful way to do what didReadNumber was
3619         used for before.
3620
3621         * wtf/text/WTFString.h: Added comments, eliminated didReadNumber, and added
3622         overloads of charactersToFloat that replace charactersToFloatIgnoringJunk.
3623
3624 2012-04-05  Patrick Gansterer  <paroga@webkit.org>
3625
3626         [WinCE] Remove unnecessary function decleration
3627         https://bugs.webkit.org/show_bug.cgi?id=83155
3628
3629         Reviewed by Kentaro Hara.
3630
3631         * wtf/DateMath.cpp:
3632         * wtf/Platform.h:
3633
3634 2012-04-04  Patrick Gansterer  <paroga@webkit.org>
3635
3636         Add WTF::getCurrentLocalTime()
3637         https://bugs.webkit.org/show_bug.cgi?id=83164
3638
3639         Reviewed by Alexey Proskuryakov.
3640
3641         Replace the calls to WTF::getLocalTime() with time(0) with the new function.
3642         This allows us to use Win32 API on windows to get the same result in a next step.
3643
3644         Also remove the inline keyword from WTF::getLocalTime(), since there is no need for
3645         it and it will make the later Win32 API changes easier.
3646
3647         * WTF.gyp/WTF.gyp:
3648         * wtf/CurrentTime.cpp:
3649         (WTF::getLocalTime):
3650         (WTF::getCurrentLocalTime):
3651         * wtf/CurrentTime.h:
3652
3653 2012-04-04  Chris Rogers  <crogers@google.com>
3654
3655         Web Audio should use MutexTryLocker class
3656         https://bugs.webkit.org/show_bug.cgi?id=83194
3657
3658         Reviewed by Kenneth Russell.
3659
3660         Add MutexTryLocker class which can be used as a stack-based object wrapping a Mutex.
3661         It will automatically unlock the Mutex in its destructor if the tryLock() succeeded.
3662
3663         * wtf/ThreadingPrimitives.h:
3664         (MutexTryLocker):
3665         (WTF::MutexTryLocker::MutexTryLocker):
3666         (WTF::MutexTryLocker::~MutexTryLocker):
3667         (WTF::MutexTryLocker::locked):
3668         Check if the tryLock() on the Mutex succeeded.
3669         (WTF):
3670
3671 2012-04-04  Kausalya Madhusudhanan  <kmadhusu@chromium.org>
3672
3673         [Coverity] Address some uninit constructor values.
3674         https://bugs.webkit.org/show_bug.cgi?id=82424
3675
3676         Reviewed by Stephen White.
3677
3678         New tests are not required since I did not modify any code behavior. I just initialized the class member variables in the constructor.
3679
3680         * wtf/ArrayBufferView.cpp:
3681         (WTF::ArrayBufferView::ArrayBufferView):
3682
3683 2012-03-30  David Barr  <davidbarr@chromium.org>
3684
3685         Split up top-level .gitignore and .gitattributes
3686         https://bugs.webkit.org/show_bug.cgi?id=82687
3687
3688         Reviewed by Tor Arne Vestbø.
3689
3690         * WTF.gyp/.gitignore: Added.
3691
3692 2012-03-29  Kevin Ollivier  <kevino@theolliviers.com>
3693
3694         [wx] Unreviewed build fix. Add export symbols needed to
3695         build wx under Windows.
3696         
3697         * wtf/NullPtr.h:
3698         * wtf/ParallelJobsGeneric.h:
3699         (ParallelEnvironment):
3700         * wtf/ThreadSpecific.h:
3701         (WTF):
3702
3703 2012-03-29  Kevin Ollivier  <kevino@theolliviers.com>
3704
3705         [wx] Unreviewed build fix. Add WTF_EXPORT_PRIVATE_NO_RTTI
3706         so that ports not using RTTI can add symbol exports to
3707         classes that RTTI ports export with WTF_EXPORT_PRIVATE_RTTI.
3708
3709         * wtf/ArrayBufferView.h:
3710         * wtf/ExportMacros.h:
3711
3712 2012-03-29  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
3713
3714         HashMap<>::add should return a more descriptive object
3715         https://bugs.webkit.org/show_bug.cgi?id=71063
3716
3717         Reviewed by Ryosuke Niwa.
3718
3719         Make HashTable<>::add() and derivate functions return an AddResult struct instead
3720         of a pair. This struct contains contains 'iterator' and 'isNewEntry' members, that are
3721         more readable at callsites than previous 'first' and 'second'.
3722
3723         * wtf/HashCountedSet.h:
3724         (HashCountedSet):
3725         (WTF::::add):
3726         * wtf/HashMap.h:
3727         (HashMap):
3728         (WTF):
3729         (WTF::::set):
3730         * wtf/HashSet.h:
3731         (HashSet):
3732         (WTF::::add):
3733         (WTF):
3734         * wtf/HashTable.h:
3735         (WTF::HashTableAddResult::HashTableAddResult):
3736         (HashTableAddResult):
3737         (WTF):
3738         (HashTable):
3739         (WTF::HashTable::add):
3740         (WTF::::add):
3741         (WTF::::addPassingHashCode):
3742         * wtf/ListHashSet.h:
3743         (ListHashSet):
3744         (WTF::::add):
3745         (WTF::::insertBefore):
3746         * wtf/RefPtrHashMap.h:
3747         (WTF):
3748         (WTF::::set):
3749         * wtf/Spectrum.h:
3750         (WTF::Spectrum::add):
3751         * wtf/WTFThreadData.cpp:
3752         (JSC::IdentifierTable::add):
3753         * wtf/WTFThreadData.h:
3754         (IdentifierTable):
3755         * wtf/text/AtomicString.cpp:
3756         (WTF::addToStringTable):
3757