12014-09-13  Babak Shafiei  <bshafiei@apple.com>
2
3        Merge r173595
4
5    2014-09-12  Tim Horton  <timothy_horton@apple.com>
6
7            Swiping back from a Twitter image to Twitter flashes to the wrong position
8            https://bugs.webkit.org/show_bug.cgi?id=136798
9            <rdar://problem/18324338>
10
11            Reviewed by Darin Adler and Sam Weinig.
12
13            * wtf/RunLoop.h:
14            (WTF::RunLoop::TimerBase::startRepeating):
15            Add a std::chrono veresion of RunLoop::TimerBase::startRepeating.
16
172014-08-28  Roger Fong  <roger_fong@apple.com>
18
19        Unreviewed build fix. Specify which version of cygwin python to use.
20
21        * WTF.vcxproj/WTFGenerated.make:
22
232014-08-28  Lucas Forschler  <lforschler@apple.com>
24
25        Merge r173036
26
27    2014-08-27  Mark Rowe  <mrowe@apple.com>
28
29            JavaScriptCore is missing debug info for WTF because libWTF.a is stripped.
30            <https://webkit.org/b/136320> / <rdar://problem/18148776>
31
32            Reviewed by Dan Bernstein.
33
34            * Configurations/WTF.xcconfig: Set STRIP_INSTALLED_PRODUCT = NO for the target
35            that produces libWTF.a so that the debug symbols will be linked into JavaScriptCore
36            and end up in its dSYM file.
37
382014-08-15  Matthew Hanson  <matthew_hanson@apple.com>
39
40        Merge r172019. <rdar://problem/18029617>
41
42    2014-08-04  Matthew Hanson  <matthew_hanson@apple.com>
43    
44            [Win] Temporarily turn off WebGL.
45            https://bugs.webkit.org/show_bug.cgi?id=135543
46    
47            Landed on behalf of Brent Fulgham.
48    
49            * wtf/FeatureDefines.h: Turn off WebGL feature.
50    
512014-07-30  Lucas Forschler  <lforschler@apple.com>
52
53        Merge r171825
54
55    2014-07-29  Brent Fulgham  <bfulgham@apple.com>
56    
57            [Win] Modify version numbering scheme to support 5-tuple versions
58            https://bugs.webkit.org/show_bug.cgi?id=135400
59            <rdar://problem/17849033>
60    
61            Reviewed by David Kilzer.
62    
63            * WTF.vcxproj/WTFPostBuild.cmd: Use new version-stamp.pl script
64            to version WTF.dll.
65            * WTF.vcxproj/WTFPreBuild.cmd: Make sure we have created the
66            appropriate version resource during builds.
67
682014-07-17  Dean Jackson  <dino@apple.com>
69
70        <rdar://problem/17675068> Disable some features on this branch.
71
72        Reviewed originally by Simon Fraser.
73
74        Disable:
75        - CSS_EXCLUSIONS
76        - CSS_GRID_LAYOUT
77        - INPUT_TYPE_COLOR
78        - INPUT_TYPE_COLOR_POPUP
79        - CANVAS_PATH
80        - CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED
81        - INDIE_UI
82        - SHARED_WORKERS
83        - NAVIGATOR_HWCONCURRENCY
84        - GAMEPAD
85        - PICTURE_SIZES
86        - CSS3_CONDITIONAL_RULES
87        - WILL_REVEAL_EDGE_EVENTS
88
89        * Configurations/FeatureDefines.xcconfig:
90
912014-07-15  Commit Queue  <commit-queue@webkit.org>
92
93        Unreviewed, rolling out r171107.
94        https://bugs.webkit.org/show_bug.cgi?id=134959
95
96        This was not the problem! (Requested by kling on #webkit).
97
98        Reverted changeset:
99
100        "Revert: Run the FastMalloc scavenger thread on iOS as well."
101        https://bugs.webkit.org/show_bug.cgi?id=134927
102        http://trac.webkit.org/changeset/171107
103
1042014-07-15  Andreas Kling  <akling@apple.com>
105
106        Revert: Run the FastMalloc scavenger thread on iOS as well.
107        <https://webkit.org/b/134927>
108        <rdar://problem/17485079>
109
110        This appears to be the cause of some elusive crashes, and since I don't
111        have a way to reproduce them, let's just go back to not running the
112        scavenger thread on iOS.
113
114        Reviewed by Antti Koivisto.
115
116        * wtf/FastMalloc.cpp:
117
1182014-07-13  Filip Pizlo  <fpizlo@apple.com>
119
120        HashMap should have removeIf()
121        https://bugs.webkit.org/show_bug.cgi?id=134870
122
123        Reviewed by Sam Weinig.
124        
125        Expose a new HashMap method, called removeIf(), which allows you to do an efficient
126        pass over the map and remove a bunch of things at once. This is used by DFG GCSE as
127        part of https://bugs.webkit.org/show_bug.cgi?id=134677.
128
129        * wtf/HashMap.h:
130        (WTF::X>::removeIf):
131        * wtf/HashTable.h:
132        (WTF::KeyTraits>::removeIf):
133
1342014-07-11  peavo@outlook.com  <peavo@outlook.com>
135
136        [Win] Enable DFG JIT.
137        https://bugs.webkit.org/show_bug.cgi?id=123615
138
139        Reviewed by Mark Lam.
140
141        * wtf/Platform.h:
142
1432014-07-11  Commit Queue  <commit-queue@webkit.org>
144
145        Unreviewed, rolling out r170995.
146        https://bugs.webkit.org/show_bug.cgi?id=134831
147
148        Causing odd crashes in debug builds (Requested by zdobersek on
149        #webkit).
150
151        Reverted changeset:
152
153        "[WTF] Add the move constructor, move assignment operator for
154        HashTable"
155        https://bugs.webkit.org/show_bug.cgi?id=130772
156        http://trac.webkit.org/changeset/170995
157
1582014-07-09  Zan Dobersek  <zdobersek@igalia.com>
159
160        [WTF] Add the move constructor, move assignment operator for HashTable
161        https://bugs.webkit.org/show_bug.cgi?id=130772
162
163        Reviewed by Darin Adler.
164
165        HashTable has both copy constructor and copy assignment operator, meaning that the move constructor
166        and move assignment operator are implicitly deleted. This patch defines both to avoid unnecessary
167        copies when moves can be performed.
168
169        * wtf/HashTable.h:
170        (WTF::KeyTraits>::HashTable):
171
1722014-07-10  Alex Christensen  <achristensen@webkit.org>
173
174        Enable same features on all Windows ports.
175        https://bugs.webkit.org/show_bug.cgi?id=134715
176
177        Reviewed by Brent Fulgham.
178
179        * wtf/Platform.h:
180        Use REQUEST_ANIMATION_FRAME_TIMER on WinCairo.
181
1822014-07-09  Brent Fulgham  <bfulgham@apple.com>
183
184        [Win] Unreviewed build fix after r170930.
185
186        * WTF.vcxproj/copy-files.cmd: Include cf files in
187        post-build copy operation.
188
1892014-07-09  Brent Fulgham  <bfulgham@apple.com>
190
191        [Win] Remove uses of 'bash' in build system
192        https://bugs.webkit.org/show_bug.cgi?id=134782
193        <rdar://problem/17615533>
194
195        Reviewed by Dean Jackson.
196
197        Remove uses of 'bash' by replacing Windows-specific bash scripts
198        with Perl equivalents.
199
200        * WTF.vcxproj/WTFGenerated.make:
201        * WTF.vcxproj/WTFGenerated.vcxproj:
202        * WTF.vcxproj/WTFGenerated.vcxproj.filters:
203        * WTF.vcxproj/WTFPreBuild.cmd:
204        * WTF.vcxproj/build-generated-files.pl: Copied from Source/WTF/WTF.vcxproj/build-generated-files.sh.
205        * WTF.vcxproj/build-generated-files.sh: Removed.
206
2072014-07-09  Brent Fulgham  <bfulgham@apple.com>
208
209        [Win] Remove use of 'grep' in build steps
210        https://bugs.webkit.org/show_bug.cgi?id=134770
211        <rdar://problem/17608783>
212
213        Reviewed by Tim Horton.
214
215        Replace uses of the grep command in Windows builds with the equivalent
216        Perl program.
217
218        * WTF.vcxproj/WTFPreBuild.cmd:
219
2202014-07-07  Zan Dobersek  <zdobersek@igalia.com>
221
222        Enable ARMv7 disassembler for the GTK port
223        https://bugs.webkit.org/show_bug.cgi?id=134676
224
225        Reviewed by Benjamin Poulain.
226
227        * wtf/Platform.h: Enable the ARMv7 disassembler for the GTK port when
228        targeting the ARMv7 architecture.
229
2302014-07-06  Yoav Weiss  <yoav@yoav.ws>
231
232        Turn on img@sizes compile flag
233        https://bugs.webkit.org/show_bug.cgi?id=134634
234
235        Reviewed by Benjamin Poulain.
236
237        * wtf/FeatureDefines.h: Added compile flag definition.
238
2392014-07-03  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
240
241        Unreivewed, fix build break on EFL and GTK since r170767.
242
243        * wtf/CMakeLists.txt: Exclude Decoder.h and Encoder.h because those files were removed.
244
2452014-07-03  Daniel Bates  <dabates@apple.com>
246
247        Add WTF::move()
248        https://bugs.webkit.org/show_bug.cgi?id=134500
249
250        Reviewed by Darin Adler.
251
252        Substitution of WTF::move() for std::move() rubber-stamped by Anders Carlsson.
253
254        Implement WTF::move(), a replacement for std::move(). WTF::move() is less error
255        prone than std::move() as it compile asserts that its argument is a non-const
256        lvalue reference before ultimately casting it to a rvalue reference (via std::move).
257
258        * wtf/Deque.h: Substitute WTF::move() for std::move().
259        * wtf/HashMap.h: Ditto.
260        * wtf/HashSet.h: Ditto.
261        * wtf/HashTable.h: Ditto.
262        * wtf/IteratorAdaptors.h: Ditto.
263        * wtf/IteratorRange.h: Ditto.
264        * wtf/ListHashSet.h: Ditto.
265        * wtf/MainThread.cpp: Ditto.
266        [...]
267        * wtf/StdLibExtras.h:
268        (WTF::move): Added.
269        [...]
270
2712014-07-03  Anders Carlsson  <andersca@apple.com>
272
273        Get rid of Encoder.h and Decoder.h from WTF
274        https://bugs.webkit.org/show_bug.cgi?id=134600
275
276        Reviewed by Darin Adler.
277
278        * WTF.vcxproj/WTF.vcxproj:
279        * WTF.vcxproj/WTF.vcxproj.filters:
280        * WTF.xcodeproj/project.pbxproj:
281        * wtf/Decoder.h: Removed.
282        * wtf/Encoder.h: Removed.
283
2842014-07-03  Ryuan Choi  <ryuan.choi@samsung.com>
285
286        Broken build with build-webkit --no-video
287        https://bugs.webkit.org/show_bug.cgi?id=134587
288
289        Reviewed by Darin Adler.
290
291        MEDIA_CONTROLS_SCRIPT requires VIDEO enabled.
292
293        * wtf/FeatureDefines.h: Added error message for dependency failure.
294
2952014-07-02  Enrica Casucci  <enrica@apple.com>
296
297        iOS build fix after http://trac.webkit.org/changeset/170697.
298        
299        Unreviewed.
300
301        * wtf/Deque.h:
302
3032014-07-02  Dan Bernstein  <mitz@apple.com>
304
305        Remove some code only needed for versions of Safari that are no longer supported
306        https://bugs.webkit.org/show_bug.cgi?id=134537
307
308        Reviewed by Anders Carlsson.
309
310        * wtf/Assertions.cpp:
311        * wtf/Assertions.h:
312
3132014-07-01  Alex Christensen  <achristensen@webkit.org>
314
315        Reduce dynamic memory allocation in css jit.
316        https://bugs.webkit.org/show_bug.cgi?id=134416
317
318        Reviewed by Benjamin Poulain.
319
320        * wtf/Deque.h:
321        Added inlineCapacity optional template parameter.
322
3232014-06-30  Commit Queue  <commit-queue@webkit.org>
324
325        Unreviewed, rolling out r170605.
326        https://bugs.webkit.org/show_bug.cgi?id=134484
327
328        The changes cause crashes on ARM64 (Requested by benjaminp on
329        #webkit).
330
331        Reverted changeset:
332
333        "Reduce dynamic memory allocation in css jit."
334        https://bugs.webkit.org/show_bug.cgi?id=134416
335        http://trac.webkit.org/changeset/170605
336
3372014-06-30  Daniel Bates  <dabates@apple.com>
338
339        Make TransformIterator::TransformIterator() take rvalue references
340        https://bugs.webkit.org/show_bug.cgi?id=134468
341
342        Reviewed by Darin Adler.
343
344        It's unnecessary to support TransformIterator::TransformIterator() taking const lvalue references
345        as we only call it with rvalues. As a side benefit, we can use move semantics to initialize the
346        members of TransformIterator.
347
348        * wtf/IteratorAdaptors.h:
349        (WTF::TransformIterator::TransformIterator): Make constructor take arguments as rvalue references.
350        (WTF::makeTransformIterator): Substitute std::move() for std::forward().
351
3522014-06-30  Alex Christensen  <achristensen@webkit.org>
353
354        Reduce dynamic memory allocation in css jit.
355        https://bugs.webkit.org/show_bug.cgi?id=134416
356
357        Reviewed by Benjamin Poulain.
358
359        * wtf/Deque.h:
360        Added inlineCapacity optional template parameter.
361
3622014-06-30  Anders Carlsson  <andersca@apple.com>
363
364        Add code for encoding legacy session history entries
365        https://bugs.webkit.org/show_bug.cgi?id=134452
366
367        Reviewed by Andreas Kling.
368
369        * wtf/MallocPtr.h:
370        (WTF::MallocPtr::malloc):
371        (WTF::MallocPtr::realloc):
372
3732014-06-27  Andreas Kling  <akling@apple.com>
374
375        [ARMv7] Skip one particularly expensive fastFree() alignment check.
376        <https://webkit.org/b/134402>
377
378        The size class alignment check in fastFree() was crazy expensive on ARMv7
379        due to its use of modulo. Disabling it shaves 470ms off of PLT main thread
380        time in the web process.
381
382        Note that this was very hard to identify in profiles due to TCO.
383
384        Reviewed by Gavin Barraclough.
385
386        * wtf/FastMalloc.cpp:
387        (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
388
3892014-06-26  Andreas Kling  <akling@apple.com>
390
391        Bump FastMalloc thread cache max size to 1MB on iOS.
392        <https://webkit.org/b/134365>
393
394        The previous limit (512kB) comes from the old days of very-low-memory
395        devices, and we can now afford to spend another 512kB here.
396        Note that we already have a mechanism to purge FastMalloc caches on
397        system memory pressure.
398
399        Looks like a ~400ms progression on PLT.
400
401        Reviewed by Geoff Garen.
402
403        * wtf/FastMalloc.cpp:
404
4052014-06-26  Laszlo Gombos  <l.gombos@samsung.com>
406
407        Define TARGET_OS_IPHONE to 0 for non-darwin ports
408        https://bugs.webkit.org/show_bug.cgi?id=134347
409
410        Reviewed by Darin Adler.
411
412        A follow-up to r169880 to make it easier to reason about
413        the code. The purpose of this change to allow
414        "#if TARGET_OS_IPHONE" in public header files.
415
416        * wtf/Platform.h:
417
4182014-06-26  Chris Fleizach  <cfleizach@apple.com>
419
420        Add an undo group for each dictated utterance in WebKit
421        https://bugs.webkit.org/show_bug.cgi?id=134086
422
423        Applied review comments from Sam Weinig.
424
425        Move the associated USE #define into Platform.h.
426
427        * wtf/Platform.h:
428
4292014-06-25  Geoffrey Garen  <ggaren@apple.com>
430
431        Unreviewed, rolling out r166876.
432
433        Caused some ECMA test262 failures
434
435        Reverted changeset:
436
437        "Date object needs to check for ES5 15.9.1.14 TimeClip limit."
438        https://bugs.webkit.org/show_bug.cgi?id=131248
439        http://trac.webkit.org/changeset/166876
440
4412014-06-25  peavo@outlook.com  <peavo@outlook.com>
442
443        [Win64] ASM LLINT is not enabled.
444        https://bugs.webkit.org/show_bug.cgi?id=130638
445
446        Reviewed by Mark Lam.
447
448        * wtf/Platform.h: Enable LLINT and JIT for Win64.
449
4502014-06-25  Laszlo Gombos  <l.gombos@samsung.com>
451
452        Remove build guard for progress element
453        https://bugs.webkit.org/show_bug.cgi?id=134292
454
455        Reviewed by Benjamin Poulain.
456
457        The build flag is no longer needed as it is always on.
458
459        * wtf/FeatureDefines.h:
460
4612014-06-24  Andreas Kling  <akling@apple.com>
462
463        Run the FastMalloc scavenger thread on iOS as well.
464        <https://webkit.org/b/134287>
465        <rdar://problem/17446198>
466
467        Reviewed by Gavin Barraclough.
468
469        * wtf/FastMalloc.cpp:
470
4712014-06-24  Anders Carlsson  <andersca@apple.com>
472
473        Add PageState to HistoryItem conversion code
474        https://bugs.webkit.org/show_bug.cgi?id=134259
475
476        Reviewed by Andreas Kling.
477
478        * wtf/Optional.h:
479        (WTF::Optional::valueOr):
480
4812014-06-24  László Langó  <llango.u-szeged@partner.samsung.com>
482
483        [JavaScriptCore] Enable concurrent JIT on EFL.
484        https://bugs.webkit.org/show_bug.cgi?id=134242
485
486        Reviewed by Csaba Osztrogonác.
487
488        * wtf/Platform.h:
489
4902014-06-23  Ryuan Choi  <ryuan.choi@samsung.com>
491
492        [EFL] Replace RefPtr<Evas_Object> with UniquePtrEfl
493        https://bugs.webkit.org/show_bug.cgi?id=134236
494
495        Reviewed by Gyuyoung Kim.
496
497        Although there are ref/unref for Evas_Object, it's bit odd so we should call evas_object_del to destroy it.
498        So, this patch replaced RefPtr<Evas_Object> with UniquePtrEfl for the simplicity.
499
500        * wtf/PlatformEfl.cmake: Removed RefPtrEfl.cpp from source list.
501        * wtf/efl/RefPtrEfl.cpp: Removed.
502        * wtf/efl/RefPtrEfl.h: Removed.
503
5042014-06-21  Brady Eidson  <beidson@apple.com>
505
506        Gamepad API - Deprecate the existing implementation
507        https://bugs.webkit.org/show_bug.cgi?id=134108
508
509        Reviewed by Timothy Hatcher.
510
511        -Add new "GAMEPAD_DEPRECATED" build flag, moving the existing implementation to use it
512        -Move some implementation files into a "deprecated" subdirectory.
513
514        * wtf/FeatureDefines.h:
515
5162014-06-21  Commit Queue  <commit-queue@webkit.org>
517
518        Unreviewed, rolling out r170244.
519        https://bugs.webkit.org/show_bug.cgi?id=134157
520
521        GTK/EFL bindings generator works differently, making this
522        patch not work there.  Will fix entire patch after a rollout.
523        (Requested by bradee-oh on #webkit).
524
525        Reverted changeset:
526
527        "Gamepad API - Deprecate the existing implementation"
528        https://bugs.webkit.org/show_bug.cgi?id=134108
529        http://trac.webkit.org/changeset/170244
530
5312014-06-21  Brady Eidson  <beidson@apple.com>
532
533        Gamepad API - Deprecate the existing implementation
534        https://bugs.webkit.org/show_bug.cgi?id=134108
535
536        Reviewed by Timothy Hatcher.
537
538        -Add new "GAMEPAD_DEPRECATED" build flag, moving the existing implementation to use it
539        -Add the "Deprecated" suffix to some implementation files
540
541        * wtf/FeatureDefines.h:
542
5432014-06-21  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>
544
545        Removing PAGE_VISIBILITY_API compile guard.
546        https://bugs.webkit.org/show_bug.cgi?id=133844
547
548        Reviewed by Gavin Barraclough.
549
550        * wtf/FeatureDefines.h:
551
5522014-06-20  Anders Carlsson  <andersca@apple.com>
553
554        Add encoding and decoding support for WTF::Optional
555        https://bugs.webkit.org/show_bug.cgi?id=134125
556
557        Reviewed by Andreas Kling.
558
559        * wtf/Optional.h:
560        (WTF::Optional::operator=):
561
5622014-06-20  Anders Carlsson  <andersca@apple.com>
563
564        Add copy/move constructors and assignment operators to WTF::Optional
565        https://bugs.webkit.org/show_bug.cgi?id=134119
566
567        Reviewed by Andreas Kling.
568
569        * wtf/Optional.h:
570        (WTF::Optional::Optional):
571        (WTF::Optional::operator=):
572
5732014-06-19  Anders Carlsson  <andersca@apple.com>
574
575        Add WTF::Optional class
576        https://bugs.webkit.org/show_bug.cgi?id=134083
577
578        Reviewed by Andreas Kling.
579
580        * WTF.xcodeproj/project.pbxproj:
581        * wtf/Optional.h: Added.
582        (WTF::Optional::Optional):
583        (WTF::Optional::~Optional):
584        (WTF::Optional::operator bool):
585        (WTF::Optional::value):
586
5872014-06-19  Dániel Bátyai  <dbatyai.u-szeged@partner.samsung.com>
588
589        Remove ENABLE(LLINT) and ENABLE(LLINT_C_LOOP) guards
590        https://bugs.webkit.org/show_bug.cgi?id=130389
591
592        Reviewed by Mark Lam.
593
594        Removed ENABLE(LLINT) since we always build with it, and changed ENABLE(LLINT_C_LOOP)
595        into !ENABLE(JIT) since they are mutually exclusive.
596
597        * wtf/OSAllocatorPosix.cpp:
598        (WTF::OSAllocator::reserveAndCommit):
599        * wtf/Platform.h:
600
6012014-06-18  Anders Carlsson  <andersca@apple.com>
602
603        Add CF type cast function templates and use them in KeyedDecoder in WebKit2
604        https://bugs.webkit.org/show_bug.cgi?id=134033
605
606        Reviewed by Sam Weinig.
607
608        * WTF.xcodeproj/project.pbxproj:
609        * wtf/cf/TypeCasts.h: Added.
610        (WTF::dynamic_cf_cast):
611        Returns null if the given CFTypeRef object doesn't have the right type.
612
613        (WTF::checked_cf_cast):
614        ASSERTs (with security implication) if the given CFTypeRef object is null or doesn't have the right type.
615
6162014-06-17  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
617
618        Misused PLATFORM(MIDDLE_ENDIAN) and PLATFORM(BIG_ENDIAN).
619        https://bugs.webkit.org/show_bug.cgi?id=128301
620
621        Reviewed by Daniel Bates.
622
623        Endianness is a CPU attribute, not a PLATFORM. PLATFORM() macro is replaced to CPU().
624
625        * wtf/text/ASCIIFastPath.h:
626        (WTF::copyLCharsFromUCharSource):
627
6282014-06-17  Andreas Kling  <akling@apple.com>
629
630        Web process main thread priority is lower than some network process threads.
631        <https://webkit.org/b/133987>
632        <rdar://problem/17330300>
633
634        Bring all of our threads to the appropriate priority level by opting in to the
635        threading QoS APIs. By marking them "user initiated", they still yield to UI
636        interaction, but take priority over background tasks.
637
638        Reviewed by Maciej Stachowiak.
639
640        * wtf/Platform.h:
641        * wtf/Threading.cpp:
642        (WTF::setCurrentThreadIsUserInitiated):
643        * wtf/Threading.h:
644        * wtf/ThreadingPthreads.cpp:
645        (WTF::createThreadInternal):
646
6472014-06-17  Alex Christensen  <achristensen@webkit.org>
648
649        Enable css jit for armv7 on iOS.
650        https://bugs.webkit.org/show_bug.cgi?id=133961
651        <rdar://problem/17310631>
652
653        Reviewed by Andreas Kling.
654
655        * wtf/Platform.h:
656        Enable css jit for ARM thumb on iOS.
657
6582014-06-17  Dan Bernstein  <mitz@apple.com>
659
660        String::isolatedCopy doesn’t return an isolated copy when used on an rvalue reference
661        https://bugs.webkit.org/show_bug.cgi?id=133968
662
663        Reviewed by Anders Carlsson.
664
665        Made the rvalue reference overload of isolatedCopy() non-const, so that std::move(*this) is
666        an rvalue reference that can be moved, rather than copied, into the returned String.
667
668        * wtf/text/WTFString.cpp:
669        (WTF::String::isolatedCopy):
670        * wtf/text/WTFString.h:
671
6722014-06-15  Dan Bernstein  <mitz@apple.com>
673
674        iOS build fix after r169995.
675
676        * wtf/RetainPtr.h:
677
6782014-06-15  Anders Carlsson  <andersca@apple.com>
679
680        Add an autorelease() member function to RetainPtr
681        https://bugs.webkit.org/show_bug.cgi?id=133929
682
683        Reviewed by Dan Bernstein.
684
685        * wtf/RetainPtr.h:
686
6872014-06-13  Alex Christensen  <achristensen@webkit.org>
688
689        Unreviewed disabling css jit on armv7.  It's not quite ready yet.
690
691        * wtf/Platform.h:
692        Disable css jit on armv7.
693
6942014-06-13  Alex Christensen  <achristensen@webkit.org>
695
696        Enable css jit for armv7 on iOS.
697        https://bugs.webkit.org/show_bug.cgi?id=133890
698        <rdar://problem/17310631>
699
700        Reviewed by Andreas Kling.
701
702        * wtf/Platform.h:
703        Enable css jit for ARM thumb on iOS.
704
7052014-06-13  Mark Hahnenberg  <mhahnenberg@apple.com>
706
707        OSR exit should barrier the Executables for all InlineCallFrames, not just those on the stack at the time of exit
708        https://bugs.webkit.org/show_bug.cgi?id=133880
709
710        Reviewed by Filip Pizlo.
711
712        * wtf/Bag.h:
713        (WTF::Bag::iterator::operator!=): Add != to the Bag iterator so we can use it in range-based iteration.
714
7152014-06-12  Gavin Barraclough  <barraclough@apple.com>
716
717        Add support for thread/WorkQueue QoS
718        https://bugs.webkit.org/show_bug.cgi?id=130688
719
720        Reviewed by Anders Carlson & Simon Fraser.
721
722        Add the ability to mark threads as UserInteractive.
723
724        * wtf/Threading.cpp:
725        (WTF::setCurrentThreadIsUserInteractive):
726            - added method to set QoS of current thread to UserInteractive.
727        * wtf/Threading.h:
728            - added declaration.
729
7302014-06-12  Alexey Proskuryakov  <ap@apple.com>
731
732        Fix Mac after r169880.
733
734        This revision added a C++ comment to Platform.h, which breaks sandbox profile
735        preprocessing.
736
737        Also, I do not believe that this comment was entirely accurate - we've always used
738        this technique with GCC, so there has to be more to it. So, I just removed the comment.
739
740        * wtf/Platform.h:
741
7422014-06-11  Csaba Osztrogonác  <ossy@webkit.org>
743
744        [EFL][GTK] Ultimate fix not to have build failures
745        in the future because of "#if TARGET_OS_IPHONE" guards.
746
747        Unreviewed buildfix.
748
749        * wtf/Platform.h: Define TARGET_OS_IPHONE to 0 on EFL and GTK.
750
7512014-06-11  Ryosuke Niwa  <rniwa@webkit.org>
752
753        Turning on DUMP_PROPERTYMAP_STATS causes a build failure
754        https://bugs.webkit.org/show_bug.cgi?id=133673
755
756        Reviewed by Andreas Kling.
757
758        Added DEFINE_GLOBAL_FOR_LOGGING to allow running a destructor in logging code
759        that needs to be enabled in release builds (e.g. for JavaScriptCore).
760
761        * wtf/StdLibExtras.h:
762
7632014-06-09  Benjamin Poulain  <bpoulain@apple.com>
764
765        Improve CSSPrimitiveValue::customCSSText for ARMv7
766        https://bugs.webkit.org/show_bug.cgi?id=133597
767
768        Reviewed by Andreas Kling.
769
770        * wtf/RefPtr.h:
771        (WTF::RefPtr<T>::RefPtr):
772        * wtf/text/WTFString.h:
773        (WTF::String::String):
774
7752014-06-05  Yoav Weiss  <yoav@yoav.ws>
776
777        Align srcset parser with recent spec changes
778        https://bugs.webkit.org/show_bug.cgi?id=133504
779
780        Reviewed by Darin Adler.
781
782        I've added toInt and toFloat methods to StringView, and exposed
783        charactersToInt so that they can be used by
784        HTMLSrcsetParser.cpp.
785
786        * wtf/text/WTFString.h:
787        * wtf/text/StringView.h:
788        (WTF::StringView::toInt):
789        (WTF::StringView::toFloat):
790
7912014-06-04  Alex Christensen  <achristensen@webkit.org>
792
793        Enable WebGL on Windows.
794        https://bugs.webkit.org/show_bug.cgi?id=133503
795
796        Reviewed by Brent Fulgham.
797
798        * wtf/FeatureDefines.h:
799        Enable WebGL for AppleWin and WinCairo ports.
800
8012014-06-01  Jer Noble  <jer.noble@apple.com>
802
803        [MSE] Appends of overlapping sample data do not clear existing samples properly.
804        https://bugs.webkit.org/show_bug.cgi?id=133435
805
806        Reviewed by Darin Adler.
807
808        Add a dump method to MediaTime, so that MediaTimes can be easily converted to strings (for logging purposes).
809
810        * wtf/MediaTime.cpp:
811        (WTF::MediaTime::dump):
812        * wtf/MediaTime.h:
813
8142014-05-31  Anders Carlsson  <andersca@apple.com>
815
816        Add a LazyNeverDestroyed class template and use it
817        https://bugs.webkit.org/show_bug.cgi?id=133425
818
819        Reviewed by Darin Adler.
820
821        LazyNeverDestroyed is similar to NeverDestroyed, except it's lazily constructed
822        by calling construct(). This makes it useful for using inside std::call_once functions.
823        
824        * wtf/Forward.h:
825        * wtf/NeverDestroyed.h:
826        (WTF::LazyNeverDestroyed::construct):
827        (WTF::LazyNeverDestroyed::operator T&):
828        (WTF::LazyNeverDestroyed::get):
829        (WTF::LazyNeverDestroyed::asPtr):
830        (WTF::LazyNeverDestroyed::MaybeRelax::MaybeRelax):
831        * wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
832        (WTF::atomicallyInitializedStaticMutex):
833        * wtf/unicode/icu/CollatorICU.cpp:
834        (WTF::cachedCollatorMutex):
835
8362014-05-29  Alex Christensen  <achristensen@webkit.org>
837
838        Enable css jit by default on arm64.
839        https://bugs.webkit.org/show_bug.cgi?id=133246
840        <rdar://problem/17073407>
841
842        Reviewed by Benjamin Poulain.
843
844        * wtf/Platform.h:
845        Added arm64 to list of supported architectures.
846
8472014-05-28  Filip Pizlo  <fpizlo@apple.com>
848
849        DFG::DCEPhase inserts into an insertion set in reverse, causing hilarious basic block corruption if you kill a lot of NewArrays
850        https://bugs.webkit.org/show_bug.cgi?id=133368
851
852        Reviewed by Mark Lam.
853
854        * wtf/Insertion.h:
855        (WTF::executeInsertions): This algorithm is only correct if insertions are added in the right order. Assert that the order is right.
856
8572014-05-27  Jon Lee  <jonlee@apple.com>
858
859        Update ENABLE(MEDIA_SOURCE) on Mac
860        https://bugs.webkit.org/show_bug.cgi?id=133141
861
862        Reviewed by Darin Adler.
863
864        * wtf/FeatureDefines.h: #ifdef unneeded for Mac since it's covered in the .xcconfigs.
865
8662014-05-27  Tibor Meszaros  <tmeszaros.u-szeged@partner.samsung.com>
867
868        Remove BLOB guards
869        https://bugs.webkit.org/show_bug.cgi?id=132863
870
871        Reviewed by Csaba Osztrogonác.
872
873        * wtf/FeatureDefines.h:
874
8752014-05-27  Gwang Yoon Hwang  <yoon@igalia.com>
876
877        [GLIB] RunLoop::dispatch always executes the function on the main thread instead of the target thread.
878        https://bugs.webkit.org/show_bug.cgi?id=133291
879
880        Reviewed by Carlos Garcia Campos.
881
882        GMainLoopSource::schedule[AfterDelay] must be used with the appropriate
883        GMainContext. Because current implementations in RunLoopGtk passes nullptr
884        instead of its runLoopContext when using GMainLoopSource, all of dispatched
885        functions are executed on the main thread regardless of which runloops is used.
886
887        This patch fixes the issue by passing the m_runLoopContext instead the default
888        parameter to the GMainLoopSource::schedule[AfterDelay].
889
890        * wtf/gtk/RunLoopGtk.cpp:
891        (WTF::RunLoop::wakeUp):
892        (WTF::RunLoop::TimerBase::start):
893
8942014-05-26  Darin Adler  <darin@apple.com>
895
896        Class name matching should use ASCII case-insensitive matching, not Unicode case folding
897        https://bugs.webkit.org/show_bug.cgi?id=133292
898
899        Reviewed by Anders Carlsson.
900
901        * wtf/text/AtomicString.cpp:
902        (WTF::AtomicString::addSlowCase): Change to take references instead of pointers since these
903        arguments can never be null.
904        (WTF::AtomicString::lower): Rearranged slightly to use PassRef in a more efficient but
905        slightly uglier way.
906        (WTF::AtomicString::convertToASCIILowercase): Added.
907        * wtf/text/AtomicString.h: Updated for above changes.
908
909        * wtf/text/StringImpl.cpp:
910        (WTF::StringImpl::convertToASCIILowercase): Added.
911        * wtf/text/StringImpl.h: Updated for above.
912
913        * wtf/text/WTFString.cpp:
914        (WTF::String::convertToASCIILowercase): Added.
915        * wtf/text/WTFString.h: Updated for above.
916
9172014-05-22  Zan Dobersek  <zdobersek@igalia.com>
918
919        Add the partial specialization for VectorTraits<std::unique_ptr<P>>
920        https://bugs.webkit.org/show_bug.cgi?id=133083
921
922        Reviewed by Andreas Kling.
923
924        * wtf/VectorTraits.h: Like for RefPtr<P>, OwnPtr<P> and Ref<P>, the partial
925        specialization for VectorTraits<std::unique_ptr<P>> should exist and should
926        inherit from SimpleClassVector.
927
9282014-05-20  Geoffrey Garen  <ggaren@apple.com>
929
930        Rolled out <http://trac.webkit.org/changeset/166184>
931        https://bugs.webkit.org/show_bug.cgi?id=133144
932
933        Reviewed by Gavin Barraclough.
934
935        It caused a performance regression.
936
937        * wtf/FastMalloc.cpp:
938        (WTF::TCMalloc_PageHeap::runScavengerThread):
939        * wtf/Threading.h:
940        * wtf/ThreadingPthreads.cpp:
941        (WTF::createThreadInternal):
942        (WTF::setCurrentThreadQOSUtility): Deleted.
943        * wtf/ThreadingWin.cpp:
944        (WTF::setCurrentThreadQOSUtility): Deleted.
945
9462014-05-20  Jer Noble  <jer.noble@apple.com>
947
948        [Mac] AVAssets are never destroyed; lack of an autorelease pool when calling callOnMainThread.
949        https://bugs.webkit.org/show_bug.cgi?id=133130
950
951        Reviewed by Geoff Garen.
952
953        Wrap the function to be called in an autorelease pool, so that autoreleased objects are cleaned
954        up immediately after the end of the function.
955
956        * wtf/mac/MainThreadMac.mm:
957        (WTF::timerFired):
958
9592014-05-18  Rik Cabanier  <cabanier@adobe.com>
960
961        support for navigator.hardwareConcurrency
962        https://bugs.webkit.org/show_bug.cgi?id=132588
963
964        Reviewed by Filip Pizlo.
965
966        * wtf/FeatureDefines.h:
967
9682014-05-14  Tibor Meszaros  <tmeszaros.u-szeged@partner.samsung.com>
969
970        Remove CSS_STICKY_POSITION guards
971        https://bugs.webkit.org/show_bug.cgi?id=132676
972
973        Reviewed by Simon Fraser.
974
975        * wtf/FeatureDefines.h:
976
9772014-05-13  Simon Fraser  <simon.fraser@apple.com>
978
979        [iOS WK2] background-attachment:fixed behaves very poorly
980        https://bugs.webkit.org/show_bug.cgi?id=132881
981        <rdar://problem/16789526>
982
983        Reviewed by Beth Dakin.
984        
985        Remove ENABLE_FAST_MOBILE_SCROLLING. Ports can use the fixedBackgroundsPaintRelativeToDocument
986        setting now.
987
988        * wtf/FeatureDefines.h:
989
9902014-05-08  Alexey Proskuryakov  <ap@apple.com>
991
992        Automatically zip document bundles used via File API
993        https://bugs.webkit.org/show_bug.cgi?id=132713
994        <rdar://problem/13397892>
995
996        Reviewed by Anders Carlsson.
997
998        * wtf/FeatureDefines.h: Added ENABLE_FILE_REPLACEMENT for Mac.
999
10002014-05-07  Filip Pizlo  <fpizlo@apple.com>
1001
1002        UNREACHABLE_FOR_PLATFORM() is meant to be a release crash.
1003
1004        Rubber stamped by Mark Hahnenberg..
1005
1006        * wtf/Assertions.h:
1007        (UNREACHABLE_FOR_PLATFORM):
1008
10092014-05-06  Alberto Garcia  <berto@igalia.com>
1010
1011        There is no HW_AVAILCPU on FreeBSD, NetBSD, and OpenBSD
1012        https://bugs.webkit.org/show_bug.cgi?id=132542
1013
1014        Reviewed by Michael Saboff.
1015
1016        Use sysconf() to get the number of processor cores.
1017
1018        * wtf/NumberOfCores.cpp:
1019        (WTF::numberOfProcessorCores):
1020
10212014-05-04  Darin Adler  <darin@apple.com>
1022
1023        RetainPtr: Use adoptCF function instead of AdoptCF constructor argument
1024        https://bugs.webkit.org/show_bug.cgi?id=80222
1025
1026        Reviewed by Alexey Proskuryakov.
1027
1028        All the clients are gone, so we can now remove AdoptCF and AdoptNS.
1029
1030        * wtf/RetainPtr.h: Removed the public constructors that let you specify AdoptCF
1031        and AdoptNS. Instead, made the adoptCF and adoptNS functions be friends and use
1032        a private constructor that takes an Adopt argument.
1033        (WTF::adoptCF): Moved the Objective-C class check in here.
1034        (WTF::adoptNS): Moved the code to deal with the CFRetain for garbage collection
1035        in here; it used to be spread across the constructor and adoptNSReference.
1036
10372014-05-04  Andreas Kling  <akling@apple.com>
1038
1039        Optimize JSRopeString for resolving directly to AtomicString.
1040        <https://webkit.org/b/132548>
1041
1042        Add AtomicString::find([LU]Char*, unsigned length) helpers for finding
1043        an existing AtomicString without a StringImpl on hand.
1044
1045        Reviewed by Filip Pizlo.
1046
1047        * wtf/text/AtomicString.h:
1048        * wtf/text/AtomicString.cpp:
1049        (WTF::AtomicString::find):
1050
10512014-05-01  Brent Fulgham  <bfulgham@apple.com>
1052
1053        Fix handling of attributes prior to compiling shader
1054        https://bugs.webkit.org/show_bug.cgi?id=132430
1055
1056        Reviewed by Dean Jackson.
1057
1058        WebGL programs that called bindAttribLocations prior to compiling shader sources
1059        would perform the bind using the non-hashed symbol name, but would later create
1060        the attributes as hashed names. Consequently, the program would refer to
1061        attributes that were never actually part of any shader, resulting in some amazing
1062        display artifacts.
1063
1064        This patch adds a dictionary of hashed symbol names so that we can tell the WebGL
1065        program the proper name that will be used when the shader is eventually compiled,
1066        allowing the WebGL program to link against the proper symbol after compiling and
1067        linking completes.
1068
1069        * wtf/HexNumber.h:
1070        (WTF::appendUnsigned64AsHex): Add uint64_t-compatible hex->string converter.
1071
10722014-04-30  Geoffrey Garen  <ggaren@apple.com>
1073
1074        Link against bmalloc in production builds
1075        https://bugs.webkit.org/show_bug.cgi?id=132413
1076
1077        Reviewed by Sam Weinig.
1078
1079        Production builders have been configured to handle this, so let's build
1080        it.
1081
1082        * Configurations/WTF.xcconfig:
1083
10842014-05-01  Ryuan Choi  <ryuan.choi@samsung.com>
1085
1086        [EFL] There are many warnings with software backend
1087        https://bugs.webkit.org/show_bug.cgi?id=132422
1088
1089        Reviewed by Gyuyoung Kim.
1090
1091        * wtf/efl/EflTypedefs.h: Added Ecore_X_Window typedef
1092
10932014-04-30  Simon Fraser  <simon.fraser@apple.com>
1094
1095        Remove ENABLE_PLUGIN_PROXY_FOR_VIDEO
1096        https://bugs.webkit.org/show_bug.cgi?id=132396
1097
1098        Reviewed by Eric Carlson.
1099
1100        Remove ENABLE_PLUGIN_PROXY_FOR_VIDEO and related code.
1101
1102        * wtf/FeatureDefines.h:
1103
11042014-04-30  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
1105
1106        [GTK][GStreamer] Remove unnecessary GLIB_CHECK_VERSION #ifdefs
1107        https://bugs.webkit.org/show_bug.cgi?id=132390
1108
1109        Reviewed by Philippe Normand.
1110
1111        Since EFL port use GLib 2.38 and GTK+, 2.33.2, I assume it is OK
1112        remove, in GTK+ and GST, the existing glib version guards.
1113
1114        This code was rollback from r149879 because Qt MIPS used it. But since
1115        Qt is gone, it is safe to remove now.
1116
1117        * wtf/gobject/GRefPtr.cpp:
1118        (WTF::refGPtr): Deleted.
1119        (WTF::derefGPtr): Deleted.
1120
11212014-04-29  Alex Christensen  <achristensen@webkit.org>
1122
1123        [WinCairo] Switch video from GStreamer to Media Foundation.
1124        https://bugs.webkit.org/show_bug.cgi?id=132358
1125
1126        Reviewed by Brent Fulgham.
1127
1128        * WTF.vcxproj/WTF.vcxproj:
1129        Removed dependencies on GStreamer.
1130        * wtf/Platform.h:
1131        Use Media Foundation instead of GStreamer and GLib.
1132
11332014-04-29  Filip Pizlo  <fpizlo@apple.com>
1134
1135        Unreviewed, fix cloop build.
1136
1137        * wtf/Platform.h:
1138
11392014-04-29  Michael Saboff  <msaboff@apple.com>
1140
1141        For DARWIN platforms, use system temporary directory for DataLog output
1142        https://bugs.webkit.org/show_bug.cgi?id=132346
1143
1144        Reviewed by Geoffrey Garen.
1145
1146        Added code to call confstr() to access the process's temporary directory to use that
1147        location instead of /tmp/.  Put the code behind #ifdef DATA_LOG_TO_DARWIN_TEMP_DIR.
1148
1149        * wtf/DataLog.cpp:
1150        (WTF::initializeLogFileOnce):
1151
11522014-04-25  Filip Pizlo  <fpizlo@apple.com>
1153
1154        Figure out how many cores are available for realsies.
1155
1156        Rubber stamped by Andreas Kling.
1157        
1158        HW_AVAILCPU is more canonical than HW_NCPU. For example if you use hacks to tell Darwin
1159        to make it seem like there are fewer CPUs, HW_AVAILCPU will change but HW_NCPU won't.
1160        HW_NCPU doesn't reflect how much actual paralellism you'll get; it's merely reporting
1161        facts about the machine you're running on. HW_AVAILCPU is almost always what WebKit
1162        wants since it uses this information to decide how many threads to launch for various
1163        things.
1164
1165        * wtf/NumberOfCores.cpp:
1166        (WTF::numberOfProcessorCores):
1167
11682014-04-22  Brent Fulgham  <bfulgham@apple.com>
1169
1170        [Win] Support Python 2.7 in Cygwin
1171        https://bugs.webkit.org/show_bug.cgi?id=132023
1172
1173        Reviewed by Michael Saboff.
1174
1175        * WTF.vcxproj/WTFGenerated.make: Use proper path to Python.
1176
11772014-04-21  Eric Carlson  <eric.carlson@apple.com>
1178
1179        [Mac] implement WebKitDataCue
1180        https://bugs.webkit.org/show_bug.cgi?id=131799
1181
1182        Reviewed by Dean Jackson.
1183
1184        * wtf/FeatureDefines.h: Define ENABLE_DATACUE_VALUE.
1185
11862014-04-21  Darin Adler  <darin@apple.com>
1187
1188        Add HashSet::takeAny
1189        https://bugs.webkit.org/show_bug.cgi?id=131928
1190
1191        Reviewed by Benjamin Poulain.
1192
1193        * wtf/HashSet.h: Added an overload of take that takes an iterator,
1194        and used it to implement both the existing take and new takeAny functions.
1195
11962014-04-20  Andreas Kling  <akling@apple.com>
1197
1198        Speed up jsStringWithCache() through WeakGCMap inlining.
1199        <https://webkit.org/b/131923>
1200
1201        Add HashMap::fastAdd(), which is the same as add() except we'll tell
1202        the compiler to aggressively inline it.
1203
1204        Reviewed by Darin Adler.
1205
1206        * wtf/HashMap.h:
1207        * wtf/HashTable.h:
1208
12092014-04-19  Filip Pizlo  <fpizlo@apple.com>
1210
1211        Make it easier to check if an integer sum would overflow
1212        https://bugs.webkit.org/show_bug.cgi?id=131900
1213
1214        Reviewed by Darin Adler.
1215
1216        * wtf/CheckedArithmetic.h:
1217        (WTF::checkedSum):
1218        (WTF::sumOverflows):
1219
12202014-04-18  Commit Queue  <commit-queue@webkit.org>
1221
1222        Unreviewed, rolling out r167527.
1223        https://bugs.webkit.org/show_bug.cgi?id=131883
1224
1225        Broke 32-bit build (Requested by ap on #webkit).
1226
1227        Reverted changeset:
1228
1229        "[Mac] implement WebKitDataCue"
1230        https://bugs.webkit.org/show_bug.cgi?id=131799
1231        http://trac.webkit.org/changeset/167527
1232
12332014-04-18  Eric Carlson  <eric.carlson@apple.com>
1234
1235        [Mac] implement WebKitDataCue
1236        https://bugs.webkit.org/show_bug.cgi?id=131799
1237
1238        Reviewed by Dean Jackson.
1239
1240        * wtf/FeatureDefines.h: Define ENABLE_DATACUE_VALUE.
1241
12422014-04-18  Martin Robinson  <mrobinson@igalia.com>
1243
1244        Remove DynamicAnnotations.h?
1245        https://bugs.webkit.org/show_bug.cgi?id=131754
1246
1247        Reviewed by Simon Fraser.
1248
1249        This file, which helped support tools like Valgrind was unused.
1250
1251        * WTF.vcxproj/WTF.vcxproj: Remove references to the files.
1252        * WTF.vcxproj/WTF.vcxproj.filters: Remove references to the files.
1253        * WTF.xcodeproj/project.pbxproj: Remove references to the files.
1254        * wtf/CMakeLists.txt: Remove references to the files.
1255        * wtf/DynamicAnnotations.cpp: Removed.
1256        * wtf/DynamicAnnotations.h: Removed.
1257        * wtf/ThreadSafeRefCounted.h: Remove references to the files.
1258        * wtf/text/StringStatics.cpp: Remove references to the files.
1259
12602014-04-18  Philippe Normand  <pnormand@igalia.com>
1261
1262        Remove NETWORK_INFO support
1263        https://bugs.webkit.org/show_bug.cgi?id=131841
1264
1265        Reviewed by Gyuyoung Kim.
1266
1267        * wtf/FeatureDefines.h:
1268
12692014-04-17  Filip Pizlo  <fpizlo@apple.com>
1270
1271        Don't include CompilationThread.h from StringImpl.h
1272        https://bugs.webkit.org/show_bug.cgi?id=131817
1273
1274        Reviewed by Simon Fraser.
1275
1276        * wtf/CompilationThread.h:
1277        * wtf/StdLibExtras.h:
1278        * wtf/text/StringImpl.h:
1279
12802014-04-17  Darin Adler  <darin@apple.com>
1281
1282        Use HashMap<unique_ptr> and Vector<unique_ptr> instead of deprecatedDeleteAllValues
1283        https://bugs.webkit.org/show_bug.cgi?id=73757
1284
1285        Reviewed by Brent Fulgham.
1286
1287        * wtf/Vector.h:
1288        (WTF::deprecatedDeleteAllValues): Deleted.
1289
12902014-04-17  Darin Adler  <darin@apple.com>
1291
1292        Add separate flag for IndexedDatabase in workers since the current implementation is not threadsafe
1293        https://bugs.webkit.org/show_bug.cgi?id=131785
1294        rdar://problem/16003108
1295
1296        Reviewed by Brady Eidson.
1297
1298        * wtf/FeatureDefines.h: Added INDEXED_DATABASE_IN_WORKERS.
1299
13002014-04-16  Simon Fraser  <simon.fraser@apple.com>
1301
1302        Don't include CryptographicallyRandomNumber.h in StringImpl.h
1303        https://bugs.webkit.org/show_bug.cgi?id=131772
1304
1305        Reviewed by Sam Weinig.
1306
1307        * wtf/text/StringImpl.h:
1308
13092014-04-16  Gavin Barraclough  <barraclough@apple.com>
1310
1311        Update to pthread QoS SPI
1312        https://bugs.webkit.org/show_bug.cgi?id=131753
1313
1314        Rubber stamped by Benjamin Poulain
1315
1316        * wtf/ThreadingPthreads.cpp:
1317        (WTF::setCurrentThreadQOSUtility):
1318
13192014-04-14  Geoffrey Garen  <ggaren@apple.com>
1320
1321        WTF should have an optional mbmalloc target so we can benchmark FastMalloc
1322        https://bugs.webkit.org/show_bug.cgi?id=131662
1323
1324        Reviewed by Darin Adler.
1325
1326        * WTF.xcodeproj/project.pbxproj: Added the target.
1327        * wtf/mbmalloc.cpp: Added. Implements the libmbmalloc.dylib API required
1328        by MallocBench.
1329
13302014-04-16  Darin Adler  <darin@apple.com>
1331
1332        Make Vector::takeLast work with move-only types (and optimize for types where move is faster)
1333        https://bugs.webkit.org/show_bug.cgi?id=131735
1334
1335        Reviewed by Alexey Proskuryakov.
1336
1337        * wtf/Vector.h:
1338        (WTF::Vector::takeLast): Added a missing std::move. All the other take functions have it.
1339
13402014-04-14  Mark Lam  <mark.lam@apple.com>
1341
1342        monotonicallyIncreasingTime() should only initialize its static timebaseInfo once.
1343        <https://webkit.org/b/131630>
1344
1345        Reviewed by Filip Pizlo.
1346
1347        The current initialization of the static field is not thread safe.
1348
1349        * wtf/CurrentTime.cpp:
1350        (WTF::monotonicallyIncreasingTime):
1351
13522014-04-14  Benjamin Poulain  <benjamin@webkit.org>
1353
1354        [JSC] Improve the call site of string comparison in some hot path
1355        https://bugs.webkit.org/show_bug.cgi?id=131605
1356
1357        Reviewed by Darin Adler.
1358
1359        * wtf/text/StringImpl.cpp:
1360        (WTF::stringImplContentEqual):
1361        Inline that function to reduce the call overhead for JSC.
1362        This is only inlined twice, it is not catastrophic for our binary.
1363
13642014-04-13  Andy Estes  <aestes@apple.com>
1365
1366        Relax adoption requirements of RefCounted objects that are NeverDestroyed
1367        https://bugs.webkit.org/show_bug.cgi?id=131593
1368
1369        Reviewed by Dan Bernstein.
1370
1371        RefCounted objects that are created by NeverDestroyed<> won't have a
1372        RefPtr adopting them, so call relaxAdoptionRequirements().
1373
1374        * wtf/NeverDestroyed.h:
1375        (WTF::NeverDestroyed::NeverDestroyed):
1376        (WTF::NeverDestroyed::MaybeRelax::MaybeRelax):
1377
13782014-04-10  Brent Fulgham  <bfulgham@apple.com>
1379
1380        [Win] Clean up some 64-bit warnings from Visual Studio analyzer
1381        https://bugs.webkit.org/show_bug.cgi?id=131514
1382
1383        Reviewed by Tim Horton.
1384
1385        * WTF.vcxproj/WTF.vcxproj: Use correct platform settings for
1386        64-bit build.
1387        * config.h: Ditto.
1388        * wtf/CurrentTime.cpp:
1389        (WTF::highResUpTime): Resolve warning about deprecated API.
1390        * wtf/StackBounds.cpp:
1391        (WTF::StackBounds::initialize): Silence warning about
1392        an uninitialized variable.
1393
13942014-04-09  Geoffrey Garen  <ggaren@apple.com>
1395
1396        Rolled back in r166972.
1397
1398        This time, we conditionally exclude linking against bmalloc in Production
1399        builds. Production builds will not be able to link against bmalloc
1400        until the Production build system has been updated to build bmalloc.
1401
1402            WTF should link against bmalloc
1403            https://bugs.webkit.org/show_bug.cgi?id=131403
1404
1405            Reviewed by Mark Rowe.
1406
1407            * Configurations/WTF.xcconfig:
1408            * WTF.xcodeproj/project.pbxproj:
1409
14102014-04-09  Geoffrey Garen  <ggaren@apple.com>
1411
1412        Put bmalloc headers in the right place
1413        https://bugs.webkit.org/show_bug.cgi?id=131464
1414
1415        Reviewed by Mark Rowe.
1416
1417        * wtf/FastMalloc.cpp: Use "<bmalloc/...>" syntax so we can find our
1418        headers in <header-root>/usr/local/include/bmalloc/.
1419
14202014-04-09  Geoffrey Garen  <ggaren@apple.com>
1421
1422        Rolled back out r166972.
1423
1424        The production buildbots are still broken because the build-root script
1425        doesn't build bmalloc.
1426
1427        * WTF.xcodeproj/project.pbxproj:
1428
14292014-04-09  Geoffrey Garen  <ggaren@apple.com>
1430
1431        Rolled back in r166972.
1432
1433        The iOS buildbot's scripts have been updated to build bmalloc, so the
1434        build should now succeed on the bot.
1435
1436        Also renamed "Frameworks" to "Libraries" as suggested in a review comment.
1437
1438            WTF should link against bmalloc
1439            https://bugs.webkit.org/show_bug.cgi?id=131403
1440
1441            Reviewed by Michael Saboff.
1442
1443            This is required to build successfullly with bmalloc enabled.
1444
1445            * WTF.xcodeproj/project.pbxproj:
1446
14472014-04-08  Geoffrey Garen  <ggaren@apple.com>
1448
1449        Stop linking WTF against bmalloc.
1450
1451        Reviewed by Enrica Casucci.
1452
1453        This seems to have broken an iOS buildbot script. Disable it for now
1454        until we can fix the script.
1455
1456        * WTF.xcodeproj/project.pbxproj:
1457
14582014-04-08  Geoffrey Garen  <ggaren@apple.com>
1459
1460        WTF should link against bmalloc
1461        https://bugs.webkit.org/show_bug.cgi?id=131403
1462
1463        Reviewed by Michael Saboff.
1464
1465        This is required to build successfullly with bmalloc enabled.
1466
1467        * WTF.xcodeproj/project.pbxproj:
1468
14692014-04-08  Geoffrey Garen  <ggaren@apple.com>
1470
1471        Added a bmalloc back-end for FastMalloc
1472        https://bugs.webkit.org/show_bug.cgi?id=131387
1473
1474        Reviewed by Andreas Kling.
1475
1476        We'll need to rethink some things if we adopt this back-end. For example,
1477        fastMallocSize() and fastMallocGoodSize() are no longer real things. But,
1478        this is enough to test for now.
1479
1480        * wtf/FastMalloc.cpp:
1481        (WTF::fastMalloc):
1482        (WTF::fastCalloc):
1483        (WTF::fastRealloc):
1484        (WTF::fastFree):
1485        (WTF::fastMallocSize):
1486        (WTF::fastMallocGoodSize):
1487        (WTF::tryFastMalloc):
1488        (WTF::tryFastRealloc):
1489        (WTF::tryFastCalloc):
1490        (WTF::releaseFastMallocFreeMemory):
1491        (WTF::fastMallocStatistics):
1492
14932014-04-08  Andres Gomez  <agomez@igalia.com>
1494
1495        [GTK] [EFL] Build fails with GCC < 4.8.x
1496        https://bugs.webkit.org/show_bug.cgi?id=130585
1497
1498        Reviewed by Martin Robinson.
1499
1500        The behavior in lower versions of GCC seem to be related to
1501        http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#2132.
1502
1503        Provided explicit casts for the failing ambiguous overloads.
1504
1505        * wtf/gtk/MainThreadGtk.cpp:
1506        (WTF::scheduleDispatchFunctionsOnMainThread):
1507        * wtf/gtk/RunLoopGtk.cpp:
1508        (WTF::RunLoop::wakeUp): Provided lambda with a RefPtr instead of
1509        ref and de-referring.
1510
15112014-04-04  Mark Lam  <mark.lam@apple.com>
1512
1513        Date object needs to check for ES5 15.9.1.14 TimeClip limit.
1514        <https://webkit.org/b/131248>
1515
1516        Reviewed by Mark Hahnenberg.
1517
1518        * wtf/DateMath.cpp:
1519        - Moved the definition of maxECMAScriptTime to the .h file so that we
1520          can use it in other files as well.
1521        (WTF::msToYear):
1522        - Removed a stale comment for parseDateFromNullTerminatedCharacters().
1523        * wtf/DateMath.h:
1524
15252014-04-04  Mark Hahnenberg  <mhahnenberg@apple.com>
1526
1527        Enhanced GC logging
1528        https://bugs.webkit.org/show_bug.cgi?id=131246
1529
1530        Reviewed by Geoff Garen.
1531
1532        Remove OBJECT_MARK_LOGGING
1533
1534        * wtf/FeatureDefines.h:
1535        * wtf/Platform.h:
1536
15372014-04-03  Zsolt Borbely  <zsborbely.u-szeged@partner.samsung.com>
1538
1539        [EFL] Enable CSS JIT again, it works fine after r166666.
1540
1541        Reviewed by Csaba Osztrogonác.
1542
1543        * wtf/Platform.h:
1544
15452014-04-03  Javier Fernandez  <jfernandez@igalia.com>
1546
1547        [GTK][Cmake] Enable CSS JIT
1548        https://bugs.webkit.org/show_bug.cgi?id=131022
1549
1550        Reviewed by Martin Robinson.
1551
1552        * wtf/Platform.h: Enable CSS JIT for GTK port.
1553
15542014-04-02  Frédéric Wang  <fred.wang@free.fr>
1555
1556        Operator stretching: read the Open Type MATH table
1557        https://bugs.webkit.org/show_bug.cgi?id=130324
1558
1559        Reviewed by Chris Fleizach.
1560
1561        * wtf/Platform.h: enable OPENTYPE_MATH on platforms that can read OpenType tables.
1562
15632014-04-02  Alex Christensen  <achristensen@webkit.org>
1564
1565        [WinCairo] Build fix with GMainLoopSource.
1566        https://bugs.webkit.org/show_bug.cgi?id=131089
1567
1568        Reviewed by Carlos Garcia Campos.
1569
1570        * wtf/gobject/GMainLoopSource.cpp:
1571        Only compile if glib is used, which fixes compile errors with video disabled in WinCairo.
1572        * wtf/gobject/GMainLoopSource.h:
1573        Export the GMainLoopSource functions to WTF.dll to link with where they are called in the GStreamer code.
1574        Also removed spaces to appease style bot.
1575
15762014-04-01  Zsolt Borbely  <zsborbely.u-szeged@partner.samsung.com>
1577
1578        [EFL] REGRESSION(166569): It made DoYouEvenBench/Full.html, CSS/QuerySelector.html and Dromaeo performance tests crash
1579        https://bugs.webkit.org/show_bug.cgi?id=131039
1580
1581        Reviewed by Csaba Osztrogonác.
1582
1583        * wtf/Platform.h: Disable CSS JIT on EFL until proper fix.
1584
15852014-04-01  Commit Queue  <commit-queue@webkit.org>
1586
1587        Unreviewed, rolling out r166583.
1588        https://bugs.webkit.org/show_bug.cgi?id=131040
1589
1590        It's causing frequent crashes when running Layout Tests
1591        (Requested by svillar on #webkit).
1592
1593        Reverted changeset:
1594
1595        "[GTK][Cmake] Enable CSS JIT"
1596        https://bugs.webkit.org/show_bug.cgi?id=131022
1597        http://trac.webkit.org/changeset/166583
1598
15992014-04-01  Javier Fernandez  <jfernandez@igalia.com>
1600
1601        [GTK][Cmake] Enable CSS JIT
1602        https://bugs.webkit.org/show_bug.cgi?id=131022
1603
1604        Reviewed by Martin Robinson.
1605
1606        * wtf/Platform.h: Enable CSS JIT for GTK port.
1607
16082014-04-01  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1609
1610        [CMake][EFL] Enable CSS JIT
1611        https://bugs.webkit.org/show_bug.cgi?id=131010
1612
1613        Reviewed by Benjamin Poulain.
1614
1615        * wtf/Platform.h: Enable CSS JIT for EFL port.
1616
16172014-03-31  Dean Jackson  <dino@apple.com>
1618
1619        Remove WEB_ANIMATIONS
1620        https://bugs.webkit.org/show_bug.cgi?id=130989
1621
1622        Reviewed by Simon Fraser.
1623
1624        Remove this feature flag until we plan to implement.
1625
1626        * wtf/FeatureDefines.h:
1627
16282014-03-31  Alex Christensen  <achristensen@webkit.org>
1629
1630        Preparation for using Soup on Windows.
1631        https://bugs.webkit.org/show_bug.cgi?id=130615
1632
1633        Reviewed by Carlos Garcia Campos.
1634
1635        * WTF.vcxproj/WTF.vcxproj:
1636        * WTF.vcxproj/WTF.vcxproj.filters:
1637        Add all gobject source files in WinCairo build.
1638        * wtf/gobject/GRefPtr.h:
1639        Export refGPtr and derefGPtr overloads in WTF.dll to fix linker errors with WebKit.dll when using soup.
1640
16412014-03-31  Zan Dobersek  <zdobersek@igalia.com>
1642
1643        Use std::unique_ptr in WTF::CompressedVector, WTF::GenericCompressedData
1644        https://bugs.webkit.org/show_bug.cgi?id=130737
1645
1646        Switch to using std::unique_ptr instead of OwnPtr and PassOwnPtr
1647        for the CompressedVector and GenericCompressedData classes.
1648
1649        * wtf/Compression.cpp:
1650        (WTF::GenericCompressedData::create):
1651        * wtf/Compression.h:
1652        (WTF::CompressedVector::create):
1653        (WTF::CompressibleVector::decompressIfNecessary):
1654
16552014-03-28  Alexey Proskuryakov  <ap@apple.com>
1656
1657        [Mac] Enable async text input implementation
1658        https://bugs.webkit.org/show_bug.cgi?id=130856
1659
1660        Reviewed by Sam Weinig.
1661
1662        * wtf/Platform.h: Added a USE macro definition.
1663
16642014-03-28  peavo@outlook.com  <peavo@outlook.com>
1665
1666        Null pointer crash in String::append(UChar).
1667        https://bugs.webkit.org/show_bug.cgi?id=130900
1668
1669        Reviewed by Michael Saboff.
1670
1671        * wtf/text/WTFString.cpp:
1672        (WTF::String::append): Check and initialize m_impl member first, to avoid null pointer crash.
1673
16742014-03-27  Commit Queue  <commit-queue@webkit.org>
1675
1676        Unreviewed, rolling out r166360.
1677        https://bugs.webkit.org/show_bug.cgi?id=130869
1678
1679        Seems to have broken PLT (Requested by ap on #webkit).
1680
1681        Reverted changeset:
1682
1683        "Connection::dispatchOneMessage() can be re-entered while
1684        handling Cmd-key menu"
1685        https://bugs.webkit.org/show_bug.cgi?id=130767
1686        http://trac.webkit.org/changeset/166360
1687
16882014-03-27  Alexey Proskuryakov  <ap@apple.com>
1689
1690        Connection::dispatchOneMessage() can be re-entered while handling Cmd-key menu
1691        equivalents, ASSERT(!_data->_keyDownEventBeingResent)
1692        https://bugs.webkit.org/show_bug.cgi?id=130767
1693        <rdar://problem/16307487>
1694
1695        Reviewed by Darin Adler.
1696
1697        Changed RunLoop to wake up and fire timers only in default run loop mode by default,
1698        and added an ability to add more modes (can't use AppKit symbols in WTF).
1699
1700        In addition to this bug, the change also blocks modal alerts from appearing under
1701        menus during menu tracking.
1702
1703        * wtf/RunLoop.h:
1704        * wtf/cf/RunLoopCF.cpp:
1705        (WTF::RunLoop::RunLoop):
1706        (WTF::RunLoop::addModeForWakeUpAndTimers):
1707        (WTF::RunLoop::TimerBase::start):
1708
17092014-03-26  Zan Dobersek  <zdobersek@igalia.com>
1710
1711        Unreviewed. Removing the remaining Automake cruft.
1712
1713        * GNUmakefile.list.am: Removed.
1714
17152014-03-25  Martin Robinson  <mrobinson@igalia.com>
1716
1717        [GTK] Remove the autotools build
1718        https://bugs.webkit.org/show_bug.cgi?id=130717
1719
1720        Reviewed by Anders Carlsson.
1721
1722        * GNUmakefile.am: Removed.
1723        * config.h: Removed references to the autotools configure file.
1724
17252014-03-25  Gabor Rapcsanyi  <rgabor@webkit.org>
1726
1727        [ARM64] GCC generates wrong code with -O2 flag in WTF::weakCompareAndSwap
1728        https://bugs.webkit.org/show_bug.cgi?id=130500
1729
1730        Reviewed by Filip Pizlo.
1731
1732        Set the first operand to the exact register in the inline assembly with GCC.
1733
1734        * wtf/Atomics.h:
1735        (WTF::weakCompareAndSwap):
1736
17372014-03-25  Gabor Rapcsanyi  <rgabor@webkit.org>
1738
1739        [EFL] Add ARM64 build support
1740        https://bugs.webkit.org/show_bug.cgi?id=130506
1741
1742        Rubber stamped by Gyuyoung Kim.
1743
1744        * wtf/Platform.h: Set WTF_CPU_ARM64 when __aarch64__ is defined.
1745
17462014-03-24  Andy Estes  <aestes@apple.com>
1747
1748        Fix the iOS build.
1749
1750        * wtf/ThreadingPthreads.cpp:
1751        (WTF::createThreadInternal):
1752        (WTF::setCurrentThreadQOSUtility):
1753
17542014-03-24  Gavin Barraclough  <barraclough@apple.com>
1755
1756        Add support for thread QoS
1757        https://bugs.webkit.org/show_bug.cgi?id=130688
1758
1759        Speculative EFL build fix.
1760
1761        * wtf/ThreadingPthreads.cpp:
1762        (WTF::setCurrentThreadQOSUtility):
1763
17642014-03-24  Gavin Barraclough  <barraclough@apple.com>
1765
1766        Add support for thread QoS
1767        https://bugs.webkit.org/show_bug.cgi?id=130688
1768
1769        Reviewed by Andreas Kling.
1770
1771        * wtf/FastMalloc.cpp:
1772        (WTF::TCMalloc_PageHeap::runScavengerThread):
1773            - block freeing is a utility activity.
1774        * wtf/Threading.h:
1775            - declaration.
1776        * wtf/ThreadingPthreads.cpp:
1777        (WTF::createThreadInternal):
1778            - default to interactive.
1779        (WTF::setCurrentThreadQOSUtility):
1780            - implementation.
1781        * wtf/ThreadingWin.cpp:
1782        (WTF::setCurrentThreadQOSUtility):
1783            - no-op implementation.
1784
17852014-03-23  Hyowon Kim  <hw1008.kim@samsung.com>
1786
1787        Move all EFL typedefs into EflTypedefs.h.
1788        https://bugs.webkit.org/show_bug.cgi?id=130511
1789
1790        Reviewed by Gyuyoung Kim.
1791
1792        * wtf/Platform.h: include EflTypedefs.h.
1793        * wtf/efl/EflTypedefs.h: Added.
1794        * wtf/efl/RefPtrEfl.h: Remove EFL typedefs.
1795
17962014-03-22  Darin Adler  <darin@apple.com>
1797
1798        Remove String::deprecatedCharacters
1799        https://bugs.webkit.org/show_bug.cgi?id=126854
1800
1801        Reviewed by Sam Weinig.
1802
1803        * wtf/text/StringBuilder.cpp:
1804        (WTF::StringBuilder::reifyString): Removed code to update 16-bit shadow.
1805
1806        * wtf/text/StringBuilder.h: Removed deprecatedCharacters.
1807        (WTF::StringBuilder::StringBuilder): Removed m_valid16BitShadowLength.
1808        (WTF::StringBuilder::clear): Removed code to clear m_valid16BitShadowLength.
1809        (WTF::StringBuilder::swap): Removed code to swap m_valid16BitShadowLength.
1810
1811        * wtf/text/StringImpl.cpp:
1812        (WTF::StringImpl::~StringImpl): Removed code to free m_copyData16.
1813        (WTF::StringImpl::upper): Use StringView::upconvertedCharacters for slow case.
1814        (WTF::StringImpl::lower): Ditto.
1815        (WTF::StringImpl::find): Use characters8/16 rather than deprecatedCharacters.
1816        Added an 8-bit code path to one of the overloads. Might want to revisit later
1817        to decide whether to use templates instead of copy/paste, or even use StringView
1818        to cut down on duplicate code paths.
1819        (WTF::StringImpl::findIgnoringCase): Ditto.
1820        (WTF::StringImpl::sizeInBytes): Remove code to handle has16BitShadow case.
1821        (WTF::equalIgnoringNullity): Added. To be called by the Vector template in the header.
1822
1823        * wtf/text/StringImpl.h: Removed deprecatedCharacters, has16BitShadow,
1824        upconvertCharacters, getData16SlowCase, s_hashFlagHas16BitShadow, and m_copyData16.
1825        (WTF::equalIgnoringNullity): Changed the template function into an inline that calls
1826        a non-inline helper function. The non-inline function handles both 8-bit and 16-bit
1827        strings.
1828
1829        * wtf/text/StringView.h:
1830        (WTF::StringView::StringView): Added an overload so we can make one of these directly
1831        from a StringImpl without first wrapping it in a string. Added an adapter so we can
1832        use StringView as part of string concatenation. Added an append function so we can
1833        append to a Vector<UChar>.
1834
1835        * wtf/text/WTFString.cpp:
1836        (WTF::String::append): Use StringView::getCharactersWithUpconvert. Also changed
1837        single-character append so it won't always turn an 8-bit string into a 16-bit one.
1838        (WTF::String::insert): Removed one insert overload and changed the other to use
1839        StringView::getCharactersWithUpconvert.
1840        (WTF::String::truncate): Changed to use StringImpl::substring.
1841        (WTF::String::percentage): Added characters8/16 paths instead of using
1842        deprecatedCharacters.
1843
1844        * wtf/text/WTFString.h: Removed deprecatedCharacters, getCharactersWithUpconvert,
1845        insert(UChar*, unsigned, unsigned), and the append overload for Vector<UChar>.
1846
18472014-03-20  Darin Adler  <darin@apple.com>
1848
1849        Fix a header guard mistake (harmless but clearly wrong)
1850        https://bugs.webkit.org/show_bug.cgi?id=130559
1851
1852        Reviewed by Andreas Kling.
1853
1854        * wtf/text/StringConcatenate.h: Correct the macro name in the header guard.
1855
18562014-03-20  Hyowon Kim  <hw1008.kim@samsung.com>
1857
1858        Move to using std::unique_ptr for EFL objects.
1859        https://bugs.webkit.org/show_bug.cgi?id=129853
1860
1861        Reviewed by Gyuyoung Kim.
1862
1863        EflUniquePtr is a template alias of std::unique_ptr
1864        with a custom deleter for each Efl Objects, which is motivated by GUniquePtr.
1865        This patch replaces uses of OwnPtr and PassOwnPtr for Efl objects with EflUniquePtr.
1866
1867        * wtf/OwnPtrCommon.h:
1868        * wtf/PlatformEfl.cmake:
1869        * wtf/RunLoop.h:
1870        * wtf/efl/MainThreadEfl.cpp:
1871        (WTF::pipeObject):
1872        (WTF::initializeMainThreadPlatform):
1873        * wtf/efl/OwnPtrEfl.cpp: Removed.
1874        * wtf/efl/RunLoopEfl.cpp:
1875        (WTF::RunLoop::RunLoop):
1876        * wtf/efl/UniquePtrEfl.h: Added.
1877        (WTF::EflPtrDeleter::operator()):
1878
18792014-03-20  Gavin Barraclough  <barraclough@apple.com>
1880
1881        Remove IdentifierTable typedef, isIdentifier()
1882        https://bugs.webkit.org/show_bug.cgi?id=130533
1883
1884        Rubber stamped by Geoff Garen.
1885
1886        Code should use AtomicStringTable, isAtomic() directly.
1887
1888        * wtf/WTFThreadData.h:
1889        (WTF::WTFThreadData::setCurrentAtomicStringTable):
1890        (WTF::WTFThreadData::resetCurrentAtomicStringTable):
1891            - removed IdentifierTypedef.
1892        * wtf/text/StringImpl.h:
1893        (WTF::StringImpl::flagIsAtomic):
1894            - renamed flagIsIdentfier -> flagIsAtomic.
1895
18962014-03-20  Gavin Barraclough  <barraclough@apple.com>
1897
1898        Merge AtomicString, Identifier
1899        https://bugs.webkit.org/show_bug.cgi?id=128624
1900
1901        Reviewed by Geoff Garen.
1902
1903        WTF::StringImpl currently supports two uniquing mechanism - AtomicString and
1904        Identifer - that is one too many.
1905
1906        Remove Identifier in favour of AtomicString. Identifier had two interesting
1907        mechanisms that we preserve.
1908
1909        (1) JSC API VMs each get their own string table, switch the string table on
1910            API entry/exit.
1911        (2) JSC caches a pointer to the string table on the VM to avoid a thread
1912            specific access. Adds a new AtomicString::add method to support this.
1913
1914        * wtf/WTFThreadData.cpp:
1915        (WTF::WTFThreadData::WTFThreadData):
1916            - remove allocation of IdentifierTable.
1917        (WTF::WTFThreadData::~WTFThreadData):
1918            - remove deletion of IdentifierTable.
1919        * wtf/WTFThreadData.h:
1920        (WTF::WTFThreadData::atomicStringTable):
1921            - table is now switched by JSC API, return the current table.
1922        (WTF::WTFThreadData::currentIdentifierTable):
1923            - now returns the current AtomicStringTable.
1924        (WTF::WTFThreadData::setCurrentIdentifierTable):
1925            - now sets the current AtomicStringTable.
1926        (WTF::WTFThreadData::resetCurrentIdentifierTable):
1927            - now resets the AtomicStringTable.
1928        * wtf/text/AtomicString.cpp:
1929        (WTF::AtomicString::addSlowCase):
1930            - add without thread-specific access to access string table.
1931        * wtf/text/AtomicString.h:
1932        (WTF::AtomicString::addWithStringTableProvider):
1933            - add without thread-specific access (used by JSC, string table provided by VM or ExecState).
1934        * wtf/text/AtomicStringTable.cpp:
1935        (WTF::AtomicStringTable::create):
1936            - renamed m_atomicStringTable -> m_defaultAtomicStringTable.
1937        (WTF::AtomicStringTable::~AtomicStringTable):
1938        (WTF::AtomicStringTable::destroy):
1939            - clearing of table moved from AtomicStringTable::destroy to destructor.
1940        * wtf/text/AtomicStringTable.h:
1941            - added destructor.
1942        * wtf/text/StringImpl.cpp:
1943        (WTF::StringImpl::~StringImpl):
1944            - Identifers no longer exist; no need to remove them from IdentifierTable.
1945        * wtf/text/StringImpl.h:
1946        (WTF::StringImpl::StringImpl):
1947            - removed s_hashFlagIsIdentifier.
1948        (WTF::StringImpl::flagIsIdentifier):
1949            - s_hashFlagIsIdentifier -> s_hashFlagIsAtomic.
1950        (WTF::StringImpl::isIdentifier):
1951            - now synonymous to isAtomic().
1952        * wtf/text/StringStatics.cpp:
1953        (WTF::StringImpl::hashAndFlagsForEmptyUnique):
1954            - removed s_hashFlagIsIdentifier.
1955
19562014-03-20  Zan Dobersek  <zdobersek@igalia.com>
1957
1958        Unreviewed Clang build fix for the GTK port after r165952.
1959
1960        * wtf/gobject/GMainLoopSource.h: Include the <functional> header for the std::function<> objects.
1961
19622014-03-18  Carlos Garcia Campos  <cgarcia@igalia.com>
1963
1964        [GLIB] Add GMainLoopSource class to wrap idle and timeout sources
1965        https://bugs.webkit.org/show_bug.cgi?id=130027
1966
1967        Reviewed by Martin Robinson.
1968
1969        GLib main loop sources like idle and timeouts are sometimes
1970        unconvenient to use and it's very common to forget canceling the
1971        source when the object is destroyed or reset the source ID in the
1972        callback when called. GMainLoopSource is a wrapper class to make it
1973        easier to handle sources and also to avoid those typical mistakes.
1974        It forces to create sources with a name and the user doesn't have
1975        to deal with the source ID anymore. The source is cancelled when
1976        the object is deleted or when a new source is scheduled. It uses
1977        std::function for callbacks so that we no longer need to use the
1978        "proxy" static callbacks either. We can use std::bind to use a
1979        function pointer or a member or even lambda functions. It also handles
1980        repeating sources automatically depending on whether the given
1981        function returns a bool or not.
1982
1983        * GNUmakefile.list.am:
1984        * wtf/PlatformEfl.cmake:
1985        * wtf/PlatformGTK.cmake:
1986        * wtf/RunLoop.h:
1987        * wtf/gobject/GMainLoopSource.cpp: Added.
1988        (WTF::GMainLoopSource::createAndDeleteOnDestroy):
1989        (WTF::GMainLoopSource::GMainLoopSource):
1990        (WTF::GMainLoopSource::~GMainLoopSource):
1991        (WTF::GMainLoopSource::cancel):
1992        (WTF::GMainLoopSource::reset):
1993        (WTF::GMainLoopSource::scheduleIdleSource):
1994        (WTF::GMainLoopSource::schedule):
1995        (WTF::GMainLoopSource::scheduleTimeoutSource):
1996        (WTF::GMainLoopSource::scheduleAfterDelay):
1997        (WTF::GMainLoopSource::voidCallback):
1998        (WTF::GMainLoopSource::boolCallback):
1999        (WTF::GMainLoopSource::socketCallback):
2000        (WTF::GMainLoopSource::destroy):
2001        (WTF::GMainLoopSource::voidSourceCallback):
2002        (WTF::GMainLoopSource::boolSourceCallback):
2003        (WTF::GMainLoopSource::socketSourceCallback):
2004        * wtf/gobject/GMainLoopSource.h: Added.
2005        (WTF::GMainLoopSource::isScheduled):
2006        * wtf/gtk/MainThreadGtk.cpp:
2007        (WTF::scheduleDispatchFunctionsOnMainThread):
2008        * wtf/gtk/RunLoopGtk.cpp:
2009        (WTF::RunLoop::wakeUp):
2010        (WTF::RunLoop::TimerBase::TimerBase):
2011        (WTF::RunLoop::TimerBase::start):
2012        (WTF::RunLoop::TimerBase::stop):
2013        (WTF::RunLoop::TimerBase::isActive):
2014
20152014-03-19  Gavin Barraclough  <barraclough@apple.com>
2016
2017        https://bugs.webkit.org/show_bug.cgi?id=130494
2018        EmptyUnique strings are Identifiers/Atomic
2019
2020        Reviewed by Geoff Garen.
2021
2022        EmptyUnique strings should set the Identifier/Atomic flag.
2023
2024        * wtf/text/AtomicString.h:
2025        (WTF::AtomicString::add):
2026            - Previously we assumed the only StringImpl that was validly allowed to claim to be
2027              Atomic but not be in a table was the canonical empty string. Now that EmptyUniques
2028              are also marked Atomic, all empty strings may pass this condition.
2029        * wtf/text/StringImpl.cpp:
2030        (WTF::StringImpl::~StringImpl):
2031            - EmptyUnique strings are not in the Atomic/Identfiier tabels, so don't need removing.
2032        * wtf/text/StringImpl.h:
2033        (WTF::StringImpl::StringImpl):
2034            - Change EmptyUnique constructor to call hashAndFlagsForEmptyUnique.
2035        * wtf/text/StringStatics.cpp:
2036        (WTF::StringImpl::hashAndFlagsForEmptyUnique):
2037            - Allocate a sequential hash code (this should be just as good for distribution & better
2038              for debugging than the random value) and set flags, now including Atomic & Identifier.
2039
20402014-03-19  Gavin Barraclough  <barraclough@apple.com>
2041
2042        Small cleanup of empty string
2043        https://bugs.webkit.org/show_bug.cgi?id=130438
2044
2045        Reviewed by Anders Carlson.
2046
2047        The empty string is weird becuase it is used as the impl for an AtomicString, but isAtomic()
2048        returns false.
2049        Also, we set a valid pointer for the characters pointer due to an old PCRE bug; remove this.
2050        Also, we currently only create one 'static' string, the empty string. Adding more might break
2051        assumtions, inhibit the constructor from being used to create other static strings for now.
2052
2053        * wtf/text/AtomicString.h:
2054        (WTF::AtomicString::add):
2055            - update assert.
2056        * wtf/text/StringImpl.h:
2057        (WTF::StringImpl::StringImpl):
2058            - Merge ConstructStaticString constructors, only allow the empty static string to be constructed.
2059        * wtf/text/StringStatics.cpp:
2060        (WTF::StringImpl::empty):
2061            - ConstructStaticString -> ConstructEmptyString, remove arguments, DEPRECATED_DEFINE_STATIC_LOCAL -> NeverDestroyed.
2062
20632014-03-18  Darin Adler  <darin@apple.com>
2064
2065        Reduce use of deprecatedCharacters in WebCore
2066        https://bugs.webkit.org/show_bug.cgi?id=130318
2067
2068        Reviewed by Andreas Kling.
2069
2070        * wtf/text/WTFString.h: Export another overload of charactersToFloat since it's used
2071        in WebCore now.
2072
2073        * wtf/text/cf/StringViewCF.cpp: Change so this can build on Windows.
2074
2075        * WTF.vcxproj/WTF.vcxproj: Added StringViewCF.cpp.
2076        * WTF.vcxproj/WTF.vcxproj.filters: Added StringViewCF.cpp.
2077
20782014-03-18  Filip Pizlo  <fpizlo@apple.com>
2079
2080        More FTL enabling.
2081
2082        Rubber stamped by Dan Bernstein and Mark Hahnenberg.
2083
2084        * wtf/Platform.h:
2085
20862014-03-17  Darin Adler  <darin@apple.com>
2087
2088        Remove most uses of deprecatedCharacter in WTF
2089        https://bugs.webkit.org/show_bug.cgi?id=130317
2090
2091        Reviewed by Andreas Kling.
2092
2093        Re-landing after fixing the "80 instead of 0x80" typo in equalLatin1WithUTF8.
2094
2095        * wtf/text/AtomicString.cpp:
2096        (WTF::HashAndUTF8CharactersTranslator::equal): Add an 8-bit code path to the
2097        non-ASCII path.
2098        (WTF::SubstringTranslator8::hash): Added.
2099        (WTF::SubstringTranslator8::equal): Added.
2100        (WTF::SubstringTranslator16::hash): Renamed class.
2101        (WTF::SubstringTranslator16::equal): Ditto.
2102        (WTF::AtomicString::add): Added an 8-bit code path to the substring case.
2103
2104        * wtf/text/Base64.cpp:
2105        (WTF::base64Decode): Added an 8 bit code path.
2106        (WTF::base64URLDecode): Ditto.
2107
2108        * wtf/text/StringImpl.cpp:
2109        (WTF::StringImpl::find): Fixed a case that was incorrectly using characters16
2110        without first using is8Bit. Need to return later to remove use of deprecatedCharacters.
2111
2112        * wtf/unicode/UTF8.cpp:
2113        (WTF::Unicode::equalUTF16WithUTF8): Added a case for when the UTF-16 characters
2114        are ASCII. Also removed the aEnd argument, since the caller only calls this when the
2115        lengths are equal.
2116        (WTF::Unicode::equalLatin1WithUTF8): Added.
2117        * wtf/unicode/UTF8.h: Updated as described above.
2118
21192014-03-17  Commit Queue  <commit-queue@webkit.org>
2120
2121        Unreviewed, rolling out r165721.
2122        https://bugs.webkit.org/show_bug.cgi?id=130367
2123
2124        It makes the debug bots flaky (Requested by benjaminp on
2125        #webkit).
2126
2127        Reverted changeset:
2128
2129        "Remove most uses of deprecatedCharacter in WTF"
2130        https://bugs.webkit.org/show_bug.cgi?id=130317
2131        http://trac.webkit.org/changeset/165721
2132
21332014-03-17  Zan Dobersek  <zdobersek@igalia.com>
2134
2135        Use RunLoop objects through references instead of pointers
2136        https://bugs.webkit.org/show_bug.cgi?id=130313
2137
2138        Reviewed by Andreas Kling.
2139
2140        Make RunLoop::current() and RunLoop::main() return a RunLoop reference instead
2141        of a pointer. RunLoop::Holder now uses a Ref<RunLoop> member. Timer and TimerBase
2142        constructors take in a RunLoop reference, with TimerBase now storing a RunLoop
2143        reference member instead of a pointer. Platform-specific bits of the RunLoop
2144        class are updated accordingly.
2145
2146        * wtf/RunLoop.cpp:
2147        (WTF::RunLoop::Holder::Holder):
2148        (WTF::RunLoop::Holder::runLoop):
2149        (WTF::RunLoop::initializeMainRunLoop):
2150        (WTF::RunLoop::current):
2151        (WTF::RunLoop::main):
2152        (WTF::RunLoop::isMain):
2153        * wtf/RunLoop.h:
2154        (WTF::RunLoop::Timer::Timer):
2155        * wtf/cf/RunLoopCF.cpp:
2156        (WTF::RunLoop::run):
2157        (WTF::RunLoop::TimerBase::TimerBase):
2158        (WTF::RunLoop::TimerBase::start):
2159        * wtf/efl/RunLoopEfl.cpp:
2160        (WTF::RunLoop::TimerBase::TimerBase):
2161        * wtf/gtk/RunLoopGtk.cpp:
2162        (WTF::RunLoop::run):
2163        (WTF::RunLoop::TimerBase::TimerBase):
2164        (WTF::RunLoop::TimerBase::start):
2165        * wtf/win/RunLoopWin.cpp:
2166        (WTF::RunLoop::TimerBase::TimerBase):
2167        (WTF::RunLoop::TimerBase::start):
2168        (WTF::RunLoop::TimerBase::stop):
2169        (WTF::RunLoop::TimerBase::isActive):
2170
21712014-03-17  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
2172
2173        One more fix after r165725.
2174
2175        Reviewed by Csaba Osztrogonác.
2176
2177        * wtf/WTFThreadData.h:
2178
21792014-03-17  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
2180
2181        Buildfix after r165725 for non Mac platforms.
2182
2183        Reviewed by Csaba Osztrogonác.
2184
2185        * wtf/WTFThreadData.h:
2186
21872014-03-17  Andreas Kling  <akling@apple.com>
2188
2189        [Mac] WTFThreadData should use _pthread_getspecific_direct().
2190        <https://webkit.org/b/130320>
2191
2192        Hack WTFThreadData to use a direct key for TLS access when available.
2193        This mechanism uses a dedicated segment register and is the same way
2194        we implement the fast path in FastMalloc.
2195
2196        Reviewed by Darin Adler.
2197
2198        * wtf/FastMalloc.cpp:
2199        * wtf/WTFThreadData.cpp:
2200        (WTF::WTFThreadData::createAndRegisterForGetspecificDirect):
2201        * wtf/WTFThreadData.h:
2202        (WTF::wtfThreadData):
2203
22042014-03-16  Darin Adler  <darin@apple.com>
2205
2206        Remove most uses of deprecatedCharacter in WTF
2207        https://bugs.webkit.org/show_bug.cgi?id=130317
2208
2209        Reviewed by Andreas Kling.
2210
2211        * wtf/text/AtomicString.cpp:
2212        (WTF::HashAndUTF8CharactersTranslator::equal): Add an 8-bit code path to the
2213        non-ASCII path.
2214        (WTF::SubstringTranslator8::hash): Added.
2215        (WTF::SubstringTranslator8::equal): Added.
2216        (WTF::SubstringTranslator16::hash): Renamed class.
2217        (WTF::SubstringTranslator16::equal): Ditto.
2218        (WTF::AtomicString::add): Added an 8-bit code path to the substring case.
2219
2220        * wtf/text/Base64.cpp:
2221        (WTF::base64Decode): Added an 8 bit code path.
2222        (WTF::base64URLDecode): Ditto.
2223
2224        * wtf/text/StringImpl.cpp:
2225        (WTF::StringImpl::find): Fixed a case that was incorrectly using characters16
2226        without first using is8Bit. Need to return later to remove use of deprecatedCharacters.
2227
2228        * wtf/unicode/UTF8.cpp:
2229        (WTF::Unicode::equalUTF16WithUTF8): Added a case for when the UTF-16 characters
2230        are ASCII. Also removed the aEnd argument, since the caller only calls this when the
2231        lengths are equal.
2232        (WTF::Unicode::equalLatin1WithUTF8): Added.
2233        * wtf/unicode/UTF8.h: Updated as described above.
2234
22352014-03-16  David Kilzer  <ddkilzer@apple.com>
2236
2237        Follow-up: Fix undefined behavior in WTF::equal() in StringImpl.h for i386/x86_64
2238        <http://webkit.org/b/130283>
2239        <rdar://problem/16281477>
2240
2241        Reviewed by Darin Adler.
2242
2243        * wtf/text/StringImpl.h:
2244        (WTF::loadUnaligned): Restore behavior prior to r165681 for
2245        compilers other than clang.
2246
22472014-03-16  Darin Adler  <darin@apple.com>
2248
2249        Remove all uses of deprecatedCharacters from JavaScriptCore
2250        https://bugs.webkit.org/show_bug.cgi?id=130304
2251
2252        Reviewed by Anders Carlsson.
2253
2254        * wtf/dtoa.h:
2255        (WTF::parseDouble): Added an overload that takes a StringView.
2256
22572014-03-15  Darin Adler  <darin@apple.com>
2258
2259        Remove all uses of deprecatedCharacters from WebKit2
2260        https://bugs.webkit.org/show_bug.cgi?id=130197
2261
2262        Reviewed by Andreas Kling.
2263
2264        * wtf/text/StringView.h: Added new getCharactersWithUpconvert and upconvertedCharacters
2265        functions. These are useful for callers that need UTF-16.
2266
22672014-03-15  Darin Adler  <darin@apple.com>
2268
2269        Try to fix EFL build.
2270
2271        * wtf/ThreadingPthreads.cpp: (WTF::changeThreadPriority): Code in this function
2272        was setting the priority of the current thread instead of the passed-in thread.
2273        That was triggering an unused variable warning in the compiler used to build for
2274        EFL. Fixed by using the thread handle instead of pthread_self.
2275
22762014-03-15  Michael Saboff  <msaboff@apple.com>
2277
2278        It should be possible to adjust DFG and FTL compiler thread priorities
2279        https://bugs.webkit.org/show_bug.cgi?id=130288
2280
2281        Reviewed by Filip Pizlo.
2282
2283        Added ability to change thread priorities relative to its current priority.
2284        Created options to adjust the priority of the DFG and FTL compilation work thread
2285        pools.  For two core systems, there might be three runnable threads, the main thread,
2286        the DFG compilation thread and the FTL compilation thread.  With the same priority,
2287        the scheduler is free to schedule whatever thread it wants.  By lowering the
2288        compilation threads, the main thread can run.  Further tests may suggest better values
2289        for the new options, priorityDeltaOfDFGCompilerThreads and priorityDeltaOfFTLCompilerThreads.
2290
2291        For a two-core device, this change has a net positive improvement of 1-3% across
2292        SunSpider, Octane, Kraken and AsmBench.
2293
2294        * wtf/Threading.h:
2295        * wtf/ThreadingPthreads.cpp:
2296        (WTF::changeThreadPriority):
2297        * wtf/ThreadingWin.cpp:
2298        (WTF::changeThreadPriority):
2299
23002014-03-15  David Kilzer  <ddkilzer@apple.com>
2301
2302        Fix undefined behavior in WTF::equal() in StringImpl.h for i386/x86_64
2303        <http://webkit.org/b/130283>
2304        <rdar://problem/16281477>
2305
2306        Reviewed by Geoff Garen.
2307
2308        * wtf/text/StringImpl.h:
2309        (WTF::loadUnaligned): Add template method.
2310        (WTF::equal): Switch to using loadUnaligned<>().
2311
23122014-03-14  Mark Rowe  <mrowe@apple.com>
2313
2314        Fix the production build.
2315
2316        Don't rely on USE_INTERNAL_SDK being set for the Production configuration since UseInternalSDK.xcconfig won't
2317        be at the expected relative path when working from installed source.
2318
2319        * Configurations/Base.xcconfig:
2320
23212014-03-14  Maciej Stachowiak  <mjs@apple.com>
2322
2323        Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers
2324        https://bugs.webkit.org/show_bug.cgi?id=130276
2325        <rdar://problem/16266927>
2326        
2327        Reviewed by Simon Fraser.
2328
2329        * wtf/ASCIICType.h:
2330        * wtf/AVLTree.h:
2331        * wtf/Assertions.cpp:
2332        * wtf/Assertions.h:
2333        * wtf/Atomics.cpp:
2334        * wtf/Atomics.h:
2335        * wtf/AutodrainedPool.h:
2336        * wtf/AutodrainedPoolMac.mm:
2337        * wtf/BoundsCheckedPointer.h:
2338        * wtf/CryptographicUtilities.cpp:
2339        * wtf/CryptographicallyRandomNumber.h:
2340        * wtf/CurrentTime.h:
2341        * wtf/Deque.h:
2342        * wtf/DisallowCType.h:
2343        * wtf/ExportMacros.h:
2344        * wtf/FeatureDefines.h:
2345        * wtf/GetPtr.h:
2346        * wtf/HashIterators.h:
2347        * wtf/Locker.h:
2348        * wtf/MainThread.cpp:
2349        * wtf/MainThread.h:
2350        * wtf/MathExtras.h:
2351        * wtf/MediaTime.cpp:
2352        * wtf/MediaTime.h:
2353        * wtf/MessageQueue.h:
2354        * wtf/MetaAllocator.cpp:
2355        * wtf/MetaAllocator.h:
2356        * wtf/MetaAllocatorHandle.h:
2357        * wtf/OSRandomSource.cpp:
2358        * wtf/OSRandomSource.h:
2359        * wtf/Platform.h:
2360        * wtf/RandomNumber.cpp:
2361        * wtf/RandomNumber.h:
2362        * wtf/RandomNumberSeed.h:
2363        * wtf/RedBlackTree.h:
2364        * wtf/RunLoopTimer.h:
2365        * wtf/RunLoopTimerCF.cpp:
2366        * wtf/SchedulePair.h:
2367        * wtf/SchedulePairCF.cpp:
2368        * wtf/SchedulePairMac.mm:
2369        * wtf/SegmentedVector.h:
2370        * wtf/StackBounds.h:
2371        * wtf/StaticConstructors.h:
2372        * wtf/StringExtras.h:
2373        * wtf/ThreadFunctionInvocation.h:
2374        * wtf/ThreadSafeRefCounted.h:
2375        * wtf/ThreadSpecific.h:
2376        * wtf/Threading.h:
2377        * wtf/ThreadingPrimitives.h:
2378        * wtf/ThreadingPthreads.cpp:
2379        * wtf/ThreadingWin.cpp:
2380        * wtf/WTFThreadData.cpp:
2381        * wtf/WTFThreadData.h:
2382        * wtf/efl/OwnPtrEfl.cpp:
2383        * wtf/mac/MainThreadMac.mm:
2384        * wtf/text/AtomicStringHash.h:
2385        * wtf/text/AtomicStringImpl.h:
2386        * wtf/text/Base64.h:
2387        * wtf/text/CString.cpp:
2388        * wtf/text/CString.h:
2389        * wtf/text/LChar.h:
2390        * wtf/text/cf/StringCF.cpp:
2391        * wtf/text/mac/StringMac.mm:
2392        * wtf/unicode/CharacterNames.h:
2393        * wtf/unicode/Collator.h:
2394        * wtf/unicode/CollatorDefault.cpp:
2395        * wtf/unicode/UTF8.cpp:
2396        * wtf/unicode/UTF8.h:
2397        * wtf/unicode/icu/CollatorICU.cpp:
2398        * wtf/win/MainThreadWin.cpp:
2399
24002014-03-14  Byungseon Shin  <sun.shin@lge.com>
2401
2402        Incorrect Date returned between March 1, 2034 and February 28, 2100.
2403        https://bugs.webkit.org/show_bug.cgi?id=130123
2404
2405        Reviewed by Mark Lam.
2406
2407        Fix logic by using predefined Date APIs.
2408
2409        * wtf/DateMath.cpp:
2410        (WTF::ymdhmsToSeconds):
2411
24122014-03-12  Sergio Villar Senin  <svillar@igalia.com>
2413
2414        Rename DEFINE_STATIC_LOCAL to DEPRECATED_DEFINE_STATIC_LOCAL
2415        https://bugs.webkit.org/show_bug.cgi?id=129612
2416
2417        Reviewed by Darin Adler.
2418
2419        For new code use static NeverDestroyed<T> instead.
2420
2421        * wtf/RunLoop.cpp:
2422        (WTF::RunLoop::current):
2423        * wtf/StdLibExtras.h:
2424        * wtf/ThreadingPthreads.cpp:
2425        (WTF::threadMapMutex):
2426        (WTF::threadMap):
2427        * wtf/efl/MainThreadEfl.cpp:
2428        (WTF::pipeObject):
2429        * wtf/text/StringStatics.cpp:
2430        (WTF::StringImpl::empty):
2431
24322014-03-13  Radu Stavila  <stavila@adobe.com>
2433
2434        Webkit not building on XCode 5.1 due to garbage collection no longer being supported
2435        https://bugs.webkit.org/show_bug.cgi?id=130087
2436
2437        Reviewed by Mark Rowe.
2438
2439        Disable garbage collection on macosx when not using internal SDK.
2440
2441        * Configurations/Base.xcconfig:
2442
24432014-03-12  Ryuan Choi  <ryuan.choi@samsung.com>
2444
2445        [EFL] Enable Parallel GC
2446        https://bugs.webkit.org/show_bug.cgi?id=130177
2447
2448        Reviewed by Geoffrey Garen.
2449
2450        * wtf/Platform.h: Turn on ENABLE_PARALLEL_GC for the EFL build.
2451
24522014-03-12  Joseph Pecoraro  <pecoraro@apple.com>
2453
2454        Web Inspector: Disable REMOTE_INSPECTOR in earlier OS X releases
2455        https://bugs.webkit.org/show_bug.cgi?id=130118
2456
2457        Reviewed by Timothy Hatcher.
2458
2459        * wtf/FeatureDefines.h:
2460
24612014-03-11  Brent Fulgham  <bfulgham@apple.com>
2462
2463        [Win] Unreviewed gardening.
2464
2465        * wtf/MathExtras.h: VS2013 provides an lrint implementation. No need to implement
2466        our own.
2467
24682014-03-10  Jer Noble  <jer.noble@apple.com>
2469
2470        Improve WeakPtr operators.
2471        https://bugs.webkit.org/show_bug.cgi?id=130053
2472
2473        Reviewed by Andreas Kling.
2474
2475        Replace the "operator!()" with an explicit bool operator.  Add an "operator->()".
2476
2477        * wtf/WeakPtr.h:
2478        (WTF::WeakPtr::operator bool):
2479        (WTF::WeakPtr::operator->):
2480
24812014-03-10  Brent Fulgham  <bfulgham@apple.com>
2482
2483        [Win] Pass environment to Pre-Build, Pre-Link, and Post-Build Stages.
2484        https://bugs.webkit.org/show_bug.cgi?id=130023.
2485
2486        Reviewed by Dean Jackson.
2487
2488        * WTF.vcxproj/WTF.proj: Avoid putting trailing slashes in system paths to avoid
2489        escaping during later string substitution.
2490        * WTF.vcxproj/build-generated-files.sh: Accept environment values passed by VS.
2491
24922014-03-10  Mark Hahnenberg  <mhahnenberg@apple.com>
2493
2494        Turn on GenGC on other 64-bit platforms
2495        https://bugs.webkit.org/show_bug.cgi?id=129258
2496
2497        Reviewed by Oliver Hunt.
2498
2499        * wtf/Platform.h: 
2500
25012014-03-07  peavo@outlook.com  <peavo@outlook.com>
2502
2503        [Win64] Compile error after r165128.
2504        https://bugs.webkit.org/show_bug.cgi?id=129807
2505
2506        Reviewed by Mark Lam.
2507
2508        * wtf/Platform.h: MSVC does not support computed goto.
2509        Also enabled COMPUTED_GOTO_OPCODES when !ENABLE(LLINT_C_LOOP). This is needed because the ASM LLINT operates like COMPUTED_GOTO_OPCODES,
2510        and relies on the related data structures being defined to support this. On Win32, the platform does not HAVE_COMPUTED_GOTO support,
2511        but does want ENABLE_COMPUTED_GOTO_OPCODES because it uses the ASM LLINT.
2512
25132014-03-06  Michael Saboff  <msaboff@apple.com>
2514
2515        JSC should disable the JIT when building for ARMv7k
2516        https://bugs.webkit.org/show_bug.cgi?id=129829
2517
2518        Reviewed by Oliver Hunt.
2519
2520        Added WTF_CPU_APPLE_ARMV7K CPU define.  Disabled the JITs when
2521        that feature define is set.
2522
2523        * wtf/Platform.h:
2524
25252014-03-06  Filip Pizlo  <fpizlo@apple.com>
2526
2527        Use the LLVM disassembler on ARM64 if we are enabling the FTL
2528        https://bugs.webkit.org/show_bug.cgi?id=129785
2529
2530        Reviewed by Geoffrey Garen.
2531
2532        * wtf/Platform.h:
2533
25342014-03-05  peavo@outlook.com  <peavo@outlook.com>
2535
2536        [Win32][LLINT] Crash when running JSC stress tests.
2537        https://bugs.webkit.org/show_bug.cgi?id=129429
2538
2539        Reviewed by Geoffrey Garen.
2540
2541        * wtf/Platform.h: Enable LLINT on Win32.
2542
25432014-03-04  Zan Dobersek  <zdobersek@igalia.com>
2544
2545        [GTK] Build the Udis86 disassembler
2546        https://bugs.webkit.org/show_bug.cgi?id=129679
2547
2548        Reviewed by Michael Saboff.
2549
2550        * wtf/Platform.h: Also enable the Udis86 disassembler for the GTK port on Linux.
2551
25522014-03-02  Jaehun Lim  <ljaehun.lim@samsung.com>
2553
2554        [EFL] Remove m_initEfl from RunLoop.
2555        https://bugs.webkit.org/show_bug.cgi?id=129568
2556
2557        Reviewed by Gyuyoung Kim.
2558
2559        We don't use m_initEfl except RunLoop constructor.
2560
2561        * wtf/RunLoop.h:
2562        * wtf/efl/RunLoopEfl.cpp:
2563        (WTF::RunLoop::RunLoop):
2564
25652014-03-02  Darin Adler  <darin@apple.com>
2566
2567        Cut down use of OwnPtr within WTF itself
2568        https://bugs.webkit.org/show_bug.cgi?id=129567
2569
2570        Reviewed by Sam Weinig.
2571
2572        * wtf/RefCounted.h: Removed OwnPtr includes.
2573
2574        * wtf/StreamBuffer.h: Removed OwnPtr includes and switched to use
2575        std::make_unique and std::unique_ptr instead.
2576
2577        * wtf/Threading.cpp: Removed OwnPtr includes.
2578        * wtf/ThreadingPthreads.cpp: Ditto.
2579        * wtf/Vector.h: Ditto.
2580
25812014-02-26  Gavin Barraclough  <barraclough@apple.com>
2582
2583        FastMalloc should use vm_page_shift intead of PAGE_SHIFT.
2584        https://bugs.webkit.org/show_bug.cgi?id=129370
2585
2586        Reviewed by Mark Rowe.
2587
2588        "Doesn't this lead to the page map using fewer bits than it was before?
2589        It seems like this will cause some page addresses to no longer be
2590        representable in the map when using 4K pages. Am I missing something?"
2591
2592        * wtf/FastMalloc.cpp:
2593            - bdash raises a valid point. This should make the TCMalloc_PageMap
2594              larger than absolutely necessary, rather than potentially too small.
2595
25962014-02-25  Gavin Barraclough  <barraclough@apple.com>
2597
2598        FastMalloc should use vm_page_shift intead of PAGE_SHIFT.
2599        https://bugs.webkit.org/show_bug.cgi?id=129370
2600
2601        Reviewed by Geoff Garen.
2602
2603        Previously we used PAGE_SHIFT to initialize kPageShift.
2604        Since this was a constant, it could be used to calculate other
2605        contants used in the code. Some of these values are used in the
2606        definition of certain data structures (specifiying the length of
2607        some array members).
2608
2609        Make kPageShift & dependent properties variables setup during
2610        initialization. Add upper bound values (K_PAGE_SHIFT_MAX,
2611        K_NUM_CLASSES_MAX) for use in cases where we need a constant.
2612
2613        * wtf/FastMalloc.cpp:
2614        (WTF::InitSizeClasses):
2615            - initialize kPageShift, kNumClasses, kPageSize, kMaxValidPages.
2616        (WTF::pages):
2617            - added ASSERT.
2618        (WTF::AllocationSize):
2619            - added ASSERT.
2620        (WTF::TCMalloc_PageHeap::FreeBytes):
2621            - added ASSERT.
2622        (WTF::TCMalloc_PageHeap::init):
2623            - COMPILE_ASSERT -> ASSERT
2624        (WTF::TCMalloc_PageHeap::scavenge):
2625            - added ASSERT.
2626        (WTF::TCMalloc_PageHeap::Carve):
2627            - added ASSERT.
2628        (WTF::mergeDecommittedStates):
2629            - added ASSERT.
2630        (WTF::TCMalloc_PageHeap::IncrementalScavenge):
2631            - added ASSERT.
2632        (WTF::TCMalloc_PageHeap::ReturnedBytes):
2633            - added ASSERT.
2634        (WTF::PagesToMB):
2635            - added ASSERT.
2636        (WTF::TCMalloc_PageHeap::GrowHeap):
2637            - added ASSERT.
2638        (WTF::TCMalloc_PageHeap::ReleaseFreeList):
2639            - kNumClasses -> K_NUM_CLASSES_MAX
2640        (WTF::TCMalloc_ThreadCache::enumerateFreeObjects):
2641            - added ASSERT.
2642        (WTF::TCMalloc_Central_FreeList::Init):
2643            - added ASSERT.
2644        (WTF::TCMalloc_Central_FreeList::ReleaseToSpans):
2645            - added ASSERT.
2646        (WTF::TCMalloc_Central_FreeList::EvictRandomSizeClass):
2647            - added ASSERT.
2648        (WTF::TCMalloc_Central_FreeList::MakeCacheSpace):
2649            - added ASSERT.
2650        (WTF::TCMalloc_Central_FreeList::InsertRange):
2651            - added ASSERT.
2652        (WTF::TCMalloc_Central_FreeList::Populate):
2653            - added ASSERT.
2654        (WTF::TCMalloc_ThreadCache::Init):
2655            - added ASSERT.
2656        (WTF::TCMalloc_ThreadCache::Cleanup):
2657            - added ASSERT.
2658        (WTF::TCMalloc_ThreadCache::Scavenge):
2659            - added ASSERT.
2660        (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
2661            - added ASSERT.
2662
26632014-02-24  Alex Christensen  <achristensen@webkit.org>
2664
2665        Disabled WebGL on WinCairo.
2666
2667        Unreviewed.
2668
2669        * wtf/FeatureDefines.h:
2670        Removed ENABLE_WEBGL definition for WinCairo port.
2671        WebGL has not worked on WinCairo since r163079
2672        and it was not compiling with a recent ANGLE update.
2673
26742014-02-24  Mark Hahnenberg  <mhahnenberg@apple.com>
2675
2676        Turn GenGC on for 32-bit systems
2677        https://bugs.webkit.org/show_bug.cgi?id=128824
2678
2679        Reviewed by Geoffrey Garen.
2680
2681        * wtf/Platform.h:
2682
26832014-02-21  Benjamin Poulain  <benjamin@webkit.org>
2684
2685        jsDocumentPrototypeFunctionGetElementById should not create an AtomicString for the function argument
2686        https://bugs.webkit.org/show_bug.cgi?id=128893
2687
2688        Reviewed by Darin Adler.
2689
2690        AtomicString::find() is a special case optimized for the JavaScript bindings. The method can only
2691        be called under specific conditions.
2692        The method is renamed to findStringWithHash().
2693
2694        The new AtomicString::find is generic and does not require any propery on the input.
2695
2696        * wtf/text/AtomicString.cpp:
2697        (WTF::AtomicString::findStringWithHash):
2698        (WTF::AtomicString::findSlowCase):
2699        * wtf/text/AtomicString.h:
2700        (WTF::AtomicString::find):
2701
27022014-02-20  Csaba Osztrogonác  <ossy@webkit.org>
2703
2704        Add StackStats sources to cmake and autotools build files
2705        https://bugs.webkit.org/show_bug.cgi?id=129103
2706
2707        Reviewed by Anders Carlsson.
2708
2709        * GNUmakefile.list.am:
2710        * wtf/CMakeLists.txt:
2711
27122014-02-20  Csaba Osztrogonác  <ossy@webkit.org>
2713
2714        Get rid of redundant Platform.h includes
2715        https://bugs.webkit.org/show_bug.cgi?id=128817
2716
2717        Reviewed by Brent Fulgham.
2718
2719        * wtf/Assertions.h:
2720        * wtf/Atomics.h:
2721        * wtf/ByteOrder.h:
2722        * wtf/DataLog.h:
2723        * wtf/DisallowCType.h:
2724        * wtf/DynamicAnnotations.h:
2725        * wtf/ExportMacros.h:
2726        * wtf/FastMalloc.h:
2727        * wtf/FlipBytes.h:
2728        * wtf/InlineASM.h:
2729        * wtf/PrintStream.h:
2730        * wtf/ProcessID.h:
2731        * wtf/Threading.h:
2732        * wtf/ThreadingPrimitives.h:
2733
27342014-02-19  Jon Honeycutt  <jhoneycutt@apple.com>
2735
2736        Crash in WTF::StringBuilder::append()
2737
2738        https://bugs.webkit.org/show_bug.cgi?id=125817
2739        <rdar://problem/15671883>
2740
2741        Reviewed by Oliver Hunt.
2742
2743        * wtf/text/StringBuilder.cpp:
2744        (WTF::expandedCapacity):
2745        Ensure that we return a new capacity of at least 'requiredLength' in
2746        the case where requiredLength is large. Also, use unsigned rather than
2747        size_t for the parameters and the return value, as callers pass
2748        unsigned arguments and treat the result as an unsigned int.
2749
27502014-02-19  Anders Carlsson  <andersca@apple.com>
2751
2752        Add WTF_MAKE_FAST_ALLOCATED to more classes
2753        https://bugs.webkit.org/show_bug.cgi?id=129064
2754
2755        Reviewed by Andreas Kling.
2756
2757        * wtf/Bitmap.h:
2758
27592014-02-19  Zan Dobersek  <zdobersek@igalia.com>
2760
2761        Make PrintStream::print() a variadic template
2762        https://bugs.webkit.org/show_bug.cgi?id=126388
2763
2764        Reviewed by Brent Fulgham.
2765
2766        PrintStream::print() can be converted into a variadic template, printing the value
2767        of the first parameter and recursively calling itself until the single parameter version
2768        is used for printing the last value.
2769
2770        * wtf/DataLog.h:
2771        (WTF::dataLog): Convert the function to a variadic template as well.
2772        * wtf/PrintStream.h:
2773        (WTF::PrintStream::print):
2774        * wtf/StringPrintStream.h:
2775        (WTF::toCString): Ditto.
2776        (WTF::toString): Ditto.
2777
27782014-02-19  Zan Dobersek  <zdobersek@igalia.com>
2779
2780        Use std::swap() in HashTable::swap()
2781        https://bugs.webkit.org/show_bug.cgi?id=128995
2782
2783        Reviewed by Brent Fulgham.
2784
2785        Use std::swap() to swap the member variable values of two HashTable objects in HashTable::swap().
2786
2787        * wtf/HashTable.h:
2788        (WTF::KeyTraits>::swap):
2789
27902014-02-19  Zan Dobersek  <zdobersek@igalia.com>
2791
2792        SegmentedVector::append() should take in rvalue reference, forward it to Vector::uncheckedAppend()
2793        https://bugs.webkit.org/show_bug.cgi?id=128996
2794
2795        Reviewed by Brent Fulgham.
2796
2797        * wtf/SegmentedVector.h:
2798        (WTF::SegmentedVector::append): Take in an rvalue reference of the object that's to be appended and
2799        then forward it to Vector::uncheckedAppend(). This avoids unnecessary copies in the current situation
2800        where a const lvalue is accepted and passed on.
2801
28022014-02-19  Dan Bernstein  <mitz@apple.com>
2803
2804        Simplify PLATFORM(MAC) && !PLATFORM(IOS) and similar expressions
2805        https://bugs.webkit.org/show_bug.cgi?id=129029
2806
2807        Reviewed by Mark Rowe.
2808
2809        * wtf/FeatureDefines.h:
2810        * wtf/Platform.h:
2811        * wtf/Threading.cpp:
2812        * wtf/text/cf/StringImplCF.cpp:
2813        (garbageCollectionEnabled):
2814
28152014-02-18  Dan Bernstein  <mitz@apple.com>
2816
2817        PLATFORM(MAC) is true when building for iOS
2818        https://bugs.webkit.org/show_bug.cgi?id=129025
2819
2820        Reviewed by Mark Rowe.
2821
2822        * wtf/Platform.h: Changed to define WTF_PLATFORM_MAC only on when building for OS X (but
2823        still not when WTF_PLATFORM_GTK or WTF_PLATFORM_EFL are defined).
2824
28252014-02-18  Joseph Pecoraro  <pecoraro@apple.com>
2826
2827        [iOS] Web Inspector: JSContext inspection crashes in isMainThread, uninitialized WebCoreWebThreadIsLockedOrDisabled
2828        https://bugs.webkit.org/show_bug.cgi?id=128959
2829
2830        Reviewed by David Kilzer.
2831
2832        When JavaScriptCore is used without WebCore on iOS (e.g. JSContext)
2833        the WebCoreWebThread* functions will not be initialized. Avoid
2834        calling the function pointer if it is uninitialized. This was
2835        happening with remote inspection via StringImpl::createCFString
2836        for implicit NSString / WTFString conversion which uses isMainThread.
2837
2838        * wtf/mac/MainThreadMac.mm:
2839        (WTF::webThreadIsUninitializedOrLockedOrDisabled):
2840        (WTF::isMainThread):
2841        (WTF::canAccessThreadLocalDataForThread):
2842
28432014-02-17  Filip Pizlo  <fpizlo@apple.com>
2844
2845        More ARM FTL glue
2846        https://bugs.webkit.org/show_bug.cgi?id=128948
2847
2848        Reviewed by Sam Weinig.
2849
2850        * wtf/Platform.h:
2851
28522014-02-17  Anders Carlsson  <andersca@apple.com>
2853
2854        Remove ENABLE_GLOBAL_FASTMALLOC_NEW
2855        https://bugs.webkit.org/show_bug.cgi?id=127067
2856
2857        Reviewed by Geoffrey Garen.
2858
2859        Remove the global operator new/operator delete overrides. Having ALWAYS_INLINE operators
2860        like we do is really undefined behavior according to the C++ standard and we've been lucky enough
2861        to get away with it so far, but any code that calls operator new/operator delete inside from the C++ standard
2862        library (not from headers that are included) will be mismatched and potentially crash. libc++ calls
2863        delete in it's std::thread implementation for example.
2864        
2865        The only supported way to override operator new and operator delete globally is to not use inline
2866        functions, but that would mean that any application using WebKit would not be able to provide custom
2867        operator new/operator delete functions so we'll just reuse the already existing infrastructure consisting
2868        of the WTF_MAKE_FAST_ALLOCATED macro.
2869
2870        * wtf/FastMalloc.cpp:
2871        (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
2872        * wtf/FastMalloc.h:
2873        * wtf/Platform.h:
2874
28752014-02-17  Ryan Lortie  <desrt@desrt.ca>
2876
2877        Enable DFG_JIT on FreeBSD
2878        https://bugs.webkit.org/show_bug.cgi?id=128898
2879
2880        Reviewed by Csaba Osztrogonác.
2881
2882        * wtf/Platform.h:
2883
28842014-02-15  Filip Pizlo  <fpizlo@apple.com>
2885
2886        FTL should inline polymorphic heap accesses
2887        https://bugs.webkit.org/show_bug.cgi?id=128795
2888
2889        Reviewed by Oliver Hunt.
2890
2891        * wtf/PrintStream.h:
2892        (WTF::PointerDumpInContext::PointerDumpInContext):
2893        (WTF::PointerDumpInContext::dump):
2894        (WTF::pointerDumpInContext):
2895
28962014-02-16  Zan Dobersek  <zdobersek@igalia.com>
2897
2898        Reintroduce const qualifiers for return types of (Filter|Transform)Iterator::operator*()
2899        https://bugs.webkit.org/show_bug.cgi?id=126875
2900
2901        The const qualifiers for the return types of FilterIterator::operator*() and TransformIterator::operator*()
2902        were removed in r161797 and r161802 because of compilation failures when using GCC and having an Iterator
2903        type that already had the const qualifier. std::remove_const is now used to appease GCC and enforce the const
2904        qualifier on the return type, regardless of the Iterator type and its qualifiers.
2905
2906        * wtf/IteratorAdaptors.h:
2907        (WTF::FilterIterator::operator*):
2908        (WTF::TransformIterator::operator*):
2909
29102014-02-15  Filip Pizlo  <fpizlo@apple.com>
2911
2912        Vector with inline capacity should work with non-PODs
2913        https://bugs.webkit.org/show_bug.cgi?id=128864
2914
2915        Reviewed by Michael Saboff.
2916        
2917        Previously, we would copy the inline storage of a vector as if it was a bag of bits.
2918        This presumed that the element type was relocatable. In general this is only true for
2919        PODs.
2920        
2921        This patch changes this by introducing a swap operation over inline storage. This swap
2922        operation requires being told about the size that is in use.
2923        
2924        Deques would have required some cleverness to make this work, because the swap
2925        operation needs to know which subset of elements are in-use and assumes that a size is
2926        sufficient for this. That's not true for deques. Instead of trying to do very clever
2927        things, I just removed the inline capacity option from Deque. I believe that this is
2928        fine since there are only two users of Deque with inline capacity, and both of them
2929        appear to be allocated rarely enough that inline capacity probably doesn't help much.
2930
2931        * wtf/Deque.h:
2932        (WTF::DequeIterator::DequeIterator):
2933        (WTF::DequeConstIterator::DequeConstIterator):
2934        (WTF::Deque<T>::checkValidity):
2935        (WTF::Deque<T>::checkIndexValidity):
2936        (WTF::Deque<T>::invalidateIterators):
2937        (WTF::Deque<T>::Deque):
2938        (WTF::=):
2939        (WTF::Deque<T>::destroyAll):
2940        (WTF::Deque<T>::~Deque):
2941        (WTF::Deque<T>::swap):
2942        (WTF::Deque<T>::clear):
2943        (WTF::Deque<T>::expandCapacityIfNeeded):
2944        (WTF::Deque<T>::expandCapacity):
2945        (WTF::Deque<T>::append):
2946        (WTF::Deque<T>::prepend):
2947        (WTF::Deque<T>::removeFirst):
2948        (WTF::Deque<T>::removeLast):
2949        (WTF::Deque<T>::remove):
2950        (WTF::DequeIteratorBase<T>::checkValidity):
2951        (WTF::DequeIteratorBase<T>::addToIteratorsList):
2952        (WTF::DequeIteratorBase<T>::removeFromIteratorsList):
2953        (WTF::DequeIteratorBase<T>::DequeIteratorBase):
2954        (WTF::DequeIteratorBase<T>::~DequeIteratorBase):
2955        (WTF::DequeIteratorBase<T>::isEqual):
2956        (WTF::DequeIteratorBase<T>::increment):
2957        (WTF::DequeIteratorBase<T>::decrement):
2958        (WTF::DequeIteratorBase<T>::after):
2959        (WTF::DequeIteratorBase<T>::before):
2960        * wtf/Vector.h:
2961        (WTF::VectorBuffer::swap):
2962        (WTF::VectorBuffer::swapInlineBuffer):
2963        (WTF::VectorBuffer::swapInlineBuffers):
2964        (WTF::Vector::swap):
2965
29662014-02-15  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2967
2968        Remove 'static' specifier from free inline functions in StringImpl.h
2969        https://bugs.webkit.org/show_bug.cgi?id=118554
2970
2971        Reviewed by Darin Adler.
2972
2973        At first 'static' does not bring any use here, secondly static free
2974        inline functions in headers is a bad practice in general as each instance
2975        of function defined as inline is treated as a separate function and each
2976        instance has its own copy of static locals and string literals.
2977
2978        * wtf/text/StringImpl.h:
2979        (WTF::codePointCompare):
2980        (WTF::codePointCompare8):
2981        (WTF::codePointCompare16):
2982        (WTF::codePointCompare8To16):
2983        (WTF::isSpaceOrNewline):
2984
29852014-02-14  Benjamin Poulain  <bpoulain@apple.com>
2986
2987        Improve the performance on mobile of FTPDirectoryDocument
2988        https://bugs.webkit.org/show_bug.cgi?id=128778
2989
2990        Reviewed by Antti Koivisto.
2991
2992        * wtf/text/WTFString.h:
2993        (WTF::String::endsWith): add a missing overload.
2994
29952014-02-14  Wojciech Bielawski  <w.bielawski@samsung.com>
2996
2997        (try)append and insert operations don't need new operator for PODs
2998        https://bugs.webkit.org/show_bug.cgi?id=128185
2999
3000        Reviewed by Darin Adler.
3001
3002        Vector's methods use VectorCopier to copy data.
3003        VectorCopier for PODs exteded to be used with different types. For different types placement new copy approach is applied. For the same types memcpy is applied.
3004
3005        * wtf/Vector.h:
3006        (WTF::OverflowHandler>::append): use VectorCopier to copy data.
3007        (WTF::OverflowHandler>::tryAppend): use VectorCopier to copy data.
3008        (WTF::OverflowHandler>::insert): use VectorCopier to copy data.
3009
30102014-02-13  Daniel Bates  <dabates@apple.com>
3011
3012        Fix the iOS build after <http://trac.webkit.org/changeset/164064
3013
3014        * wtf/Platform.h:
3015
30162014-02-13  Daniel Bates  <dabates@apple.com>
3017
3018        [iOS] Disable HAVE_ARM_NEON_INTRINSICS
3019
3020        For now, disable HAVE_ARM_NEON_INTRINSICS when building for iOS. We want
3021        to audit the applicable code before we enable this define.
3022
3023        * wtf/Platform.h:
3024
30252014-02-11  Filip Pizlo  <fpizlo@apple.com>
3026
3027        Hoist and combine array bounds checks
3028        https://bugs.webkit.org/show_bug.cgi?id=125433
3029
3030        Reviewed by Mark Hahnenberg.
3031
3032        * GNUmakefile.list.am:
3033        * WTF.vcxproj/WTF.vcxproj:
3034        * WTF.xcodeproj/project.pbxproj:
3035        * wtf/CMakeLists.txt:
3036        * wtf/HashMethod.h: Added.
3037        (WTF::HashMethod::operator()):
3038
30392014-02-13  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
3040
3041        Code cleanup: remove gcc<4.7 guards.
3042        https://bugs.webkit.org/show_bug.cgi?id=128729
3043
3044        Reviewed by Anders Carlsson.
3045
3046        Remove GCC_VERSION_AT_LEAST guards when it checks for pre-4.7 versions,
3047        as WK does not compile with earlier gcc versions.
3048
3049        * wtf/Assertions.cpp:
3050        * wtf/Platform.h:
3051
30522014-02-12  Mark Lam  <mark.lam@apple.com>
3053
3054        No need to save reservedZoneSize when dropping the JSLock.
3055        <https://webkit.org/b/128719>
3056
3057        Reviewed by Geoffrey Garen.
3058
3059        * wtf/WTFThreadData.cpp:
3060        (WTF::WTFThreadData::WTFThreadData):
3061        * wtf/WTFThreadData.h:
3062        - removed unnneeded m_savedReservedZoneSize.
3063
30642014-02-11  Mark Hahnenberg  <mhahnenberg@apple.com>
3065
3066        32-bit LLInt writeBarrierOnGlobalObject is wrong
3067        https://bugs.webkit.org/show_bug.cgi?id=128556
3068
3069        Reviewed by Geoffrey Garen.
3070
3071        * wtf/Platform.h: Removed OBJECT_MARK_LOGGING from Platform.h since it already exists in FeatureDefines.h
3072
30732014-02-11  peavo@outlook.com  <peavo@outlook.com>
3074
3075        [WinCairo] Compile error, deleted file in WTF.
3076        https://bugs.webkit.org/show_bug.cgi?id=128601
3077
3078        Reviewed by Csaba Osztrogonác.
3079
3080        * WTF.vcxproj/WTF.vcxproj: Removed reference to deleted file.
3081        * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
3082
30832014-02-10  Michael Saboff  <msaboff@apple.com>
3084
3085        Re-enable ARM Thumb2 disassembler
3086        https://bugs.webkit.org/show_bug.cgi?id=128577
3087
3088        Reviewed by Filip Pizlo.
3089
3090        Added definition of WTF_USE_ARMV7_DISASSEMBLER back to Platform.h
3091
3092        * wtf/Platform.h:
3093
30942014-02-10  Benjamin Poulain  <benjamin@webkit.org>
3095
3096        Add the basic infrastructure to compile attributes matching in selectors
3097        https://bugs.webkit.org/show_bug.cgi?id=128484
3098
3099        Reviewed by Gavin Barraclough.
3100
3101        * wtf/Vector.h:
3102        (WTF::VectorBufferBase::bufferMemoryOffset):
3103        (WTF::Vector::sizeMemoryOffset):
3104        (WTF::Vector::dataMemoryOffset):
3105        Expose the memory offsets of Vector::size() and the memory buffer pointer for the JIT.
3106
31072014-02-10  Enrica Casucci  <enrica@apple.com>
3108
3109        copyShortASCIIString crashes on iOS after r163793.
3110        https://bugs.webkit.org/show_bug.cgi?id=128548.
3111
3112        Reviewed by Alexey Proskuryakov.
3113
3114        Adding null check.
3115
3116        * wtf/unicode/icu/CollatorICU.cpp:
3117        (WTF::copyShortASCIIString):
3118
31192014-02-10  Carlos Garcia Campos  <cgarcia@igalia.com>
3120
3121        [GLIB] Add GUniqueOutPtr and use it instead of GOwnPtr
3122        https://bugs.webkit.org/show_bug.cgi?id=127554
3123
3124        Reviewed by Gustavo Noronha Silva.
3125
3126        GUniqueOutPtr is a simplified version of GOwnPtr for the cases
3127        where we need the address of the contained pointer. GUniqueOutPtr
3128        uses GUniquePtr to free the contained object and to release the
3129        container pointer. The API is very simple to make sure this is
3130        only used when outPtr() is needed. It can't be constructed with a
3131        pointer, and there's not method to set a new pointer. Another
3132        difference with the old GOwnPtr is that outPtr() can be used
3133        multiple times, because it frees any pointer previously set.
3134
3135        * GNUmakefile.list.am:
3136        * wtf/PlatformEfl.cmake:
3137        * wtf/PlatformGTK.cmake:
3138        * wtf/gobject/GOwnPtr.cpp: Removed.
3139        * wtf/gobject/GOwnPtr.h: Removed.
3140        * wtf/gobject/GUniquePtr.h:
3141        (WTF::GUniqueOutPtr::GUniqueOutPtr):
3142        (WTF::GUniqueOutPtr::~GUniqueOutPtr):
3143        (WTF::GUniqueOutPtr::outPtr):
3144        (WTF::GUniqueOutPtr::reset):
3145        (WTF::GUniqueOutPtr::release):
3146        (WTF::GUniqueOutPtr::operator*):
3147        (WTF::GUniqueOutPtr::operator->):
3148        (WTF::GUniqueOutPtr::get):
3149        (WTF::GUniqueOutPtr::operator!):
3150        (WTF::GUniqueOutPtr::operator UnspecifiedBoolType):
3151
31522014-02-10  Darin Adler  <darin@apple.com>
3153
3154        Stop using String::deprecatedCharacters to call WTF::Collator
3155        https://bugs.webkit.org/show_bug.cgi?id=128517
3156
3157        WTF passes ICU’s deprecated ULOC_REQUESTED_LOCALE to ucol_getLocaleByType()
3158        rdar://problem/15183390
3159
3160        Reviewed by Alexey Proskuryakov.
3161
3162        This patch fixes both bugs above by reworking WTF::Collator.
3163
3164        * wtf/unicode/Collator.h: Fixed formatting. Got rid of the Collator::Result type,
3165        since the collator uses the same return value scheme as strcmp and as ICU; an int
3166        will do for the return type. Simplified the support for UCONFIG_NO_COLLATION by
3167        using a separate copy of the class definition. (We should check if anyone needs
3168        UCONFIG_NO_COLLATION support, and remove it if not.) Changed the lower-first flag
3169        from a separate function to a constructor argument. Changed the arguments to
3170        the collate function to StringView. Added a collate UTF8 function. Changed the
3171        m_collate data member to no longer be mutable since we no longer allocate it lazily.
3172
3173        * wtf/unicode/CollatorDefault.cpp:
3174        (WTF::Collator::collate): Rewrote to be simpler.
3175        (WTF::Collator::collateUTF8): Added. Converts from UTF-8 to a String and then calls
3176        the collate function above.
3177
3178        * wtf/unicode/icu/CollatorICU.cpp: Added a FIXME about the fact that this file
3179        has the wrong name and location. Since we always use ICU, there's no need to mention
3180        it in the file name.
3181        (WTF::copyASCIIString): Added.
3182        (WTF::copyDefaultLocale): Added.
3183        (WTF::resolveDefaultLocale): Added. Maps null locale to a default on Mac and iOS,
3184        since on those platforms ICU does not use the correct default locale when passed null.
3185        (WTF::localesMatch): Added.
3186        (WTF::Collator::Collator): Moved most of the code from createCollator here.
3187        Simplified it by storing the collator configuration along with the collator in globals.
3188        (WTF::Collator::~Collator): Moved most of the code from releaseCollator here.
3189        (WTF::getIndexLatin1): Added.
3190        (WTF::moveLatin1): Added.
3191        (WTF::hasNextLatin1): Added.
3192        (WTF::hasPreviousLatin1): Added.
3193        (WTF::currentLatin1): Added.
3194        (WTF::nextLatin1): Added.
3195        (WTF::previousLatin1): Added.
3196        (WTF::getStateLatin1): Added.
3197        (WTF::setStateLatin1): Added.
3198        (WTF::createLatin1Iterator): Added. Uses the functions above to make a UCharIterator
3199        that works for a WTF::StringView-style Latin-1 string.
3200        (WTF::createIterator): Added. Uses either createLatin1Iterator or uiter_setString to
3201        make a UCharIterator that works for a WTF::StringView.
3202        (WTF::Collator::collate): Changed to use ucol_strcollIter.
3203        (WTF::createIteratorUTF8): Added. Uses uiter_setUTF8.
3204        (WTF::Collator::collateUTF8): Added. Like collate, but for null-terminated UTF-8 strings.
3205
32062014-02-10  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
3207
3208        Code cleanup: Remove BUILDING_ON / TARGETING definitions.
3209        https://bugs.webkit.org/show_bug.cgi?id=128242
3210
3211        Reviewed by Brent Fulgham.
3212
3213        The BUILDING_ON_* and TARGETING_* macros have not been used for a while.
3214        According to the FIXME: they are removed.
3215
3216        * wtf/Platform.h:
3217
32182014-02-09  Anders Carlsson  <andersca@apple.com>
3219
3220        Add WTF_MAKE_FAST_ALLOCATED to more classes
3221        https://bugs.webkit.org/show_bug.cgi?id=128506
3222
3223        Reviewed by Andreas Kling.
3224
3225        * wtf/Bag.h:
3226        * wtf/ListHashSet.h:
3227
32282014-02-08  Anders Carlsson  <andersca@apple.com>
3229
3230        Stop using getCharactersWithUpconvert in JavaScriptCore
3231        https://bugs.webkit.org/show_bug.cgi?id=128457
3232
3233        Reviewed by Andreas Kling.
3234
3235        * wtf/text/StringBuilder.h:
3236        (WTF::StringBuilder::append):
3237        Add a new overload that takes a StringView.
3238
3239        * wtf/text/StringView.h:
3240        (WTF::StringView::find):
3241        Add new find member function.
3242
32432014-02-08  Darin Adler  <darin@apple.com>
3244
3245        Change TextIterator to use StringView, preparing to wean it from deprecatedCharacters
3246        https://bugs.webkit.org/show_bug.cgi?id=128233
3247
3248        Reviewed by Anders Carlsson.
3249
3250        * WTF.xcodeproj/project.pbxproj: Added new source files.
3251
3252        * wtf/text/StringView.h: Added operator[], createCFStringWithoutCopying, and
3253        createNSStringWithoutCopying.
3254        * wtf/text/cf/StringViewCF.cpp:
3255        (WTF::StringView::createCFStringWithoutCopying): Added.
3256        * wtf/text/mac/StringViewObjC.mm:
3257        (WTF::StringView::createNSString): Added.
3258        (WTF::StringView::createNSStringWithoutCopying): Added.
3259
32602014-02-06  Andreas Kling  <akling@apple.com>
3261
3262        Remove unused ENABLE(REPAINT_THROTTLING) flag.
3263        <https://webkit.org/b/128329>
3264
3265        Reviewed by Antti Koivisto.
3266
3267        * wtf/FeatureDefines.h:
3268
32692014-02-06  Filip Pizlo  <fpizlo@apple.com>
3270
3271        More FTL build scaffolding
3272        https://bugs.webkit.org/show_bug.cgi?id=128330
3273
3274        Reviewed by Geoffrey Garen.
3275
3276        * wtf/Platform.h:
3277
32782014-02-06  Anders Carlsson  <andersca@apple.com>
3279
3280        Use std::chrono functions in dispatchFunctionsFromMainThread()
3281        https://bugs.webkit.org/show_bug.cgi?id=128308
3282
3283        Reviewed by Antti Koivisto.
3284
3285        * wtf/MainThread.cpp:
3286        (WTF::dispatchFunctionsFromMainThread):
3287
32882014-02-05  Zan Dobersek  <zdobersek@igalia.com>
3289
3290        Remove the WTF_COMPILER_SUPPORTS_CXX_GENERALIZED_INITIALIZERS macro
3291        https://bugs.webkit.org/show_bug.cgi?id=128267
3292
3293        Reviewed by Andreas Kling.
3294
3295        Remove the WTF_COMPILER_SUPPORTS_CXX_GENERALIZED_INITIALIZERS macro that was manually defined for compilers
3296        that support the C++11 initializer lists. The feature is well supported in Clang, MSVC and also GCC. It
3297        was actually already used unguarded in HashSet.
3298
3299        * wtf/Compiler.h:
3300        * wtf/HashMap.h:
3301        (WTF::HashMap::HashMap):
3302        * wtf/Vector.h:
3303        (WTF::Vector::Vector):
3304
33052014-02-05  Andreas Kling  <akling@apple.com>
3306
3307        Remove ENABLE(DIRECTORY_UPLOAD).
3308        <https://webkit.org/b/128275>
3309
3310        Rubber-stamped by Ryosuke Niwa.
3311
3312        * wtf/FeatureDefines.h:
3313
33142014-02-05  Carlos Garcia Campos  <cgarcia@igalia.com>
3315
3316        HashMap can't be used with std::unique_ptr as value when it has a custom deleter
3317        https://bugs.webkit.org/show_bug.cgi?id=128250
3318
3319        Reviewed by Darin Adler.
3320
3321        The problem is that the HashMap is using a unique_ptr with the
3322        default deleter, so that when trying to move the unique_ptr the
3323        deleters don't match.
3324
3325        * wtf/HashTraits.h: Add the deleter also in the template
3326        definitation of the parent class for the HashTraits<std::unique_ptr<T, Deleter>>
3327
33282014-02-05  Csaba Osztrogonác  <ossy@webkit.org>
3329
3330        Remove ENABLE(SVG) guards
3331        https://bugs.webkit.org/show_bug.cgi?id=127991
3332
3333        Reviewed by Sam Weinig.
3334
3335        * wtf/FeatureDefines.h:
3336
33372014-02-04  Mark Lam  <mark.lam@apple.com>
3338
3339        The stack limit computation does not work for Windows.
3340        <https://webkit.org/b/128226>
3341
3342        Reviewed by Geoffrey Garen.
3343
3344        The current stack limit computation assumes that the stack is allocated
3345        in high memory. On Windows, the stack seems to be allocated very near
3346        address 0, and is smaller in size than our Options::maxPerThreadStackUsage().
3347        This combination triggers a bug where StackBounds::recursionLimit()
3348        underflows and computes a limit address that is ridiculously high in memory.
3349        The net effect is that the Windows port thinks its out of stack space all
3350        the time.
3351
3352        We now check for potential underflows in StackBounds and return an
3353        appropriate limit address.
3354
3355        * wtf/StackBounds.h:
3356        (WTF::StackBounds::recursionLimit):
3357
33582014-02-04  Andreas Kling  <akling@apple.com>
3359
3360        Remove <iframe seamless> support.
3361        <https://webkit.org/b/128213>
3362
3363        Rubber-stamped by Antti Koivisto.
3364
3365        * wtf/FeatureDefines.h:
3366
33672014-02-04  Anders Carlsson  <andersca@apple.com>
3368
3369        Store StringImpl substring backpointers as tail data
3370        https://bugs.webkit.org/show_bug.cgi?id=128220
3371
3372        Reviewed by Geoffrey Garen.
3373
3374        This lets us get rid of m_substringBuffer from the union.
3375
3376        * wtf/text/StringImpl.cpp:
3377        (WTF::StringImpl::~StringImpl):
3378        (WTF::StringImpl::getData16SlowCase):
3379        * wtf/text/StringImpl.h:
3380        (WTF::StringImpl::StringImpl):
3381        (WTF::StringImpl::createSubstringSharingImpl8):
3382        (WTF::StringImpl::createSubstringSharingImpl):
3383        (WTF::StringImpl::cost):
3384        (WTF::StringImpl::costDuringGC):
3385        (WTF::StringImpl::substringBuffer):
3386
33872014-02-04  Anders Carlsson  <andersca@apple.com>
3388
3389        Rename the substring sharing StringImpl::create variants to better indicate what they do
3390        https://bugs.webkit.org/show_bug.cgi?id=128214
3391
3392        Reviewed by Geoffrey Garen.
3393
3394        * wtf/text/AtomicString.cpp:
3395        (WTF::SubstringTranslator::translate):
3396        * wtf/text/StringBuilder.cpp:
3397        (WTF::StringBuilder::reifyString):
3398        (WTF::StringBuilder::resize):
3399        * wtf/text/StringImpl.h:
3400        (WTF::StringImpl::createSubstringSharingImpl8):
3401        (WTF::StringImpl::createSubstringSharingImpl):
3402        * wtf/text/WTFString.cpp:
3403        (WTF::String::substringSharingImpl):
3404
34052014-02-04  Alexey Proskuryakov  <ap@apple.com>
3406
3407        WebCrypto HMAC verification uses a non-constant-time memcmp
3408        https://bugs.webkit.org/show_bug.cgi?id=128198
3409        <rdar://problem/15976961>
3410
3411        Reviewed by Oliver Hunt.
3412
3413        Added a "constant time" memcmp that doesn't depend on data. The name is somewhat
3414        strange, as the function is of course O(length) and not constant time at all,
3415        but apparently this is how everyone calls such functions.
3416
3417        * GNUmakefile.list.am:
3418        * WTF.vcxproj/WTF.vcxproj:
3419        * WTF.vcxproj/WTF.vcxproj.filters:
3420        * WTF.xcodeproj/project.pbxproj:
3421        * wtf/CMakeLists.txt:
3422        * wtf/CryptographicUtilities.cpp: Added. (WTF::constantTimeMemcmp):
3423        * wtf/CryptographicUtilities.h: Added.
3424
34252014-02-04  Anders Carlsson  <andersca@apple.com>
3426
3427        Rename StringImpl::getCharacters to StringImpl::characters
3428        https://bugs.webkit.org/show_bug.cgi?id=128205
3429
3430        Reviewed by Antti Koivisto.
3431
3432        This lets us use StringImpl::getCharacters for the upconverting version.
3433        Also, change StringImpl::characters<UChar>() to call characters16() instead of deprecatedCharacters()
3434        and audit all call sites to make sure we weren't relying on upconversion anywhere.
3435
3436        * wtf/text/AtomicString.cpp:
3437        (WTF::findString):
3438        * wtf/text/StringImpl.cpp:
3439        (WTF::StringImpl::simplifyMatchedCharactersToSpace):
3440        * wtf/text/StringImpl.h:
3441        (WTF::StringImpl::characters<LChar>):
3442        (WTF::StringImpl::characters<UChar>):
3443
34442014-02-04  Anders Carlsson  <andersca@apple.com>
3445
3446        Rename equalNonNull to equal and make it take const StringImpl& instead
3447        https://bugs.webkit.org/show_bug.cgi?id=128206
3448
3449        Reviewed by Andreas Kling.
3450
3451        * wtf/text/StringHash.h:
3452        (WTF::StringHash::equal):
3453        * wtf/text/StringImpl.cpp:
3454        (WTF::stringImplContentEqual):
3455        (WTF::equal):
3456        * wtf/text/StringImpl.h:
3457
34582014-02-04  Anders Carlsson  <andersca@apple.com>
3459
3460        Get rid of StringImpl::m_buffer
3461        https://bugs.webkit.org/show_bug.cgi?id=128200
3462
3463        Reviewed by Michael Saboff.
3464
3465        Trade one lousy hack for another by changing the CreateEmptyUnique StringImpl
3466        constructor to initialize its character buffer to point to m_length instead
3467        since it will always be null.
3468
3469        Also change it to be an 8-bit string because why not.
3470
3471        * wtf/text/StringImpl.h:
3472        (WTF::StringImpl::StringImpl):
3473
34742014-02-04  Anders Carlsson  <andersca@apple.com>
3475
3476        Rename String::getCharacters to String::characters
3477        https://bugs.webkit.org/show_bug.cgi?id=128196
3478
3479        Reviewed by Andreas Kling.
3480
3481        This means String::characters() will end up calling either characters8() or characters16() which
3482        makes more logical sense. It also frees up the getCharacters name so we can use it for a new function
3483        that will do upconversion.
3484        
3485        * wtf/text/StringBuilder.cpp:
3486        (WTF::StringBuilder::appendUninitializedSlow):
3487        * wtf/text/WTFString.h:
3488        (WTF::String::characters<LChar>):
3489        (WTF::String::characters<UChar>):
3490
34912014-02-03  Anders Carlsson  <andersca@apple.com>
3492
3493        Fix Windows build.
3494
3495        * wtf/text/StringImpl.h:
3496        (WTF::StringImpl::tailOffset):
3497
34982014-02-03  Anders Carlsson  <andersca@apple.com>
3499
3500        StringImpl::tailOffset() should return the offset right after m_hashAndFlags
3501        https://bugs.webkit.org/show_bug.cgi?id=128141
3502
3503        Reviewed by Andreas Kling.
3504
3505        * wtf/text/StringImpl.h:
3506        (WTF::StringImpl::tailOffset):
3507
35082014-02-03  Anders Carlsson  <andersca@apple.com>
3509
3510        More tail pointer consolidation
3511        https://bugs.webkit.org/show_bug.cgi?id=128139
3512
3513        Reviewed by Andreas Kling.
3514
3515        Add a new tailOffset() function and reimplement allocationSize() and tailPointer()
3516        in terms of it. Use tailPointer() instead of reinterpret_cast-ing this + 1.
3517
3518        * wtf/text/StringImpl.cpp:
3519        (WTF::StringImpl::createUninitializedInternalNonEmpty):
3520        * wtf/text/StringImpl.h:
3521        (WTF::StringImpl::StringImpl):
3522        (WTF::StringImpl::requiresCopy):
3523        (WTF::StringImpl::allocationSize):
3524        (WTF::StringImpl::tailOffset):
3525        (WTF::StringImpl::tailPointer):
3526
35272014-02-03  Gustavo Noronha Silva  <gns@gnome.org>
3528
3529        [GTK][CMake] Enable SUBPIXEL_LAYOUT in FeatureDefines.h like EFL does
3530        https://bugs.webkit.org/show_bug.cgi?id=128136
3531
3532        Reviewed by Martin Robinson.
3533
3534        * wtf/FeatureDefines.h: enable SUBPIXEL_LAYOUT if it's not set, for GTK+.
3535
35362014-02-03  Mark Hahnenberg  <mhahnenberg@apple.com>
3537
3538        Turn GenGC on
3539        https://bugs.webkit.org/show_bug.cgi?id=128109
3540
3541        Reviewed by Oliver Hunt.
3542
3543        * wtf/Platform.h: Initially it will only be enabled for X86-64.
3544
35452014-02-03  Anders Carlsson  <andersca@apple.com>
3546
3547        Consolidate StringImpl tail handling into two functions
3548        https://bugs.webkit.org/show_bug.cgi?id=128122
3549
3550        Reviewed by Andreas Kling.
3551
3552        * wtf/text/StringImpl.cpp:
3553        (WTF::StringImpl::createUninitializedInternalNonEmpty):
3554        (WTF::StringImpl::reallocateInternal):
3555        * wtf/text/StringImpl.h:
3556        (WTF::StringImpl::tryCreateUninitialized):
3557        (WTF::StringImpl::allocationSize):
3558        (WTF::StringImpl::tailPointer):
3559
35602014-02-03  Darin Adler  <darin@apple.com>
3561
3562        Remove Unicode.h
3563        https://bugs.webkit.org/show_bug.cgi?id=128106
3564
3565        Reviewed by Anders Carlsson.
3566
3567        * GNUmakefile.list.am: Removed files.
3568        * WTF.vcxproj/WTF.vcxproj: Ditto.
3569        * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
3570        * WTF.xcodeproj/project.pbxproj: Ditto.
3571        * wtf/CMakeLists.txt: Ditto.
3572
3573        * wtf/unicode/ScriptCodesFromICU.h: Removed.
3574        * wtf/unicode/Unicode.h: Removed.
3575        * wtf/unicode/UnicodeMacrosFromICU.h: Removed.
3576        * wtf/unicode/icu/UnicodeIcu.h: Removed.
3577        * wtf/unicode/wchar/UnicodeWchar.cpp: Removed.
3578        * wtf/unicode/wchar/UnicodeWchar.h: Removed.
3579
35802014-01-25  Darin Adler  <darin@apple.com>
3581
3582        Stop using Unicode.h
3583        https://bugs.webkit.org/show_bug.cgi?id=127633
3584
3585        Reviewed by Anders Carlsson.
3586
3587        * wtf/StringHasher.h:
3588        * wtf/dtoa.h:
3589        * wtf/text/ASCIIFastPath.h:
3590        * wtf/text/LChar.h:
3591        * wtf/text/StringBuffer.h:
3592        * wtf/text/StringImpl.h:
3593        * wtf/text/WTFString.cpp:
3594        * wtf/unicode/CharacterNames.h:
3595        * wtf/unicode/Collator.h:
3596        * wtf/unicode/UTF8.h:
3597        Removed includes of <wtf/unicode/Unicode.h>, adding includes of
3598        ICU headers and <wtf/text/LChar.h> as needed to replace it.
3599
36002014-02-02  Darin Adler  <darin@apple.com>
3601
3602        Obey "delete this" comments, including deleting String::characters and friends
3603        https://bugs.webkit.org/show_bug.cgi?id=126865
3604
3605        Reviewed by Andreas Kling.
3606
3607        * wtf/text/AtomicString.h: Deleted the characters function.
3608        * wtf/text/StringBuilder.h: Deleted the characters function, leaving behind the
3609        deprecatedCharacters function.
3610        * wtf/text/StringImpl.h: Ditto.
3611        * wtf/text/WTFString.h: Ditto. Also added a constructor that takes a StringImpl&,
3612        helpful for later string refactoring.
3613
36142014-02-02  Dan Bernstein  <mitz@apple.com>
3615
3616        Stop using PLATFORM(MAC) in WTF except where it means “OS X but not iOS”
3617        https://bugs.webkit.org/show_bug.cgi?id=128089
3618
3619        Reviewed by Darin Adler.
3620
3621        Replaced all uses of PLATFORM(MAC) that weren’t accompanied by !PLATFORM(IOS) with
3622        equivalent(*) tests that are more idiomatic and will not change once PLATFORM(MAC) changes to
3623        be false when building for iOS.
3624
3625        * - One exception noted below.
3626
3627        * wtf/AutodrainedPool.h: Changed PLATFORM(MAC) to USE(FOUNDATION), because NSAutoreleasePool
3628        is a Foundation class.
3629
3630        * wtf/CurrentTime.cpp:
3631        (WTF::monotonicallyIncreasingTime): Changed PLATFORM(MAC) to OS(DARWIN), because Mach is
3632        part of the Darwin kernel, but reordered such that the EFL and GLIB implementations continue
3633        to take precedence regardless of the OS.
3634
3635        * wtf/MainThread.cpp: Changed PLATFORM(MAC) to OS(DARWIN) && !PLATFORM(EFL) && !PLATFORM(GTK).
3636        * wtf/MainThread.h: Ditto.
3637
3638        * wtf/Platform.h: Changed USE(CG) and USE(CA) to depend on COCOA, rather than MAC or IOS.
3639        Ditto for USE(CFURLCACHE), HAVE(ACCESSIBILITY), USE(PROTECTION_SPACE_AUTH_CALLBACK),
3640        USE(ACCESSIBILITY_CONTEXT_MENUS), USE(EXPORT_MACROS), USE(AVFOUNDATION),
3641        USE(REQUEST_ANIMATION_FRAME_TIMER), USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR),
3642        USE(CONTENT_FILTERING), USE(UNIFIED_TEXT_CHECKING), USE(MARKER_REMOVAL_UPON_EDITING),
3643        USE(AUDIO_SESSION), USE(IOSURFACE), and ENABLE(CSS3_TEXT_DECORATION_SKIP_INK). Changed
3644        PLATFORM(MAC) to OS(DARWIN) && !PLATFORM(EFL) && !PLATFORM(GTK) in controlling various
3645        JavaScriptCore or JavaScriptCore-dependent behaviors.
3646
3647        * wtf/RunLoop.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
3648        * wtf/RunLoopTimerCF.cpp: Ditto.
3649
3650        * wtf/SchedulePair.h: Changed PLATFORM(MAC) to USE(FOUNDATION), since it was used to guard
3651        usage of Foundation API.
3652
3653        * wtf/Threading.cpp: Added an explicit !PLATFORM(IOS) in a guard around something needed
3654        only on OS X and Windows.
3655
36562014-01-31  Benjamin Poulain  <bpoulain@apple.com>
3657
3658        Remove LEGACY_VIEWPORT_ADAPTION
3659        https://bugs.webkit.org/show_bug.cgi?id=128028
3660
3661        Reviewed by Anders Carlsson.
3662
3663        * wtf/FeatureDefines.h:
3664
36652014-01-31  Tim Horton  <timothy_horton@apple.com>
3666
3667        [wk2] PlatformCALayerRemoteCustom doesn't work on iOS
3668        https://bugs.webkit.org/show_bug.cgi?id=128025
3669        <rdar://problem/15950271>
3670
3671        Reviewed by Simon Fraser.
3672
3673        * wtf/Platform.h:
3674        Rename HAVE_LAYER_HOSTING_IN_WINDOW_SERVER to HAVE_OUT_OF_PROCESS_LAYER_HOSTING
3675        and make it true on iOS.
3676
36772014-01-31  Michael Saboff  <msaboff@apple.com>
3678
3679        REGRESSION: Crash in sanitizeStackForVMImpl when scrolling @ lifehacker.com.au
3680        https://bugs.webkit.org/show_bug.cgi?id=128017
3681
3682        Reviewed by Filip Pizlo.
3683
3684        Moved the setting and saving of VM::stackPointerAtVMEntry and the corresponding stack limit
3685        to JSLock and JSLock::DropAllLocks.  The saved data is now stored in per-thread in
3686        WTFThreadData.
3687
3688        * wtf/WTFThreadData.cpp:
3689        (WTF::WTFThreadData::WTFThreadData):
3690        * wtf/WTFThreadData.h:
3691        (WTF::WTFThreadData::savedStackPointerAtVMEntry):
3692        (WTF::WTFThreadData::setSavedStackPointerAtVMEntry):
3693        (WTF::WTFThreadData::savedLastStackTop):
3694        (WTF::WTFThreadData::setSavedLastStackTop):
3695        (WTF::WTFThreadData::savedReservedZoneSize):
3696        (WTF::WTFThreadData::setSavedReservedZoneSize):
3697
36982014-01-30  Andrei Bucur  <abucur@adobe.com>
3699
3700        Remove the ACCELERATED_COMPOSITING flag
3701        https://bugs.webkit.org/show_bug.cgi?id=127833
3702
3703        Reviewed by Antti Koivisto.
3704
3705        Remove the USE(ACCELERATED_COMPOSITING) conditionals from the code base and make AC
3706        mandatory.
3707
3708        * wtf/OwnPtrCommon.h:
3709        * wtf/Platform.h:
3710        * wtf/efl/OwnPtrEfl.cpp:
3711        (WTF::deleteOwnedPtr):
3712
37132014-01-28  Michael Saboff  <msaboff@apple.com>
3714
3715        Merge the jsCStack branch
3716        https://bugs.webkit.org/show_bug.cgi?id=127763
3717
3718        Reviewed by Mark Hahnenberg.
3719
3720        Changes from http://svn.webkit.org/repository/webkit/branches/jsCStack
3721        up to changeset 162958.
3722
37232014-01-29  Csaba Osztrogonác  <ossy@webkit.org>
3724
3725        Remove ENABLE(JAVASCRIPT_DEBUGGER) guards
3726        https://bugs.webkit.org/show_bug.cgi?id=127840
3727
3728        Reviewed by Mark Lam.
3729
3730        * wtf/FeatureDefines.h:
3731
37322014-01-28  Anders Carlsson  <andersca@apple.com>
3733
3734        Actually turn stack stats back off.
3735
3736        * wtf/StackStats.cpp:
3737        * wtf/StackStats.h:
3738
37392014-01-28  Anders Carlsson  <andersca@apple.com>
3740
3741        Turn stack stats back off.
3742
3743        * wtf/StackStats.cpp:
3744
37452014-01-28  Anders Carlsson  <andersca@apple.com>
3746
3747        Use std::mutex instead of WTF::Mutex in WTF
3748        https://bugs.webkit.org/show_bug.cgi?id=127783
3749
3750        Reviewed by Antti Koivisto.
3751
3752        * wtf/CryptographicallyRandomNumber.cpp:
3753        * wtf/MainThread.cpp:
3754        (WTF::mainThreadFunctionQueueMutex):
3755        (WTF::functionQueue):
3756        (WTF::dispatchFunctionsFromMainThread):
3757        (WTF::callOnMainThread):
3758        (WTF::cancelCallOnMainThread):
3759        * wtf/StackStats.cpp:
3760        (WTF::StackStats::initialize):
3761        (WTF::StackStats::CheckPoint::CheckPoint):
3762        (WTF::StackStats::CheckPoint::~CheckPoint):
3763        (WTF::StackStats::probe):
3764        (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint):
3765        (WTF::StackStats::LayoutCheckPoint::~LayoutCheckPoint):
3766        * wtf/StackStats.h:
3767
37682014-01-27  Joseph Pecoraro  <pecoraro@apple.com>
3769
3770        WebCore: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where needed
3771        https://bugs.webkit.org/show_bug.cgi?id=127671
3772
3773        Reviewed by Ryosuke Niwa.
3774
3775        * wtf/text/WTFString.h:
3776        (WTF::appendNumber):
3777
37782014-01-27  Jer Noble  <jer.noble@apple.com>
3779
3780        [WK2] callOnMainThread() from main thread sometimes results in ASSERTs.
3781        https://bugs.webkit.org/show_bug.cgi?id=127370
3782
3783        Reviewed by Alexey Proskuryakov.
3784
3785        When WEB_THREAD is enabled, and callOnMainThread() is called from the main
3786        thread, if the web thread is locked, a timer is set and the passed-in function
3787        is called on the next run-loop. However, by that time the web thread may have
3788        been unlocked, and isMainThread() will no longer return true, resulting in
3789        an assert.
3790
3791        Instead, scheduleDispatchFunctionsOnMainThread() should check isWebThread(),
3792        which is equivalent to isMainThread() when the WEB_THREAD is disabled, but
3793        will do the correct thing when WEB_THREAD is enabled.
3794
3795        * wtf/mac/MainThreadMac.mm:
3796        (WTF::scheduleDispatchFunctionsOnMainThread):
3797
37982014-01-27  Dan Bernstein  <mitz@apple.com>
3799
3800        Build fix.
3801
3802        * wtf/ThreadSafeRefCounted.h: Added a necessary #include.
3803
38042014-01-25  Sam Weinig  <sam@webkit.org>
3805
3806        Remove unused support for DRAGGABLE_REGION
3807        https://bugs.webkit.org/show_bug.cgi?id=127642
3808
3809        Reviewed by Simon Fraser.
3810
3811        * wtf/FeatureDefines.h:
3812
38132014-01-25  Joseph Pecoraro  <pecoraro@apple.com>
3814
3815        Add FALLTHROUGH and -Wimplicit-fallthrough to warn about unannotated implicit fallthroughs in switches
3816        https://bugs.webkit.org/show_bug.cgi?id=127637
3817
3818        Reviewed by Darin Adler.
3819
3820        For information about [[clang::fallthrough]], see:
3821        <http://clang.llvm.org/docs/LanguageExtensions.html#the-clang-fallthrough-attribute>
3822
3823        * Configurations/Base.xcconfig:
3824        Enable -Wimplicit-fallthrough warnings.
3825
3826        * wtf/Compiler.h:
3827        Define FALLTHROUGH on clang and fallback to outputing nothing when unsupported.
3828
3829        * wtf/dtoa/fast-dtoa.cc:
3830        * wtf/unicode/UTF8.cpp:
3831        (WTF::Unicode::convertLatin1ToUTF8):
3832        (WTF::Unicode::convertUTF16ToUTF8):
3833        (WTF::Unicode::isLegalUTF8):
3834        (WTF::Unicode::readUTF8Sequence):
3835        Explicitly annotate implicit fallthroughs with FALLTHROUGH.
3836
38372014-01-25  Darin Adler  <darin@apple.com>
3838
3839        Call deprecatedCharacters instead of characters at more call sites
3840        https://bugs.webkit.org/show_bug.cgi?id=127631
3841
3842        Reviewed by Sam Weinig.
3843
3844        * wtf/text/StringImpl.cpp:
3845        (WTF::StringImpl::replace):
3846        * wtf/text/WTFString.h:
3847        (WTF::String::isAllSpecialCharacters):
3848        Use the new name.
3849
38502014-01-25  Darin Adler  <darin@apple.com>
3851
3852        Add a new separate LChar.h header file, to be used after we remove Unicode.h
3853        https://bugs.webkit.org/show_bug.cgi?id=127630
3854
3855        Reviewed by Sam Weinig.
3856
3857        * GNUmakefile.list.am: Added the new file
3858        * WTF.vcxproj/WTF.vcxproj: Ditto.
3859        * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
3860        * WTF.xcodeproj/project.pbxproj: Ditto.
3861        * wtf/CMakeLists.txt: Ditto.
3862        * wtf/text/LChar.h: Added.
3863
38642014-01-25  Darin Adler  <darin@apple.com>
3865
3866        Get rid of ICU_UNICODE and WCHAR_UNICODE remnants
3867        https://bugs.webkit.org/show_bug.cgi?id=127623
3868
3869        Reviewed by Anders Carlsson.
3870
3871        * wtf/CMakeLists.txt: Removed WTF_USE_ICU_UNICODE and
3872        WTF_USE_WCHAR_UNICODE since they are true and false respectively.
3873
3874        * wtf/Platform.h: Removed code to set WTF_USE_ICU_UNICODE.
3875
3876        * wtf/unicode/Collator.h: Removed ifdefs.
3877        * wtf/unicode/CollatorDefault.cpp: Ditto.
3878        * wtf/unicode/Unicode.h: Ditto.
3879        * wtf/unicode/icu/CollatorICU.cpp: Ditto.
3880
38812014-01-25  Anders Carlsson  <andersca@apple.com>
3882
3883        Remove atomicIncrement/atomicDecrement
3884        https://bugs.webkit.org/show_bug.cgi?id=127625
3885
3886        Reviewed by Andreas Kling.
3887
3888        Replace atomicIncrement/atomicDecrement with std::atomic.
3889
3890        * wtf/Atomics.h:
3891        * wtf/RefCountedLeakCounter.cpp:
3892        (WTF::RefCountedLeakCounter::~RefCountedLeakCounter):
3893        (WTF::RefCountedLeakCounter::increment):
3894        (WTF::RefCountedLeakCounter::decrement):
3895        * wtf/RefCountedLeakCounter.h:
3896        * wtf/ThreadSafeRefCounted.h:
3897        (WTF::ThreadSafeRefCountedBase::ref):
3898        (WTF::ThreadSafeRefCountedBase::refCount):
3899        (WTF::ThreadSafeRefCountedBase::derefBase):
3900
39012014-01-25  Anders Carlsson  <andersca@apple.com>
3902
3903        Modernize HashTable threading code
3904        https://bugs.webkit.org/show_bug.cgi?id=127621
3905
3906        Reviewed by Darin Adler.
3907
3908        Use std::mutex and std::atomic instead of WTF threading primitives.
3909
3910        * wtf/DynamicAnnotations.h:
3911        Include Platform.h here since this file relies on USE macros.
3912
3913        * wtf/HashTable.cpp:
3914        (WTF::HashTableStats::recordCollisionAtCount):
3915        Change this to take an unsigned.
3916
3917        (WTF::HashTableStats::dumpStats):
3918        * wtf/HashTable.h:
3919        (WTF::KeyTraits>::HashTable):
3920        (WTF::KeyTraits>::remove):
3921        (WTF::KeyTraits>::invalidateIterators):
3922        Use a single probe counter.
3923
3924        (WTF::addIterator):
3925        (WTF::removeIterator):
3926
39272014-01-25  Darin Adler  <darin@apple.com>
3928
3929        Restore alphabetical order in Compiler.h
3930        https://bugs.webkit.org/show_bug.cgi?id=127620
3931
3932        Reviewed by Sam Weinig.
3933
3934        * wtf/Compiler.h: Resorted some things into alphabetical order
3935
39362014-01-24  Brent Fulgham  <bfulgham@apple.com>
3937
3938        [Win] Convert some NMake files to MSBuild project files
3939        https://bugs.webkit.org/show_bug.cgi?id=127579
3940
3941        Reviewed by Tim Horton.
3942
3943        * WTF.vcxproj/WTF.make: Removed.
3944        * WTF.vcxproj/WTF.proj: Added.
3945
39462014-01-24  Anders Carlsson  <andersca@apple.com>
3947
3948        Get rid of monotonicallyIncreasingTimeMS and start using std::chrono instead
3949        https://bugs.webkit.org/show_bug.cgi?id=127571
3950
3951        Reviewed by Antti Koivisto.
3952
3953        * wtf/Compiler.h:
3954        Add a CONSTEXPR define so we can still use constexpr on compilers that don't support them (MSVC).
3955
3956        * wtf/CurrentTime.h:
3957        Remove monotonicallyIncreasingTimeMS().
3958
3959        * wtf/StdLibExtras.h:
3960        (std::literals::chrono_literals::operator _s):
3961        (std::literals::chrono_literals::operator _ms):
3962        Add _s and _ms literals. Once we switch over to C++14, we can drop them and just use the built-in ones.
3963
39642014-01-24  Anders Carlsson  <andersca@apple.com>
3965
3966        The CXX_EXPLICIT_CONVERSIONS COMPILER_SUPPORTS macro has been removed, and all
3967        compilers support explicit conversions now so simply remove the #ifdef.
3968
3969        * wtf/RetainPtr.h:
3970
39712014-01-24  Darin Adler  <darin@apple.com>
3972
3973        Simplify Compiler.h
3974        https://bugs.webkit.org/show_bug.cgi?id=127491
3975
3976        Reviewed by Anders Carlsson.
3977
3978        * wtf/Assertions.h: Remove COMPILER_SUPPORTS(CXX_STATIC_ASSERT), since
3979        we now have that for all compilers that can build WebKit.
3980
3981        * wtf/Compiler.h: Removed always true feature flags, including:
3982        COMPILER_SUPPORTS(CXX_VARIADIC_TEMPLATES), COMPILER_SUPPORTS(CXX_RVALUE_REFERENCES),
3983        COMPILER_SUPPORTS(CXX_DELETED_FUNCTIONS), COMPILER_SUPPORTS(CXX_NULLPTR),
3984        COMPILER_SUPPORTS(CXX_EXPLICIT_CONVERSIONS), COMPILER_SUPPORTS(CXX_STATIC_ASSERT),
3985        COMPILER_SUPPORTS(CXX_OVERRIDE_CONTROL), COMPILER_SUPPORTS(CXX_STRONG_ENUMS), and
3986        COMPILER_SUPPORTS(CXX_AUTO_TYPE). Sorted sections alphabetically. Separated out
3987        nested #if and #else into separate checks for greater readability. Removed obsolete
3988        check for COMPILER(RVCT). Removed unused COMPILER(GCCE) detection.
3989
3990        * wtf/RefPtr.h: Remove COMPILER_SUPPORTS(CXX_NULLPTR), since we now have
3991        that for all compilers that can build WebKit.
3992        * wtf/RetainPtr.h: Ditto.
3993
39942014-01-23  Max Vujovic  <mvujovic@adobe.com>
3995
3996        Remove CSS Custom Filters code and tests
3997        https://bugs.webkit.org/show_bug.cgi?id=127382
3998
3999        Reviewed by Simon Fraser.
4000
4001        * wtf/FeatureDefines.h:
4002
40032014-01-22  Brent Fulgham  <bfulgham@apple.com>
4004
4005        [Win] Update project and solution files for 64-bit builds.
4006        https://bugs.webkit.org/show_bug.cgi?id=127457
4007
4008        Reviewed by Eric Carlson.
4009
4010        * WTF.vcxproj/WTF.submit.sln: Add x64 targets.
4011        * WTF.vcxproj/WTF.vcxproj: Update for VS2013
4012
40132014-01-22  Myles C. Maxfield  <mmaxfield@apple.com>
4014
4015        Remove CSS3_TEXT_DECORATION define
4016        https://bugs.webkit.org/show_bug.cgi?id=127333
4017
4018        Reviewed by Simon Fraser.
4019
4020        This is required for unprefixing the text-decoration-* CSS properties.
4021
4022        * wtf/Platform.h:
4023
40242014-01-22  Jae Hyun Park  <jae.park@company100.net>
4025
4026        Remove unnecessary include in Noncopyable.h
4027        https://bugs.webkit.org/show_bug.cgi?id=127406
4028
4029        Reviewed by Anders Carlsson.
4030
4031        * wtf/Noncopyable.h: We don't need Compiler.h as of r162198.
4032
40332014-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>
4034
4035        [GTK] Add GUniquePtr
4036        https://bugs.webkit.org/show_bug.cgi?id=127170
4037
4038        Reviewed by Gustavo Noronha Silva.
4039
4040        The idea is to replace GOwnPtr with a template alias of
4041        std:unique_ptr. Not everything can be replaced, though, because
4042        GOwnPtr::outPtr() doesn't seem to be possible to implement with
4043        unique_ptr. This smart pointer is more flexible than GOwnPtr and
4044        allows to transfer the ownership of the pointer using
4045        std::move().
4046
4047        * GNUmakefile.list.am: Add new file to compilation.
4048        * wtf/gobject/GUniquePtr.h: Added.
4049        (WTF::GPtrDeleter::operator()):
4050
40512014-01-20  Anders Carlsson  <andersca@apple.com>
4052
4053        Remove an unused member variable
4054        https://bugs.webkit.org/show_bug.cgi?id=127295
4055
4056        Reviewed by Antti Koivisto.
4057
4058        * wtf/MainThread.cpp:
4059        (WTF::FunctionWithContext::FunctionWithContext):
4060        (WTF::FunctionWithContext::operator == ):
4061        (WTF::dispatchFunctionsFromMainThread):
4062
40632014-01-20  Anders Carlsson  <andersca@apple.com>
4064
4065        Remove MutexTryLocker
4066        https://bugs.webkit.org/show_bug.cgi?id=127294
4067
4068        Reviewed by Antti Koivisto.
4069
4070        MutexTryLocker has been replaced with std::unique_lock with std::try_to_lock everywhere now.
4071
4072        * wtf/ThreadingPrimitives.h:
4073
40742014-01-19  Carlos Garcia Campos  <cgarcia@igalia.com>
4075
4076        [GLIB] GVariant floating references are not correctly handled by GRefPtr
4077        https://bugs.webkit.org/show_bug.cgi?id=127246
4078
4079        Reviewed by Martin Robinson.
4080
4081        GRefPtr should always use g_variant_ref_sink to deal with GVariant
4082        floating references. In case of full references,
4083        g_variant_ref_sink calls g_variant_ref, so it's safe to use it always.
4084
4085        * wtf/gobject/GRefPtr.cpp:
4086        (WTF::refGPtr): Use g_variant_ref_sink().
4087
40882014-01-18  Anders Carlsson  <andersca@apple.com>
4089
4090        Remove support for the viewsource attribute
4091        https://bugs.webkit.org/show_bug.cgi?id=127232
4092
4093        Reviewed by Andreas Kling.
4094
4095        * wtf/FeatureDefines.h:
4096
40972014-01-18  Anders Carlsson  <andersca@apple.com>
4098
4099        Remove ENABLE_THREADED_HTML_PARSER defines everywhere
4100        https://bugs.webkit.org/show_bug.cgi?id=127225
4101
4102        Reviewed by Andreas Kling.
4103
4104        This concludes the removal of over 8.8 million lines of threaded parser code.
4105
4106        * wtf/FeatureDefines.h:
4107
41082014-01-17  Anders Carlsson  <andersca@apple.com>
4109
4110        Add a callOnMainThreadAndWait variant in SocketStreamHandle
4111        https://bugs.webkit.org/show_bug.cgi?id=127180
4112
4113        Reviewed by Geoffrey Garen.
4114
4115        Remove callOnMainThreadAndWait from WTF.
4116
4117        * wtf/MainThread.cpp:
4118        * wtf/MainThread.h:
4119
41202014-01-17  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
4121
4122        Remove workaround for compilers not supporting deleted functions
4123        https://bugs.webkit.org/show_bug.cgi?id=127166
4124
4125        Reviewed by Andreas Kling.
4126
4127        * wtf/Compiler.h:
4128        * wtf/Noncopyable.h:
4129        * wtf/PassRefPtr.h:
4130
41312014-01-16  Benjamin Poulain  <bpoulain@apple.com>
4132
4133        Remove Nix from WTF
4134        https://bugs.webkit.org/show_bug.cgi?id=127150
4135
4136        Reviewed by Alexey Proskuryakov.
4137
4138        * wtf/DisallowCType.h:
4139        * wtf/FeatureDefines.h:
4140        * wtf/Platform.h:
4141        * wtf/PlatformNix.cmake: Removed.
4142        * wtf/nix: Removed.
4143
41442014-01-16  Anders Carlsson  <andersca@apple.com>
4145
4146        Remove FINAL macro
4147        https://bugs.webkit.org/show_bug.cgi?id=127149
4148
4149        Reviewed by Tim Horton.
4150
4151        * wtf/Compiler.h:
4152
41532014-01-16  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
4154
4155        Remove workaround for compilers not supporting explicit override control
4156        https://bugs.webkit.org/show_bug.cgi?id=127111
4157
4158        Reviewed by Anders Carlsson.
4159
4160        Now all compilers support explicit override control, this workaround can be removed.
4161
4162        * wtf/Compiler.h:
4163        * wtf/FilePrintStream.h:
4164        * wtf/RunLoop.h:
4165        * wtf/StringPrintStream.h:
4166
41672014-01-16  Alberto Garcia  <berto@igalia.com>
4168
4169        Source/WTF/wtf/Atomics.h:300: Error: bad register name `%bpl'
4170        https://bugs.webkit.org/show_bug.cgi?id=126985
4171
4172        Reviewed by Csaba Osztrogonác.
4173
4174        Use the 'q' constraint to force using a register that allows
4175        access to its lower byte.
4176
4177        * wtf/Atomics.h:
4178        (WTF::weakCompareAndSwap):
4179
41802014-01-16  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
4181
4182        Fix unnecessary checks for Clang compiler if the compiler is MSVC.
4183        https://bugs.webkit.org/show_bug.cgi?id=127037
4184
4185        Reviewed by Csaba Osztrogonác.
4186
4187        Inside the #if defined(_MSC_VER) there's no need for checking whether the compiler is not Clang.
4188
4189        * wtf/Compiler.h:
4190
41912014-01-16  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
4192
4193        Require at least GCC version 4.7
4194        https://bugs.webkit.org/show_bug.cgi?id=127049
4195
4196        Reviewed by Csaba Osztrogonác.
4197
4198        r161770 added a template alias, so the minimum GCC version is 4.7 now.
4199
4200        Also fixed a typo in the error message about old MSVC version.
4201
4202        * wtf/Compiler.h:
4203
42042014-01-15  Alberto Garcia  <berto@igalia.com>
4205
4206        [GTK] v2.3.3 fails to build in Debian / FreeBSD
4207        https://bugs.webkit.org/show_bug.cgi?id=126502
4208
4209        Reviewed by Mark Lam.
4210
4211        * wtf/Platform.h: Add LLINT support to FreeBSD.
4212
42132014-01-15  Anders Carlsson  <andersca@apple.com>
4214
4215        Get rid of RefCountedCustomAllocated
4216        https://bugs.webkit.org/show_bug.cgi?id=127051
4217
4218        Reviewed by Antti Koivisto.
4219
4220        It's not used anywhere anymore, get rid of it.
4221
4222        * wtf/RefCounted.h:
4223        * wtf/SizeLimits.cpp:
4224
42252014-01-14  Anders Carlsson  <andersca@apple.com>
4226
4227        And yet another build fix.
4228
4229        * wtf/SizeLimits.cpp:
4230
42312014-01-14  Anders Carlsson  <andersca@apple.com>
4232
4233        Another build fix.
4234
4235        * wtf/SizeLimits.cpp:
4236
42372014-01-14  Daniel Bates  <dabates@apple.com>
4238
4239        [iOS] Enable WTF_USE_UIKIT_EDITING
4240
4241        * wtf/Platform.h:
4242
42432014-01-14  Daniel Bates  <dabates@apple.com>
4244
4245        [iOS] Enable QuickLook
4246        https://bugs.webkit.org/show_bug.cgi?id=126954
4247
4248        Reviewed by David Kilzer.
4249
4250        * wtf/Platform.h:
4251
42522014-01-14  Anders Carlsson  <andersca@apple.com>
4253
4254        Get rid of ThreadRestrictionVerifier
4255        https://bugs.webkit.org/show_bug.cgi?id=127004
4256
4257        Reviewed by Sam Weinig.
4258
4259        The ThreadRestrictionVerifier mechanism has been turned off for a while
4260        since it doesn't really have a good solution for objects that are passed between threads.
4261        Instead of having dead code in the tree, just get rid of it.
4262        
4263        * GNUmakefile.list.am:
4264        * WTF.vcxproj/WTF.vcxproj:
4265        * WTF.vcxproj/WTF.vcxproj.filters:
4266        * WTF.xcodeproj/project.pbxproj:
4267        * wtf/CMakeLists.txt:
4268        * wtf/RefCounted.h:
4269        (WTF::RefCountedBase::ref):
4270        (WTF::RefCountedBase::hasOneRef):
4271        (WTF::RefCountedBase::refCount):
4272        (WTF::RefCountedBase::derefBase):
4273        * wtf/ThreadRestrictionVerifier.h: Removed.
4274
42752014-01-14  Benjamin Poulain  <benjamin@webkit.org>
4276
4277        Enable the experimental selector code generator by default
4278        https://bugs.webkit.org/show_bug.cgi?id=126953
4279
4280        Reviewed by Gavin Barraclough.
4281
4282        * wtf/Platform.h:
4283        Enable CSS_SELECTOR_JIT on OS X x86_64 by default.
4284        The feature is not ready to ship but it is stable enough to enable
4285        for the bots and nightly.
4286
42872014-01-14  Brian J. Burg  <burg@cs.washington.edu>
4288
4289        Add ENABLE(WEB_REPLAY) feature flag to the build system
4290        https://bugs.webkit.org/show_bug.cgi?id=126949
4291
4292        Reviewed by Joseph Pecoraro.
4293
4294        * wtf/FeatureDefines.h: for now, disable the flag by default.
4295
42962014-01-14  peavo@outlook.com  <peavo@outlook.com>
4297
4298        [Win] Application name in user agent string is truncated.
4299        https://bugs.webkit.org/show_bug.cgi?id=126810
4300
4301        Reviewed by Anders Carlsson.
4302
4303        * wtf/text/StringConcatenate.h:
4304        (WTF::tryMakeString): Add missing 8 bit check for last argument. 
4305
43062014-01-13  Anders Carlsson  <andersca@apple.com>
4307
4308        Move another deprecated symbol to DeprecatedSymbolsUsedBySafari.mm
4309        https://bugs.webkit.org/show_bug.cgi?id=126909
4310
4311        Reviewed by Ryosuke Niwa.
4312
4313        * wtf/MainThread.cpp:
4314        * wtf/MainThread.h:
4315        * wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
4316        (WTF::callOnMainThread):
4317
43182014-01-13  Anders Carlsson  <andersca@apple.com>
4319
4320        Fix Windows build.
4321
4322        * wtf/ThreadingWin.cpp:
4323        (WTF::initializeThreading):
4324
43252014-01-13  Anders Carlsson  <andersca@apple.com>
4326
4327        Remove AtomicallyInitializedStatic
4328        https://bugs.webkit.org/show_bug.cgi?id=126864
4329
4330        Reviewed by Andreas Kling.
4331
4332        Remove the lockAtomicallyInitializedStaticMutex and unlockAtomicallyInitializedStaticMutex functions
4333        everywhere except on Mac (where they unfortunately were used by Safari).
4334        
4335        On Mac, add them to a separate file which will hold functions and symbols that we would like
4336        to remove but that are used by Safari. Reimplement them in terms of std::call_once and std::mutex.
4337
4338        * WTF.xcodeproj/project.pbxproj:
4339        * wtf/Threading.h:
4340        * wtf/ThreadingPthreads.cpp:
4341        (WTF::initializeThreading):
4342        * wtf/ThreadingWin.cpp:
4343        (WTF::initializeThreading):
4344        * wtf/mac/DeprecatedSymbolsUsedBySafari.mm: Added.
4345        (WTF::atomicallyInitializedStaticMutex):
4346        (WTF::lockAtomicallyInitializedStaticMutex):
4347        (WTF::unlockAtomicallyInitializedStaticMutex):
4348
43492014-01-13  Commit Queue  <commit-queue@webkit.org>
4350
4351        Unreviewed, rolling out r161855.
4352        http://trac.webkit.org/changeset/161855
4353        https://bugs.webkit.org/show_bug.cgi?id=126880
4354
4355        Sister commit of r161852 (Requested by kling on #webkit).
4356
4357        * wtf/ThreadingPthreads.cpp:
4358        (WTF::initializeThreading):
4359
43602014-01-13  Commit Queue  <commit-queue@webkit.org>
4361
4362        Unreviewed, rolling out r161852.
4363        http://trac.webkit.org/changeset/161852
4364        https://bugs.webkit.org/show_bug.cgi?id=126877
4365
4366        Broke ToT with system Safari (Requested by kling on #webkit).
4367
4368        * wtf/Threading.h:
4369        * wtf/ThreadingPthreads.cpp:
4370        (WTF::initializeThreading):
4371        (WTF::lockAtomicallyInitializedStaticMutex):
4372        (WTF::unlockAtomicallyInitializedStaticMutex):
4373        * wtf/ThreadingWin.cpp:
4374        (WTF::lockAtomicallyInitializedStaticMutex):
4375        (WTF::unlockAtomicallyInitializedStaticMutex):
4376        (WTF::initializeThreading):
4377
43782014-01-12  Commit Queue  <commit-queue@webkit.org>
4379
4380        Unreviewed, rolling out r161840.
4381        http://trac.webkit.org/changeset/161840
4382        https://bugs.webkit.org/show_bug.cgi?id=126870
4383
4384        Caused jsscore and layout test failures (Requested by smfr on
4385        #webkit).
4386
4387        * wtf/text/StringImpl.cpp:
4388        (WTF::StringImpl::replace):
4389        * wtf/text/WTFString.h:
4390        (WTF::String::isAllSpecialCharacters):
4391
43922014-01-12  Dan Bernstein  <mitz@apple.com>
4393
4394        Fix an assertion failure in initializeDates() when launching Safari, which was introduced in r161852.
4395
4396        Reviewed by Andy Estes.
4397
4398        * wtf/ThreadingPthreads.cpp:
4399        (WTF::initializeThreading): Set isInitialized to true.
4400
44012014-01-12  Darin Adler  <darin@apple.com>
4402
4403        Add PLATFORM(COCOA) and USE(FOUNDATION)
4404        https://bugs.webkit.org/show_bug.cgi?id=126859
4405
4406        Reviewed by Anders Carlsson.
4407
4408        * wtf/Platform.h: Added PLATFORM(COCOA), which for now is set at exactly the same
4409        times that PLATFORM(MAC) is. Added USE(FOUNDATION), which is set at the same times
4410        that PLATFORM(COCOA) is. Re-organize the PLATFORM(MAC) and PLATFORM(IOS) settings
4411        in the header so they are a bit easier to read. Put HAVE_LANGINFO_H in with the
4412        rest of the OS(UNIX) settings and put HAVE_READLINE in with the rest of the
4413        OS(DARWIN) settings. Tweak formatting a bit.
4414
44152014-01-12  Anders Carlsson  <andersca@apple.com>
4416
4417        Remove AtomicallyInitializedStatic
4418        https://bugs.webkit.org/show_bug.cgi?id=126864
4419
4420        Reviewed by Darin Adler.
4421
4422        * wtf/Threading.h:
4423        * wtf/ThreadingPthreads.cpp:
4424        (WTF::initializeThreading):
4425        * wtf/ThreadingWin.cpp:
4426        (WTF::initializeThreading):
4427
44282014-01-12  Darin Adler  <darin@apple.com>
4429
4430        Add deprecatedCharacters as a synonym for characters and convert most call sites
4431        https://bugs.webkit.org/show_bug.cgi?id=126858
4432
4433        Reviewed by Anders Carlsson.
4434
4435        * wtf/text/AtomicString.cpp:
4436        (WTF::HashAndUTF8CharactersTranslator::equal):
4437        (WTF::SubstringTranslator::hash):
4438        (WTF::SubstringTranslator::equal):
4439        * wtf/text/AtomicString.h:
4440        (WTF::AtomicString::characters):
4441        * wtf/text/Base64.cpp:
4442        (WTF::base64Decode):
4443        (WTF::base64URLDecode):
4444        * wtf/text/StringBuilder.h:
4445        (WTF::StringBuilder::characters):
4446        (WTF::StringBuilder::deprecatedCharacters):
4447        * wtf/text/StringImpl.cpp:
4448        (WTF::StringImpl::getData16SlowCase):
4449        (WTF::StringImpl::upper):
4450        (WTF::StringImpl::lower):
4451        (WTF::StringImpl::find):
4452        (WTF::StringImpl::findIgnoringCase):
4453        * wtf/text/StringImpl.h:
4454        (WTF::StringImpl::characters):
4455        (WTF::StringImpl::deprecatedCharacters):
4456        (WTF::StringImpl::getCharacters<UChar>):
4457        (WTF::equalIgnoringNullity):
4458        * wtf/text/WTFString.cpp:
4459        (WTF::String::append):
4460        (WTF::String::appendInternal):
4461        (WTF::String::insert):
4462        (WTF::String::truncate):
4463        (WTF::String::percentage):
4464        * wtf/text/WTFString.h:
4465        (WTF::String::characters):
4466        (WTF::String::deprecatedCharacters):
4467        (WTF::String::getCharactersWithUpconvert<UChar>):
4468        (WTF::append):
4469        Use deprecatedCharacters instead of characters.
4470
44712014-01-12  Anders Carlsson  <andersca@apple.com>
4472
4473        Remove the last remaining uses of AtomicallyInitializedStatic
4474        https://bugs.webkit.org/show_bug.cgi?id=126863
4475
4476        Reviewed by Darin Adler.
4477
4478        * wtf/HashTable.cpp:
4479        (WTF::hashTableStatsMutex):
4480        (WTF::HashTableStats::recordCollisionAtCount):
4481        (WTF::HashTableStats::dumpStats):
4482        * wtf/unicode/icu/CollatorICU.cpp:
4483        (WTF::cachedCollatorMutex):
4484        (WTF::Collator::createCollator):
4485        (WTF::Collator::releaseCollator):
4486
44872014-01-12  Darin Adler  <darin@apple.com>
4488
4489        Reduce use of String::characters
4490        https://bugs.webkit.org/show_bug.cgi?id=126854
4491
4492        Reviewed by Sam Weinig.
4493
4494        * wtf/text/StringImpl.cpp:
4495        (WTF::StringImpl::replace): Use characters16 here since is8Bit was already checked.
4496        * wtf/text/WTFString.h:
4497        (WTF::String::isAllSpecialCharacters): Use characters16 here since is8Bit was
4498        already checked. Also renamed "len" to "length".
4499
45002014-01-12  Anders Carlsson  <andersca@apple.com>
4501
4502        Replace more uses of AtomicallyInitializedStatic with std::call_once
4503        https://bugs.webkit.org/show_bug.cgi?id=126847
4504
4505        Reviewed by Sam Weinig.
4506
4507        * wtf/Forward.h:
4508        Forward declare NeverDestroyed.
4509
45102014-01-11  Zan Dobersek  <zdobersek@igalia.com>
4511
4512        Unreviewed build fix for ports using GCC after r161770.
4513
4514        * wtf/IteratorAdaptors.h:
4515        (WTF::FilterIterator::operator*): Replicating r161797, the const qualifier for
4516        FilterIterator::operator*() is removed since it clashes with some iterator types
4517        that are also const, causing compilation failures with GCC.
4518
45192014-01-11  Anders Carlsson  <andersca@apple.com>
4520
4521        Use std::call_once instead of AtomicallyInitializedStatic when creating a HTTP header set
4522        https://bugs.webkit.org/show_bug.cgi?id=126837
4523
4524        Reviewed by Sam Weinig.
4525
4526        * wtf/HashSet.h:
4527        (WTF::HashSet::HashSet):
4528        Add a HashSet constructor that takes an initializer list.
4529
45302014-01-11  Sam Weinig  <sam@webkit.org>
4531
4532        Fix the EFL build.
4533
4534        * wtf/IteratorAdaptors.h:
4535        (WTF::TransformIterator::operator*):
4536
45372014-01-11  Sam Weinig  <sam@webkit.org>
4538
4539        Add support for null StringViews
4540        https://bugs.webkit.org/show_bug.cgi?id=126827
4541
4542        Reviewed by Anders Carlsson.
4543
4544        - Do some style cleanup while in the neighborhood.
4545
4546        * wtf/text/StringView.h:
4547        (WTF::StringView::StringView):
4548        Add default constructor to create a null StringView.
4549
4550        (WTF::StringView::isNull):
4551        Add isNull(), matching the semantics of String.
4552
4553        (WTF::StringView::operator bool):
4554        Add an explicit operator bool() to allow use in if-statements. 
4555
45562014-01-11  Sam Weinig  <sam@webkit.org>
4557
4558        Clean up iterator filter / iterator range code
4559        https://bugs.webkit.org/show_bug.cgi?id=126817
4560
4561        Reviewed by Anders Carlsson.
4562
4563        - Renames IteratorPair to IteratorRange.
4564        - Splits FilterIterator into FilterIterator (which now only filters) and
4565          TransformIterator (which does the transform part of the old FilterIterator).
4566          Move both of these to IteratorAdaptors.h
4567
4568        * GNUmakefile.list.am:
4569        * WTF.vcxproj/WTF.vcxproj:
4570        * WTF.vcxproj/WTF.vcxproj.filters:
4571        * WTF.xcodeproj/project.pbxproj:
4572        * wtf/CMakeLists.txt:
4573        * wtf/FilterIterator.h: Removed.
4574        Add/remove files.
4575
4576        * wtf/HashMap.h:
4577        (WTF::HashMap::keys):
4578        (WTF::HashMap::values):
4579        * wtf/RefPtrHashMap.h:
4580        Update for rename to IteratorRange. Simplify by using makeIteratorRange().
4581
4582        * wtf/IteratorAdaptors.h: Copied from wtf/FilterIterator.h.
4583        (WTF::FilterIterator::FilterIterator):
4584        (WTF::FilterIterator::operator*):
4585        (WTF::makeFilterIterator):
4586        (WTF::TransformIterator::TransformIterator):
4587        (WTF::TransformIterator::operator++):
4588        (WTF::TransformIterator::operator*):
4589        (WTF::TransformIterator::operator==):
4590        (WTF::TransformIterator::operator!=):
4591        (WTF::makeTransformIterator):
4592        Split up filtering and transforming. Add makeFilterIterator() and makeTransformIterator()
4593        helpers.
4594
4595        * wtf/IteratorPair.h: Removed.
4596        * wtf/IteratorRange.h: Copied from wtf/IteratorPair.h.
4597        (WTF::IteratorRange::IteratorRange):
4598        (WTF::makeIteratorRange):
4599        Renamed to IteratorRange and adds makeIteratorRange() helper.
4600
46012014-01-10  David Kilzer  <ddkilzer@apple.com>
4602
4603        Clean up architectures in xcconfig files
4604        <http://webkit.org/b/126794>
4605
4606        Reviewed by Andy Estes.
4607
4608        * Configurations/Base.xcconfig:
4609        - Add new arch.
4610
46112014-01-10  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
4612
4613        [EFL][JSC] Enable udis86 disassembler on efl.
4614        https://bugs.webkit.org/show_bug.cgi?id=125502
4615
4616        Reviewed by Michael Saboff.
4617
4618        Enable udis86 disassembler on efl and fix build warnings.
4619
4620        * wtf/Platform.h:
4621          Enable udis86 disassembler on EFL.
4622
46232014-01-10  Hunseop Jeong  <hs85.jeong@samsung.com>
4624
4625        [EFL] Enable the DFG_JIT on ARMv7
4626        https://bugs.webkit.org/show_bug.cgi?id=126742
4627
4628        Reviewed by Gyuyoung Kim.
4629
4630        Turn on ENABLE_DFG_JIT on ARMv7 for EFL.
4631
4632        * wtf/Platform.h:
4633
46342014-01-07  Mark Hahnenberg  <mhahnenberg@apple.com>
4635
4636        Marking should be generational
4637        https://bugs.webkit.org/show_bug.cgi?id=126552
4638
4639        Reviewed by Geoffrey Garen.
4640
4641        * wtf/Bitmap.h:
4642        (WTF::WordType>::count): Added a cast that became necessary when Bitmap
4643        is used with smaller types than int32_t.
4644
46452014-01-09  Simon Fraser  <simon.fraser@apple.com>
4646
4647        Enable async scrolling for iOS
4648        https://bugs.webkit.org/show_bug.cgi?id=126730
4649
4650        Reviewed by Tim Horton.
4651        
4652        Turn on ENABLE_ASYNC_SCROLLING for iOS.
4653
4654        * wtf/FeatureDefines.h:
4655
46562014-01-09  Anders Carlsson  <andersca@apple.com>
4657
4658        Remove Blackberry and QNX bits from WTF
4659        https://bugs.webkit.org/show_bug.cgi?id=126726
4660
4661        Reviewed by Benjamin Poulain.
4662
4663        * wtf/Assertions.cpp:
4664        * wtf/Atomics.h:
4665        * wtf/CurrentTime.cpp:
4666        (WTF::currentCPUTime):
4667        * wtf/DateMath.cpp:
4668        * wtf/DisallowCType.h:
4669        * wtf/FeatureDefines.h:
4670        * wtf/InlineASM.h:
4671        * wtf/MathExtras.h:
4672        * wtf/NumberOfCores.cpp:
4673        (WTF::numberOfProcessorCores):
4674        * wtf/OSAllocatorPosix.cpp:
4675        (WTF::OSAllocator::reserveUncommitted):
4676        (WTF::OSAllocator::commit):
4677        (WTF::OSAllocator::decommit):
4678        * wtf/Platform.h:
4679        * wtf/PlatformBlackBerry.cmake: Removed.
4680        * wtf/RAMSize.cpp:
4681        (WTF::computeRAMSize):
4682        * wtf/StackBounds.cpp:
4683        * wtf/ThreadingPthreads.cpp:
4684        (WTF::initializeThreading):
4685        (WTF::initializeCurrentThreadInternal):
4686        * wtf/blackberry/MainThreadBlackBerry.cpp: Removed.
4687        * wtf/blackberry/RunLoopBlackBerry.cpp: Removed.
4688        * wtf/text/AtomicString.h:
4689        * wtf/text/StringImpl.h:
4690        * wtf/text/WTFString.h:
4691
46922014-01-09  Daniel Bates  <dabates@apple.com>
4693
4694        [iOS] Upstream WebCore/platform changes
4695        https://bugs.webkit.org/show_bug.cgi?id=126654
4696
4697        Rubber-stamped by David Kilzer.
4698
4699        * wtf/MainThread.cpp:
4700        (WTF::canAccessThreadLocalDataForThread):
4701        * wtf/MainThread.h:
4702
47032014-01-09  Commit Queue  <commit-queue@webkit.org>
4704
4705        Unreviewed, rolling out r161540.
4706        http://trac.webkit.org/changeset/161540
4707        https://bugs.webkit.org/show_bug.cgi?id=126704
4708
4709        Caused assertion failures on multiple tests (Requested by ap
4710        on #webkit).
4711
4712        * wtf/Bitmap.h:
4713        (WTF::WordType>::count):
4714
47152014-01-07  Mark Hahnenberg  <mhahnenberg@apple.com>
4716
4717        Marking should be generational
4718        https://bugs.webkit.org/show_bug.cgi?id=126552
4719
4720        Reviewed by Geoffrey Garen.
4721
4722        * wtf/Bitmap.h:
4723        (WTF::WordType>::count): Added a cast that became necessary when Bitmap
4724        is used with smaller types than int32_t.
4725
47262014-01-08  Anders Carlsson  <andersca@apple.com>
4727
4728        Add WTF::StringView and use it for grammar checking
4729        https://bugs.webkit.org/show_bug.cgi?id=126644
4730
4731        Reviewed by Antti Koivisto.
4732
4733        Add a new StringView class which is an immutable reference to either an 8-bit or a 16-bit string.
4734
4735        This makes it easier to pass substrings around without having to either copy string data
4736        or upconvert and use UChar pointers.
4737
4738        The StringView class is very loosely based on the std::string_view class which is proposed for a future version of C++,
4739        see http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3609.html for more details.
4740
4741        * GNUmakefile.list.am:
4742        * WTF.vcxproj/WTF.vcxproj:
4743        * WTF.vcxproj/WTF.vcxproj.filters:
4744        * WTF.xcodeproj/project.pbxproj:
4745        * wtf/CMakeLists.txt:
4746        * wtf/Forward.h:
4747        * wtf/text/StringView.h: Added.
4748        (WTF::StringView::StringView):
4749        (WTF::StringView::empty):
4750        (WTF::StringView::characters8):
4751        (WTF::StringView::characters16):
4752        (WTF::StringView::isEmpty):
4753        (WTF::StringView::length):
4754        (WTF::StringView::is8Bit):
4755        (WTF::StringView::substring):
4756        (WTF::StringView::toString):
4757        (WTF::StringView::toStringWithoutCopying):
4758        (WTF::StringView::encodedCharacters):
4759
47602014-01-07  David Farler  <dfarler@apple.com>
4761
4762        [ASAN] Building with trunk clang corrupts sandbox profile with comment from Compiler.h
4763        https://bugs.webkit.org/show_bug.cgi?id=124532
4764
4765        Reviewed by David Kilzer.
4766
4767        * wtf/Compiler.h:
4768        Remove this quirk - it does nothing.
4769
47702014-01-06  Filip Pizlo  <fpizlo@apple.com>
4771
4772        Get rid of ENABLE(VALUE_PROFILER). It's on all the time now.
4773
4774        Rubber stamped by Mark Hahnenberg.
4775
4776        * wtf/Platform.h:
4777
47782014-01-06  Zan Dobersek  <zdobersek@igalia.com>
4779
4780        Remove using directives for the std namespace from WTF
4781        https://bugs.webkit.org/show_bug.cgi?id=126524
4782
4783        Reviewed by Alexey Proskuryakov.
4784
4785        Remove the using directives for the std namespace throughout the WTF code.
4786        The more explicit std:: nested name specifier should be used instead.
4787
4788        * wtf/MediaTime.cpp:
4789        (WTF::MediaTime::createWithFloat):
4790        (WTF::MediaTime::createWithDouble):
4791        * wtf/text/StringImpl.cpp:
4792        (WTF::StringImpl::create):
4793        (WTF::StringImpl::lower):
4794        (WTF::StringImpl::upper):
4795        (WTF::StringImpl::foldCase):
4796        (WTF::StringImpl::find):
4797        (WTF::StringImpl::findIgnoringCase):
4798        (WTF::reverseFindInner):
4799        (WTF::StringImpl::reverseFind):
4800        (WTF::reverseFindIgnoringCaseInner):
4801        (WTF::StringImpl::reverseFindIgnoringCase):
4802        (WTF::StringImpl::replace):
4803        (WTF::StringImpl::utf8ForCharacters):
4804        (WTF::StringImpl::utf8ForRange):
4805        * wtf/text/WTFString.cpp:
4806        (WTF::String::append):
4807        (WTF::String::appendInternal):
4808        (WTF::String::insert):
4809        (WTF::String::substringSharingImpl):
4810        (WTF::String::fromUTF8):
4811        (WTF::toIntegralType):
4812        * wtf/win/RunLoopWin.cpp:
4813
48142014-01-03  Mark Hahnenberg  <mhahnenberg@apple.com>
4815
4816        DoublyLinkedLists can't be concatenated
4817        https://bugs.webkit.org/show_bug.cgi?id=125976
4818
4819        Reviewed by Filip Pizlo.
4820
4821        * wtf/DoublyLinkedList.h:
4822        (WTF::DoublyLinkedList<T>::append):
4823
48242014-01-04  Zan Dobersek  <zdobersek@igalia.com>
4825
4826        Explicitly use the std:: nested name specifier when using std::pair, std::make_pair
4827        https://bugs.webkit.org/show_bug.cgi?id=126439
4828
4829        Reviewed by Andreas Kling.
4830
4831        * wtf/VectorTraits.h: Stop bringing std::pair into the current scope.
4832
48332014-01-02  Gavin Barraclough  <barraclough@apple.com>
4834
4835        Refactor NSActivity handling code from ChildProcess to UserActivity
4836        https://bugs.webkit.org/show_bug.cgi?id=126330
4837
4838        Reviewed by Sam Weinig.
4839
4840        UserActivity is a mechanism to express to the operating system (where appropriate)
4841        that a user initiated activity is taking place, and as such that resources should be
4842        made available to the process accordingly.
4843
4844        Currently we hold a single NSActivity, at the WebKit layer. This refactoring allows us
4845        to hold different activity tokens for different user actions (which simplifies the
4846        handling, and aides debugging since the token can more accurately express the activity
4847        taking place), and also will allow us to avoid the layering difficulty of calling back
4848        up the stack to WebKit to register that an activity is taking place.
4849
4850        * wtf/Platform.h:
4851            - added HAVE_NS_ACTIVITY.
4852
48532013-12-30  Commit Queue  <commit-queue@webkit.org>
4854
4855        Unreviewed, rolling out r161157, r161158, r161160, r161161,
4856        r161163, and r161165.
4857        http://trac.webkit.org/changeset/161157
4858        http://trac.webkit.org/changeset/161158
4859        http://trac.webkit.org/changeset/161160
4860        http://trac.webkit.org/changeset/161161
4861        http://trac.webkit.org/changeset/161163
4862        http://trac.webkit.org/changeset/161165
4863        https://bugs.webkit.org/show_bug.cgi?id=126332
4864
4865        Broke WebKit2 on Mountain Lion (Requested by ap on #webkit).
4866
4867        * GNUmakefile.list.am:
4868        * WTF.vcxproj/WTF.vcxproj:
4869        * WTF.vcxproj/WTF.vcxproj.filters:
4870        * WTF.xcodeproj/project.pbxproj:
4871        * wtf/CMakeLists.txt:
4872        * wtf/Forward.h:
4873        * wtf/PlatformWin.cmake:
4874        * wtf/threads/BinarySemaphore.cpp: Added.
4875        (WTF::BinarySemaphore::BinarySemaphore):
4876        (WTF::BinarySemaphore::~BinarySemaphore):
4877        (WTF::BinarySemaphore::signal):
4878        (WTF::BinarySemaphore::wait):
4879        * wtf/threads/BinarySemaphore.h: Added.
4880        (WTF::BinarySemaphore::event):
4881        * wtf/threads/win/BinarySemaphoreWin.cpp: Added.
4882        (WTF::BinarySemaphore::BinarySemaphore):
4883        (WTF::BinarySemaphore::~BinarySemaphore):
4884        (WTF::BinarySemaphore::signal):
4885        (WTF::BinarySemaphore::wait):
4886
48872013-12-30  Anders Carlsson  <andersca@apple.com>
4888
4889        Replace yield() and pauseBriefly() with std::this_thread::yield()
4890        https://bugs.webkit.org/show_bug.cgi?id=126105
4891
4892        Reviewed by Sam Weinig.
4893
4894        * wtf/ByteSpinLock.h:
4895        (WTF::ByteSpinLock::lock):
4896        * wtf/Threading.h:
4897        * wtf/ThreadingPrimitives.h:
4898        * wtf/ThreadingPthreads.cpp:
4899        * wtf/ThreadingWin.cpp:
4900
49012013-12-30  Sam Weinig  <sam@webkit.org>
4902
4903        Remove unnecessary non-const overload in IteratorPair
4904        https://bugs.webkit.org/show_bug.cgi?id=126314
4905
4906        Reviewed by Anders Carlsson.
4907
4908        * wtf/IteratorPair.h:
4909
49102013-12-30  Sam Weinig  <sam@webkit.org>
4911
4912        Remove WTF's BinarySemaphore
4913        https://bugs.webkit.org/show_bug.cgi?id=126310
4914
4915        Reviewed by Anders Carlsson.
4916
4917        It's unused. Also remove the now empty wtf/threads directory.
4918
4919        * GNUmakefile.list.am:
4920        * WTF.vcxproj/WTF.vcxproj:
4921        * WTF.vcxproj/WTF.vcxproj.filters:
4922        * WTF.xcodeproj/project.pbxproj:
4923        * wtf/CMakeLists.txt:
4924        * wtf/Forward.h:
4925        * wtf/PlatformWin.cmake:
4926        * wtf/threads: Removed.
4927        * wtf/threads/BinarySemaphore.cpp: Removed.
4928        * wtf/threads/BinarySemaphore.h: Removed.
4929        * wtf/threads/win: Removed.
4930        * wtf/threads/win/BinarySemaphoreWin.cpp: Removed.
4931
49322013-12-30  Roger Fong  <roger_fong@apple.com>
4933
4934        [Windows] Unreviewed build fix following r160959.
4935
4936        * wtf/Platform.h:
4937
49382013-12-30  Anders Carlsson  <andersca@apple.com>
4939
4940        Replace WTF::ThreadingOnce with std::call_once
4941        https://bugs.webkit.org/show_bug.cgi?id=126215
4942
4943        Reviewed by Sam Weinig.
4944
4945        * GNUmakefile.list.am:
4946        * wtf/CompilationThread.cpp:
4947        (WTF::initializeCompilationThreads):
4948        * wtf/ThreadingOnce.h: Removed.
4949
49502013-12-26  Sam Weinig  <sam@webkit.org>
4951
4952        Move FilterIterator and IteratorPair to WTF and reimplement HashMap::keys() and HashMap::values() using IteratorPair
4953        https://bugs.webkit.org/show_bug.cgi?id=126253
4954
4955        Reviewed by Anders Carlsson.
4956
4957        * GNUmakefile.list.am:
4958        * WTF.vcxproj/WTF.vcxproj:
4959        * WTF.vcxproj/WTF.vcxproj.filters:
4960        * WTF.xcodeproj/project.pbxproj:
4961        * wtf/CMakeLists.txt:
4962        Add new files.
4963
4964        * wtf/HashMap.h:
4965        * wtf/RefPtrHashMap.h:
4966        Remove the old implementation of keys() and values() and replace it with one
4967        that uses IteratorPair.
4968        
4969        * wtf/FilterIterator.h: Copied from Source/WebKit2/Shared/FilterIterator.h.
4970        * wtf/IteratorPair.h: Copied from Source/WebKit2/Shared/IteratorPair.h.
4971
49722013-12-27  Daniel Bates  <dabates@apple.com>
4973
4974        [iOS] Upstream WebCore/page changes
4975        https://bugs.webkit.org/show_bug.cgi?id=126180
4976
4977        Reviewed by Darin Adler.
4978
4979        * wtf/FeatureDefines.h: Define ENABLE_IOS_TOUCH_EVENTS to be enabled by default
4980        when building iOS with ENABLE(TOUCH_EVENTS).
4981
49822013-12-25  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
4983
4984        [Nix] Building with DRAG_SUPPORT enabled
4985        https://bugs.webkit.org/show_bug.cgi?id=126233
4986
4987        Reviewed by Daniel Bates.
4988
4989        * wtf/nix/FeatureDefinesNix.h:
4990
49912013-12-24  Commit Queue  <commit-queue@webkit.org>
4992
4993        Unreviewed, rolling out r160959.
4994        http://trac.webkit.org/changeset/160959
4995        https://bugs.webkit.org/show_bug.cgi?id=126222
4996
4997        Caused Windows build to fail (Requested by rfong on #webkit).
4998
4999        * wtf/ByteSpinLock.h:
5000        (WTF::ByteSpinLock::lock):
5001        * wtf/Threading.h:
5002        * wtf/ThreadingPrimitives.h:
5003        (WTF::pauseBriefly):
5004        * wtf/ThreadingPthreads.cpp:
5005        (WTF::yield):
5006        * wtf/ThreadingWin.cpp:
5007        (WTF::yield):
5008
50092013-12-23  Benjamin Poulain  <bpoulain@apple.com>
5010
5011        Fix the build after r161031
5012
5013        I enabled ENABLE_CSS_SELECTOR_JIT by accident.
5014
5015        * wtf/Platform.h:
5016
50172013-12-23  Zan Dobersek  <zdobersek@igalia.com>
5018
5019        [GTK] Clean up compiler optimizations flags for libWTF, libJSC
5020        https://bugs.webkit.org/show_bug.cgi?id=126157
5021
5022        Reviewed by Gustavo Noronha Silva.
5023
5024        * GNUmakefile.am: Remove the -fstrict-aliasing and -O3 compiler flags for libWTF.la. -O3 gets
5025        overridden by -O2 that's listed in CXXFLAGS (or -O0 in case of debug builds) and -fstrict-aliasing
5026        is enabled when -O2 is used (and shouldn't be enabled in debug builds anyway).
5027
50282013-12-20  Anders Carlsson  <andersca@apple.com>
5029
5030        Replace yield() and pauseBriefly() with std::this_thread::yield()
5031        https://bugs.webkit.org/show_bug.cgi?id=126105
5032
5033        Reviewed by Sam Weinig.
5034
5035        * wtf/ByteSpinLock.h:
5036        (WTF::ByteSpinLock::lock):
5037        * wtf/Threading.h:
5038        * wtf/ThreadingPrimitives.h:
5039        * wtf/ThreadingPthreads.cpp:
5040        * wtf/ThreadingWin.cpp:
5041
50422013-12-20  Anders Carlsson  <andersca@apple.com>
5043
5044        Speed up case folding for 8-bit strings
5045        https://bugs.webkit.org/show_bug.cgi?id=126098
5046
5047        Reviewed by Geoffrey Garen.
5048
5049        Add a case folding lookup table for 8-bit strings and use it instead of calling down to u_foldCase.
5050        On a simple microbenchmark using a lookup table is about 15x faster.
5051
5052        * wtf/text/StringHash.h:
5053        (WTF::CaseFoldingHash::foldCase):
5054        * wtf/text/StringImpl.cpp:
5055        (WTF::equalIgnoringCase):
5056        * wtf/text/StringImpl.h:
5057
50582013-12-20  Myles C. Maxfield  <mmaxfield@apple.com>
5059
5060        Faster implementation of text-decoration-skip: ink
5061        https://bugs.webkit.org/show_bug.cgi?id=125718
5062
5063        Reviewed by Simon Fraser.
5064
5065        This creates a new preprocessor define, CSS3_TEXT_DECORATION_SKIP_INK,
5066        which enables the use of the text-decoration-skip: ink CSS value.
5067        Creating this new value simplifies the logic about when to enable the
5068        codepath for this CSS value.
5069
5070        * wtf/Platform.h:
5071
50722013-12-20  Simon Fraser  <simon.fraser@apple.com>
5073
5074        Change "threaded scrolling" terminology to "asynchronous scrolling"
5075        https://bugs.webkit.org/show_bug.cgi?id=126094
5076
5077        Reviewed by Tim Horton.
5078
5079        Rename ENABLE_THREADED_SCROLLING to ENABLE_ASYNC_SCROLLING.
5080
5081        * wtf/FeatureDefines.h:
5082
50832013-12-20  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
5084
5085        Build fails in debug mode after r160834.
5086        https://bugs.webkit.org/show_bug.cgi?id=126059
5087
5088        Reviewed by Csaba Osztrogonác.
5089
5090        Debug mode build failed due to comparing signed and unsigned in
5091        ASSERT(). Now both values are unsigned.
5092
5093        * wtf/dtoa/double-conversion.cc:
5094
50952013-12-19  Alex Christensen  <achristensen@webkit.org>
5096
5097        Final preparations for GStreamer on Windows.
5098        https://bugs.webkit.org/show_bug.cgi?id=125958
5099
5100        Reviewed by Benjamin Poulain.
5101
5102        * WTF.vcxproj/WTFDebugWinCairo.props:
5103        * WTF.vcxproj/WTFReleaseWinCairo.props:
5104        Include WinCairo.props.
5105        * wtf/Platform.h:
5106        Use GLib and GStreamer on WinCairo with video.
5107
51082013-12-18  Daniel Bates  <dabates@apple.com>
5109
5110        WTF, JavaScriptCore fails to build with trunk clang: operators new, new[],
5111        delete, delete[] cannot be declared inline
5112        https://bugs.webkit.org/show_bug.cgi?id=124186
5113        <rdar://problem/15644039>
5114
5115        Reviewed by Geoffrey Garen and Anders Carlsson.
5116
5117        Following <http://llvm.org/viewvc/llvm-project?view=revision&revision=193044>
5118        (http://llvm.org/bugs/show_bug.cgi?id=17591>), Clang emits warnings when
5119        operator new, delete are inlined. Such definitions cannot be inline per
5120        replacement.functions (17.6.4.6/3) of the C++ standard. For now,
5121        disable these warnings instead of exporting these functions.
5122
5123        * wtf/FastMalloc.h:
5124
51252013-12-19  Hugo Parente Lima  <hugo.lima@openbossa.org>
5126
5127        WTF fails to compile with gcc 4.8.2 and -Werror=array-bounds
5128        https://bugs.webkit.org/show_bug.cgi?id=125936
5129
5130        Reviewed by Anders Carlsson.
5131
5132        * wtf/dtoa/double-conversion.cc: Use a unsigned instead of int on buffer_pos type.
5133
51342013-12-19  Peter Szanka  <h868064@stud.u-szeged.hu>
5135
5136        Delete RVCT related code parts.
5137        https://bugs.webkit.org/show_bug.cgi?id=125626
5138
5139        Reviewed by Csaba Osztrogonác.
5140
5141        * wtf/Compiler.h: follow-up fix for r160648, remove an unnecessary comment.
5142
51432013-12-18  Alex Christensen  <achristensen@webkit.org>
5144
5145        [WinCairo] Preparation for GStreamer on Windows.
5146        https://bugs.webkit.org/show_bug.cgi?id=125946
5147
5148        Reviewed by Brent Fulgham.
5149
5150        * WTF.vcxproj/WTF.vcxproj:
5151        Use new GStreamer property sheets for WinCairo.
5152
51532013-12-18  Mark Hahnenberg  <mhahnenberg@apple.com>
5154
5155        DFG should have a separate StoreBarrier node
5156        https://bugs.webkit.org/show_bug.cgi?id=125530
5157
5158        Reviewed by Filip Pizlo.
5159
5160        * wtf/Platform.h: Added an #define for ENABLE(GGC) which will be used for landing things related to GenGC.
5161
51622013-12-16  Daniel Bates  <dabates@apple.com>
5163
5164        [iOS] Upstream WebCore/html changes
5165        https://bugs.webkit.org/show_bug.cgi?id=125765
5166
5167        Reviewed by Darin Adler.
5168
5169        Defined ENABLE_IOS_AUTOCORRECT_AND_AUTOCAPITALIZE, enabled by default on iOS.
5170
5171        * wtf/FeatureDefines.h:
5172
51732013-12-17  Alex Christensen  <achristensen@webkit.org>
5174
5175        Compile fix for WebGL on Windows without GRAPHICS_SURFACE.
5176        https://bugs.webkit.org/show_bug.cgi?id=125867
5177
5178        Reviewed by Martin Robinson.
5179
5180        * wtf/FeatureDefines.h:
5181        Removed unused ENABLE_GLIB_SUPPORT macro.
5182        * wtf/Platform.h:
5183        Don't use GRAPHICS_SURFACE for WebGL on Windows.
5184
51852013-12-17  Alex Christensen  <achristensen@webkit.org>
5186
5187        [Win] Fixed linker error with GStreamer.
5188        https://bugs.webkit.org/show_bug.cgi?id=124861
5189
5190        Reviewed by Martin Robinson.
5191
5192        * wtf/gobject/GOwnPtr.cpp:
5193        (WTF::GError):
5194        * wtf/gobject/GOwnPtr.h:
5195        Added WTF_EXPORT_PRIVATE to freeOwnedGPtr<GError> declaration and definition.
5196
51972013-12-17  Benjamin Poulain  <benjamin@webkit.org>
5198
5199        Add a simple register allocator to WebCore for x86_64
5200        https://bugs.webkit.org/show_bug.cgi?id=125771
5201
5202        Reviewed by Geoffrey Garen.
5203
5204        * wtf/Platform.h: Add a new flag "CSS_SELECTOR_JIT" to guard
5205        an experimental JIT compiler in WebCore.
5206
52072013-12-16  Anders Carlsson  <andersca@apple.com>
5208
5209        Remove EnumClass.h from WTF
5210        https://bugs.webkit.org/show_bug.cgi?id=125820
5211
5212        Reviewed by Darin Adler.
5213
5214        All compilers we build on now support real strongly typed enums, so we can remove the ENUM_CLASS version.
5215
5216        * WTF.vcxproj/WTF.vcxproj:
5217        * WTF.vcxproj/WTF.vcxproj.filters:
5218        * WTF.xcodeproj/project.pbxproj:
5219        * wtf/CheckedArithmetic.h:
5220        * wtf/EnumClass.h: Removed.
5221
52222013-12-16  Brent Fulgham  <bfulgham@apple.com>
5223
5224        [Win] Remove dead code after conversion to VS2013
5225        https://bugs.webkit.org/show_bug.cgi?id=125795
5226
5227        Reviewed by Darin Adler.
5228
5229        * wtf/Assertions.h: Include <inttypes.h> now that it exists.
5230        * wtf/Compiler.h: Update compiler checks for VS2013, and
5231        enable support for NEVER_INLINE
5232        * wtf/HashFunctions.h:
5233        (WTF::PtrHash::hash): Remove compiler workaround.
5234        * wtf/MathExtras.h: Remove C99 functions that are now supplied
5235        by the MS runtime library.
5236        * wtf/Platform.h: Remove old MSVC support flags.
5237        * wtf/StdLibExtras.h: Remove old MSVC workaround code.
5238
52392013-12-16  Alex Christensen  <achristensen@webkit.org>
5240
5241        Fixed Win64 build on VS2013.
5242        https://bugs.webkit.org/show_bug.cgi?id=125753
5243
5244        Reviewed by Brent Fulgham.
5245
5246        * WTF.vcxproj/WTF.vcxproj:
5247        Added correct PlatformToolset for 64-bit builds.
5248
52492013-12-16  Peter Szanka  <h868064@stud.u-szeged.hu>
5250
5251        Delete RVCT related code parts.
5252        https://bugs.webkit.org/show_bug.cgi?id=125626
5253
5254        Reviewed by Darin Adler.
5255
5256        * wtf/Assertions.h:
5257        * wtf/Compiler.h:
5258        * wtf/FastMalloc.h:
5259        * wtf/Platform.h:
5260
52612013-12-13  Brent Fulgham  <bfulgham@apple.com>
5262
5263        [Win] Remove Pre-VS2013 support code.
5264        https://bugs.webkit.org/show_bug.cgi?id=125693
5265
5266        Reviewed by Darin Adler.
5267
5268        * wtf/StringPrintStream.cpp:
5269        (WTF::StringPrintStream::vprintf): Use va_copy, like a civilized person.
5270
52712013-12-12  Darin Adler  <darin@apple.com>
5272
5273        Incorrect handling of non-ASCII characters in WTF::base64DecodeInternal
5274        https://bugs.webkit.org/show_bug.cgi?id=125658
5275
5276        Reviewed by Alexey Proskuryakov.
5277
5278        * wtf/text/Base64.cpp:
5279        (WTF::base64EncodeInternal): Use a reference to an array instead of a pointer
5280        for the table argument type so we check the size of the array at the call site.
5281        (WTF::base64DecodeInternal): Ditto. Also added an bounds check before using the
5282        table so we don't load some random value for non-ASCII characters.
5283
52842013-12-13  Brent Fulgham  <bfulgham@apple.com>
5285
5286        [Win] Unreviewed build fix after r160548
5287
5288        * WTF.vcxproj/WTFGenerated.vcxproj: Specify that we are using
5289        the vs12_xp target for Makefile-based projects.
5290
52912013-12-13  Anders Carlsson  <andersca@apple.com>
5292
5293        Require variadic templates to build WebKit
5294        https://bugs.webkit.org/show_bug.cgi?id=125701
5295
5296        Reviewed by Andreas Kling.
5297
5298        * wtf/Compiler.h:
5299        Add an #error if variadic templates are disabled.
5300
5301        * wtf/NeverDestroyed.h:
5302        * wtf/PassRef.h:
5303        * wtf/StdLibExtras.h:
5304        Remove a bunch of COMPILER_SUPPORTS(CXX_VARIADIC_TEMPLATES) #ifdefs.
5305
53062013-12-13  Peter Szanka  <h868064@stud.u-szeged.hu>
5307
5308        Delete INTEL C compiler related code parts.
5309        https://bugs.webkit.org/show_bug.cgi?id=125625
5310
5311        Reviewed by Darin Adler.
5312
5313        * wtf/Assertions.h:
5314        * wtf/Compiler.h:
5315
53162013-12-13  Brent Fulgham  <bfulgham@apple.com>
5317
5318        [Win] Switch WebKit solution to Visual Studio 2013
5319        https://bugs.webkit.org/show_bug.cgi?id=125192
5320
5321        Reviewed by Anders Carlsson.
5322
5323        * WTF.vcxproj/WTF.vcxproj: Update for VS2013
5324        * WTF.vcxproj/WTF.vcxproj.filters: Ditto
5325
53262013-12-12  Brady Eidson  <beidson@apple.com>
5327
5328        DatabaseProcess IndexedDB: Establish a metadata backing store on disk
5329        https://bugs.webkit.org/show_bug.cgi?id=125258
5330
5331        Reviewed by Alexey Proskuryakov, Anders Carlsson, and Tim Horton.
5332
5333        * wtf/text/WTFString.h: Export toUInt64Strict().
5334
53352013-12-12  Sam Weinig  <sam@webkit.org>
5336
5337        Replace uses of WTF::BitArray with std::bitset
5338        https://bugs.webkit.org/show_bug.cgi?id=125642
5339
5340        Reviewed by Anders Carlsson.
5341
5342        * GNUmakefile.list.am:
5343        * WTF.vcxproj/WTF.vcxproj:
5344        * WTF.vcxproj/WTF.vcxproj.filters:
5345        * WTF.xcodeproj/project.pbxproj:
5346        * wtf/BitArray.h: Removed.
5347        * wtf/CMakeLists.txt:
5348
53492013-12-11  David Kilzer  <ddkilzer@apple.com>
5350
5351        Define m_hasBadParent in InlineBox if defined(ADDRESS_SANITIZER)
5352        <http://webkit.org/b/125329>
5353
5354        Reviewed by Darin Adler.
5355
5356        * wtf/Assertions.h: Define macro
5357        ASSERT_WITH_SECURITY_IMPLICATION_DISABLED based on whether
5358        ASSERT_WITH_SECURITY_IMPLICATION() is enabled.
5359
53602013-12-11  Brendan Long  <b.long@cablelabs.com>
5361
5362        Type punning error in MD5.cpp
5363        https://bugs.webkit.org/show_bug.cgi?id=125412
5364
5365        Reviewed by Darin Adler.
5366
5367        * wtf/MD5.cpp:
5368        (WTF::toLittleEndian): Renamed, and use memcpy instead of casting.
5369        (WTF::MD5::addBytes): Renamed reverseBytes to toLittleEndian.
5370        (WTF::MD5::checksum): Same, and use memcpy instead of casting to prevent type punning error.
5371
53722013-12-11  Laszlo Vidacs  <lac@inf.u-szeged.hu>
5373
5374        Store SHA1 hash in std::array
5375        https://bugs.webkit.org/show_bug.cgi?id=125446
5376
5377        Reviewed by Darin Adler.
5378
5379        Change Vector to std::array and use typedef.
5380
5381        * wtf/SHA1.cpp:
5382        (WTF::SHA1::computeHash):
5383        (WTF::SHA1::hexDigest):
5384        (WTF::SHA1::computeHexDigest):
5385        * wtf/SHA1.h:
5386
53872013-12-11  Oliver Hunt  <oliver@apple.com>
5388
5389        Give Unique StringImpls a meaningful data pointer
5390        https://bugs.webkit.org/show_bug.cgi?id=125598
5391
5392        Reviewed by Michael Saboff.
5393
5394        Found by code inspection.  If there is a collision in an Identifier
5395        table when comparing to a string literal we attempt to use the data
5396        pointer (essentially this ends up being a null termination check).
5397
5398        Previously unique pointers just used the literal 1 as the data address
5399        but this obviously fails when dereferenced.  Instead we now make the
5400        data pointer point to the location of the buffer pointer itself.  As
5401        the buffer pointer is initialised to 0, this satisfies the requirement
5402        that the 0-length unique string is null terminated.
5403
5404        * wtf/text/StringImpl.h:
5405        (WTF::StringImpl::StringImpl):
5406
54072013-12-10  Anders Carlsson  <andersca@apple.com>
5408
5409        Add a HashMap constructor that takes an initializer list
5410        https://bugs.webkit.org/show_bug.cgi?id=125551
5411
5412        Reviewed by Dan Bernstein.
5413
5414        * wtf/HashMap.h:
5415        (WTF::HashMap::HashMap):
5416
54172013-12-10  Laszlo Vidacs  <lac@inf.u-szeged.hu>
5418
5419        Use std::array when computing MD5 checksum
5420        https://bugs.webkit.org/show_bug.cgi?id=125509
5421
5422        Reviewed by Anders Carlsson.
5423
5424        Added MD5::Digest type and MD5::hashSize for computing MD5 checksum.
5425
5426        * wtf/MD5.cpp:
5427        (WTF::MD5::checksum):
5428        * wtf/MD5.h:
5429
54302013-12-10  Martin Robinson  <mrobinson@igalia.com>
5431
5432        Various fixes for the CMake GTK+ build
5433
5434        Reviewed by Gustavo Noronha.
5435
5436        * wtf/PlatformGTK.cmake: Add Zlib library to the WTF build.
5437
54382013-12-09  Sam Weinig  <sam@webkit.org>
5439
5440        Remove FixedArray
5441        https://bugs.webkit.org/show_bug.cgi?id=125478
5442
5443        Reviewed by Anders Carlsson.
5444
5445        * GNUmakefile.list.am:
5446        * WTF.vcxproj/WTF.vcxproj:
5447        * WTF.vcxproj/WTF.vcxproj.filters:
5448        * WTF.xcodeproj/project.pbxproj:
5449        * wtf/CMakeLists.txt:
5450        * wtf/FixedArray.h: Removed.
5451
54522013-12-09  Sam Weinig  <sam@webkit.org>
5453
5454        Replace use of WTF::FixedArray with std::array
5455        https://bugs.webkit.org/show_bug.cgi?id=125475
5456
5457        Reviewed by Anders Carlsson.
5458
5459        * wtf/AVLTree.h:
5460        * wtf/Bitmap.h:
5461        * wtf/SixCharacterHash.cpp:
5462        (WTF::integerToSixCharacterHashString):
5463        * wtf/SixCharacterHash.h:
5464
54652013-12-06  Roger Fong <roger_fong@apple.com> and Brent Fulgham  <bfulgham@apple.com>
5466
5467        [Win] Support compiling with VS2013
5468        https://bugs.webkit.org/show_bug.cgi?id=125353
5469
5470        Reviewed by Anders Carlsson.
5471
5472        * wtf/Compiler.h: Show proper features for VS2012 and VS2013.
5473        * wtf/MathExtras.h: Don't implement common C99 routines when
5474        they are available through the runtime libraries.
5475        * wtf/RetainPtr.h:
5476        (WTF::RetainPtr::operator bool): Added.
5477        * wtf/StdLibExtras.h: Use Microsoft's version of make_unique
5478        when it exists.
5479
54802013-12-06  Laszlo Vidacs  <lac@inf.u-szeged.hu>
5481
5482        Define SHA1 hash size in SHA1.h and use it at various places.
5483        https://bugs.webkit.org/show_bug.cgi?id=125345
5484
5485        Reviewed by Darin Adler.
5486
5487        Use SHA1::hashSize instead of local variables.
5488
5489        * wtf/SHA1.h: define SHA1 hash size
5490
54912013-12-05  Iain Lane  <iain.lane@canonical.com>
5492
5493        Remove USE(LOCKFREE_THREADSAFEREFCOUNTED) from Atomics.cpp since it is
5494        no longer defined.
5495        https://bugs.webkit.org/show_bug.cgi?id=124502
5496
5497        Reviewed by Anders Carlsson.
5498
5499        * wtf/Atomics.cpp:
5500
55012013-12-04  Ryosuke Niwa  <rniwa@webkit.org>
5502
5503        Enable HTMLTemplateElement by default
5504        https://bugs.webkit.org/show_bug.cgi?id=123851
5505
5506        Reviewed by Antti Koivisto.
5507
5508        * wtf/FeatureDefines.h:
5509
55102013-12-04  Dan Bernstein  <mitz@apple.com>
5511
5512        Replace USE(SECURITY_FRAMEWORK) with finer-grained defines
5513        https://bugs.webkit.org/show_bug.cgi?id=125242
5514
5515        Reviewed by Sam Weinig.
5516
5517        * wtf/Platform.h: Removed definitions of WTF_USE_SECURITY_FRAMEWORK, and defined
5518        HAVE_SEC_IDENTITY and HAVE_SEC_KEYCHAIN.
5519
55202013-12-03  Joseph Pecoraro  <pecoraro@apple.com>
5521
5522        Web Inspector: Push Remote Inspector debugging connection management into JavaScriptCore
5523        https://bugs.webkit.org/show_bug.cgi?id=124613
5524
5525        Reviewed by Timothy Hatcher.
5526
5527        * wtf/ios/WebCoreThread.cpp:
5528        * wtf/ios/WebCoreThread.h:
5529        Expose WebThreadRun/WebThreadRunSync iOS methods defined in WebCore through
5530        WTF so that JavaScriptCore can use it. Another such method already existed.
5531
55322013-12-03  Mark Lam  <mark.lam@apple.com>
5533
5534        testapi test crashes on Windows in WTF::Vector<wchar_t,64,WTF::UnsafeVectorOverflow>::size().
5535        https://bugs.webkit.org/show_bug.cgi?id=121972.
5536
5537        Reviewed by Brent Fulgham.
5538
5539        * wtf/OSAllocatorWin.cpp:
5540        (WTF::OSAllocator::decommit):
5541        (WTF::OSAllocator::releaseDecommitted):
5542        - Added a check to ensure that the bytes to decommit / release is not 0.
5543          On Windows, a 0 length passed to VirtualFree() has a special meaning,
5544          and it's not "decommit / release nothing" as one would expect. Adding
5545          this check makes OSAllocatorWin consistent with OSAllocatorPosix for
5546          these 2 functions.
5547
55482013-12-02  Mark Lam  <mark.lam@apple.com>
5549
5550        Build failure when disabling JIT, YARR_JIT, and ASSEMBLER.
5551        https://bugs.webkit.org/show_bug.cgi?id=123809.
5552
5553        Reviewed by Geoffrey Garen.
5554
5555        * wtf/Platform.h:
5556        - Ensure that the ASSEMBLER is enabled when the DISASSEMBLER is enabled.
5557
55582013-11-30  peavo@outlook.com  <peavo@outlook.com>
5559
5560        [Win] Some JavaScript date tests are failing.
5561        https://bugs.webkit.org/show_bug.cgi?id=124946
5562
5563        Reviewed by Brent Fulgham.
5564
5565        Use native Win32 api functions to compute Daylight saving time offset.
5566
5567        * wtf/DateMath.cpp:
5568        (WTF::UnixTimeToFileTime): Added method to calculate Win32 specific struct FILETIME from time_t value.
5569        (WTF::calculateDSTOffset): Use native Win32 api functions to compute Daylight saving time offset.
5570
55712013-11-28  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
5572
5573        Nix Upstream: Updating Nix WTF files
5574        https://bugs.webkit.org/show_bug.cgi?id=124980
5575
5576        Reviewed by Csaba Osztrogonác.
5577
5578        Just to sync our private repo files and the trunk, as part of the upstream process.
5579
5580        * wtf/DisallowCType.h:
5581        * wtf/PlatformNix.cmake:
5582        * wtf/nix/FeatureDefinesNix.h:
5583        * wtf/nix/PlatformNix.h:
5584        * wtf/nix/RunLoopNix.cpp: Added.
5585
55862013-11-28  Antti Koivisto  <antti@apple.com>
5587
5588        Remove feature: CSS variables
5589        https://bugs.webkit.org/show_bug.cgi?id=114119
5590
5591        Reviewed by Andreas Kling.
5592
5593        * wtf/FeatureDefines.h:
5594
55952013-11-26  Filip Pizlo  <fpizlo@apple.com>
5596
5597        Do bytecode validation as part of testing
5598        https://bugs.webkit.org/show_bug.cgi?id=124913
5599
5600        Reviewed by Oliver Hunt.
5601
5602        * GNUmakefile.list.am:
5603        * WTF.vcxproj/WTF.vcxproj:
5604        * WTF.xcodeproj/project.pbxproj:
5605        * wtf/CMakeLists.txt:
5606        * wtf/FastBitVector.cpp: Added.
5607        (WTF::FastBitVector::dump):
5608        * wtf/FastBitVector.h:
5609        (WTF::FastBitVector::resize):
5610        (WTF::FastBitVector::bitCount):
5611        (WTF::FastBitVector::arrayLength):
5612
56132013-11-27  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
5614
5615        Remove Sparc specific code.
5616        https://bugs.webkit.org/show_bug.cgi?id=124941
5617
5618        Reviewed by Michael Saboff.
5619
5620        Sparc is not supported, remove leftover code.
5621
5622        * wtf/Platform.h:
5623        * wtf/dtoa/utils.h:
5624
56252013-11-26  Marcelo Lira  <marcelo.lira@openbossa.org>
5626
5627        Nix upstreaming - Adding build files and supporting scripts
5628        https://bugs.webkit.org/show_bug.cgi?id=118367
5629
5630        Reviewed by Ryosuke Niwa.
5631
5632        * wtf/FeatureDefines.h:
5633        * wtf/Platform.h:
5634        * wtf/PlatformNix.cmake: Added.
5635
56362013-11-26  Drew Yao  <ayao@apple.com>
5637
5638        ASSERT_WITH_SECURITY_IMPLICATION should crash in a distinct way.
5639        https://bugs.webkit.org/show_bug.cgi?id=124757
5640
5641        Change ASSERT_WITH_SECURITY_IMPLICATION to access a different address from CRASH()
5642        in order to help screen fuzzing bugs.
5643
5644        Reviewed by Brent Fulgham.
5645
5646        * wtf/Assertions.cpp:
5647        * wtf/Assertions.h:
5648
56492013-11-24  Tim Horton  <timothy_horton@apple.com>
5650
5651        Upstream USE(IOSURFACE) from the iOS port
5652        https://bugs.webkit.org/show_bug.cgi?id=124814
5653
5654        Reviewed by Sam Weinig.
5655
5656        Some code guarded by USE(IOSURFACE) was recently upstreamed,
5657        but not the definition of WTF_USE_IOSURFACE itself.
5658
5659        * wtf/Platform.h:
5660
56612013-11-23  Xabier Rodriguez Calvar  <calvaris@igalia.com>
5662
5663        [GStreamer] Remove 0.10 codepath
5664        https://bugs.webkit.org/show_bug.cgi?id=124534
5665
5666        Reviewed by Philippe Normand.
5667
5668        * wtf/Platform.h: Removed macro for GStreamer 1.0 as it is the
5669        only codepath now.
5670
56712013-11-21  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
5672
5673        Remove ENABLE_WORKERS
5674        https://bugs.webkit.org/show_bug.cgi?id=105784
5675
5676        Reviewed by Darin Adler.
5677
5678        * wtf/FeatureDefines.h:
5679        * wtf/nix/FeatureDefinesNix.h:
5680
56812013-11-21  Mark Rowe  <mrowe@apple.com>
5682
5683        <https://webkit.org/b/124701> Fix an error in a few Xcode configuration setting files.
5684
5685        Reviewed by Alexey Proskuryakov.
5686
5687        * Configurations/Base.xcconfig:
5688
56892013-11-20  Mark Lam  <mark.lam@apple.com>
5690
5691        Introducing VMEntryScope to update the VM stack limit.
5692        https://bugs.webkit.org/show_bug.cgi?id=124634.
5693
5694        Reviewed by Geoffrey Garen.
5695
5696        * wtf/Platform.h:
5697        * wtf/StackBounds.h:
5698        (WTF::StackBounds::StackBounds):
5699
57002013-11-18  Filip Pizlo  <fpizlo@apple.com>
5701
5702        Allow the FTL debug dumps to include the new size field
5703        https://bugs.webkit.org/show_bug.cgi?id=124479
5704
5705        Reviewed by Mark Hahnenberg.
5706
5707        * wtf/PrintStream.cpp:
5708        (WTF::printInternal):
5709        * wtf/PrintStream.h:
5710
57112013-11-17  Jer Noble  <jer.noble@apple.com>
5712
5713        [WTF] Media time should not have a constructor which accepts a single int or float.
5714        https://bugs.webkit.org/show_bug.cgi?id=124470
5715
5716        Having a constructor taking a single number value, as it's very easy to accidentially mis-
5717        initialize a MediaTime with a double (automatically casted to a int64_t).
5718
5719        Reviewed by Eric Carlson.
5720
5721        * wtf/MediaTime.h:
5722
57232013-11-18  Csaba Osztrogonác  <ossy@webkit.org>
5724
5725        URTBF after r159432 to make WinCairo build happy.
5726
5727        * wtf/text/WTFString.h:
5728
57292013-11-18  Carlos Garcia Campos  <cgarcia@igalia.com>
5730
5731        Unreviewed. Fix make distcheck.
5732
5733        * GNUmakefile.list.am: Add missing header file.
5734
57352013-11-16  Alexey Proskuryakov  <ap@apple.com>
5736
5737        Use uint8_t vectors for WebCrypto data
5738        https://bugs.webkit.org/show_bug.cgi?id=124466
5739
5740        Reviewed by Sam Weinig.
5741
5742        Binary data can be UTF-8, in which case "char*" is idiomatic, or it can be arbitrary
5743        binary data, in which case "uint8_t*" is more common.
5744
5745        Changed encode functions that took "const char *" to "const void*", and decode
5746        functions that took "Vector<char>&" now take an adapter class.
5747
5748        The adapter relies on Vector<char> and Vector<uint8_t> classes having an identical layout.
5749
5750        * wtf/text/Base64.cpp:
5751        (WTF::base64Encode):
5752        (WTF::base64URLEncode):
5753        (WTF::base64DecodeInternal):
5754        (WTF::base64Decode):
5755        (WTF::base64URLDecode):
5756        * wtf/text/Base64.h:
5757        (WTF::SignedOrUnsignedCharVectorAdapter):
5758        (WTF::ConstSignedOrUnsignedCharVectorAdapter):
5759        (WTF::base64Encode):
5760        (WTF::base64URLEncode):
5761
57622013-11-15  Alexey Proskuryakov  <ap@apple.com>
5763
5764        Support exporting symmetric keys as JWK
5765        https://bugs.webkit.org/show_bug.cgi?id=124442
5766
5767        Reviewed by Sam Weinig.
5768
5769        Base64URL encoding doesn't use '=' padding, and doesn't need any other options.
5770        Added this mode for encode, and removed policy arguments from exposed functions.
5771
5772        * wtf/text/Base64.cpp:
5773        (WTF::base64EncodeInternal):
5774        (WTF::base64URLEncode):
5775        (WTF::base64URLDecode):
5776        * wtf/text/Base64.h:
5777        (WTF::base64URLEncode):
5778
57792013-11-15  Mark Hahnenberg  <mhahnenberg@apple.com>
5780
5781        Remove VTableSpectrum
5782        https://bugs.webkit.org/show_bug.cgi?id=124427
5783
5784        Reviewed by Filip Pizlo.
5785
5786        * wtf/Platform.h:
5787
57882013-11-15  Jer Noble  <jer.noble@apple.com>
5789
5790        MediaTime addition and subtraction operators have errors when the rhs is infinite.
5791        https://bugs.webkit.org/show_bug.cgi?id=124413
5792
5793        Reviewed by Eric Carlson.
5794
5795        Correctly account for infinities that can occur on the right-hand side of addition or
5796        subtraction operators.
5797
5798        * wtf/MediaTime.cpp:
5799        (WTF::MediaTime::operator+):
5800        (WTF::MediaTime::operator-):
5801
58022013-11-14  Oliver Hunt  <oliver@apple.com>
5803
5804        Make CLoop easier to build, and make it work
5805        https://bugs.webkit.org/show_bug.cgi?id=124359
5806
5807        Reviewed by Geoffrey Garen.
5808
5809        Make building with the CLoop forcibly enabled manually
5810        disable the JITs
5811
5812        * wtf/Platform.h:
5813
58142013-11-14  Andreas Kling  <akling@apple.com>
5815
5816        FontDescription copies should share families list, not duplicate it.
5817        <https://webkit.org/b/124338>
5818
5819        Add RefCountedArray::operator==.
5820
5821        Reviewed by Antti Koivisto.
5822
58232013-11-13  Anders Carlsson  <andersca@apple.com>
5824
5825        Add a Vector constructor that takes an std::initializer_list
5826        https://bugs.webkit.org/show_bug.cgi?id=124287
5827
5828        Reviewed by Antti Koivisto.
5829
5830        * wtf/Compiler.h:
5831        * wtf/Vector.h:
5832        (WTF::Vector::Vector):
5833
58342013-11-12  Brent Fulgham  <bfulgham@apple.com>
5835
5836        [Win] Unreviewed gardening.
5837
5838        * WTF.vcxproj/WTF.vcxproj.filters: Tidy up filters so files show up
5839        in their proper directories.
5840
58412013-11-12  Alex Christensen  <achristensen@webkit.org>
5842
5843        Build GStreamer files on Windows.
5844        https://bugs.webkit.org/show_bug.cgi?id=124180
5845
5846        Reviewed by Brent Fulgham.
5847
5848        * WTF.vcxproj/WTF.vcxproj:
5849        * WTF.vcxproj/WTF.vcxproj.filters:
5850        * WTF.vcxproj/copy-files.cmd:
5851        Include gobject files in WinCairo build.
5852
58532013-11-09  Filip Pizlo  <fpizlo@apple.com>
5854
5855        Switch FTL GetById/PutById IC's over to using AnyRegCC
5856        https://bugs.webkit.org/show_bug.cgi?id=124094
5857
5858        Reviewed by Sam Weinig.
5859        
5860        I needed to add another set operation, namely filter(), which is an in-place set
5861        intersection.
5862
5863        * wtf/BitVector.cpp:
5864        (WTF::BitVector::filterSlow):
5865        * wtf/BitVector.h:
5866        (WTF::BitVector::filter):
5867
58682013-11-10  Ryuan Choi  <ryuan.choi@samsung.com>
5869
5870        [EFL] Build break on Ubuntu 13.10
5871        https://bugs.webkit.org/show_bug.cgi?id=124131
5872
5873        Reviewed by Gyuyoung Kim.
5874
5875        Turned DisallowCType macros off on EFL port because gtest-internal.h uses isspace().
5876
5877        * wtf/DisallowCType.h: Added !PLATFORM(EFL) guard.
5878
58792013-11-09  Patrick Gansterer  <paroga@webkit.org>
5880
5881        Move RunLoop from WebCore to WTF
5882        https://bugs.webkit.org/show_bug.cgi?id=116606
5883
5884        Reviewed by Anders Carlsson.
5885
5886        With this change RunLoop can be used in JavaScriptCore too.
5887
5888        * GNUmakefile.list.am:
5889        * WTF.vcxproj/WTF.vcxproj:
5890        * WTF.xcodeproj/project.pbxproj:
5891        * wtf/CMakeLists.txt:
5892        * wtf/PlatformBlackBerry.cmake:
5893        * wtf/PlatformEfl.cmake:
5894        * wtf/PlatformGTK.cmake:
5895        * wtf/PlatformWin.cmake:
5896        * wtf/RunLoop.cpp: Renamed from Source/WebCore/platform/RunLoop.cpp.
5897        (WTF::RunLoop::Holder::Holder):
5898        (WTF::RunLoop::Holder::runLoop):
5899        (WTF::RunLoop::initializeMainRunLoop):
5900        (WTF::RunLoop::current):
5901        (WTF::RunLoop::main):
5902        (WTF::RunLoop::isMain):
5903        (WTF::RunLoop::performWork):
5904        (WTF::RunLoop::dispatch):
5905        * wtf/RunLoop.h: Renamed from Source/WebCore/platform/RunLoop.h.
5906        (WTF::RunLoop::TimerBase::startRepeating):
5907        (WTF::RunLoop::TimerBase::startOneShot):
5908        (WTF::RunLoop::TimerBase::isRepeating):
5909        (WTF::RunLoop::Timer::Timer):
5910        (WTF::RunLoop::Timer::fired):
5911        * wtf/blackberry/RunLoopBlackBerry.cpp: Renamed from Source/WebCore/platform/blackberry/RunLoopBlackBerry.cpp.
5912        (WTF::RunLoop::RunLoop):
5913        (WTF::RunLoop::~RunLoop):
5914        (WTF::RunLoop::wakeUp):
5915        * wtf/cf/RunLoopCF.cpp: Renamed from Source/WebCore/platform/cf/RunLoopCF.cpp.
5916        (WTF::RunLoop::performWork):
5917        (WTF::RunLoop::RunLoop):
5918        (WTF::RunLoop::~RunLoop):
5919        (WTF::RunLoop::runForDuration):
5920        (WTF::RunLoop::wakeUp):
5921        (WTF::RunLoop::run):
5922        (WTF::RunLoop::stop):
5923        (WTF::RunLoop::TimerBase::timerFired):
5924        (WTF::RunLoop::TimerBase::TimerBase):
5925        (WTF::RunLoop::TimerBase::~TimerBase):
5926        (WTF::RunLoop::TimerBase::start):
5927        (WTF::RunLoop::TimerBase::stop):
5928        (WTF::RunLoop::TimerBase::isActive):
5929        * wtf/efl/RunLoopEfl.cpp: Renamed from Source/WebCore/platform/efl/RunLoopEfl.cpp.
5930        (WTF::RunLoop::RunLoop):
5931        (WTF::RunLoop::~RunLoop):
5932        (WTF::RunLoop::run):
5933        (WTF::RunLoop::stop):
5934        (WTF::RunLoop::wakeUpEvent):
5935        (WTF::RunLoop::wakeUp):
5936        (WTF::RunLoop::TimerBase::TimerBase):
5937        (WTF::RunLoop::TimerBase::~TimerBase):
5938        (WTF::RunLoop::TimerBase::timerFired):
5939        (WTF::RunLoop::TimerBase::start):
5940        (WTF::RunLoop::TimerBase::stop):
5941        (WTF::RunLoop::TimerBase::isActive):
5942        * wtf/gtk/RunLoopGtk.cpp: Renamed from Source/WebCore/platform/gtk/RunLoopGtk.cpp.
5943        (WTF::RunLoop::RunLoop):
5944        (WTF::RunLoop::~RunLoop):
5945        (WTF::RunLoop::run):
5946        (WTF::RunLoop::innermostLoop):
5947        (WTF::RunLoop::pushNestedMainLoop):
5948        (WTF::RunLoop::popNestedMainLoop):
5949        (WTF::RunLoop::stop):
5950        (WTF::RunLoop::queueWork):
5951        (WTF::RunLoop::wakeUp):
5952        (WTF::RunLoop::TimerBase::TimerBase):
5953        (WTF::RunLoop::TimerBase::~TimerBase):
5954        (WTF::RunLoop::TimerBase::clearTimerSource):
5955        (WTF::RunLoop::TimerBase::timerFiredCallback):
5956        (WTF::RunLoop::TimerBase::start):
5957        (WTF::RunLoop::TimerBase::stop):
5958        (WTF::RunLoop::TimerBase::isActive):
5959        * wtf/win/RunLoopWin.cpp: Renamed from Source/WebCore/platform/win/RunLoopWin.cpp.
5960        (WTF::RunLoop::RunLoopWndProc):
5961        (WTF::RunLoop::wndProc):
5962        (WTF::RunLoop::run):
5963        (WTF::RunLoop::stop):
5964        (WTF::RunLoop::registerRunLoopMessageWindowClass):
5965        (WTF::RunLoop::RunLoop):
5966        (WTF::RunLoop::~RunLoop):
5967        (WTF::RunLoop::wakeUp):
5968        (WTF::RunLoop::TimerBase::timerFired):
5969        (WTF::generateTimerID):
5970        (WTF::RunLoop::TimerBase::TimerBase):
5971        (WTF::RunLoop::TimerBase::~TimerBase):
5972        (WTF::RunLoop::TimerBase::start):
5973        (WTF::RunLoop::TimerBase::stop):
5974        (WTF::RunLoop::TimerBase::isActive):
5975
59762013-11-08  Alexey Proskuryakov  <ap@apple.com>
5977
5978        Make base64url decoding actually work
5979        https://bugs.webkit.org/show_bug.cgi?id=124050
5980
5981        Reviewed by Sam Weinig.
5982
5983        * wtf/text/Base64.cpp: (WTF::base64DecodeInternal): Don't hardcode knowledge about
5984        alphabet, put it into the map.
5985
59862013-11-07  Denis Nomiyama  <d.nomiyama@samsung.com>
5987
5988        [GTK] Glyphs in vertical text tests are rotated 90 degrees clockwise
5989        https://bugs.webkit.org/show_bug.cgi?id=50619
5990
5991        Reviewed by Martin Robinson.
5992
5993        Enabled OPENTYPE_VERTICAL by default on GTK+ and EFL ports, which are
5994        currently using Freetype.
5995
5996        * wtf/Platform.h:
5997
59982013-11-06  Daniel Bates  <dabates@apple.com>
5999
6000        [iOS] Upstream Letterpress effect
6001        https://bugs.webkit.org/show_bug.cgi?id=123932
6002
6003        Reviewed by Sam Weinig.
6004
6005        Add feature define ENABLE_LETTERPRESS disabled by default. We only enable
6006        letterpress on iOS.
6007
6008        * wtf/FeatureDefines.h:
6009
60102013-11-06  Nick Diego Yamane  <nick.yamane@openbossa.org>
6011
6012        Disable "unused local typedefs" warning for GCC 4.7
6013        https://bugs.webkit.org/show_bug.cgi?id=123913
6014
6015        Reviewed by Martin Robinson.
6016
6017        That warning was actually introduced in gcc 4.7.0.
6018        See: http://gcc.gnu.org/gcc-4.7/changes.html
6019
6020        * wtf/Compiler.h:
6021
60222013-11-06  Daniel Bates  <dabates@apple.com>
6023
6024        Add ENABLE(TEXT_SELECTION)
6025        https://bugs.webkit.org/show_bug.cgi?id=123827
6026
6027        Reviewed by Ryosuke Niwa.
6028
6029        Enable selection painting by default on all ports except iOS.
6030
6031        * wtf/FeatureDefines.h:
6032
60332013-11-04  Alexey Proskuryakov  <ap@apple.com>
6034
6035        Implement base64url encoding from RFC 4648
6036        https://bugs.webkit.org/show_bug.cgi?id=123767
6037
6038        Reviewed by Sam Weinig.
6039
6040        No tests yet, will be covered by JWK tests for WebCrypto.
6041
6042        * wtf/text/Base64.cpp:
6043        (WTF::base64EncodeInternal):
6044        (WTF::base64Encode):
6045        (WTF::base64URLEncode):
6046        (WTF::base64DecodeInternal):
6047        (WTF::base64Decode):
6048        (WTF::base64URLDecode):
6049        * wtf/text/Base64.h:
6050        (WTF::base64URLEncode):
6051
60522013-11-04  Brent Fulgham  <bfulgham@apple.com>
6053
6054        [Win] User VersionStamper for official builds
6055        https://bugs.webkit.org/show_bug.cgi?id=123758
6056
6057        Reviewed by Tim Horton.
6058
6059        * WTF.vcxproj/WTFPostBuild.cmd: Add missing command to run VersionStamper.exe.
6060
60612013-11-01  Jer Noble  <jer.noble@apple.com>
6062
6063        [PluginProxy] Add a setting to disable video plugin proxy support in HTMLMediaElement.
6064        https://bugs.webkit.org/show_bug.cgi?id=123621
6065
6066        Reviewed by Eric Carlson.
6067
6068        Enable WTF_USE_AVFOUNDATION and add some HAVE_AVFOUNDATION_* defines
6069        to replace the existing __MAC_OS_X_VERSION_MIN_REQUIRED macros in
6070        MediaPlayerPrivateAVFoundationObjC.mm.
6071
6072        * wtf/Platform.h:
6073
60742013-11-02  Patrick Gansterer  <paroga@webkit.org>
6075
6076        Fix compilation of DateMath.cpp with MSVC
6077        https://bugs.webkit.org/show_bug.cgi?id=123680
6078
6079        Reviewed by Darin Adler.
6080
6081        * wtf/DateMath.cpp:
6082        (WTF::appendTwoDigitNumber): Help the compiler finding the
6083        correct overload by casting the characters to LChar.
6084
60852013-11-02  Filip Pizlo  <fpizlo@apple.com>
6086
6087        LLVM assertion failures should funnel into WTF's crash handling
6088        https://bugs.webkit.org/show_bug.cgi?id=123682
6089
6090        Reviewed by Geoffrey Garen.
6091        
6092        Give JSC some new toys to play with for crash handling.
6093
6094        * wtf/Assertions.cpp:
6095        * wtf/Assertions.h:
6096
60972013-11-02  Patrick Gansterer  <paroga@webkit.org>
6098
6099        Fix UnicodeWchar after r157330.
6100        https://bugs.webkit.org/show_bug.cgi?id=123668
6101
6102        Reviewed by Darin Adler.
6103
6104        * wtf/unicode/wchar/UnicodeWchar.cpp:
6105        (unorm_normalize):
6106        (u_strFoldCase):
6107        (u_strToLower):
6108        (u_strToUpper):
6109        * wtf/unicode/wchar/UnicodeWchar.h:
6110        (u_foldCase):
6111        (u_isprint):
6112        (u_isspace):
6113
61142013-11-02  Andreas Kling  <akling@apple.com>
6115
6116        Make remaining StringImpl functions return PassRef.
6117        <https://webkit.org/b/123683>
6118
6119        Okay, this seems to work well! Let's go all in and convert the
6120        remaining StringImpl functions to return PassRef<StringImpl> instead
6121        of PassRefPtr where we know that null is never returned.
6122
6123        Reviewed by Anders Carlsson.
6124
61252013-11-02  Andreas Kling  <akling@apple.com>
6126
6127        StringImpl::upper() should return PassRef.
6128        <https://webkit.org/b/123655>
6129
6130        Make upper() return PassRef<StringImpl>. Spotted and removed some
6131        ref churning in implementations.
6132
6133        Reviewed by Darin Adler.
6134
61352013-11-01  Alexey Proskuryakov  <ap@apple.com>
6136
6137        Add WebCrypto AES-CBC
6138        https://bugs.webkit.org/show_bug.cgi?id=123647
6139
6140        Reviewed by Anders Carlsson.
6141
6142        * wtf/FixedArray.h: (WTF::FixedArray::data): Added a const version of the function.
6143
6144        * wtf/Vector.h: Added a comment to Vector constructor about how it is different
6145        from std::vector.
6146
61472013-11-01  Joseph Pecoraro  <pecoraro@apple.com>
6148
6149        Unreviewed extended attempt at Windows build fix after r158471.
6150
6151        * wtf/text/cf/AtomicStringCF.cpp:
6152        * wtf/text/cf/StringCF.cpp:
6153        * wtf/text/cf/StringImplCF.cpp:
6154
61552013-11-01  Joseph Pecoraro  <pecoraro@apple.com>
6156
6157        Unreviewed attempt at Windows build fix after r158471.
6158
6159        * wtf/text/cf/AtomicStringCF.cpp:
6160        * wtf/text/cf/StringCF.cpp:
6161        * wtf/text/cf/StringImplCF.cpp:
6162
61632013-11-01  Andreas Kling  <akling@apple.com>
6164
6165        Make more StringImpl construction helpers return PassRef.
6166        <https://webkit.org/b/123652>
6167
6168        Tweak another handful of StringImpl constructor functions to return
6169        PassRef<StringImpl> instead of PassRefPtr.
6170
6171        Reviewed by Anders Carlsson.
6172
61732013-11-01  Andreas Kling  <akling@apple.com>
6174
6175        Neuter WTF_MAKE_FAST_ALLOCATED in GLOBAL_FASTMALLOC_NEW builds.
6176        <https://webkit.org/b/123639>
6177
6178        When building with GLOBAL_FASTMALLOC_NEW, we don't need to expand
6179        operator new/delete overrides in every class.
6180
6181        This change makes allocations group up nicely in Instruments,
6182        instead of being split between "WTF::fastMalloc" and "operator new"
6183        depending on whether the class had WTF_MAKE_FAST_ALLOCATED.
6184
6185        Reviewed by Anders Carlsson.
6186
61872013-11-01  Joseph Pecoraro  <pecoraro@apple.com>
6188
6189        Move CF/Mac WTF String implementations down into WTF
6190        https://bugs.webkit.org/show_bug.cgi?id=123635
6191
6192        Reviewed by Sam Weinig.
6193
6194        * WTF.vcxproj/WTF.vcxproj:
6195        * WTF.vcxproj/WTF.vcxproj.filters:
6196        * WTF.xcodeproj/project.pbxproj:
6197        * wtf/text/AtomicString.h:
6198        * wtf/text/StringImpl.h:
6199        * wtf/text/WTFString.h:
6200        * wtf/text/cf/AtomicStringCF.cpp: Renamed from Source/WebCore/platform/text/cf/AtomicStringCF.cpp.
6201        (WTF::AtomicString::add):
6202        * wtf/text/cf/StringCF.cpp: Renamed from Source/WebCore/platform/text/cf/StringCF.cpp.
6203        (WTF::String::String):
6204        (WTF::String::createCFString):
6205        * wtf/text/cf/StringImplCF.cpp: Renamed from Source/WebCore/platform/text/cf/StringImplCF.cpp.
6206        (garbageCollectionEnabled):
6207        (WTF::StringWrapperCFAllocator::retain):
6208        (WTF::StringWrapperCFAllocator::release):
6209        (WTF::StringWrapperCFAllocator::copyDescription):
6210        (WTF::StringWrapperCFAllocator::allocate):
6211        (WTF::StringWrapperCFAllocator::reallocate):
6212        (WTF::StringWrapperCFAllocator::deallocateOnMainThread):
6213        (WTF::StringWrapperCFAllocator::deallocate):
6214        (WTF::StringWrapperCFAllocator::preferredSize):
6215        (WTF::StringWrapperCFAllocator::create):
6216        (WTF::StringWrapperCFAllocator::allocator):
6217        (WTF::StringImpl::createCFString):
6218        * wtf/text/mac/StringImplMac.mm: Renamed from Source/WebCore/platform/text/mac/StringImplMac.mm.
6219        (WTF::StringImpl::operator NSString *):
6220        * wtf/text/mac/StringMac.mm: Renamed from Source/WebCore/platform/text/mac/StringMac.mm.
6221        (WTF::String::String):
6222
62232013-11-01  Emilio Pozuelo Monfort  <pochu27@gmail.com>
6224
6225        HPPA build fixes
6226        https://bugs.webkit.org/show_bug.cgi?id=123625
6227
6228        Original patch from John David Anglin <dave.anglin@bell.net>
6229
6230        Reviewed by Darin Adler.
6231
6232        * wtf/Platform.h:
6233        * wtf/dtoa/utils.h:
6234
62352013-11-01  Patrick Gansterer  <paroga@webkit.org>
6236
6237        Buildfix for !USE(ICU_UNICODE) after 156968.
6238
6239        * wtf/unicode/CollatorDefault.cpp:
6240        (WTF::Collator::userDefault):
6241
62422013-10-30  Oliver Hunt  <oliver@apple.com>
6243
6244        Implement basic ES6 Math functions
6245        https://bugs.webkit.org/show_bug.cgi?id=123536
6246
6247        Reviewed by Michael Saboff.
6248
6249        Add basic implementations of necessary methods to MathExtras to
6250        deal with MSVC not supplying them
6251
6252        * wtf/MathExtras.h:
6253        (asinh):
6254        (acosh):
6255        (atanh):
6256        (expm1):
6257        (log1p):
6258        (cbrt):
6259
62602013-10-30  Commit Queue  <commit-queue@webkit.org>
6261
6262        Unreviewed, rolling out r158299.
6263        http://trac.webkit.org/changeset/158299
6264        https://bugs.webkit.org/show_bug.cgi?id=123558
6265
6266        caused assertion failures in fast/canvas/canvas-color-
6267        serialization.html and fast/forms/input-text-paste-
6268        maxlength.html (Requested by rniwa on #webkit).
6269
6270        * wtf/text/StringStatics.cpp:
6271        (WTF::StringImpl::empty):
6272
62732013-10-30  Ryosuke Niwa  <rniwa@webkit.org>
6274
6275        Remove code for Mac Lion
6276        https://bugs.webkit.org/show_bug.cgi?id=123542
6277
6278        Reviewed by Anders Carlsson.
6279
6280        * wtf/Platform.h:
6281
62822013-10-30  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
6283
6284        Remove PCRE workaround.
6285        https://bugs.webkit.org/show_bug.cgi?id=123265
6286
6287        Reviewed by Brent Fulgham.
6288
6289        * wtf/text/StringStatics.cpp:
6290        (WTF::StringImpl::empty):
6291
62922013-10-30  peavo@outlook.com  <peavo@outlook.com>
6293
6294        [Win] Compile errors when enabling DFG JIT.
6295        https://bugs.webkit.org/show_bug.cgi?id=120998
6296
6297        Reviewed by Brent Fulgham.
6298
6299        * wtf/CompilationThread.cpp: Use new ThreadingOnce class instead of pthread_once.
6300        (WTF::initializeCompilationThreads):
6301        * wtf/ThreadingOnce.h: Added ThreadingOnce class encapsulating pthread_once functionality.
6302        (WTF::ThreadingOnce::ThreadingOnce):
6303        (WTF::ThreadingOnce::~ThreadingOnce):
6304        (WTF::ThreadingOnce::callOnce):
6305        * wtf/text/CString.h: Export needed symbols.
6306
63072013-10-30  Alex Christensen  <achristensen@webkit.org>
6308
6309        Disabled JIT on Win64.
6310        https://bugs.webkit.org/show_bug.cgi?id=122472
6311
6312        Reviewed by Geoffrey Garen.
6313
6314        * wtf/Platform.h:
6315        Disabled JIT on Win64.
6316
63172013-10-29  Andreas Kling  <akling@apple.com>
6318
6319        StringImpl::isolatedCopy() should return PassRef.
6320        <https://webkit.org/b/123484>
6321
6322        Make isolatedCopy() return a PassRef<StringImpl>.
6323
6324        Reviewed by Anders Carlsson.
6325
63262013-10-29  Jer Noble  <jer.noble@apple.com>
6327
6328        [MSE] [Mac] Enable MediaSource on the Mac
6329        https://bugs.webkit.org/show_bug.cgi?id=122484
6330
6331        Reviewed by Darin Adler.
6332
6333        Enable ENABLE_MEDIA_SOURCE.
6334
6335        * wtf/FeatureDefines.h:
6336        * wtf/Platform.h: Force a clean build.
6337
63382013-10-29  Andreas Kling  <akling@apple.com>
6339
6340        StringImpl::adopt() should return PassRef.
6341        <https://webkit.org/b/123456>
6342
6343        Make the StringImpl::adopt() functions return a PassRef<StringImpl>.
6344
6345        Reviewed by Anders Carlsson.
6346
63472013-10-29  Jinwoo Song  <jinwoo7.song@samsung.com>
6348
6349        Re-enable simple line layout for EFL
6350        https://bugs.webkit.org/show_bug.cgi?id=123402
6351
6352        Reviewed by Antti Koivisto.
6353
6354        * wtf/FeatureDefines.h: Enable 8-bit TextRun support for EFL port.
6355
63562013-10-28  Anders Carlsson  <andersca@apple.com>
6357
6358        RunLoop::dispatch should take an std::function
6359        https://bugs.webkit.org/show_bug.cgi?id=123407
6360
6361        Reviewed by Andreas Kling.
6362
6363        * wtf/FunctionDispatcher.h:
6364
63652013-10-28  Andreas Kling  <akling@apple.com>
6366
6367        RenderElement::m_style should be a Ref.
6368        <https://webkit.org/b/123401>
6369
6370        Added a Ref::replace() so we can Indiana Jones the new style in
6371        RenderElement::setStyle() while keeping a handle on the old style
6372        for a while longer.
6373
6374        Reviewed by Antti Koivisto.
6375
63762013-10-28  Carlos Garcia Campos  <cgarcia@igalia.com>
6377
6378        Unreviewed. Fix make distcheck.
6379
6380        * GNUmakefile.list.am: Remove unexistent file from compilation.
6381
63822013-10-28  Bastien Nocera <hadess@hadess.net>
6383
6384        Replace 0 timeouts g_timeout_add() by g_idle_add()
6385        https://bugs.webkit.org/show_bug.cgi?id=123260
6386
6387        Reviewed by Carlos Garcia Campos.
6388
6389        A zero timeout should be equivalent to using g_idle_add_full(G_PRIORITY_DEFAULT, ...)
6390        without the nagging feeling that the wrong API was used.
6391
6392        * wtf/gtk/MainThreadGtk.cpp: Use g_idle_add() instead
6393        of 0-timer.
6394        (WTF::scheduleDispatchFunctionsOnMainThread):
6395
63962013-10-28  Zan Dobersek  <zdobersek@igalia.com>
6397
6398        Re-enable simple line layout for GTK
6399        https://bugs.webkit.org/show_bug.cgi?id=123388
6400
6401        Reviewed by Andreas Kling.
6402
6403        * wtf/FeatureDefines.h: Enable the 8-bit TextRun support for the GTK port.
6404
64052013-10-25  Joseph Pecoraro  <pecoraro@apple.com>
6406
6407        Upstream ENABLE(REMOTE_INSPECTOR) and enable on iOS and Mac
6408        https://bugs.webkit.org/show_bug.cgi?id=123111
6409
6410        Reviewed by Timothy Hatcher.
6411
6412        * wtf/FeatureDefines.h:
6413
64142013-10-25  Jer Noble  <jer.noble@apple.com>
6415
6416        [WTF] Add a multiplication operator (and a few others) to MediaTime
6417        https://bugs.webkit.org/show_bug.cgi?id=123137
6418
6419        Reviewed by Eric Carlson.
6420
6421        Add a multiplication operator and an inequality operator to the
6422        MediaTime class for use by MSE.
6423
6424        * wtf/MediaTime.cpp:
6425        (WTF::signum): Moved to top of file.
6426        (WTF::MediaTime::operator*): Added.
6427        (WTF::MediaTime::operator!=): Added.
6428        * wtf/MediaTime.h:
6429        (WTF::operator*): Added non-class version of operator*.
6430
64312013-10-24  Jer Noble  <jer.noble@apple.com>
6432
6433        [Mac] Add helper methods to convert CMTime <--> MediaTime
6434        https://bugs.webkit.org/show_bug.cgi?id=123285
6435
6436        Reviewed by Eric Carlson.
6437
6438        Add a #ifdef header_h protector.
6439
6440        * wtf/MediaTime.h:
6441
64422013-10-24  Mark Rowe  <mrowe@apple.com>
6443
6444        Remove references to OS X 10.7 from Xcode configuration settings.
6445
6446        Now that we're not building for OS X 10.7 they're no longer needed.
6447
6448        Reviewed by Anders Carlsson.
6449
6450        * Configurations/Base.xcconfig:
6451        * Configurations/DebugRelease.xcconfig:
6452
64532013-10-24  Mark Rowe  <mrowe@apple.com>
6454
6455        <rdar://problem/15312643> Prepare for the mysterious future.
6456
6457        Reviewed by David Kilzer.
6458
6459        * Configurations/Base.xcconfig:
6460        * Configurations/DebugRelease.xcconfig:
6461
64622013-10-24  Commit Queue  <commit-queue@webkit.org>
6463
6464        Unreviewed, rolling out r157931.
6465        http://trac.webkit.org/changeset/157931
6466        https://bugs.webkit.org/show_bug.cgi?id=123284
6467
6468        Seems to have caused a lot of assertions on debug bots
6469        (Requested by ap on #webkit).
6470
6471        * wtf/text/StringStatics.cpp:
6472        (WTF::StringImpl::empty):
6473
64742013-10-24  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
6475
6476        Remove PCRE workaround.
6477        https://bugs.webkit.org/show_bug.cgi?id=123265
6478
6479        Reviewed by Darin Adler.
6480
6481        * wtf/text/StringStatics.cpp:
6482        (WTF::StringImpl::empty):
6483
64842013-10-24  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
6485
6486        Remove Clang workaround.
6487        https://bugs.webkit.org/show_bug.cgi?id=123262
6488
6489        Reviewed by Anders Carlsson.
6490
6491        * wtf/CheckedArithmetic.h:
6492        (WTF::Checked::Checked):
6493
64942013-10-24  Ryuan Choi  <ryuan.choi@samsung.com>
6495
6496        [EFL] Build break with latest EFL 1.8 libraries.
6497        https://bugs.webkit.org/show_bug.cgi?id=123245
6498
6499        Reviewed by Gyuyoung Kim.
6500
6501        After fixed build break on EFL 1.8 at r138326, EFL libraries are changed
6502        Eo typedef and splitted header files which contain version macro.
6503
6504        * wtf/OwnPtrCommon.h: Changed Eo typedef.
6505        * wtf/efl/RefPtrEfl.h: Ditto.
6506
65072013-10-24  Carlos Garcia Campos  <cgarcia@igalia.com>
6508
6509        [GObject bindings] Make EventTarget interface introspectable
6510        https://bugs.webkit.org/show_bug.cgi?id=77835
6511
6512        Reviewed by Gustavo Noronha Silva.
6513
6514        Add support for use GRefPtr with GClosure.
6515
6516        * wtf/gobject/GRefPtr.cpp:
6517        (WTF::refGPtr):
6518        (WTF::derefGPtr):
6519        * wtf/gobject/GRefPtr.h:
6520        * wtf/gobject/GTypedefs.h:
6521
65222013-10-23  Anders Carlsson  <andersca@apple.com>
6523
6524        Remove USE(LOCKFREE_THREADSAFEREFCOUNTED)
6525        https://bugs.webkit.org/show_bug.cgi?id=123228
6526
6527        Reviewed by Geoffrey Garen.
6528
6529        All ports support USE(LOCKFREE_THREADSAFEREFCOUNTED) now and taking a lock on every ref/deref seems bad.
6530
6531        * wtf/Atomics.h:
6532        * wtf/ThreadSafeRefCounted.h:
6533        (WTF::ThreadSafeRefCountedBase::ref):
6534        (WTF::ThreadSafeRefCountedBase::refCount):
6535        (WTF::ThreadSafeRefCountedBase::derefBase):
6536
65372013-10-23  Anders Carlsson  <andersca@apple.com>
6538
6539        Remove HAVE_XPC
6540        https://bugs.webkit.org/show_bug.cgi?id=123226
6541
6542        Reviewed by Dan Bernstein.
6543
6544        HAVE_XPC has been true on Mac since Lion, so remove it.
6545
6546        * wtf/Platform.h:
6547
65482013-10-23  Andreas Kling  <akling@apple.com>
6549
6550        Make more StringImpl construction functions return PassRef.
6551        <https://webkit.org/b/123203>
6552
6553        Knock out a couple more of the StringImpl construction helpers that
6554        always return a non-null StringImpl.
6555
6556        Reviewed by Antti Koivisto.
6557
65582013-10-22  Filip Pizlo  <fpizlo@apple.com>
6559
6560        FTL should be able to do some simple inline caches using LLVM patchpoints
6561        https://bugs.webkit.org/show_bug.cgi?id=123164
6562
6563        Reviewed by Mark Hahnenberg.
6564        
6565        This needed some better bitvector support, like merging (|=), excluding (&=~),
6566        hashing, and bit counting.
6567
6568        * wtf/BitVector.cpp:
6569        (WTF::BitVector::setSlow):
6570        (WTF::BitVector::excludeSlow):
6571        (WTF::BitVector::bitCountSlow):
6572        (WTF::BitVector::equalsSlowCase):
6573        (WTF::BitVector::hashSlowCase):
6574        (WTF::BitVector::dump):
6575        * wtf/BitVector.h:
6576        (WTF::BitVector::merge):
6577        (WTF::BitVector::exclude):
6578        (WTF::BitVector::bitCount):
6579        (WTF::BitVector::BitVector):
6580        (WTF::BitVector::isEmptyValue):
6581        (WTF::BitVector::isDeletedValue):
6582        (WTF::BitVector::isEmptyOrDeletedValue):
6583        (WTF::BitVector::operator==):
6584        (WTF::BitVector::hash):
6585        (WTF::BitVectorHash::hash):
6586        (WTF::BitVectorHash::equal):
6587        * wtf/HashTraits.h:
6588        (WTF::CustomHashTraits::constructDeletedValue):
6589        (WTF::CustomHashTraits::isDeletedValue):
6590        (WTF::CustomHashTraits::emptyValue):
6591        (WTF::CustomHashTraits::isEmptyValue):
6592        * wtf/StdLibExtras.h:
6593        (WTF::bitCount):
6594
65952013-10-23  Allan Sandfeld Jensen  <allan.jensen@digia.com>
6596
6597        Clean-up in Atomics.h
6598        https://bugs.webkit.org/show_bug.cgi?id=123207
6599
6600        Reviewed by Anders Carlsson.
6601
6602        Atomics.h has two confusing and bit-rotted ifdefs with comments.
6603
6604        The first about CPU(SPARC64) was rendered obsolete when we switched
6605        from __exchange_and_add to __sync_add_and_fetch.
6606
6607        The second was caused by a wrong definition that apparently only
6608        caused trouble on GCC.
6609
6610        * wtf/Atomics.h:
6611
66122013-10-22  Andreas Kling  <akling@apple.com>
6613
6614        StringImpl::lower() should return a PassRef.
6615        <https://webkit.org/b/123190>
6616
6617        Test the waters and hack enough of StringImpl to be able to return
6618        a PassRef<StringImpl> from lower().
6619
6620        Also gave String a constructor that takes a PassRef<StringImpl>.
6621
6622        Reviewed by Antti Koivisto.
6623
66242013-10-22  Commit Queue  <commit-queue@webkit.org>
6625
6626        Unreviewed, rolling out r157835.
6627        http://trac.webkit.org/changeset/157835
6628        https://bugs.webkit.org/show_bug.cgi?id=123192
6629
6630        broke 32-bit builds (Requested by smfr on #webkit).
6631
6632        * wtf/MediaTime.cpp:
6633        (WTF::signum):
6634        * wtf/MediaTime.h:
6635
66362013-10-22  Jer Noble  <jer.noble@apple.com>
6637
6638        [WTF] Add a multiplication operator (and a few others) to MediaTime
6639        https://bugs.webkit.org/show_bug.cgi?id=123137
6640
6641        Reviewed by Eric Carlson.
6642
6643        Add a multiplication operator and an inequality operator to the
6644        MediaTime class for use by MSE.
6645
6646        * wtf/MediaTime.cpp:
6647        (WTF::signum): Moved to top of file.
6648        (WTF::MediaTime::operator*): Added.
6649        (WTF::MediaTime::operator!=): Added.
6650        * wtf/MediaTime.h:
6651        (WTF::operator*): Added non-class version of operator*.
6652
66532013-10-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
6654
6655        Make TYPE_CASTS_BASE more flexible
6656        https://bugs.webkit.org/show_bug.cgi?id=122951
6657
6658        Reviewed by Andreas Kling.
6659
6660        TYPE_CASTS_BASE is being used by node|element type casts. However, it is difficult
6661        to be used by other type casts. For instance, CSSValue, Accessibility and so on.
6662        This patch modifies TYPE_CASTS_BASE which can support other type casts.
6663
6664        Besides TYPE_CASTS_BASE body is moved from node.h to Assertions.h.
6665
6666        * wtf/Assertions.h:
6667
66682013-10-20  Filip Pizlo  <fpizlo@apple.com>
6669
6670        StructureStubInfo's usedRegisters set should be able to track all registers, not just the ones that our JIT's view as temporaries
6671        https://bugs.webkit.org/show_bug.cgi?id=123076
6672
6673        Reviewed by Sam Weinig.
6674        
6675        Teach BitVector how to efficiently merge (i.e. bitvector |=).
6676
6677        * wtf/BitVector.cpp:
6678        (WTF::BitVector::mergeSlow):
6679        * wtf/BitVector.h:
6680        (WTF::BitVector::merge):
6681        (WTF::BitVector::cleanseInlineBits):
6682
66832013-10-19  Jer Noble  <jer.noble@apple.com>
6684
6685        Unreviewed roll out of r157695; broke Mac builds.
6686
6687        * wtf/FeatureDefines.h:
6688
66892013-10-07  Jer Noble  <jer.noble@apple.com>
6690
6691        [MSE] [Mac] Enable MediaSource on the Mac
6692        https://bugs.webkit.org/show_bug.cgi?id=122484
6693
6694        Reviewed by Darin Adler.
6695
6696        Enable ENABLE_MEDIA_SOURCE.
6697
6698        * wtf/FeatureDefines.h:
6699
67002013-10-19  Andreas Kling  <akling@apple.com>
6701
6702        RefPtr::releaseNonNull() incorrectly increments the refcount.
6703        <https://webkit.org/b/123063>
6704
6705        Make releaseNonNull() use adoptRef(T&), mirroring release().
6706
6707        Reviewed by Anders Carlsson.
6708
67092013-10-18  Andreas Kling  <akling@apple.com>
6710
6711        Start passing RenderStyle around with PassRef.
6712        <https://webkit.org/b/123051>
6713
6714        Added some new PassRef tricks to make this patch possible.
6715
6716        Reviewed by Darin Adler.
6717
6718        * wtf/PassRef.h:
6719        (WTF::PassRef::get):
6720
6721            Added a get() helper to facilitate writing functions that
6722            construct a new object and call some functions on it before
6723            returning it.
6724
6725        (WTF::PassRef::dropRef):
6726
6727            This will deref() the referenced object and mark the PassRef
6728            as "passed." This is used in code paths where the PassRef is
6729            going to go out of scope with nobody to take it over.
6730
6731        (WTF::PassRef::leakRef):
6732
6733            Renamed takeReference() to leakRef() and made it public so
6734            we don't have to awkwardly sink the PassRef into a Ref for
6735            e.g static locals.
6736
6737        * wtf/RefPtr.h:
6738        (WTF::RefPtr::releaseNonNull):
6739
6740            Added RefPtr::releaseNonNull() for a convenient way of creating
6741            a PassRef<T> from a RefPtr<T>. This function may only be called
6742            if the RefPtr is known to be non-null.
6743
67442013-10-18  Filip Pizlo  <fpizlo@apple.com>
6745
6746        A CodeBlock's StructureStubInfos shouldn't be in a Vector that we search using code origins and machine code PCs
6747        https://bugs.webkit.org/show_bug.cgi?id=122940
6748
6749        Reviewed by Oliver Hunt.
6750
6751        * GNUmakefile.list.am:
6752        * WTF.vcxproj/WTF.vcxproj:
6753        * WTF.xcodeproj/project.pbxproj:
6754        * wtf/BagToHashMap.h: Added.
6755        (WTF::toHashMap):
6756        * wtf/CMakeLists.txt:
6757
67582013-10-18  Anders Carlsson  <andersca@apple.com>
6759
6760        Remove spaces between template angle brackets
6761        https://bugs.webkit.org/show_bug.cgi?id=123040
6762
6763        Reviewed by Andreas Kling.
6764
6765        * wtf/AVLTree.h:
6766        * wtf/CheckedArithmetic.h:
6767        * wtf/Compression.h:
6768        * wtf/Functional.h:
6769        (WTF::R):
6770        * wtf/HashFunctions.h:
6771        * wtf/HashIterators.h:
6772        * wtf/HashSet.h:
6773        (WTF::::contains):
6774        * wtf/ListHashSet.h:
6775        (WTF::::contains):
6776        * wtf/RefCountedLeakCounter.cpp:
6777        * wtf/RetainPtr.h:
6778        * wtf/SentinelLinkedList.h:
6779        (WTF::::remove):
6780        * wtf/SizeLimits.cpp:
6781        * wtf/StreamBuffer.h:
6782        * wtf/Vector.h:
6783        * wtf/VectorTraits.h:
6784        * wtf/WeakPtr.h:
6785        (WTF::WeakReference::create):
6786        (WTF::WeakReference::createUnbound):
6787        (WTF::WeakPtr::WeakPtr):
6788        (WTF::WeakPtrFactory::WeakPtrFactory):
6789        * wtf/text/AtomicString.cpp:
6790        (WTF::AtomicString::add):
6791        (WTF::findString):
6792        * wtf/text/StringConcatenate.h:
6793        * wtf/text/StringImpl.h:
6794        * wtf/text/StringOperators.h:
6795        (WTF::operator+):
6796
67972013-10-18  Brendan Long  <b.long@cablelabs.com>
6798
6799        [GStreamer][GTK] Add GRefPtr::outPtr()
6800        https://bugs.webkit.org/show_bug.cgi?id=122996
6801
6802        Reviewed by Philippe Normand.
6803
6804        * wtf/gobject/GRefPtr.h:
6805        (WTF::GRefPtr::outPtr): Added.
6806
68072013-10-17  Geoffrey Garen  <ggaren@apple.com>
6808
6809        Tidied up the Vector<T> move constructor
6810        https://bugs.webkit.org/show_bug.cgi?id=122998
6811
6812        Reviewed by Anders Carlsson.
6813
6814        * wtf/Vector.h:
6815        (WTF::::Vector): Don't call swap() "weird". It's the way most std types
6816        implement move constructors.
6817
6818        Do inline this function, so the compiler can optimize away a logical
6819        move into a physical no-op.
6820
68212013-10-16  Filip Pizlo  <fpizlo@apple.com>
6822
6823        Introduce WTF::Bag and start using it for InlineCallFrameSet
6824        https://bugs.webkit.org/show_bug.cgi?id=122941
6825
6826        Reviewed by Geoffrey Garen.
6827        
6828        Introduce WTF::Bag, which is basically an allocation pool. No POD restrictions. Does one
6829        malloc per entry. No need to shrink afterwards.
6830
6831        * GNUmakefile.list.am:
6832        * WTF.vcxproj/WTF.vcxproj:
6833        * WTF.xcodeproj/project.pbxproj:
6834        * wtf/Bag.h: Added.
6835        (WTF::Bag::Bag):
6836        (WTF::Bag::~Bag):
6837        (WTF::Bag::add):
6838        (WTF::Bag::iterator::iterator):
6839        (WTF::Bag::iterator::operator!):
6840        (WTF::Bag::iterator::operator*):
6841        (WTF::Bag::iterator::operator++):
6842        (WTF::Bag::iterator::operator==):
6843        (WTF::Bag::begin):
6844        (WTF::Bag::end):
6845        (WTF::Bag::isEmpty):
6846        * wtf/CMakeLists.txt:
6847
68482013-10-17  Andreas Kling  <akling@apple.com>
6849
6850        Make it possible to assign a PassRef to a RefPtr.
6851        <https://webkit.org/b/122943>
6852
6853        We have to use std::move when constructing a RefPtr from a PassRef
6854        since there is no copy constructor for the latter.
6855
6856        Reviewed by Antti Koivisto.
6857
68582013-10-16  Ryuan Choi  <ryuan.choi@samsung.com>
6859
6860        Unreviewed build fix attempt on EFL port after r157520 and r157523
6861
6862        * wtf/PassRef.h: includes <utility>
6863
68642013-10-16  Darin Adler  <darin@apple.com>
6865
6866        Add PassRef and createRefCounted so we can improve creation of RefCounted objects
6867        https://bugs.webkit.org/show_bug.cgi?id=122904
6868
6869        Reviewed by Anders Carlsson.
6870
6871        * GNUmakefile.list.am: Added PassRef.h.
6872        * WTF.vcxproj/WTF.vcxproj: Ditto.
6873        * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
6874        * WTF.xcodeproj/project.pbxproj: Ditto.
6875        * wtf/CMakeLists.txt: Ditto.
6876
6877        * wtf/Forward.h: Added PassRef. Also re-sorted and un-indented to match what
6878        the style-checking script expects.
6879
6880        * wtf/PassRef.h: Added. Includes the createRefCounted function template, which
6881        is analogous to make_unique, but is for reference counted objects, and also
6882        assumes that new will never return null. Also includes an overload of adoptRef
6883        that takes a reference rather than a pointer.
6884
6885        * wtf/PassRefPtr.h: Include "PassRef.h" so we can share the adopted function.
6886        Got rid of declarations that duplicate ones in there.
6887        (WTF::refIfNotNull): Use nullptr.
6888        (WTF::derefIfNotNull): Use nullptr.
6889        (WTF::PassRefPtr::PassRefPtr): Use nullptr. Added an overload that takes a PassRef.
6890        (WTF::PassRefPtr::operator UnspecifiedBoolType): Use nullptr.
6891        (WTF::PassRefPtr::operator=): Made this deleted instead of compile time assertion.
6892        (WTF::PassRefPtr::PassRefPtr): Made adopting constructor use an adopt tag instead
6893        of an unused boolean.
6894        (WTF::PassRefPtr::leakRef): Use nullptr.
6895        (WTF::adoptRef): Use the adopt tag.
6896
6897        * wtf/Ref.h: Use Noncopyable instead of rolling our own.
6898        (WTF::Ref::Ref): Add an overload that takes a PassRef.
6899        (WTF::Ref::operator=): Ditto.
6900
6901        * wtf/RefPtr.h: Removed unneeded forward declaration of PassRefPtr.
6902        (WTF::RefPtr::RefPtr): Use nullptr. Added overload that takes a PassRef.
6903        (WTF::RefPtr::release): Use nullptr.
6904        (WTF::RefPtr::operator UnspecifiedBoolType): Use nullptr.
6905        (WTF::RefPtr::operator=): Added overload that takes a PassRef.
6906        (WTF::RefPtr::clear): Use nullptr.
6907
6908        * wtf/StdLibExtras.h: Added inline keyword to isPointerTypeAlignmentOkay,
6909        reinterpret_cast_ptr, and make_unique. Seems like a simple oversight that these
6910        were missing before.
6911
69122013-10-15  Dean Jackson  <dino@apple.com>
6913
6914        Add ENABLE_WEB_ANIMATIONS flag
6915        https://bugs.webkit.org/show_bug.cgi?id=122871
6916
6917        Reviewed by Tim Horton.
6918
6919        Eventually might be http://dev.w3.org/fxtf/web-animations/
6920        but this is just engine-internal work at the moment.
6921
6922        * wtf/FeatureDefines.h:
6923
69242013-10-15  Daniel Bates  <dabates@apple.com>
6925
6926        [iOS] Upstream JavaScriptCore support for ARM64
6927        https://bugs.webkit.org/show_bug.cgi?id=122762
6928
6929        Reviewed by Oliver Hunt.
6930
6931        * Configurations/Base.xcconfig:
6932        * wtf/Atomics.h:
6933        (WTF::weakCompareAndSwap):
6934        (WTF::armV7_dmb):
6935        * wtf/FastMalloc.cpp:
6936        * wtf/Platform.h:
6937        * wtf/dtoa.cpp:
6938        * wtf/dtoa/utils.h:
6939        * wtf/text/ASCIIFastPath.h:
6940        (WTF::copyLCharsFromUCharSource):
6941        * wtf/text/StringImpl.h:
6942
69432013-10-14  Zan Dobersek  <zdobersek@igalia.com>
6944
6945        Static assertions in WTF::adoptPtr should point to using adoptRef for ref-counted objects
6946        https://bugs.webkit.org/show_bug.cgi?id=122745
6947
6948        Reviewed by Anders Carlsson.
6949
6950        * wtf/PassOwnPtr.h:
6951        (WTF::adoptPtr): When the object's type is convertible to the RefCountedBase or ThreadSafeRefCountedBase type,
6952        the static assertion should note that adoptRef should be used instead.
6953
69542013-10-14  Anders Carlsson  <andersca@apple.com>
6955
6956        WebKit Nightlies broken by r157374
6957        https://bugs.webkit.org/show_bug.cgi?id=122736
6958
6959        Reviewed by Andreas Kling.
6960
6961        Add back a callOnMainThread overload that Safari is using.
6962
6963        * wtf/MainThread.cpp:
6964        (WTF::callOnMainThread):
6965        * wtf/MainThread.h:
6966
69672013-10-13  Darin Adler  <darin@apple.com>
6968
6969        Deprecate or remove deleteAllValues functions; there are only a few call sites left
6970        https://bugs.webkit.org/show_bug.cgi?id=122738
6971
6972        Reviewed by Anders Carlsson.
6973
6974        * wtf/Deque.h: Deleted deleteAllValues.
6975        * wtf/HashMap.h: Ditto.
6976        * wtf/HashSet.h: Ditto.
6977        * wtf/ListHashSet.h: Ditto.
6978        * wtf/Vector.h: Renamed deleteAllValues to deprecatedDeleteAllValues.
6979
6980== Rolled over to ChangeLog-2013-10-13 ==
6981