[EFL] Drop support for the EFL 1.7
[WebKit-https.git] / Source / WTF / ChangeLog
1 2014-11-30  Ryuan Choi  <ryuan.choi@navercorp.com>
2
3         [EFL] Drop support for the EFL 1.7
4         https://bugs.webkit.org/show_bug.cgi?id=139114
5
6         Reviewed by Gyuyoung Kim.
7
8         * wtf/efl/EflTypedefs.h: Removed old definitions which EFL 1.7 used.
9
10 2014-11-21  Anders Carlsson  <andersca@apple.com>
11
12         Remove the Timer parameters from timer callbacks
13         https://bugs.webkit.org/show_bug.cgi?id=138974
14
15         Reviewed by Antti Koivisto.
16
17         * wtf/RunLoopTimer.h:
18         (WTF::RunLoopTimer::RunLoopTimer):
19         (WTF::RunLoopTimer::fired):
20
21 2014-11-18  Chris Dumez  <cdumez@apple.com>
22
23         Have Vector::capacity() return an unsigned instead of a size_t
24         https://bugs.webkit.org/show_bug.cgi?id=138842
25
26         Reviewed by Andreas Kling.
27
28         Have Vector::capacity() return an unsigned instead of a size_t as
29         capacity is stored as an unsigned internally.
30
31         * wtf/Vector.h:
32         (WTF::Vector::capacity):
33         (WTF::OverflowHandler>::expandCapacity):
34         (WTF::OverflowHandler>::tryExpandCapacity):
35
36 2014-11-18  Geoffrey Garen  <ggaren@apple.com>
37
38         Removed the custom allocator for ListHashSet nodes
39         https://bugs.webkit.org/show_bug.cgi?id=138841
40
41         Reviewed by Andreas Kling.
42
43         bmalloc is fast, so we don't need a custom allocator.
44
45         The MallocBench test for linked list node allocation (list_allocate) is
46         4.09X faster in bmalloc than TCMalloc. Also, I wrote a stress test to
47         add/remove link elements, which modify a ListHashSet on insertion and
48         removal, and it was 1% faster / in the noise with bmalloc enabled.
49
50         * wtf/ListHashSet.h:
51         (WTF::ListHashSetNode::ListHashSetNode):
52         (WTF::ListHashSetTranslator::translate):
53         (WTF::U>::ListHashSet):
54         (WTF::=):
55         (WTF::U>::swap):
56         (WTF::U>::~ListHashSet):
57         (WTF::U>::size):
58         (WTF::U>::capacity):
59         (WTF::U>::isEmpty):
60         (WTF::U>::first):
61         (WTF::U>::removeFirst):
62         (WTF::U>::takeFirst):
63         (WTF::U>::last):
64         (WTF::U>::removeLast):
65         (WTF::U>::takeLast):
66         (WTF::U>::contains):
67         (WTF::U>::remove):
68         (WTF::U>::clear):
69         (WTF::U>::unlink):
70         (WTF::U>::unlinkAndDelete):
71         (WTF::U>::appendNode):
72         (WTF::U>::prependNode):
73         (WTF::U>::insertNodeBefore):
74         (WTF::U>::deleteAllNodes):
75         (WTF::ListHashSetNodeAllocator::ListHashSetNodeAllocator): Deleted.
76         (WTF::ListHashSetNodeAllocator::allocate): Deleted.
77         (WTF::ListHashSetNodeAllocator::deallocate): Deleted.
78         (WTF::ListHashSetNodeAllocator::pool): Deleted.
79         (WTF::ListHashSetNodeAllocator::pastPool): Deleted.
80         (WTF::ListHashSetNodeAllocator::inPool): Deleted.
81         (WTF::ListHashSetNode::operator new): Deleted.
82         (WTF::ListHashSetNode::destroy): Deleted.
83
84 2014-11-18  Chris Dumez  <cdumez@apple.com>
85
86         Update the Vector API to deal with unsigned types instead of size_t
87         https://bugs.webkit.org/show_bug.cgi?id=138824
88
89         Reviewed by Andreas Kling.
90
91         Update part of the Vector API to deal with unsigned types instead of
92         size_t. The Vector class is already using unsigned type for its
93         capacity and size data members. However, the Vector API was never
94         updated accordingly.
95
96         The rest of the Vector API will be ported in follow-up patches to
97         make the change smaller and more easily reviewable.
98
99         * wtf/Forward.h:
100         * wtf/Vector.h:
101         (WTF::VectorTypeOperations::compare):
102         (WTF::VectorBufferBase::allocateBuffer):
103         (WTF::VectorBufferBase::tryAllocateBuffer):
104         (WTF::VectorBufferBase::shouldReallocateBuffer):
105         (WTF::VectorBufferBase::reallocateBuffer):
106         (WTF::VectorBufferBase::capacity):
107         (WTF::VectorBufferBase::VectorBufferBase):
108         (WTF::VectorBuffer::VectorBuffer):
109         (WTF::VectorBuffer::allocateBuffer):
110         (WTF::VectorBuffer::tryAllocateBuffer):
111         (WTF::VectorBuffer::shouldReallocateBuffer):
112         (WTF::VectorBuffer::reallocateBuffer):
113         (WTF::VectorBuffer::swap):
114         (WTF::VectorBuffer::swapInlineBuffer):
115         (WTF::VectorBuffer::swapInlineBuffers):
116         (WTF::Vector::Vector):
117         (WTF::Vector::at):
118         (WTF::Vector::operator[]):
119         (WTF::OverflowHandler>::find):
120         (WTF::OverflowHandler>::reverseFind):
121         (WTF::OverflowHandler>::fill):
122         (WTF::OverflowHandler>::expandCapacity):
123         (WTF::OverflowHandler>::tryExpandCapacity):
124         (WTF::OverflowHandler>::resize):
125         (WTF::OverflowHandler>::resizeToFit):
126         (WTF::OverflowHandler>::shrink):
127         (WTF::OverflowHandler>::grow):
128         (WTF::OverflowHandler>::reserveCapacity):
129         (WTF::OverflowHandler>::tryReserveCapacity):
130         (WTF::OverflowHandler>::reserveInitialCapacity):
131         (WTF::OverflowHandler>::shrinkCapacity):
132         (WTF::OverflowHandler>::append):
133         (WTF::OverflowHandler>::tryAppend):
134         (WTF::OverflowHandler>::insert):
135         (WTF::OverflowHandler>::insertVector):
136         (WTF::OverflowHandler>::remove):
137         (WTF::OverflowHandler>::reverse):
138         (WTF::OverflowHandler>::checkConsistency):
139         * wtf/text/AtomicString.h:
140         * wtf/text/StringImpl.h:
141         (WTF::StringImpl::adopt):
142         (WTF::equalIgnoringNullity):
143         * wtf/text/StringView.h:
144         (WTF::append):
145         * wtf/text/WTFString.h:
146
147 2014-11-18  peavo@outlook.com  <peavo@outlook.com>
148
149         [WinCairo] Compile errors when GStreamer is enabled.
150         https://bugs.webkit.org/show_bug.cgi?id=137000
151
152         Reviewed by Philippe Normand.
153
154         MSVC does not allow the keyword default on move constructors and move assignment operators.
155
156         * wtf/gobject/GMainLoopSource.cpp:
157         (WTF::GMainLoopSource::cancel):
158         (WTF::GMainLoopSource::socketCallback):
159         * wtf/gobject/GMainLoopSource.h:
160         (WTF::GMainLoopSource::Context::operator=):
161
162 2014-11-17  Anders Carlsson  <andersca@apple.com>
163
164         Fix WTF build with newer versions of clang.
165         <rdar://problem/18978705>
166
167         * wtf/HashTable.h:
168         (WTF::removeIterator):
169         * wtf/dtoa/utils.h:
170         (WTF::double_conversion::BitCast):
171
172 2014-11-13  Myles C. Maxfield  <mmaxfield@apple.com>
173
174         Allow constructing a base PassRef with a derived Ref
175         https://bugs.webkit.org/show_bug.cgi?id=138701
176
177         Reviewed by Andreas Kling
178
179         * wtf/PassRef.h:
180         (WTF::PassRef<T>::PassRef):
181
182 2014-11-12  Ryuan Choi  <ryuan.choi@navercorp.com>
183
184         [EFL] Fix the build with EFL 1.12
185         https://bugs.webkit.org/show_bug.cgi?id=138245
186
187         Reviewed by Gyuyoung Kim.
188
189         * wtf/efl/UniquePtrEfl.h:
190         Removed Evas_GL.h from UniquePtrEfl.h, which is commonly included, because
191         it should not be included with official GL headers.
192
193 2014-11-12  Mark Lam  <mark.lam@apple.com>
194
195         Rename USE(MASM_PROBE) to ENABLE(MASM_PROBE).
196         <https://webkit.org/b/138661>
197
198         Reviewed by Michael Saboff.
199
200         Also move the switch for enabling the use of MASM_PROBE from JavaScriptCore's
201         config.h to WTF's Platform.h.  This ensures that the setting is consistently
202         applied even when building WebCore parts as well.
203
204         * wtf/Platform.h:
205
206 2014-11-09  Antti Koivisto  <antti@apple.com>
207
208         Remove BloomFilter size limit
209         https://bugs.webkit.org/show_bug.cgi?id=138549
210
211         Reviewed by Andreas Kling.
212
213         * wtf/BloomFilter.h: Remove the static_assert, the code works fine with somewhat larger sizes.
214
215 2014-11-09  Chris Dumez  <cdumez@apple.com>
216
217         Add a more correct way to compare floating point numbers and use it
218         https://bugs.webkit.org/show_bug.cgi?id=138527
219
220         Reviewed by Darin Adler.
221
222         To compare floating point numbers in the code base, we would often rely
223         on the following check:
224         std::abs(a - b) <= std::numeric_limits<T>::epsilon()
225
226         However, this is not correct for arbitrary floating point values, and
227         will fail for values that are not close to zero.
228
229         This patch introduces a WTF::areEssentiallyEqual() templated function
230         that can only be called with floating point types and relies on the
231         following formula from [1][2] that defines u as being "essentially
232         equal" to v if: | u - v | / |u| <= e and | u - v | / |v| <= e
233
234         [1] Knuth, D. E. "Accuracy of Floating Point Arithmetic." The Art of
235             Computer Programming. 3rd ed. Vol. 2. Boston: Addison-Wesley, 1998.
236             229-45.
237         [2] http://www.boost.org/doc/libs/1_34_0/libs/test/doc/components/test_tools/floating_point_comparison.html
238
239         * wtf/MathExtras.h:
240         (WTF::safeFPDivision):
241         (WTF::areEssentiallyEqual):
242         (WTF::withinEpsilon): Deleted.
243
244 2014-11-08  Darin Adler  <darin@apple.com>
245
246         Replace FileThread class with a single function
247         https://bugs.webkit.org/show_bug.cgi?id=138282
248
249         Reviewed by Alexey Proskuryakov.
250
251         * wtf/MessageQueue.h: Made queue work on any type and not require wrapping
252         everything in a unique_ptr.
253
254         * wtf/Threading.cpp:
255         (WTF::threadEntryPoint): Changed to use a std::function instead of a function pointer.
256         (WTF::createThread): Add a version that takes a std::function. Reimplemented the
257         old version using lambdas. Removed the obsolete versions that were there just to support
258         binary compatibility with very old versions of Safari.
259
260         * wtf/Threading.h: Removed an incorrect license header that covers code that was long ago
261         moved to a different file. Changed createThread to take a std::function instead of a function
262         pointer and data pointer. Moved internal functions after public functions.
263
264 2014-11-05  Chris Dumez  <cdumez@apple.com>
265
266         Assertion hit DOMTimer::updateTimerIntervalIfNecessary()
267         https://bugs.webkit.org/show_bug.cgi?id=138440
268
269         Reviewed by Geoffrey Garen.
270
271         Move the withinEpsilon() function to WTF to avoid code duplication.
272
273         * wtf/MathExtras.h:
274         (WTF::withinEpsilon):
275
276 2014-11-05  Chris Dumez  <cdumez@apple.com>
277
278         Allow constructing a PassRef from a Ref
279         https://bugs.webkit.org/show_bug.cgi?id=138389
280
281         Reviewed by Andreas Kling.
282
283         Allow constructing a PassRef from a Ref, similarly to PassRefPtr that
284         can be constructed from a RefPtr already. This avoids having to call
285         Ref::get() and simplifies the code a bit.
286
287         * wtf/PassRef.h:
288         (WTF::PassRef<T>::PassRef):
289
290 2014-11-05  Dan Bernstein  <mitz@apple.com>
291
292         Remove the unused deletion UI feature
293         https://bugs.webkit.org/show_bug.cgi?id=138442
294
295         Rubber-stamped by Alexey Proskuryakov.
296
297         * wtf/FeatureDefines.h: Removed definition of ENABLE_DELETION_UI.
298
299 2014-11-03  Dean Jackson  <dino@apple.com>
300
301         Add ENABLE_FILTERS_LEVEL_2 feature guard.
302         https://bugs.webkit.org/show_bug.cgi?id=138362
303
304         Reviewed by Tim Horton.
305
306         Add a new feature define for Level 2 of CSS Filters.
307         http://dev.w3.org/fxtf/filters-2/
308
309         * wtf/FeatureDefines.h:
310
311 2014-11-05  Csaba Osztrogonác  <ossy@webkit.org>
312
313         Enable ARMv7 disassembler for all platforms
314         https://bugs.webkit.org/show_bug.cgi?id=138415
315
316         Reviewed by Darin Adler.
317
318         * wtf/Platform.h:
319
320 2014-11-04  Chris Dumez  <cdumez@apple.com>
321
322         Add ptr() method to Ref class
323         https://bugs.webkit.org/show_bug.cgi?id=138361
324
325         Reviewed by Darin Adler.
326
327         It is a very common pattern in our code base to get a pointer from a
328         Ref object. Previously, we have to call Ref.get() and take its address
329         which is not very nice. This patch adds a ptr() method to Ref class
330         to simplify the code a bit.
331
332         * wtf/PassRef.h:
333         (WTF::PassRef<T>::ptr):
334         * wtf/Ref.h:
335         (WTF::Ref::ptr):
336         (WTF::GetPtrHelper<Ref<T>>::getPtr):
337
338 2014-11-04  Dániel Bátyai  <dbatyai.u-szeged@partner.samsung.com>
339
340         ATTR_USED incorrectly applying to Clang
341         https://bugs.webkit.org/show_bug.cgi?id=138313
342
343         Reviewed by Csaba Osztrogonác.
344
345         ATTR_USED was only intended for GCC. Also limit it to ENABLE(FTL_NATIVE_CALL_INLINING)
346         since that's the only thing it's needed for.
347
348         * wtf/Platform.h:
349
350 2014-11-03  Chris Dumez  <cdumez@apple.com>
351
352         Allow implicit conversion from Ref<T> to T&
353         https://bugs.webkit.org/show_bug.cgi?id=138331
354
355         Reviewed by Andreas Kling.
356
357         Allow implicit conversion from Ref<T> to T& to reduce the amount of
358         Ref<>::get() calls in the code and increase readability. Unlike for
359         RefPtr, doing this for Ref should not be error prone.
360
361         * wtf/Ref.h:
362         (WTF::Ref::operator T&):
363         (WTF::Ref::operator const T&):
364         * wtf/RunLoop.cpp:
365         (WTF::RunLoop::Holder::runLoop):
366
367 2014-10-31  Jeffrey Pfau  <jpfau@apple.com>
368
369         Unreviewed, fix ASan build after r175382
370
371         * wtf/SizeLimits.cpp:
372
373 2014-10-31  Geoffrey Garen  <ggaren@apple.com>
374
375         Rolled in r175389.
376
377         WebKit was failing to build 32bit on some Apple internal systems because
378         those systems were configured to build bmalloc 64-bit-only. Those systems
379         have been updated to build bmalloc as a universal binary, so everything
380         should work fine now.
381
382         The relevant setting is controlled by an environment variable on the
383         build system, and not by the project file in the source tree, so there's
384         no new code change here.
385
386                 Enable bmalloc in 32bit builds
387                 https://bugs.webkit.org/show_bug.cgi?id=138232
388
389                 Reviewed by Andreas Kling.
390
391         * wtf/FastMalloc.cpp:
392
393 2014-10-31  Lucas Forschler  <lforschler@apple.com>
394
395         Unreviewed rollout r175389.
396         
397 2014-10-30  Dana Burkart  <dburkart@apple.com>
398
399         <rdar://problem/18821260> Prepare for the mysterious future
400
401         Reviewed by Lucas Forschler.
402
403         * Configurations/Base.xcconfig:
404         * Configurations/DebugRelease.xcconfig:
405
406 2014-10-30  Geoffrey Garen  <ggaren@apple.com>
407
408         Enable bmalloc in 32bit builds
409         https://bugs.webkit.org/show_bug.cgi?id=138232
410
411         Reviewed by Andreas Kling.
412
413         Seems to work fine.
414
415         * wtf/FastMalloc.cpp:
416
417 2014-10-30  Jeffrey Pfau  <jpfau@apple.com>
418
419         ASSERT(!m_deletionHasBegun) in RefCounted.h should be ASSERT_WITH_SECURITY_IMPLICATION
420         https://bugs.webkit.org/show_bug.cgi?id=138141
421
422         Reviewed by Alexey Proskuryakov.
423
424         * wtf/RefCounted.h:
425         (WTF::RefCountedBase::ref):
426         (WTF::RefCountedBase::relaxAdoptionRequirement):
427         (WTF::RefCountedBase::derefBase):
428         (WTF::adopted):
429
430 2014-10-28  Milan Crha  <mcrha@redhat.com>
431
432         Use constants from wtf/MathExtras.h
433         https://bugs.webkit.org/show_bug.cgi?id=137967
434
435         Reviewed by Darin Adler.
436
437         * wtf/MathExtras.h:
438
439 2014-10-28  Tibor Meszaros  <tmeszaros.u-szeged@partner.samsung.com>
440
441         [EFL] Remove unnecessary defines from OptionsEfl.cmake
442         https://bugs.webkit.org/show_bug.cgi?id=138132
443
444         Reviewed by Csaba Osztrogonác.
445
446         * wtf/Platform.h:
447
448 2014-10-27  Chris Dumez  <cdumez@apple.com>
449
450         Use separate HashMaps for common and uncommon headers in HTTPHeaderMap
451         https://bugs.webkit.org/show_bug.cgi?id=138079
452
453         Reviewed by Anders Carlsson.
454
455         Add HashTraits for C++11 strong enum types. Using integer HashTraits for
456         strong enums would be inconvenient as it would require casting between
457         integer and strong enum types.
458
459         * wtf/HashTraits.h:
460         (WTF::StrongEnumHashTraits::emptyValue):
461         (WTF::StrongEnumHashTraits::constructDeletedValue):
462         (WTF::StrongEnumHashTraits::isDeletedValue):
463
464 2014-10-25  Brian J. Burg  <burg@cs.washington.edu>
465
466         Web Inspector: timelines should not count time elapsed while paused in the debugger
467         https://bugs.webkit.org/show_bug.cgi?id=136351
468
469         Unreviewed, follow-up fix after r175203. The debugger agent should not assume
470         that the inspector environment's stopwatch has already been started.
471
472         * wtf/Stopwatch.h:
473         (WTF::Stopwatch::isActive): Added. Allow peeking at the stopwatch state.
474
475 2014-10-18  Brian J. Burg  <burg@cs.washington.edu>
476
477         Web Inspector: timelines should not count time elapsed while paused in the debugger
478         https://bugs.webkit.org/show_bug.cgi?id=136351
479
480         Reviewed by Timothy Hatcher.
481
482         * WTF.vcxproj/WTF.vcxproj:
483         * WTF.vcxproj/WTF.vcxproj.filters:
484         * WTF.xcodeproj/project.pbxproj:
485         * wtf/CMakeLists.txt:
486         * wtf/Stopwatch.h: Added. This implements a refcounted monotonic stopwatch.
487         (WTF::Stopwatch::create):
488         (WTF::Stopwatch::Stopwatch):
489         (WTF::Stopwatch::reset):
490         (WTF::Stopwatch::start):
491         (WTF::Stopwatch::stop):
492         (WTF::Stopwatch::elapsedTime):
493
494 2014-10-23  Joseph Pecoraro  <pecoraro@apple.com>
495
496         Web Inspector: Provide a way to have alternate inspector agents
497         https://bugs.webkit.org/show_bug.cgi?id=137901
498
499         Reviewed by Brian Burg.
500
501         * wtf/FeatureDefines.h:
502
503 2014-10-23  Alberto Garcia  <berto@igalia.com>
504
505         [GTK] Fix build on Hurd
506         https://bugs.webkit.org/show_bug.cgi?id=138003
507
508         Reviewed by Carlos Garcia Campos.
509
510         * wtf/InlineASM.h:
511         * wtf/Platform.h:
512
513 2014-10-22  Byungseon Shin  <sun.shin@lge.com>
514
515         String(new Date(Mar 30 2014 01:00:00)) is wrong in CET
516         https://bugs.webkit.org/show_bug.cgi?id=130967
517
518         Reviewed by Mark Lam.
519
520         By definition of calculateLocalTimeOffset, input time should be UTC time.
521         But there are many cases when input time is based on local time.
522         So, it gives erroneous results while calculating offset of DST boundary time.
523         By adding a argument to distinguish UTC and local time, we can get the correct offset.
524
525         * wtf/DateMath.cpp:
526         (WTF::calculateLocalTimeOffset):
527         (WTF::parseDateFromNullTerminatedCharacters):
528         Compensate time offset depends on UTC time or local time.
529         * wtf/DateMath.h:
530         Add argument to differenciate UTC or local time.
531
532 2014-10-21  Dániel Bátyai  <dbatyai.u-szeged@partner.samsung.com>
533
534         Fix FTL Native Inlining for EFL
535         https://bugs.webkit.org/show_bug.cgi?id=137774
536
537         Reviewed by Michael Saboff.
538
539         Updated guard definition for Native Inlining, and added an attribute define for marking functions
540         that should not be left out of the symbol table.
541
542         * wtf/Platform.h:
543
544 2014-10-20  Chris Dumez  <cdumez@apple.com>
545
546         Use is<>() / downcast<>() for Accessibility objects
547         https://bugs.webkit.org/show_bug.cgi?id=137286
548
549         Reviewed by Darin Adler.
550
551         Remove the legacy TYPE_CASTS_BASE() macro now that it is no longer
552         used.
553
554         * wtf/Assertions.h:
555
556 2014-10-18  Dan Bernstein  <mitz@apple.com>
557
558         WorkQueue dispatches functions but isn’t a FunctionDispatcher
559         https://bugs.webkit.org/show_bug.cgi?id=137853
560
561         Reviewed by Anders Carlsson.
562
563         * wtf/FunctionDispatcher.h: Added header guards.
564
565 2014-10-17  Carlos Garcia Campos  <cgarcia@igalia.com>
566
567         [GLIB] Add API to GMainLoopSource to schedule sources after a delay in microseconds
568         https://bugs.webkit.org/show_bug.cgi?id=137782
569
570         Reviewed by Sergio Villar Senin.
571
572         In some cases when we have a double with the time in seconds, the
573         conversion to milliseconds ends up truncating the value to 0, and
574         the source scheduled immediately.
575
576         * wtf/gobject/GMainLoopSource.cpp:
577         (WTF::createMicrosecondsTimeoutSource): Use a custom timeout
578         source that handles the interval in microseconds instead of milliseconds.
579         (WTF::GMainLoopSource::scheduleAfterDelay): Use MicrosecondsTimeoutSource.
580         (WTF::GMainLoopSource::scheduleAfterDelayAndDeleteOnDestroy): Ditto.
581         * wtf/gobject/GMainLoopSource.h:
582
583 2014-10-17  Dan Bernstein  <mitz@apple.com>
584
585         Reverted incorrect build fix attempt.
586
587         * wtf/Threading.cpp:
588
589 2014-10-17  Dan Bernstein  <mitz@apple.com>
590
591         Tried to fix the Yosemite build.
592
593         * wtf/Threading.cpp:
594
595 2014-10-16  Dan Bernstein  <mitz@apple.com>
596
597         OSObjectPtr is missing leakRef()
598         https://bugs.webkit.org/show_bug.cgi?id=137798
599
600         Reviewed by Sam Weinig.
601
602         * wtf/OSObjectPtr.h:
603
604 2014-10-14  Brent Fulgham  <bfulgham@apple.com>
605
606         [Win] Unreviewed gardening. Ignore Visual Studio *.sdf files.
607
608         * WTF.vcxproj: Modified property svn:ignore.
609
610 2014-10-13  Antti Koivisto  <antti@apple.com>
611
612         Add StringCapture helper for thread-safe lambda capture
613         https://bugs.webkit.org/show_bug.cgi?id=137664
614
615         Reviewed by Anders Carlsson.
616
617         There is currently no clean way to capture a String in a thread-safe manner. This will now work:
618
619         StringCapture stringCapture(string);
620         auto lambdaThatRunsInAnotherThread = [stringCapture] { String string = stringCapture.string(); ... }
621
622         This type won't be necessary with C++14 initialized lambda capture: [string = string.isolatedCopy()].
623
624         * wtf/text/WTFString.h:
625         (WTF::StringCapture::StringCapture): Create isolated copy in copy-constructor.
626         (WTF::StringCapture::string):
627
628 2014-10-11  KwangHyuk Kim  <hyuki.kim@samsung.com>
629
630         [EFL] Enable WebP support.
631         https://bugs.webkit.org/show_bug.cgi?id=136156
632
633         Reviewed by Gyuyoung Kim.
634
635         Enable WTF_USE_WEBP macro for WK2 Efl.
636
637         * wtf/Platform.h:
638
639 2014-10-11  Carlos Garcia Campos  <cgarcia@igalia.com>
640
641         [GLIB] Split GMainLoopSource moving thread safe implementation to its own class GThreadSafeMainLoopSource
642         https://bugs.webkit.org/show_bug.cgi?id=137485
643
644         Reviewed by Sergio Villar Senin.
645
646         We made GMainLoopSource thread safe, but in most of the cases we
647         know the sources are used by a single thread, which has an impact
648         in the performance (mutex, GCancellable, etc.). The new class
649         GThreadSafeMainLoopSource inherits from GMainLoopSource overriding
650         the new virtual methods and calling the parent for the common code.
651         GMutexLocker now supports recursive mutexes, it's a template that
652         can wrap a GMutex or a GRecMutex. GThreadSafeMainLoopSource uses a
653         recursive mutex using the new GMutexLocker API.
654
655         * wtf/PlatformEfl.cmake: Add new file to compilation.
656         * wtf/PlatformGTK.cmake: Ditto.
657         * wtf/gobject/GMainLoopSource.cpp:
658         (WTF::GMainLoopSource::GMainLoopSource):
659         (WTF::GMainLoopSource::~GMainLoopSource):
660         (WTF::GMainLoopSource::cancel):
661         (WTF::GMainLoopSource::schedule):
662         (WTF::GMainLoopSource::scheduleAfterDelay):
663         (WTF::GMainLoopSource::prepareVoidCallback):
664         (WTF::GMainLoopSource::finishVoidCallback):
665         (WTF::GMainLoopSource::voidCallback):
666         (WTF::GMainLoopSource::prepareBoolCallback):
667         (WTF::GMainLoopSource::finishBoolCallback):
668         (WTF::GMainLoopSource::boolCallback):
669         (WTF::GMainLoopSource::socketCallback):
670         (WTF::GMainLoopSource::cancelWithoutLocking): Deleted.
671         * wtf/gobject/GMainLoopSource.h:
672         * wtf/gobject/GMutexLocker.h:
673         (WTF::MutexWrapper<GMutex>::lock):
674         (WTF::MutexWrapper<GMutex>::unlock):
675         (WTF::MutexWrapper<GRecMutex>::lock):
676         (WTF::MutexWrapper<GRecMutex>::unlock):
677         (WTF::GMutexLocker::GMutexLocker):
678         (WTF::GMutexLocker::lock):
679         (WTF::GMutexLocker::unlock):
680         * wtf/gobject/GThreadSafeMainLoopSource.cpp: Added.
681         (WTF::GThreadSafeMainLoopSource::GThreadSafeMainLoopSource):
682         (WTF::GThreadSafeMainLoopSource::~GThreadSafeMainLoopSource):
683         (WTF::GThreadSafeMainLoopSource::cancel):
684         (WTF::GThreadSafeMainLoopSource::schedule):
685         (WTF::GThreadSafeMainLoopSource::scheduleAfterDelay):
686         (WTF::GThreadSafeMainLoopSource::prepareVoidCallback):
687         (WTF::GThreadSafeMainLoopSource::finishVoidCallback):
688         (WTF::GThreadSafeMainLoopSource::voidCallback):
689         (WTF::GThreadSafeMainLoopSource::prepareBoolCallback):
690         (WTF::GThreadSafeMainLoopSource::finishBoolCallback):
691         (WTF::GThreadSafeMainLoopSource::boolCallback):
692         * wtf/gobject/GThreadSafeMainLoopSource.h: Added.
693
694 2014-10-09  Dean Jackson  <dino@apple.com>
695
696         Remove ENABLE_CSS3_CONDITIONAL_RULES
697         https://bugs.webkit.org/show_bug.cgi?id=137571
698
699         Reviewed by Simon Fraser.
700
701         * wtf/FeatureDefines.h:
702
703 2014-10-09  Akos Kiss  <akiss@inf.u-szeged.hu>
704
705         Enable ARM64 disassembler for all platforms
706         https://bugs.webkit.org/show_bug.cgi?id=137560
707
708         Reviewed by Michael Saboff.
709
710         Remove PLATFORM conditions from around WTF_USE_ARM64_DISASSEMBLER since
711         the ARM64 disassembler has no platform dependencies anymore.
712
713         * wtf/Platform.h:
714
715 2014-10-08  peavo@outlook.com  <peavo@outlook.com>
716
717         [WinCairo] Enable JIT on 32-bit.
718         https://bugs.webkit.org/show_bug.cgi?id=137521
719
720         Reviewed by Mark Lam.
721
722         Enable JIT on Windows 32-bit, but disable it at runtime if SSE2 is not present.
723
724         * wtf/Platform.h:
725
726 2014-10-08  Brent Fulgham  <bfulgham@apple.com>
727
728         [Win] Resolve warnings about missing __has_include macro under MSVC
729         https://bugs.webkit.org/show_bug.cgi?id=137524
730
731         Reviewed by Anders Carlsson.
732
733         * wtf/Compiler.h: Provide a dummy implementation of __has_include that
734         avoids the warning without changing compile behavior.
735
736 2014-10-07  Brent Fulgham  <bfulgham@apple.com>
737
738         [Win] Resolve some MSVC static analyzer warnings
739         https://bugs.webkit.org/show_bug.cgi?id=137504
740
741         Reviewed by Dean Jackson.
742
743         * wtf/GregorianDateTime.cpp:
744         (WTF::GregorianDateTime::setToCurrentLocalTime): Properly handle
745         possible timezone error case.
746         * wtf/OSAllocatorWin.cpp:
747         (WTF::OSAllocator::decommit): Silence a spurious warning about using
748         MEM_DECOMMIT instead of MEM_RELEASE.
749         * wtf/ThreadingWin.cpp: Silence a spurious warning about how the
750         tryLock method is implemented.
751
752 2014-10-07  Christophe Dumez  <cdumez@apple.com>
753
754         [WK2] Use is<>() / downcast<>() for DrawingAreaProxy subclasses
755         https://bugs.webkit.org/show_bug.cgi?id=137477
756
757         Reviewed by Andreas Kling.
758
759         Rename wtf/cf/TypeCasts.h to wtf/cf/TypeCastsCF.h to avoid conflict
760         with wtf/TypeCasts.h. They were using the same #ifndef guard and it
761         was causing problems when both were included in the same context.
762
763         * WTF.xcodeproj/project.pbxproj:
764         * wtf/cf/TypeCastsCF.h: Renamed from Source/WTF/wtf/cf/TypeCasts.h.
765         (WTF::dynamic_cf_cast):
766         (WTF::checked_cf_cast):
767
768 2014-10-07  Anders Carlsson  <andersca@apple.com>
769
770         Try to fix the Mountain Lion build.
771
772         * wtf/text/StringView.h:
773         (WTF::StringView::underlyingStringIsValid):
774         (WTF::StringView::setUnderlyingString):
775         (WTF::StringView::invalidate):
776
777 2014-10-07  Anders Carlsson  <andersca@apple.com>
778
779         Use "1", not "true".
780
781         * wtf/text/StringView.h:
782
783 2014-10-07  Anders Carlsson  <andersca@apple.com>
784
785         Temporarily disable the StringView lifetime checking.
786
787         * wtf/text/StringView.h:
788
789 2014-10-07  Anders Carlsson  <andersca@apple.com>
790
791         Another build fix attempt.
792
793         * wtf/text/StringView.cpp:
794         (WTF::StringView::UnderlyingString::UnderlyingString):
795
796 2014-10-07  Anders Carlsson  <andersca@apple.com>
797
798         Try to fix the Windows build.
799
800         * wtf/text/StringView.cpp:
801         (WTF::StringView::UnderlyingString::UnderlyingString):
802
803 2014-10-06  Darin Adler  <darin@apple.com>
804
805         Make StringView check the lifetime of the StringImpl it's created from
806         https://bugs.webkit.org/show_bug.cgi?id=137202
807
808         Reviewed by Anders Carlsson.
809
810         * WTF.vcxproj/WTF.vcxproj: Added StringView.cpp.
811         * WTF.vcxproj/WTF.vcxproj.filters: Added StringView.cpp.
812         * WTF.xcodeproj/project.pbxproj: Added StringView.cpp.
813         * wtf/CMakeLists.txt: Added StringView.cpp.
814
815         * wtf/text/StringImpl.cpp:
816         (WTF::StringImpl::~StringImpl): Call StringView::invalidate.
817
818         * wtf/text/StringView.cpp: Added.
819         (WTF::underlyingStrings): Returns map from StringImpl to the underlying
820         string object used by StringView to track validity.
821         (WTF::StringView::invalidate): Mark the underlying string object invalid,
822         and remove it from the map, so any future StringImpl will get a new one,
823         even if it has the same pointer.
824         (WTF::StringView::underlyingStringIsValid): Return true only if the
825         underlying string is still valid.
826         (WTF::StringView::setUnderlyingString): Create and manage reference counts
827         of underlying string objects as needed.
828
829         * wtf/text/StringView.h: Moved function bodies out of the class definition,
830         so we can now read a clean class definition to see the class design and what
831         functions it offers.
832         (WTF::StringView::StringView): Added a comment to the default constructor.
833         Also added copy and move constructors so they can call setUnderlyingString
834         and assert the underlying string is valid as needed, replacing the
835         compiler-generated ones.
836         (WTF::StringView::~StringView): Added a call to setUnderlyingString.
837         (WTF::StringView::operator=): Added these assignment operators with the same
838         job as the constructors above.
839         (WTF::StringView::initialize): Added a comment.
840         (WTF::StringView::characters8): Added an assertion that the underlying
841         string is valid.
842         (WTF::StringView::characters16): Ditto.
843         (WTF::StringView::substring): Added code to propagate the underlying string
844         from the original string to the substring.
845         (WTF::StringView::invalidate): Inline empty version of this function for
846         non-debug builds.
847         (WTF::StringView::underlyingStringIsValid): Ditto.
848         (WTF::StringView::setUnderlyingString): Ditto.
849
850 2014-10-06  Brent Fulgham  <bfulgham@apple.com>
851
852         [Win] DateMath's calculateUTFOffset does not account for DST.
853         https://bugs.webkit.org/show_bug.cgi?id=137458
854         <rdar://problem/18559172>
855
856         Reviewed by Geoffrey Garen.
857
858         Check the return value of GetTimeZoneInformation and use the
859         proper bias against UTC (depending on whether we are in daylight
860         savings time, or standard time).
861
862         Also, handle possible error cases in the FileTimeToSystemTime
863         and SystemTimeToTzSpecificLocalTime, rather than using potentially
864         uninitialized values.
865
866         * wtf/DateMath.cpp:
867         (WTF::calculateUTCOffset): Use proper daylight-savings-time state.
868         (WTF::calculateDSTOffset): Avoid uninitialized data due to failing
869         API calls.
870
871 2014-10-06  Christophe Dumez  <cdumez@apple.com>
872
873         Add is<>() / downcast<>() support for RenderObject subclasses
874         https://bugs.webkit.org/show_bug.cgi?id=137424
875
876         Reviewed by Benjamin Poulain.
877
878         Handle correctly calling TypeCastTraits<ExpectedType, ArgType>::isOfType(ArgType&)
879         with ExpectedType being a base class of ArgType (or the same as ArgType). The
880         previous template specialization was only meant to support the case where
881         ExpectedType is the same as ArgType but even that wasn't working as the compiler
882         would complain about ambiguous partial specializations. Since this is needed by
883         RenderTraversal functions, this patch adds an extra isBaseType template parameter
884         to TypeCastTraits to resolve the ambiguity and relies on std::is_base_of for the
885         detection.
886
887         * wtf/TypeCasts.h:
888
889 2014-10-06  Brent Fulgham  <bfulgham@apple.com>
890
891         [Win] Project file gardening.
892
893         * WTF.vcxproj/WTF.vcxproj.filters: Move HashMethod.h and
894         FastBitVector.cpp to proper places in hierarchy.
895
896 2014-10-04  Brian J. Burg  <burg@cs.washington.edu>
897
898         Unreviewed, rolling out r174319.
899
900         Causes assertions in fast/profiler tests. Needs nontrivial
901         investigation, will take offline.
902
903         Reverted changeset:
904
905         "Web Inspector: timelines should not count time elapsed while
906         paused in the debugger"
907         https://bugs.webkit.org/show_bug.cgi?id=136351
908         http://trac.webkit.org/changeset/174319
909
910 2014-10-04  Brian J. Burg  <burg@cs.washington.edu>
911
912         Web Inspector: timelines should not count time elapsed while paused in the debugger
913         https://bugs.webkit.org/show_bug.cgi?id=136351
914
915         Reviewed by Timothy Hatcher.
916
917         * WTF.vcxproj/WTF.vcxproj:
918         * WTF.vcxproj/WTF.vcxproj.filters:
919         * WTF.xcodeproj/project.pbxproj:
920         * wtf/CMakeLists.txt:
921         * wtf/Stopwatch.h: Added. This implements a refcounted monotonic stopwatch.
922         (WTF::Stopwatch::reset):
923         (WTF::Stopwatch::start):
924         (WTF::Stopwatch::stop):
925
926 2014-10-04  Filip Pizlo  <fpizlo@apple.com>
927
928         FTL should sink PutLocals
929         https://bugs.webkit.org/show_bug.cgi?id=137168
930
931         Reviewed by Oliver Hunt.
932         
933         Make the set bits of a BitVector iterable.
934
935         * wtf/BitVector.h:
936         (WTF::BitVector::SetBitsIterable::SetBitsIterable):
937         (WTF::BitVector::SetBitsIterable::iterator::iterator):
938         (WTF::BitVector::SetBitsIterable::iterator::operator*):
939         (WTF::BitVector::SetBitsIterable::iterator::operator++):
940         (WTF::BitVector::SetBitsIterable::iterator::operator==):
941         (WTF::BitVector::SetBitsIterable::iterator::operator!=):
942         (WTF::BitVector::SetBitsIterable::begin):
943         (WTF::BitVector::SetBitsIterable::end):
944         (WTF::BitVector::setBits):
945
946 2014-10-03  Commit Queue  <commit-queue@webkit.org>
947
948         Unreviewed, rolling out r174275.
949         https://bugs.webkit.org/show_bug.cgi?id=137408
950
951         Build failures on the internal bots. (Requested by dethbakin
952         on #webkit).
953
954         Reverted changeset:
955
956         "FTL should sink PutLocals"
957         https://bugs.webkit.org/show_bug.cgi?id=137168
958         http://trac.webkit.org/changeset/174275
959
960 2014-10-03  Christophe Dumez  <cdumez@apple.com>
961
962         Add TypeCasts.h to xcodeproject
963         https://bugs.webkit.org/show_bug.cgi?id=137403
964
965         Reviewed by Benjamin Poulain.
966
967         Add TypeCasts.h to xcodeproject.
968
969         * WTF.xcodeproj/project.pbxproj:
970
971 2014-09-28  Filip Pizlo  <fpizlo@apple.com>
972
973         FTL should sink PutLocals
974         https://bugs.webkit.org/show_bug.cgi?id=137168
975
976         Reviewed by Oliver Hunt.
977         
978         Make the set bits of a BitVector iterable.
979
980         * wtf/BitVector.h:
981         (WTF::BitVector::SetBitsIterable::SetBitsIterable):
982         (WTF::BitVector::SetBitsIterable::iterator::iterator):
983         (WTF::BitVector::SetBitsIterable::iterator::operator*):
984         (WTF::BitVector::SetBitsIterable::iterator::operator++):
985         (WTF::BitVector::SetBitsIterable::iterator::operator==):
986         (WTF::BitVector::SetBitsIterable::iterator::operator!=):
987         (WTF::BitVector::SetBitsIterable::begin):
988         (WTF::BitVector::SetBitsIterable::end):
989         (WTF::BitVector::setBits):
990
991 2014-10-03  Myles C. Maxfield  <mmaxfield@apple.com>
992
993         Support modern for loops over StringViews
994         https://bugs.webkit.org/show_bug.cgi?id=137165
995
996         Reviewed by Darin Adler.
997
998         This patch adds two functions, codePoints() and codeUnits(), on StringView.
999         These two functions return small objects which have begin() and end() functions,
1000         which means it can be used by the modern for loop style. This small class also
1001         has an inner iterator class which can be incremented, dereferenced, and
1002         compared.
1003
1004         Using these new objects looks like this:
1005         for (UChar codeunit : stringView.codeUnits()) { } and
1006         for (UChar32 codepoint : stringView.codePoints()) { }.
1007
1008         * wtf/text/StringView.h:
1009         (WTF::StringView::codepoints):
1010         (WTF::StringView::codeunits):
1011         (WTF::StringViewCodePointIterator::StringViewCodePointIterator):
1012         (WTF::StringViewCodePointIterator::Iterator::Iterator):
1013         (WTF::StringViewCodePointIterator::Iterator::operator*):
1014         (WTF::StringViewCodePointIterator::Iterator::operator!=):
1015         (WTF::StringViewCodeUnitIterator::StringViewCodeUnitIterator):
1016         (WTF::StringViewCodeUnitIterator::Iterator::Iterator):
1017         (WTF::StringViewCodeUnitIterator::Iterator::operator*):
1018         (WTF::StringViewCodeUnitIterator::Iterator::operator!=):
1019
1020 2014-09-28  Sam Weinig  <sam@webkit.org>
1021
1022         Remove RefPtrHashMap
1023         https://bugs.webkit.org/show_bug.cgi?id=137200
1024
1025         Reviewed by Darin Adler.
1026
1027         HashMap now has all the features of the RefPtr specialization of HashMap
1028         (which lived in RefPtrHashMap.h) and is in fact more efficient when moving
1029         items into it. For instance:
1030
1031         For HashMap<RefPtr<Foo>, Bar> map:
1032
1033         RefPtr<Foo> foo = ...;
1034         map.add(WTF::move(foo), Bar());
1035
1036         will now not cause a ref() / deref(), but will successfully move the item in
1037         without churn. The same is true if foo.release() was used.
1038
1039         * WTF.vcxproj/WTF.vcxproj:
1040         * WTF.vcxproj/WTF.vcxproj.filters:
1041         * WTF.xcodeproj/project.pbxproj:
1042         * wtf/CMakeLists.txt:
1043         Remove references to RefPtrHashMap.h.
1044
1045         * wtf/RefPtrHashMap.h: Removed.
1046
1047         * wtf/HashMap.h:
1048         Remove #include of RefPtrHashMap.h and add inlineGet to match the interface
1049         exposed by the RefPtrHashMap specialization.
1050
1051 2014-10-02  Anders Carlsson  <andersca@apple.com>
1052
1053         Add back debugging/testing code that I accidentally removed.
1054
1055         * wtf/text/StringConcatenate.h:
1056         (WTF::StringTypeAdapter<String>::writeTo):
1057
1058 2014-10-02  Anders Carlsson  <andersca@apple.com>
1059
1060         Simplify StringTypeAdapter templates
1061         https://bugs.webkit.org/show_bug.cgi?id=137356
1062
1063         Reviewed by Andreas Kling.
1064
1065         * wtf/text/StringConcatenate.h:
1066         Use StringView for copying characters. Use inheritance for char* vs const char* etc. Make all StringAdapter member functions const.
1067
1068         * wtf/text/StringView.h:
1069         Move enough functions out of line so we can include WTFString.h after the StringView class definition.
1070
1071 2014-10-01  Christophe Dumez  <cdumez@apple.com>
1072
1073         Have is<>(T*) function do a null check on the pointer argument
1074         https://bugs.webkit.org/show_bug.cgi?id=137333
1075
1076         Reviewed by Gavin Barraclough.
1077
1078         Have is<>(T*) function do a null check on the argument instead of a
1079         simple assertion. This makes sense for 2 reasons:
1080         1. It is more consistent with downcast<>(T*), which will succeed even
1081            if the argument is a nullptr.
1082         2. It simplifies the code a bit as it gets rid of a lot of explicit
1083            null checks.
1084
1085         * wtf/TypeCasts.h:
1086         (WTF::is):
1087
1088 2014-10-02  Daniel Bates  <dabates@apple.com>
1089
1090         Clean up: Move XPC forward declarations in JavaScriptCore to WTF SPI wrapper header
1091         https://bugs.webkit.org/show_bug.cgi?id=137277
1092
1093         Reviewed by Alexey Proskuryakov.
1094
1095         Towards centralizing the declarations of XPC functions used in JavaScriptCore
1096         and WebKit2, add a header that wraps these function declarations called XPCSPI.h
1097         and use it instead of including the corresponding XPC API/SPI headers/forward
1098         declaring XPC functions. This will also aid in the effort to make WebKit2 build
1099         for iOS with the public iOS SDK.
1100
1101         * WTF.xcodeproj/project.pbxproj:
1102         * wtf/spi/darwin/XPCSPI.h: Added.
1103
1104 2014-10-01  Christophe Dumez  <cdumez@apple.com>
1105
1106         Unreviewed build fix after r174193.
1107
1108         Adding a return statement as that function is returning a boolean.
1109
1110         * wtf/TypeCasts.h:
1111         (WTF::TypeCastTraits::isOfType):
1112
1113 2014-10-01  Christophe Dumez  <cdumez@apple.com>
1114
1115         Fail better when is<>() / downcast<>() is used for an unsupported type
1116         https://bugs.webkit.org/show_bug.cgi?id=137323
1117
1118         Reviewed by Benjamin Poulain.
1119
1120         We should fail better when is<>() / downcast<>() is used for an
1121         unsupported type (i.e. a type that doesn't have the needed
1122         TypeCastTraits template specialization). Previously, we would get an
1123         obscure linking error, which was sub-optimal.
1124
1125         With this patch, you would now hit a static_assert() at build time if
1126         you tried to use is<>() / downcast<>() for a type that did not have the
1127         needed template specialization. There is also a helpful comment above
1128         the assertion letting the developer know how to add the needed template
1129         specialization.
1130
1131         * wtf/TypeCasts.h:
1132         (WTF::TypeCastTraits::isOfType):
1133
1134 2014-10-01  Commit Queue  <commit-queue@webkit.org>
1135
1136         Unreviewed, rolling out r174180, r174183, and r174186.
1137         https://bugs.webkit.org/show_bug.cgi?id=137320
1138
1139         Broke the Mac MountainLion build. Will investigate offline.
1140         (Requested by dydz on #webkit).
1141
1142         Reverted changesets:
1143
1144         "Clean up: Move XPC forward declarations in JavaScriptCore to
1145         WTF SPI wrapper header"
1146         https://bugs.webkit.org/show_bug.cgi?id=137277
1147         http://trac.webkit.org/changeset/174180
1148
1149         "Attempt to fix the build after
1150         <https://trac.webkit.org/changeset/174180>"
1151         https://bugs.webkit.org/show_bug.cgi?id=137277
1152         http://trac.webkit.org/changeset/174183
1153
1154         "Another attempt to fix the Mac build after
1155         <https://trac.webkit.org/changeset/174180>"
1156         https://bugs.webkit.org/show_bug.cgi?id=137277
1157         http://trac.webkit.org/changeset/174186
1158
1159 2014-10-01  Daniel Bates  <dabates@apple.com>
1160
1161         Another attempt to fix the Mac build after <https://trac.webkit.org/changeset/174180>
1162         (https://bugs.webkit.org/show_bug.cgi?id=137277)
1163
1164         Include header AvailabilityMacros.h instead of Availability.h, which actually defines the
1165         macro __MAC_OS_X_VERSION_MIN_REQUIRED.
1166
1167         * wtf/spi/darwin/XPCSPI.h:
1168
1169 2014-10-01  Daniel Bates  <dabates@apple.com>
1170
1171         Attempt to fix the build after <https://trac.webkit.org/changeset/174180>
1172         (https://bugs.webkit.org/show_bug.cgi?id=137277)
1173
1174         Include header <Availability.h> for the definition of __MAC_OS_X_VERSION_MIN_REQUIRED.
1175         Also, we want to define CONST_ON_OR_AFTER_MAC_OS_X_VERSION_1090 to be const when building
1176         on iOS.
1177
1178         * wtf/spi/darwin/XPCSPI.h:
1179
1180 2014-10-01  Daniel Bates  <dabates@apple.com>
1181
1182         Clean up: Move XPC forward declarations in JavaScriptCore to WTF SPI wrapper header
1183         https://bugs.webkit.org/show_bug.cgi?id=137277
1184
1185         Reviewed by Alexey Proskuryakov.
1186
1187         Towards centralizing the declarations of XPC functions used in JavaScriptCore
1188         and WebKit2, add a header that wraps these function declarations called XPCSPI.h
1189         and use it instead of including the corresponding XPC API/SPI headers/forward
1190         declaring XPC functions. This will also aid in the effort to make WebKit2 build
1191         for iOS with the public iOS SDK.
1192
1193         * WTF.xcodeproj/project.pbxproj:
1194         * wtf/spi/darwin/XPCSPI.h: Added.
1195
1196 2014-10-01  Brent Fulgham  <bfulgham@apple.com>
1197
1198         [Win] 32-bit JavaScriptCore should limit itself to the C loop
1199         https://bugs.webkit.org/show_bug.cgi?id=137304
1200         <rdar://problem/18375370>
1201
1202         Reviewed by Michael Saboff.
1203
1204         * wtf/Platform.h: Force the C loop when building for 32-bit Windows.
1205
1206 2014-09-30  Christophe Dumez  <cdumez@apple.com>
1207
1208         Generalize is<>() / downcast<>() support to all types
1209         https://bugs.webkit.org/show_bug.cgi?id=137243
1210
1211         Reviewed by Benjamin Poulain.
1212
1213         Generalize is<>() / downcast<>() support to all types, not just Nodes.
1214
1215         * wtf/Assertions.h:
1216         * wtf/TypeCasts.h: Added.
1217         (WTF::is):
1218         (WTF::downcast):
1219
1220 2014-09-30  Anders Carlsson  <andersca@apple.com>
1221
1222         Get the STRING_STATS codepath compiling again, and add calls to ref/deref
1223         https://bugs.webkit.org/show_bug.cgi?id=137259
1224
1225         Reviewed by Andreas Kling.
1226
1227         * wtf/text/StringImpl.cpp:
1228         (WTF::StringStats::removeString):
1229         (WTF::StringStats::printStats):
1230         (WTF::StringImpl::~StringImpl):
1231         * wtf/text/StringImpl.h:
1232         (WTF::StringImpl::StringImpl):
1233         (WTF::StringImpl::isSubString):
1234         (WTF::StringImpl::ref):
1235         (WTF::StringImpl::deref):
1236         (WTF::StringStats::addUpconvertedString): Deleted.
1237
1238 2014-09-30  Daniel Bates  <dabates@apple.com>
1239
1240         REGRESSION (r172532): JSBase.h declares NSMapTable functions that are SPI
1241         https://bugs.webkit.org/show_bug.cgi?id=137170
1242         <rdar://problem/18477384>
1243
1244         Reviewed by Geoffrey Garen.
1245
1246         Add SPI wrapper header, NSMapTableSPI.h.
1247
1248         Additionally, define convenience macro EXTERN_C that can be used to specify the C linkage
1249         convention for a declaration. For example, the declaration "EXTERN_C const int x;" will
1250         expand to:
1251
1252         extern const int x;
1253
1254         and
1255
1256         extern "C" const int x;
1257
1258         when used in a C and C++ file, respectively.
1259
1260         * WTF.xcodeproj/project.pbxproj:
1261         * wtf/Compiler.h:
1262         * wtf/spi/cocoa/NSMapTableSPI.h: Added.
1263
1264 2014-09-29  Commit Queue  <commit-queue@webkit.org>
1265
1266         Unreviewed, rolling out r174045.
1267         https://bugs.webkit.org/show_bug.cgi?id=137231
1268
1269         Introduced a crash during page loading tests on Mac (Requested
1270         by rniwa on #webkit).
1271
1272         Reverted changeset:
1273
1274         "Replace OSObjectPtr with RetainPtr/adoptOS"
1275         https://bugs.webkit.org/show_bug.cgi?id=137158
1276         http://trac.webkit.org/changeset/174045
1277
1278 2014-09-26  Sam Weinig  <sam@webkit.org>
1279
1280         Replace OSObjectPtr with RetainPtr/adoptOS
1281         https://bugs.webkit.org/show_bug.cgi?id=137158
1282
1283         Reviewed by Dan Bernstein.
1284
1285         * WTF.xcodeproj/project.pbxproj:
1286         * wtf/OSObjectPtr.h: Removed.
1287         * wtf/RetainPtr.h:
1288         (WTF::adoptOS):
1289         Added. This adopt function is slightly different than both adoptCF and adoptNS,
1290         in that unlike adoptCF(), it can be passed an Objective-C type (since OS objects
1291         are sometimes Objective-C objects, but not always), and unlike adoptNS() it doesn't 
1292         require us to jump through hoops to appease GC (since OS objects are not Objective-C
1293         objects if GC is enabled).
1294
1295 2014-09-24  Filip Pizlo  <fpizlo@apple.com>
1296
1297         FTL should sink object allocations
1298         https://bugs.webkit.org/show_bug.cgi?id=136330
1299
1300         Reviewed by Oliver Hunt.
1301         
1302         Make it possible to reset a Bag.
1303
1304         * wtf/Bag.h:
1305         (WTF::Bag::Bag):
1306         (WTF::Bag::~Bag):
1307         (WTF::Bag::clear):
1308
1309 2014-09-25  Roger Fong  <roger_fong@apple.com>
1310
1311         [Windows] Unreviewed build fix. Ensure that python2.7 is used for Windows builds.
1312
1313         * WTF.vcxproj/WTFGenerated.make:
1314
1315 2014-09-25  Csaba Osztrogonác  <ossy@webkit.org>
1316
1317         Remove WinCE port from trunk
1318         https://bugs.webkit.org/show_bug.cgi?id=136951
1319
1320         Reviewed by Alex Christensen.
1321
1322         * config.h:
1323         * wtf/Assertions.cpp:
1324         * wtf/Assertions.h:
1325         * wtf/Atomics.h:
1326         (WTF::weakCompareAndSwap):
1327         * wtf/CurrentTime.cpp:
1328         (WTF::lowResUTCTime):
1329         * wtf/DataLog.cpp:
1330         * wtf/DateMath.cpp:
1331         (WTF::getLocalTime):
1332         (WTF::calculateDSTOffset):
1333         * wtf/FastMalloc.cpp:
1334         * wtf/FeatureDefines.h:
1335         * wtf/OSAllocator.h:
1336         (WTF::OSAllocator::decommitAndRelease):
1337         * wtf/Platform.h:
1338         * wtf/PlatformWin.cmake:
1339         * wtf/RAMSize.cpp:
1340         (WTF::computeRAMSize):
1341         * wtf/RandomNumberSeed.h:
1342         (WTF::initializeRandomNumberGenerator):
1343         * wtf/StackBounds.cpp:
1344         (WTF::StackBounds::initialize):
1345         * wtf/StackBounds.h:
1346         (WTF::StackBounds::isGrowingDownward):
1347         * wtf/StdLibExtras.h:
1348         (wtf_bsearch): Deleted.
1349         * wtf/StringExtras.h:
1350         (strnicmp): Deleted.
1351         (stricmp): Deleted.
1352         (strdup): Deleted.
1353         * wtf/ThreadSpecific.h:
1354         * wtf/ThreadingWin.cpp:
1355         (WTF::createThreadInternal):
1356         * wtf/WindowsExtras.h:
1357         (WTF::getRegistryValue):
1358         (WTF::getWindowPointer):
1359         (WTF::setWindowPointer):
1360         * wtf/dtoa/utils.h:
1361         * wtf/text/WTFString.cpp:
1362         (WTF::String::format):
1363
1364 2014-09-24  Geoffrey Garen  <ggaren@apple.com>
1365
1366         Do the bmalloc.
1367         https://bugs.webkit.org/show_bug.cgi?id=132629
1368
1369         Reviewed by Gavin Barraclough.
1370
1371         64-bit only for now, just to try it out.
1372
1373         * wtf/FastMalloc.cpp:
1374
1375 2014-09-23  Geoffrey Garen  <ggaren@apple.com>
1376
1377         Rolled out r173346.
1378
1379             bmalloc should honor the FastMalloc statistics API
1380             https://bugs.webkit.org/show_bug.cgi?id=136592
1381
1382         This didn't really work. Because we allow ranges with and without
1383         physical pages to merge, and we allow double-committing and
1384         double-decommitting, we can't rely on commit actions to track memory
1385         footprint.
1386
1387         * wtf/FastMalloc.cpp:
1388         (WTF::fastMallocStatistics):
1389
1390 2014-09-23  Joseph Pecoraro  <pecoraro@apple.com>
1391
1392         Web Inspector: Should be able to attach a debugger to a JSContext before anything is executed
1393         https://bugs.webkit.org/show_bug.cgi?id=136893
1394
1395         Reviewed by Timothy Hatcher.
1396
1397         Currently automatic inspection only happens in processes that have a
1398         debugger attached. That condition may change in the future, but this
1399         function can stand on its own in WTF. It may be useful in the future
1400         to perhaps continue though ASSERTs if you have a debugger attached.
1401
1402         * wtf/Assertions.cpp:
1403         * wtf/Assertions.h:
1404
1405 2014-09-22  Sam Weinig  <sam@webkit.org>
1406
1407         Eliminate redundant PtrHash specializations
1408         https://bugs.webkit.org/show_bug.cgi?id=136990
1409
1410         Reviewed by Darin Adler.
1411
1412         Now that we have IsSmartPtr, we can eliminate all the specializations
1413         of PtrHash that we had (for RefPtr, OwnPtr, RetainPtr, and std::unique_ptr)
1414         and instead just have one that uses GetPtrHelper.
1415
1416         No changes of behavior intended.
1417
1418         * wtf/GetPtr.h:
1419         Remove unnecessary const_cast that Darin noticed.
1420
1421         * wtf/HashFunctions.h:
1422         (WTF::PtrHash::hash): Deleted.
1423         (WTF::PtrHash::equal): Deleted.
1424         (WTF::PtrHash<RefPtr<P>>::hash): Deleted.
1425         (WTF::PtrHash<RefPtr<P>>::equal): Deleted.
1426         Specialize PtrHash based on whether the type is a smart pointer, and use GetPtrHelper
1427         to implement the smart pointer specialized variant.
1428
1429         * wtf/HashMap.h:
1430         Remove include of GetPtr.h that is now included by HashFunctions.h
1431
1432         * wtf/OwnPtr.h:
1433         (WTF::PtrHash<OwnPtr<P>>::hash): Deleted.
1434         (WTF::PtrHash<OwnPtr<P>>::equal): Deleted.
1435         Remove unnecessary specialization of PtrHash.
1436
1437         * wtf/RetainPtr.h:
1438         (WTF::PtrHash<RetainPtr<P>>::hash): Deleted.
1439         (WTF::PtrHash<RetainPtr<P>>::equal): Deleted.
1440         Specialize IsSmartPointer for RetainPtr and remove the then unnecessary specialization of PtrHash.
1441         (This is already tested in the API test WTF/cf/RetainPtrHashing).
1442
1443 2014-09-20  Sam Weinig  <sam@webkit.org>
1444
1445         Make possible HashSet<std::unique_ptr<>>
1446         https://bugs.webkit.org/show_bug.cgi?id=136166
1447
1448         Reviewed by Darin Adler.
1449
1450         * wtf/GetPtr.h:
1451         (WTF::getPtr):
1452         (WTF::GetPtrHelper<std::unique_ptr<T>>::getPtr):
1453         Make specializing GetPtrHelper a bit cleaner (you don't have to put 
1454         IsSmartPtr<T>::value everywhere any more) and add specializations for
1455         std::unique_ptr.
1456
1457         * wtf/HashFunctions.h:
1458         (WTF::PtrHash<std::unique_ptr<P>>):
1459         Add specialization for PtrHash for std::unique_ptr and set it as the DefaultHash
1460         for it as well.
1461
1462         * wtf/HashMap.h:    
1463         * wtf/HashSet.h:
1464         Add overloads of find(), contains(), remove(), take() (and get() for HashMap) for "smart pointers" that
1465         take the raw pointer type as the parameter. These use SFINAE to make themselves only available
1466         when the IsSmartPtr<KeyType>::value is true. 
1467
1468         * wtf/HashTraits.h:
1469         Override constructDeletedValue() and isDeletedValue() in the std::unique_ptr specialization
1470         since the default implementation depends on the type having a constructor that takes a HashTableDeletedValue
1471         and function named isHashTableDeletedValue().
1472
1473         * wtf/OwnPtr.h:
1474         (WTF::OwnPtr::OwnPtr):
1475         (WTF::OwnPtr::isHashTableDeletedValue):
1476         (WTF::OwnPtr::hashTableDeletedValue):
1477         Add HashTableDeletedValue constructor/functions to allow the constructDeletedValue() and isDeletedValue()
1478         hash traits to work.
1479
1480         (WTF::PtrHash<OwnPtr<P>>::hash):
1481         (WTF::PtrHash<OwnPtr<P>>::equal):
1482         Add specialization for PtrHash for OwnPtr and set it as the DefaultHash
1483         for it as well.
1484
1485         * wtf/Ref.h:
1486         Update for the less verbose GetPtrHelper specialization.
1487
1488 2014-09-19  Chris Dumez  <cdumez@apple.com>
1489
1490         Allow DOM methods to return references instead of pointers
1491         https://bugs.webkit.org/show_bug.cgi?id=136931
1492
1493         Add support for having WTF::getPtr() transform reference arguments
1494         into raw pointers so that DOM methods can now return references when
1495         appropriate and so that the generated bindings code can handle this
1496         via WTF::getPtr().
1497
1498         This patch had to alter the way getPtr() was overloaded for smart
1499         pointer types so that we don't call &p on smart pointers but p.get().
1500         This was needed because the new WTF::getPtr(T&) was being called for
1501         RefPtr<T> arguments instead of the getPtr(const RefPtr<T>&) overload.
1502         This was addressed using traits and template specialization to
1503         distinguish WTF smart pointers from other types.
1504
1505         Reviewed by Sam Weinig.
1506
1507         * wtf/GetPtr.h:
1508         (WTF::getPtr):
1509         * wtf/OwnPtr.h:
1510         (WTF::getPtr): Deleted.
1511         * wtf/PassOwnPtr.h:
1512         (WTF::getPtr): Deleted.
1513         * wtf/PassRefPtr.h:
1514         (WTF::getPtr): Deleted.
1515         * wtf/Ref.h:
1516         * wtf/RefPtr.h:
1517         (WTF::getPtr): Deleted.
1518         * wtf/gobject/GRefPtr.h:
1519         (WTF::getPtr): Deleted.
1520
1521 2014-09-19  Daniel Bates  <dabates@apple.com>
1522
1523         Always assume internal SDK when building configuration Production
1524         https://bugs.webkit.org/show_bug.cgi?id=136925
1525         <rdar://problem/18362399>
1526
1527         Reviewed by Dan Bernstein.
1528
1529         * Configurations/Base.xcconfig:
1530
1531 2014-09-19  Diego Pino Garcia  <dpino@igalia.com>
1532
1533         Simple ES6 feature:String prototype additions
1534         https://bugs.webkit.org/show_bug.cgi?id=131704
1535
1536         Reviewed by Darin Adler.
1537
1538         * wtf/text/StringImpl.cpp:
1539         (WTF::StringImpl::find):
1540         (WTF::equalInner): Added.
1541         (WTF::StringImpl::startsWith): Add implementation that supports
1542         'startOffset' parameter.
1543         (WTF::StringImpl::endsWith): Add implementation that supports
1544         'endOffset' parameter.
1545         * wtf/text/StringImpl.h:
1546         * wtf/text/WTFString.h:
1547         (WTF::String::contains): Modify current implementation to allow
1548         setting a startOffset, 0 by default.
1549         (WTF::String::startsWith):
1550         (WTF::String::endsWith):
1551
1552 2014-09-18  Carlos Garcia Campos  <cgarcia@igalia.com>
1553
1554         [GTK] Dot not allow to create delete-on-destroy GMainLoopSources
1555         https://bugs.webkit.org/show_bug.cgi?id=136923
1556
1557         Reviewed by Gustavo Noronha Silva.
1558
1559         We have several asserts to ensure that delete-on-destroy sources
1560         are not misused, like not scheduling socket sources on a
1561         delete-on-destroy GMainLoopSource or not allowing to cancel them
1562         before they have been dispatched. It's better to ensure all those
1563         things at compile time, using static methods to schedule sources
1564         creating a delete-on-destroy GMainLoopSource that is not returned
1565         to the user.
1566
1567         * wtf/gobject/GMainLoopSource.cpp:
1568         (WTF::GMainLoopSource::create): Private static method to create a
1569         delete-on-destroy GMainLoopSource.
1570         (WTF::GMainLoopSource::cancelWithoutLocking): Return early in case
1571         of delete-on-destroy source, since they can't be cancelled.
1572         (WTF::GMainLoopSource::schedule): Remove assertion to ensure
1573         socket sources are not scheduled on a delete-on-destroy GMainLoopSource.
1574         (WTF::GMainLoopSource::scheduleAndDeleteOnDestroy):
1575         (WTF::GMainLoopSource::scheduleAfterDelayAndDeleteOnDestroy):
1576         (WTF::GMainLoopSource::createAndDeleteOnDestroy): Deleted.
1577         * wtf/gobject/GMainLoopSource.h:
1578         * wtf/gtk/MainThreadGtk.cpp:
1579         (WTF::scheduleDispatchFunctionsOnMainThread): Use GMainLoopSource::scheduleAndDeleteOnDestroy()
1580         * wtf/gtk/RunLoopGtk.cpp:
1581         (WTF::RunLoop::wakeUp): Ditto.
1582
1583 2014-09-18  Joseph Pecoraro  <pecoraro@apple.com>
1584
1585         Unreviewed rollout r173731. Broke multiple builds.
1586
1587         * wtf/Assertions.cpp:
1588         * wtf/Assertions.h:
1589
1590 2014-09-18  Joseph Pecoraro  <pecoraro@apple.com>
1591
1592         Web Inspector: Should be able to attach a debugger to a JSContext before anything is executed
1593         https://bugs.webkit.org/show_bug.cgi?id=136893
1594
1595         Reviewed by Timothy Hatcher.
1596
1597         Currently automatic inspection only happens in processes that have a
1598         debugger attached. That condition may change in the future, but this
1599         function can stand on its own in WTF. It may be useful in the future
1600         to perhaps continue though ASSERTs if you have a debugger attached.
1601
1602         * wtf/Assertions.cpp:
1603         * wtf/Assertions.h:
1604
1605 2014-09-18  Zan Dobersek  <zdobersek@igalia.com>
1606
1607         GMainLoopSource is exposed to race conditions
1608         https://bugs.webkit.org/show_bug.cgi?id=135800
1609
1610         Reviewed by Carlos Garcia Campos.
1611
1612         GMainLoopSource objects can be dispatching tasks on one thread
1613         while having a new task scheduled on a different thread. This
1614         can for instance occur in WebKitVideoSink, where the timeout
1615         callback can be called on main thread while at the same time
1616         it is being rescheduled on a different thread (created through
1617         GStreamer).
1618
1619         The initial solution is to use GMutex to prevent parallel data
1620         access from different threads. In the future I plan to look at
1621         the possibility of creating thread-specific GMainLoopSource
1622         objects that wouldn't require the use of GMutex.
1623
1624         GSource, GCancellable and std::function<> objects are now packed
1625         into an internal Context structure. Using the C++11 move semantics
1626         it's simple to, at the time of dispatch, move the current context
1627         out of the GMainLoopSource object in case the dispatch causes a
1628         rescheduling on that same object.
1629
1630         Also added in the Context struct is a new GCancellable. The pointer
1631         of that object is shared with the GMainLoopSource before the Context
1632         is moved out for the callback dispatch. This makes it safe to cancel
1633         or even delete the GMainLoopSource during the dispatch and prevents
1634         use-after-delete on GMainLoopSource once the dispatch is done in
1635         the GMainLoopSource::*Callback() methods.
1636
1637         All the schedule*() methods and the cancelWithoutLocking() method
1638         callers now lock the GMutex to ensure no one else is accessing the
1639         data at that moment. Similar goes for the dispatch methods, but those
1640         do the dispatch and possible destruction duties with the mutex unlocked.
1641         The dispatch can cause rescheduling on the same GMainLoopSource object,
1642         which must not be done with a locked mutex.
1643
1644         * wtf/gobject/GMainLoopSource.cpp:
1645         (WTF::GMainLoopSource::GMainLoopSource):
1646         (WTF::GMainLoopSource::~GMainLoopSource):
1647         (WTF::GMainLoopSource::cancel):
1648         (WTF::GMainLoopSource::cancelWithoutLocking):
1649         (WTF::GMainLoopSource::scheduleIdleSource):
1650         (WTF::GMainLoopSource::schedule):
1651         (WTF::GMainLoopSource::scheduleTimeoutSource):
1652         (WTF::GMainLoopSource::scheduleAfterDelay):
1653         (WTF::GMainLoopSource::voidCallback):
1654         (WTF::GMainLoopSource::boolCallback):
1655         (WTF::GMainLoopSource::socketCallback):
1656         (WTF::GMainLoopSource::socketSourceCallback):
1657         (WTF::GMainLoopSource::Context::destroySource):
1658         (WTF::GMainLoopSource::reset): Deleted.
1659         (WTF::GMainLoopSource::destroy): Deleted.
1660         * wtf/gobject/GMainLoopSource.h:
1661
1662 2014-09-17  Daniel Bates  <dabates@apple.com>
1663
1664         Unreviewed, rolling out r173695.
1665
1666         Broke building third-party Legacy WebKit apps; will
1667         investigate offline
1668
1669         Reverted changeset:
1670
1671         "[iOS] Make WebCore build with public iOS SDK"
1672         https://bugs.webkit.org/show_bug.cgi?id=136487
1673         http://trac.webkit.org/changeset/173695
1674
1675 2014-09-17  Benjamin Poulain  <bpoulain@apple.com>
1676
1677         CSS value in whitespace-separated list attribute selector (~=) mishandles tab/newline/etc.
1678         https://bugs.webkit.org/show_bug.cgi?id=136807
1679
1680         Reviewed by Antti Koivisto.
1681
1682         * wtf/text/AtomicString.h:
1683         (WTF::AtomicString::find):
1684
1685 2014-09-17  Daniel Bates  <dabates@apple.com>
1686
1687         [iOS] Make WebCore build with public iOS SDK
1688         https://bugs.webkit.org/show_bug.cgi?id=136487
1689
1690         Reviewed by David Kilzer.
1691
1692         Define convenience macro EXTERN_C that can be used to specify the C linkage convention
1693         for a declaration. For example, the declaration "EXTERN_C const int x;" will expand to:
1694
1695         extern const int x;
1696
1697         and
1698
1699         extern "C" const int x;
1700
1701         when used in a C and C++ file, respectively.
1702
1703         * wtf/Compiler.h:
1704
1705 2014-09-16  Filip Pizlo  <fpizlo@apple.com>
1706
1707         Unreviewed, disable native inlining because it causes build failures.
1708
1709         * wtf/Platform.h:
1710
1711 2014-09-15  Jer Noble  <jer.noble@apple.com>
1712
1713         [Mac] Support audioSourceProvider() in MediaPlayerPrivateAVFoundationObjC
1714         https://bugs.webkit.org/show_bug.cgi?id=135042
1715
1716         Reviewed by Eric Carlson.
1717
1718         * wtf/Platform.h: Add WTF_USE_MEDIATOOLBOX.
1719
1720 2014-09-15  peavo@outlook.com  <peavo@outlook.com>
1721
1722         [WinCairo] Make it easier to enable/disable GStreamer.
1723         https://bugs.webkit.org/show_bug.cgi?id=135766
1724
1725         Reviewed by Brent Fulgham.
1726
1727         Make it possible to enable/disable GStreamer by editing the new user macro ENABLE_GSTREAMER_WINCAIRO.
1728
1729         * WTF.vcxproj/WTFDebugWinCairo.props: Import GStreamer property file.
1730         * WTF.vcxproj/WTFReleaseWinCairo.props: Ditto.
1731         * wtf/Platform.h: Enable GStreamer if ENABLE(GSTREAMER_WINCAIRO) is true, otherwise use Media Foundation.
1732
1733 2014-09-10  Jon Honeycutt  <jhoneycutt@apple.com>
1734
1735         Re-add the request autocomplete feature
1736
1737         <https://bugs.webkit.org/show_bug.cgi?id=136730>
1738
1739         This feature was rolled out in r148731 because it was only used by
1740         Chromium. As we consider supporting this feature, roll it back in, but
1741         leave it disabled.
1742
1743         This rolls out r148731 (which removed the feature) with small changes
1744         needed to make the code build in ToT, to make the tests run, and to
1745         remove unused code.
1746
1747         Reviewed by Andy Estes.
1748
1749         * wtf/FeatureDefines.h:
1750
1751 2014-09-12  Tim Horton  <timothy_horton@apple.com>
1752
1753         Swiping back from a Twitter image to Twitter flashes to the wrong position
1754         https://bugs.webkit.org/show_bug.cgi?id=136798
1755         <rdar://problem/18324338>
1756
1757         Reviewed by Darin Adler and Sam Weinig.
1758
1759         * wtf/RunLoop.h:
1760         (WTF::RunLoop::TimerBase::startRepeating):
1761         Add a std::chrono veresion of RunLoop::TimerBase::startRepeating.
1762
1763 2014-09-12  Geoffrey Garen  <ggaren@apple.com>
1764
1765         Rolled out r173540.
1766
1767         It broke the Membuster performance bot, and it's still slightly profligate
1768         with memory.
1769
1770             Do the bmalloc.
1771             https://bugs.webkit.org/show_bug.cgi?id=132629
1772
1773         * wtf/FastMalloc.cpp:
1774
1775 2014-09-11  Geoffrey Garen  <ggaren@apple.com>
1776
1777         Do the bmalloc.
1778         https://bugs.webkit.org/show_bug.cgi?id=132629
1779
1780         Reviewed by Michael Saboff.
1781
1782         64-bit only for now, just to try it out.
1783
1784         * wtf/FastMalloc.cpp:
1785
1786 2014-09-09  Benjamin Poulain  <bpoulain@apple.com>
1787
1788         Disable the "unreachable-code" warning
1789         https://bugs.webkit.org/show_bug.cgi?id=136677
1790
1791         Reviewed by Darin Adler.
1792
1793         The warning causes various build errors depending on which Clang you are using.
1794
1795         For example, with recent clangs, it breaks all the ARCHS dependent code like this:
1796             if (sizeof(uintptr_t) == 4)
1797                 // Something for 32 bits.
1798             else
1799                 // Somethign for 64 bits.
1800
1801         * Configurations/Base.xcconfig:
1802
1803 2014-09-07  Filip Pizlo  <fpizlo@apple.com>
1804
1805         DFG should have a reusable SSA builder
1806         https://bugs.webkit.org/show_bug.cgi?id=136331
1807
1808         Reviewed by Oliver Hunt.
1809         
1810         Update the alloc() method to use variadic templates. This makes it more natural to use.
1811
1812         * wtf/SegmentedVector.h:
1813         (WTF::SegmentedVector::alloc):
1814
1815 2014-09-08  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>
1816
1817         Remove FILTERS flag
1818         https://bugs.webkit.org/show_bug.cgi?id=136571
1819
1820         Reviewed by Darin Adler.
1821
1822         * wtf/FeatureDefines.h:
1823
1824 2014-09-08  Dan Bernstein  <mitz@apple.com>
1825
1826         HAVE(VOUCHERS) is not available outside of WebKit2
1827         https://bugs.webkit.org/show_bug.cgi?id=136637
1828
1829         Reviewed by Tim Horton.
1830
1831         * wtf/Platform.h: Moved the definition of HAVE_VOUCHERS from WebKit2’s config.h here.
1832
1833 2014-09-08  Tim Horton  <timothy_horton@apple.com>
1834
1835         Try to fix the build after r173383, part 2.
1836
1837         * wtf/OSObjectPtr.h:
1838
1839 2014-09-08  Tim Horton  <timothy_horton@apple.com>
1840
1841         Try to fix the build after r173383.
1842
1843         * wtf/OSObjectPtr.h:
1844
1845 2014-09-07  Sam Weinig  <sam@webkit.org>
1846
1847         Make OSObjectPtr a bit more like RefPtr
1848         https://bugs.webkit.org/show_bug.cgi?id=136613
1849
1850         Reviewed by Darin Adler.
1851
1852         Address some of Darin's feedback by:
1853         - Making the adopting constructor private and friending adoptOSObject().
1854         - Implementing the assignment operator using swap.
1855         - Adding a move assignment operator.
1856
1857         * wtf/OSObjectPtr.h:
1858         (WTF::OSObjectPtr::operator=):
1859         (WTF::OSObjectPtr::swap):
1860         (WTF::OSObjectPtr::OSObjectPtr):
1861
1862 2014-09-08  Jessie Berlin  <jberlin@apple.com>
1863
1864         More build fixes after r173374.
1865
1866         * wtf/dtoa/strtod.cc:
1867
1868 2014-09-08  Jessie Berlin  <jberlin@apple.com>
1869
1870         Build fix after r173374.
1871
1872         * wtf/dtoa/strtod.cc:
1873
1874 2014-09-08  Jessie Berlin  <jberlin@apple.com>
1875
1876         Speculative build fix after r173364.
1877
1878         * wtf/dtoa/strtod.cc:
1879
1880 2014-09-07  Maciej Stachowiak  <mjs@apple.com>
1881
1882         Introduce COMPILER_QUIRK(CONSIDERS_UNREACHABLE_CODE) and use it
1883         https://bugs.webkit.org/show_bug.cgi?id=136616
1884
1885         Reviewed by Darin Adler.
1886
1887         * wtf/Compiler.h: Define the quirk for all compilers but clang.
1888
1889 2014-09-06  Sam Weinig  <sam@webkit.org>
1890
1891         XPCPtr should be converted into an all purpose smart pointer for os_objects
1892         https://bugs.webkit.org/show_bug.cgi?id=136602
1893
1894         Reviewed by Darin Adler.
1895
1896         * WTF.xcodeproj/project.pbxproj:
1897         * wtf/OSObjectPtr.h: Copied from Source/WebKit2/Platform/IPC/mac/XPCPtr.h.
1898         (WTF::retainOSObject):
1899         (WTF::releaseOSObject):
1900         (WTF::OSObjectPtr::OSObjectPtr):
1901         (WTF::OSObjectPtr::~OSObjectPtr):
1902         (WTF::OSObjectPtr::operator=):
1903         (WTF::adoptOSObject):
1904         (IPC::XPCPtr::XPCPtr): Deleted.
1905         (IPC::XPCPtr::~XPCPtr): Deleted.
1906         (IPC::XPCPtr::operator=): Deleted.
1907         (IPC::adoptXPC): Deleted.
1908         Rename/move XPCPtr to OSObjectPtr and make it work with any os_object.
1909
1910 2014-09-06  Darin Adler  <darin@apple.com>
1911
1912         Make updates suggested by new version of Xcode
1913         https://bugs.webkit.org/show_bug.cgi?id=136603
1914
1915         Reviewed by Mark Rowe.
1916
1917         * Configurations/Base.xcconfig: Added CLANG_WARN_UNREACHABLE_CODE,
1918         COMBINE_HIDPI_IMAGES, and ENABLE_STRICT_OBJC_MSGSEND as suggested by
1919         Xcode upgrade check.
1920
1921         * WTF.xcodeproj/project.pbxproj: Updated LastUpgradeCheck.
1922
1923 2014-09-05  Geoffrey Garen  <ggaren@apple.com>
1924
1925         bmalloc should honor the FastMalloc statistics API
1926         https://bugs.webkit.org/show_bug.cgi?id=136592
1927
1928         Reviewed by Gavin Barraclough.
1929
1930         * wtf/FastMalloc.cpp:
1931         (WTF::fastMallocStatistics):
1932
1933 2014-09-05  Geoffrey Garen  <ggaren@apple.com>
1934
1935         bmalloc should honor the FastMalloc scavenging API
1936         https://bugs.webkit.org/show_bug.cgi?id=136588
1937
1938         Reviewed by Andreas Kling.
1939
1940         * wtf/FastMalloc.cpp:
1941         (WTF::releaseFastMallocFreeMemory):
1942
1943 2014-09-05  Geoffrey Garen  <ggaren@apple.com>
1944
1945         Rolled out <http://trac.webkit.org/changeset/173313>.
1946
1947         It seems to have broken the PLT bot.
1948
1949                 Do the bmalloc.
1950                 https://bugs.webkit.org/show_bug.cgi?id=132629
1951
1952                 * wtf/FastMalloc.cpp:
1953
1954 2014-06-06  Jer Noble  <jer.noble@apple.com>
1955
1956         Refactoring: make MediaTime the primary time type for audiovisual times.
1957         https://bugs.webkit.org/show_bug.cgi?id=133579
1958
1959         Reviewed by Eric Carlson.
1960
1961         Add a unary minus operator, and add unimplemented private casting operators, to make
1962         unintentional double->MediaTime and MediaTime->double casts hard errors.
1963
1964         * wtf/MediaTime.cpp:
1965         (WTF::MediaTime::operator-):
1966         * wtf/MediaTime.h:
1967
1968 2014-09-04  Geoffrey Garen  <ggaren@apple.com>
1969
1970         Do the bmalloc.
1971         https://bugs.webkit.org/show_bug.cgi?id=132629
1972
1973         Reviewed by Michael Saboff.
1974
1975         64-bit only for now, just to try it out.
1976
1977         * wtf/FastMalloc.cpp:
1978
1979 2014-09-05  Dániel Bátyai  <dbatyai.u-szeged@partner.samsung.com>
1980
1981         Enable GenGC on ARM Traditional
1982         https://bugs.webkit.org/show_bug.cgi?id=136567
1983
1984         Reviewed by Csaba Osztrogonác.
1985
1986         * wtf/Platform.h:
1987
1988 2014-09-04  Filip Pizlo  <fpizlo@apple.com>
1989
1990         Beef up the DFG's CFG analyses to include iterated dominance frontiers and more user-friendly BlockSets
1991         https://bugs.webkit.org/show_bug.cgi?id=136520
1992
1993         Fix bug found in Geoff's review but not landed in previous commit.
1994
1995         * wtf/BitVector.cpp:
1996         (WTF::BitVector::equalsSlowCaseFast): return true.
1997
1998 2014-09-03  Filip Pizlo  <fpizlo@apple.com>
1999
2000         Beef up the DFG's CFG analyses to include iterated dominance frontiers and more user-friendly BlockSets
2001         https://bugs.webkit.org/show_bug.cgi?id=136520
2002
2003         Reviewed by Geoffrey Garen.
2004         
2005         Give BitVector a way to quickly find the next set (or unset) bit. Make BitVector equality
2006         faster. Fix a minor closure goof in Spectrum.
2007
2008         * wtf/BitVector.cpp:
2009         (WTF::BitVector::equalsSlowCase):
2010         (WTF::BitVector::equalsSlowCaseFast):
2011         (WTF::BitVector::equalsSlowCaseSimple):
2012         * wtf/BitVector.h:
2013         (WTF::BitVector::findBit):
2014         (WTF::BitVector::findBitFast):
2015         (WTF::BitVector::findBitSimple):
2016         (WTF::BitVector::findBitInWord):
2017         * wtf/Spectrum.h:
2018         (WTF::Spectrum::removeIf):
2019
2020 2014-09-04  Anders Carlsson  <andersca@apple.com>
2021
2022         Make hash table classes final
2023         https://bugs.webkit.org/show_bug.cgi?id=136540
2024
2025         Reviewed by Antti Koivisto.
2026
2027         We don't want anybody inheriting from these classes, so make them final.
2028
2029         * wtf/HashCountedSet.h:
2030         * wtf/HashMap.h:
2031         * wtf/HashSet.h:
2032
2033 2014-09-04  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>
2034
2035         Remove CSS_FILTERS flag
2036         https://bugs.webkit.org/show_bug.cgi?id=136529
2037
2038         Reviewed by Dirk Schulze.
2039
2040         * wtf/FeatureDefines.h:
2041
2042 2014-09-04  Commit Queue  <commit-queue@webkit.org>
2043
2044         Unreviewed, rolling out r173201.
2045         https://bugs.webkit.org/show_bug.cgi?id=136538
2046
2047         Improves the situation but also introduces additional crashes.
2048         (Requested by zdobersek on #webkit).
2049
2050         Reverted changeset:
2051
2052         "GMainLoopSource is exposed to race conditions"
2053         https://bugs.webkit.org/show_bug.cgi?id=135800
2054         http://trac.webkit.org/changeset/173201
2055
2056 2014-09-04  Pratik Solanki  <psolanki@apple.com>
2057
2058         Remove iOS specific disk image cache
2059         https://bugs.webkit.org/show_bug.cgi?id=136517
2060
2061         Reviewed by Antti Koivisto.
2062
2063         Disk image cache code unnecessarily complicates SharedBuffer implementation. We can remove
2064         this now since we don't enable it in WebKit2 on iOS.
2065
2066         * wtf/FeatureDefines.h:
2067
2068 2014-09-03  Dan Bernstein  <mitz@apple.com>
2069
2070         Get rid of HIGH_DPI_CANVAS leftovers
2071         https://bugs.webkit.org/show_bug.cgi?id=136491
2072
2073         Reviewed by Benjamin Poulain.
2074
2075         * wtf/FeatureDefines.h: Removed definition of ENABLE_HIGH_DPI_CANVAS.
2076
2077 2014-09-03  Zan Dobersek  <zdobersek@igalia.com>
2078
2079         GMainLoopSource is exposed to race conditions
2080         https://bugs.webkit.org/show_bug.cgi?id=135800
2081
2082         Reviewed by Carlos Garcia Campos.
2083
2084         GMainLoopSource objects can be dispatching tasks on one thread
2085         while having a new task scheduled on a different thread. This
2086         can for instance occur in WebKitVideoSink, where the timeout
2087         callback can be called on main thread while at the same time
2088         it is being rescheduled on a different thread (created through
2089         GStreamer).
2090
2091         The initial solution is to use GMutex to prevent parallel data
2092         access from different threads. In the future I plan to add better
2093         assertions, some meaningful comments and look at the possibility
2094         of creating thread-specific GMainLoopSource objects that wouldn't
2095         require the use of GMutex.
2096
2097         GSource, GCancellable and std::function<> objects are now packed
2098         into an internal Context structure. Using the C++11 move semantics
2099         it's simple to, at the time of dispatch, move the current context
2100         out of the GMainLoopSource object in case the dispatch causes a
2101         rescheduling on that same object.
2102
2103         All the schedule*() methods and the cancelInternal() method callers
2104         now lock the GMutex to ensure no one else is accessing the data at
2105         that moment. Similar goes for the dispatch methods, but those do
2106         the dispatch and possible destruction duties with the mutex unlocked.
2107         The dispatch can cause rescheduling on the same GMainLoopSource object,
2108         which must not be done with a locked mutex.
2109
2110         * wtf/gobject/GMainLoopSource.cpp:
2111         (WTF::GMainLoopSource::GMainLoopSource):
2112         (WTF::GMainLoopSource::~GMainLoopSource):
2113         (WTF::GMainLoopSource::cancel):
2114         (WTF::GMainLoopSource::cancelInternal):
2115         (WTF::GMainLoopSource::scheduleIdleSource):
2116         (WTF::GMainLoopSource::schedule):
2117         (WTF::GMainLoopSource::scheduleTimeoutSource):
2118         (WTF::GMainLoopSource::scheduleAfterDelay):
2119         (WTF::GMainLoopSource::voidCallback):
2120         (WTF::GMainLoopSource::boolCallback):
2121         (WTF::GMainLoopSource::socketCallback):
2122         (WTF::GMainLoopSource::destroy):
2123         (WTF::GMainLoopSource::reset): Deleted.
2124         * wtf/gobject/GMainLoopSource.h:
2125
2126 2014-09-02  Daniel Bates  <dabates@apple.com>
2127
2128         [iOS] Support using Foundation networking code
2129         https://bugs.webkit.org/show_bug.cgi?id=136467
2130
2131         Reviewed by Pratik Solanki.
2132
2133         Disable USE(CFNETWORK) and use the Foundation networking code by default when building
2134         iOS WebKit without the Apple Internal SDK.
2135
2136         * wtf/Platform.h:
2137
2138 2014-08-26  Maciej Stachowiak  <mjs@apple.com>
2139
2140         Use RetainPtr::autorelease in some places where it seems appropriate
2141         https://bugs.webkit.org/show_bug.cgi?id=136280
2142
2143         Reviewed by Darin Adler.
2144
2145         * wtf/text/mac/StringImplMac.mm:
2146         (WTF::StringImpl::operator NSString *): Use autorelease() instead of
2147         CFBridgingRelease(leakRef())
2148
2149 2014-08-29  Joseph Pecoraro  <pecoraro@apple.com>
2150
2151         JavaScriptCore: Use ASCIILiteral where possible
2152         https://bugs.webkit.org/show_bug.cgi?id=136179
2153
2154         Reviewed by Michael Saboff.
2155
2156         * wtf/text/WTFString.cpp:
2157         (asciiDebug):
2158
2159 2014-08-27  Filip Pizlo  <fpizlo@apple.com>
2160
2161         DFG should compute immediate dominators using the O(n log n) form of Lengauer and Tarjan's "A Fast Algorithm for Finding Dominators in a Flowgraph"
2162         https://bugs.webkit.org/show_bug.cgi?id=93361
2163
2164         Reviewed by Mark Hahnenberg.
2165         
2166         Make BitVector operations return the previous value of the bit you're changing. This is
2167         useful for the kinds of set operations that are commonplace in compiler graph searches.
2168
2169         * wtf/BitVector.h:
2170         (WTF::BitVector::quickSet):
2171         (WTF::BitVector::quickClear):
2172         (WTF::BitVector::set):
2173         (WTF::BitVector::ensureSizeAndSet):
2174         (WTF::BitVector::clear):
2175
2176 2014-08-27  Filip Pizlo  <fpizlo@apple.com>
2177
2178         FTL should be able to do polymorphic call inlining
2179         https://bugs.webkit.org/show_bug.cgi?id=135145
2180
2181         Reviewed by Geoffrey Garen.
2182         
2183         Add some power that I need for call edge profiling.
2184
2185         * wtf/OwnPtr.h:
2186         (WTF::OwnPtr<T>::createTransactionally):
2187         * wtf/Spectrum.h:
2188         (WTF::Spectrum::add):
2189         (WTF::Spectrum::addAll):
2190         (WTF::Spectrum::get):
2191         (WTF::Spectrum::size):
2192         (WTF::Spectrum::KeyAndCount::KeyAndCount):
2193         (WTF::Spectrum::clear):
2194         (WTF::Spectrum::removeIf):
2195
2196 2014-08-27  Nico Weber  <thakis@chromium.org>
2197
2198         Delete a MSVS2010 workaround.
2199         https://bugs.webkit.org/show_bug.cgi?id=136321
2200
2201         Reviewed by Benjamin Poulain.
2202
2203         Ports https://codereview.chromium.org/512923004/ by the talented
2204         Nico Weber from Blink. No intended behavior change.
2205
2206         * wtf/Vector.h:
2207         (WTF::=):
2208
2209 2014-08-27  Mark Rowe  <mrowe@apple.com>
2210
2211         JavaScriptCore is missing debug info for WTF because libWTF.a is stripped.
2212         <https://webkit.org/b/136320> / <rdar://problem/18148776>
2213
2214         Reviewed by Dan Bernstein.
2215
2216         * Configurations/WTF.xcconfig: Set STRIP_INSTALLED_PRODUCT = NO for the target
2217         that produces libWTF.a so that the debug symbols will be linked into JavaScriptCore
2218         and end up in its dSYM file.
2219
2220 2014-08-26  Commit Queue  <commit-queue@webkit.org>
2221
2222         Unreviewed, rolling out r172940.
2223         https://bugs.webkit.org/show_bug.cgi?id=136256
2224
2225         Caused assertions on fast/storage/serialized-script-
2226         value.html, and possibly flakiness on more tests (Requested by
2227         ap on #webkit).
2228
2229         Reverted changeset:
2230
2231         "FTL should be able to do polymorphic call inlining"
2232         https://bugs.webkit.org/show_bug.cgi?id=135145
2233         http://trac.webkit.org/changeset/172940
2234
2235 2014-08-23  Filip Pizlo  <fpizlo@apple.com>
2236
2237         FTL should be able to do polymorphic call inlining
2238         https://bugs.webkit.org/show_bug.cgi?id=135145
2239
2240         Reviewed by Geoffrey Garen.
2241         
2242         Add some power that I need for call edge profiling.
2243
2244         * wtf/OwnPtr.h:
2245         (WTF::OwnPtr<T>::createTransactionally):
2246         * wtf/Spectrum.h:
2247         (WTF::Spectrum::add):
2248         (WTF::Spectrum::addAll):
2249         (WTF::Spectrum::get):
2250         (WTF::Spectrum::size):
2251         (WTF::Spectrum::KeyAndCount::KeyAndCount):
2252         (WTF::Spectrum::clear):
2253         (WTF::Spectrum::removeIf):
2254
2255 2014-08-25  Tomas Popela  <tpopela@redhat.com>
2256
2257         Add support for little-endian PowerPC64
2258         https://bugs.webkit.org/show_bug.cgi?id=135647
2259
2260         Reviewed by Oliver Hunt.
2261
2262         * wtf/Platform.h:
2263         * wtf/dtoa/utils.h:
2264
2265 2014-08-24  Zan Dobersek  <zdobersek@igalia.com>
2266
2267         GenericHashTraits::peek() is producing copies of passed-in temporary values
2268         https://bugs.webkit.org/show_bug.cgi?id=131461
2269
2270         Reviewed by Darin Adler.
2271
2272         * wtf/HashTraits.h:
2273         (WTF::GenericHashTraits::peek): Make this method a template that passes through
2274         the passed-in value without copying, achieved by using universal references and
2275         std::forward<>().
2276
2277 2014-08-22  Daniel Bates  <dabates@apple.com>
2278
2279         [iOS] Disable ENABLE_IOS_{GESTURE, TOUCH}_EVENTS, and temporarily disable ENABLE_TOUCH_EVENTS
2280         and ENABLE_XSLT when building with the iOS public SDK
2281         https://bugs.webkit.org/show_bug.cgi?id=135945
2282
2283         Reviewed by Andy Estes.
2284
2285         * wtf/FeatureDefines.h:
2286
2287 2014-08-22  Akos Kiss  <akiss@inf.u-szeged.hu>
2288
2289         Enable fixed executable allocator for any ARM64 target.
2290         https://bugs.webkit.org/show_bug.cgi?id=136162
2291
2292         Reviewed by Michael Saboff.
2293
2294         The ARM64 macro assembler relies on near calls being implemented by BL
2295         instructions, which have only 128MB offset range from PC. The
2296         on-demand executable allocator cannot ensure that any two locations in
2297         memory allocated for the JIT-compiled code are within this range. 
2298         However, the fixed executable allocator has a fixed 16MB memory pool for
2299         ARM64.
2300
2301         * wtf/Platform.h:
2302         Define ENABLE_EXECUTABLE_ALLOCATOR_FIXED if CPU(ARM64), and update
2303         attached comment.
2304
2305 2014-08-22  Commit Queue  <commit-queue@webkit.org>
2306
2307         Unreviewed, rolling out r172844.
2308         https://bugs.webkit.org/show_bug.cgi?id=136164
2309
2310         re-applying WEBCORE_EXPORTS patch (Requested by
2311         alexchristensen on #webkit).
2312
2313         Reverted changeset:
2314
2315         "Revert r172831, it broke the Windows build."
2316         http://trac.webkit.org/changeset/172844
2317
2318 2014-08-22  Jon Lee  <jonlee@apple.com>
2319
2320         Fix iOS build due to r172832 and move RUBBER_BANDING out of FeatureDefines.h
2321         https://bugs.webkit.org/show_bug.cgi?id=136157
2322
2323         Reviewed by Simon Fraser.
2324
2325         * wtf/FeatureDefines.h: Remove ENABLE(RUBBER_BANDING) logic for Mac platform.
2326
2327 2014-08-21  Tim Horton  <timothy_horton@apple.com>
2328
2329         Revert r172831, it broke the Windows build.
2330
2331         * wtf/ExportMacros.h:
2332
2333 2014-08-21  Zalan Bujtas  <zalan@apple.com>
2334
2335         Enable SATURATED_LAYOUT_ARITHMETIC.
2336         https://bugs.webkit.org/show_bug.cgi?id=136106
2337
2338         Reviewed by Simon Fraser.
2339
2340         SATURATED_LAYOUT_ARITHMETIC protects LayoutUnit against arithmetic overflow.
2341         (No measurable performance regression on Mac.)
2342
2343         * wtf/FeatureDefines.h:
2344
2345 2014-08-21  Alex Christensen  <achristensen@webkit.org>
2346
2347         More WEBCORE_EXPORT macros.
2348         https://bugs.webkit.org/show_bug.cgi?id=136129
2349
2350         Reviewed by Tim Horton.
2351
2352         * wtf/ExportMacros.h:
2353         Removed WTF_TESTING which isn't used.
2354
2355 2014-08-20  Akos Kiss  <akiss@inf.u-szeged.hu>
2356
2357         Enable ARM64 disassembler on EFL
2358         https://bugs.webkit.org/show_bug.cgi?id=136089
2359
2360         Reviewed by Filip Pizlo.
2361
2362         * wtf/Platform.h:
2363         Enable WTF_USE_ARM64_DISASSEMBLER for EFL as well.
2364
2365 2014-08-19  Pratik Solanki  <psolanki@apple.com>
2366
2367         Remove PurgeableBuffer since it is not very useful any more
2368         https://bugs.webkit.org/show_bug.cgi?id=135939
2369
2370         Reviewed by Andreas Kling.
2371
2372         * wtf/Platform.h: Remove ENABLE_PURGEABLE_MEMORY define.
2373         * wtf/VMTags.h: Remove VM tags used by WebCore for cached resource purgeable memory.
2374
2375 2014-08-19  Magnus Granberg  <zorry@gentoo.org>
2376
2377         TEXTREL in libjavascriptcoregtk-1.0.so.0.11.0 on x86 (or i586)
2378         https://bugs.webkit.org/show_bug.cgi?id=70610
2379
2380         Reviewed by Darin Adler.
2381
2382         Add PLT if we're building with PIC.
2383
2384         * wtf/InlineASM.h:
2385
2386 2014-08-19  Zalan Bujtas  <zalan@apple.com>
2387
2388         Remove ENABLE(SUBPIXEL_LAYOUT).
2389         https://bugs.webkit.org/show_bug.cgi?id=136077
2390
2391         Reviewed by Simon Fraser.
2392
2393         Remove compile time flag SUBPIXEL_LAYOUT. All ports have it enabled for a while now.
2394
2395         * wtf/FeatureDefines.h:
2396
2397 2014-08-18  Maciej Stachowiak  <mjs@apple.com>
2398
2399         Use NSURLFileTypeMappings directly instead of depending on WebKitSystemInterface wrappers for it
2400         https://bugs.webkit.org/show_bug.cgi?id=136035
2401
2402         Reviewed by Dan Bernstein.
2403
2404         * wtf/Platform.h: Define USE(APPLE_INTERNAL_SDK) by default on platforms that have it.
2405
2406 2014-08-18  Commit Queue  <commit-queue@webkit.org>
2407
2408         Unreviewed, rolling out r172736.
2409         https://bugs.webkit.org/show_bug.cgi?id=136060
2410
2411         Caused 14% PLT regressions (Requested by rniwa on #webkit).
2412
2413         Reverted changeset:
2414
2415         "Remove PurgeableBuffer since it is not very useful any more"
2416         https://bugs.webkit.org/show_bug.cgi?id=135939
2417         http://trac.webkit.org/changeset/172736
2418
2419 2014-08-18  Pratik Solanki  <psolanki@apple.com>
2420
2421         Remove PurgeableBuffer since it is not very useful any more
2422         https://bugs.webkit.org/show_bug.cgi?id=135939
2423
2424         Reviewed by Geoffrey Garen.
2425
2426         * wtf/Platform.h: Remove ENABLE_PURGEABLE_MEMORY define.
2427         * wtf/VMTags.h: Remove VM tags used by WebCore for cached resource purgeable memory.
2428
2429 2014-08-14  Benjamin Poulain  <benjamin@webkit.org>
2430
2431         CSS JIT: compile the :empty pseudo class
2432         https://bugs.webkit.org/show_bug.cgi?id=135958
2433
2434         Reviewed by Andreas Kling.
2435
2436         * wtf/text/StringImpl.h:
2437         (WTF::StringImpl::lengthMemoryOffset):
2438
2439 2014-08-12  Myles C. Maxfield  <mmaxfield@apple.com>
2440
2441         Elements whose contents start with an astral Unicode symbol disappear when CSS `::first-letter` is applied to them
2442         https://bugs.webkit.org/show_bug.cgi?id=135756
2443
2444         Reviewed by Darin Adler.
2445
2446         Add a method to StringView which passes through contains() to find().
2447
2448         * wtf/text/StringView.h:
2449         (WTF::StringView::contains):
2450
2451 2014-08-12  Pratik Solanki  <psolanki@apple.com>
2452
2453         Enable didReceiveDataArray callback on Mac
2454         https://bugs.webkit.org/show_bug.cgi?id=135554
2455         <rdar://problem/9170731>
2456
2457         Reviewed by Andreas Kling.
2458
2459         Enable WTF_USE_NETWORK_CFDATA_ARRAY_CALLBACK for all Cocoa platforms so that we use the same
2460         code path for Mac and iOS.
2461
2462         * wtf/Platform.h:
2463
2464 2014-08-12  Alex Christensen  <achristensen@webkit.org>
2465
2466         Generate header detection headers for CMake on Windows.
2467         https://bugs.webkit.org/show_bug.cgi?id=135807
2468
2469         Reviewed by Brent Fulgham.
2470
2471         * wtf/CMakeLists.txt:
2472         * wtf/PlatformWin.cmake:
2473         Generate and include a stub WTFHeaderDetection.h.
2474
2475 2014-08-11  Andy Estes  <aestes@apple.com>
2476
2477         [iOS] Get rid of iOS.xcconfig
2478         https://bugs.webkit.org/show_bug.cgi?id=135809
2479
2480         Reviewed by Joseph Pecoraro.
2481
2482         All iOS.xcconfig did was include AspenFamily.xcconfig, so there's no need for the indirection.
2483
2484         * Configurations/Base.xcconfig:
2485         * Configurations/iOS.xcconfig: Removed.
2486         * WTF.xcodeproj/project.pbxproj:
2487
2488 2014-08-12  Zan Dobersek  <zdobersek@igalia.com>
2489
2490         Clean up GMutexLocker
2491         https://bugs.webkit.org/show_bug.cgi?id=135833
2492
2493         Reviewed by Carlos Garcia Campos.
2494
2495         Place the GMutexLocker into the WTF namespace. There's no need for this
2496         class to use FastMalloc since it's always allocated on the stack. The
2497         constructor and class now operate on a GMutex reference. There's little
2498         need for an additional inline specifier for methods defined in the header.
2499         The mutex() method is removed as it was not used. m_val is renamed to a
2500         more descriptive m_locked and is made a boolean.
2501
2502         * wtf/gobject/GMutexLocker.h:
2503         (WTF::GMutexLocker::GMutexLocker):
2504         (WTF::GMutexLocker::~GMutexLocker):
2505         (WTF::GMutexLocker::lock):
2506         (WTF::GMutexLocker::unlock):
2507         (WebCore::GMutexLocker::GMutexLocker): Deleted.
2508         (WebCore::GMutexLocker::~GMutexLocker): Deleted.
2509         (WebCore::GMutexLocker::lock): Deleted.
2510         (WebCore::GMutexLocker::unlock): Deleted.
2511         (WebCore::GMutexLocker::mutex): Deleted.
2512
2513 2014-08-12  Zan Dobersek  <zdobersek@igalia.com>
2514
2515         Make GRefPtr move-able
2516         https://bugs.webkit.org/show_bug.cgi?id=135801
2517
2518         Reviewed by Carlos Garcia Campos.
2519
2520         Add move constructor and move assignment operator for GRefPtr.
2521
2522         * wtf/gobject/GRefPtr.h:
2523         (WTF::GRefPtr::GRefPtr):
2524         (WTF::=):
2525
2526 2014-08-10  Benjamin Poulain  <benjamin@webkit.org>
2527
2528         Update HashTable's operator= after r172167 per review comments
2529
2530         * wtf/HashTable.h:
2531         Update the type as suggested by Darin.
2532
2533 2014-08-07  Benjamin Poulain  <bpoulain@apple.com>
2534
2535         Get rid of SCRIPTED_SPEECH
2536         https://bugs.webkit.org/show_bug.cgi?id=135729
2537
2538         Reviewed by Brent Fulgham.
2539
2540         * wtf/FeatureDefines.h:
2541
2542 2014-08-07  Benjamin Poulain  <bpoulain@apple.com>
2543
2544         Get rid of INPUT_SPEECH
2545         https://bugs.webkit.org/show_bug.cgi?id=135672
2546
2547         Reviewed by Andreas Kling.
2548
2549         * wtf/FeatureDefines.h:
2550
2551 2014-08-06  Dean Jackson  <dino@apple.com>
2552
2553         ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED is not used anywhere. Remove it.
2554         https://bugs.webkit.org/show_bug.cgi?id=135675
2555
2556         Reviewed by Sam Weinig.
2557
2558         * wtf/FeatureDefines.h:
2559
2560 2014-08-06  Benjamin Poulain  <benjamin@webkit.org>
2561
2562         HashTable based classes leak a lot
2563         https://bugs.webkit.org/show_bug.cgi?id=135638
2564
2565         Reviewed by Darin Adler.
2566
2567         * wtf/HashTable.h:
2568         The operator= taking a rvalue reference was never freeing the memory allocated
2569         for the table of the left hand side object.
2570
2571         This patch fixes the leaks by doing an alloc+swap with a new object.
2572         The object temp gets the reference to m_table, and destroys it in the regular destructor
2573         when going out of scope.
2574
2575         Kudos to Pratik Solanki for finding the leaks.
2576
2577 2014-08-06  Dániel Bátyai  <dbatyai.u-szeged@partner.samsung.com>
2578
2579         [JSC] Build fix for FTL on EFL after ftlopt merge
2580         https://bugs.webkit.org/show_bug.cgi?id=135565
2581
2582         Reviewed by Mark Lam.
2583
2584         Added ENABLE(FTL_NATIVE_CALL_INLINING).
2585
2586         * wtf/Platform.h:
2587
2588 2014-08-04  Alex Christensen  <achristensen@webkit.org>
2589
2590         Progress towards CMake on Mac.
2591         https://bugs.webkit.org/show_bug.cgi?id=135528
2592
2593         Reviewed by Gyuyoung Kim.
2594
2595         * wtf/CMakeLists.txt:
2596         Include text directory.
2597         * wtf/PlatformMac.cmake: Added.
2598
2599 2014-07-31  Alex Christensen  <achristensen@webkit.org>
2600
2601         Progress towards cmake on Windows.
2602         https://bugs.webkit.org/show_bug.cgi?id=135484
2603
2604         Reviewed by Martin Robinson.
2605
2606         * wtf/CMakeLists.txt:
2607         Added WTF_LIBRARY_TYPE because Windows needs WTF to be a shared library.
2608
2609 2014-07-30  Andreas Kling  <akling@apple.com>
2610
2611         PropertyName's internal string is always atomic.
2612         <https://webkit.org/b/135451>
2613
2614         Remove AtomicString::findStringWithHash() since nobody uses it anymore.
2615
2616         Reviewed by Benjamin Poulain.
2617
2618         * wtf/text/AtomicString.cpp:
2619         (WTF::findString): Deleted.
2620         (WTF::AtomicString::findStringWithHash): Deleted.
2621         * wtf/text/AtomicString.h:
2622
2623 2014-07-30  Andy Estes  <aestes@apple.com>
2624
2625         USE(CONTENT_FILTERING) should be ENABLE(CONTENT_FILTERING)
2626         https://bugs.webkit.org/show_bug.cgi?id=135439
2627
2628         Reviewed by Tim Horton.
2629
2630         We now support two different platform content filters, and will soon support a mock content filter (as part of
2631         webkit.org/b/128858). This makes content filtering a feature of WebKit, not just an adoption of a third-party
2632         library. ENABLE() is the correct macro to use for such a feature.
2633
2634         * wtf/Platform.h:
2635
2636 2014-07-29  Brent Fulgham  <bfulgham@apple.com>
2637
2638         [Win] Modify version numbering scheme to support 5-tuple versions
2639         https://bugs.webkit.org/show_bug.cgi?id=135400
2640         <rdar://problem/17849033>
2641
2642         Reviewed by David Kilzer.
2643
2644         * WTF.vcxproj/WTFPostBuild.cmd: Use new version-stamp.pl script
2645         to version WTF.dll.
2646         * WTF.vcxproj/WTFPreBuild.cmd: Make sure we have created the
2647         appropriate version resource during builds.
2648
2649 2014-07-29  Daniel Bates  <dabates@apple.com>
2650
2651         Use WTF::move() instead of std::move() to help ensure move semantics
2652         https://bugs.webkit.org/show_bug.cgi?id=135351
2653
2654         Reviewed by Alexey Proskuryakov.
2655
2656         * wtf/HashTable.h:
2657         (WTF::KeyTraits>::HashTable):
2658
2659 2014-07-28  Brian J. Burg  <burg@cs.washington.edu>
2660
2661         Should not export symbols for base64Encode inline adapter methods
2662         https://bugs.webkit.org/show_bug.cgi?id=135355
2663
2664         Unreviewed build fix.
2665
2666         Fixes the build break introduced by r171682, where a base64Encode
2667         inline adapter method was used in another header, thus creating
2668         multiple definitions of it (and problems with with weak symbols).
2669
2670         * wtf/text/Base64.h: Remove WTF_EXPORT_PRIVATE for inlined methods.
2671
2672 2014-07-27  Filip Pizlo  <fpizlo@apple.com>
2673
2674         Merge r170090, r170092, r170129, r170141, r170161, r170215, r170275, r170375, r170376, r170382, r170383, r170399, r170436, r170489, r170490, r170556 from ftlopt.
2675
2676         * wtf/text/WTFString.h:
2677
2678 2014-07-26  Filip Pizlo  <fpizlo@apple.com>
2679
2680         Unreviewed, roll out r171641-r171644. It broke some tests; will investigate and
2681         reland later.
2682
2683         * wtf/text/WTFString.h:
2684
2685 2014-07-25  Filip Pizlo  <fpizlo@apple.com>
2686
2687         Attempt to fix Windows.
2688
2689         * wtf/text/WTFString.h:
2690
2691 2014-07-25  Gavin Barraclough  <baraclough@apple.com>
2692
2693         Yosemite version number is 101000
2694         https://bugs.webkit.org/show_bug.cgi?id=135301
2695
2696         Reviewed by Sam Weinig.
2697
2698         * wtf/FeatureDefines.h:
2699         * wtf/Platform.h:
2700
2701 2014-07-23  Brent Fulgham  <bfulgham@apple.com>
2702
2703         [Win] Use NO_RETURN_DUE_TO_CRASH on Windows.
2704         https://bugs.webkit.org/show_bug.cgi?id=13519
2705
2706         Reviewed by Mark Lam.
2707
2708         * wtf/Assertions.h: Add MSVC to list of compilers supporting this macro.
2709         * wtf/FastMalloc.cpp: Correct function declaration for NO_RETURN_DUE_TO_CRASH.
2710
2711 2014-07-22  Filip Pizlo  <fpizlo@apple.com>
2712
2713         Merge r169148, r169185, r169188, r169578, r169582, r169584, r169588, r169753 from ftlopt.
2714
2715     2014-06-04  Filip Pizlo  <fpizlo@apple.com>
2716     
2717             [ftlopt] AI should be able track structure sets larger than 1
2718             https://bugs.webkit.org/show_bug.cgi?id=128073
2719     
2720             Reviewed by Oliver Hunt.
2721     
2722             * wtf/Bag.h:
2723             (WTF::Bag::Node::Node):
2724             (WTF::Bag::add):
2725     
2726 2014-07-22  Filip Pizlo  <fpizlo@apple.com>
2727
2728         Merge r168635, r168780, r169005, r169014, and r169143 from ftlopt.
2729
2730     2014-05-20  Filip Pizlo  <fpizlo@apple.com>
2731     
2732             [ftlopt] DFG bytecode parser should turn GetById with nothing but a Getter stub as stuff+handleCall, and handleCall should be allowed to inline if it wants to
2733             https://bugs.webkit.org/show_bug.cgi?id=133105
2734     
2735             Reviewed by Michael Saboff.
2736     
2737             * wtf/Bag.h:
2738             (WTF::Bag::iterator::operator!=):
2739     
2740 2014-07-19  Zan Dobersek  <zdobersek@igalia.com>
2741
2742         [WTF] Add the move constructor, move assignment operator for HashTable
2743         https://bugs.webkit.org/show_bug.cgi?id=130772
2744
2745         Reviewed by Darin Adler.
2746
2747         HashTable has both copy constructor and copy assignment operator, meaning that the move constructor
2748         and move assignment operator are implicitly deleted. This patch defines both to avoid unnecessary
2749         copies when moves can be performed.
2750
2751         * wtf/HashTable.h:
2752         (WTF::KeyTraits>::HashTable):
2753
2754 2014-07-15  Commit Queue  <commit-queue@webkit.org>
2755
2756         Unreviewed, rolling out r171107.
2757         https://bugs.webkit.org/show_bug.cgi?id=134959
2758
2759         This was not the problem! (Requested by kling on #webkit).
2760
2761         Reverted changeset:
2762
2763         "Revert: Run the FastMalloc scavenger thread on iOS as well."
2764         https://bugs.webkit.org/show_bug.cgi?id=134927
2765         http://trac.webkit.org/changeset/171107
2766
2767 2014-07-15  Andreas Kling  <akling@apple.com>
2768
2769         Revert: Run the FastMalloc scavenger thread on iOS as well.
2770         <https://webkit.org/b/134927>
2771         <rdar://problem/17485079>
2772
2773         This appears to be the cause of some elusive crashes, and since I don't
2774         have a way to reproduce them, let's just go back to not running the
2775         scavenger thread on iOS.
2776
2777         Reviewed by Antti Koivisto.
2778
2779         * wtf/FastMalloc.cpp:
2780
2781 2014-07-13  Filip Pizlo  <fpizlo@apple.com>
2782
2783         HashMap should have removeIf()
2784         https://bugs.webkit.org/show_bug.cgi?id=134870
2785
2786         Reviewed by Sam Weinig.
2787         
2788         Expose a new HashMap method, called removeIf(), which allows you to do an efficient
2789         pass over the map and remove a bunch of things at once. This is used by DFG GCSE as
2790         part of https://bugs.webkit.org/show_bug.cgi?id=134677.
2791
2792         * wtf/HashMap.h:
2793         (WTF::X>::removeIf):
2794         * wtf/HashTable.h:
2795         (WTF::KeyTraits>::removeIf):
2796
2797 2014-07-11  peavo@outlook.com  <peavo@outlook.com>
2798
2799         [Win] Enable DFG JIT.
2800         https://bugs.webkit.org/show_bug.cgi?id=123615
2801
2802         Reviewed by Mark Lam.
2803
2804         * wtf/Platform.h:
2805
2806 2014-07-11  Commit Queue  <commit-queue@webkit.org>
2807
2808         Unreviewed, rolling out r170995.
2809         https://bugs.webkit.org/show_bug.cgi?id=134831
2810
2811         Causing odd crashes in debug builds (Requested by zdobersek on
2812         #webkit).
2813
2814         Reverted changeset:
2815
2816         "[WTF] Add the move constructor, move assignment operator for
2817         HashTable"
2818         https://bugs.webkit.org/show_bug.cgi?id=130772
2819         http://trac.webkit.org/changeset/170995
2820
2821 2014-07-09  Zan Dobersek  <zdobersek@igalia.com>
2822
2823         [WTF] Add the move constructor, move assignment operator for HashTable
2824         https://bugs.webkit.org/show_bug.cgi?id=130772
2825
2826         Reviewed by Darin Adler.
2827
2828         HashTable has both copy constructor and copy assignment operator, meaning that the move constructor
2829         and move assignment operator are implicitly deleted. This patch defines both to avoid unnecessary
2830         copies when moves can be performed.
2831
2832         * wtf/HashTable.h:
2833         (WTF::KeyTraits>::HashTable):
2834
2835 2014-07-10  Alex Christensen  <achristensen@webkit.org>
2836
2837         Enable same features on all Windows ports.
2838         https://bugs.webkit.org/show_bug.cgi?id=134715
2839
2840         Reviewed by Brent Fulgham.
2841
2842         * wtf/Platform.h:
2843         Use REQUEST_ANIMATION_FRAME_TIMER on WinCairo.
2844
2845 2014-07-09  Brent Fulgham  <bfulgham@apple.com>
2846
2847         [Win] Unreviewed build fix after r170930.
2848
2849         * WTF.vcxproj/copy-files.cmd: Include cf files in
2850         post-build copy operation.
2851
2852 2014-07-09  Brent Fulgham  <bfulgham@apple.com>
2853
2854         [Win] Remove uses of 'bash' in build system
2855         https://bugs.webkit.org/show_bug.cgi?id=134782
2856         <rdar://problem/17615533>
2857
2858         Reviewed by Dean Jackson.
2859
2860         Remove uses of 'bash' by replacing Windows-specific bash scripts
2861         with Perl equivalents.
2862
2863         * WTF.vcxproj/WTFGenerated.make:
2864         * WTF.vcxproj/WTFGenerated.vcxproj:
2865         * WTF.vcxproj/WTFGenerated.vcxproj.filters:
2866         * WTF.vcxproj/WTFPreBuild.cmd:
2867         * WTF.vcxproj/build-generated-files.pl: Copied from Source/WTF/WTF.vcxproj/build-generated-files.sh.
2868         * WTF.vcxproj/build-generated-files.sh: Removed.
2869
2870 2014-07-09  Brent Fulgham  <bfulgham@apple.com>
2871
2872         [Win] Remove use of 'grep' in build steps
2873         https://bugs.webkit.org/show_bug.cgi?id=134770
2874         <rdar://problem/17608783>
2875
2876         Reviewed by Tim Horton.
2877
2878         Replace uses of the grep command in Windows builds with the equivalent
2879         Perl program.
2880
2881         * WTF.vcxproj/WTFPreBuild.cmd:
2882
2883 2014-07-07  Zan Dobersek  <zdobersek@igalia.com>
2884
2885         Enable ARMv7 disassembler for the GTK port
2886         https://bugs.webkit.org/show_bug.cgi?id=134676
2887
2888         Reviewed by Benjamin Poulain.
2889
2890         * wtf/Platform.h: Enable the ARMv7 disassembler for the GTK port when
2891         targeting the ARMv7 architecture.
2892
2893 2014-07-06  Yoav Weiss  <yoav@yoav.ws>
2894
2895         Turn on img@sizes compile flag
2896         https://bugs.webkit.org/show_bug.cgi?id=134634
2897
2898         Reviewed by Benjamin Poulain.
2899
2900         * wtf/FeatureDefines.h: Added compile flag definition.
2901
2902 2014-07-03  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2903
2904         Unreivewed, fix build break on EFL and GTK since r170767.
2905
2906         * wtf/CMakeLists.txt: Exclude Decoder.h and Encoder.h because those files were removed.
2907
2908 2014-07-03  Daniel Bates  <dabates@apple.com>
2909
2910         Add WTF::move()
2911         https://bugs.webkit.org/show_bug.cgi?id=134500
2912
2913         Reviewed by Darin Adler.
2914
2915         Substitution of WTF::move() for std::move() rubber-stamped by Anders Carlsson.
2916
2917         Implement WTF::move(), a replacement for std::move(). WTF::move() is less error
2918         prone than std::move() as it compile asserts that its argument is a non-const
2919         lvalue reference before ultimately casting it to a rvalue reference (via std::move).
2920
2921         * wtf/Deque.h: Substitute WTF::move() for std::move().
2922         * wtf/HashMap.h: Ditto.
2923         * wtf/HashSet.h: Ditto.
2924         * wtf/HashTable.h: Ditto.
2925         * wtf/IteratorAdaptors.h: Ditto.
2926         * wtf/IteratorRange.h: Ditto.
2927         * wtf/ListHashSet.h: Ditto.
2928         * wtf/MainThread.cpp: Ditto.
2929         [...]
2930         * wtf/StdLibExtras.h:
2931         (WTF::move): Added.
2932         [...]
2933
2934 2014-07-03  Anders Carlsson  <andersca@apple.com>
2935
2936         Get rid of Encoder.h and Decoder.h from WTF
2937         https://bugs.webkit.org/show_bug.cgi?id=134600
2938
2939         Reviewed by Darin Adler.
2940
2941         * WTF.vcxproj/WTF.vcxproj:
2942         * WTF.vcxproj/WTF.vcxproj.filters:
2943         * WTF.xcodeproj/project.pbxproj:
2944         * wtf/Decoder.h: Removed.
2945         * wtf/Encoder.h: Removed.
2946
2947 2014-07-03  Ryuan Choi  <ryuan.choi@samsung.com>
2948
2949         Broken build with build-webkit --no-video
2950         https://bugs.webkit.org/show_bug.cgi?id=134587
2951
2952         Reviewed by Darin Adler.
2953
2954         MEDIA_CONTROLS_SCRIPT requires VIDEO enabled.
2955
2956         * wtf/FeatureDefines.h: Added error message for dependency failure.
2957
2958 2014-07-02  Enrica Casucci  <enrica@apple.com>
2959
2960         iOS build fix after http://trac.webkit.org/changeset/170697.
2961         
2962         Unreviewed.
2963
2964         * wtf/Deque.h:
2965
2966 2014-07-02  Dan Bernstein  <mitz@apple.com>
2967
2968         Remove some code only needed for versions of Safari that are no longer supported
2969         https://bugs.webkit.org/show_bug.cgi?id=134537
2970
2971         Reviewed by Anders Carlsson.
2972
2973         * wtf/Assertions.cpp:
2974         * wtf/Assertions.h:
2975
2976 2014-07-01  Alex Christensen  <achristensen@webkit.org>
2977
2978         Reduce dynamic memory allocation in css jit.
2979         https://bugs.webkit.org/show_bug.cgi?id=134416
2980
2981         Reviewed by Benjamin Poulain.
2982
2983         * wtf/Deque.h:
2984         Added inlineCapacity optional template parameter.
2985
2986 2014-06-30  Commit Queue  <commit-queue@webkit.org>
2987
2988         Unreviewed, rolling out r170605.
2989         https://bugs.webkit.org/show_bug.cgi?id=134484
2990
2991         The changes cause crashes on ARM64 (Requested by benjaminp on
2992         #webkit).
2993
2994         Reverted changeset:
2995
2996         "Reduce dynamic memory allocation in css jit."
2997         https://bugs.webkit.org/show_bug.cgi?id=134416
2998         http://trac.webkit.org/changeset/170605
2999
3000 2014-06-30  Daniel Bates  <dabates@apple.com>
3001
3002         Make TransformIterator::TransformIterator() take rvalue references
3003         https://bugs.webkit.org/show_bug.cgi?id=134468
3004
3005         Reviewed by Darin Adler.
3006
3007         It's unnecessary to support TransformIterator::TransformIterator() taking const lvalue references
3008         as we only call it with rvalues. As a side benefit, we can use move semantics to initialize the
3009         members of TransformIterator.
3010
3011         * wtf/IteratorAdaptors.h:
3012         (WTF::TransformIterator::TransformIterator): Make constructor take arguments as rvalue references.
3013         (WTF::makeTransformIterator): Substitute std::move() for std::forward().
3014
3015 2014-06-30  Alex Christensen  <achristensen@webkit.org>
3016
3017         Reduce dynamic memory allocation in css jit.
3018         https://bugs.webkit.org/show_bug.cgi?id=134416
3019
3020         Reviewed by Benjamin Poulain.
3021
3022         * wtf/Deque.h:
3023         Added inlineCapacity optional template parameter.
3024
3025 2014-06-30  Anders Carlsson  <andersca@apple.com>
3026
3027         Add code for encoding legacy session history entries
3028         https://bugs.webkit.org/show_bug.cgi?id=134452
3029
3030         Reviewed by Andreas Kling.
3031
3032         * wtf/MallocPtr.h:
3033         (WTF::MallocPtr::malloc):
3034         (WTF::MallocPtr::realloc):
3035
3036 2014-06-27  Andreas Kling  <akling@apple.com>
3037
3038         [ARMv7] Skip one particularly expensive fastFree() alignment check.
3039         <https://webkit.org/b/134402>
3040
3041         The size class alignment check in fastFree() was crazy expensive on ARMv7
3042         due to its use of modulo. Disabling it shaves 470ms off of PLT main thread
3043         time in the web process.
3044
3045         Note that this was very hard to identify in profiles due to TCO.
3046
3047         Reviewed by Gavin Barraclough.
3048
3049         * wtf/FastMalloc.cpp:
3050         (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
3051
3052 2014-06-26  Andreas Kling  <akling@apple.com>
3053
3054         Bump FastMalloc thread cache max size to 1MB on iOS.
3055         <https://webkit.org/b/134365>
3056
3057         The previous limit (512kB) comes from the old days of very-low-memory
3058         devices, and we can now afford to spend another 512kB here.
3059         Note that we already have a mechanism to purge FastMalloc caches on
3060         system memory pressure.
3061
3062         Looks like a ~400ms progression on PLT.
3063
3064         Reviewed by Geoff Garen.
3065
3066         * wtf/FastMalloc.cpp:
3067
3068 2014-06-26  Laszlo Gombos  <l.gombos@samsung.com>
3069
3070         Define TARGET_OS_IPHONE to 0 for non-darwin ports
3071         https://bugs.webkit.org/show_bug.cgi?id=134347
3072
3073         Reviewed by Darin Adler.
3074
3075         A follow-up to r169880 to make it easier to reason about
3076         the code. The purpose of this change to allow
3077         "#if TARGET_OS_IPHONE" in public header files.
3078
3079         * wtf/Platform.h:
3080
3081 2014-06-26  Chris Fleizach  <cfleizach@apple.com>
3082
3083         Add an undo group for each dictated utterance in WebKit
3084         https://bugs.webkit.org/show_bug.cgi?id=134086
3085
3086         Applied review comments from Sam Weinig.
3087
3088         Move the associated USE #define into Platform.h.
3089
3090         * wtf/Platform.h:
3091
3092 2014-06-25  Geoffrey Garen  <ggaren@apple.com>
3093
3094         Unreviewed, rolling out r166876.
3095
3096         Caused some ECMA test262 failures
3097
3098         Reverted changeset:
3099
3100         "Date object needs to check for ES5 15.9.1.14 TimeClip limit."
3101         https://bugs.webkit.org/show_bug.cgi?id=131248
3102         http://trac.webkit.org/changeset/166876
3103
3104 2014-06-25  peavo@outlook.com  <peavo@outlook.com>
3105
3106         [Win64] ASM LLINT is not enabled.
3107         https://bugs.webkit.org/show_bug.cgi?id=130638
3108
3109         Reviewed by Mark Lam.
3110
3111         * wtf/Platform.h: Enable LLINT and JIT for Win64.
3112
3113 2014-06-25  Laszlo Gombos  <l.gombos@samsung.com>
3114
3115         Remove build guard for progress element
3116         https://bugs.webkit.org/show_bug.cgi?id=134292
3117
3118         Reviewed by Benjamin Poulain.
3119
3120         The build flag is no longer needed as it is always on.
3121
3122         * wtf/FeatureDefines.h:
3123
3124 2014-06-24  Andreas Kling  <akling@apple.com>
3125
3126         Run the FastMalloc scavenger thread on iOS as well.
3127         <https://webkit.org/b/134287>
3128         <rdar://problem/17446198>
3129
3130         Reviewed by Gavin Barraclough.
3131
3132         * wtf/FastMalloc.cpp:
3133
3134 2014-06-24  Anders Carlsson  <andersca@apple.com>
3135
3136         Add PageState to HistoryItem conversion code
3137         https://bugs.webkit.org/show_bug.cgi?id=134259
3138
3139         Reviewed by Andreas Kling.
3140
3141         * wtf/Optional.h:
3142         (WTF::Optional::valueOr):
3143
3144 2014-06-24  László Langó  <llango.u-szeged@partner.samsung.com>
3145
3146         [JavaScriptCore] Enable concurrent JIT on EFL.
3147         https://bugs.webkit.org/show_bug.cgi?id=134242
3148
3149         Reviewed by Csaba Osztrogonác.
3150
3151         * wtf/Platform.h:
3152
3153 2014-06-23  Ryuan Choi  <ryuan.choi@samsung.com>
3154
3155         [EFL] Replace RefPtr<Evas_Object> with UniquePtrEfl
3156         https://bugs.webkit.org/show_bug.cgi?id=134236
3157
3158         Reviewed by Gyuyoung Kim.
3159
3160         Although there are ref/unref for Evas_Object, it's bit odd so we should call evas_object_del to destroy it.
3161         So, this patch replaced RefPtr<Evas_Object> with UniquePtrEfl for the simplicity.
3162
3163         * wtf/PlatformEfl.cmake: Removed RefPtrEfl.cpp from source list.
3164         * wtf/efl/RefPtrEfl.cpp: Removed.
3165         * wtf/efl/RefPtrEfl.h: Removed.
3166
3167 2014-06-21  Brady Eidson  <beidson@apple.com>
3168
3169         Gamepad API - Deprecate the existing implementation
3170         https://bugs.webkit.org/show_bug.cgi?id=134108
3171
3172         Reviewed by Timothy Hatcher.
3173
3174         -Add new "GAMEPAD_DEPRECATED" build flag, moving the existing implementation to use it
3175         -Move some implementation files into a "deprecated" subdirectory.
3176
3177         * wtf/FeatureDefines.h:
3178
3179 2014-06-21  Commit Queue  <commit-queue@webkit.org>
3180
3181         Unreviewed, rolling out r170244.
3182         https://bugs.webkit.org/show_bug.cgi?id=134157
3183
3184         GTK/EFL bindings generator works differently, making this
3185         patch not work there.  Will fix entire patch after a rollout.
3186         (Requested by bradee-oh on #webkit).
3187
3188         Reverted changeset:
3189
3190         "Gamepad API - Deprecate the existing implementation"
3191         https://bugs.webkit.org/show_bug.cgi?id=134108
3192         http://trac.webkit.org/changeset/170244
3193
3194 2014-06-21  Brady Eidson  <beidson@apple.com>
3195
3196         Gamepad API - Deprecate the existing implementation
3197         https://bugs.webkit.org/show_bug.cgi?id=134108
3198
3199         Reviewed by Timothy Hatcher.
3200
3201         -Add new "GAMEPAD_DEPRECATED" build flag, moving the existing implementation to use it
3202         -Add the "Deprecated" suffix to some implementation files
3203
3204         * wtf/FeatureDefines.h:
3205
3206 2014-06-21  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>
3207
3208         Removing PAGE_VISIBILITY_API compile guard.
3209         https://bugs.webkit.org/show_bug.cgi?id=133844
3210
3211         Reviewed by Gavin Barraclough.
3212
3213         * wtf/FeatureDefines.h:
3214
3215 2014-06-20  Anders Carlsson  <andersca@apple.com>
3216
3217         Add encoding and decoding support for WTF::Optional
3218         https://bugs.webkit.org/show_bug.cgi?id=134125
3219
3220         Reviewed by Andreas Kling.
3221
3222         * wtf/Optional.h:
3223         (WTF::Optional::operator=):
3224
3225 2014-06-20  Anders Carlsson  <andersca@apple.com>
3226
3227         Add copy/move constructors and assignment operators to WTF::Optional
3228         https://bugs.webkit.org/show_bug.cgi?id=134119
3229
3230         Reviewed by Andreas Kling.
3231
3232         * wtf/Optional.h:
3233         (WTF::Optional::Optional):
3234         (WTF::Optional::operator=):
3235
3236 2014-06-19  Anders Carlsson  <andersca@apple.com>
3237
3238         Add WTF::Optional class
3239         https://bugs.webkit.org/show_bug.cgi?id=134083
3240
3241         Reviewed by Andreas Kling.
3242
3243         * WTF.xcodeproj/project.pbxproj:
3244         * wtf/Optional.h: Added.
3245         (WTF::Optional::Optional):
3246         (WTF::Optional::~Optional):
3247         (WTF::Optional::operator bool):
3248         (WTF::Optional::value):
3249
3250 2014-06-19  Dániel Bátyai  <dbatyai.u-szeged@partner.samsung.com>
3251
3252         Remove ENABLE(LLINT) and ENABLE(LLINT_C_LOOP) guards
3253         https://bugs.webkit.org/show_bug.cgi?id=130389
3254
3255         Reviewed by Mark Lam.
3256
3257         Removed ENABLE(LLINT) since we always build with it, and changed ENABLE(LLINT_C_LOOP)
3258         into !ENABLE(JIT) since they are mutually exclusive.
3259
3260         * wtf/OSAllocatorPosix.cpp:
3261         (WTF::OSAllocator::reserveAndCommit):
3262         * wtf/Platform.h:
3263
3264 2014-06-18  Anders Carlsson  <andersca@apple.com>
3265
3266         Add CF type cast function templates and use them in KeyedDecoder in WebKit2
3267         https://bugs.webkit.org/show_bug.cgi?id=134033
3268
3269         Reviewed by Sam Weinig.
3270
3271         * WTF.xcodeproj/project.pbxproj:
3272         * wtf/cf/TypeCasts.h: Added.
3273         (WTF::dynamic_cf_cast):
3274         Returns null if the given CFTypeRef object doesn't have the right type.
3275
3276         (WTF::checked_cf_cast):
3277         ASSERTs (with security implication) if the given CFTypeRef object is null or doesn't have the right type.
3278
3279 2014-06-17  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
3280
3281         Misused PLATFORM(MIDDLE_ENDIAN) and PLATFORM(BIG_ENDIAN).
3282         https://bugs.webkit.org/show_bug.cgi?id=128301
3283
3284         Reviewed by Daniel Bates.
3285
3286         Endianness is a CPU attribute, not a PLATFORM. PLATFORM() macro is replaced to CPU().
3287
3288         * wtf/text/ASCIIFastPath.h:
3289         (WTF::copyLCharsFromUCharSource):
3290
3291 2014-06-17  Andreas Kling  <akling@apple.com>
3292
3293         Web process main thread priority is lower than some network process threads.
3294         <https://webkit.org/b/133987>
3295         <rdar://problem/17330300>
3296
3297         Bring all of our threads to the appropriate priority level by opting in to the
3298         threading QoS APIs. By marking them "user initiated", they still yield to UI
3299         interaction, but take priority over background tasks.
3300
3301         Reviewed by Maciej Stachowiak.
3302
3303         * wtf/Platform.h:
3304         * wtf/Threading.cpp:
3305         (WTF::setCurrentThreadIsUserInitiated):
3306         * wtf/Threading.h:
3307         * wtf/ThreadingPthreads.cpp:
3308         (WTF::createThreadInternal):
3309
3310 2014-06-17  Alex Christensen  <achristensen@webkit.org>
3311
3312         Enable css jit for armv7 on iOS.
3313         https://bugs.webkit.org/show_bug.cgi?id=133961
3314         <rdar://problem/17310631>
3315
3316         Reviewed by Andreas Kling.
3317
3318         * wtf/Platform.h:
3319         Enable css jit for ARM thumb on iOS.
3320
3321 2014-06-17  Dan Bernstein  <mitz@apple.com>
3322
3323         String::isolatedCopy doesn’t return an isolated copy when used on an rvalue reference
3324         https://bugs.webkit.org/show_bug.cgi?id=133968
3325
3326         Reviewed by Anders Carlsson.
3327
3328         Made the rvalue reference overload of isolatedCopy() non-const, so that std::move(*this) is
3329         an rvalue reference that can be moved, rather than copied, into the returned String.
3330
3331         * wtf/text/WTFString.cpp:
3332         (WTF::String::isolatedCopy):
3333         * wtf/text/WTFString.h:
3334
3335 2014-06-15  Dan Bernstein  <mitz@apple.com>
3336
3337         iOS build fix after r169995.
3338
3339         * wtf/RetainPtr.h:
3340
3341 2014-06-15  Anders Carlsson  <andersca@apple.com>
3342
3343         Add an autorelease() member function to RetainPtr
3344         https://bugs.webkit.org/show_bug.cgi?id=133929
3345
3346         Reviewed by Dan Bernstein.
3347
3348         * wtf/RetainPtr.h:
3349
3350 2014-06-13  Alex Christensen  <achristensen@webkit.org>
3351
3352         Unreviewed disabling css jit on armv7.  It's not quite ready yet.
3353
3354         * wtf/Platform.h:
3355         Disable css jit on armv7.
3356
3357 2014-06-13  Alex Christensen  <achristensen@webkit.org>
3358
3359         Enable css jit for armv7 on iOS.
3360         https://bugs.webkit.org/show_bug.cgi?id=133890
3361         <rdar://problem/17310631>
3362
3363         Reviewed by Andreas Kling.
3364
3365         * wtf/Platform.h:
3366         Enable css jit for ARM thumb on iOS.
3367
3368 2014-06-13  Mark Hahnenberg  <mhahnenberg@apple.com>
3369
3370         OSR exit should barrier the Executables for all InlineCallFrames, not just those on the stack at the time of exit
3371         https://bugs.webkit.org/show_bug.cgi?id=133880
3372
3373         Reviewed by Filip Pizlo.
3374
3375         * wtf/Bag.h:
3376         (WTF::Bag::iterator::operator!=): Add != to the Bag iterator so we can use it in range-based iteration.
3377
3378 2014-06-12  Gavin Barraclough  <barraclough@apple.com>
3379
3380         Add support for thread/WorkQueue QoS
3381         https://bugs.webkit.org/show_bug.cgi?id=130688
3382
3383         Reviewed by Anders Carlson & Simon Fraser.
3384
3385         Add the ability to mark threads as UserInteractive.
3386
3387         * wtf/Threading.cpp:
3388         (WTF::setCurrentThreadIsUserInteractive):
3389             - added method to set QoS of current thread to UserInteractive.
3390         * wtf/Threading.h:
3391             - added declaration.
3392
3393 2014-06-12  Alexey Proskuryakov  <ap@apple.com>
3394
3395         Fix Mac after r169880.
3396
3397         This revision added a C++ comment to Platform.h, which breaks sandbox profile
3398         preprocessing.
3399
3400         Also, I do not believe that this comment was entirely accurate - we've always used
3401         this technique with GCC, so there has to be more to it. So, I just removed the comment.
3402
3403         * wtf/Platform.h:
3404
3405 2014-06-11  Csaba Osztrogonác  <ossy@webkit.org>
3406
3407         [EFL][GTK] Ultimate fix not to have build failures
3408         in the future because of "#if TARGET_OS_IPHONE" guards.
3409
3410         Unreviewed buildfix.
3411
3412         * wtf/Platform.h: Define TARGET_OS_IPHONE to 0 on EFL and GTK.
3413
3414 2014-06-11  Ryosuke Niwa  <rniwa@webkit.org>
3415
3416         Turning on DUMP_PROPERTYMAP_STATS causes a build failure
3417         https://bugs.webkit.org/show_bug.cgi?id=133673
3418
3419         Reviewed by Andreas Kling.
3420
3421         Added DEFINE_GLOBAL_FOR_LOGGING to allow running a destructor in logging code
3422         that needs to be enabled in release builds (e.g. for JavaScriptCore).
3423
3424         * wtf/StdLibExtras.h:
3425
3426 2014-06-09  Benjamin Poulain  <bpoulain@apple.com>
3427
3428         Improve CSSPrimitiveValue::customCSSText for ARMv7
3429         https://bugs.webkit.org/show_bug.cgi?id=133597
3430
3431         Reviewed by Andreas Kling.
3432
3433         * wtf/RefPtr.h:
3434         (WTF::RefPtr<T>::RefPtr):
3435         * wtf/text/WTFString.h:
3436         (WTF::String::String):
3437
3438 2014-06-05  Yoav Weiss  <yoav@yoav.ws>
3439
3440         Align srcset parser with recent spec changes
3441         https://bugs.webkit.org/show_bug.cgi?id=133504
3442
3443         Reviewed by Darin Adler.
3444
3445         I've added toInt and toFloat methods to StringView, and exposed
3446         charactersToInt so that they can be used by
3447         HTMLSrcsetParser.cpp.
3448
3449         * wtf/text/WTFString.h:
3450         * wtf/text/StringView.h:
3451         (WTF::StringView::toInt):
3452         (WTF::StringView::toFloat):
3453
3454 2014-06-04  Alex Christensen  <achristensen@webkit.org>
3455
3456         Enable WebGL on Windows.
3457         https://bugs.webkit.org/show_bug.cgi?id=133503
3458
3459         Reviewed by Brent Fulgham.
3460
3461         * wtf/FeatureDefines.h:
3462         Enable WebGL for AppleWin and WinCairo ports.
3463
3464 2014-06-01  Jer Noble  <jer.noble@apple.com>
3465
3466         [MSE] Appends of overlapping sample data do not clear existing samples properly.
3467         https://bugs.webkit.org/show_bug.cgi?id=133435
3468
3469         Reviewed by Darin Adler.
3470
3471         Add a dump method to MediaTime, so that MediaTimes can be easily converted to strings (for logging purposes).
3472
3473         * wtf/MediaTime.cpp:
3474         (WTF::MediaTime::dump):
3475         * wtf/MediaTime.h:
3476
3477 2014-05-31  Anders Carlsson  <andersca@apple.com>
3478
3479         Add a LazyNeverDestroyed class template and use it
3480         https://bugs.webkit.org/show_bug.cgi?id=133425
3481
3482         Reviewed by Darin Adler.
3483
3484         LazyNeverDestroyed is similar to NeverDestroyed, except it's lazily constructed
3485         by calling construct(). This makes it useful for using inside std::call_once functions.
3486         
3487         * wtf/Forward.h:
3488         * wtf/NeverDestroyed.h:
3489         (WTF::LazyNeverDestroyed::construct):
3490         (WTF::LazyNeverDestroyed::operator T&):
3491         (WTF::LazyNeverDestroyed::get):
3492         (WTF::LazyNeverDestroyed::asPtr):
3493         (WTF::LazyNeverDestroyed::MaybeRelax::MaybeRelax):
3494         * wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
3495         (WTF::atomicallyInitializedStaticMutex):
3496         * wtf/unicode/icu/CollatorICU.cpp:
3497         (WTF::cachedCollatorMutex):
3498
3499 2014-05-29  Alex Christensen  <achristensen@webkit.org>
3500
3501         Enable css jit by default on arm64.
3502         https://bugs.webkit.org/show_bug.cgi?id=133246
3503         <rdar://problem/17073407>
3504
3505         Reviewed by Benjamin Poulain.
3506
3507         * wtf/Platform.h:
3508         Added arm64 to list of supported architectures.
3509
3510 2014-05-28  Filip Pizlo  <fpizlo@apple.com>
3511
3512         DFG::DCEPhase inserts into an insertion set in reverse, causing hilarious basic block corruption if you kill a lot of NewArrays
3513         https://bugs.webkit.org/show_bug.cgi?id=133368
3514
3515         Reviewed by Mark Lam.
3516
3517         * wtf/Insertion.h:
3518         (WTF::executeInsertions): This algorithm is only correct if insertions are added in the right order. Assert that the order is right.
3519
3520 2014-05-27  Jon Lee  <jonlee@apple.com>
3521
3522         Update ENABLE(MEDIA_SOURCE) on Mac
3523         https://bugs.webkit.org/show_bug.cgi?id=133141
3524
3525         Reviewed by Darin Adler.
3526
3527         * wtf/FeatureDefines.h: #ifdef unneeded for Mac since it's covered in the .xcconfigs.
3528
3529 2014-05-27  Tibor Meszaros  <tmeszaros.u-szeged@partner.samsung.com>
3530
3531         Remove BLOB guards
3532         https://bugs.webkit.org/show_bug.cgi?id=132863
3533
3534         Reviewed by Csaba Osztrogonác.
3535
3536         * wtf/FeatureDefines.h:
3537
3538 2014-05-27  Gwang Yoon Hwang  <yoon@igalia.com>
3539
3540         [GLIB] RunLoop::dispatch always executes the function on the main thread instead of the target thread.
3541         https://bugs.webkit.org/show_bug.cgi?id=133291
3542
3543         Reviewed by Carlos Garcia Campos.
3544
3545         GMainLoopSource::schedule[AfterDelay] must be used with the appropriate
3546         GMainContext. Because current implementations in RunLoopGtk passes nullptr
3547         instead of its runLoopContext when using GMainLoopSource, all of dispatched
3548         functions are executed on the main thread regardless of which runloops is used.
3549
3550         This patch fixes the issue by passing the m_runLoopContext instead the default
3551         parameter to the GMainLoopSource::schedule[AfterDelay].
3552
3553         * wtf/gtk/RunLoopGtk.cpp:
3554         (WTF::RunLoop::wakeUp):
3555         (WTF::RunLoop::TimerBase::start):
3556
3557 2014-05-26  Darin Adler  <darin@apple.com>
3558
3559         Class name matching should use ASCII case-insensitive matching, not Unicode case folding
3560         https://bugs.webkit.org/show_bug.cgi?id=133292
3561
3562         Reviewed by Anders Carlsson.
3563
3564         * wtf/text/AtomicString.cpp:
3565         (WTF::AtomicString::addSlowCase): Change to take references instead of pointers since these
3566         arguments can never be null.
3567         (WTF::AtomicString::lower): Rearranged slightly to use PassRef in a more efficient but
3568         slightly uglier way.
3569         (WTF::AtomicString::convertToASCIILowercase): Added.
3570         * wtf/text/AtomicString.h: Updated for above changes.
3571
3572         * wtf/text/StringImpl.cpp:
3573         (WTF::StringImpl::convertToASCIILowercase): Added.
3574         * wtf/text/StringImpl.h: Updated for above.
3575
3576         * wtf/text/WTFString.cpp:
3577         (WTF::String::convertToASCIILowercase): Added.
3578         * wtf/text/WTFString.h: Updated for above.
3579
3580 2014-05-22  Zan Dobersek  <zdobersek@igalia.com>
3581
3582         Add the partial specialization for VectorTraits<std::unique_ptr<P>>
3583         https://bugs.webkit.org/show_bug.cgi?id=133083
3584
3585         Reviewed by Andreas Kling.
3586
3587         * wtf/VectorTraits.h: Like for RefPtr<P>, OwnPtr<P> and Ref<P>, the partial
3588         specialization for VectorTraits<std::unique_ptr<P>> should exist and should
3589         inherit from SimpleClassVector.
3590
3591 2014-05-20  Geoffrey Garen  <ggaren@apple.com>
3592
3593         Rolled out <http://trac.webkit.org/changeset/166184>
3594         https://bugs.webkit.org/show_bug.cgi?id=133144
3595
3596         Reviewed by Gavin Barraclough.
3597
3598         It caused a performance regression.
3599
3600         * wtf/FastMalloc.cpp:
3601         (WTF::TCMalloc_PageHeap::runScavengerThread):
3602         * wtf/Threading.h:
3603         * wtf/ThreadingPthreads.cpp:
3604         (WTF::createThreadInternal):
3605         (WTF::setCurrentThreadQOSUtility): Deleted.
3606         * wtf/ThreadingWin.cpp:
3607         (WTF::setCurrentThreadQOSUtility): Deleted.
3608
3609 2014-05-20  Jer Noble  <jer.noble@apple.com>
3610
3611         [Mac] AVAssets are never destroyed; lack of an autorelease pool when calling callOnMainThread.
3612         https://bugs.webkit.org/show_bug.cgi?id=133130
3613
3614         Reviewed by Geoff Garen.
3615
3616         Wrap the function to be called in an autorelease pool, so that autoreleased objects are cleaned
3617         up immediately after the end of the function.
3618
3619         * wtf/mac/MainThreadMac.mm:
3620         (WTF::timerFired):
3621
3622 2014-05-18  Rik Cabanier  <cabanier@adobe.com>
3623
3624         support for navigator.hardwareConcurrency
3625         https://bugs.webkit.org/show_bug.cgi?id=132588
3626
3627         Reviewed by Filip Pizlo.
3628
3629         * wtf/FeatureDefines.h:
3630
3631 2014-05-14  Tibor Meszaros  <tmeszaros.u-szeged@partner.samsung.com>
3632
3633         Remove CSS_STICKY_POSITION guards
3634         https://bugs.webkit.org/show_bug.cgi?id=132676
3635
3636         Reviewed by Simon Fraser.
3637
3638         * wtf/FeatureDefines.h:
3639
3640 2014-05-13  Simon Fraser  <simon.fraser@apple.com>
3641
3642         [iOS WK2] background-attachment:fixed behaves very poorly
3643         https://bugs.webkit.org/show_bug.cgi?id=132881
3644         <rdar://problem/16789526>
3645
3646         Reviewed by Beth Dakin.
3647         
3648         Remove ENABLE_FAST_MOBILE_SCROLLING. Ports can use the fixedBackgroundsPaintRelativeToDocument
3649         setting now.
3650
3651         * wtf/FeatureDefines.h:
3652
3653 2014-05-08  Alexey Proskuryakov  <ap@apple.com>
3654
3655         Automatically zip document bundles used via File API
3656         https://bugs.webkit.org/show_bug.cgi?id=132713
3657         <rdar://problem/13397892>
3658
3659         Reviewed by Anders Carlsson.
3660
3661         * wtf/FeatureDefines.h: Added ENABLE_FILE_REPLACEMENT for Mac.
3662
3663 2014-05-07  Filip Pizlo  <fpizlo@apple.com>
3664
3665         UNREACHABLE_FOR_PLATFORM() is meant to be a release crash.
3666
3667         Rubber stamped by Mark Hahnenberg..
3668
3669         * wtf/Assertions.h:
3670         (UNREACHABLE_FOR_PLATFORM):
3671
3672 2014-05-06  Alberto Garcia  <berto@igalia.com>
3673
3674         There is no HW_AVAILCPU on FreeBSD, NetBSD, and OpenBSD
3675         https://bugs.webkit.org/show_bug.cgi?id=132542
3676
3677         Reviewed by Michael Saboff.
3678
3679         Use sysconf() to get the number of processor cores.
3680
3681         * wtf/NumberOfCores.cpp:
3682         (WTF::numberOfProcessorCores):
3683
3684 2014-05-04  Darin Adler  <darin@apple.com>
3685
3686         RetainPtr: Use adoptCF function instead of AdoptCF constructor argument
3687         https://bugs.webkit.org/show_bug.cgi?id=80222
3688
3689         Reviewed by Alexey Proskuryakov.
3690