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