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