Crash beneath CSSValue::equals @ csas.cz
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2018-01-03  Antti Koivisto  <antti@apple.com>
2
3         Crash beneath CSSValue::equals @ csas.cz
4         https://bugs.webkit.org/show_bug.cgi?id=181243
5         <rdar://problem/35990826>
6
7         Reviewed by Alex Christensen.
8
9         Test: fast/text/oblique-degree-equals-crash.html
10
11         * css/CSSFontStyleValue.cpp:
12         (WebCore::CSSFontStyleValue::equals const):
13
14         Null check both oblique pointers.
15
16 2018-01-03  Joseph Pecoraro  <pecoraro@apple.com>
17
18         Web Inspector: Slow open time enumerating system fonts (FontCache::systemFontFamilies)
19         https://bugs.webkit.org/show_bug.cgi?id=180979
20         <rdar://problem/36146670>
21
22         Reviewed by Matt Baker.
23
24         * platform/graphics/cocoa/FontCacheCoreText.cpp:
25         (fontNameIsSystemFont):
26         (WebCore::FontCache::systemFontFamilies):
27         Switch to the original Mac algorithm before r180979 that uses
28         CTFontManagerCopyAvailableFontFamilyNames. Previously this wasn't
29         available on iOS but now it is. This is a performance improvement on
30         both platforms, but significantly so on macOS. It also finds more,
31         valid, family names.
32
33 2018-01-03  Michael Catanzaro  <mcatanzaro@igalia.com>
34
35         ASSERTION FAILED: !source || is<Target>(*source) in CoordinatedGraphicsLayer::removeFromParent
36         https://bugs.webkit.org/show_bug.cgi?id=166568
37
38         Reviewed by Simon Fraser.
39
40         When a GraphicsLayer has a mask layer, it fails to properly unparent the mask layer before
41         it is destroyed. This leaves the mask layer with a dangling parent pointer. Fix it, while
42         taking care not to introduce yet another virtual function call during the execution of the
43         destructor.
44
45         * platform/graphics/GraphicsLayer.cpp:
46         (WebCore::GraphicsLayer::willBeDestroyed):
47
48 2018-01-03  Simon Fraser  <simon.fraser@apple.com>
49
50         SVG lighting filter lights are in the wrong coordinate system
51         https://bugs.webkit.org/show_bug.cgi?id=181147
52
53         Reviewed by Zalan Bujtas.
54
55         Point and spot light coordinates weren't being converted into buffer-relative
56         coordinates before being fed into the lighting math, resulting in incorrect light
57         rendering on Retina devices, and when the filter primitive region was clipped.
58
59         Fix by storing absoluteUnclippedSubregion on FilterEffect, which allows us to map
60         lighting points from user space coordinates into the coordinates of the buffer being
61         used for rendering. Also scale the light z coordinate by doing a dummy point mapping in x.
62
63         Rename members of PointLightSource and SpotLightSource to make it clear which coordinate
64         system they are in.
65
66         Tests include HiDPI tests.
67
68         Tests: svg/filters/fePointLight-coordinates-expected.svg
69                svg/filters/fePointLight-coordinates.svg
70                svg/filters/feSpotLight-coordinates-expected.svg
71                svg/filters/feSpotLight-coordinates.svg
72                svg/filters/hidpi/fePointLight-coordinates-expected.svg
73                svg/filters/hidpi/fePointLight-coordinates.svg
74                svg/filters/hidpi/feSpotLight-coordinates-expected.svg
75                svg/filters/hidpi/feSpotLight-coordinates.svg
76
77         * platform/graphics/FloatPoint3D.h: Make it easy to get and set the X and Y coords as a FloatPoint.
78         (WebCore::FloatPoint3D::xy const):
79         (WebCore::FloatPoint3D::setXY):
80         * platform/graphics/GeometryUtilities.cpp:
81         (WebCore::mapPoint):
82         (WebCore::mapRect):
83         * platform/graphics/GeometryUtilities.h: Helper to make a point between rects.
84         * platform/graphics/filters/DistantLightSource.cpp:
85         (WebCore::DistantLightSource::initPaintingData):
86         * platform/graphics/filters/DistantLightSource.h:
87         * platform/graphics/filters/FELighting.cpp:
88         (WebCore::FELighting::drawLighting):
89         * platform/graphics/filters/FilterEffect.cpp:
90         (WebCore::FilterEffect::mapPointFromUserSpaceToBuffer const):
91         * platform/graphics/filters/FilterEffect.h:
92         (WebCore::FilterEffect::setUnclippedAbsoluteSubregion):
93         * platform/graphics/filters/LightSource.h:
94         * platform/graphics/filters/PointLightSource.cpp:
95         (WebCore::PointLightSource::initPaintingData):
96         (WebCore::PointLightSource::computePixelLightingData const):
97         (WebCore::PointLightSource::setX):
98         (WebCore::PointLightSource::setY):
99         (WebCore::PointLightSource::setZ):
100         * platform/graphics/filters/PointLightSource.h:
101         (WebCore::PointLightSource::position const):
102         (WebCore::PointLightSource::PointLightSource):
103         * platform/graphics/filters/SpotLightSource.cpp:
104         (WebCore::SpotLightSource::initPaintingData):
105         (WebCore::SpotLightSource::computePixelLightingData const):
106         (WebCore::SpotLightSource::setX):
107         (WebCore::SpotLightSource::setY):
108         (WebCore::SpotLightSource::setZ):
109         (WebCore::SpotLightSource::setPointsAtX):
110         (WebCore::SpotLightSource::setPointsAtY):
111         (WebCore::SpotLightSource::setPointsAtZ):
112         * platform/graphics/filters/SpotLightSource.h:
113         (WebCore::SpotLightSource::position const):
114         (WebCore::SpotLightSource::direction const):
115         (WebCore::SpotLightSource::SpotLightSource):
116         * rendering/svg/RenderSVGResourceFilter.cpp:
117         (WebCore::RenderSVGResourceFilter::buildPrimitives const):
118         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
119         (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
120
121 2018-01-03  Youenn Fablet  <youenn@apple.com>
122
123         Select service worker for documents with data/blob URLS
124         https://bugs.webkit.org/show_bug.cgi?id=181213
125
126         Reviewed by Alex Christensen.
127
128         Covered by updated test.
129
130         Reusing the service worker of the parent for blob/data URL documents.
131
132         * loader/DocumentLoader.cpp:
133         (WebCore::isLocalURL):
134         (WebCore::DocumentLoader::commitData):
135
136 2018-01-03  Ryan Haddad  <ryanhaddad@apple.com>
137
138         Unreviewed, rolling out r226352.
139
140         Breaks Sierra and El Capitan builds.
141
142         Reverted changeset:
143
144         "Web Inspector: Slow open time enumerating system fonts
145         (FontCache::systemFontFamilies)"
146         https://bugs.webkit.org/show_bug.cgi?id=180979
147         https://trac.webkit.org/changeset/226352
148
149 2018-01-03  Philippe Normand  <pnormand@igalia.com>
150
151         [GStreamer] The bus synchronous handler should be in the base player class
152         https://bugs.webkit.org/show_bug.cgi?id=181237
153
154         Reviewed by Carlos Garcia Campos.
155
156         Because this is where video rendering is handled.
157
158         No new tests, this is only a refactoring.
159
160         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
161         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
162         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
163         (WebCore::MediaPlayerPrivateGStreamerBase::setPipeline):
164
165 2018-01-03  Philippe Normand  <pnormand@igalia.com>
166
167         [GStreamer] move MediaSample implementation out of mse/
168         https://bugs.webkit.org/show_bug.cgi?id=179165
169
170         Reviewed by Carlos Garcia Campos.
171
172         This module isn't specific to MSE and can potentially be reused
173         elsewhere, for WebRTC for instance. Additionally the
174         ::platformSample() method was implemented and the code was cleaned up.
175
176         * platform/GStreamer.cmake:
177         * platform/MediaSample.h:
178         * platform/graphics/gstreamer/GStreamerMediaSample.cpp: Renamed from Source/WebCore/platform/graphics/gstreamer/mse/GStreamerMediaSample.cpp.
179         (WebCore::GStreamerMediaSample::platformSample):
180         * platform/graphics/gstreamer/GStreamerMediaSample.h: Renamed from Source/WebCore/platform/graphics/gstreamer/mse/GStreamerMediaSample.h.
181         * platform/graphics/gstreamer/mse/PlaybackPipeline.cpp:
182         (WebCore::PlaybackPipeline::enqueueSample):
183
184 2018-01-03  Carlos Garcia Campos  <cgarcia@igalia.com>
185
186         Unreviewed. Fix resource load stats tests on GLib based ports after r226355.
187
188         The monitor can be created in the work queue thread too.
189
190         * platform/glib/FileMonitorGLib.cpp:
191         (WebCore::FileMonitor::FileMonitor):
192
193 2018-01-03  Carlos Garcia Campos  <cgarcia@igalia.com>
194
195         [GTK] Crash destroying WebCore::FileMonitor
196         https://bugs.webkit.org/show_bug.cgi?id=181138
197
198         Reviewed by Michael Catanzaro.
199
200         Ensure that platform file monitor is always created and destroyed in the work queue thread synchronously.
201
202         * platform/FileMonitor.h:
203         * platform/glib/FileMonitorGLib.cpp:
204         (WebCore::FileMonitor::FileMonitor):
205         (WebCore::FileMonitor::~FileMonitor):
206         (WebCore::FileMonitor::didChange):
207
208 2018-01-02  Joseph Pecoraro  <pecoraro@apple.com>
209
210         Web Inspector: Slow open time enumerating system fonts (FontCache::systemFontFamilies)
211         https://bugs.webkit.org/show_bug.cgi?id=180979
212         <rdar://problem/36146670>
213
214         Reviewed by Matt Baker.
215
216         * platform/graphics/cocoa/FontCacheCoreText.cpp:
217         (WebCore::FontCache::systemFontFamilies):
218         Switch to the original Mac algorithm before r180979 that uses
219         CTFontManagerCopyAvailableFontFamilyNames. Previously this wasn't
220         available on iOS but now it is. This is a performance improvement on
221         both platforms, but significantly so on macOS. It also finds more,
222         valid, family names.
223
224 2018-01-02  Yusuke Suzuki  <utatane.tea@gmail.com>
225
226         Unreviewed, fix GCC warning by using #include
227         https://bugs.webkit.org/show_bug.cgi?id=181189
228
229         This file is included in C++ files. Use #include instead of #import to suppress warning in GCC.
230
231         * platform/PromisedBlobInfo.h:
232
233 2017-12-28  Yusuke Suzuki  <utatane.tea@gmail.com>
234
235         Remove std::chrono completely
236         https://bugs.webkit.org/show_bug.cgi?id=181186
237
238         Reviewed by Alex Christensen.
239
240         Use MonotonicTime, WallTime, and Seconds instead.
241         Changes are mechanical ones. But persistent network cache data is changed.
242         So we bump the version number of the cache storage.
243
244         * Modules/indexeddb/server/IDBServer.cpp:
245         (WebCore::IDBServer::IDBServer::closeAndDeleteDatabasesModifiedSince):
246         (WebCore::IDBServer::removeAllDatabasesForOriginPath):
247         (WebCore::IDBServer::IDBServer::performCloseAndDeleteDatabasesModifiedSince):
248         (WebCore::IDBServer::IDBServer::performCloseAndDeleteDatabasesForOrigins):
249         * Modules/indexeddb/server/IDBServer.h:
250         * Modules/webdatabase/DatabaseTracker.cpp:
251         (WebCore::DatabaseTracker::deleteDatabasesModifiedSince):
252         * Modules/webdatabase/DatabaseTracker.h:
253         * dom/Document.cpp:
254         (WebCore::Document::lastModified):
255         * html/HTMLMediaElement.cpp:
256         (WebCore::HTMLMediaElement::clearMediaCache):
257         * html/HTMLMediaElement.h:
258         (WebCore::HTMLMediaElement::clearMediaCache):
259         * loader/CrossOriginPreflightResultCache.cpp:
260         (WebCore::parseAccessControlMaxAge):
261         (WebCore::CrossOriginPreflightResultCacheItem::parse):
262         (WebCore::CrossOriginPreflightResultCacheItem::allowsRequest const):
263         * loader/CrossOriginPreflightResultCache.h:
264         * loader/cache/CachedResource.cpp:
265         (WebCore::CachedResource::CachedResource):
266         (WebCore::CachedResource::freshnessLifetime const):
267         (WebCore::CachedResource::responseReceived):
268         (WebCore::CachedResource::updateResponseAfterRevalidation):
269         * loader/cache/CachedResource.h:
270         * platform/FileSystem.cpp:
271         (WebCore::FileSystem::getFileModificationTime):
272         * platform/FileSystem.h:
273         * platform/SearchPopupMenu.h:
274         * platform/cocoa/SearchPopupMenuCocoa.h:
275         * platform/cocoa/SearchPopupMenuCocoa.mm:
276         (WebCore::toSystemClockTime):
277         (WebCore::toNSDateFromSystemClock):
278         (WebCore::removeRecentlyModifiedRecentSearches):
279         * platform/graphics/MediaPlayer.cpp:
280         (WebCore::MediaPlayer::clearMediaCache):
281         * platform/graphics/MediaPlayer.h:
282         * platform/graphics/MediaPlayerPrivate.h:
283         (WebCore::MediaPlayerPrivateInterface::clearMediaCache):
284         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
285         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
286         (WebCore::toSystemClockTime):
287         (WebCore::MediaPlayerPrivateAVFoundationObjC::clearMediaCache):
288         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
289         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
290         (WebCore::MediaPlayerPrivateQTKit::clearMediaCache):
291         * platform/network/CacheValidation.cpp:
292         (WebCore::computeCurrentAge):
293         (WebCore::computeFreshnessLifetimeForHTTPFamily):
294         (WebCore::updateRedirectChainStatus):
295         (WebCore::redirectChainAllowsReuse):
296         (WebCore::parseCacheControlDirectives):
297         * platform/network/CacheValidation.h:
298         (WebCore::RedirectChainCacheStatus::RedirectChainCacheStatus):
299         * platform/network/HTTPParsers.cpp:
300         (WebCore::parseHTTPDate):
301         * platform/network/HTTPParsers.h:
302         * platform/network/PlatformCookieJar.h:
303         * platform/network/ResourceResponseBase.cpp:
304         (WebCore::ResourceResponseBase::cacheControlMaxAge const):
305         (WebCore::parseDateValueInHeader):
306         (WebCore::ResourceResponseBase::date const):
307         (WebCore::ResourceResponseBase::age const):
308         (WebCore::ResourceResponseBase::expires const):
309         (WebCore::ResourceResponseBase::lastModified const):
310         * platform/network/ResourceResponseBase.h:
311         * platform/network/cf/CookieJarCFNet.cpp:
312         (WebCore::deleteAllCookiesModifiedSince):
313         * platform/network/curl/CookieJarCurl.cpp:
314         (WebCore::CookieJarCurlFileSystem::deleteAllCookiesModifiedSince):
315         (WebCore::deleteAllCookiesModifiedSince):
316         * platform/network/curl/CookieJarCurl.h:
317         * platform/network/curl/CurlCacheEntry.cpp:
318         (WebCore::CurlCacheEntry::CurlCacheEntry):
319         (WebCore::CurlCacheEntry::isCached):
320         (WebCore::CurlCacheEntry::parseResponseHeaders):
321         * platform/network/curl/CurlCacheEntry.h:
322         * platform/network/mac/CookieJarMac.mm:
323         (WebCore::deleteAllCookiesModifiedSince):
324         * platform/network/soup/CookieJarSoup.cpp:
325         (WebCore::deleteAllCookiesModifiedSince):
326         * platform/win/SearchPopupMenuWin.cpp:
327         (WebCore::SearchPopupMenuWin::loadRecentSearches):
328         * rendering/RenderSearchField.cpp:
329         (WebCore::RenderSearchField::addSearchResult):
330
331 2018-01-02  Wenson Hsieh  <wenson_hsieh@apple.com>
332
333         [Attachment Support] Introduce data structures and IPC support for writing promised blobs
334         https://bugs.webkit.org/show_bug.cgi?id=181189
335
336         Reviewed by Tim Horton.
337
338         Introduces a new header containing structs to be used for writing blob data when dragging. PromisedBlobInfo
339         represents information needed to declare data on the pasteboard that will eventually be provided via a Blob.
340         This includes the type and filename of the Blob-backed content. PromisedBlobData represents information needed
341         to actually deliver the Blob's content to the platform, and is sent some time after its corresponding
342         PromisedBlobInfo. The content may either be in the form of a file path (as is the case using the previous
343         declareAndWriteAttachment codepath) or a data buffer (which we would use if the Blob is not already backed by a
344         file on disk).
345
346         No new tests, since there is no observable change in functionality yet.
347
348         * WebCore.xcodeproj/project.pbxproj:
349         * platform/PromisedBlobInfo.h: Added.
350         (WebCore::PromisedBlobInfo::operator bool const):
351         (WebCore::PromisedBlobData::hasData const):
352         (WebCore::PromisedBlobData::hasFile const):
353         (WebCore::PromisedBlobData::operator bool const):
354         (WebCore::PromisedBlobData::fulfills const):
355
356 2018-01-02  Brady Eidson  <beidson@apple.com>
357
358         Make MessagePortChannel::takeAllMessagesFromRemote asynchronous.
359         https://bugs.webkit.org/show_bug.cgi?id=181205
360
361         Reviewed by Alex Christensen.
362
363         No new tests (No behavior change)
364
365         This is needed for the ongoing WK2 MessagePort work.
366
367         For WK1 in-process MessagePorts it is still synchronous; no behavior change.
368
369         * dom/InProcessMessagePortChannel.cpp:
370         (WebCore::InProcessMessagePortChannel::takeAllMessagesFromRemote):
371         * dom/InProcessMessagePortChannel.h:
372
373         * dom/MessagePort.cpp:
374         (WebCore::MessagePort::dispatchMessages):
375         * dom/MessagePortChannel.h:
376
377 2018-01-02  Jiewen Tan  <jiewen_tan@apple.com>
378
379         Add a WebAuthentication runtime feature flag
380         https://bugs.webkit.org/show_bug.cgi?id=181220
381         <rdar://problem/36055305>
382
383         Reviewed by Brent Fulgham.
384
385         This patch basically renames the CredentialManagement runtime feature flag into
386         WebAuthentication runtime feature flag.
387
388         No tests.
389
390         * Modules/credentialmanagement/BasicCredential.idl:
391         * Modules/credentialmanagement/CredentialsContainer.idl:
392         * Modules/credentialmanagement/NavigatorCredentials.idl:
393         * Modules/webauthn/PublicKeyCredential.idl:
394         * page/RuntimeEnabledFeatures.h:
395         (WebCore::RuntimeEnabledFeatures::setWebAuthenticationEnabled):
396         (WebCore::RuntimeEnabledFeatures::webAuthenticationEnabled const):
397         (WebCore::RuntimeEnabledFeatures::setCredentialManagementEnabled): Deleted.
398         (WebCore::RuntimeEnabledFeatures::credentialManagementEnabled const): Deleted.
399
400 2018-01-02  Wenson Hsieh  <wenson_hsieh@apple.com>
401
402         [Attachment Support] Don't Blob-convert images and attachments with https:, http: or data: urls
403         https://bugs.webkit.org/show_bug.cgi?id=181143
404         <rdar://problem/36200381>
405
406         Reviewed by Tim Horton.
407
408         Clients such as Mail would expect pasting or dropping an image with src="https://..." to result in the source
409         URL being preserved (i.e. staying as remote images) instead of creating image attachments out of them. This
410         patch hooks into the shouldConvertToBlob() check added in r226272 so that it applies to attachment element
411         replacement as well.
412
413         Test: WKAttachmentTests.DoNotInsertDataURLImagesAsAttachments
414
415         * editing/cocoa/WebContentReaderCocoa.mm:
416         (WebCore::shouldConvertToBlob):
417         (WebCore::replaceRichContentWithAttachments):
418
419 2018-01-02  Brady Eidson  <beidson@apple.com>
420
421         Identify MessagePorts by a globally unique MessagePortIdentifier.
422         https://bugs.webkit.org/show_bug.cgi?id=181172
423
424         Reviewed by Alex Christensen.
425
426         No new tests (Behavior change covered by all existing tests).
427
428         This cleans up the abstract MessagePortChannel interface to be in terms of identifiers
429         instead of actual MessagePort objects.
430         
431         The identifiers are compounded with the current ProcessIdentifier meaning they are global
432         across all processes for the running UI process, enabling easy cross-process communication.
433         
434         (Actual cross-process communication comes in a followup)
435         
436         * WebCore.xcodeproj/project.pbxproj:
437         
438         * dom/InProcessMessagePortChannel.cpp:
439         (WebCore::InProcessMessagePortChannel::createChannelBetweenPorts):
440         (WebCore::InProcessMessagePortChannel::isConnectedTo):
441         (WebCore::InProcessMessagePortChannel::entangleWithRemoteIfOpen):
442         (WebCore::InProcessMessagePortChannel::entangleIfOpen): Deleted.
443         * dom/InProcessMessagePortChannel.h:
444         
445         * dom/MessageChannel.cpp:
446         (WebCore::MessageChannel::MessageChannel):
447         (WebCore::m_port2):
448         
449         * dom/MessagePort.cpp:
450         (WebCore::allMessagePortsLock):
451         (WebCore::MessagePort::ref const):
452         (WebCore::MessagePort::deref const):
453         (WebCore::MessagePort::existingMessagePortForIdentifier):
454         (WebCore::MessagePort::MessagePort):
455         (WebCore::MessagePort::~MessagePort):
456         (WebCore::MessagePort::postMessage):
457         (WebCore::MessagePort::entangleWithRemote):
458         (WebCore::MessagePort::entanglePorts):
459         (WebCore::MessagePort::entangle): Deleted.
460         * dom/MessagePort.h:
461         
462         * dom/MessagePortChannel.h:
463         
464         * dom/MessagePortIdentifier.h: Added.
465         (WebCore::operator==):
466         (WebCore::MessagePortIdentifier::encode const):
467         (WebCore::MessagePortIdentifier::decode):
468         (WebCore::MessagePortIdentifier::hash const):
469         (WTF::MessagePortIdentifierHash::hash):
470         (WTF::MessagePortIdentifierHash::equal):
471         (WTF::HashTraits<WebCore::MessagePortIdentifier>::emptyValue):
472         (WTF::HashTraits<WebCore::MessagePortIdentifier>::constructDeletedValue):
473         (WTF::HashTraits<WebCore::MessagePortIdentifier>::isDeletedValue):
474
475 2018-01-02  Youenn Fablet  <youenn@apple.com>
476
477         Memory cache should not reuse resources with different credential fetch option
478         https://bugs.webkit.org/show_bug.cgi?id=181212
479
480         Reviewed by Alex Christensen.
481
482         Covered by rebased test.
483
484         * loader/cache/CachedResourceLoader.cpp:
485         (WebCore::CachedResourceLoader::determineRevalidationPolicy const):
486
487 2018-01-02  Jiewen Tan  <jiewen_tan@apple.com>
488
489         Update Credential Management API for WebAuthentication
490         https://bugs.webkit.org/show_bug.cgi?id=181082
491         <rdar://problem/36055239>
492
493         Reviewed by Brent Fulgham.
494
495         Part 2/2
496
497         This patch implements Core API from Credential Management API: https://www.w3.org/TR/credential-management-1/#core.
498         which is required by WebAuthN. It also sets the CredentialManagement runtime flag to enable testing. Note that it
499         introduces a dummy PublicKeyCredential interface for testing functionalities of the Credential interface, which
500         cannot be instantiated.
501
502         Tests: http/wpt/credential-management/credentialscontainer-create-basics.https.html
503                http/wpt/credential-management/credentialscontainer-get-basics.https.html
504                http/wpt/credential-management/credentialscontainer-preventSilentAccess-basics.https.html
505                http/wpt/credential-management/idl.https.html
506
507         * CMakeLists.txt:
508         * DerivedSources.make:
509         * Modules/credentialmanagement/BasicCredential.cpp:
510         (WebCore::BasicCredential::BasicCredential):
511         (WebCore::BasicCredential::type const):
512         * Modules/credentialmanagement/BasicCredential.h:
513         (WebCore::BasicCredential::discovery const):
514         * Modules/credentialmanagement/BasicCredential.idl:
515         * Modules/credentialmanagement/CredentialCreationOptions.h:
516         * Modules/credentialmanagement/CredentialCreationOptions.idl:
517         * Modules/credentialmanagement/CredentialRequestOptions.h:
518         * Modules/credentialmanagement/CredentialRequestOptions.idl:
519         * Modules/credentialmanagement/CredentialsContainer.cpp:
520         (WebCore::CredentialsContainer::CredentialsContainer):
521         (WebCore::CredentialsContainer::isSameOriginWithItsAncestors):
522         (WebCore::CredentialsContainer::dispatchTask):
523         (WebCore::CredentialsContainer::get):
524         (WebCore::CredentialsContainer::store):
525         (WebCore::CredentialsContainer::isCreate):
526         (WebCore::CredentialsContainer::preventSilentAccess):
527         * Modules/credentialmanagement/CredentialsContainer.h:
528         (WebCore::CredentialsContainer::create):
529         (WebCore::CredentialsContainer::CredentialsContainer): Deleted.
530         * Modules/credentialmanagement/CredentialsContainer.idl:
531         * Modules/credentialmanagement/NavigatorCredentials.cpp:
532         (WebCore::NavigatorCredentials::credentials):
533         * Modules/credentialmanagement/NavigatorCredentials.h:
534         * Modules/credentialmanagement/NavigatorCredentials.idl:
535         * Modules/webauthn/PublicKeyCredential.cpp: Copied from Source/WebCore/Modules/credentialmanagement/BasicCredential.cpp.
536         (WebCore::PublicKeyCredential::PublicKeyCredential):
537         (WebCore::PublicKeyCredential::collectFromCredentialStore):
538         (WebCore::PublicKeyCredential::discoverFromExternalSource):
539         (WebCore::PublicKeyCredential::store):
540         (WebCore::PublicKeyCredential::create):
541         * Modules/webauthn/PublicKeyCredential.h: Copied from Source/WebCore/Modules/credentialmanagement/BasicCredential.cpp.
542         * Modules/webauthn/PublicKeyCredential.idl: Copied from Source/WebCore/Modules/credentialmanagement/BasicCredential.idl.
543         * Sources.txt:
544         * WebCore.xcodeproj/project.pbxproj:
545         * bindings/js/WebCoreBuiltinNames.h:
546         * page/RuntimeEnabledFeatures.h:
547
548 2018-01-02  Oleksandr Skachkov  <gskachkov@gmail.com>
549
550         WebAssembly: sending module to iframe fails
551         https://bugs.webkit.org/show_bug.cgi?id=179263
552
553         Reviewed by JF Bastien.
554
555         Allow use WebAssembly.Module as input parameters for postMessage 
556         in window and iframe object. To prevent sending message to iframe
557         that is not ready, in iframe-* test we are waiting message from
558         iframe only after that we send message to it.   
559
560         Tests: wasm/iframe-parent-postmessage.html
561                wasm/iframe-postmessage.html
562                wasm/window-postmessage.html
563
564         * bindings/js/SerializedScriptValue.cpp:
565         (WebCore::CloneSerializer::dumpIfTerminal):
566         * bindings/js/SerializedScriptValue.h:
567         * page/DOMWindow.cpp:
568         (WebCore::DOMWindow::postMessage):
569
570 == Rolled over to ChangeLog-2018-01-01 ==