e1493e76d09dd01decc2015902975c1a9578bbbb
[WebKit-https.git] / Source / WebCore / PAL / ChangeLog
1 2017-04-03  Michael Catanzaro  <mcatanzaro@igalia.com>
2
3         Unreviewed, attempt to fix build with libgcrypt < 1.7.0
4
5         * pal/crypto/gcrypt/Utilities.h:
6
7 2017-04-03  Zan Dobersek  <zdobersek@igalia.com>
8
9         [GCrypt] Implement CryptoKeyEC::keySizeInBits(), ::platformGeneratePair()
10         https://bugs.webkit.org/show_bug.cgi?id=170345
11
12         Reviewed by Michael Catanzaro.
13
14         * pal/crypto/gcrypt/Handle.h:
15         (PAL::GCrypt::HandleDeleter<gcry_sexp_t>::operator()): Add a HandleDeleter
16         specialization for the gcry_sexp_t type.
17
18 2017-04-03  Zan Dobersek  <zdobersek@igalia.com>
19
20         [GCrypt] Implement AES_GCM support
21         https://bugs.webkit.org/show_bug.cgi?id=170271
22
23         Reviewed by Michael Catanzaro.
24
25         * pal/crypto/gcrypt/Handle.h:
26         (PAL::GCrypt::HandleDeleter<gcry_cipher_hd_t>::operator()): Specialize
27         the HandleDeleter<> template for the gcry_cipher_hd_t type.
28
29 2017-03-30  Zan Dobersek  <zdobersek@igalia.com>
30
31         [GCrypt] Add the Utilities.h header
32         https://bugs.webkit.org/show_bug.cgi?id=170269
33
34         Reviewed by Michael Catanzaro.
35
36         Add a libgcrypt-specific Utilities.h header under PAL. It will contain
37         common functions that are shared throughout the code that leverages
38         libgcrypt.
39
40         * pal/crypto/gcrypt/Utilities.h: Added.
41         (PAL::GCrypt::logError): Use WTFLogAlways() to report the passed-in libgcrypt error.
42         (PAL::GCrypt::aesAlgorithmForKeySize): Return a GCRY_CIPHER_AES{128,192,256} value
43         that matches up with the passed-in key size.
44
45 2017-03-29  Zan Dobersek  <zdobersek@igalia.com>
46
47         [GCrypt] Add a Handle<> class to help with GCrypt object lifetime control
48         https://bugs.webkit.org/show_bug.cgi?id=170238
49
50         Reviewed by Michael Catanzaro.
51
52         Add a GCrypt-specific Handle<> template class, inside the GCrypt namespace.
53         Objects of this class should be used as 'smart handles', cleaning up upon
54         destruction the GCrypt object that's represented by the handle they manage.
55
56         This mimics the std::unique_ptr<> idea, but is narrowly focused towards
57         how such handles are used in the libgcrypt API. A GCrypt::Handle<> object
58         can be consturcted from an existing handle or with the default null value.
59         It can be cleared upon request via clear(), and the managed handle can be
60         released via release().
61
62         The address of the managed handle can be retrieved through the address-of
63         operator. An implicit conversion operator is also added. This allows
64         frictionless use of GCrypt::Handle<> objects with existing libgcrypt APIs.
65
66         The negation operator is implemented to support testing the nullness of
67         the managed handle. The raw handle value is also retrieveable through
68         the handle() method.
69
70         The copy and move constructors and assignment operators are deleted.
71         They are not at the moment required anywhere in the work-in-progress
72         implementation of subtle crypto functionality.
73
74         As with other resource management classes, upon destruction, the
75         GCrypt::Handle<> object destroys the resource it manages. This is done
76         through objects of the HandleDeleter<> template class. Specializations
77         of this class have to implement the call operator that properly
78         releases the resource. Because the operator is deleted by default,
79         a compilation error will be thrown when deleting a resource of some
80         type for which the proper HandleDeleter specialization isn't provided.
81
82         std::unique_ptr<> could be used, but it could also be mis-used. I find
83         a mini-class with an interface that's specific to libgcrypt API
84         interactions to be preferrable to a std::unique_ptr<> with a custom
85         deleter.
86
87         * pal/crypto/gcrypt/Handle.h: Added.
88         (PAL::GCrypt::Handle::Handle):
89         (PAL::GCrypt::Handle::~Handle):
90         (PAL::GCrypt::Handle::clear):
91         (PAL::GCrypt::Handle::release):
92         (PAL::GCrypt::Handle::operator&):
93         (PAL::GCrypt::Handle::handle):
94         (PAL::GCrypt::Handle::operator T):
95         (PAL::GCrypt::Handle::operator!):
96         (PAL::GCrypt::HandleDeleter<gcry_mac_hd_t>::operator()):
97
98 2017-03-29  Zan Dobersek  <zdobersek@igalia.com>
99
100         [GnuTLS] Remove unused CryptoDigestGnuTLS, CryptoAlgorithmHMACGnuTLS implementation files
101         https://bugs.webkit.org/show_bug.cgi?id=170231
102
103         Reviewed by Michael Catanzaro.
104
105         * pal/crypto/gnutls/CryptoDigestGnuTLS.cpp: Removed. The GCrypt counterpart
106         is already in use, and this file wasn't even being built.
107
108 2017-03-17  Michael Saboff  <msaboff@apple.com>
109
110         Use USE_INTERNAL_SDK to compute ENABLE_FAST_JIT_PERMISSIONS instead of HAVE_INTERNAL_SDK
111         https://bugs.webkit.org/show_bug.cgi?id=169817
112
113         Reviewed by Filip Pizlo.
114
115         * Configurations/FeatureDefines.xcconfig:
116
117 2017-03-15  Dean Jackson  <dino@apple.com>
118
119         Sort Xcode project files
120         https://bugs.webkit.org/show_bug.cgi?id=169669
121
122         Reviewed by Antoine Quint.
123
124         * PAL.xcodeproj/project.pbxproj:
125
126 2017-03-10  Alex Christensen  <achristensen@webkit.org>
127
128         Fix watch and tv builds after r213294
129         https://bugs.webkit.org/show_bug.cgi?id=169508
130
131         Reviewed by Dan Bernstein.
132
133         * Configurations/FeatureDefines.xcconfig:
134
135 2017-03-09  Anders Carlsson  <andersca@apple.com>
136
137         Add delegate support to WebCore
138         https://bugs.webkit.org/show_bug.cgi?id=169427
139         Part of rdar://problem/28880714.
140
141         Reviewed by Geoffrey Garen.
142
143         * Configurations/FeatureDefines.xcconfig:
144         Add feature define.
145
146 2017-03-07  Dean Jackson  <dino@apple.com>
147
148         Some platforms won't be able to create a GPUDevice
149         https://bugs.webkit.org/show_bug.cgi?id=169314
150         <rdar://problems/30907521>
151
152         Reviewed by Jon Lee.
153
154         Disable WEB_GPU on the iOS Simulator.
155
156         * Configurations/FeatureDefines.xcconfig:
157
158 2017-03-06  Michael Saboff  <msaboff@apple.com>
159
160         Take advantage of fast permissions switching of JIT memory for devices that support it
161         https://bugs.webkit.org/show_bug.cgi?id=169155
162
163         Reviewed by Saam Barati.
164
165         Updated the Xcode config files to match what is in the JavaScriptCore ones.
166
167         * Configurations/FeatureDefines.xcconfig:
168
169 2017-03-03  Dean Jackson  <dino@apple.com>
170
171         Add WebGPU compile flag and experimental feature flag
172         https://bugs.webkit.org/show_bug.cgi?id=169161
173         <rdar://problem/30846689>
174
175         Reviewed by Tim Horton.
176
177         Add ENABLE_WEBGPU, an experimental feature flag, a RuntimeEnabledFeature,
178         and an InternalSetting.
179
180         * Configurations/FeatureDefines.xcconfig:
181
182 2017-03-02  Alex Christensen  <achristensen@webkit.org>
183
184         Continue enabling WebRTC
185         https://bugs.webkit.org/show_bug.cgi?id=169056
186
187         Reviewed by Jon Lee.
188
189         * Configurations/FeatureDefines.xcconfig:
190
191 2017-03-01  Alex Christensen  <achristensen@webkit.org>
192
193         Unreviewed, rolling out r213259.
194
195         Broke an internal build
196
197         Reverted changeset:
198
199         "Continue enabling WebRTC"
200         https://bugs.webkit.org/show_bug.cgi?id=169056
201         http://trac.webkit.org/changeset/213259
202
203 2017-03-01  Alex Christensen  <achristensen@webkit.org>
204
205         Continue enabling WebRTC
206         https://bugs.webkit.org/show_bug.cgi?id=169056
207
208         Reviewed by Jon Lee.
209
210         * Configurations/FeatureDefines.xcconfig:
211
212 2017-02-27  Alex Christensen  <achristensen@webkit.org>
213
214         Begin enabling WebRTC on 64-bit
215         https://bugs.webkit.org/show_bug.cgi?id=168915
216
217         Reviewed by Eric Carlson.
218
219         * Configurations/FeatureDefines.xcconfig:
220
221 2017-02-27  Alex Christensen  <achristensen@webkit.org>
222
223         [libwebrtc] Enable WebRTC in some Production Builds
224         https://bugs.webkit.org/show_bug.cgi?id=168858
225
226         * Configurations/FeatureDefines.xcconfig:
227
228 2017-02-21  Youenn Fablet  <youenn@apple.com>
229
230         [WebRTC][Mac] Activate libwebrtc
231         https://bugs.webkit.org/show_bug.cgi?id=167293
232
233         Reviewed by Alex Christensen.
234
235         * Configurations/FeatureDefines.xcconfig:
236
237 2017-02-20  Manuel Rego Casasnovas  <rego@igalia.com>
238
239         [css-grid] Remove compilation flag ENABLE_CSS_GRID_LAYOUT
240         https://bugs.webkit.org/show_bug.cgi?id=167693
241
242         Reviewed by Sergio Villar Senin.
243
244         * Configurations/FeatureDefines.xcconfig:
245
246 2017-02-16  Anders Carlsson  <andersca@apple.com>
247
248         Begin removing EFL code from WebCore.
249
250         Rubber-stamped by Alex Christensen.
251
252         * pal/PlatformEfl.cmake: Removed.
253
254 2017-01-28  Dan Bernstein  <mitz@apple.com>
255
256         [Xcode] Clean up PAL and WebCore’s build settings a little
257         https://bugs.webkit.org/show_bug.cgi?id=167292
258
259         Reviewed by Sam Weinig.
260
261         * ChangeLog: Created this file.
262
263         * Configurations/Base.xcconfig: Simplified the definition of
264           GCC_WARN_64_TO_32_BIT_CONVERSION, removed the unused build setting PREBINDING, removed
265           a duplicate definition of GCC_GENERATE_DEBUGGING_SYMBOLS, and removed definitions specific
266           to OS X versions that are no longer supported.
267
268         * Configurations/DebugRelease.xcconfig: Removed definitions specific to OS X versions
269           that are no longer supported.
270
271         * Configurations/PAL.xcconfig: Removed header search paths that do not exist or do not
272           make sense. Simplified the definitions of INSTALL_PATH and SKIP_INSTALL. Removed the
273           unusued build settings PRODUCT_BUNDLE_IDENTIFIER and
274           WK_PREFIXED_IPHONEOS_DEPLOYMENT_TARGET. Removed the redundant definition of
275           EXECUTABLE_PREFIX.
276
277         * PAL.xcodeproj/project.pbxproj: Sorted the Configurations group.