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