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