[EFL] Build break with latest EFL 1.8 libraries.
[WebKit-https.git] / Source / WTF / ChangeLog
1 2013-10-24  Ryuan Choi  <ryuan.choi@samsung.com>
2
3         [EFL] Build break with latest EFL 1.8 libraries.
4         https://bugs.webkit.org/show_bug.cgi?id=123245
5
6         Reviewed by Gyuyoung Kim.
7
8         After fixed build break on EFL 1.8 at r138326, EFL libraries are changed
9         Eo typedef and splitted header files which contain version macro.
10
11         * wtf/OwnPtrCommon.h: Changed Eo typedef.
12         * wtf/efl/RefPtrEfl.h: Ditto.
13
14 2013-10-24  Carlos Garcia Campos  <cgarcia@igalia.com>
15
16         [GObject bindings] Make EventTarget interface introspectable
17         https://bugs.webkit.org/show_bug.cgi?id=77835
18
19         Reviewed by Gustavo Noronha Silva.
20
21         Add support for use GRefPtr with GClosure.
22
23         * wtf/gobject/GRefPtr.cpp:
24         (WTF::refGPtr):
25         (WTF::derefGPtr):
26         * wtf/gobject/GRefPtr.h:
27         * wtf/gobject/GTypedefs.h:
28
29 2013-10-23  Anders Carlsson  <andersca@apple.com>
30
31         Remove USE(LOCKFREE_THREADSAFEREFCOUNTED)
32         https://bugs.webkit.org/show_bug.cgi?id=123228
33
34         Reviewed by Geoffrey Garen.
35
36         All ports support USE(LOCKFREE_THREADSAFEREFCOUNTED) now and taking a lock on every ref/deref seems bad.
37
38         * wtf/Atomics.h:
39         * wtf/ThreadSafeRefCounted.h:
40         (WTF::ThreadSafeRefCountedBase::ref):
41         (WTF::ThreadSafeRefCountedBase::refCount):
42         (WTF::ThreadSafeRefCountedBase::derefBase):
43
44 2013-10-23  Anders Carlsson  <andersca@apple.com>
45
46         Remove HAVE_XPC
47         https://bugs.webkit.org/show_bug.cgi?id=123226
48
49         Reviewed by Dan Bernstein.
50
51         HAVE_XPC has been true on Mac since Lion, so remove it.
52
53         * wtf/Platform.h:
54
55 2013-10-23  Andreas Kling  <akling@apple.com>
56
57         Make more StringImpl construction functions return PassRef.
58         <https://webkit.org/b/123203>
59
60         Knock out a couple more of the StringImpl construction helpers that
61         always return a non-null StringImpl.
62
63         Reviewed by Antti Koivisto.
64
65 2013-10-22  Filip Pizlo  <fpizlo@apple.com>
66
67         FTL should be able to do some simple inline caches using LLVM patchpoints
68         https://bugs.webkit.org/show_bug.cgi?id=123164
69
70         Reviewed by Mark Hahnenberg.
71         
72         This needed some better bitvector support, like merging (|=), excluding (&=~),
73         hashing, and bit counting.
74
75         * wtf/BitVector.cpp:
76         (WTF::BitVector::setSlow):
77         (WTF::BitVector::excludeSlow):
78         (WTF::BitVector::bitCountSlow):
79         (WTF::BitVector::equalsSlowCase):
80         (WTF::BitVector::hashSlowCase):
81         (WTF::BitVector::dump):
82         * wtf/BitVector.h:
83         (WTF::BitVector::merge):
84         (WTF::BitVector::exclude):
85         (WTF::BitVector::bitCount):
86         (WTF::BitVector::BitVector):
87         (WTF::BitVector::isEmptyValue):
88         (WTF::BitVector::isDeletedValue):
89         (WTF::BitVector::isEmptyOrDeletedValue):
90         (WTF::BitVector::operator==):
91         (WTF::BitVector::hash):
92         (WTF::BitVectorHash::hash):
93         (WTF::BitVectorHash::equal):
94         * wtf/HashTraits.h:
95         (WTF::CustomHashTraits::constructDeletedValue):
96         (WTF::CustomHashTraits::isDeletedValue):
97         (WTF::CustomHashTraits::emptyValue):
98         (WTF::CustomHashTraits::isEmptyValue):
99         * wtf/StdLibExtras.h:
100         (WTF::bitCount):
101
102 2013-10-23  Allan Sandfeld Jensen  <allan.jensen@digia.com>
103
104         Clean-up in Atomics.h
105         https://bugs.webkit.org/show_bug.cgi?id=123207
106
107         Reviewed by Anders Carlsson.
108
109         Atomics.h has two confusing and bit-rotted ifdefs with comments.
110
111         The first about CPU(SPARC64) was rendered obsolete when we switched
112         from __exchange_and_add to __sync_add_and_fetch.
113
114         The second was caused by a wrong definition that apparently only
115         caused trouble on GCC.
116
117         * wtf/Atomics.h:
118
119 2013-10-22  Andreas Kling  <akling@apple.com>
120
121         StringImpl::lower() should return a PassRef.
122         <https://webkit.org/b/123190>
123
124         Test the waters and hack enough of StringImpl to be able to return
125         a PassRef<StringImpl> from lower().
126
127         Also gave String a constructor that takes a PassRef<StringImpl>.
128
129         Reviewed by Antti Koivisto.
130
131 2013-10-22  Commit Queue  <commit-queue@webkit.org>
132
133         Unreviewed, rolling out r157835.
134         http://trac.webkit.org/changeset/157835
135         https://bugs.webkit.org/show_bug.cgi?id=123192
136
137         broke 32-bit builds (Requested by smfr on #webkit).
138
139         * wtf/MediaTime.cpp:
140         (WTF::signum):
141         * wtf/MediaTime.h:
142
143 2013-10-22  Jer Noble  <jer.noble@apple.com>
144
145         [WTF] Add a multiplication operator (and a few others) to MediaTime
146         https://bugs.webkit.org/show_bug.cgi?id=123137
147
148         Reviewed by Eric Carlson.
149
150         Add a multiplication operator and an inequality operator to the
151         MediaTime class for use by MSE.
152
153         * wtf/MediaTime.cpp:
154         (WTF::signum): Moved to top of file.
155         (WTF::MediaTime::operator*): Added.
156         (WTF::MediaTime::operator!=): Added.
157         * wtf/MediaTime.h:
158         (WTF::operator*): Added non-class version of operator*.
159
160 2013-10-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
161
162         Make TYPE_CASTS_BASE more flexible
163         https://bugs.webkit.org/show_bug.cgi?id=122951
164
165         Reviewed by Andreas Kling.
166
167         TYPE_CASTS_BASE is being used by node|element type casts. However, it is difficult
168         to be used by other type casts. For instance, CSSValue, Accessibility and so on.
169         This patch modifies TYPE_CASTS_BASE which can support other type casts.
170
171         Besides TYPE_CASTS_BASE body is moved from node.h to Assertions.h.
172
173         * wtf/Assertions.h:
174
175 2013-10-20  Filip Pizlo  <fpizlo@apple.com>
176
177         StructureStubInfo's usedRegisters set should be able to track all registers, not just the ones that our JIT's view as temporaries
178         https://bugs.webkit.org/show_bug.cgi?id=123076
179
180         Reviewed by Sam Weinig.
181         
182         Teach BitVector how to efficiently merge (i.e. bitvector |=).
183
184         * wtf/BitVector.cpp:
185         (WTF::BitVector::mergeSlow):
186         * wtf/BitVector.h:
187         (WTF::BitVector::merge):
188         (WTF::BitVector::cleanseInlineBits):
189
190 2013-10-19  Jer Noble  <jer.noble@apple.com>
191
192         Unreviewed roll out of r157695; broke Mac builds.
193
194         * wtf/FeatureDefines.h:
195
196 2013-10-07  Jer Noble  <jer.noble@apple.com>
197
198         [MSE] [Mac] Enable MediaSource on the Mac
199         https://bugs.webkit.org/show_bug.cgi?id=122484
200
201         Reviewed by Darin Adler.
202
203         Enable ENABLE_MEDIA_SOURCE.
204
205         * wtf/FeatureDefines.h:
206
207 2013-10-19  Andreas Kling  <akling@apple.com>
208
209         RefPtr::releaseNonNull() incorrectly increments the refcount.
210         <https://webkit.org/b/123063>
211
212         Make releaseNonNull() use adoptRef(T&), mirroring release().
213
214         Reviewed by Anders Carlsson.
215
216 2013-10-18  Andreas Kling  <akling@apple.com>
217
218         Start passing RenderStyle around with PassRef.
219         <https://webkit.org/b/123051>
220
221         Added some new PassRef tricks to make this patch possible.
222
223         Reviewed by Darin Adler.
224
225         * wtf/PassRef.h:
226         (WTF::PassRef::get):
227
228             Added a get() helper to facilitate writing functions that
229             construct a new object and call some functions on it before
230             returning it.
231
232         (WTF::PassRef::dropRef):
233
234             This will deref() the referenced object and mark the PassRef
235             as "passed." This is used in code paths where the PassRef is
236             going to go out of scope with nobody to take it over.
237
238         (WTF::PassRef::leakRef):
239
240             Renamed takeReference() to leakRef() and made it public so
241             we don't have to awkwardly sink the PassRef into a Ref for
242             e.g static locals.
243
244         * wtf/RefPtr.h:
245         (WTF::RefPtr::releaseNonNull):
246
247             Added RefPtr::releaseNonNull() for a convenient way of creating
248             a PassRef<T> from a RefPtr<T>. This function may only be called
249             if the RefPtr is known to be non-null.
250
251 2013-10-18  Filip Pizlo  <fpizlo@apple.com>
252
253         A CodeBlock's StructureStubInfos shouldn't be in a Vector that we search using code origins and machine code PCs
254         https://bugs.webkit.org/show_bug.cgi?id=122940
255
256         Reviewed by Oliver Hunt.
257
258         * GNUmakefile.list.am:
259         * WTF.vcxproj/WTF.vcxproj:
260         * WTF.xcodeproj/project.pbxproj:
261         * wtf/BagToHashMap.h: Added.
262         (WTF::toHashMap):
263         * wtf/CMakeLists.txt:
264
265 2013-10-18  Anders Carlsson  <andersca@apple.com>
266
267         Remove spaces between template angle brackets
268         https://bugs.webkit.org/show_bug.cgi?id=123040
269
270         Reviewed by Andreas Kling.
271
272         * wtf/AVLTree.h:
273         * wtf/CheckedArithmetic.h:
274         * wtf/Compression.h:
275         * wtf/Functional.h:
276         (WTF::R):
277         * wtf/HashFunctions.h:
278         * wtf/HashIterators.h:
279         * wtf/HashSet.h:
280         (WTF::::contains):
281         * wtf/ListHashSet.h:
282         (WTF::::contains):
283         * wtf/RefCountedLeakCounter.cpp:
284         * wtf/RetainPtr.h:
285         * wtf/SentinelLinkedList.h:
286         (WTF::::remove):
287         * wtf/SizeLimits.cpp:
288         * wtf/StreamBuffer.h:
289         * wtf/Vector.h:
290         * wtf/VectorTraits.h:
291         * wtf/WeakPtr.h:
292         (WTF::WeakReference::create):
293         (WTF::WeakReference::createUnbound):
294         (WTF::WeakPtr::WeakPtr):
295         (WTF::WeakPtrFactory::WeakPtrFactory):
296         * wtf/text/AtomicString.cpp:
297         (WTF::AtomicString::add):
298         (WTF::findString):
299         * wtf/text/StringConcatenate.h:
300         * wtf/text/StringImpl.h:
301         * wtf/text/StringOperators.h:
302         (WTF::operator+):
303
304 2013-10-18  Brendan Long  <b.long@cablelabs.com>
305
306         [GStreamer][GTK] Add GRefPtr::outPtr()
307         https://bugs.webkit.org/show_bug.cgi?id=122996
308
309         Reviewed by Philippe Normand.
310
311         * wtf/gobject/GRefPtr.h:
312         (WTF::GRefPtr::outPtr): Added.
313
314 2013-10-17  Geoffrey Garen  <ggaren@apple.com>
315
316         Tidied up the Vector<T> move constructor
317         https://bugs.webkit.org/show_bug.cgi?id=122998
318
319         Reviewed by Anders Carlsson.
320
321         * wtf/Vector.h:
322         (WTF::::Vector): Don't call swap() "weird". It's the way most std types
323         implement move constructors.
324
325         Do inline this function, so the compiler can optimize away a logical
326         move into a physical no-op.
327
328 2013-10-16  Filip Pizlo  <fpizlo@apple.com>
329
330         Introduce WTF::Bag and start using it for InlineCallFrameSet
331         https://bugs.webkit.org/show_bug.cgi?id=122941
332
333         Reviewed by Geoffrey Garen.
334         
335         Introduce WTF::Bag, which is basically an allocation pool. No POD restrictions. Does one
336         malloc per entry. No need to shrink afterwards.
337
338         * GNUmakefile.list.am:
339         * WTF.vcxproj/WTF.vcxproj:
340         * WTF.xcodeproj/project.pbxproj:
341         * wtf/Bag.h: Added.
342         (WTF::Bag::Bag):
343         (WTF::Bag::~Bag):
344         (WTF::Bag::add):
345         (WTF::Bag::iterator::iterator):
346         (WTF::Bag::iterator::operator!):
347         (WTF::Bag::iterator::operator*):
348         (WTF::Bag::iterator::operator++):
349         (WTF::Bag::iterator::operator==):
350         (WTF::Bag::begin):
351         (WTF::Bag::end):
352         (WTF::Bag::isEmpty):
353         * wtf/CMakeLists.txt:
354
355 2013-10-17  Andreas Kling  <akling@apple.com>
356
357         Make it possible to assign a PassRef to a RefPtr.
358         <https://webkit.org/b/122943>
359
360         We have to use std::move when constructing a RefPtr from a PassRef
361         since there is no copy constructor for the latter.
362
363         Reviewed by Antti Koivisto.
364
365 2013-10-16  Ryuan Choi  <ryuan.choi@samsung.com>
366
367         Unreviewed build fix attempt on EFL port after r157520 and r157523
368
369         * wtf/PassRef.h: includes <utility>
370
371 2013-10-16  Darin Adler  <darin@apple.com>
372
373         Add PassRef and createRefCounted so we can improve creation of RefCounted objects
374         https://bugs.webkit.org/show_bug.cgi?id=122904
375
376         Reviewed by Anders Carlsson.
377
378         * GNUmakefile.list.am: Added PassRef.h.
379         * WTF.vcxproj/WTF.vcxproj: Ditto.
380         * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
381         * WTF.xcodeproj/project.pbxproj: Ditto.
382         * wtf/CMakeLists.txt: Ditto.
383
384         * wtf/Forward.h: Added PassRef. Also re-sorted and un-indented to match what
385         the style-checking script expects.
386
387         * wtf/PassRef.h: Added. Includes the createRefCounted function template, which
388         is analogous to make_unique, but is for reference counted objects, and also
389         assumes that new will never return null. Also includes an overload of adoptRef
390         that takes a reference rather than a pointer.
391
392         * wtf/PassRefPtr.h: Include "PassRef.h" so we can share the adopted function.
393         Got rid of declarations that duplicate ones in there.
394         (WTF::refIfNotNull): Use nullptr.
395         (WTF::derefIfNotNull): Use nullptr.
396         (WTF::PassRefPtr::PassRefPtr): Use nullptr. Added an overload that takes a PassRef.
397         (WTF::PassRefPtr::operator UnspecifiedBoolType): Use nullptr.
398         (WTF::PassRefPtr::operator=): Made this deleted instead of compile time assertion.
399         (WTF::PassRefPtr::PassRefPtr): Made adopting constructor use an adopt tag instead
400         of an unused boolean.
401         (WTF::PassRefPtr::leakRef): Use nullptr.
402         (WTF::adoptRef): Use the adopt tag.
403
404         * wtf/Ref.h: Use Noncopyable instead of rolling our own.
405         (WTF::Ref::Ref): Add an overload that takes a PassRef.
406         (WTF::Ref::operator=): Ditto.
407
408         * wtf/RefPtr.h: Removed unneeded forward declaration of PassRefPtr.
409         (WTF::RefPtr::RefPtr): Use nullptr. Added overload that takes a PassRef.
410         (WTF::RefPtr::release): Use nullptr.
411         (WTF::RefPtr::operator UnspecifiedBoolType): Use nullptr.
412         (WTF::RefPtr::operator=): Added overload that takes a PassRef.
413         (WTF::RefPtr::clear): Use nullptr.
414
415         * wtf/StdLibExtras.h: Added inline keyword to isPointerTypeAlignmentOkay,
416         reinterpret_cast_ptr, and make_unique. Seems like a simple oversight that these
417         were missing before.
418
419 2013-10-15  Dean Jackson  <dino@apple.com>
420
421         Add ENABLE_WEB_ANIMATIONS flag
422         https://bugs.webkit.org/show_bug.cgi?id=122871
423
424         Reviewed by Tim Horton.
425
426         Eventually might be http://dev.w3.org/fxtf/web-animations/
427         but this is just engine-internal work at the moment.
428
429         * wtf/FeatureDefines.h:
430
431 2013-10-15  Daniel Bates  <dabates@apple.com>
432
433         [iOS] Upstream JavaScriptCore support for ARM64
434         https://bugs.webkit.org/show_bug.cgi?id=122762
435
436         Reviewed by Oliver Hunt.
437
438         * Configurations/Base.xcconfig:
439         * wtf/Atomics.h:
440         (WTF::weakCompareAndSwap):
441         (WTF::armV7_dmb):
442         * wtf/FastMalloc.cpp:
443         * wtf/Platform.h:
444         * wtf/dtoa.cpp:
445         * wtf/dtoa/utils.h:
446         * wtf/text/ASCIIFastPath.h:
447         (WTF::copyLCharsFromUCharSource):
448         * wtf/text/StringImpl.h:
449
450 2013-10-14  Zan Dobersek  <zdobersek@igalia.com>
451
452         Static assertions in WTF::adoptPtr should point to using adoptRef for ref-counted objects
453         https://bugs.webkit.org/show_bug.cgi?id=122745
454
455         Reviewed by Anders Carlsson.
456
457         * wtf/PassOwnPtr.h:
458         (WTF::adoptPtr): When the object's type is convertible to the RefCountedBase or ThreadSafeRefCountedBase type,
459         the static assertion should note that adoptRef should be used instead.
460
461 2013-10-14  Anders Carlsson  <andersca@apple.com>
462
463         WebKit Nightlies broken by r157374
464         https://bugs.webkit.org/show_bug.cgi?id=122736
465
466         Reviewed by Andreas Kling.
467
468         Add back a callOnMainThread overload that Safari is using.
469
470         * wtf/MainThread.cpp:
471         (WTF::callOnMainThread):
472         * wtf/MainThread.h:
473
474 2013-10-13  Darin Adler  <darin@apple.com>
475
476         Deprecate or remove deleteAllValues functions; there are only a few call sites left
477         https://bugs.webkit.org/show_bug.cgi?id=122738
478
479         Reviewed by Anders Carlsson.
480
481         * wtf/Deque.h: Deleted deleteAllValues.
482         * wtf/HashMap.h: Ditto.
483         * wtf/HashSet.h: Ditto.
484         * wtf/ListHashSet.h: Ditto.
485         * wtf/Vector.h: Renamed deleteAllValues to deprecatedDeleteAllValues.
486
487 == Rolled over to ChangeLog-2013-10-13 ==