Add PassRef and createRefCounted so we can improve creation of RefCounted objects
[WebKit-https.git] / Source / WTF / ChangeLog
1 2013-10-16  Darin Adler  <darin@apple.com>
2
3         Add PassRef and createRefCounted so we can improve creation of RefCounted objects
4         https://bugs.webkit.org/show_bug.cgi?id=122904
5
6         Reviewed by Anders Carlsson.
7
8         * GNUmakefile.list.am: Added PassRef.h.
9         * WTF.vcxproj/WTF.vcxproj: Ditto.
10         * WTF.vcxproj/WTF.vcxproj.filters: Ditto.
11         * WTF.xcodeproj/project.pbxproj: Ditto.
12         * wtf/CMakeLists.txt: Ditto.
13
14         * wtf/Forward.h: Added PassRef. Also re-sorted and un-indented to match what
15         the style-checking script expects.
16
17         * wtf/PassRef.h: Added. Includes the createRefCounted function template, which
18         is analogous to make_unique, but is for reference counted objects, and also
19         assumes that new will never return null. Also includes an overload of adoptRef
20         that takes a reference rather than a pointer.
21
22         * wtf/PassRefPtr.h: Include "PassRef.h" so we can share the adopted function.
23         Got rid of declarations that duplicate ones in there.
24         (WTF::refIfNotNull): Use nullptr.
25         (WTF::derefIfNotNull): Use nullptr.
26         (WTF::PassRefPtr::PassRefPtr): Use nullptr. Added an overload that takes a PassRef.
27         (WTF::PassRefPtr::operator UnspecifiedBoolType): Use nullptr.
28         (WTF::PassRefPtr::operator=): Made this deleted instead of compile time assertion.
29         (WTF::PassRefPtr::PassRefPtr): Made adopting constructor use an adopt tag instead
30         of an unused boolean.
31         (WTF::PassRefPtr::leakRef): Use nullptr.
32         (WTF::adoptRef): Use the adopt tag.
33
34         * wtf/Ref.h: Use Noncopyable instead of rolling our own.
35         (WTF::Ref::Ref): Add an overload that takes a PassRef.
36         (WTF::Ref::operator=): Ditto.
37
38         * wtf/RefPtr.h: Removed unneeded forward declaration of PassRefPtr.
39         (WTF::RefPtr::RefPtr): Use nullptr. Added overload that takes a PassRef.
40         (WTF::RefPtr::release): Use nullptr.
41         (WTF::RefPtr::operator UnspecifiedBoolType): Use nullptr.
42         (WTF::RefPtr::operator=): Added overload that takes a PassRef.
43         (WTF::RefPtr::clear): Use nullptr.
44
45         * wtf/StdLibExtras.h: Added inline keyword to isPointerTypeAlignmentOkay,
46         reinterpret_cast_ptr, and make_unique. Seems like a simple oversight that these
47         were missing before.
48
49 2013-10-15  Dean Jackson  <dino@apple.com>
50
51         Add ENABLE_WEB_ANIMATIONS flag
52         https://bugs.webkit.org/show_bug.cgi?id=122871
53
54         Reviewed by Tim Horton.
55
56         Eventually might be http://dev.w3.org/fxtf/web-animations/
57         but this is just engine-internal work at the moment.
58
59         * wtf/FeatureDefines.h:
60
61 2013-10-15  Daniel Bates  <dabates@apple.com>
62
63         [iOS] Upstream JavaScriptCore support for ARM64
64         https://bugs.webkit.org/show_bug.cgi?id=122762
65
66         Reviewed by Oliver Hunt.
67
68         * Configurations/Base.xcconfig:
69         * wtf/Atomics.h:
70         (WTF::weakCompareAndSwap):
71         (WTF::armV7_dmb):
72         * wtf/FastMalloc.cpp:
73         * wtf/Platform.h:
74         * wtf/dtoa.cpp:
75         * wtf/dtoa/utils.h:
76         * wtf/text/ASCIIFastPath.h:
77         (WTF::copyLCharsFromUCharSource):
78         * wtf/text/StringImpl.h:
79
80 2013-10-14  Zan Dobersek  <zdobersek@igalia.com>
81
82         Static assertions in WTF::adoptPtr should point to using adoptRef for ref-counted objects
83         https://bugs.webkit.org/show_bug.cgi?id=122745
84
85         Reviewed by Anders Carlsson.
86
87         * wtf/PassOwnPtr.h:
88         (WTF::adoptPtr): When the object's type is convertible to the RefCountedBase or ThreadSafeRefCountedBase type,
89         the static assertion should note that adoptRef should be used instead.
90
91 2013-10-14  Anders Carlsson  <andersca@apple.com>
92
93         WebKit Nightlies broken by r157374
94         https://bugs.webkit.org/show_bug.cgi?id=122736
95
96         Reviewed by Andreas Kling.
97
98         Add back a callOnMainThread overload that Safari is using.
99
100         * wtf/MainThread.cpp:
101         (WTF::callOnMainThread):
102         * wtf/MainThread.h:
103
104 2013-10-13  Darin Adler  <darin@apple.com>
105
106         Deprecate or remove deleteAllValues functions; there are only a few call sites left
107         https://bugs.webkit.org/show_bug.cgi?id=122738
108
109         Reviewed by Anders Carlsson.
110
111         * wtf/Deque.h: Deleted deleteAllValues.
112         * wtf/HashMap.h: Ditto.
113         * wtf/HashSet.h: Ditto.
114         * wtf/ListHashSet.h: Ditto.
115         * wtf/Vector.h: Renamed deleteAllValues to deprecatedDeleteAllValues.
116
117 == Rolled over to ChangeLog-2013-10-13 ==